@charset "UTF-8";
/* ----------------------------------------------
  foundation
----------------------------------------------- */
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

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

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

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

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

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

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

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

/* ============================================ */
/*  Root settings
/* ============================================ */
:root {
  --base-size: 16;
  --font-size: 16;
  --leading-trim: calc((1em - 1lh) / 2);
  --easing: cubic-bezier(0.115, 0.405, 0.24, 1);
}

/* ----------------------------------------------
  Local fonts
----------------------------------------------- */
@font-face {
  font-family: "Lucida Calligraphy";
  src: url("../font/Lucida_Calligraphy.ttf") format("truetype");
  font-display: swap;
}
/* ----------------------------------------------
  Colors
----------------------------------------------- */
/* ----------------------------------------------
  Media query
----------------------------------------------- */
/* ----------------------------------------------
  Responsive size calculation
----------------------------------------------- */
/* ----------------------------------------------
  Functions
----------------------------------------------- */
/* ============================================ */
/*  hover
/* ============================================ */
/* ============================================ */
/*  inline-size
/* ============================================ */
/* ============================================ */
/*  object-fit
/* ============================================ */
/* ============================================ */
/*  triangle
/* ============================================ */
/* ============================================ */
/*  view-wide
/* ============================================ */
/* ============================================ */
/*  arrow
/* ============================================ */
* {
  max-width: 100%;
  max-height: 100%;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: middle;
}

img {
  height: auto;
}

html {
  font-size: min(var(--vw) / 1690 * 100%, 100%);
  scrollbar-gutter: stable;
}
@media (max-width: 768px) {
  html {
    font-size: min(var(--vw) / 375 * 100%, 100%);
  }
}

body {
  background-color: #fff;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  color: #000;
  overflow-x: clip;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  position: relative;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.is-fixed {
  overflow: hidden;
  block-size: 100%;
}

main {
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
main.is-loaded {
  opacity: 1;
}

ol li {
  list-style-type: decimal;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}

[data-anime=fadeUp] {
  -webkit-filter: blur(3px);
          filter: blur(3px);
  opacity: 0;
  translate: 0 30px;
  -webkit-transition: 1.5s var(--easing) opacity, 1.5s var(--easing) translate, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) opacity, 1.5s var(--easing) translate, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity, 1.5s var(--easing) translate;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity, 1.5s var(--easing) translate, 1.5s var(--easing) -webkit-filter;
  will-change: filter, translate, opacity;
}
[data-anime=fadeUp].is-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  translate: 0 0;
}

[data-anime=blur] {
  -webkit-filter: blur(3px);
          filter: blur(3px);
  opacity: 0;
  -webkit-transition: 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  will-change: filter, opacity;
}
[data-anime=blur].is-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}

a[data-anime=blur][class] {
  -webkit-transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing), 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing), 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing), 1.5s var(--easing) filter, 1.5s var(--easing) opacity;
  transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing), 1.5s var(--easing) filter, 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
}

[data-blur-text].is-active span {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
[data-blur-text] span {
  -webkit-filter: blur(3px);
          filter: blur(3px);
  opacity: 0;
  -webkit-transition: 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity;
  transition: 1.5s var(--easing) filter, 1.5s var(--easing) opacity, 1.5s var(--easing) -webkit-filter;
  will-change: filter, opacity;
}
[data-blur-text] span:nth-child(1) {
  -webkit-transition-delay: 0.08s;
          transition-delay: 0.08s;
}
[data-blur-text] span:nth-child(2) {
  -webkit-transition-delay: 0.16s;
          transition-delay: 0.16s;
}
[data-blur-text] span:nth-child(3) {
  -webkit-transition-delay: 0.24s;
          transition-delay: 0.24s;
}
[data-blur-text] span:nth-child(4) {
  -webkit-transition-delay: 0.32s;
          transition-delay: 0.32s;
}
[data-blur-text] span:nth-child(5) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
[data-blur-text] span:nth-child(6) {
  -webkit-transition-delay: 0.48s;
          transition-delay: 0.48s;
}
[data-blur-text] span:nth-child(7) {
  -webkit-transition-delay: 0.56s;
          transition-delay: 0.56s;
}
[data-blur-text] span:nth-child(8) {
  -webkit-transition-delay: 0.64s;
          transition-delay: 0.64s;
}
[data-blur-text] span:nth-child(9) {
  -webkit-transition-delay: 0.72s;
          transition-delay: 0.72s;
}
[data-blur-text] span:nth-child(10) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
[data-blur-text] span:nth-child(11) {
  -webkit-transition-delay: 0.88s;
          transition-delay: 0.88s;
}
[data-blur-text] span:nth-child(12) {
  -webkit-transition-delay: 0.96s;
          transition-delay: 0.96s;
}
[data-blur-text] span:nth-child(13) {
  -webkit-transition-delay: 1.04s;
          transition-delay: 1.04s;
}
[data-blur-text] span:nth-child(14) {
  -webkit-transition-delay: 1.12s;
          transition-delay: 1.12s;
}
[data-blur-text] span:nth-child(15) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
[data-blur-text] span:nth-child(16) {
  -webkit-transition-delay: 1.28s;
          transition-delay: 1.28s;
}
[data-blur-text] span:nth-child(17) {
  -webkit-transition-delay: 1.36s;
          transition-delay: 1.36s;
}
[data-blur-text] span:nth-child(18) {
  -webkit-transition-delay: 1.44s;
          transition-delay: 1.44s;
}
[data-blur-text] span:nth-child(19) {
  -webkit-transition-delay: 1.52s;
          transition-delay: 1.52s;
}
[data-blur-text] span:nth-child(20) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
[data-blur-text] span:nth-child(21) {
  -webkit-transition-delay: 1.68s;
          transition-delay: 1.68s;
}
[data-blur-text] span:nth-child(22) {
  -webkit-transition-delay: 1.76s;
          transition-delay: 1.76s;
}
[data-blur-text] span:nth-child(23) {
  -webkit-transition-delay: 1.84s;
          transition-delay: 1.84s;
}
[data-blur-text] span:nth-child(24) {
  -webkit-transition-delay: 1.92s;
          transition-delay: 1.92s;
}
[data-blur-text] span:nth-child(25) {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}
[data-blur-text] span:nth-child(26) {
  -webkit-transition-delay: 2.08s;
          transition-delay: 2.08s;
}
[data-blur-text] span:nth-child(27) {
  -webkit-transition-delay: 2.16s;
          transition-delay: 2.16s;
}
[data-blur-text] span:nth-child(28) {
  -webkit-transition-delay: 2.24s;
          transition-delay: 2.24s;
}
[data-blur-text] span:nth-child(29) {
  -webkit-transition-delay: 2.32s;
          transition-delay: 2.32s;
}
[data-blur-text] span:nth-child(30) {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}
[data-blur-text] span:nth-child(31) {
  -webkit-transition-delay: 2.48s;
          transition-delay: 2.48s;
}
[data-blur-text] span:nth-child(32) {
  -webkit-transition-delay: 2.56s;
          transition-delay: 2.56s;
}
[data-blur-text] span:nth-child(33) {
  -webkit-transition-delay: 2.64s;
          transition-delay: 2.64s;
}
[data-blur-text] span:nth-child(34) {
  -webkit-transition-delay: 2.72s;
          transition-delay: 2.72s;
}
[data-blur-text] span:nth-child(35) {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}
[data-blur-text] span:nth-child(36) {
  -webkit-transition-delay: 2.88s;
          transition-delay: 2.88s;
}
[data-blur-text] span:nth-child(37) {
  -webkit-transition-delay: 2.96s;
          transition-delay: 2.96s;
}
[data-blur-text] span:nth-child(38) {
  -webkit-transition-delay: 3.04s;
          transition-delay: 3.04s;
}
[data-blur-text] span:nth-child(39) {
  -webkit-transition-delay: 3.12s;
          transition-delay: 3.12s;
}
[data-blur-text] span:nth-child(40) {
  -webkit-transition-delay: 3.2s;
          transition-delay: 3.2s;
}
[data-blur-text] span:nth-child(41) {
  -webkit-transition-delay: 3.28s;
          transition-delay: 3.28s;
}
[data-blur-text] span:nth-child(42) {
  -webkit-transition-delay: 3.36s;
          transition-delay: 3.36s;
}
[data-blur-text] span:nth-child(43) {
  -webkit-transition-delay: 3.44s;
          transition-delay: 3.44s;
}
[data-blur-text] span:nth-child(44) {
  -webkit-transition-delay: 3.52s;
          transition-delay: 3.52s;
}
[data-blur-text] span:nth-child(45) {
  -webkit-transition-delay: 3.6s;
          transition-delay: 3.6s;
}
[data-blur-text] span:nth-child(46) {
  -webkit-transition-delay: 3.68s;
          transition-delay: 3.68s;
}
[data-blur-text] span:nth-child(47) {
  -webkit-transition-delay: 3.76s;
          transition-delay: 3.76s;
}
[data-blur-text] span:nth-child(48) {
  -webkit-transition-delay: 3.84s;
          transition-delay: 3.84s;
}
[data-blur-text] span:nth-child(49) {
  -webkit-transition-delay: 3.92s;
          transition-delay: 3.92s;
}
[data-blur-text] span:nth-child(50) {
  -webkit-transition-delay: 4s;
          transition-delay: 4s;
}
[data-blur-text] span:nth-child(51) {
  -webkit-transition-delay: 4.08s;
          transition-delay: 4.08s;
}
[data-blur-text] span:nth-child(52) {
  -webkit-transition-delay: 4.16s;
          transition-delay: 4.16s;
}
[data-blur-text] span:nth-child(53) {
  -webkit-transition-delay: 4.24s;
          transition-delay: 4.24s;
}
[data-blur-text] span:nth-child(54) {
  -webkit-transition-delay: 4.32s;
          transition-delay: 4.32s;
}
[data-blur-text] span:nth-child(55) {
  -webkit-transition-delay: 4.4s;
          transition-delay: 4.4s;
}
[data-blur-text] span:nth-child(56) {
  -webkit-transition-delay: 4.48s;
          transition-delay: 4.48s;
}
[data-blur-text] span:nth-child(57) {
  -webkit-transition-delay: 4.56s;
          transition-delay: 4.56s;
}
[data-blur-text] span:nth-child(58) {
  -webkit-transition-delay: 4.64s;
          transition-delay: 4.64s;
}
[data-blur-text] span:nth-child(59) {
  -webkit-transition-delay: 4.72s;
          transition-delay: 4.72s;
}
[data-blur-text] span:nth-child(60) {
  -webkit-transition-delay: 4.8s;
          transition-delay: 4.8s;
}
[data-blur-text] span:nth-child(61) {
  -webkit-transition-delay: 4.88s;
          transition-delay: 4.88s;
}
[data-blur-text] span:nth-child(62) {
  -webkit-transition-delay: 4.96s;
          transition-delay: 4.96s;
}
[data-blur-text] span:nth-child(63) {
  -webkit-transition-delay: 5.04s;
          transition-delay: 5.04s;
}
[data-blur-text] span:nth-child(64) {
  -webkit-transition-delay: 5.12s;
          transition-delay: 5.12s;
}
[data-blur-text] span:nth-child(65) {
  -webkit-transition-delay: 5.2s;
          transition-delay: 5.2s;
}
[data-blur-text] span:nth-child(66) {
  -webkit-transition-delay: 5.28s;
          transition-delay: 5.28s;
}
[data-blur-text] span:nth-child(67) {
  -webkit-transition-delay: 5.36s;
          transition-delay: 5.36s;
}
[data-blur-text] span:nth-child(68) {
  -webkit-transition-delay: 5.44s;
          transition-delay: 5.44s;
}
[data-blur-text] span:nth-child(69) {
  -webkit-transition-delay: 5.52s;
          transition-delay: 5.52s;
}
[data-blur-text] span:nth-child(70) {
  -webkit-transition-delay: 5.6s;
          transition-delay: 5.6s;
}
[data-blur-text] span:nth-child(71) {
  -webkit-transition-delay: 5.68s;
          transition-delay: 5.68s;
}
[data-blur-text] span:nth-child(72) {
  -webkit-transition-delay: 5.76s;
          transition-delay: 5.76s;
}
[data-blur-text] span:nth-child(73) {
  -webkit-transition-delay: 5.84s;
          transition-delay: 5.84s;
}
[data-blur-text] span:nth-child(74) {
  -webkit-transition-delay: 5.92s;
          transition-delay: 5.92s;
}
[data-blur-text] span:nth-child(75) {
  -webkit-transition-delay: 6s;
          transition-delay: 6s;
}
[data-blur-text] span:nth-child(76) {
  -webkit-transition-delay: 6.08s;
          transition-delay: 6.08s;
}
[data-blur-text] span:nth-child(77) {
  -webkit-transition-delay: 6.16s;
          transition-delay: 6.16s;
}
[data-blur-text] span:nth-child(78) {
  -webkit-transition-delay: 6.24s;
          transition-delay: 6.24s;
}
[data-blur-text] span:nth-child(79) {
  -webkit-transition-delay: 6.32s;
          transition-delay: 6.32s;
}
[data-blur-text] span:nth-child(80) {
  -webkit-transition-delay: 6.4s;
          transition-delay: 6.4s;
}
[data-blur-text] span:nth-child(81) {
  -webkit-transition-delay: 6.48s;
          transition-delay: 6.48s;
}
[data-blur-text] span:nth-child(82) {
  -webkit-transition-delay: 6.56s;
          transition-delay: 6.56s;
}
[data-blur-text] span:nth-child(83) {
  -webkit-transition-delay: 6.64s;
          transition-delay: 6.64s;
}
[data-blur-text] span:nth-child(84) {
  -webkit-transition-delay: 6.72s;
          transition-delay: 6.72s;
}
[data-blur-text] span:nth-child(85) {
  -webkit-transition-delay: 6.8s;
          transition-delay: 6.8s;
}
[data-blur-text] span:nth-child(86) {
  -webkit-transition-delay: 6.88s;
          transition-delay: 6.88s;
}
[data-blur-text] span:nth-child(87) {
  -webkit-transition-delay: 6.96s;
          transition-delay: 6.96s;
}
[data-blur-text] span:nth-child(88) {
  -webkit-transition-delay: 7.04s;
          transition-delay: 7.04s;
}
[data-blur-text] span:nth-child(89) {
  -webkit-transition-delay: 7.12s;
          transition-delay: 7.12s;
}
[data-blur-text] span:nth-child(90) {
  -webkit-transition-delay: 7.2s;
          transition-delay: 7.2s;
}
[data-blur-text] span:nth-child(91) {
  -webkit-transition-delay: 7.28s;
          transition-delay: 7.28s;
}
[data-blur-text] span:nth-child(92) {
  -webkit-transition-delay: 7.36s;
          transition-delay: 7.36s;
}
[data-blur-text] span:nth-child(93) {
  -webkit-transition-delay: 7.44s;
          transition-delay: 7.44s;
}
[data-blur-text] span:nth-child(94) {
  -webkit-transition-delay: 7.52s;
          transition-delay: 7.52s;
}
[data-blur-text] span:nth-child(95) {
  -webkit-transition-delay: 7.6s;
          transition-delay: 7.6s;
}
[data-blur-text] span:nth-child(96) {
  -webkit-transition-delay: 7.68s;
          transition-delay: 7.68s;
}
[data-blur-text] span:nth-child(97) {
  -webkit-transition-delay: 7.76s;
          transition-delay: 7.76s;
}
[data-blur-text] span:nth-child(98) {
  -webkit-transition-delay: 7.84s;
          transition-delay: 7.84s;
}
[data-blur-text] span:nth-child(99) {
  -webkit-transition-delay: 7.92s;
          transition-delay: 7.92s;
}
[data-blur-text] span:nth-child(100) {
  -webkit-transition-delay: 8s;
          transition-delay: 8s;
}

[data-slip-text] {
  overflow: hidden;
  position: relative;
  block-size: 1lh;
}
@media (any-hover: hover) {
  [data-slip-text]:is(a:hover *) span, [data-slip-text]:is(button:hover *) span {
    opacity: 0;
    translate: 0 -100%;
  }
  [data-slip-text]:is(a:hover *)::after, [data-slip-text]:is(button:hover *)::after {
    opacity: 1;
    translate: -50% 0;
  }
}
[data-slip-text] span {
  display: block;
  -webkit-transition: translate 0.6s var(--easing), opacity 0.6s var(--easing);
  transition: translate 0.6s var(--easing), opacity 0.6s var(--easing);
}
[data-slip-text]::after {
  content: attr(data-slip-text) "";
  color: currentColor;
  opacity: 0;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 0;
  translate: -50% 100%;
  -webkit-transition: translate 0.6s var(--easing), opacity 0.6s var(--easing);
  transition: translate 0.6s var(--easing), opacity 0.6s var(--easing);
  inline-size: 100%;
}

/* ----------------------------------------------
  swiper
----------------------------------------------- */
.swiper-slide {
  height: auto;
}

.swiper-pagination[class] {
  font-size: 0;
  bottom: 0;
}

.swiper-pagination-bullet[class] {
  opacity: 1;
  -webkit-transition: background-color 0.3s var(--easing), scale 0.3s var(--easing);
  transition: background-color 0.3s var(--easing), scale 0.3s var(--easing);
}

.swiper-pagination {
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .swiper-pagination {
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}
.swiper-pagination-bullet {
  background-color: #e8e8e8;
  border-radius: 0;
  margin: 0 !important;
  inline-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 3.6px), 6/var(--font-size) * 1rem);
}
.swiper-pagination-bullet-active {
  background-color: #008841;
}

.swiper-button-prev,
.swiper-button-next {
  left: auto;
  right: auto;
  width: auto;
  height: auto;
}

.swiper-scrollbar[class] {
  position: relative;
  left: revert;
  bottom: revert;
}

.swiper-scrollbar {
  background-color: rgba(0, 0, 0, 0.1);
  margin-inline: auto;
  inline-size: 100%;
  block-size: max(max(11.5px, 2.4px), 4/var(--font-size) * 1rem);
}
.swiper-scrollbar .scrollbar {
  background-color: #018842;
  block-size: 100%;
}

/* ----------------------------------------------
  accordion
----------------------------------------------- */
[data-accordion=summary] {
  cursor: pointer;
}

[data-accordion=detail] {
  overflow: hidden;
  max-height: none;
}

summary {
  cursor: pointer;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.js-dropdown.is-show .menu__ttl::after {
  scale: 1 -1;
}
@media (max-width: 768px) {
  .js-dropdown ul {
    display: none;
  }
}

/* ----------------------------------------------
  component
----------------------------------------------- */
/* ----------------------------------------------
  c-mv
----------------------------------------------- */
.c-mv {
  padding: calc(var(--header-height) + 40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .c-mv {
    padding: calc(var(--header-height) + 35/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}
.c-mv:not(:has(.c-mv__bg))::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#e4edf3), to(#fff));
  background: -webkit-linear-gradient(#e4edf3 0%, #fff 100%);
  background: linear-gradient(#e4edf3 0%, #fff 100%);
  position: absolute;
  inset: 0;
  z-index: -3;
}

.c-mv__bg {
  position: fixed;
  inset: 0;
  z-index: -3;
}
.c-mv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.c-mv__ttl {
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  .c-mv__ttl {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
  }
}
.c-mv__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(156/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  text-align: center;
  color: rgba(0, 136, 65, 0.07);
}
@media (max-width: 768px) {
  .c-mv__ttl .en {
    font-size: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
    line-height: 1.24;
  }
}
.c-mv__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  letter-spacing: 0.11em;
  line-height: 1.875;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .c-mv__ttl .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    letter-spacing: normal;
    line-height: 1.33;
  }
}

.c-mv__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.25;
  -webkit-margin-before: 0.8em;
          margin-block-start: 0.8em;
  text-align: center;
}
@media (max-width: 768px) {
  .c-mv__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  c-ttl
----------------------------------------------- */
.c-ttl_01 {
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .c-ttl_01 {
    -webkit-margin-after: calc(40/var(--base-size) * 1rem);
            margin-block-end: calc(40/var(--base-size) * 1rem);
    text-align: center;
  }
}
.c-ttl_01 .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.325;
  -webkit-margin-start: -0.08em;
          margin-inline-start: -0.08em;
}
@media (max-width: 768px) {
  .c-ttl_01 .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  }
}
.c-ttl_01 .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1.325;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
@media (max-width: 768px) {
  .c-ttl_01 .en {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-before: 0.2em;
            margin-block-start: 0.2em;
  }
}

.c-ttl_02 {
  display: grid;
  place-items: center;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  .c-ttl_02 {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.c-ttl_02 .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 500;
  font-size: calc(156/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  text-align: center;
  color: rgba(0, 136, 65, 0.07);
}
@media (max-width: 768px) {
  .c-ttl_02 .en {
    font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
    color: rgba(0, 136, 65, 0.1);
  }
}
.c-ttl_02 .ja {
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  letter-spacing: 0.11em;
  line-height: 1.875;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .c-ttl_02 .ja {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    letter-spacing: normal;
    line-height: 1.33;
    inline-size: 100%;
  }
}
.c-ttl_02.white .en {
  color: rgba(255, 255, 255, 0.07);
}
.c-ttl_02.white .ja {
  color: #fff;
}

/* ----------------------------------------------
  c-btn
----------------------------------------------- */
.c-btn_01 {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  border: 1px solid #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  line-height: 1.45;
  overflow: hidden;
  padding: 5px max(max(11.5px, 26.4px), 44/var(--font-size) * 1rem) 5px max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  position: relative;
  -webkit-transition: border-color 0.3s var(--easing), color 0.3s var(--easing);
  transition: border-color 0.3s var(--easing), color 0.3s var(--easing);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: max(max(11.5px, 144px), 240/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 31.8px), 53/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .c-btn_01:hover {
    color: #008841;
    border-color: #008841;
  }
  .c-btn_01:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn_01:hover::after {
    background-color: #008841;
  }
}
.c-btn_01::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset: -1px;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.3s var(--easing);
  transition: scale 0.3s var(--easing);
  will-change: scale;
  z-index: -3;
}
.c-btn_01::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-end: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
}
.c-btn_01:has(.ico) {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  -webkit-padding-start: calc(33/var(--base-size) * 1rem);
          padding-inline-start: calc(33/var(--base-size) * 1rem);
  min-inline-size: min(max(max(11.5px, 178.2px), 297/var(--font-size) * 1rem), 100%);
}
@media (any-hover: hover) {
  .c-btn_01:has(.ico):hover {
    color: #008841;
    border-color: #008841;
  }
  .c-btn_01:has(.ico):hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn_01:has(.ico):hover::after {
    background-color: #008841;
  }
  .c-btn_01:has(.ico):hover .ico {
    background-color: #008841;
  }
}
.c-btn_01.transparent {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
@media (any-hover: hover) {
  .c-btn_01.transparent:hover {
    color: #008841;
  }
  .c-btn_01.transparent:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn_01.transparent:hover::after {
    background-color: #008841;
  }
}
.c-btn_01.brown {
  background: -webkit-linear-gradient(5deg, #a3824a 0%, #beac7d 100%);
  background: linear-gradient(85deg, #a3824a 0%, #beac7d 100%);
  border: none;
  color: #fff;
}
@media (any-hover: hover) {
  .c-btn_01.brown:hover {
    color: #9e7d59;
  }
  .c-btn_01.brown:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn_01.brown:hover::after {
    background-color: #9e7d59;
  }
}
.c-btn_01.lightGreen {
  background: #dff8e8;
  border: none;
  color: #008841;
}
@media (any-hover: hover) {
  .c-btn_01.lightGreen:hover {
    color: #008841;
  }
  .c-btn_01.lightGreen:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-btn_01.lightGreen:hover::after {
    background-color: #008841;
  }
}
.c-btn_01.lightGreen::after {
  background-color: #008841;
}
.c-btn_01.onlineshop .ico {
  aspect-ratio: 1;
  background-color: currentColor;
  -webkit-mask: url("../img/common/ico_onlineshop.svg") no-repeat center/contain;
          mask: url("../img/common/ico_onlineshop.svg") no-repeat center/contain;
  -webkit-margin-before: -0.08em;
          margin-block-start: -0.08em;
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
  inline-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
}

/* ============================================ */
/*  c-btn-line
/* ============================================ */
.c-btn-line {
  background: #06b021;
  border: 1px solid #06b021;
  -webkit-box-shadow: 0 calc(10/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) rgba(0, 0, 0, 0.16);
          box-shadow: 0 calc(10/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  color: #fff;
  position: relative;
  -webkit-transition: color 0.3s var(--easing);
  transition: color 0.3s var(--easing);
  inline-size: max(max(11.5px, 384px), 640/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 60px), 100/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .c-btn-line:hover {
    color: #06b021;
  }
  .c-btn-line:hover::before,
  .c-btn-line:hover span {
    background-color: #06b021;
  }
  .c-btn-line:hover::after {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}
@media (max-width: 768px) {
  .c-btn-line {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    inline-size: 100%;
    block-size: max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem);
  }
}
.c-btn-line::before {
  content: "";
  aspect-ratio: 55/53;
  background-color: #fff;
  -webkit-mask: url("../img/common/ico_line.svg") no-repeat center/contain;
          mask: url("../img/common/ico_line.svg") no-repeat center/contain;
  -webkit-margin-end: calc(20/var(--base-size) * 1rem);
          margin-inline-end: calc(20/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
  inline-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-btn-line::before {
    -webkit-margin-end: 8px;
            margin-inline-end: 8px;
    inline-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
  }
}
.c-btn-line::after {
  content: "";
  background-color: #fff;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.6s var(--easing);
  transition: scale 0.6s var(--easing);
  z-index: -3;
}
.c-btn-line span {
  aspect-ratio: 69/25;
  background-color: #fff;
  -webkit-mask: url("../img/common/ico_line_02.svg") no-repeat center/contain;
          mask: url("../img/common/ico_line_02.svg") no-repeat center/contain;
  -webkit-margin-end: calc(15/var(--base-size) * 1rem);
          margin-inline-end: calc(15/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
  inline-size: max(max(11.5px, 41.4px), 69/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-btn-line span {
    -webkit-margin-end: 8px;
            margin-inline-end: 8px;
    inline-size: max(max(11.5px, 34.2px), 57/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  c-scroll
----------------------------------------------- */
.c-scroll {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(20/var(--base-size) * 1rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .c-scroll {
    gap: 10px;
    inline-size: 100%;
  }
}

.c-scroll__btn {
  inline-size: min(max(max(11.5px, 198px), 330/var(--font-size) * 1rem), (100% - 20/var(--base-size) * 1rem * 2) / 3);
}
@media (max-width: 768px) {
  .c-scroll__btn {
    inline-size: calc(100% - 5px);
  }
}
.c-scroll__btn a {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  line-height: 1.45;
  overflow: hidden;
  padding: 5px max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  position: relative;
  -webkit-transition: border-color 0.3s var(--easing), color 0.3s var(--easing);
  transition: border-color 0.3s var(--easing), color 0.3s var(--easing);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: max(max(11.5px, 198px), 330/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 39.6px), 66/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .c-scroll__btn a:hover {
    color: #008841;
  }
  .c-scroll__btn a:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .c-scroll__btn a:hover::after {
    translate: 0 2px;
  }
}
@media (max-width: 768px) {
  .c-scroll__btn a {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    padding: 5px calc(15/var(--base-size) * 1rem);
    min-inline-size: 100%;
    min-block-size: max(max(11.5px, 31.8px), 53/var(--font-size) * 1rem);
  }
}
.c-scroll__btn a::before {
  content: "";
  background-color: #deede3;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
  inline-size: calc(100% + 2px);
  block-size: calc(100% + 2px);
  z-index: -3;
}
.c-scroll__btn a::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  background-color: currentColor;
  position: absolute;
  inset-inline-end: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
  rotate: 90deg;
  -webkit-transition: background-color 0.3s var(--easing), translate 0.3s var(--easing);
  transition: background-color 0.3s var(--easing), translate 0.3s var(--easing);
}
@media (max-width: 768px) {
  .c-scroll__btn a::after {
    inset-inline-end: calc(15/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  c-tel
----------------------------------------------- */
.c-tel[class] {
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
  padding: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .c-tel[class] {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    padding: calc(22/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) calc(25/var(--base-size) * 1rem);
  }
}
.c-tel[class] .p_01 {
  color: #000;
  text-decoration: none;
}

/* ----------------------------------------------
  c-cta
----------------------------------------------- */
.c-cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(64/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .c-cta {
    display: revert;
  }
}

.c-cta__tel {
  text-align: center;
}
.c-cta__tel .p_01 {
  font-weight: bold;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.8;
  color: #c7021c;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .c-cta__tel .p_01 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.c-cta__tel .p_02 {
  font-family: Oswald;
  font-weight: 500;
  font-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
  color: #018842;
  -webkit-transition: opacity 0.3s var(--easing);
  transition: opacity 0.3s var(--easing);
}
@media (any-hover: hover) {
  .c-cta__tel .p_02:has(a:hover) {
    opacity: 0.8;
  }
}
@media (max-width: 768px) {
  .c-cta__tel .p_02 {
    font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  }
}
.c-cta__tel .p_02 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
.c-cta__tel .p_02 a::before {
  content: "";
  aspect-ratio: 60/40;
  background-color: currentColor;
  -webkit-mask: url("../img/common/ico_freedial.svg") no-repeat center/contain;
          mask: url("../img/common/ico_freedial.svg") no-repeat center/contain;
  -webkit-margin-before: 0.1em;
          margin-block-start: 0.1em;
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
  inline-size: 1.0909090909em;
}
@media (max-width: 768px) {
  .c-cta__tel .p_02 a::before {
    inline-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
.c-cta__tel .p_03 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.33;
  -webkit-margin-before: 5px;
          margin-block-start: 5px;
}
@media (max-width: 768px) {
  .c-cta__tel .p_03 {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

.c-cta__reserve {
  background: -webkit-gradient(linear, left top, right top, from(#156038), color-stop(54.19%, #00863e), to(#003619));
  background: -webkit-linear-gradient(left, #156038 0%, #00863e 54.19%, #003619 100%);
  background: linear-gradient(90deg, #156038 0%, #00863e 54.19%, #003619 100%);
  border: 1px solid #008841;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  color: #fff;
}
@media (any-hover: hover) {
  .c-cta__reserve:hover a {
    background-color: #fff;
    color: #008841;
  }
  .c-cta__reserve:hover a::after {
    background-color: #008841;
  }
}
@media (max-width: 768px) {
  .c-cta__reserve {
    font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
    margin-inline: auto;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    max-inline-size: 400px;
  }
}
.c-cta__reserve a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(18/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s var(--easing), color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing), color 0.3s var(--easing);
  inline-size: max(max(11.5px, 277.2px), 462/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 58.8px), 98/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-cta__reserve a {
    margin-inline: auto;
    inline-size: min(max(max(11.5px, 186px), 310/var(--font-size) * 1rem), 100%);
    block-size: max(max(11.5px, 37.2px), 62/var(--font-size) * 1rem);
  }
}
.c-cta__reserve a::after {
  content: "";
  aspect-ratio: 30/28;
  background-color: #fff;
  -webkit-mask: url("../img/common/ico_reserve.svg") no-repeat center/contain;
          mask: url("../img/common/ico_reserve.svg") no-repeat center/contain;
  inline-size: 1.25em;
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
}
@media (max-width: 768px) {
  .c-cta__reserve a::after {
    inline-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  c-privacy
----------------------------------------------- */
.c-privacy {
  margin-inline: auto;
  max-inline-size: 1250px;
  max-inline-size: max(1250px - 200/var(--base-size) * 1rem, 1250/var(--base-size) * 1rem);
  background-color: #008841;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: max(max(11.5px, 76.8px), 128/var(--font-size) * 1rem) 1fr;
  gap: calc(40/var(--base-size) * 1rem);
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
  padding: max(max(11.5px, 9px), 15/var(--font-size) * 1rem) max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-privacy {
    display: revert;
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    padding: calc(18/var(--base-size) * 1rem) calc(28/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .c-privacy__img {
    margin-inline: auto;
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 53.4px), 89/var(--font-size) * 1rem);
  }
}

.c-privacy__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .c-privacy__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

/* ----------------------------------------------
  c-sns
----------------------------------------------- */
.c-sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .c-sns {
    gap: calc(20/var(--base-size) * 1rem);
  }
}
.c-sns a {
  position: relative;
  display: block;
  inline-size: max(42px, max(max(11.5px, 28.2px), 47/var(--font-size) * 1rem));
}
@media (any-hover: hover) {
  .c-sns a:hover img {
    opacity: 0.7;
    scale: 0.95 0.95;
  }
}
.c-sns a img {
  -webkit-transition: opacity 0.5s, scale 0.5s;
  transition: opacity 0.5s, scale 0.5s;
}
@media (max-width: 768px) {
  .c-sns a {
    inline-size: max(max(11.5px, 18.6px), 31/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  c-bnr
----------------------------------------------- */
.c-bnr-taiken {
  --inline-size: 1330;
  --block-size: 322;
  display: block;
  position: relative;
}
.c-bnr-taiken .p {
  background: -webkit-gradient(linear, left top, left bottom, from(#fffd55), to(#eae99a));
  background: -webkit-linear-gradient(#fffd55 0%, #eae99a 100%);
  background: linear-gradient(#fffd55 0%, #eae99a 100%);
  font-weight: bold;
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  -webkit-filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
          filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  position: absolute;
  -webkit-transition: color 0.5s 0.1s var(--easing);
  transition: color 0.5s 0.1s var(--easing);
  inset-inline-end: calc(60 / var(--inline-size) * 100%);
  inset-block-end: calc(24 / var(--block-size) * 100%);
  inline-size: calc(440 / var(--inline-size) * 100%);
  block-size: calc(82.25 / var(--block-size) * 100%);
  z-index: 3;
}
@media (any-hover: hover) {
  .c-bnr-taiken .p:is(a:hover .p) {
    color: #fff;
  }
  .c-bnr-taiken .p:is(a:hover .p)::before {
    scale: 1 1;
  }
  .c-bnr-taiken .p:is(a:hover .p)::after {
    translate: calc(5/var(--base-size) * 1rem) -50%;
  }
}
.c-bnr-taiken .p::before {
  content: "";
  background-color: #000;
  position: absolute;
  inset: -1px;
  scale: 0 1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.5s var(--easing);
  transition: scale 0.5s var(--easing);
  z-index: -3;
}
.c-bnr-taiken .p::after {
  content: "";
  aspect-ratio: 14/20;
  background-color: currentColor;
  display: block;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  position: absolute;
  inset-inline-end: calc(30/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
  -webkit-transition: translate 0.5s 0.1s var(--easing);
  transition: translate 0.5s 0.1s var(--easing);
  inline-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
}

.c-bnr-hair-growth-theory {
  --inline-size: 1330;
  --block-size: 322;
  display: block;
  position: relative;
}
.c-bnr-hair-growth-theory .p {
  font-weight: bold;
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: calc(30/var(--base-size) * 1rem);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  inset-inline-end: calc(30 / var(--inline-size) * 100%);
  inset-block-end: calc(20 / var(--block-size) * 100%);
  z-index: 3;
}
@media (any-hover: hover) {
  .c-bnr-hair-growth-theory .p:is(a:hover .p)::before {
    scale: 1 1;
  }
  .c-bnr-hair-growth-theory .p:is(a:hover .p)::after {
    translate: calc(5/var(--base-size) * 1rem) 0;
  }
}
.c-bnr-hair-growth-theory .p::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  scale: 0 1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.5s var(--easing);
  transition: scale 0.5s var(--easing);
  inline-size: calc(100% - 2.2em);
  block-size: 1px;
}
.c-bnr-hair-growth-theory .p::after {
  content: "";
  aspect-ratio: 14/20;
  background-color: currentColor;
  display: block;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: translate 0.5s var(--easing);
  transition: translate 0.5s var(--easing);
  inline-size: max(8px, 10/var(--base-size) * 1rem);
}

/* ----------------------------------------------
  c-breadcrumb
----------------------------------------------- */
.c-breadcrumb {
  background-color: #fff;
  padding: calc(20/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .c-breadcrumb {
    padding: 10px calc(15/var(--base-size) * 1rem);
  }
}
.c-breadcrumb ul {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-breadcrumb ul {
    gap: 10px;
  }
}
.c-breadcrumb li {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.33;
  color: #707070;
  -webkit-transition: color 0.3s var(--easing);
  transition: color 0.3s var(--easing);
}
@media (any-hover: hover) {
  .c-breadcrumb li:has(a:hover) {
    color: #008841;
  }
}
@media (max-width: 768px) {
  .c-breadcrumb li {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  }
}
.c-breadcrumb li + li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .c-breadcrumb li + li {
    gap: 10px;
  }
}
.c-breadcrumb li + li::before {
  content: "";
  aspect-ratio: 6/11;
  background-color: #008841;
  -webkit-mask: url("../img/common/arrow_next_02.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next_02.svg") no-repeat center/contain;
  translate: 0 -0.05em;
  inline-size: max(4px, 6/var(--base-size) * 1rem);
}
.c-breadcrumb li:last-child {
  color: #000;
}

/* ----------------------------------------------
  c-pagination
----------------------------------------------- */
.c-pagination {
  -webkit-margin-before: calc(80/var(--base-size) * 1rem);
          margin-block-start: calc(80/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .c-pagination {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
.c-pagination:not(:has(.wp-pagenavi)) {
  display: none;
}
.c-pagination .wp-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  margin-inline: auto;
  padding-inline: max(max(11.5px, 43.2px), 72/var(--font-size) * 1rem);
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  block-size: max(36px, max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem));
}
@media (max-width: 768px) {
  .c-pagination .wp-pagenavi {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    padding-inline: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
    block-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
  }
}
.c-pagination .wp-pagenavi .pages {
  display: none;
}
.c-pagination .wp-pagenavi .page,
.c-pagination .wp-pagenavi .current,
.c-pagination .wp-pagenavi .extend,
.c-pagination .wp-pagenavi .first,
.c-pagination .wp-pagenavi .last {
  border: none;
  display: grid;
  place-content: center;
  overflow: hidden;
  margin-inline: 0;
  padding: 8px 10px 10px;
  -webkit-transition: color 0.3s var(--easing);
  transition: color 0.3s var(--easing);
  block-size: auto;
}
@media (any-hover: hover) {
  .c-pagination .wp-pagenavi .page:hover,
  .c-pagination .wp-pagenavi .current:hover,
  .c-pagination .wp-pagenavi .extend:hover,
  .c-pagination .wp-pagenavi .first:hover,
  .c-pagination .wp-pagenavi .last:hover {
    color: #008841;
  }
}
.c-pagination .wp-pagenavi .current {
  color: #008841;
  position: relative;
}
.c-pagination .wp-pagenavi .current::before {
  content: "";
  background-color: #008841;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 9px;
  translate: -50% 0;
  inline-size: 0.8em;
  block-size: 1px;
}
.c-pagination .previouspostslink,
.c-pagination .nextpostslink {
  aspect-ratio: 1;
  background-color: #efefef;
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50%;
  -webkit-transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing);
  block-size: 100%;
  /* reset */
  border: none !important;
  overflow: hidden;
  margin-inline: 0 !important;
  padding: 0 !important;
  text-indent: -9999px;
}
@media (any-hover: hover) {
  .c-pagination .previouspostslink:hover,
  .c-pagination .nextpostslink:hover {
    background-color: #008841;
  }
  .c-pagination .previouspostslink:hover::after,
  .c-pagination .nextpostslink:hover::after {
    background-color: #fff;
  }
}
.c-pagination .previouspostslink::after,
.c-pagination .nextpostslink::after {
  aspect-ratio: 8/12;
  background-color: #008841;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing);
}
.c-pagination .previouspostslink {
  inset-inline-start: 0;
  rotate: 180deg;
}
.c-pagination .nextpostslink {
  inset-inline-end: 0;
}

/* ----------------------------------------------
  unity
----------------------------------------------- */
/* ============================================ */
/*  Media query
/* ============================================ */
@media (max-width: 768px) {
  .u-pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 1080px) {
  .u-tab-only {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .u-tab-only {
    display: none !important;
  }
}

@media screen and (min-width: 1080px) {
  .u-tab {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .u-sp-only {
    display: none !important;
  }
}

/* ============================================ */
/*  colors
/* ============================================ */
.u-color-white {
  color: #fff;
}

.u-color-green_088 {
  color: #008841;
}

.u-color-gold_d4a {
  color: #d4af17;
}

.u-color-lightGreen_cef {
  color: #ceff00;
}

/* ============================================ */
/*  maker
/* ============================================ */
.u-marker-white {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #fff), to(#fff));
  background: -webkit-linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: 0.15em 0.05em;
}

.u-marker-green_088 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #008841), to(#008841));
  background: -webkit-linear-gradient(transparent 0.15em, #008841 0.15em, #008841 calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #008841 0.15em, #008841 calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: max(8px, 0.5em);
}

.u-marker-yellow_fff {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #fffd55), to(#fffd55));
  background: -webkit-linear-gradient(transparent 0.15em, #fffd55 0.15em, #fffd55 calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #fffd55 0.15em, #fffd55 calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: 0.15em 0.05em;
}

/* ----------------------------------------------
  layout
----------------------------------------------- */
/* ----------------------------------------------
  l-onlineshop
----------------------------------------------- */
.l-onlineshop {
  background-color: #2a1512;
}

.l-onlineshop__wrapper {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
  container-type: inline-size;
  display: grid;
  grid-template-columns: 1fr 36.8229166667%;
  position: relative;
}
@media (max-width: 768px) {
  .l-onlineshop__wrapper {
    grid-template-columns: 1fr;
  }
}

.l-onlineshop__contents {
  color: #fff;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  padding: calc(60/var(--base-size) * 1rem) calc(130/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .l-onlineshop__contents {
    padding: calc(40/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}

.l-onlineshop__img.img_01 {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
  inline-size: 32.9166666667cqi;
  z-index: -3;
}
@media (max-width: 768px) {
  .l-onlineshop__img.img_02 {
    grid-row: 1/2;
  }
}
.l-onlineshop__img.img_02 img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.l-onlineshop__ttl {
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
.l-onlineshop__ttl .ja {
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .l-onlineshop__ttl .ja {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.l-onlineshop__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 45.6px), 76/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1.18;
}
@media (max-width: 768px) {
  .l-onlineshop__ttl .en {
    font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  }
}

.l-onlineshop__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
  line-height: 1.92;
}
@media (max-width: 768px) {
  .l-onlineshop__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.l-onlineshop__btn {
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-onlineshop__btn {
    display: grid;
    place-items: center;
  }
}

/* ----------------------------------------------
  l-advantage
----------------------------------------------- */
.l-advantage {
  background-color: #a59368;
  padding: calc(20/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-advantage {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.l-advantage__ttl .en {
  font-size: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
  color: rgba(255, 255, 255, 0.15);
}
@media (max-width: 768px) {
  .l-advantage__ttl .en {
    font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
  }
}

.l-advantage__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(15/var(--base-size) * 1rem);
  margin-inline: auto;
  max-inline-size: 1366px;
}
@media (max-width: 768px) {
  .l-advantage__list {
    gap: calc(14/var(--base-size) * 1rem) calc(7/var(--base-size) * 1rem);
  }
}

.l-advantage__item {
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.5;
  padding: calc(22/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
  inline-size: max(max(max(11.5px, 192px), 320/var(--font-size) * 1rem), (100% - 15/var(--base-size) * 1rem * 3) / 4);
  z-index: 3;
}
@media (max-width: 768px) {
  .l-advantage__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    line-height: 1.375;
    padding: 4px;
    inline-size: calc((100% - 7/var(--base-size) * 1rem) / 2);
    min-block-size: max(max(11.5px, 60px), 100/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .l-advantage__item:last-child {
    inline-size: 100%;
    min-block-size: max(max(11.5px, 47.4px), 79/var(--font-size) * 1rem);
  }
}
.l-advantage__item::before {
  content: "";
  background: -webkit-linear-gradient(325deg, #d34c44 0%, #f4b29e 16.26%, #dbd58b 31.53%, #329f3e 46.8%, #1c9074 59.07%, #0c859b 67.98%, #02395c 82.27%, #2d6da3 100%);
  background: linear-gradient(125deg, #d34c44 0%, #f4b29e 16.26%, #dbd58b 31.53%, #329f3e 46.8%, #1c9074 59.07%, #0c859b 67.98%, #02395c 82.27%, #2d6da3 100%);
  opacity: 0.7;
  position: absolute;
  inset: 0;
  z-index: -3;
}
.l-advantage__item::after {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  inline-size: calc(100% - 10px);
  block-size: calc(100% - 10px);
  z-index: -3;
}
@media (max-width: 768px) {
  .l-advantage__item::after {
    inline-size: calc(100% - 8px);
    block-size: calc(100% - 8px);
  }
}

/* ----------------------------------------------
  l-column
----------------------------------------------- */
.l-column {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(40/var(--base-size) * 1rem);
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column {
    grid-template-columns: 1fr;
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

@media (any-hover: hover) {
  .l-column__item:hover .l-column__ttl span {
    background-size: 100% 1px;
    color: #008841;
  }
  .l-column__item:hover img {
    scale: 1.15 1.15;
  }
}

.l-column__img {
  aspect-ratio: 440/300;
  overflow: hidden;
  inline-size: 100%;
}
.l-column__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.l-column__date {
  font-weight: 500;
  font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__date {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}

.l-column__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
  }
}
.l-column__ttl span {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.l-column__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: rgba(0, 0, 0, 0.8);
  -webkit-margin-before: calc(12/var(--base-size) * 1rem);
          margin-block-start: calc(12/var(--base-size) * 1rem);
}

.l-column__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__tag {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}
.l-column__tag li {
  background-color: #1e243e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .l-column__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
    padding: 3px 10px 4px;
  }
}
.l-column__tag li.aga, .l-column__tag li.ikumousyoku {
  background-color: #9e7d59;
}
.l-column__tag li.tag1 {
  background-color: #008841;
}

/* ----------------------------------------------
  l-column
----------------------------------------------- */
@media (max-width: 768px) {
  .l-column__aside {
    -webkit-margin-before: calc(80/var(--base-size) * 1rem);
            margin-block-start: calc(80/var(--base-size) * 1rem);
  }
}
.l-column__aside .l-column {
  counter-reset: number 0;
  display: revert;
  -webkit-margin-before: unset;
          margin-block-start: unset;
}
.l-column__aside .l-column__item {
  -webkit-border-before: 1px solid #d9d9d9;
          border-block-start: 1px solid #d9d9d9;
  -webkit-padding-before: calc(30/var(--base-size) * 1rem);
          padding-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__aside .l-column__item {
    -webkit-padding-before: calc(20/var(--base-size) * 1rem);
            padding-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.l-column__aside .l-column__item:not(:first-child) {
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__aside .l-column__item:not(:first-child) {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.l-column__aside .l-column__item:last-child {
  -webkit-border-after: 1px solid #d9d9d9;
          border-block-end: 1px solid #d9d9d9;
  -webkit-padding-after: calc(30/var(--base-size) * 1rem);
          padding-block-end: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__aside .l-column__item:last-child {
    -webkit-padding-after: calc(20/var(--base-size) * 1rem);
            padding-block-end: calc(20/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .l-column__aside .l-column__item a {
    display: grid;
    grid-template-columns: 33.6231884058% 1fr;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
.l-column__aside .l-column__img {
  position: relative;
  max-inline-size: 166px;
}
@media (max-width: 768px) {
  .l-column__aside .l-column__img {
    grid-row: span 2;
  }
}
.l-column__aside .l-column__img:is(.ranking *)::before {
  counter-increment: number 1;
  content: counter(number);
  aspect-ratio: 1;
  background-color: #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 0.9;
  color: #fff;
  padding: 0 0.05em 0.1em 0;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: max(max(11.5px, 22.2px), 37/var(--font-size) * 1rem);
  z-index: 3;
}
@media (max-width: 768px) {
  .l-column__aside .l-column__img:is(.ranking *)::before {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
.l-column__aside .l-column__date {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .l-column__aside .l-column__date {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}
.l-column__aside .l-column__ttl {
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  -webkit-margin-before: 5px;
          margin-block-start: 5px;
}
@media (max-width: 768px) {
  .l-column__aside .l-column__ttl {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}
@media (max-width: 768px) {
  .l-column__aside .l-column__txt {
    grid-column: span 2;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
.l-column__aside .l-column__tag {
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-column__aside .l-column__tag {
    grid-column: span 2;
  }
}

.l-columnAside__container + .l-columnAside__container {
  -webkit-margin-before: calc(100/var(--base-size) * 1rem);
          margin-block-start: calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-columnAside__container + .l-columnAside__container {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}

.l-columnAside__ttl {
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .l-columnAside__ttl {
    -webkit-margin-after: 8px;
            margin-block-end: 8px;
  }
}
.l-columnAside__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  line-height: 1.35;
}
@media (max-width: 768px) {
  .l-columnAside__ttl .ja {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}
.l-columnAside__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1.5;
  color: #d4af17;
}
@media (max-width: 768px) {
  .l-columnAside__ttl .en {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  project
----------------------------------------------- */
/* ----------------------------------------------
  TOPページ
----------------------------------------------- */
html:has(#page-home) .c-breadcrumb {
  display: none;
}

.scroll_down {
  aspect-ratio: 1;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 0;
  translate: -50% 0;
  inline-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
}
.scroll_down::before, .scroll_down::after {
  content: "";
  background-color: rgba(0, 136, 65, 0.4);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 0;
  translate: -50% 0;
  inline-size: 2px;
  block-size: 100%;
}
.scroll_down::after {
  -webkit-animation: scroll_down 2.5s cubic-bezier(1, 0, 0, 1) infinite;
          animation: scroll_down 2.5s cubic-bezier(1, 0, 0, 1) infinite;
  background: #008841;
}
.scroll_down span {
  font-weight: 600;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
  line-height: 1;
  color: rgba(0, 136, 65, 0.8);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0;
  translate: -50% calc(-100% - 0.5em);
}

@-webkit-keyframes scroll_down {
  0% {
    scale: 1 0;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    scale: 1 1;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    scale: 1 1;
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  90% {
    scale: 1 0;
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    scale: 1 0;
  }
}

@keyframes scroll_down {
  0% {
    scale: 1 0;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    scale: 1 1;
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    scale: 1 1;
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  90% {
    scale: 1 0;
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    scale: 1 0;
  }
}
/* ============================================ */
/*  p-index__mv
/* ============================================ */
.p-index__mv {
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-index__mv {
    display: grid;
  }
}

.p-indexMv__upper {
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-indexMv__upper {
    display: contents;
  }
}
@media (max-width: 768px) {
  .p-indexMv__upper figure {
    max-block-size: 375px;
  }
}
.p-indexMv__upper img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexMv__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0;
  translate: -50% 0;
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-indexMv__wrapper {
    display: contents;
  }
}

.p-indexMv__en {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: 16.875vw;
  line-height: 1.17;
  color: #fff;
  position: absolute;
  inset-inline-start: -0.3em;
  inset-block-start: 0.3em;
  text-shadow: 0 0 calc(20/var(--base-size) * 1rem) rgba(0, 0, 0, 0.03);
}
@media (max-width: 768px) {
  .p-indexMv__en {
    font-size: max(max(11.5px, 51px), 85/var(--font-size) * 1rem);
    inset-inline-start: calc(25/var(--base-size) * 1rem);
    inset-block-start: max(max(11.5px, 79.2px), 132/var(--font-size) * 1rem);
    z-index: 9;
  }
}
.p-indexMv__en .p_02 {
  font-size: 16.6145833333vw;
}
@media (max-width: 768px) {
  .p-indexMv__en .p_02 {
    font-size: max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem);
  }
}
.p-indexMv__en .p_03 {
  font-size: 11.8229166667vw;
}
@media (max-width: 768px) {
  .p-indexMv__en .p_03 {
    font-size: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
  }
}

.p-indexMv__ja {
  font-family: "Noto Serif JP";
  font-weight: 500;
  font-size: calc(45/var(--base-size) * 1rem);
  letter-spacing: 0.11em;
  line-height: 1.66;
  position: absolute;
  inset-inline-end: -0.2em;
  inset-block-start: 50%;
  translate: 0 -50%;
}
@media (max-width: 1600px) {
  .p-indexMv__ja {
    inset-inline-end: 0.3em;
  }
}
@media (max-width: 768px) {
  .p-indexMv__ja {
    background: -webkit-gradient(linear, left top, left bottom, from(#e3ecf2), to(#fff));
    background: -webkit-linear-gradient(#e3ecf2 0%, #fff 100%);
    background: linear-gradient(#e3ecf2 0%, #fff 100%);
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    padding: calc(25/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
    position: relative;
    inset-inline-end: revert;
    inset-block-start: revert;
    translate: none;
    text-align: center;
    inline-size: 100%;
  }
}
@media (max-width: 768px) {
  .p-indexMv__ja span:is(main.is-loaded *) {
    -webkit-filter: blur(0) !important;
            filter: blur(0) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 768px) {
  .p-indexMv__lower {
    grid-row: 2/3;
    max-block-size: 225px;
  }
}
.p-indexMv__lower img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

/* ============================================ */
/*  p-index__pickup
/* ============================================ */
.p-index__pickup {
  overflow: hidden;
  padding-block: calc(120/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-index__pickup {
    padding-block: 0 calc(15/var(--base-size) * 1rem);
  }
}

.p-indexPickup__slider {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
}
.p-indexPickup__slider .swiper-slide {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  inline-size: 41.6666666667%;
}
@media (any-hover: hover) {
  .p-indexPickup__slider .swiper-slide:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .p-indexPickup__slider .swiper-slide {
    inline-size: min(92%, 400px);
  }
}
.p-indexPickup__slider .swiper-slide a {
  display: block;
}

/* ============================================ */
/*  p-index__partner
/* ============================================ */
.p-index__partner {
  background-color: #d8efff;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  position: relative;
  z-index: 0;
}
@media (min-width: 768.9px) {
  .p-index__partner {
    -webkit-padding-end: calc(50/var(--base-size) * 1rem);
            padding-inline-end: calc(50/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-index__partner {
    -webkit-padding-before: calc(70/var(--base-size) * 1rem);
            padding-block-start: calc(70/var(--base-size) * 1rem);
  }
}

.p-indexPartner__bg {
  mix-blend-mode: soft-light;
  overflow: hidden;
  isolation: isolate;
  position: absolute;
  inset: 0;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-indexPartner__bg {
    position: fixed;
  }
}
.p-indexPartner__bg video {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexPartner__outer {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
}

@media (min-width: 768.9px) {
  .p-indexPartner__wrapper {
    display: grid;
    grid-template-columns: 52.5% 1fr;
    gap: calc(80/var(--base-size) * 1rem);
    margin-inline: auto;
    -webkit-padding-start: calc(40/var(--base-size) * 1rem);
            padding-inline-start: calc(40/var(--base-size) * 1rem);
    max-inline-size: 1600px;
  }
}

.p-indexPartner__img {
  mix-blend-mode: darken;
  overflow: hidden;
  -webkit-padding-after: calc(80/var(--base-size) * 1rem);
          padding-block-end: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexPartner__img {
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-indexPartner__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexPartner__h {
  -webkit-border-before: 2px solid #008841;
          border-block-start: 2px solid #008841;
  -webkit-border-after: 2px solid #008841;
          border-block-end: 2px solid #008841;
  margin-inline: auto;
  -webkit-margin-before: calc(-22/var(--base-size) * 1rem);
          margin-block-start: calc(-22/var(--base-size) * 1rem);
  padding-block: 2px 10px;
  position: relative;
  text-align: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-indexPartner__h {
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
  }
}
.p-indexPartner__h .p_01 {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  letter-spacing: 0.12em;
  line-height: 1.05;
  color: #008841;
}
@media (max-width: 768px) {
  .p-indexPartner__h .p_01 {
    font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  }
}
.p-indexPartner__h .p_02 {
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.15;
}
@media (max-width: 768px) {
  .p-indexPartner__h .p_02 {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-indexPartner__list {
    aspect-ratio: 735/415;
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: calc(164/var(--base-size) * 1rem);
    translate: -50% 0;
    inline-size: 87.5%;
  }
}
@media (max-width: 768px) {
  .p-indexPartner__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: calc(18/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  }
}
.p-indexPartner__list li {
  background-color: #156038;
  -webkit-box-shadow: 0 calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.16);
          box-shadow: 0 calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.16);
  border: 1px solid #fff;
  border-radius: 100vmax;
  font-weight: 600;
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  line-height: 1.05;
  color: #fff;
  padding: calc(10/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-indexPartner__list li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    line-height: 1.18;
    padding: 3px;
    inline-size: 100%;
    block-size: max(max(11.5px, 32.4px), 54/var(--font-size) * 1rem);
  }
}
.p-indexPartner__list li:nth-child(2) {
  background: -webkit-gradient(linear, left top, right top, from(#092040), color-stop(91.25%, #004b7e), to(#1e4b64));
  background: -webkit-linear-gradient(left, #092040 0%, #004b7e 91.25%, #1e4b64 100%);
  background: linear-gradient(90deg, #092040 0%, #004b7e 91.25%, #1e4b64 100%);
}
.p-indexPartner__list li:nth-child(3) {
  background: -webkit-gradient(linear, left top, right top, from(#092040), color-stop(91.25%, #004b7e), to(#1e4b64));
  background: -webkit-linear-gradient(left, #092040 0%, #004b7e 91.25%, #1e4b64 100%);
  background: linear-gradient(90deg, #092040 0%, #004b7e 91.25%, #1e4b64 100%);
}
.p-indexPartner__list li:nth-child(4) {
  background: -webkit-gradient(linear, left top, right top, from(#800), to(#601515));
  background: -webkit-linear-gradient(left, #800 0%, #601515 100%);
  background: linear-gradient(90deg, #800 0%, #601515 100%);
}
.p-indexPartner__list li:nth-child(5) {
  background: -webkit-gradient(linear, left top, right top, from(#800), to(#601515));
  background: -webkit-linear-gradient(left, #800 0%, #601515 100%);
  background: linear-gradient(90deg, #800 0%, #601515 100%);
}
.p-indexPartner__list li:nth-child(6) {
  background: -webkit-linear-gradient(350deg, #a3824a 0%, #beac7d 100%);
  background: linear-gradient(100deg, #a3824a 0%, #beac7d 100%);
}
@media (min-width: 768.9px) {
  .p-indexPartner__list li:nth-child(1) {
    position: absolute;
    inset-inline-end: 2.1768707483%;
    inset-block-start: 27.9518072289%;
  }
  .p-indexPartner__list li:nth-child(2) {
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: 56.6265060241%;
  }
  .p-indexPartner__list li:nth-child(3) {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 68.9156626506%;
  }
  .p-indexPartner__list li:nth-child(4) {
    position: absolute;
    inset-inline-end: 15.1020408163%;
    inset-block-end: 0;
  }
  .p-indexPartner__list li:nth-child(5) {
    position: absolute;
    inset-inline-start: 6.3945578231%;
    inset-block-start: 30.6024096386%;
  }
  .p-indexPartner__list li:nth-child(6) {
    position: absolute;
    inset-inline-start: 37.1428571429%;
    inset-block-start: 0;
  }
}

.p-indexPartner__container {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  padding: calc(40/var(--base-size) * 1rem) 0;
}
@media (max-width: 768px) {
  .p-indexPartner__container {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-indexPartner__ttl {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 0;
    translate: -50% calc(20/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-indexPartner__ttl .en {
    font-size: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
  }
}

.p-indexPartner__subttl .ja span:nth-of-type(n + 5):nth-of-type(-n + 11),
.p-indexPartner__subttl .en span:nth-of-type(n + 9) {
  color: #008841;
}

.p-indexPartner__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
  -webkit-padding-before: calc(30/var(--base-size) * 1rem);
          padding-block-start: calc(30/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-indexPartner__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}
.p-indexPartner__txt::before {
  content: "";
  background-color: #156038;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: max(max(11.5px, 37.8px), 63/var(--font-size) * 1rem);
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-indexPartner__txt::before {
    content: none;
  }
}

.p-indexPartner__btn {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexPartner__btn {
    display: grid;
    place-items: center;
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__case
/* ============================================ */
.p-index__case {
  overflow: hidden;
  position: relative;
  padding: calc(160/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-index__case {
    padding: calc(80/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-index__case::before {
  content: "";
  background-color: #f1f3f4;
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: 0;
  inline-size: 78.125vw;
  block-size: calc(100% - 110/var(--base-size) * 1rem);
  z-index: -3;
}
@media (max-width: 768px) {
  .p-index__case::before {
    inline-size: 100%;
    block-size: 100%;
  }
}

.p-indexCase__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-indexCase__ttl {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 10px calc(30/var(--base-size) * 1rem);
  -webkit-margin-after: calc(60/var(--base-size) * 1rem);
          margin-block-end: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexCase__ttl {
    display: revert;
    text-align: center;
  }
}
.p-indexCase__ttl .en {
  grid-row: span 2;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(120/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  -webkit-margin-end: -0.8em;
          margin-inline-end: -0.8em;
  -webkit-margin-before: -0.1em;
          margin-block-start: -0.1em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-indexCase__ttl .en {
    font-size: calc(42/var(--base-size) * 1rem);
    line-height: 1.33;
  }
}
.p-indexCase__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-indexCase__ttl .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}

.p-indexCase__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-indexCase__lead {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}

.p-indexCase__slider {
  margin-inline: auto;
  position: relative;
  inline-size: calc(100% - 100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexCase__slider {
    inline-size: 100%;
  }
}
.p-indexCase__slider .swiper-slide {
  inline-size: max(240px, 20.625%);
}
@media (any-hover: hover) {
  .p-indexCase__slider .swiper-slide:hover .p-indexCase__img figure {
    -webkit-filter: brightness(1.3);
            filter: brightness(1.3);
  }
  .p-indexCase__slider .swiper-slide:hover .p-indexCase__txt {
    color: #008841;
  }
}
@media (max-width: 768px) {
  .p-indexCase__slider .swiper-slide {
    inline-size: min(100%, 400px);
  }
}
.p-indexCase__slider .swiper-button-prev,
.p-indexCase__slider .swiper-button-next {
  aspect-ratio: 1;
  background-color: rgba(0, 136, 65, 0.8);
  border: 1px solid transparent;
  inset-block-start: max(156.5px, 195/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
  inline-size: max(max(11.5px, 40.8px), 68/var(--font-size) * 1rem);
}
@media (any-hover: hover) {
  .p-indexCase__slider .swiper-button-prev:hover,
  .p-indexCase__slider .swiper-button-next:hover {
    background-color: #fff;
    border-color: #008841;
  }
  .p-indexCase__slider .swiper-button-prev:hover::after,
  .p-indexCase__slider .swiper-button-next:hover::after {
    background-color: #008841;
  }
}
.p-indexCase__slider .swiper-button-prev::before,
.p-indexCase__slider .swiper-button-next::before {
  content: none;
}
.p-indexCase__slider .swiper-button-prev::after,
.p-indexCase__slider .swiper-button-next::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(10px, 12/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.p-indexCase__slider .swiper-button-prev {
  translate: -50% 0;
  rotate: 180deg;
}
.p-indexCase__slider .swiper-button-next {
  inset-inline-end: 0;
  translate: 50% 0;
}
.p-indexCase__slider .swiper-scrollbar {
  background-color: rgba(0, 0, 0, 0.1);
  margin-inline: auto;
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
  position: relative;
  inline-size: 56.25%;
  block-size: max(max(11.5px, 2.4px), 4/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexCase__slider .swiper-scrollbar {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
.p-indexCase__slider .swiper-scrollbar .scrollbar {
  background-color: #008841;
  block-size: 100%;
}

@media (max-width: 768px) {
  .p-indexCase__img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
  }
}
.p-indexCase__img figure {
  aspect-ratio: 330/220;
  overflow: hidden;
  position: relative;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
  inline-size: 100%;
}
.p-indexCase__img figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-indexCase__img .case__caption {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
  line-height: 1;
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: 0;
  inline-size: 5.125em;
  block-size: 1.4375em;
}
@media (max-width: 768px) {
  .p-indexCase__img .case__caption {
    border: 1px solid #d9d9d9;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    position: static;
    inline-size: 100%;
    block-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}
.p-indexCase__img .case__img {
  position: relative;
}
.p-indexCase__img .after .case__caption {
  background-color: #008841;
  color: #fff;
}
@media (max-width: 768px) {
  .p-indexCase__img .after .case__caption {
    border-color: #008841;
  }
}

.p-indexCase__txt {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexCase__txt {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    text-align: center;
  }
}

.p-indexCase__date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #797979;
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .p-indexCase__date {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    text-align: center;
  }
}

.p-indexCase__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexCase__tag {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}
.p-indexCase__tag li {
  background-color: #1e243e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .p-indexCase__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  }
}
.p-indexCase__tag li.homecare {
  background-color: #9e7d59;
}

.p-indexCase__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}

/* ============================================ */
/*  p-index__plan
/* ============================================ */
.p-index__plan {
  background-color: #0c3219;
  color: #fff;
  padding: calc(118/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .p-index__plan {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
  }
}
.p-index__plan::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #0c3219), color-stop(90%, rgba(92, 118, 101, 0)));
  background: -webkit-linear-gradient(left, #0c3219 20%, rgba(92, 118, 101, 0) 90%);
  background: linear-gradient(90deg, #0c3219 20%, rgba(92, 118, 101, 0) 90%);
  position: absolute;
  inset: 0;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-index__plan::before {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(92, 118, 101, 0)), color-stop(90%, #0c3219));
    background: -webkit-linear-gradient(rgba(92, 118, 101, 0) 0%, #0c3219 90%);
    background: linear-gradient(rgba(92, 118, 101, 0) 0%, #0c3219 90%);
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 100%;
    block-size: calc(500/var(--base-size) * 1rem);
  }
}

.p-indexPlan__bg {
  position: absolute;
  inset: 0;
  z-index: -6;
}
@media (max-width: 768px) {
  .p-indexPlan__bg {
    inline-size: 100%;
    block-size: calc(500/var(--base-size) * 1rem);
  }
}
.p-indexPlan__bg img,
.p-indexPlan__bg video {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexPlan__wrapper {
  margin-inline: auto;
  max-inline-size: max(max(11.5px, 384px), 640/var(--font-size) * 1rem);
}

.p-indexPlan__ttl {
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  .p-indexPlan__ttl {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-indexPlan__ttl .en {
  margin-inline: calc(50% - 50vw);
  inline-size: 100vw;
  max-inline-size: none;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(116/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.07);
}
@media (max-width: 768px) {
  .p-indexPlan__ttl .en {
    font-size: calc(42/var(--base-size) * 1rem);
  }
}
.p-indexPlan__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% 0;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-indexPlan__ttl .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    translate: -50% -50%;
  }
}

.p-indexPlan__l {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  line-height: 1.45;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-indexPlan__l {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}

.p-indexPlan__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
}
@media (max-width: 768px) {
  .p-indexPlan__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
    color: rgba(255, 255, 255, 0.8);
  }
}

.p-indexPlan__btn {
  display: grid;
  justify-items: center;
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexPlan__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__salon
/* ============================================ */
.p-index__salon {
  background-color: #222;
}

.p-indexSalon__wrapper {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
  display: grid;
  grid-template-columns: 46.875% 1fr;
}
@media (max-width: 768px) {
  .p-indexSalon__wrapper {
    display: revert;
  }
}

.p-indexSalon__img img {
  inline-size: 100%;
}

.p-indexSalon__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(50/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexSalon__container {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-indexSalon__ttl {
    -webkit-margin-after: calc(50/var(--base-size) * 1rem);
            margin-block-end: calc(50/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-indexSalon__ttl .ja {
    font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}

.p-indexSalon__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-indexSalon__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

.p-indexSalon__btn {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexSalon__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* ============================================ */
/*  p-index__news
/* ============================================ */
.p-index__news {
  padding: calc(160/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-index__news {
    padding: calc(80/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-indexNews__bg {
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-indexNews__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexNews__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  grid-template-columns: 1fr 67.8571428571%;
  gap: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__wrapper {
    display: revert;
  }
}

.p-indexNews__nav {
  margin-inline: auto;
}

.p-indexNews__ttl {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .p-indexNews__menu {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-indexNews__menu .menu__ttl {
  background-color: #008841;
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  position: relative;
  inline-size: 100%;
  block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__menu .menu__ttl::after {
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
            clip-path: polygon(0 0, 50% 100%, 100% 0);
    content: "";
    aspect-ratio: 10/6;
    background-color: #fff;
    position: absolute;
    inset-inline-end: calc(24/var(--base-size) * 1rem);
    inset-block-start: 50%;
    translate: 0 -50%;
    inline-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
  }
}
.p-indexNews__menu li {
  background-color: #008841;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 768px) {
  .p-indexNews__menu li {
    background-color: #fff;
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    color: #008841;
    text-align: center;
  }
}
@media (any-hover: hover) {
  .p-indexNews__menu li:hover {
    background-color: #fff;
    color: #008841;
  }
}
.p-indexNews__menu li + li {
  -webkit-margin-before: 2px;
          margin-block-start: 2px;
}
.p-indexNews__menu li.is-active {
  background-color: #0c3219;
  border-color: #0c3219;
  pointer-events: none;
}
@media (max-width: 768px) {
  .p-indexNews__menu li.is-active {
    display: none;
  }
}
.p-indexNews__menu li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px calc(20/var(--base-size) * 1rem);
  min-inline-size: max(max(11.5px, 126px), 210/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__menu li a {
    inline-size: 100%;
    min-inline-size: 0;
  }
}

.p-indexNews__item {
  background-color: #fff;
  border: 1px solid #fff;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  z-index: 3;
}
@media (any-hover: hover) {
  .p-indexNews__item:hover {
    color: #008841;
  }
  .p-indexNews__item:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}
.p-indexNews__item::before {
  content: "";
  background-color: #e8e8e8;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  z-index: -3;
}
.p-indexNews__item + .p-indexNews__item {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
.p-indexNews__item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(35/var(--base-size) * 1rem);
  padding: calc(17/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__item a {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 5px calc(15/var(--base-size) * 1rem);
    padding: calc(12/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-indexNews__date {
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .p-indexNews__date {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  }
}

.p-indexNews__cat {
  background-color: #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  line-height: 1.29;
  color: #fff;
  padding: 2px 10px 3px;
  min-inline-size: max(max(11.5px, 58.2px), 97/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__cat {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
    min-inline-size: max(max(11.5px, 37.2px), 62/var(--font-size) * 1rem);
    min-block-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}

.p-indexNews__txt {
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-indexNews__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.84;
    inline-size: 100%;
  }
}

.p-indexNews__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexNews__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__column
/* ============================================ */
.p-index__column {
  background: -webkit-gradient(linear, left top, left bottom, from(#d8edfc), to(#fff));
  background: -webkit-linear-gradient(#d8edfc 0%, #fff 100%);
  background: linear-gradient(#d8edfc 0%, #fff 100%);
  padding: calc(100/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-index__column {
    padding: calc(80/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-indexColumn__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-indexColumn__ttl {
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  text-align: center;
}

.p-indexColumn__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
  text-align: center;
}
@media (max-width: 768px) {
  .p-indexColumn__lead {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

.p-indexColumn__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexColumn__btn {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__product
/* ============================================ */
.p-index__product {
  padding: calc(90/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-index__product {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  }
}

.p-indexProduct__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-indexProduct__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexProduct__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  container-type: inline-size;
  display: grid;
  grid-template-columns: 66.25% 1fr;
  gap: calc(68/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexProduct__wrapper {
    display: revert;
  }
}

.p-indexProduct__en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(116/var(--base-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.16);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0;
  translate: -50% -50%;
  white-space: nowrap;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-indexProduct__en {
    font-size: calc(54/var(--base-size) * 1rem);
    line-height: 1.05;
    inset-inline-start: 0;
    translate: 0 0;
  }
}

.p-indexProduct__img {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: max(375px, 63.2478632479%) 1fr;
  gap: calc(20/var(--base-size) * 1rem);
  -webkit-margin-start: calc(-110/var(--base-size) * 1rem);
          margin-inline-start: calc(-110/var(--base-size) * 1rem);
  position: relative;
  inline-size: calc(100% + 110/var(--base-size) * 1rem);
  max-inline-size: none;
}
@media (max-width: 768px) {
  .p-indexProduct__img {
    display: revert;
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
  }
}
.p-indexProduct__img .img_01 {
  grid-column: 1/2;
  grid-row: 1/2;
}
.p-indexProduct__img .img_02 {
  grid-column: 1/3;
  grid-row: 1/2;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-before: calc(74/var(--base-size) * 1rem);
          margin-block-start: calc(74/var(--base-size) * 1rem);
  inline-size: max(210px, 35.0427350427%);
}
@media (max-width: 768px) {
  .p-indexProduct__img .img_02 {
    -webkit-margin-before: calc(-40/var(--base-size) * 1rem);
            margin-block-start: calc(-40/var(--base-size) * 1rem);
    inline-size: 89.8666666667%;
  }
}
.p-indexProduct__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexProduct__container {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
@media (max-width: 768px) {
  .p-indexProduct__container {
    padding-inline: calc(30/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-indexProduct__ttl {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
    text-align: revert;
  }
}

.p-indexProduct__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-indexProduct__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

.p-indexProduct__btn {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexProduct__btn {
    display: grid;
    place-items: center;
  }
}

/* ============================================ */
/*  p-index__story
/* ============================================ */
.p-index__story {
  padding: calc(80/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-index__story {
    padding: calc(60/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-indexStory__bg {
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-indexStory__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-indexStory__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr 48.5714285714%;
  gap: calc(64/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexStory__wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-indexStory__container {
  max-inline-size: max(max(11.5px, 326.4px), 544/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexStory__container {
    display: contents;
  }
}

@media (max-width: 768px) {
  .p-indexStory__ttl {
    grid-row: 1/2;
  }
}

.p-indexStory__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #191919;
}
@media (max-width: 768px) {
  .p-indexStory__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

.p-indexStory__btn {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-indexStory__btn {
    display: grid;
    place-items: center;
  }
}

.p-indexStory__img {
  position: relative;
}
@media (max-width: 768px) {
  .p-indexStory__img {
    grid-row: 2/3;
    -webkit-margin-after: calc(50/var(--base-size) * 1rem);
            margin-block-end: calc(50/var(--base-size) * 1rem);
    -webkit-padding-end: 8px;
            padding-inline-end: 8px;
    -webkit-padding-after: 8px;
            padding-block-end: 8px;
  }
}
.p-indexStory__img::after {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#008841), to(#156038));
  background: -webkit-linear-gradient(#008841 0%, #156038 100%);
  background: linear-gradient(#008841 0%, #156038 100%);
  position: absolute;
  inset-inline-end: calc(max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem) * -1);
  inset-block-end: calc(max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem) * -1);
  inline-size: 98.5294117647%;
  block-size: 93.6111111111%;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-indexStory__img::after {
    inset-inline-end: 0;
    inset-block-end: 0;
    inline-size: 96.231884058%;
    block-size: 92.3076923077%;
  }
}

/* ----------------------------------------------
  バイオテックとは
----------------------------------------------- */
#page-about .p-index__partner {
  background-color: #d8efff;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  padding-block: calc(var(--header-height) + 60/var(--base-size) * 1rem) calc(180/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  #page-about .p-index__partner {
    padding-block: calc(var(--header-height) + 90/var(--base-size) * 1rem) calc(75/var(--base-size) * 1rem);
  }
}
#page-about .p-indexPartner__bg {
  z-index: -3;
}
@media (min-width: 768.9px) {
  #page-about .p-indexPartner__bg {
    position: fixed;
  }
}
@media (max-width: 768px) {
  #page-about .p-indexPartner__bg {
    max-block-size: none;
  }
}
@media (max-width: 768px) {
  #page-about .p-indexPartner__ttl {
    inset-block-start: calc(var(--header-height) + 10px);
  }
}

/* ============================================ */
/*  p-about__activity
/* ============================================ */
.p-about__activity {
  -webkit-margin-before: calc(-115/var(--base-size) * 1rem);
          margin-block-start: calc(-115/var(--base-size) * 1rem);
  padding-inline: calc(150/var(--base-size) * 1rem);
  position: relative;
  z-index: 6;
}
@media (max-width: 768px) {
  .p-about__activity {
    -webkit-margin-before: calc(-40/var(--base-size) * 1rem);
            margin-block-start: calc(-40/var(--base-size) * 1rem);
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}
.p-about__activity::before {
  /**
  * 機種によってのバグ対応
  */
}
@media (max-width: 768px) {
  .p-about__activity::before {
    content: "";
    background-color: #fff;
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: calc(100% - 40/var(--base-size) * 1rem);
    z-index: -1;
  }
}

.p-aboutActivity__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  background-color: #fff;
  padding-block: calc(50/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutActivity__wrapper {
    padding-block: 10px calc(45/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-aboutActivity__ttl {
    -webkit-margin-after: calc(60/var(--base-size) * 1rem);
            margin-block-end: calc(60/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-aboutActivity__ttl .ja span:nth-of-type(n + 8) {
    color: #008841;
  }
}

@media (max-width: 768px) {
  .p-aboutActivity__slider .swiper-slide {
    inline-size: min(100%, 450px);
  }
}
.p-aboutActivity__slider .swiper-scrollbar[class] {
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
  inline-size: 64.2857142857%;
}
.p-aboutActivity__slider .swiper-pagination {
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
  position: relative;
}
.p-aboutActivity__slider .swiper-pagination-bullet {
  background-color: #c3c3c3;
  border-radius: 100vmax;
  margin: 10px !important;
  inline-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
}
.p-aboutActivity__slider .swiper-pagination-bullet-active {
  background-color: #008841;
}

.p-aboutActivity__img {
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutActivity__img {
    margin-inline: auto;
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
    inline-size: calc(100% - 36/var(--base-size) * 1rem);
  }
}

.p-aboutActivity__h {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-aboutActivity__h {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}

.p-aboutActivity__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2.33;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-aboutActivity__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}

/* ============================================ */
/*  p-about__strength
/* ============================================ */
.p-about__strength {
  padding: calc(50/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-about__strength {
    padding: calc(20/var(--base-size) * 1rem) 0 calc(50/var(--base-size) * 1rem);
  }
}

.p-aboutStrength__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-aboutStrength__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-aboutStrength__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-aboutStrength__ttl {
  -webkit-margin-after: calc(70/var(--base-size) * 1rem);
          margin-block-end: calc(70/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-aboutStrength__ttl {
    -webkit-margin-after: calc(35/var(--base-size) * 1rem);
            margin-block-end: calc(35/var(--base-size) * 1rem);
  }
}
.p-aboutStrength__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(156/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  -webkit-margin-after: -0.5em;
          margin-block-end: -0.5em;
  text-align: center;
  color: rgba(0, 136, 65, 0.1);
}
@media (max-width: 768px) {
  .p-aboutStrength__ttl .en {
    font-size: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
  }
}
.p-aboutStrength__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  line-height: 1.6;
  color: #fff;
}
@media (max-width: 768px) {
  .p-aboutStrength__ttl .ja {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  }
}
.p-aboutStrength__ttl .ja span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #008841), to(#008841));
  background: -webkit-linear-gradient(transparent 0.15em, #008841 0.15em, #008841 calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #008841 0.15em, #008841 calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: max(8px, 0.5em);
}

.p-aboutStrength__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(160/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutStrength__container {
    display: revert;
  }
}
@media (min-width: 768.9px) {
  .p-aboutStrength__container:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-aboutStrength__container:nth-of-type(even) .p-aboutStrength__img {
  place-items: start;
}
.p-aboutStrength__container + .p-aboutStrength__container {
  -webkit-margin-before: calc(84/var(--base-size) * 1rem);
          margin-block-start: calc(84/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutStrength__container + .p-aboutStrength__container {
    -webkit-margin-before: calc(50/var(--base-size) * 1rem);
            margin-block-start: calc(50/var(--base-size) * 1rem);
  }
}

.p-aboutStrength__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: grid;
  place-items: end;
  inline-size: 47.1428571429%;
}
@media (max-width: 768px) {
  .p-aboutStrength__img {
    inline-size: 100%;
  }
}
@media (min-width: 768.9px) {
  .p-aboutStrength__img img {
    inline-size: 139.3939393939%;
    max-inline-size: none;
  }
}

.p-aboutStrength__contents {
  position: relative;
}
@media (max-width: 768px) {
  .p-aboutStrength__contents {
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}

.p-aboutStrength__num {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-weight: 500;
  font-size: max(max(11.5px, 93.6px), 156/var(--font-size) * 1rem);
  line-height: 0.9;
  letter-spacing: normal;
  color: rgba(255, 255, 255, 0.4);
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
  translate: 0 -50%;
}
@media (max-width: 768px) {
  .p-aboutStrength__num {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: max(max(11.5px, 57px), 95/var(--font-size) * 1rem);
    color: #fff;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    position: relative;
    translate: none;
  }
}
.p-aboutStrength__num::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-margin-after: 0.1em;
          margin-block-end: 0.1em;
  inline-size: max(max(11.5px, 25.8px), 43/var(--font-size) * 1rem);
  block-size: 2px;
}
@media (max-width: 768px) {
  .p-aboutStrength__num::before {
    inline-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
  }
}

.p-aboutStrength__h {
  font-weight: 600;
  font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  line-height: 1.75;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutStrength__h {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    font-size: max(max(11.5px, 13.8px), 23/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-aboutStrength__h span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #fff), to(#fff));
  background: -webkit-linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: 0.15em;
}
@media (max-width: 768px) {
  .p-aboutStrength__h span {
    padding-inline: 0.05em;
  }
}

.p-aboutStrength__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.18;
  margin-block: var(--leading-trim);
  -webkit-padding-start: 0.2em;
          padding-inline-start: 0.2em;
  text-align: justify;
}
@media (max-width: 768px) {
  .p-aboutStrength__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}

/* ============================================ */
/*  p-about__theory
/* ============================================ */
.p-about__theory {
  padding: calc(40/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-about__theory {
    padding: calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
  }
}

.p-aboutTheory__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-aboutTheory__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-aboutTheory__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-aboutTheory__en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 76.8px), 128/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.16);
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-aboutTheory__en {
    -webkit-margin-start: calc(-100/var(--base-size) * 1rem);
            margin-inline-start: calc(-100/var(--base-size) * 1rem);
    text-align: center;
    inline-size: calc(100% + 200/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
@media (max-width: 768px) {
  .p-aboutTheory__en {
    font-size: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
  }
}
@media (max-width: 768px) {
  .p-aboutTheory__en span {
    display: block;
    font-size: max(max(11.5px, 25.8px), 43/var(--font-size) * 1rem);
  }
}

.p-aboutTheory__container {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr 50%;
  gap: calc(80/var(--base-size) * 1rem);
  -webkit-padding-start: calc(80/var(--base-size) * 1rem);
          padding-inline-start: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutTheory__container {
    grid-template-columns: 1fr;
    gap: calc(30/var(--base-size) * 1rem);
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}

.p-aboutTheory__contents {
  color: #fff;
}

.p-aboutTheory__ttl {
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-aboutTheory__ttl {
    margin-inline: auto;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    inline-size: min(100%, 400px);
  }
}
.p-aboutTheory__ttl .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-aboutTheory__ttl .p_01 {
    gap: calc(15/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-aboutTheory__ttl .p_01::after {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  content: "";
  background-color: #fff;
  block-size: 1px;
}
.p-aboutTheory__ttl .p_02 {
  border: 1px solid #fff;
  font-weight: 500;
  font-size: max(35px, 55/var(--base-size) * 1rem);
  letter-spacing: 0.18em;
  line-height: 1.2;
  padding: 0 max(max(11.5px, 12px), 20/var(--font-size) * 1rem) 3.5px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-aboutTheory__ttl .p_02 {
    font-size: max(max(11.5px, 26.4px), 44/var(--font-size) * 1rem);
    padding: 0 5px 3.5px;
    inline-size: 100%;
  }
}

.p-aboutTheory__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.33;
  max-inline-size: max(max(11.5px, 300px), 500/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutTheory__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: revert;
    max-inline-size: 100%;
  }
}

.p-aboutTheory__btn {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutTheory__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-aboutTheory__btn a {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    min-inline-size: max(max(11.5px, 187.8px), 313/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-aboutTheory__btn a {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inline-size: 100%;
  }
}

.p-aboutTheory__img {
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-aboutTheory__img {
    grid-row: 1/2;
  }
}
.p-aboutTheory__img img {
  inline-size: 120%;
  max-inline-size: none;
}
@media (max-width: 768px) {
  .p-aboutTheory__img img {
    -webkit-margin-end: calc(-15/var(--base-size) * 1rem);
            margin-inline-end: calc(-15/var(--base-size) * 1rem);
    inline-size: calc(100% + 15/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-about__online
/* ============================================ */
.p-about__online {
  background: -webkit-linear-gradient(125deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(325deg, #008388 0%, #000e3b 100%);
  -webkit-margin-before: -1px;
          margin-block-start: -1px;
  padding: calc(40/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-about__online {
    padding: calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
  }
}

.p-aboutOnline__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-aboutOnline__en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  display: grid;
  place-content: center;
  font-weight: 500;
  font-size: max(max(11.5px, 76.8px), 128/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.16);
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-aboutOnline__en {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .p-aboutOnline__en {
    font-size: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
  }
}

.p-aboutOnline__container {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 50% 1fr;
  gap: calc(80/var(--base-size) * 1rem);
  -webkit-padding-end: calc(40/var(--base-size) * 1rem);
          padding-inline-end: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutOnline__container {
    grid-template-columns: 1fr;
    gap: calc(30/var(--base-size) * 1rem);
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
}

.p-aboutOnline__contents {
  color: #fff;
  inline-size: 100%;
}

.p-aboutOnline__ttl {
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-aboutOnline__ttl {
    margin-inline: auto;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    inline-size: min(100%, 400px);
  }
}
.p-aboutOnline__ttl .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-aboutOnline__ttl .p_01 {
    gap: calc(15/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-aboutOnline__ttl .p_01::after {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  content: "";
  background-color: #fff;
  block-size: 1px;
}
.p-aboutOnline__ttl .p_02 {
  border: 1px solid #fff;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(38px, 65/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 3.5px max(max(11.5px, 12px), 20/var(--font-size) * 1rem) 1px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-aboutOnline__ttl .p_02 {
    font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
    padding: 3.5px 5px 0;
    inline-size: 100%;
  }
}

.p-aboutOnline__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.33;
  max-inline-size: max(max(11.5px, 300px), 500/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutOnline__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: revert;
    max-inline-size: 100%;
  }
}

.p-aboutOnline__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-aboutOnline__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20/var(--base-size) * 1rem);
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-aboutOnline__btn .c-btn_01:nth-child(2) {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-inline: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem) max(max(11.5px, 38.4px), 64/var(--font-size) * 1rem);
    min-inline-size: max(max(11.5px, 172.8px), 288/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-aboutOnline__btn .c-btn_01 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inline-size: 100%;
  }
}

.p-aboutOnline__img {
  display: grid;
  place-items: end;
  inline-size: 100%;
}
.p-aboutOnline__img img {
  inline-size: 120%;
  max-inline-size: none;
}
@media (max-width: 768px) {
  .p-aboutOnline__img img {
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    inline-size: calc(100% + 15/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  バイオテックとは - オンラインサービス「META BIOTECH」について
----------------------------------------------- */
#page-about-meta-biotech {
  overflow: revert;
}

/* ============================================ */
/*  p-meta-biotech__mv
/* ============================================ */
.p-meta-biotech__mv {
  aspect-ratio: 1920/1080;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  overflow: clip;
  padding: calc(100/var(--base-size) * 1rem);
  position: relative;
  inline-size: 100%;
  max-block-size: 100vh;
}
@media (max-width: 768px) {
  .p-meta-biotech__mv {
    aspect-ratio: auto;
    padding: calc(480/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
    max-block-size: none;
  }
}
.p-meta-biotech__mv::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(2, 47, 17, 0)), color-stop(23.58%, rgba(1, 52, 21, 0.42)), color-stop(40.49%, rgba(1, 54, 23, 0.59)), color-stop(63.65%, rgba(0, 57, 26, 0.82)), color-stop(85.55%, rgba(0, 59, 28, 0.98)), to(#003b1c));
  background: -webkit-linear-gradient(rgba(2, 47, 17, 0) 0%, rgba(1, 52, 21, 0.42) 23.58%, rgba(1, 54, 23, 0.59) 40.49%, rgba(0, 57, 26, 0.82) 63.65%, rgba(0, 59, 28, 0.98) 85.55%, #003b1c 100%);
  background: linear-gradient(rgba(2, 47, 17, 0) 0%, rgba(1, 52, 21, 0.42) 23.58%, rgba(1, 54, 23, 0.59) 40.49%, rgba(0, 57, 26, 0.82) 63.65%, rgba(0, 59, 28, 0.98) 85.55%, #003b1c 100%);
  opacity: 0.83;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: -1px;
  inline-size: 100%;
  block-size: 64.8148148148%;
}
@media (max-width: 768px) {
  .p-meta-biotech__mv::before {
    block-size: 51.1083743842%;
  }
}

.p-meta-biotechMv__bg {
  position: fixed;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100vw;
  block-size: 100vh;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-meta-biotechMv__bg {
    max-block-size: 100vh;
  }
}
.p-meta-biotechMv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-meta-biotechMv__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  color: #fff;
  position: relative;
  inline-size: 100%;
  z-index: 3;
}

.p-meta-biotechMv__ttl {
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-meta-biotechMv__ttl {
    margin-inline: auto;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    inline-size: min(100%, 400px);
  }
}
.p-meta-biotechMv__ttl .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: min(100%, max(max(11.5px, 250.8px), 418/var(--font-size) * 1rem));
}
@media (max-width: 768px) {
  .p-meta-biotechMv__ttl .p_01 {
    gap: calc(15/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-meta-biotechMv__ttl .p_01::after {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  content: "";
  background-color: #fff;
  block-size: 1px;
}
.p-meta-biotechMv__ttl .p_02 {
  border: 1px solid #fff;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 39px), 65/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 3.5px max(max(11.5px, 12px), 20/var(--font-size) * 1rem) 1px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotechMv__ttl .p_02 {
    font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
    padding: 3.5px 5px 0;
    inline-size: 100%;
  }
}

.p-meta-biotechMv__copy {
  font-weight: 600;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  line-height: 1.3;
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechMv__copy {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    line-height: 1.42;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}

.p-meta-biotechMv__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.43;
  color: rgba(255, 255, 255, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-meta-biotechMv__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    color: #fff;
  }
}

/* ============================================ */
/*  p-meta-biotech__intro
/* ============================================ */
.p-meta-biotech__intro {
  color: #fff;
  overflow: hidden;
  padding: calc(110/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-meta-biotech__intro {
    padding: calc(60/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  }
}

.p-meta-biotechIntro__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-meta-biotechIntro__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-meta-biotechIntro__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  display: grid;
}
@media (min-width: 768.9px) {
  .p-meta-biotechIntro__wrapper {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-columns: 1fr max(max(11.5px, 441px), 735/var(--font-size) * 1rem);
    gap: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__wrapper {
    gap: calc(20/var(--base-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-meta-biotechIntro__img {
    display: grid;
    justify-items: end;
    -webkit-margin-end: auto;
            margin-inline-end: auto;
    max-inline-size: 688px;
  }
}
@media (min-width: 768.9px) {
  .p-meta-biotechIntro__img img {
    inline-size: 123.2558139535%;
    max-inline-size: none;
  }
}

@media (max-width: 768px) {
  .p-meta-biotechIntro__contents {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    text-align: center;
  }
}
.p-meta-biotechIntro__contents .p_01 {
  font-weight: 600;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  line-height: 1.3;
  -webkit-margin-after: calc(70/var(--base-size) * 1rem);
          margin-block-end: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__contents .p_01 {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    line-height: 1.58;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-meta-biotechIntro__contents .p_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.43;
  color: rgba(255, 255, 255, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__contents .p_02 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    color: #fff;
  }
}
.p-meta-biotechIntro__contents .p_03 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-before: calc(35/var(--base-size) * 1rem);
          margin-block-start: calc(35/var(--base-size) * 1rem);
  font-weight: 500;
  font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  letter-spacing: 0.16em;
  line-height: 2;
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__contents .p_03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
    line-height: 1.5;
  }
}
.p-meta-biotechIntro__contents .p_03 span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  border: 1px solid #fff;
  display: block;
  font-weight: 500;
  font-size: max(max(11.5px, 19.8px), 33/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0 0.3em;
  padding: 3.5px 0.3em 1px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__contents .p_03 span {
    font-size: max(max(11.5px, 19.8px), 33/var(--font-size) * 1rem);
    line-height: 1.29;
    margin: 3px 0;
    padding: 3.5px 0.3em 0;
    inline-size: 100%;
  }
}

.p-meta-biotechIntro__scope {
  border: 1px solid rgba(255, 255, 255, 0.86);
  padding: calc(50/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(72/var(--base-size) * 1rem);
  position: relative;
}
@media (min-width: 768.9px) {
  .p-meta-biotechIntro__scope {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__scope {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem);
  }
}
.p-meta-biotechIntro__scope::before {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.86);
  position: absolute;
  inset-inline-start: max(5px, 10/var(--base-size) * 1rem);
  inset-block-start: max(5px, 10/var(--base-size) * 1rem);
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__scope::before {
    inset-inline-start: max(3px, 7/var(--base-size) * 1rem);
    inset-block-start: max(3px, 7/var(--base-size) * 1rem);
  }
}

.p-meta-biotechIntro__scope__h {
  font-weight: 500;
  font-size: max(max(11.5px, 13.8px), 23/var(--font-size) * 1rem);
  letter-spacing: 0.1em;
  line-height: 1.47;
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__scope__h {
    font-size: max(max(11.5px, 11.4px), 19/var(--font-size) * 1rem);
    -webkit-margin-after: calc(24/var(--base-size) * 1rem);
            margin-block-end: calc(24/var(--base-size) * 1rem);
  }
}

.p-meta-biotechIntro__scope__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(33/var(--base-size) * 1rem);
}
@media (any-hover: hover) {
  .p-meta-biotechIntro__scope__list:has(.p-meta-biotechIntro__scope__item:hover) .p-meta-biotechIntro__scope__item:not(:hover) {
    -webkit-filter: brightness(0.6);
            filter: brightness(0.6);
  }
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__scope__list {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(22/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem);
  }
}

.p-meta-biotechIntro__scope__item {
  position: relative;
  -webkit-transition: -webkit-filter 0.4s var(--easing);
  transition: -webkit-filter 0.4s var(--easing);
  transition: filter 0.4s var(--easing);
  transition: filter 0.4s var(--easing), -webkit-filter 0.4s var(--easing);
}
@media (min-width: 768.9px) {
  .p-meta-biotechIntro__scope__item {
    border: max(2px, 3/var(--base-size) * 1rem) solid var(--color_01);
  }
}
.p-meta-biotechIntro__scope__item img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-meta-biotechIntro__scope__item figcaption {
  background: var(--color_02);
  border: 1px solid #fff;
  border-radius: 100vmax;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  font-weight: 600;
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  inline-size: max(max(11.5px, 127.8px), 213/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-meta-biotechIntro__scope__item figcaption {
    -webkit-padding-after: 1px;
            padding-block-end: 1px;
    position: absolute;
    inset-inline-start: 50%;
    inset-block-end: 0;
    translate: -50% 50%;
  }
}
@media (max-width: 768px) {
  .p-meta-biotechIntro__scope__item figcaption {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    -webkit-margin-before: calc(10/var(--base-size) * 1rem);
            margin-block-start: calc(10/var(--base-size) * 1rem);
    inline-size: 100%;
    block-size: max(max(11.5px, 21.6px), 36/var(--font-size) * 1rem);
  }
}
.p-meta-biotechIntro__scope__item:nth-child(1) {
  --color_01: #156038;
  --color_02: #156038;
}
.p-meta-biotechIntro__scope__item:nth-child(2) {
  --color_01: #991818;
  --color_02: linear-gradient(90deg, #a81919 0%, #601515 100%);
}
.p-meta-biotechIntro__scope__item:nth-child(3) {
  --color_01: #a88a53;
  --color_02: linear-gradient(90deg, #a3824a 0%, #beac7d 100%);
}
.p-meta-biotechIntro__scope__item:nth-child(4) {
  --color_01: #139aa1;
  --color_02: linear-gradient(90deg, #16a6ac 0%, #005660 100%);
}

/* ----------------------------------------------
  p-meta-biotech__modal
----------------------------------------------- */
.p-meta-biotech__modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: calc(infinity);
}
.p-meta-biotech__modal.is-open {
  display: block;
}
.p-meta-biotech__modal[aria-hidden=false] .p-meta-biotech__modal__overlay {
  -webkit-animation: mmfadeIn 0.2s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.p-meta-biotech__modal[aria-hidden=false] .p-meta-biotech__modal__container {
  -webkit-animation: mmslideIn 0.2s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.p-meta-biotech__modal[aria-hidden=true] .p-meta-biotech__modal__overlay {
  -webkit-animation: mmfadeOut 0.2s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.p-meta-biotech__modal[aria-hidden=true] .p-meta-biotech__modal__container {
  -webkit-animation: mmslideOut 0.2s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.p-meta-biotech__modal .p-meta-biotech__modal__container,
.p-meta-biotech__modal .p-meta-biotech__modal__overlay {
  will-change: translate;
}
.p-meta-biotech__modal * {
  scrollbar-width: none;
}
.p-meta-biotech__modal *::-webkit-scrollbar {
  display: none;
}

@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    translate: 0 15%;
  }
  to {
    translate: 0 0;
  }
}
@keyframes mmslideIn {
  from {
    translate: 0 15%;
  }
  to {
    translate: 0 0;
  }
}
@-webkit-keyframes mmslideOut {
  from {
    translate: 0 0;
  }
  to {
    translate: 0 -10%;
  }
}
@keyframes mmslideOut {
  from {
    translate: 0 0;
  }
  to {
    translate: 0 -10%;
  }
}
.p-meta-biotech__modal__overlay {
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: calc(50/var(--base-size) * 1rem);
  position: absolute;
  inset: 0;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__overlay {
    padding: calc(22/var(--base-size) * 1rem);
  }
}

.p-meta-biotech__modal__container {
  margin-inline: auto;
  max-inline-size: 1220px;
  max-inline-size: max(1220px - 200/var(--base-size) * 1rem, 1220/var(--base-size) * 1rem);
  background-color: #fff;
  overflow-y: scroll;
  padding: calc(40/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  max-block-size: min(83.3333333333vh, 750px);
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__container {
    padding: calc(30/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
    inline-size: calc(100vw - 30/var(--base-size) * 1rem);
    max-block-size: min(100vh - 120/var(--base-size) * 1rem, 732px);
  }
}

.p-meta-biotech__modal__close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  aspect-ratio: 1;
  background-color: #000;
  border: 1px solid #000;
  cursor: pointer;
  font-weight: 600;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
  line-height: 1.33;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
  -webkit-transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing);
  transition: background-color 0.3s var(--easing), border-color 0.3s var(--easing), color 0.3s var(--easing);
  min-inline-size: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .p-meta-biotech__modal__close:hover {
    background-color: #fff;
    color: #000;
  }
  .p-meta-biotech__modal__close:hover .ico::before,
  .p-meta-biotech__modal__close:hover .ico::after {
    background-color: #000;
  }
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__close {
    font-size: max(8px, 10/var(--base-size) * 1rem);
    min-inline-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  }
}
.p-meta-biotech__modal__close .ico {
  display: block;
  position: relative;
  inline-size: max(26px, max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem));
  block-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
}
.p-meta-biotech__modal__close .ico::before, .p-meta-biotech__modal__close .ico::after {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: translate 0.3s var(--easing), rotate 0.3s var(--easing);
  transition: translate 0.3s var(--easing), rotate 0.3s var(--easing);
  block-size: 1.5px;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__close .ico::before, .p-meta-biotech__modal__close .ico::after {
    inline-size: 90%;
  }
}
.p-meta-biotech__modal__close .ico::before {
  rotate: 225deg;
}
.p-meta-biotech__modal__close .ico::after {
  rotate: -225deg;
}

@media (max-width: 768px) {
  .p-meta-biotech__modal__content {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: calc(15/var(--base-size) * 1rem);
       -moz-column-gap: calc(15/var(--base-size) * 1rem);
            column-gap: calc(15/var(--base-size) * 1rem);
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}

.p-meta-biotech__modal__h {
  font-weight: 500;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: #0c3219;
  -webkit-margin-after: calc(35/var(--base-size) * 1rem);
          margin-block-end: calc(35/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__h {
    grid-column: span 2;
    font-size: max(max(11.5px, 11.4px), 19/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}

.p-meta-biotech__modal__state {
  background: -webkit-gradient(linear, left top, right top, from(#005324), color-stop(14.01%, #20992a), color-stop(20.96%, #ffec00), color-stop(50.05%, #ed6b00), color-stop(72.55%, #e43c00), to(#dc000c));
  background: -webkit-linear-gradient(left, #005324 0%, #20992a 14.01%, #ffec00 20.96%, #ed6b00 50.05%, #e43c00 72.55%, #dc000c 100%);
  background: linear-gradient(90deg, #005324 0%, #20992a 14.01%, #ffec00 20.96%, #ed6b00 50.05%, #e43c00 72.55%, #dc000c 100%);
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #fff;
  display: grid;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: calc(10/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-meta-biotech__modal__state {
    grid-template-columns: repeat(2, auto);
    -webkit-margin-after: calc(35/var(--base-size) * 1rem);
            margin-block-end: calc(35/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__state {
    background: -webkit-gradient(linear, left top, left bottom, from(#005324), color-stop(14.01%, #20992a), color-stop(20.96%, #ffec00), color-stop(50.05%, #ed6b00), color-stop(72.55%, #e43c00), to(#dc000c));
    background: -webkit-linear-gradient(#005324 0%, #20992a 14.01%, #ffec00 20.96%, #ed6b00 50.05%, #e43c00 72.55%, #dc000c 100%);
    background: linear-gradient(#005324 0%, #20992a 14.01%, #ffec00 20.96%, #ed6b00 50.05%, #e43c00 72.55%, #dc000c 100%);
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    padding: calc(15/var(--base-size) * 1rem) calc(8/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__state span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
.p-meta-biotech__modal__state span:nth-child(2) {
  -webkit-align-self: end;
      -ms-flex-item-align: end;
          align-self: end;
}

.p-meta-biotech__modal__list {
  display: grid;
  gap: calc(20/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-meta-biotech__modal__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__list {
    gap: calc(15/var(--base-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-meta-biotech__modal__item:has(img:nth-child(2)) {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: calc(30/var(--base-size) * 1rem);
       -moz-column-gap: calc(30/var(--base-size) * 1rem);
            column-gap: calc(30/var(--base-size) * 1rem);
  }
  .p-meta-biotech__modal__item:has(img:nth-child(2)) figcaption {
    grid-column: span 2;
  }
}
.p-meta-biotech__modal__item img {
  border: max(2px, 3/var(--base-size) * 1rem) solid #018842;
  -webkit-margin-after: calc(10/var(--base-size) * 1rem);
          margin-block-end: calc(10/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__item img {
    -webkit-margin-after: calc(5/var(--base-size) * 1rem);
            margin-block-end: calc(5/var(--base-size) * 1rem);
  }
}
.p-meta-biotech__modal__item figcaption {
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
  text-align: center;
  color: rgba(0, 0, 0, 0.8);
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotech__modal__item figcaption {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-meta-biotech__service
/* ============================================ */
.p-meta-biotech__service {
  -webkit-margin-before: -1px;
          margin-block-start: -1px;
  position: relative;
  z-index: 3;
}

.p-meta-biotechService__ttl {
  background-color: #153551;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  padding: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechService__ttl {
    padding: calc(30/var(--base-size) * 1rem) 0;
  }
}
.p-meta-biotechService__ttl .en {
  color: rgba(255, 255, 255, 0.11);
}
@media (max-width: 768px) {
  .p-meta-biotechService__ttl .en {
    font-size: max(max(11.5px, 46.2px), 77/var(--font-size) * 1rem);
  }
}
.p-meta-biotechService__ttl .ja {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05em, transparent), color-stop(0.05em, rgba(21, 96, 56, 0.9)), to(rgba(21, 96, 56, 0.9)));
  background: -webkit-linear-gradient(transparent 0.05em, rgba(21, 96, 56, 0.9) 0.05em, rgba(21, 96, 56, 0.9) calc(100% - 0.2em));
  background: linear-gradient(transparent 0.05em, rgba(21, 96, 56, 0.9) 0.05em, rgba(21, 96, 56, 0.9) calc(100% - 0.2em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  line-height: 1.5;
  color: #fff;
  padding-inline: max(8px, 0.5em);
}
@media (max-width: 768px) {
  .p-meta-biotechService__ttl .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    line-height: 1.29;
    margin-inline: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
}

.p-meta-biotechService__outer {
  position: relative;
}

.p-meta-biotechService__number {
  padding-inline: calc(160/var(--base-size) * 1rem);
  position: absolute;
  inset: 0;
}
@media (max-width: 768px) {
  .p-meta-biotechService__number {
    padding-inline: calc(25/var(--base-size) * 1rem);
  }
}

.p-meta-biotechService__num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  color: #fff;
  -webkit-margin-after: 58.5vh;
          margin-block-end: 58.5vh;
  -webkit-padding-before: calc(60/var(--base-size) * 1rem);
          padding-block-start: calc(60/var(--base-size) * 1rem);
  position: -webkit-sticky;
  position: sticky;
  inset-inline-start: 0;
  inset-block-start: var(--header-height);
  z-index: 9;
}
@media (max-width: 768px) {
  .p-meta-biotechService__num {
    -webkit-margin-after: 76.5vh;
            margin-block-end: 76.5vh;
    -webkit-padding-before: calc(10/var(--base-size) * 1rem);
            padding-block-start: calc(10/var(--base-size) * 1rem);
  }
}
.p-meta-biotechService__num .p_01 {
  font-size: max(max(11.5px, 90px), 150/var(--font-size) * 1rem);
  line-height: 0.9;
  overflow: hidden;
  position: relative;
  inline-size: max(max(11.5px, 90px), 150/var(--font-size) * 1rem);
  block-size: 1.1lh;
}
@media (max-width: 768px) {
  .p-meta-biotechService__num .p_01 {
    font-size: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
  }
}
.p-meta-biotechService__num .p_01 span {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
}
.p-meta-biotechService__num .p_02 {
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  letter-spacing: 0.1em;
  line-height: 1;
  -webkit-margin-after: 0.7em;
          margin-block-end: 0.7em;
  -webkit-margin-start: calc(20/var(--base-size) * 1rem);
          margin-inline-start: calc(20/var(--base-size) * 1rem);
  -webkit-padding-start: calc(20/var(--base-size) * 1rem);
          padding-inline-start: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-meta-biotechService__num .p_02 {
    font-size: 10px;
    -webkit-margin-start: 10px;
            margin-inline-start: 10px;
    -webkit-padding-start: 10px;
            padding-inline-start: 10px;
  }
}
.p-meta-biotechService__num .p_02::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: 1px;
  block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechService__num .p_02::before {
    block-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  }
}
.p-meta-biotechService__num .p_02 span {
  display: block;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 768px) {
  .p-meta-biotechService__num .p_02 span {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  }
}

.p-meta-biotechService__container {
  background-color: #000;
  color: #fff;
  overflow: clip;
  position: -webkit-sticky;
  position: sticky;
  inset-inline-start: 0;
  inset-block-start: 0;
  block-size: calc(100vh + 1000/var(--base-size) * 1rem);
}
.p-meta-biotechService__container.--04 {
  position: relative;
}
.p-meta-biotechService__container.--04 .p-meta-biotechService__wrapper {
  -webkit-filter: none !important;
          filter: none !important;
  position: -webkit-sticky;
  position: sticky;
  inset-block-start: 0;
  inset-block-start: 0;
}
@media (min-width: 768.9px) {
  .p-meta-biotechService__container:last-of-type .p-meta-biotechService__contents {
    max-inline-size: max(max(11.5px, 411px), 685/var(--font-size) * 1rem);
  }
}

.p-meta-biotechService__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  inline-size: 100%;
  block-size: 100vh;
}

.p-meta-biotechService__img {
  position: absolute;
  inset: 0;
  will-change: transform;
}
@media (max-width: 768px) {
  .p-meta-biotechService__img {
    -webkit-filter: brightness(0.94);
            filter: brightness(0.94);
  }
}
.p-meta-biotechService__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-meta-biotechService__inner {
  display: grid;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  position: absolute;
}
@media (min-width: 768.9px) {
  .p-meta-biotechService__inner {
    padding: 13.5vh calc(160/var(--base-size) * 1rem);
    inset-inline-start: 50%;
    inset-block-start: 0;
    translate: -50% 0;
    inline-size: min(100%, 1600px);
    block-size: 100%;
  }
}
@media (max-width: 768px) {
  .p-meta-biotechService__inner {
    padding: calc(var(--header-height) + 35/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-meta-biotechService__contents {
  background-color: rgba(0, 0, 0, 0.57);
  padding: calc(40/var(--base-size) * 1rem) calc(35/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-meta-biotechService__contents {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    max-inline-size: max(max(11.5px, 390px), 650/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-meta-biotechService__contents {
    padding: calc(20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
    -webkit-margin-before: auto;
            margin-block-start: auto;
  }
}

.p-meta-biotechService__h {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.65;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechService__h {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-meta-biotechService__h span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, rgba(0, 136, 65, 0.5)), to(rgba(0, 136, 65, 0.5)));
  background: -webkit-linear-gradient(transparent 0.15em, rgba(0, 136, 65, 0.5) 0.15em, rgba(0, 136, 65, 0.5) calc(100% - 0.15em));
  background: linear-gradient(transparent 0.15em, rgba(0, 136, 65, 0.5) 0.15em, rgba(0, 136, 65, 0.5) calc(100% - 0.15em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: 0.15em;
}

.p-meta-biotechService__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.185;
}
@media (max-width: 768px) {
  .p-meta-biotechService__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}

/* ============================================ */
/*  p-meta-biotech__online
/* ============================================ */
.p-meta-biotech__online {
  padding: calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  position: relative;
  z-index: 9;
}
@media (max-width: 768px) {
  .p-meta-biotech__online {
    padding: calc(65/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
  }
}

.p-meta-biotechOnline__bg {
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-meta-biotechOnline__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-meta-biotechOnline__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-meta-biotechOnline__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  padding: calc(50/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__container {
    padding: calc(30/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
  }
}
.p-meta-biotechOnline__container::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#02551e), to(#022f11));
  background: -webkit-linear-gradient(#02551e 0%, #022f11 100%);
  background: linear-gradient(#02551e 0%, #022f11 100%);
  opacity: 0.9;
  position: absolute;
  inset: 0;
  z-index: -3;
}

.p-meta-biotechOnline__ttl {
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__ttl {
    margin-inline: auto;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
    inline-size: min(100%, 400px);
  }
}
.p-meta-biotechOnline__ttl .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: 100%;
  max-inline-size: max(max(11.5px, 349.2px), 582/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__ttl .p_01 {
    gap: calc(15/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-meta-biotechOnline__ttl .p_01::after {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  content: "";
  background-color: #fff;
  block-size: 1px;
}
.p-meta-biotechOnline__ttl .p_02 {
  border: 1px solid #fff;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 57px), 95/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 3.5px max(max(11.5px, 12px), 20/var(--font-size) * 1rem) 1px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__ttl .p_02 {
    font-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
    line-height: 1.29;
    padding: 3.5px 5px 1.5px;
    inline-size: 100%;
  }
}

.p-meta-biotechOnline__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

.p-meta-biotechOnline__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
@media (min-width: 768.9px) {
  .p-meta-biotechOnline__btn a {
    min-inline-size: max(max(11.5px, 172.8px), 288/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-meta-biotechOnline__btn a {
    inline-size: 100%;
  }
}

/* ----------------------------------------------
  コース・プラン
----------------------------------------------- */
@media (max-width: 768px) {
  .p-course__mv .en {
    font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  }
}

.p-course__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(110/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  }
}

.p-course__wrapper {
  margin-inline: auto;
  max-inline-size: 1360px;
  max-inline-size: max(1360px - 200/var(--base-size) * 1rem, 1360/var(--base-size) * 1rem);
  display: grid;
  -webkit-column-gap: calc(55/var(--base-size) * 1rem);
     -moz-column-gap: calc(55/var(--base-size) * 1rem);
          column-gap: calc(55/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course__wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .p-course__wrapper {
    gap: calc(60/var(--base-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-course__bnr {
    grid-column: span 2;
    -webkit-margin-after: calc(80/var(--base-size) * 1rem);
            margin-block-end: calc(80/var(--base-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-course__container {
    grid-row: span 4;
    display: grid;
    grid-template-rows: subgrid;
  }
}
@media (any-hover: hover) {
  .p-course__container:has(a:hover) img {
    scale: 1.05 1.05;
  }
  .p-course__container:has(a:hover) .ico {
    background-color: #fff;
  }
  .p-course__container:has(a:hover) .ico::after {
    background-color: #018842;
  }
}
.p-course__container.online .p-course__h {
  background: -webkit-linear-gradient(325deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(125deg, #008388 0%, #000e3b 100%);
}
.p-course__container.online .p-course__list {
  background-color: rgba(237, 248, 248, 0.9);
}
.p-course__container.online .p-course__contents {
  background: -webkit-linear-gradient(325deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(125deg, #008388 0%, #000e3b 100%);
}

.p-course__h {
  background: -webkit-linear-gradient(325deg, #008841 0%, #156038 100%);
  background: linear-gradient(125deg, #008841 0%, #156038 100%);
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.4;
  color: #fff;
  padding: calc(15/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course__h {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    padding: calc(10/var(--base-size) * 1rem);
  }
}

.p-course__list {
  background-color: rgba(235, 242, 247, 0.9);
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(40/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__list {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-course__item {
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.56;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__item {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    gap: calc(12/var(--base-size) * 1rem);
  }
}
.p-course__item + .p-course__item {
  -webkit-margin-before: calc(12/var(--base-size) * 1rem);
          margin-block-start: calc(12/var(--base-size) * 1rem);
}
.p-course__item::before {
  content: "";
  aspect-ratio: 1;
  background: url(../img/common/ico_check.svg) no-repeat center center/contain;
  margin-block: calc((1lh - max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem)) / 2);
  inline-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__item::before {
    margin-block: calc((1lh - max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem)) / 2);
    inline-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}

.p-course__img {
  aspect-ratio: 640/270;
  overflow: hidden;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-course__img {
    aspect-ratio: 345/238;
  }
}
.p-course__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course__contents {
  background: -webkit-linear-gradient(5deg, #008841 0%, #156038 100%);
  background: linear-gradient(85deg, #008841 0%, #156038 100%);
  color: #fff;
  text-align: center;
}
.p-course__contents a {
  display: block;
  padding: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__contents a {
    padding: calc(20/var(--base-size) * 1rem);
  }
}
.p-course__contents .ico {
  aspect-ratio: 1;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
  margin-inline: auto;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
  position: relative;
  inline-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__contents .ico {
    -webkit-margin-before: calc(24/var(--base-size) * 1rem);
            margin-block-start: calc(24/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-course__contents .ico::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(10px, 12/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (max-width: 768px) {
  .p-course__contents .ico::after {
    inline-size: calc(6/var(--base-size) * 1rem);
  }
}

.p-course__ttl {
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__ttl {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-course__ttl .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__ttl .p_01 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-after: calc(10/var(--base-size) * 1rem);
            margin-block-end: calc(10/var(--base-size) * 1rem);
  }
}
.p-course__ttl .p_01 span {
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  -webkit-margin-end: calc(15/var(--base-size) * 1rem);
          margin-inline-end: calc(15/var(--base-size) * 1rem);
  -webkit-padding-end: calc(15/var(--base-size) * 1rem);
          padding-inline-end: calc(15/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-course__ttl .p_01 span {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-end: calc(10/var(--base-size) * 1rem);
            margin-inline-end: calc(10/var(--base-size) * 1rem);
    -webkit-padding-end: calc(10/var(--base-size) * 1rem);
            padding-inline-end: calc(10/var(--base-size) * 1rem);
  }
}
.p-course__ttl .p_01 span::after {
  content: "";
  background-color: rgba(255, 255, 255, 0.32);
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: 1px;
  block-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__ttl .p_01 span::after {
    block-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
.p-course__ttl .p_02 {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  -webkit-margin-after: calc(10/var(--base-size) * 1rem);
          margin-block-end: calc(10/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course__ttl .p_02 {
    font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  }
}
.p-course__ttl .p_03 {
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.35;
}
@media (max-width: 768px) {
  .p-course__ttl .p_03 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}

.p-course__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2;
  color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 768px) {
  .p-course__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  サロンサービス
----------------------------------------------- */
@media (max-width: 768px) {
  #page-course-and-plan-salon .c-mv__ttl .en {
    font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-course-salon__mv
/* ============================================ */
.p-course-salon__mv {
  padding-inline: unset;
  -webkit-padding-after: unset;
          padding-block-end: unset;
}

.p-course-salonMv__wrapper {
  overflow: clip;
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .p-course-salonMv__wrapper {
    background-color: #1e243e;
    display: grid;
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

.p-course-salonMv__bg {
  z-index: -3;
}
@media (min-width: 768.9px) {
  .p-course-salonMv__bg {
    position: absolute;
    inset: 0;
  }
}
@media (max-width: 768px) {
  .p-course-salonMv__bg {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-course-salonMv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course-salonMv__h {
  font-weight: 600;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #fff;
  text-align: center;
}
@media (min-width: 768.9px) {
  .p-course-salonMv__h {
    padding: calc(100/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-salonMv__h {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: center;
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.54;
  }
}

.p-course-salonMv__point {
  background-color: rgba(56, 56, 56, 0.9);
}

.p-course-salonMv__list {
  counter-reset: number 0;
  display: grid;
  gap: calc(60/var(--base-size) * 1rem);
  margin-inline: auto;
  -webkit-margin-after: -1;
          margin-block-end: -1;
  padding: calc(88/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (min-width: 768.9px) {
  .p-course-salonMv__list {
    grid-template-columns: repeat(4, auto);
  }
}
@media (max-width: 768px) {
  .p-course-salonMv__list {
    gap: calc(20/var(--base-size) * 1rem);
    padding: calc(28/var(--base-size) * 1rem);
  }
}

.p-course-salonMv__item {
  color: var(--color);
  text-align: center;
}
@media (min-width: 768.9px) {
  .p-course-salonMv__item:not(:last-child) {
    -webkit-border-end: 1px solid #707070;
            border-inline-end: 1px solid #707070;
    -webkit-padding-end: calc(60/var(--base-size) * 1rem);
            padding-inline-end: calc(60/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-salonMv__item:not(:last-child) {
    -webkit-padding-after: calc(20/var(--base-size) * 1rem);
            padding-block-end: calc(20/var(--base-size) * 1rem);
    position: relative;
  }
  .p-course-salonMv__item:not(:last-child)::after {
    content: "";
    background-color: #fff;
    position: absolute;
    inset-inline-start: 50%;
    inset-block-end: 0;
    translate: -50% 0;
    inline-size: max(max(11.5px, 87px), 145/var(--font-size) * 1rem);
    block-size: 1px;
  }
}
.p-course-salonMv__item:nth-child(1) {
  --color: #fde163;
}
.p-course-salonMv__item:nth-child(1) .en {
  background: -webkit-linear-gradient(325deg, #fad112 0%, #ffefa8 44.14%, #d8b248 74.69%, #fcf3bc 100%);
  background: linear-gradient(125deg, #fad112 0%, #ffefa8 44.14%, #d8b248 74.69%, #fcf3bc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-course-salonMv__item:nth-child(2) {
  --color: #dbdbdb;
}
.p-course-salonMv__item:nth-child(2) .en {
  background: -webkit-linear-gradient(325deg, #cecece 0%, #e5e5e5 36.54%, #aaa 70.04%, #e0e0e0 100%);
  background: linear-gradient(125deg, #cecece 0%, #e5e5e5 36.54%, #aaa 70.04%, #e0e0e0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-course-salonMv__item:nth-child(3) {
  --color: #dbb57b;
}
.p-course-salonMv__item:nth-child(3) .en {
  background: -webkit-linear-gradient(325deg, #d9b281 0%, #eacb94 32.84%, #aa6a27 68.74%, #ded0b5 100%);
  background: linear-gradient(125deg, #d9b281 0%, #eacb94 32.84%, #aa6a27 68.74%, #ded0b5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-course-salonMv__item:nth-child(4) {
  --color: #fff;
}
.p-course-salonMv__item:nth-child(4) .en {
  background: -webkit-linear-gradient(325deg, #fff 0%, #fff 32.84%, #fff 68.74%, #fff5 100%);
  background: linear-gradient(125deg, #fff 0%, #fff 32.84%, #fff 68.74%, #fff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-course-salonMv__ttl {
  display: grid;
  justify-items: center;
  -webkit-margin-after: calc(12/var(--base-size) * 1rem);
          margin-block-end: calc(12/var(--base-size) * 1rem);
}
.p-course-salonMv__ttl .ja {
  border-radius:20px;
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salonMv__ttl .ja {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    -webkit-margin-after: calc(5/var(--base-size) * 1rem);
            margin-block-end: calc(5/var(--base-size) * 1rem);
  }
}
.p-course-salonMv__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.04;
}
@media (max-width: 768px) {
  .p-course-salonMv__ttl .en {
    font-size: max(max(11.5px, 18.6px), 31/var(--font-size) * 1rem);
    letter-spacing: 0.04em;
  }
}

.p-course-salonMv__txt {
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.85;
}
@media (max-width: 768px) {
  .p-course-salonMv__txt {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    line-height: 1.46;
  }
}

/* ============================================ */
/*  p-course-salon__program
/* ============================================ */
.p-course-salon__program {
  padding: calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salon__program {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
    position: relative;
  }
}

.p-course-salonProgram__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__wrapper {
    display: grid;
  }
}

.p-course-salonProgram__h {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 82.2px), 137/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(30, 36, 62, 0.04);
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
  -webkit-margin-before: -1.5em;
          margin-block-start: -1.5em;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-salonProgram__h {
    font-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
    gap: 0.1em;
    position: absolute;
    inset-inline-start: calc(20/var(--base-size) * 1rem);
    inset-block-end: -0.22em;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
  }
}
.p-course-salonProgram__h span {
  font-size: 1.255em;
  color: rgba(30, 36, 62, 0.07);
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__h span {
    -webkit-margin-before: -0.65em;
            margin-block-start: -0.65em;
  }
}
@media (max-width: 768px) {
  .p-course-salonProgram__h span {
    font-size: max(max(11.5px, 44.4px), 74/var(--font-size) * 1rem);
    -webkit-margin-after: -0.075em;
            margin-block-end: -0.075em;
  }
}

.p-course-salonProgram__container {
  display: grid;
}
.p-course-salonProgram__container.--01 {
  gap: calc(15/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--01 {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    grid-template-columns: calc(max(max(11.5px, 360px), 600/var(--font-size) * 1rem) + 0.3em) 1fr;
  }
}
@media (max-width: 768px) {
  .p-course-salonProgram__container.--01 {
    gap: calc(24/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--01 .p-course-salonProgram__ttl {
    -webkit-margin-before: calc(160/var(--base-size) * 1rem);
            margin-block-start: calc(160/var(--base-size) * 1rem);
  }
}
.p-course-salonProgram__container.--01 .p-course-salonProgram__img {
  inline-size: 100%;
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--01 .p-course-salonProgram__img img {
    inline-size: 105.5670103093%;
    max-inline-size: none;
  }
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--02 {
    grid-template-columns: 1fr calc(max(max(11.5px, 360px), 600/var(--font-size) * 1rem) + 0.3em);
    gap: calc(90/var(--base-size) * 1rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-margin-before: calc(120/var(--base-size) * 1rem);
            margin-block-start: calc(120/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-salonProgram__container.--02 {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--02 .p-course-salonProgram__img {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (min-width: 768.9px) {
  .p-course-salonProgram__container.--02 .p-course-salonProgram__ttl {
    -webkit-margin-before: 0.5em;
            margin-block-start: 0.5em;
  }
}

.p-course-salonProgram__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
  letter-spacing: 0.03em;
  line-height: 1.56;
}
@media (max-width: 768px) {
  .p-course-salonProgram__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}

.p-course-salonProgram__sub {
  border: 1px solid;
  font-weight: 500;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  line-height: 1;
  display: inline-block;
  margin-block: calc(35/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem);
  padding: calc(3/var(--base-size) * 1rem) calc(12/var(--base-size) * 1rem) calc(4/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salonProgram__sub {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    margin-block: calc(12/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-course-salonProgram__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.4;
  color: rgba(0, 0, 0, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-course-salonProgram__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

/* ============================================ */
/*  p-course-salon__element
/* ============================================ */
.p-course-salon__element {
  background: -webkit-linear-gradient(300deg, #092040 0%, #004b7e 53.41%, #1e4b64 100%);
  background: linear-gradient(150deg, #092040 0%, #004b7e 53.41%, #1e4b64 100%);
  padding: calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salon__element {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-course-salonElement__wrapper {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
  position: relative;
}

.p-course-salonElement__h {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.04);
  position: absolute;
  inset-block-end: calc(-80/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-salonElement__h {
    inset-inline-end: calc(-100/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-salonElement__h {
    font-size: max(max(11.5px, 23.4px), 39/var(--font-size) * 1rem);
    inset-inline-start: calc(-15/var(--base-size) * 1rem);
    inset-block-end: calc(-50/var(--base-size) * 1rem);
  }
}

.p-course-salonElement__img {
  margin-inline: auto;
  max-inline-size: max(max(11.5px, 892.2px), 1487/var(--font-size) * 1rem);
}
.p-course-salonElement__img img {
  inline-size: 100%;
}

/* ============================================ */
/*  p-course-salon__theory
/* ============================================ */
.p-course-salon__theory {
  padding: calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(125/var(--base-size) * 1rem);
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .p-course-salon__theory {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-course-salonTheory__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-course-salonTheory__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course-salonTheory__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-course-salonTheory__h {
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  text-align: center;
}
.p-course-salonTheory__h .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: max(max(11.5px, 58.8px), 98/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(30, 36, 62, 0.07);
  -webkit-margin-after: -0.5em;
          margin-block-end: -0.5em;
}
@media (max-width: 768px) {
  .p-course-salonTheory__h .en {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
    -webkit-margin-after: -0.7em;
            margin-block-end: -0.7em;
    white-space: nowrap;
  }
}
.p-course-salonTheory__h .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #1e243e;
}
@media (max-width: 768px) {
  .p-course-salonTheory__h .ja {
    font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
    line-height: 1.5;
  }
}
.p-course-salonTheory__h .ja span {
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  display: block;
}
@media (max-width: 768px) {
  .p-course-salonTheory__h .ja span {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  }
}

.p-course-salonTheory__l {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.85;
  color: rgba(30, 36, 62, 0.8);
  margin-block: var(--leading-trim);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-salonTheory__l {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

.p-course-salonTheory__img {
  margin-inline: calc(50% - 50vw);
  inline-size: 100vw;
  max-inline-size: none;
}

.p-course-salonTheory__txt {
  display: grid;
  justify-items: center;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-salonTheory__txt {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
.p-course-salonTheory__txt .p_01 {
  background-color: #1e243e;
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #fff;
  -webkit-margin-after: calc(25/var(--base-size) * 1rem);
          margin-block-end: calc(25/var(--base-size) * 1rem);
  padding: calc(2/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem) calc(4/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-salonTheory__txt .p_01 {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    letter-spacing: 0.02em;
    -webkit-margin-start: calc(-5/var(--base-size) * 1rem);
            margin-inline-start: calc(-5/var(--base-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: calc(100% + 10/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
.p-course-salonTheory__txt .p_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.1em;
  line-height: 2.16;
  color: #1e243e;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-course-salonTheory__txt .p_02 {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    letter-spacing: 0.02em;
  }
}
.p-course-salonTheory__txt .p_02 span {
  background: -webkit-gradient(linear, left top, left bottom, from(#fffd55), to(#fffd55)) left bottom 0.05em/0 100% no-repeat;
  background: -webkit-linear-gradient(#fffd55, #fffd55) left bottom 0.05em/0 100% no-repeat;
  background: linear-gradient(#fffd55, #fffd55) left bottom 0.05em/0 100% no-repeat;
  font-size: 1.27em;
  padding-inline: 0.2em 0.05em;
  -webkit-transition: background-size 1s 0.3s var(--easing);
  transition: background-size 1s 0.3s var(--easing);
}
@media (max-width: 768px) {
  .p-course-salonTheory__txt .p_02 span {
    font-size: 1.38em;
    background: -webkit-gradient(linear, left top, left bottom, from(#fffd55), to(#fffd55)) left bottom 0.05em/0 max(8px, 10/var(--base-size) * 1rem) no-repeat;
    background: -webkit-linear-gradient(#fffd55, #fffd55) left bottom 0.05em/0 max(8px, 10/var(--base-size) * 1rem) no-repeat;
    background: linear-gradient(#fffd55, #fffd55) left bottom 0.05em/0 max(8px, 10/var(--base-size) * 1rem) no-repeat;
  }
}
.p-course-salonTheory__txt .p_02 span.is-active {
  background-size: 100% 100%;
}
@media (max-width: 768px) {
  .p-course-salonTheory__txt .p_02 span.is-active {
    background-size: 100% max(8px, 10/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-course-salon__link
/* ============================================ */
.p-course-salon__link {
  padding: calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salon__link {
    padding: calc(35/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-course-salonLink__wrapper {
  margin-inline: auto;
  max-inline-size: 1330px;
  max-inline-size: max(1330px - 200/var(--base-size) * 1rem, 1330/var(--base-size) * 1rem);
  display: grid;
  gap: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-salonLink__wrapper {
    gap: calc(15/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  コース・プラン - オンラインサービス
----------------------------------------------- */
@media (max-width: 768px) {
  .p-course-online__mv .en {
    font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  }
}
.p-course-online__mv .ja {
  font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
}

.p-course-online__outer {
  padding: 0 calc(100/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-course-online__outer {
    padding: calc(20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}
.p-course-online__outer::before {
  content: "";
  background: -webkit-linear-gradient(65deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(25deg, #008388 0%, #000e3b 100%);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: calc(100% - 95/var(--base-size) * 1rem);
  z-index: -3;
}

.p-course-online__intro {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 50% 1fr;
  gap: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__intro {
    display: revert;
  }
}

.p-course-onlineIntro__img {
  inline-size: 100%;
}
.p-course-onlineIntro__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course-onlineIntro__contents {
  color: #fff;
  margin-inline: auto;
  -webkit-padding-before: calc(170/var(--base-size) * 1rem);
          padding-block-start: calc(170/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineIntro__contents {
    -webkit-padding-before: calc(20/var(--base-size) * 1rem);
            padding-block-start: calc(20/var(--base-size) * 1rem);
  }
}

.p-course-onlineIntro__ttl {
  margin-inline: auto;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-onlineIntro__ttl {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: min(100%, 375px);
  }
}
.p-course-onlineIntro__ttl .ja {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(20/var(--base-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineIntro__ttl .ja {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-course-onlineIntro__ttl .ja::after {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  content: "";
  background-color: #fff;
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-course-onlineIntro__ttl .ja::after {
    content: none;
  }
}
.p-course-onlineIntro__ttl .en {
  border: 1px solid #fff;
  font-weight: 500;
  font-size: calc(65/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.015;
  padding: 6px calc(22/var(--base-size) * 1rem) 8px;
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-onlineIntro__ttl .en {
    font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
    padding: 6px 2PX 8px;
  }
}

.p-course-onlineIntro__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  max-inline-size: max(max(11.5px, 384px), 640/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineIntro__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

.p-course-onlineIntro__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineIntro__btn {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.p-course-onlineIntro__btn a {
  min-inline-size: max(max(11.5px, 169.8px), 283/var(--font-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-onlineIntro__btn a {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (max-width: 768px) {
  .p-course-onlineIntro__btn a {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}

.p-course-online__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-course-online__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}

/* ============================================ */
/*  p-course-online__flow
/* ============================================ */
.p-course-online__flow {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  margin-block: calc(60/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__flow {
    margin-block: calc(30/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem);
  }
}

.p-course-onlineFlow__catch {
  margin-inline: auto;
  -webkit-margin-after: calc(60/var(--base-size) * 1rem);
          margin-block-end: calc(60/var(--base-size) * 1rem);
  -webkit-padding-after: calc(15/var(--base-size) * 1rem);
          padding-block-end: calc(15/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch {
    -webkit-margin-after: calc(35/var(--base-size) * 1rem);
            margin-block-end: calc(35/var(--base-size) * 1rem);
    inline-size: min(100%, 375px);
  }
}
.p-course-onlineFlow__catch::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 2px;
}
.p-course-onlineFlow__catch::after {
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
  aspect-ratio: 83/18;
  background-color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 1px;
  translate: -50% 100%;
  inline-size: max(max(11.5px, 49.8px), 83/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch::after {
    aspect-ratio: 59/18;
    inline-size: max(max(11.5px, 35.4px), 59/var(--font-size) * 1rem);
  }
}
.p-course-onlineFlow__catch p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(20/var(--base-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  line-height: 1.45;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch p {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.2;
  }
}
.p-course-onlineFlow__catch p::before, .p-course-onlineFlow__catch p::after {
  content: "";
  background-color: #fff;
  -webkit-margin-after: -0.5em;
          margin-block-end: -0.5em;
  inline-size: 1px;
  block-size: 1em;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch p::before, .p-course-onlineFlow__catch p::after {
    block-size: 2.35em;
  }
}
.p-course-onlineFlow__catch p::before {
  rotate: -25deg;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch p::before {
    rotate: -30deg;
  }
}
.p-course-onlineFlow__catch p::after {
  rotate: 25deg;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch p::after {
    rotate: 30deg;
  }
}
.p-course-onlineFlow__catch strong {
  font-weight: 600;
  font-size: max(max(11.5px, 25.8px), 43/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__catch strong {
    font-size: max(max(11.5px, 16.2px), 27/var(--font-size) * 1rem);
  }
}

.p-course-onlineFlow__wrapper {
  border: max(max(11.5px, 6px), 10/var(--font-size) * 1rem) solid rgba(10, 122, 62, 0.1);
  background-color: #fff;
  padding: calc(50/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__wrapper {
    padding: calc(30/var(--base-size) * 1rem) calc(12/var(--base-size) * 1rem);
  }
}

.p-course-onlineFlow__ttl {
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__ttl {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-course-onlineFlow__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__ttl .ja {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  }
}
.p-course-onlineFlow__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1.5;
  color: #008841;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__ttl .en {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

.p-course-onlineFlow__list {
  position: relative;
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-course-onlineFlow__list {
    display: grid;
    grid-template-columns: 30.7692307692% 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    gap: calc(18/var(--base-size) * 1rem) calc(44/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-onlineFlow__list {
    overflow: hidden;
  }
}
@media (min-width: 768.9px) {
  .p-course-onlineFlow__list .swiper-wrapper {
    display: contents;
  }
}
.p-course-onlineFlow__list .swiper-pagination {
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
  position: relative;
}
.p-course-onlineFlow__list .swiper-pagination-bullet {
  background-color: #c3c3c3;
  border-radius: 100vmax;
  margin-inline: calc(10/var(--base-size) * 1rem) !important;
  inline-size: calc(10/var(--base-size) * 1rem);
  block-size: calc(10/var(--base-size) * 1rem);
}
.p-course-onlineFlow__list .swiper-pagination-bullet-active {
  background-color: #156038;
}

.p-course-onlineFlow__item {
  display: grid;
  justify-items: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-course-onlineFlow__item {
    grid-row: span 4;
    grid-template-rows: subgrid;
  }
}
@media (max-width: 768px) {
  .p-course-onlineFlow__item {
    grid-template-rows: auto auto auto 1fr;
  }
}
.p-course-onlineFlow__item::before {
  content: "";
  background-color: #a59368;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  translate: -50% 0;
  inline-size: calc(100% + 44/var(--base-size) * 1rem);
  max-inline-size: none;
  block-size: 1px;
  z-index: -3;
}
.p-course-onlineFlow__item:first-child::before {
  translate: none;
}
.p-course-onlineFlow__item:last-child::before {
  inset-inline-start: 0;
  translate: -50% 0;
}
.p-course-onlineFlow__item.flow1 .p-course-onlineFlow__txt {
  text-align: center;
}
.p-course-onlineFlow__item.flow4 {
  z-index: 0;
}
.p-course-onlineFlow__item.flow4 .p-course-onlineFlow__num {
  background-color: #d65d55;
  font-size: max(max(11.5px, 12.6px), 21/var(--font-size) * 1rem);
}

.p-course-onlineFlow__num {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  aspect-ratio: 1;
  background-color: #af9350;
  border-radius: 100vmax;
  display: grid;
  place-content: center;
  font-weight: 500;
  font-size: max(max(11.5px, 21.6px), 36/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 0.9;
  color: #fff;
  padding: 0.2em 0 0 0.1em;
  text-align: center;
  inline-size: max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__num {
    font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
    inline-size: max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem);
  }
}
.p-course-onlineFlow__num span {
  display: block;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__num span {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.p-course-onlineFlow__h {
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-onlineFlow__h {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}

.p-course-onlineFlow__sns {
  display: grid;
  grid-template-columns: repeat(2, calc(164/var(--base-size) * 1rem));
  gap: calc(27/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__sns {
    grid-template-columns: repeat(2, calc(114/var(--base-size) * 1rem));
    gap: calc(16/var(--base-size) * 1rem);
    margin-block: calc(30/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-course-onlineFlow__img {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-course-onlineFlow__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course-onlineFlow__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.6;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-course-onlineFlow__txt {
    text-align: center;
  }
}

.p-course-online__line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}

/* ============================================ */
/*  p-course-online__scroll
/* ============================================ */
.p-course-online__scroll {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  padding: calc(70/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__scroll {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-course-online__scroll .c-scroll__btn:nth-child(1) a {
  background: -webkit-gradient(linear, left top, right top, from(#008388), to(#000e3b));
  background: -webkit-linear-gradient(left, #008388 0%, #000e3b 100%);
  background: linear-gradient(90deg, #008388 0%, #000e3b 100%);
}
.p-course-online__scroll .c-scroll__btn:nth-child(2) a {
  background: -webkit-gradient(linear, left top, right top, from(#335296), to(#fc86a6));
  background: -webkit-linear-gradient(left, #335296 0%, #fc86a6 100%);
  background: linear-gradient(90deg, #335296 0%, #fc86a6 100%);
}
.p-course-online__scroll .c-scroll__btn:nth-child(3) a {
  background: -webkit-gradient(linear, left top, right top, from(#3673a9), to(#94be7d));
  background: -webkit-linear-gradient(left, #3673a9 0%, #94be7d 100%);
  background: linear-gradient(90deg, #3673a9 0%, #94be7d 100%);
}
@media (max-width: 768px) {
  .p-course-online__scroll ul {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}
@media (max-width: 768px) {
  .p-course-online__scroll .c-scroll__btn a {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    justify-items: center;
    inline-size: 100%;
  }
}

.p-course-online__l {
  border: 2px solid;
  border-radius: 2px;
  font-weight: 600;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.3;
  text-align: center;
  color: #008841;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
  padding: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__l {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    padding: calc(12/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-course-online__plan
/* ============================================ */
.p-course-online__plan {
  background: -webkit-linear-gradient(125deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(325deg, #008388 0%, #000e3b 100%);
  padding: calc(80/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan {
    padding: calc(30/var(--base-size) * 1rem) calc(12/var(--base-size) * 1rem);
  }
}
.p-course-online__plan#plan_ls {
  background: -webkit-linear-gradient(125deg, #335296 0%, #fc86a6 100%);
  background: linear-gradient(325deg, #335296 0%, #fc86a6 100%);
}
.p-course-online__plan#plan_se {
  background: -webkit-linear-gradient(125deg, #3673a9 0%, #94be7d 100%);
  background: linear-gradient(325deg, #3673a9 0%, #94be7d 100%);
}

.p-course-online__plan__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-course-online__plan__h {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__h {
    grid-template-columns: 1fr 40.625%;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__h {
    justify-items: center;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}

.p-course-online__plan__h__content {
  color: #fff;
}

.p-course-online__plan__h__ttl {
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl {
    -webkit-margin-after: calc(12/var(--base-size) * 1rem);
            margin-block-end: calc(12/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-course-online__plan__h__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 67.8px), 113/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.1);
  -webkit-margin-after: -0.5em;
          margin-block-end: -0.5em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl .en {
    font-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl .en:is(#plan_st .en) {
    font-size: max(max(11.5px, 32.4px), 54/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__h__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: calc(30/var(--base-size) * 1rem);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl .ja {
    font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
    margin-inline: auto;
    gap: calc(15/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__h__ttl .ja::before {
  content: "";
  background-color: #fff;
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
  rotate: 35deg;
  inline-size: 1px;
  block-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl .ja::before {
    block-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__h__ttl .ja .s_01 {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__h__ttl .ja .s_01 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}

.p-course-online__plan__h__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .p-course-online__plan__h__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2.6;
    text-align: center;
  }
}
.p-course-online__plan__h__txt span {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.18)), to(rgba(255, 255, 255, 0.18))) left bottom 0/100% 100% no-repeat;
  background: -webkit-linear-gradient(rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) left bottom 0/100% 100% no-repeat;
  background: linear-gradient(rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) left bottom 0/100% 100% no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding: 0 0.3em 0.15em;
}
@media (max-width: 768px) {
  .p-course-online__plan__h__txt span {
    padding: 0.2em 0.3em 0.3em;
  }
}
.p-course-online__plan__h__txt span:is(#plan_ls span), .p-course-online__plan__h__txt span:is(#plan_se span) {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.18)), to(rgba(0, 0, 0, 0.18))) left bottom 0/100% 100% no-repeat;
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18)) left bottom 0/100% 100% no-repeat;
  background: linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18)) left bottom 0/100% 100% no-repeat;
}

@media (max-width: 768px) {
  .p-course-online__plan__h__img {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

.p-course-online__plan__container + .p-course-online__plan__container {
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
.p-course-online__plan__container.is-open .p-course-online__plan__summary::after {
  rotate: -90deg;
}
@media (max-width: 768px) {
  .p-course-online__plan__container.is-open .p-course-online__plan__summary::after {
    rotate: -180deg;
  }
}

.p-course-online__plan__summary {
  background-color: #008841;
  color: #fff;
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
  padding: calc(15/var(--base-size) * 1rem) calc(55/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: -webkit-filter 0.6s var(--easing);
  transition: -webkit-filter 0.6s var(--easing);
  transition: filter 0.6s var(--easing);
  transition: filter 0.6s var(--easing), -webkit-filter 0.6s var(--easing);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__summary {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(12/var(--base-size) * 1rem) calc(36/var(--base-size) * 1rem);
  }
}
@media (any-hover: hover) {
  .p-course-online__plan__summary:hover {
    -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2)) brightness(1.3);
            filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2)) brightness(1.3);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__summary {
    padding: calc(12/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem) calc(8/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__summary:is(#plan_ls .p-course-online__plan__summary) {
  background-color: #332b6f;
}
.p-course-online__plan__summary:is(#plan_se .p-course-online__plan__summary) {
  background-color: #005864;
}
.p-course-online__plan__summary::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  content: "";
  position: absolute;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__summary::after {
    inset-inline-end: calc(40/var(--base-size) * 1rem);
    inset-block-start: 50%;
    translate: 0 -50%;
    rotate: 90deg;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__summary::after {
    aspect-ratio: 1;
    -webkit-mask-image: url(../img/common/arrow_round.svg);
            mask-image: url(../img/common/arrow_round.svg);
    inset-inline-end: calc(15/var(--base-size) * 1rem);
    inset-block-start: calc(20/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__summary .p_01 {
    display: grid;
    grid-template-columns: repeat(2, auto);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(18/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__summary .p_01 {
    text-align: center;
  }
}
.p-course-online__plan__summary .p_01 .s_01 {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .p-course-online__plan__summary .p_01 .s_01 {
    font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__summary .p_01 .s_02 {
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .p-course-online__plan__summary .p_01 .s_02 {
    font-size: max(10px, 12/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__summary .p_02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__summary .p_02 {
    gap: calc(8/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__summary .p_02 {
    -webkit-border-before: 1px solid rgba(255, 255, 255, 0.4);
            border-block-start: 1px solid rgba(255, 255, 255, 0.4);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: calc(10/var(--base-size) * 1rem);
            margin-block-start: calc(10/var(--base-size) * 1rem);
    -webkit-padding-before: calc(10/var(--base-size) * 1rem);
            padding-block-start: calc(10/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__summary .p_02 li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  line-height: 1.3;
  color: #fff;
  padding: calc(10/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__summary .p_02 li {
    font-size: max(8px, 10/var(--base-size) * 1rem);
    line-height: 1.5;
    padding: calc(5/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__summary .p_02 li.--online {
  background-color: #ae9350;
}
.p-course-online__plan__summary .p_02 li.--care {
  background-color: #932a2a;
}
.p-course-online__plan__summary .p_02 li.--salon:is(#plan_st .--salon), .p-course-online__plan__summary .p_02 li.--salon:is(#plan_se .--salon) {
  background: -webkit-gradient(linear, left top, left bottom, from(#113652), to(#081d4d));
  background: -webkit-linear-gradient(#113652 0%, #081d4d 100%);
  background: linear-gradient(#113652 0%, #081d4d 100%);
}
.p-course-online__plan__summary .p_02 li.--salon:is(#plan_ls .--salon) {
  background-color: #ea5179;
}

.p-course-online__plan__detail {
  background: #fff;
  border: max(4px, 6/var(--base-size) * 1rem) solid rgba(0, 136, 65, 0.7);
  padding: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__detail {
    border-width: 4px;
    padding: calc(30/var(--base-size) * 1rem) calc(18/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__detail:is(#plan_ls .p-course-online__plan__detail) {
  border-color: #5d5690;
}
.p-course-online__plan__detail#plan_se .p-course-online__plan__detail {
  border-color: #015864;
}

.p-course-online__plan__upper {
  display: grid;
  gap: calc(50/var(--base-size) * 1rem);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__upper {
    grid-template-columns: max(max(11.5px, 354px), 590/var(--font-size) * 1rem) 1fr;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__upper {
    gap: calc(18/var(--base-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}

.p-course-online__plan__upper__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.93;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2.15;
    text-align: justify;
  }
}

.p-course-online__plan__upper__flow {
  display: grid;
  grid-template-columns: repeat(3, max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem));
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-inline: auto;
  -webkit-margin-before: calc(35/var(--base-size) * 1rem);
          margin-block-start: calc(35/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
  inline-size: max(max(11.5px, 232.8px), 388/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow {
    -webkit-margin-before: calc(18/var(--base-size) * 1rem);
            margin-block-start: calc(18/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
.p-course-online__plan__upper__flow:has(li:nth-last-child(4)) {
  grid-template-columns: repeat(4, max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem));
}
@media (min-width: 768.9px) {
  .p-course-online__plan__upper__flow:has(li:nth-last-child(4)) {
    inline-size: max(max(11.5px, 288px), 480/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow:has(li:nth-last-child(4)) {
    -webkit-margin-start: calc(-5/var(--base-size) * 1rem);
            margin-inline-start: calc(-5/var(--base-size) * 1rem);
    inline-size: calc(100% + 10/var(--base-size) * 1rem);
    max-inline-size: none;
  }
  .p-course-online__plan__upper__flow:has(li:nth-last-child(4)) .p_01 {
    font-size: max(10px, 12/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__upper__flow::before {
  content: "";
  background-color: #ba9c52;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: calc(max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem) / 2);
  translate: -50% 0;
  inline-size: calc(100% - max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem));
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow::before {
    inset-block-start: calc(max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem) / 2);
    inline-size: calc(100% - max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem));
  }
}
.p-course-online__plan__upper__flow li {
  display: grid;
  grid-template-rows: auto 1fr;
  justify-items: center;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow li .p_02 {
    line-height: 1.3;
    inline-size: 100%;
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__upper__flow li:nth-child(4) {
    translate: calc(20/var(--base-size) * 1rem) 0;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow li:nth-child(4) .p_02 {
    font-size: max(10px, 12/var(--base-size) * 1rem);
  }
  .p-course-online__plan__upper__flow li:nth-child(4) .p_02 span {
    font-size: max(8px, 10/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__upper__flow .p_01 {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  aspect-ratio: 1;
  background-color: #af9350;
  border-radius: 50%;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-padding-before: 0.3em;
          padding-block-start: 0.3em;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow .p_01 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__upper__flow .p_01 span {
  font-size: 2.25em;
}
.p-course-online__plan__upper__flow .p_02 {
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-before: calc(10/var(--base-size) * 1rem);
          margin-block-start: calc(10/var(--base-size) * 1rem);
  max-inline-size: none;
  inline-size: calc(100% + 100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__flow .p_02 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    inline-size: calc(100% + 40/var(--base-size) * 1rem);
  }
}

.p-course-online__plan__upper__img {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr auto;
  -webkit-column-gap: calc(10/var(--base-size) * 1rem);
     -moz-column-gap: calc(10/var(--base-size) * 1rem);
          column-gap: calc(10/var(--base-size) * 1rem);
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
.p-course-online__plan__upper__img:has(li:nth-child(3)) {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__img:has(li:nth-child(3)) {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-course-online__plan__upper__img:has(li:nth-child(3)) li::before {
    content: none;
  }
  .p-course-online__plan__upper__img:has(li:nth-child(3)) li:nth-child(3) {
    grid-column: span 2;
    -webkit-margin-before: calc(10/var(--base-size) * 1rem);
            margin-block-start: calc(10/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__upper__img:has(li:nth-child(3)) .p {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__upper__img .--online {
  --color: #008841;
}
.p-course-online__plan__upper__img .--care {
  --color: #b70000;
}
.p-course-online__plan__upper__img .--salon {
  --color: #0a224e;
}
.p-course-online__plan__upper__img .--salon:is(#plan_ls .--salon) {
  --color: #ea5179;
}
.p-course-online__plan__upper__img .--salon .s {
  aspect-ratio: 78/83;
}
.p-course-online__plan__upper__img li {
  grid-row: span 2;
  display: grid;
  grid-template-rows: subgrid;
  position: relative;
  block-size: 100%;
}
.p-course-online__plan__upper__img li + li::before {
  content: "";
  aspect-ratio: 1;
  background-color: #008841;
  -webkit-mask: url(../img/common/ico_plus.svg) no-repeat center/contain;
          mask: url(../img/common/ico_plus.svg) no-repeat center/contain;
  position: absolute;
  inset-inline-start: calc(-5/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: -50% -50%;
  inline-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  z-index: 9;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__img li + li::before {
    inset-block-start: 40%;
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__upper__img .i {
  border: 1px solid var(--color);
  display: block;
  position: relative;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__img .i {
    block-size: calc(158/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__upper__img .i img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-course-online__plan__upper__img .s {
  -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.16));
  position: absolute;
  inset-inline-end: calc(16/var(--base-size) * 1rem);
  inset-block-end: calc(12/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 46.8px), 78/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__img .s {
    inset-inline-end: calc(8/var(--base-size) * 1rem);
    inset-block-end: calc(8/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__upper__img .p {
  font-family: "Noto Sans JP", sans-serif;
  background-color: var(--color);
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.3;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(10/var(--base-size) * 1rem);
  text-align: center;
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-course-online__plan__upper__img .p {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    padding: calc(7/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem) calc(8/var(--base-size) * 1rem);
  }
}

.p-course-online__plan__lower {
  display: grid;
  gap: calc(10/var(--base-size) * 1rem);
}

.p-course-online__plan__lower__item {
  background-color: #f2f2f2;
  display: grid;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__item {
    grid-template-columns: max(max(11.5px, 30px), 50/var(--font-size) * 1rem) 1fr;
  }
}

.p-course-online__plan__lower__h {
  background-color: #000;
  font-weight: 600;
  font-size: max(10px, 12/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__h {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-course-online__plan__lower__h.is-active::after {
  rotate: 90deg;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__h {
    gap: calc(5/var(--base-size) * 1rem);
    padding: calc(8/var(--base-size) * 1rem);
    position: relative;
  }
  .p-course-online__plan__lower__h::after {
    aspect-ratio: 8/12;
    background-color: #fff;
    -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
            mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
    -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
    transition: background-color 0.3s, scale 0.3s, translate 0.3s;
    inline-size: max(7px, 9/var(--base-size) * 1rem);
    content: "";
    position: absolute;
    inset-inline-end: calc(24/var(--base-size) * 1rem);
    inset-block-start: 50%;
    translate: 0 -45%;
    rotate: 90deg;
  }
}
.p-course-online__plan__lower__h span {
  font-size: 1.58em;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__h span {
    -webkit-margin-before: -0.1em;
            margin-block-start: -0.1em;
  }
}

.p-course-online__plan__lower__item__content {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(18/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__item__content {
    display: grid !important;
    grid-template-columns: max(max(11.5px, 84px), 140/var(--font-size) * 1rem) 1fr max(max(11.5px, 240px), 400/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__item__content {
    justify-items: center;
    padding: calc(15/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem);
    display: none;
  }
}
.p-course-online__plan__lower__item__content:has(.p-course-online__plan__lower__more) .p-course-online__plan__lower__pay {
  grid-column: 3/4;
  grid-row: 1/3;
  align-self: center;
}

@media (max-width: 768px) {
  .p-course-online__plan__lower__img {
    margin-inline: auto;
    inline-size: max(max(11.5px, 84px), 140/var(--font-size) * 1rem);
  }
}

.p-course-online__plan__lower__about dt {
  font-weight: bold;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.635;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__about dt {
    text-align: center;
  }
}
.p-course-online__plan__lower__about dd {
  font-weight: 500;
  font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__about dd {
    font-size: max(9px, 11/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__about dd + dt {
    -webkit-margin-before: 0.3em;
            margin-block-start: 0.3em;
  }
}

@media (max-width: 768px) {
  .p-course-online__plan__lower__pay {
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
.p-course-online__plan__lower__pay dt {
  background-color: #000;
  font-weight: bold;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.4;
  color: #fff;
  padding: calc(8/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__pay dt {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__lower__pay dd {
  background-color: #fff;
  border: 1px solid #d0d0d0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(10/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__pay dd {
    padding: 0 calc(10/var(--base-size) * 1rem) calc(5/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__lower__pay dd .p_01 {
  font-weight: 600;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  line-height: 1.5;
  color: #b70000;
  -webkit-margin-end: calc(10/var(--base-size) * 1rem);
          margin-inline-end: calc(10/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__pay dd .p_01 {
    font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__lower__pay dd .p_02 {
  display: grid;
}
.p-course-online__plan__lower__pay dd .p_02 .s_01 {
  font-weight: 600;
  font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  line-height: 1.2;
  -webkit-margin-start: -0.5em;
          margin-inline-start: -0.5em;
}
.p-course-online__plan__lower__pay dd .p_02 .s_02 {
  font-weight: 600;
  font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  line-height: 1.2;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__pay dd .p_02 .s_02 {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}

.p-course-online__plan__lower__more {
  background-color: #fff;
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
  padding: calc(15/var(--base-size) * 1rem) calc(58/var(--base-size) * 1rem);
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more {
    grid-column: span 2;
    margin-inline: calc(40/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
    padding: calc(15/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more::before {
    content: "";
    aspect-ratio: 1;
    background-color: #000;
    -webkit-mask: url(../img/common/ico_plus.svg) no-repeat center/contain;
            mask: url(../img/common/ico_plus.svg) no-repeat center/contain;
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: calc(-15/var(--base-size) * 1rem);
    translate: -50% -100%;
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__lower__more .h {
  background-color: #1d2d6e;
  font-weight: bold;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  line-height: 1.4;
  color: #fff;
  padding: calc(4/var(--base-size) * 1rem) calc(12/var(--base-size) * 1rem) calc(5/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .h {
    position: absolute;
    inset-inline-start: calc(-15/var(--base-size) * 1rem);
    inset-block-start: calc(5/var(--base-size) * 1rem);
    rotate: -20deg;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .h {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    line-height: 1.7;
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-before: calc(-15/var(--base-size) * 1rem);
            margin-block-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-after: calc(10/var(--base-size) * 1rem);
            margin-block-end: calc(10/var(--base-size) * 1rem);
    text-align: center;
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
.p-course-online__plan__lower__more .--home_alpha + .--three,
.p-course-online__plan__lower__more .--three + .--home_alpha {
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
.p-course-online__plan__lower__more .--home_alpha {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .--home_alpha {
    grid-template-columns: max(max(11.5px, 57px), 95/var(--font-size) * 1rem) 1fr;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--home_alpha {
    justify-items: center;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--home_alpha figure {
    inline-size: max(max(11.5px, 84px), 140/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__lower__more .--home_alpha .p {
  background-color: #dff8e8;
  font-weight: bold;
  font-size: max(max(11.5px, 11.4px), 19/var(--font-size) * 1rem);
  padding: calc(15/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .--home_alpha .p {
    border-radius: 0 100vmax 100vmax 0;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--home_alpha .p {
    font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    padding: calc(8/var(--base-size) * 1rem) calc(24/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__lower__more .--home_alpha .p span {
  font-size: 0.73em;
}
.p-course-online__plan__lower__more .--home_alpha .p strong {
  color: #008841;
}
.p-course-online__plan__lower__more .--three {
  display: grid;
  gap: calc(12/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .--three {
    grid-template-columns: max(max(11.5px, 72px), 120/var(--font-size) * 1rem) 1fr;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--three {
    justify-items: center;
    gap: calc(15/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--three figure {
    inline-size: max(max(11.5px, 102px), 170/var(--font-size) * 1rem);
  }
}
.p-course-online__plan__lower__more .--three .p_01 {
  -webkit-border-after: 1px solid;
          border-block-end: 1px solid;
  font-weight: bold;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.44;
  -webkit-padding-after: 0.2em;
          padding-block-end: 0.2em;
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--three .p_01 {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .--three .p_02 {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
.p-course-online__plan__lower__more .--three .p_02 dt {
  font-weight: bold;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.73;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--three .p_02 dt {
    text-align: center;
  }
}
.p-course-online__plan__lower__more .--three .p_02 dd {
  font-weight: 500;
  font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .p-course-online__plan__lower__more .--three .p_02 dd {
    font-size: max(9px, 11/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-online__plan__lower__more .--three .p_02 dd + dt {
    -webkit-margin-before: 0.3em;
            margin-block-start: 0.3em;
  }
}

.p-course-online__plan__home {
  background-color: #edf8f8;
  border: 2px solid #008841;
  display: grid;
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
  padding: calc(15/var(--base-size) * 1rem) calc(52/var(--base-size) * 1rem);
  position: relative;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__home {
    grid-template-columns: max(max(11.5px, 90px), 150/var(--font-size) * 1rem) 1fr;
    gap: calc(55/var(--base-size) * 1rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-inline: auto;
    max-inline-size: max(max(11.5px, 445.2px), 742/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__home {
    border-color: #1d2d6e;
    justify-items: center;
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
    padding: calc(15/var(--base-size) * 1rem);
    text-align: center;
  }
}

.p-course-online__plan__home__h {
  background-color: #1d2d6e;
  font-weight: bold;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  line-height: 1.4;
  color: #fff;
  padding: calc(4/var(--base-size) * 1rem) calc(12/var(--base-size) * 1rem) calc(5/var(--base-size) * 1rem) calc(10/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__home__h {
    position: absolute;
    inset-inline-end: calc(-50/var(--base-size) * 1rem);
    inset-block-start: 0;
    rotate: 10deg;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__home__h {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-before: calc(-15/var(--base-size) * 1rem);
            margin-block-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-after: calc(10/var(--base-size) * 1rem);
            margin-block-end: calc(10/var(--base-size) * 1rem);
    padding-block: calc(3/var(--base-size) * 1rem) calc(8/var(--base-size) * 1rem + 2px);
    text-align: center;
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}

.p-course-online__plan__home__img {
  -webkit-filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.42));
          filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.42));
}
@media (max-width: 768px) {
  .p-course-online__plan__home__img {
    inline-size: max(max(11.5px, 84px), 140/var(--font-size) * 1rem);
  }
}

.p-course-online__plan__home__txt {
  color: #0f3052;
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  z-index: 0;
}
.p-course-online__plan__home__txt .p_01 {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 36.6px), 61/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(15, 48, 82, 0.1);
  z-index: -3;
}
@media (min-width: 768.9px) {
  .p-course-online__plan__home__txt .p_01 {
    position: absolute;
    inset-inline-end: calc(-108/var(--base-size) * 1rem);
    inset-block-start: -0.6em;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__home__txt .p_01 {
    font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
    margin-block: calc(-20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__home__txt .p_01 span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3em;
  -webkit-margin-start: -0.1em;
          margin-inline-start: -0.1em;
}
.p-course-online__plan__home__txt .p_02 {
  background-color: rgba(15, 48, 82, 0.18);
  -webkit-filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.2));
          filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.2));
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
  display: inline-block;
  padding: 0 0.2em;
}
@media (max-width: 768px) {
  .p-course-online__plan__home__txt .p_02 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    -webkit-margin-after: calc(5/var(--base-size) * 1rem);
            margin-block-end: calc(5/var(--base-size) * 1rem);
  }
}
.p-course-online__plan__home__txt .p_03 {
  -webkit-filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.18));
          filter: drop-shadow(calc(3/var(--base-size) * 1rem) calc(3/var(--base-size) * 1rem) calc(6/var(--base-size) * 1rem) rgba(0, 0, 0, 0.18));
  font-weight: 600;
  font-size: max(max(11.5px, 17.4px), 29/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.18;
}
@media (max-width: 768px) {
  .p-course-online__plan__home__txt .p_03 {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.3;
  }
}
.p-course-online__plan__home__txt .p_03 strong {
  font-weight: inherit;
  font-size: 1.17em;
  color: #008841;
}
.p-course-online__plan__home__txt .p_03 span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3em;
  margin-inline: -0.15em -0.08em;
}

.p-course-online__plan__line {
  display: grid;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-online__plan__line {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (max-width: 768px) {
  .p-course-online__plan__line {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  発毛体験
----------------------------------------------- */
/* ============================================ */
/*  p-course-taiken__mv
/* ============================================ */
.p-course-taiken__mv {
  -webkit-margin-before: var(--header-height);
          margin-block-start: var(--header-height);
  position: relative;
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-course-taiken__mv {
    padding: calc(50/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  }
}

.p-course-taikenMv__bg {
  overflow: hidden;
}
@media (min-width: 768.9px) {
  .p-course-taikenMv__bg {
    display: grid;
    overflow: hidden;
    position: absolute;
    inset: 0;
    z-index: -3;
    grid-template-columns: 34.375% 1fr;
  }
}
@media (max-width: 768px) {
  .p-course-taikenMv__bg {
    block-size: max(max(11.5px, 69px), 115/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-course-taikenMv__bg::before {
    content: "";
    background: -webkit-linear-gradient(5deg, #156038 0%, #008841 100%);
    background: linear-gradient(85deg, #156038 0%, #008841 100%);
  }
}
.p-course-taikenMv__bg figure {
  overflow: hidden;
}
.p-course-taikenMv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  scale: 1.1 1.1;
  -webkit-transition: scale var(--easing) 3s 0.2s;
  transition: scale var(--easing) 3s 0.2s;
}
.p-course-taikenMv__bg img:is(main.is-loaded img) {
  scale: 1 1;
}

.p-course-taikenMv__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenMv__wrapper {
    background: -webkit-linear-gradient(5deg, #156038 0%, #008841 100%);
    background: linear-gradient(85deg, #156038 0%, #008841 100%);
    padding: calc(12/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
    position: relative;
  }
}

.p-course-taikenMv__ttl {
  position: relative;
}
@media (max-width: 768px) {
  .p-course-taikenMv__ttl {
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    text-align: center;
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
.p-course-taikenMv__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 93.6px), 156/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(198, 226, 208, 0.1);
}
@media (min-width: 768.9px) {
  .p-course-taikenMv__ttl .en {
    -webkit-margin-start: -0.7em;
            margin-inline-start: -0.7em;
  }
}
@media (max-width: 768px) {
  .p-course-taikenMv__ttl .en {
    font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
    line-height: 1.1;
    color: rgba(198, 226, 208, 0.2);
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: -0.8em;
    inline-size: 100%;
    white-space: nowrap;
  }
}
.p-course-taikenMv__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  line-height: 1.3;
  display: grid;
  gap: calc(20/var(--base-size) * 1rem);
  justify-items: start;
}
@media (min-width: 768.9px) {
  .p-course-taikenMv__ttl .ja {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 50%;
    translate: 0 -50%;
  }
}
@media (max-width: 768px) {
  .p-course-taikenMv__ttl .ja {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.6;
    gap: calc(6/var(--base-size) * 1rem);
    justify-items: center;
    white-space: nowrap;
  }
}
.p-course-taikenMv__ttl .ja .s {
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenMv__ttl .ja .s {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

.p-course-taikenMv__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-course-taikenMv__txt {
    font-weight: 500;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.769;
  }
}

.p-course-taikenMv__pickup {
  display: grid;
  justify-items: center;
  -webkit-margin-before: calc(45/var(--base-size) * 1rem);
          margin-block-start: calc(45/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 396px), 660/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenMv__pickup {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
.p-course-taikenMv__pickup .h {
  font-weight: bold;
  font-size: max(max(11.5px, 13.8px), 23/var(--font-size) * 1rem);
  text-align: center;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: calc(32/var(--base-size) * 1rem);
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-margin-after: calc(12/var(--base-size) * 1rem);
          margin-block-end: calc(12/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-taikenMv__pickup .h {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    gap: calc(16/var(--base-size) * 1rem);
  }
}
.p-course-taikenMv__pickup .h::before, .p-course-taikenMv__pickup .h::after {
  content: "";
  background-color: currentColor;
  inline-size: 1px;
  block-size: 1lh;
}
.p-course-taikenMv__pickup .h::before {
  rotate: -30deg;
}
.p-course-taikenMv__pickup .h::after {
  rotate: 30deg;
}
.p-course-taikenMv__pickup .h strong {
  font-size: 1.22em;
  color: #fffd55;
}
.p-course-taikenMv__pickup figure {
  --inline-size: 660;
  --block-size: 215;
  -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.36));
          filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.36));
  position: relative;
  inline-size: 100%;
}
.p-course-taikenMv__pickup figure img {
  inline-size: 100%;
}
.p-course-taikenMv__pickup figure a {
  background: -webkit-gradient(linear, left top, left bottom, from(#fffd55), to(#eae99a));
  background: -webkit-linear-gradient(#fffd55 0%, #eae99a 100%);
  background: linear-gradient(#fffd55 0%, #eae99a 100%);
  font-weight: bold;
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  -webkit-filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
          filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  inline-size: calc(466 / var(--inline-size) * 100%);
  block-size: calc(64 / var(--block-size) * 100%);
}
@media (min-width: 768.9px) {
  .p-course-taikenMv__pickup figure a {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-end: calc(24 / var(--block-size) * 100%);
    translate: -50% 0;
  }
}
@media (any-hover: hover) {
  .p-course-taikenMv__pickup figure a:hover {
    color: #fff;
  }
  .p-course-taikenMv__pickup figure a:hover::before {
    scale: 1 1;
  }
  .p-course-taikenMv__pickup figure a:hover::after {
    translate: 0 calc(-50% + 5/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-taikenMv__pickup figure a {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    padding: calc(12/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
    inline-size: 100%;
    block-size: max(max(11.5px, 38.4px), 64/var(--font-size) * 1rem);
  }
}
.p-course-taikenMv__pickup figure a::before {
  content: "";
  background-color: #000;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.5s var(--easing);
  transition: scale 0.5s var(--easing);
  z-index: -3;
}
.p-course-taikenMv__pickup figure a::after {
  content: "";
  aspect-ratio: 14/20;
  background-color: currentColor;
  display: block;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  position: absolute;
  inset-inline-end: calc(30/var(--base-size) * 1rem);
  inset-block-start: 50%;
  rotate: 90deg;
  translate: 0 -50%;
  -webkit-transition: translate 0.5s 0.1s var(--easing);
  transition: translate 0.5s 0.1s var(--easing);
  inline-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenMv__pickup figure a::after {
    inline-size: max(8px, 10/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-course-taiken__salon
/* ============================================ */
@media (min-width: 768.9px) {
  .p-course-taiken__salon {
    padding: calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  }
}

.p-course-taikenSalon__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
  background-color: #ebeff5;
  padding: calc(50/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenSalon__wrapper {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-course-taikenSalon__h {
  display: grid;
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-taikenSalon__h {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-course-taikenSalon__h .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  grid-column: 1/2;
  grid-row: 1/2;
  font-size: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1;
  color: rgba(0, 136, 65, 0.1);
}
@media (max-width: 768px) {
  .p-course-taikenSalon__h .en {
    font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  }
}
.p-course-taikenSalon__h .ja {
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  line-height: 1.3;
  color: #008841;
  display: grid;
  justify-items: center;
}
@media (max-width: 768px) {
  .p-course-taikenSalon__h .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-before: calc(22/var(--base-size) * 1rem);
            margin-block-start: calc(22/var(--base-size) * 1rem);
  }
}
.p-course-taikenSalon__h .ja .m {
  background-color: #156038;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(1/var(--base-size) * 1rem) calc(14/var(--base-size) * 1rem) 0;
}
@media (max-width: 768px) {
  .p-course-taikenSalon__h .ja .m {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-after: calc(8/var(--base-size) * 1rem);
            margin-block-end: calc(8/var(--base-size) * 1rem);
  }
}
.p-course-taikenSalon__h .ja .n {
  font-size: 1.6em;
  -webkit-margin-start: 0.4em;
          margin-inline-start: 0.4em;
  margin-block: -0.25em -0.1em;
  translate: 0 -0.05em;
}
@media (max-width: 768px) {
  .p-course-taikenSalon__h .ja .n {
    font-size: 1.2em;
  }
}

.p-course-taikenSalon__container {
  -webkit-filter: drop-shadow(0 0 calc(10/var(--base-size) * 1rem) rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 calc(10/var(--base-size) * 1rem) rgba(0, 0, 0, 0.2));
  margin-inline: auto;
  inline-size: min(100%, 1130px);
}
.p-course-taikenSalon__container + .p-course-taikenSalon__container {
  -webkit-margin-before: calc(25/var(--base-size) * 1rem);
          margin-block-start: calc(25/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenSalon__container + .p-course-taikenSalon__container {
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}

.p-course-taikenSalon__ttl {
  background-color: #008841;
  font-weight: 500;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  line-height: 1.3;
  color: #fff;
  padding: calc(10/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-taikenSalon__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}

.p-course-taikenSalon__content {
  background-color: #fff;
  border: max(4px, 6/var(--base-size) * 1rem) solid rgba(0, 136, 65, 0.7);
  padding: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenSalon__content {
    padding: calc(22/var(--base-size) * 1rem);
  }
}

.p-course-taikenSalon__list {
  display: grid;
  gap: calc(15/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-taikenSalon__list {
    grid-template-columns: repeat(4, auto);
  }
}
@media (max-width: 768px) {
  .p-course-taikenSalon__list {
    gap: calc(10/var(--base-size) * 1rem);
    inline-size: min(100%, 320px);
  }
}

.p-course-taikenSalon__item a {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  border: 1px solid #008841;
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #fff;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(10/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: color 0.4s 0.1s;
  transition: color 0.4s 0.1s;
  inline-size: max(max(11.5px, 172.2px), 287/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .p-course-taikenSalon__item a:hover {
    color: #008841;
  }
  .p-course-taikenSalon__item a:hover::before {
    scale: 1 1;
  }
}
@media (max-width: 768px) {
  .p-course-taikenSalon__item a {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    inline-size: 100%;
    block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  }
}
.p-course-taikenSalon__item a::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.4s;
  transition: scale 0.4s;
  z-index: -3;
}
.p-course-taikenSalon__item a::after {
  content: "";
  aspect-ratio: 14/20;
  background-color: currentColor;
  display: block;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  position: absolute;
  inset-inline-end: calc(15/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
}

/* ============================================ */
/*  p-course-taiken__flow
/* ============================================ */
.p-course-taiken__flow {
  background: -webkit-gradient(linear, left top, left bottom, from(#113652), to(#081d4d));
  background: -webkit-linear-gradient(#113652 0%, #081d4d 100%);
  background: linear-gradient(#113652 0%, #081d4d 100%);
  padding: calc(60/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taiken__flow {
    padding: calc(40/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
  }
}

.p-course-taikenFlow__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-course-taikenFlow__h {
  display: grid;
  -webkit-margin-after: calc(80/var(--base-size) * 1rem);
          margin-block-end: calc(80/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__h {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__h .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 500;
  font-size: max(max(11.5px, 93.6px), 156/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.07);
}
@media (max-width: 768px) {
  .p-course-taikenFlow__h .en {
    font-size: max(max(11.5px, 37.2px), 62/var(--font-size) * 1rem);
  }
}
.p-course-taikenFlow__h .ja {
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.4;
  color: #fff;
  display: grid;
  justify-items: center;
  -webkit-margin-before: calc(24/var(--base-size) * 1rem);
          margin-block-start: calc(24/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenFlow__h .ja {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__h .ja .m {
  font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: calc(24/var(--base-size) * 1rem);
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__h .ja .m {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    gap: calc(15/var(--base-size) * 1rem);
    -webkit-margin-after: calc(8/var(--base-size) * 1rem);
            margin-block-end: calc(8/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__h .ja .m::before, .p-course-taikenFlow__h .ja .m::after {
  content: "";
  background-color: currentColor;
  -webkit-margin-before: -0.3em;
          margin-block-start: -0.3em;
  inline-size: 2px;
  block-size: 1em;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__h .ja .m::before, .p-course-taikenFlow__h .ja .m::after {
    -webkit-margin-before: -0.8em;
            margin-block-start: -0.8em;
    inline-size: 1px;
  }
}
.p-course-taikenFlow__h .ja .m::before {
  rotate: -30deg;
}
.p-course-taikenFlow__h .ja .m::after {
  rotate: 30deg;
}
.p-course-taikenFlow__h .ja .m strong {
  font-size: 1.22em;
  color: #fffd55;
}

.p-course-taikenFlow__list {
  display: grid;
  gap: calc(70/var(--base-size) * 1rem) calc(140/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-taikenFlow__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .p-course-taikenFlow__list {
    gap: calc(35/var(--base-size) * 1rem);
  }
}

.p-course-taikenFlow__item {
  background-color: #fff;
  padding: calc(38/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenFlow__item {
    padding: calc(50/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__item:nth-child(odd) {
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-course-taikenFlow__item:nth-child(even) {
    position: relative;
    z-index: 0;
  }
  .p-course-taikenFlow__item:nth-child(even)::before {
    content: "";
    background-color: #ae9350;
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 50%;
    translate: -100% -50%;
    inline-size: calc(138/var(--base-size) * 1rem);
    block-size: 2px;
    z-index: -3;
  }
  .p-course-taikenFlow__item:nth-child(even)::after {
    content: "";
    background-color: #ae9350;
    position: absolute;
    inset-inline-start: calc(-70/var(--base-size) * 1rem);
    inset-block-end: calc(-35/var(--base-size) * 1rem);
    translate: -50% 0;
    rotate: -35deg;
    inline-size: calc(170/var(--base-size) * 1rem);
    block-size: 2px;
    z-index: -3;
  }
}
@media (min-width: 768.9px) {
  .p-course-taikenFlow__item:last-child {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr max(max(11.5px, 255px), 425/var(--font-size) * 1rem);
    -webkit-column-gap: calc(35/var(--base-size) * 1rem);
       -moz-column-gap: calc(35/var(--base-size) * 1rem);
            column-gap: calc(35/var(--base-size) * 1rem);
    margin-inline: auto;
    text-align: center;
    max-inline-size: max(max(11.5px, 648px), 1080/var(--font-size) * 1rem);
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__img {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    grid-row: span 3;
    position: relative;
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__img figure:nth-child(2) {
    position: absolute;
    inset-inline-end: calc(-32/var(--base-size) * 1rem);
    inset-block-end: calc(-42/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 93px), 155/var(--font-size) * 1rem);
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__ttl {
    justify-items: center;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    padding: unset;
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__ttl .i {
    -webkit-margin-after: calc(10/var(--base-size) * 1rem);
            margin-block-end: calc(10/var(--base-size) * 1rem);
    position: relative;
    inset-inline-start: auto;
    inset-block-start: auto;
  }
}
@media (max-width: 768px) {
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__img {
    position: relative;
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__img figure:nth-child(1) {
    aspect-ratio: 553/307;
    overflow: hidden;
    inline-size: 100%;
  }
  .p-course-taikenFlow__item:last-child .p-course-taikenFlow__img figure:nth-child(2) {
    position: absolute;
    inset-inline-end: calc(-25/var(--base-size) * 1rem);
    inset-block-end: calc(-52/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 60px), 100/var(--font-size) * 1rem);
  }
}

.p-course-taikenFlow__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  line-height: 1.6;
  color: #0f3052;
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-course-taikenFlow__ttl {
    position: relative;
    padding: calc(10/var(--base-size) * 1rem) 0 calc(10/var(--base-size) * 1rem) calc(max(max(11.5px, 48px), 80/var(--font-size) * 1rem) + 22/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-taikenFlow__ttl {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-course-taikenFlow__ttl .i {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  aspect-ratio: 1;
  background-color: #ae9350;
  border-radius: 50%;
  font-weight: 500;
  font-size: max(max(11.5px, 11.4px), 19/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 1;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-padding-start: 0.15em;
          padding-inline-start: 0.15em;
  position: absolute;
  inset-inline-start: calc(-6/var(--base-size) * 1rem);
  inset-block-start: 0;
  inline-size: max(max(11.5px, 52.8px), 88/var(--font-size) * 1rem);
  max-block-size: none;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__ttl .i {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    inset-inline-start: 50%;
    translate: -50% -30%;
    inline-size: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
  }
}
.p-course-taikenFlow__ttl .n {
  font-size: 2.15em;
  margin-block: -0.05em -0.2em;
}

.p-course-taikenFlow__img {
  overflow: hidden;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__img {
    -webkit-margin-after: calc(10/var(--base-size) * 1rem);
            margin-block-end: calc(10/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__img:has(img:nth-child(2)) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(15/var(--base-size) * 1rem);
}
.p-course-taikenFlow__img:has(img:nth-child(2)) img:nth-child(2) {
  translate: 0 calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenFlow__img:has(img:nth-child(2)) img:nth-child(2) {
    translate: 0 calc(10/var(--base-size) * 1rem);
  }
}
.p-course-taikenFlow__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-course-taikenFlow__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-course-taikenFlow__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.769;
  }
}
.p-course-taikenFlow__txt .s {
  font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  letter-spacing: -0.04em;
  color: #ff1717;
}

/* ============================================ */
/*  p-course-taiken__cta
/* ============================================ */
.p-course-taiken__cta {
  background: -webkit-linear-gradient(325deg, #008841 0%, #156038 100%);
  background: linear-gradient(125deg, #008841 0%, #156038 100%);
  padding: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taiken__cta {
    padding: calc(30/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  }
}

.p-course-taikenCta__wrapper {
  margin-inline: auto;
  max-inline-size: 1280px;
  max-inline-size: max(1280px - 200/var(--base-size) * 1rem, 1280/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-course-taikenCta__wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-column-gap: calc(50/var(--base-size) * 1rem);
       -moz-column-gap: calc(50/var(--base-size) * 1rem);
            column-gap: calc(50/var(--base-size) * 1rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-course-taikenCta__h {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.6;
  color: #fff;
  -webkit-margin-after: calc(35/var(--base-size) * 1rem);
          margin-block-end: calc(35/var(--base-size) * 1rem);
  text-align: center;
}
@media (min-width: 768.9px) {
  .p-course-taikenCta__h {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
  .p-course-taikenCta__h {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    -webkit-margin-start: calc(-22/var(--base-size) * 1rem);
            margin-inline-start: calc(-22/var(--base-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: calc(100% + 44/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}

.p-course-taikenCta__img img {
  inline-size: 100%;
}

@media (max-width: 768px) {
  .p-course-taikenCta__btn {
    -webkit-margin-before: calc(24/var(--base-size) * 1rem);
            margin-block-start: calc(24/var(--base-size) * 1rem);
  }
}
.p-course-taikenCta__btn a {
  background: -webkit-gradient(linear, left top, left bottom, from(#fffd55), to(#eae99a));
  background: -webkit-linear-gradient(#fffd55 0%, #eae99a 100%);
  background: linear-gradient(#fffd55 0%, #eae99a 100%);
  -webkit-filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
          filter: drop-shadow(3px 3px 5px rgba(255, 255, 255, 0.25));
  font-weight: bold;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(12/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: color 0.5s 0.1s;
  transition: color 0.5s 0.1s;
  inline-size: max(max(11.5px, 285px), 475/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 53.4px), 89/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .p-course-taikenCta__btn a:hover {
    color: #fff;
  }
  .p-course-taikenCta__btn a:hover::before {
    scale: 1 1;
  }
  .p-course-taikenCta__btn a:hover::after {
    translate: 0 calc(-50% - 5/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-course-taikenCta__btn a {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    padding: calc(12/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
    inline-size: 100%;
    block-size: max(max(11.5px, 38.4px), 64/var(--font-size) * 1rem);
  }
}
.p-course-taikenCta__btn a::before {
  content: "";
  background-color: #000;
  position: absolute;
  inset: -1px;
  scale: 0 1;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.5s;
  transition: scale 0.5s;
  z-index: -3;
}
.p-course-taikenCta__btn a::after {
  content: "";
  aspect-ratio: 14/20;
  background-color: currentColor;
  display: block;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  position: absolute;
  inset-inline-end: calc(30/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
  rotate: -90deg;
  -webkit-transition: translate 0.5s;
  transition: translate 0.5s;
  inline-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-course-taikenCta__btn a::after {
    inline-size: max(8px, 10/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  商品紹介
----------------------------------------------- */
@media (max-width: 768px) {
  .p-product__mv .en {
    font-size: max(max(11.5px, 21.6px), 36/var(--font-size) * 1rem);
  }
}

.p-product__outer {
  padding: calc(40/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(130/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  }
}

.p-product__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  counter-reset: number 0;
  position: relative;
}

.p-product__container {
  display: grid;
  grid-template-columns: 1fr 42.1428571429%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (any-hover: hover) {
  .p-product__container:has(a:hover) .p-product__img img {
    scale: 1.1 1.1;
  }
  .p-product__container:has(a:hover) .ico {
    background-color: #fff;
  }
  .p-product__container:has(a:hover) .ico::after {
    background-color: #008841;
  }
}
@media (max-width: 768px) {
  .p-product__container {
    grid-template-columns: 1fr;
  }
}
.p-product__container + .p-product__container {
  -webkit-margin-before: calc(90/var(--base-size) * 1rem);
          margin-block-start: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__container + .p-product__container {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-product__container:nth-child(odd) {
    grid-template-columns: 42.1428571429% 1fr;
  }
  .p-product__container:nth-child(odd) .p-product__img {
    justify-self: end;
  }
  .p-product__container:nth-child(odd) .p-product__contents {
    grid-column: 1/2;
  }
}
.p-product__container.premium .p-product__contents {
  background: -webkit-linear-gradient(325deg, #310f0b 0%, #644442 100%);
  background: linear-gradient(125deg, #310f0b 0%, #644442 100%);
}
@media (any-hover: hover) {
  .p-product__container.premium:has(a:hover) .ico::after {
    background-color: #310f0b;
  }
}
.p-product__container.premium-botanical .p-product__contents {
  background: -webkit-linear-gradient(325deg, #2a892a 0%, #61965f 100%);
  background: linear-gradient(125deg, #2a892a 0%, #61965f 100%);
}
.p-product__container.plus .p-product__contents {
  background: -webkit-linear-gradient(325deg, #e85400 0%, #e3925a 100%);
  background: linear-gradient(125deg, #e85400 0%, #e3925a 100%);
}
@media (any-hover: hover) {
  .p-product__container.plus:has(a:hover) .ico::after {
    background-color: #e85400;
  }
}
.p-product__container.ladies .p-product__contents {
  background: -webkit-linear-gradient(325deg, #fa799a 0%, #6b588f 100%);
  background: linear-gradient(125deg, #fa799a 0%, #6b588f 100%);
}
.p-product__container.ladies .p-product__logo {
  inline-size: max(max(11.5px, 63px), 105/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__container.ladies .p-product__logo {
    inline-size: max(max(11.5px, 37.8px), 63/var(--font-size) * 1rem);
  }
}
.p-product__container.ladies .p-product__ttl .ja small {
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
}
.p-product__container.ladies .p-product__ttl .ja span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
}
@media (any-hover: hover) {
  .p-product__container.ladies:has(a:hover) .ico::after {
    background-color: #fa799a;
  }
}
.p-product__container a {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 100%;
  z-index: 9;
}

.p-product__img {
  grid-column: 1/3;
  grid-row: 1/2;
  align-self: start;
  overflow: hidden;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  inline-size: 63.7142857143%;
}
@media (max-width: 768px) {
  .p-product__img {
    grid-column: 1/2;
    grid-row: 2/3;
    -webkit-margin-after: unset;
            margin-block-end: unset;
    inline-size: 100%;
  }
}
.p-product__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-product__contents {
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: end;
  background-color: #156038;
  color: #fff;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
  padding: calc(38/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem) calc(38/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-product__contents {
    grid-column: 1/2;
    grid-row: 1/2;
    -webkit-margin-before: unset;
            margin-block-start: unset;
    padding: calc(20/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-product__contents::after {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.39);
  pointer-events: none;
  position: absolute;
  inset: calc(10/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-product__contents::after {
    inset: calc(6/var(--base-size) * 1rem);
  }
}
.p-product__contents .ico {
  aspect-ratio: 1;
  border: 1px solid #fff;
  -webkit-margin-before: calc(48/var(--base-size) * 1rem);
          margin-block-start: calc(48/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
  inline-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__contents .ico {
    margin-inline: auto;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-product__contents .ico::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(10px, 12/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (max-width: 768px) {
  .p-product__contents .ico::after {
    inline-size: calc(6/var(--base-size) * 1rem);
  }
}

.p-product__logo {
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 58.8px), 98/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__logo {
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
    inline-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
  }
}

.p-product__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.07);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0.3em;
  translate: -50% 0;
  text-align: center;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-product__ttl .en {
    font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  }
}
.p-product__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  line-height: 1.35;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  -webkit-padding-after: calc(20/var(--base-size) * 1rem);
          padding-block-end: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-product__ttl .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-product__ttl .ja::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-product__ttl .ja::before {
    content: none;
  }
}
.p-product__ttl .ja span {
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product__ttl .ja span {
    font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  }
}

.p-product__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-product__txt {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

/* ----------------------------------------------
  商品紹介 - 詳細ページ
----------------------------------------------- */
@media (max-width: 768px) {
  #page-product-detail .c-mv__ttl .en {
    font-size: max(max(11.5px, 26.4px), 44/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  #page-product-detail .c-btn_01 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}
#page-product-detail.premium-botanical .p-product-detail__mv::before {
  background: -webkit-linear-gradient(290deg, #2c892b 0%, #419140 100%);
  background: linear-gradient(160deg, #2c892b 0%, #419140 100%);
}
#page-product-detail.premium-botanical .p-product-detailMv__contents {
  background: -webkit-linear-gradient(290deg, #2c892b 0%, #61965f 100%);
  background: linear-gradient(160deg, #2c892b 0%, #61965f 100%);
}
#page-product-detail.premium-botanical .p-product-detailMv__bg {
  mix-blend-mode: soft-light;
  opacity: 0.5;
}
#page-product-detail.premium-botanical .p-product-detail__outer {
  background: -webkit-linear-gradient(285deg, #008388 0%, #003b0b 100%);
  background: linear-gradient(165deg, #008388 0%, #003b0b 100%);
}
#page-product-detail.premium-botanical .p-product-detail__pickup .pickup__img {
  inline-size: 33.3333333333%;
}
@media (max-width: 768px) {
  #page-product-detail.premium-botanical .p-product-detail__pickup .pickup__img {
    margin-inline: auto;
    inline-size: calc(54/var(--base-size) * 1rem);
  }
}
#page-product-detail.premium-botanical .p-product-detail__pickup .pickup__label,
#page-product-detail.premium-botanical .p-product-detail__label {
  background-color: #e7f2ed;
  color: #156038;
}
#page-product-detail.premium-botanical .p-product-detail__h {
  color: #156038;
}
#page-product-detail.plus .p-product-detail__mv::before {
  background: -webkit-linear-gradient(290deg, #e85606 0%, #d78044 100%);
  background: linear-gradient(160deg, #e85606 0%, #d78044 100%);
}
#page-product-detail.plus .p-product-detailMv__contents {
  background: -webkit-linear-gradient(290deg, #e85606 0%, #e2925a 100%);
  background: linear-gradient(160deg, #e85606 0%, #e2925a 100%);
}
#page-product-detail.plus .p-product-detailMv__bg {
  mix-blend-mode: color-dodge;
  opacity: 0.3;
}
#page-product-detail.plus .p-product-detail__outer {
  background: -webkit-linear-gradient(285deg, #008388 0%, #ad6e08 100%);
  background: linear-gradient(165deg, #008388 0%, #ad6e08 100%);
}
#page-product-detail.plus .p-product-detail__pickup .pickup__label,
#page-product-detail.plus .p-product-detail__label {
  background-color: #f2ede7;
  color: #e85606;
}
#page-product-detail.plus .p-product-detail__h {
  color: #e85606;
}
#page-product-detail.plus .p-product-detail__item:nth-child(3) figure {
  block-size: calc(135/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  #page-product-detail.plus .p-product-detail__item:nth-child(3) figure {
    block-size: calc(90/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  #page-product-detail.plus .p-product-detail__item:nth-child(10) figure {
    block-size: max(max(11.5px, 48px), 80/var(--font-size) * 1rem);
  }
}
#page-product-detail.ladies .p-product-detail__mv::before {
  background: -webkit-linear-gradient(290deg, #fb8092 0%, #aa5fa4 100%);
  background: linear-gradient(160deg, #fb8092 0%, #aa5fa4 100%);
}
#page-product-detail.ladies .p-product-detailMv__wrapper::after {
  z-index: 3;
}
#page-product-detail.ladies .p-product-detailMv__contents {
  background: -webkit-linear-gradient(290deg, #fa799a 0%, #645285 100%);
  background: linear-gradient(160deg, #fa799a 0%, #645285 100%);
  z-index: 3;
}
#page-product-detail.ladies .p-product-detailMv__logo {
  inline-size: max(max(11.5px, 63px), 105/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  #page-product-detail.ladies .p-product-detailMv__logo {
    inline-size: max(max(11.5px, 37.8px), 63/var(--font-size) * 1rem);
  }
}
#page-product-detail.ladies .p-product-detailMv__ttl .ja small {
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  #page-product-detail.ladies .p-product-detailMv__ttl .ja small {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
#page-product-detail.ladies .p-product-detailMv__ttl .ja span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  #page-product-detail.ladies .p-product-detailMv__ttl .ja span {
    font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  #page-product-detail.ladies .p-product-detailMv__bg {
    mix-blend-mode: revert;
    opacity: 0.85;
    position: absolute;
    inset-inline-start: 54.1666666667%;
    inset-inline-end: auto;
    inset-block-start: auto;
    inset-block-end: calc(100/var(--base-size) * 1rem);
    inline-size: calc(340/var(--base-size) * 1rem);
    block-size: auto;
    z-index: -3;
  }
}
@media (max-width: 768px) {
  #page-product-detail.ladies .p-product-detailMv__bg {
    mix-blend-mode: color-dodge;
    opacity: 0.1;
  }
}
#page-product-detail.ladies .p-product-detail__outer {
  background: -webkit-linear-gradient(285deg, #6b588f 0%, #7d3d4d 100%);
  background: linear-gradient(165deg, #6b588f 0%, #7d3d4d 100%);
}
#page-product-detail.ladies .p-product-detail__pickup .pickup__label,
#page-product-detail.ladies .p-product-detail__label {
  background-color: #f5e1e9;
  color: #d16e94;
}
#page-product-detail.ladies .p-product-detail__pickup .pickup__ttl span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
}
#page-product-detail.ladies .p-product-detail__h {
  color: #d16e94;
}

/* ============================================ */
/*  p-product-detail__mv
/* ============================================ */
.p-product-detail__mv {
  container-type: inline-size;
  display: grid;
  grid-template-columns: 1fr min(100%, 1920px) 1fr;
  -webkit-margin-after: calc(70/var(--base-size) * 1rem);
          margin-block-end: calc(70/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-product-detail__mv {
    display: revert;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-product-detail__mv::before {
    content: "";
    background: -webkit-gradient(linear, left top, left bottom, from(#32100c), to(#552f2b));
    background: -webkit-linear-gradient(#32100c 0%, #552f2b 100%);
    background: linear-gradient(#32100c 0%, #552f2b 100%);
    inline-size: 100%;
    block-size: 100%;
  }
}

.p-product-detailMv__wrapper {
  display: grid;
  grid-template-columns: 1fr 52.0833333333%;
}
@media (max-width: 768px) {
  .p-product-detailMv__wrapper {
    display: revert;
  }
}
@media (min-width: 768.9px) {
  .p-product-detailMv__wrapper::after {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    content: "";
    background-color: #fff;
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: -1px;
    block-size: calc(70/var(--base-size) * 1rem);
  }
}

.p-product-detailMv__contents {
  grid-column: 1/3;
  grid-row: 1/2;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  background: -webkit-linear-gradient(290deg, #32100c 0%, #644442 100%);
  background: linear-gradient(160deg, #32100c 0%, #644442 100%);
  color: #fff;
  overflow: hidden;
  padding: calc(54/var(--base-size) * 1rem) calc(280/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  position: relative;
  inline-size: 62.5%;
}
@media (max-width: 768px) {
  .p-product-detailMv__contents {
    padding: calc(15/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
    inline-size: calc(100% - 30/var(--base-size) * 1rem);
  }
}

.p-product-detailMv__bg {
  mix-blend-mode: screen;
  opacity: 0.2;
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: calc(100% - 70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailMv__bg {
    block-size: 100%;
  }
}
.p-product-detailMv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-product-detailMv__logo {
  -webkit-margin-after: calc(60/var(--base-size) * 1rem);
          margin-block-end: calc(60/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 58.8px), 98/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailMv__logo {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
  }
}

.p-product-detailMv__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.07);
  position: absolute;
  inset-inline-start: calc(150/var(--base-size) * 1rem);
  inset-block-start: calc(38/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-product-detailMv__ttl .en {
    font-size: max(max(11.5px, 33.6px), 56/var(--font-size) * 1rem);
    inset-inline-start: 0;
    inset-block-start: -0.15em;
  }
}
.p-product-detailMv__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  line-height: 1.35;
  -webkit-margin-after: calc(25/var(--base-size) * 1rem);
          margin-block-end: calc(25/var(--base-size) * 1rem);
  -webkit-padding-after: calc(20/var(--base-size) * 1rem);
          padding-block-end: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-product-detailMv__ttl .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: calc(15/var(--base-size) * 1rem);
            padding-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-product-detailMv__ttl .ja::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  block-size: 1px;
}
.p-product-detailMv__ttl .ja span {
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailMv__ttl .ja span {
    font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  }
}

.p-product-detailMv__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-product-detailMv__txt {
    font-weight: normal;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2.12;
  }
}

.p-product-detailMv__img {
  grid-column: 2/3;
  grid-row: 1/2;
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
  position: relative;
  z-index: 9;
}
@media (max-width: 768px) {
  .p-product-detailMv__img {
    -webkit-margin-start: calc(15/var(--base-size) * 1rem);
            margin-inline-start: calc(15/var(--base-size) * 1rem);
    -webkit-margin-before: calc(-55/var(--base-size) * 1rem);
            margin-block-start: calc(-55/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-product-detail__outer
/* ============================================ */
.p-product-detail__outer {
  background: -webkit-linear-gradient(285deg, #008388 0%, #3b0000 100%);
  background: linear-gradient(165deg, #008388 0%, #3b0000 100%);
  padding: calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__outer {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-product-detail__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-product-detail__pickup {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 33% 1fr;
  gap: calc(80/var(--base-size) * 1rem);
  color: #fff;
  -webkit-margin-after: calc(100/var(--base-size) * 1rem);
          margin-block-end: calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__pickup {
    grid-template-columns: calc(88/var(--base-size) * 1rem) 1fr;
    gap: 0 5px;
    -webkit-margin-after: calc(70/var(--base-size) * 1rem);
            margin-block-end: calc(70/var(--base-size) * 1rem);
  }
}
.p-product-detail__pickup .pickup__img {
  -webkit-filter: drop-shadow(0 0 calc(20/var(--base-size) * 1rem) rgba(255, 255, 255, 0.4));
          filter: drop-shadow(0 0 calc(20/var(--base-size) * 1rem) rgba(255, 255, 255, 0.4));
  margin: auto;
  inline-size: 33.3333333333%;
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__img {
    grid-row: span 2;
    inline-size: calc(54/var(--base-size) * 1rem);
  }
}
.p-product-detail__pickup .pickup__contents {
  max-inline-size: 860px;
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__contents {
    display: contents;
  }
}
.p-product-detail__pickup .pickup__label {
  background-color: #f2efe7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #000;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
  padding: 5px calc(15/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__label {
    -webkit-align-self: end;
        -ms-flex-item-align: end;
            align-self: end;
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
    -webkit-margin-after: 8PX;
            margin-block-end: 8PX;
  }
}
.p-product-detail__pickup .pickup__ttl {
  font-weight: 500;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  line-height: 1.2;
  -webkit-margin-start: -0.05em;
          margin-inline-start: -0.05em;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__ttl {
    font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
    -webkit-margin-after: unset;
            margin-block-end: unset;
  }
}
.p-product-detail__pickup .pickup__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2.33;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__txt {
    grid-column: span 2;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2.12;
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
    text-align: justify;
  }
}
.p-product-detail__pickup .pickup__btn {
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__pickup .pickup__btn {
    grid-column: span 2;
    justify-self: center;
    -webkit-margin-before: calc(25/var(--base-size) * 1rem);
            margin-block-start: calc(25/var(--base-size) * 1rem);
  }
}

.p-product-detail__list {
  container-type: inline-size;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(270px, (100% - 75/var(--base-size) * 1rem * 2) / 3), 1fr));
  gap: calc(60/var(--base-size) * 1rem) calc(75/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__list {
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    gap: calc(20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-product-detail__item {
  grid-row: span 4;
  background-color: rgba(255, 255, 255, 0.95);
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-rows: subgrid;
  gap: calc(20/var(--base-size) * 1rem);
  padding: calc(50/var(--base-size) * 1rem);
  position: relative;
  min-block-size: calc(600/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__item {
    grid-row: unset;
    grid-template-columns: 58.6666666667cqi 1fr;
    grid-template-rows: unset;
    gap: 0;
    padding: calc(30/var(--base-size) * 1rem);
    min-block-size: 0;
  }
}
@media (max-width: 768px) {
  .p-product-detail__item:not(:has(.p-product-detail__label)) .p-product-detail__h {
    grid-column: 1/2;
    grid-row: 1/3;
    align-self: center;
  }
  .p-product-detail__item:not(:has(.p-product-detail__label)) .p-product-detail__txt {
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
  }
}

.p-product-detail__img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  block-size: max(max(11.5px, 102px), 170/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__img {
    grid-column: 1/3;
    grid-row: 1/3;
    justify-self: end;
    min-inline-size: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
    block-size: calc(100/var(--base-size) * 1rem);
  }
}
.p-product-detail__img img {
  width: auto;
}

.p-product-detail__label {
  background-color: #f2efe7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  color: #000;
  padding: 5px calc(15/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (min-width: 768.9px) {
  .p-product-detail__label {
    position: absolute;
    inset-inline-start: calc(30/var(--base-size) * 1rem);
    inset-block-start: calc(30/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-product-detail__label {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: end;
    font-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
  }
}

.p-product-detail__h {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 768px) {
  .p-product-detail__h {
    grid-column: 1/3;
    grid-row: 2/3;
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    text-align: revert;
  }
}

.p-product-detail__txt {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2.33;
}
@media (max-width: 768px) {
  .p-product-detail__txt {
    grid-column: 1/3;
    grid-row: 3/4;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2.12;
    text-align: justify;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}

.p-product-detail__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (max-width: 768px) {
  .p-product-detail__btn {
    grid-column: 1/3;
    grid-row: 4/5;
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.p-product-detail__btn .senbai {
  background-color: #fff;
  border: 1px solid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #156038;
  line-height: 1.45;
  padding: 5px calc(15/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: min(max(max(11.5px, 178.2px), 297/var(--font-size) * 1rem), 100%);
  min-block-size: max(max(11.5px, 31.8px), 53/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__btn .senbai {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-product-detail__series
/* ============================================ */
.p-product-detail__series {
  padding: calc(70/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detail__series {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-product-detailSeries__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-product-detailSeries__ttl .en {
  margin-inline: calc(50% - 50vw);
  inline-size: 100vw;
  max-inline-size: none;
  font-size: calc(124/var(--base-size) * 1rem);
  color: rgba(0, 0, 0, 0.03);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-product-detailSeries__ttl .en {
    font-size: calc(40/var(--base-size) * 1rem);
  }
}

.p-product-detailSeries__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(35/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__list {
    grid-template-columns: 1fr;
    gap: calc(15/var(--base-size) * 1rem);
  }
}

.p-product-detailSeries__item {
  background-color: #156038;
  display: grid;
  grid-template-areas: "logo _" "ttl ttl" "txt ico";
  grid-template-columns: 1fr auto;
  gap: 0 calc(20/var(--base-size) * 1rem);
  color: #fff;
  padding: calc(38/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem) calc(52/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
  z-index: 3;
}
@media (any-hover: hover) {
  .p-product-detailSeries__item:has(a:hover) {
    -webkit-filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.3));
            filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.3));
  }
  .p-product-detailSeries__item:has(a:hover) .ico {
    background-color: #fff;
  }
  .p-product-detailSeries__item:has(a:hover) .ico::after {
    background-color: #008841;
  }
}
@media (max-width: 768px) {
  .p-product-detailSeries__item {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-areas: "ttl ttl" "txt ico";
    padding: calc(15/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
    min-block-size: calc(180/var(--base-size) * 1rem);
  }
}
.p-product-detailSeries__item.premium {
  background: -webkit-linear-gradient(325deg, #310f0b 0%, #644442 100%);
  background: linear-gradient(125deg, #310f0b 0%, #644442 100%);
}
@media (any-hover: hover) {
  .p-product-detailSeries__item.premium:has(a:hover) .ico::after {
    background-color: #310f0b;
  }
}
.p-product-detailSeries__item.premium-botanical {
  background: -webkit-linear-gradient(325deg, #2a892a 0%, #61965f 100%);
  background: linear-gradient(125deg, #2a892a 0%, #61965f 100%);
}
@media (any-hover: hover) {
  .p-product-detailSeries__item.premium-botanical:has(a:hover) .ico::after {
    background-color: #61965f;
  }
}
.p-product-detailSeries__item.premium-botanical .p-product-detailSeries__h .ja {
  letter-spacing: -0.05em;
}
.p-product-detailSeries__item.plus {
  background: -webkit-linear-gradient(325deg, #e85400 0%, #e3925a 100%);
  background: linear-gradient(125deg, #e85400 0%, #e3925a 100%);
}
@media (any-hover: hover) {
  .p-product-detailSeries__item.plus:has(a:hover) .ico::after {
    background-color: #e3925a;
  }
}
.p-product-detailSeries__item.ladies {
  background: -webkit-linear-gradient(325deg, #fa799a 0%, #6b588f 100%);
  background: linear-gradient(125deg, #fa799a 0%, #6b588f 100%);
}
@media (any-hover: hover) {
  .p-product-detailSeries__item.ladies:has(a:hover) .ico::after {
    background-color: #6b588f;
  }
}
.p-product-detailSeries__item.ladies .p-product-detailSeries__logo {
  inline-size: max(max(11.5px, 63px), 105/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__item.ladies .p-product-detailSeries__logo {
    inline-size: max(max(11.5px, 37.8px), 63/var(--font-size) * 1rem);
  }
}
.p-product-detailSeries__item.ladies .p-product-detailSeries__h .ja small {
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__item.ladies .p-product-detailSeries__h .ja small {
    font-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
  }
}
.p-product-detailSeries__item.ladies .p-product-detailSeries__h .ja span {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-product-detailSeries__item.ladies .p-product-detailSeries__h .ja span {
    font-size: max(max(11.5px, 13.8px), 23/var(--font-size) * 1rem);
  }
}
.p-product-detailSeries__item::after {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.39);
  pointer-events: none;
  position: absolute;
  inset: calc(10/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-product-detailSeries__item::after {
    inset: calc(6/var(--base-size) * 1rem);
  }
}
.p-product-detailSeries__item .ico {
  grid-area: ico;
  align-self: end;
  aspect-ratio: 1;
  border: 1px solid #fff;
  position: relative;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
  inline-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__item .ico {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    margin-inline: auto;
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-product-detailSeries__item .ico::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(8px, 10/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (max-width: 768px) {
  .p-product-detailSeries__item .ico::after {
    inline-size: calc(6/var(--base-size) * 1rem);
  }
}
.p-product-detailSeries__item a {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 100%;
  z-index: 9;
}

.p-product-detailSeries__logo {
  grid-area: logo;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 58.8px), 98/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__logo {
    -webkit-margin-after: unset;
            margin-block-end: unset;
    position: absolute;
    inset-inline-end: calc(12/var(--base-size) * 1rem);
    inset-block-start: calc(12/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
  }
}

.p-product-detailSeries__h {
  grid-area: ttl;
}
@media (max-width: 768px) {
  .p-product-detailSeries__h {
    -webkit-align-self: end;
        -ms-flex-item-align: end;
            align-self: end;
  }
}
.p-product-detailSeries__h .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 40.8px), 68/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.07);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0.3em;
  translate: -50% 0;
  text-align: center;
  white-space: nowrap;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-product-detailSeries__h .en {
    font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
    inset-block-start: -0.1em;
  }
}
.p-product-detailSeries__h .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  line-height: 1.35;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  -webkit-padding-after: calc(20/var(--base-size) * 1rem);
          padding-block-end: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-product-detailSeries__h .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 8px;
            margin-block-end: 8px;
    -webkit-padding-after: calc(15/var(--base-size) * 1rem);
            padding-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-product-detailSeries__h .ja::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  block-size: 1px;
}
.p-product-detailSeries__h .ja span {
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-product-detailSeries__h .ja span {
    font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  }
}

.p-product-detailSeries__txt {
  grid-area: txt;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 768px) {
  .p-product-detailSeries__txt {
    font-weight: normal;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2;
  }
}

/* ----------------------------------------------
  発毛実績
----------------------------------------------- */
@media (max-width: 768px) {
  #page-case .p-case__mv .en {
    font-size: max(max(11.5px, 30.6px), 51/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-case__pickup
/* ============================================ */
@media (min-width: 768.9px) {
  .p-case__pickup {
    display: grid;
    grid-template-columns: 1fr min(100%, 1920px) 1fr;
  }
}
@media (max-width: 768px) {
  .p-case__pickup {
    background-color: #edf8f8;
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-case__pickup::before {
    content: "";
    background-color: #edf8f8;
    inline-size: 100%;
    block-size: 100%;
  }
}

.p-casePickup__slider {
  position: relative;
}
@media (max-width: 768px) {
  .p-casePickup__slider {
    -webkit-padding-before: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
            padding-block-start: max(max(11.5px, 42px), 70/var(--font-size) * 1rem);
  }
}
.p-casePickup__slider .swiper-slide {
  display: grid;
  grid-template-columns: 47.9166666667% 1fr;
  place-items: center;
}
@media (any-hover: hover) {
  .p-casePickup__slider .swiper-slide:has(a:hover) .p-casePickup__h span {
    background-size: 100% 1px;
    color: #008841;
  }
  .p-casePickup__slider .swiper-slide:has(a:hover) img {
    scale: 1.15 1.15;
  }
}
@media (max-width: 768px) {
  .p-casePickup__slider .swiper-slide {
    grid-template-columns: 1fr;
  }
}
.p-casePickup__slider .swiper-pagination[class] {
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (min-width: 768.9px) {
  .p-casePickup__slider .swiper-pagination[class] {
    position: absolute;
    inset-inline-start: calc(80/var(--base-size) * 1rem);
    inset-block-end: calc(110/var(--base-size) * 1rem - max(max(11.5px, 3.6px), 6/var(--font-size) * 1rem));
  }
}

.p-casePickup__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(130/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(160/var(--base-size) * 1rem);
  position: relative;
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-casePickup__contents {
    padding: unset;
    position: revert;
    block-size: auto;
  }
}
.p-casePickup__contents::before {
  content: "";
  background-color: #edf8f8;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: calc(100% + 285/var(--base-size) * 1rem);
  max-inline-size: none;
  block-size: 100%;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-casePickup__contents::before {
    content: none;
  }
}
.p-casePickup__contents a {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.p-casePickup__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.45;
  color: #008841;
  position: absolute;
  inset-inline-start: calc(80/var(--base-size) * 1rem);
  inset-block-start: calc(70/var(--base-size) * 1rem);
  z-index: 9;
}
@media (max-width: 768px) {
  .p-casePickup__ttl {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(20/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 23.4px), 39/var(--font-size) * 1rem);
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 100%;
  }
}
.p-casePickup__ttl::after {
  content: "";
  background-color: #008841;
  inline-size: max(max(11.5px, 60px), 100/var(--font-size) * 1rem);
  block-size: 1px;
}

.p-casePickup__img {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-block: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-casePickup__img {
    grid-row: 1/2;
    margin-block: 0 calc(20/var(--base-size) * 1rem);
  }
}
.p-casePickup__img figure {
  aspect-ratio: 500/640;
  overflow: hidden;
  position: relative;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
  inline-size: 100%;
}
.p-casePickup__img figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-casePickup__img .case__caption {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 12.6px), 21/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
  line-height: 1;
  position: absolute;
  inset-inline-end: calc(20/var(--base-size) * 1rem);
  inset-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 51.6px), 86/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-casePickup__img .case__caption {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    inset-inline-end: 10px;
    inset-block-end: 10px;
    inline-size: max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem);
    block-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  }
}
.p-casePickup__img .case__img {
  position: relative;
}
.p-casePickup__img .after .case__caption {
  background-color: #008841;
  color: #fff;
}

.p-casePickup__h {
  font-weight: 500;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .p-casePickup__h {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.55;
    text-align: center;
  }
}
.p-casePickup__h span {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-casePickup__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #797979;
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-casePickup__name {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    text-align: center;
  }
}

.p-casePickup__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2.33;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}

.p-casePickup__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-casePickup__tag {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}
.p-casePickup__tag li {
  background-color: #1e243e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .p-casePickup__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  }
}
.p-casePickup__tag li.homecare {
  background-color: #9e7d59;
}

/* ============================================ */
/*  p-case__archive
/* ============================================ */
.p-case__archive {
  overflow: hidden;
  position: relative;
  padding: calc(90/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem) calc(110/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case__archive {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(65/var(--base-size) * 1rem);
  }
}

.p-caseArchive__wrapper {
  margin-inline: auto;
  max-inline-size: 1500px;
  max-inline-size: max(1500px - 200/var(--base-size) * 1rem, 1500/var(--base-size) * 1rem);
}

.p-caseArchive__sort {
  -webkit-margin-after: calc(80/var(--base-size) * 1rem);
          margin-block-end: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__sort {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-caseArchive__sort .sort__ttl {
  border-bottom: 1px solid #707070;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: #1e243e;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}
@media (max-width: 768px) {
  .p-caseArchive__sort .sort__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-caseArchive__sort .sort__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px;
}
@media (max-width: 768px) {
  .p-caseArchive__sort .sort__list {
    gap: 10px 5px;
  }
}
.p-caseArchive__sort .sort__item {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__sort .sort__item {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
    line-height: 1;
  }
}
.p-caseArchive__sort .sort__item a {
  background-color: #d6dae5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5px max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  min-inline-size: max(max(11.5px, 108.6px), 181/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (any-hover: hover) {
  .p-caseArchive__sort .sort__item a:hover {
    background-color: #008841;
    color: #fff;
  }
}
@media (max-width: 768px) {
  .p-caseArchive__sort .sort__item a {
    padding: 7px 10px 8px;
    min-inline-size: 0;
    min-block-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-caseArchive__sort .sort__item.all a {
    min-inline-size: max(max(11.5px, 54.6px), 91/var(--font-size) * 1rem);
  }
}
.p-caseArchive__sort .sort__item.is-active a {
  background-color: #000;
  color: #fff;
}

.p-caseArchive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(220px, (100% - 58/var(--base-size) * 1rem * 3) / 4), 1fr));
  gap: calc(165/var(--base-size) * 1rem) calc(58/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__list {
    gap: unset;
  }
}

.p-caseArchive__ttl {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 10px calc(30/var(--base-size) * 1rem);
  -webkit-margin-after: calc(60/var(--base-size) * 1rem);
          margin-block-end: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__ttl {
    display: revert;
    text-align: center;
  }
}
.p-caseArchive__ttl .en {
  grid-row: span 2;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(120/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  -webkit-margin-end: -0.8em;
          margin-inline-end: -0.8em;
  -webkit-margin-before: -0.1em;
          margin-block-start: -0.1em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-caseArchive__ttl .en {
    font-size: calc(42/var(--base-size) * 1rem);
    line-height: 1.33;
  }
}
.p-caseArchive__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-caseArchive__ttl .ja {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}

.p-caseArchive__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-caseArchive__lead {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}

@media (any-hover: hover) {
  .p-caseArchive__item:hover .p-caseArchive__img img {
    scale: 1.15 1.15;
  }
  .p-caseArchive__item:hover .p-caseArchive__txt span {
    background-size: 100% 1px;
    color: #008841;
  }
}
@media (max-width: 768px) {
  .p-caseArchive__item + .p-caseArchive__item {
    -webkit-border-before: 1px solid #d9d9d9;
            border-block-start: 1px solid #d9d9d9;
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    -webkit-padding-before: calc(30/var(--base-size) * 1rem);
            padding-block-start: calc(30/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-caseArchive__img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
  }
}
.p-caseArchive__img figure {
  aspect-ratio: 330/220;
  overflow: hidden;
  position: relative;
  inline-size: 100%;
}
.p-caseArchive__img figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-caseArchive__img .case__caption {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
  line-height: 1;
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: 0;
  inline-size: 5.125em;
  block-size: 1.4375em;
}
@media (max-width: 768px) {
  .p-caseArchive__img .case__caption {
    border: 1px solid #d9d9d9;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    position: static;
    inline-size: 100%;
    block-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}
.p-caseArchive__img .case__img {
  position: relative;
}
.p-caseArchive__img .after .case__caption {
  background-color: #008841;
  color: #fff;
}
@media (max-width: 768px) {
  .p-caseArchive__img .after .case__caption {
    border-color: #008841;
  }
}

.p-caseArchive__txt {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__txt {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    text-align: center;
  }
}
.p-caseArchive__txt span {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/0 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-caseArchive__date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #797979;
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .p-caseArchive__date {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    text-align: center;
  }
}

.p-caseArchive__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-caseArchive__tag {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}
.p-caseArchive__tag li {
  background-color: #1e243e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .p-caseArchive__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  }
}
.p-caseArchive__tag li.homecare {
  background-color: #9e7d59;
}

.p-caseArchive__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}

/* ----------------------------------------------
  発毛実績 - 詳細ページ
----------------------------------------------- */
/* ============================================ */
/*  p-case-detail__mv
/* ============================================ */
@media (min-width: 768.9px) {
  .p-case-detail__mv {
    margin-block: var(--header-height) calc(60/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-case-detail__mv {
    -webkit-margin-before: calc(var(--header-height) + 2px);
            margin-block-start: calc(var(--header-height) + 2px);
  }
}

.p-case-detailMv__wrapper {
  margin-inline: auto;
  max-inline-size: 1920px;
  max-inline-size: max(1920px - 200/var(--base-size) * 1rem, 1920/var(--base-size) * 1rem);
  display: grid;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  grid-template-columns: 1fr 65.625%;
}
@media (max-width: 768px) {
  .p-case-detailMv__wrapper {
    grid-template-columns: 1fr;
  }
}

.p-case-detailMv__en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(156/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(0, 136, 65, 0.1);
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-case-detailMv__en {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media (max-width: 768px) {
  .p-case-detailMv__en {
    font-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
    -webkit-margin-after: -0.3em;
            margin-block-end: -0.3em;
    text-align: center;
  }
}

.p-case-detailMv__contents {
  padding: calc(45/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-case-detailMv__contents {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}
@media (max-width: 768px) {
  .p-case-detailMv__contents {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-case-detailMv__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-start: -0.5em;
          margin-inline-start: -0.5em;
}
@media (max-width: 768px) {
  .p-case-detailMv__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    -webkit-margin-start: unset;
            margin-inline-start: unset;
    text-align: center;
  }
}
@media (min-width: 768.9px) {
  .p-case-detailMv__ttl span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #fff), to(#fff));
    background: -webkit-linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.15em));
    background: linear-gradient(transparent 0.15em, #fff 0.15em, #fff calc(100% - 0.15em));
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    padding: 0 0.3em;
  }
}

.p-case-detailMv__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #797979;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detailMv__name {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    text-align: center;
  }
}

.p-case-detailMv__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detailMv__tag {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
  }
}
.p-case-detailMv__tag li {
  background-color: #1e243e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .p-case-detailMv__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  }
}
.p-case-detailMv__tag li.homecare {
  background-color: #9e7d59;
}

.p-case-detailMv__img {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  position: relative;
  z-index: -3;
}
@media (min-width: 768.9px) {
  .p-case-detailMv__img {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media (max-width: 768px) {
  .p-case-detailMv__img {
    grid-row: 1/2;
  }
}
.p-case-detailMv__img figure {
  aspect-ratio: 500/640;
  overflow: hidden;
  position: relative;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
  inline-size: 100%;
  block-size: 100%;
}
.p-case-detailMv__img figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-case-detailMv__img .case__caption {
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 12.6px), 21/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
  line-height: 1;
  position: absolute;
  inset-inline-end: calc(20/var(--base-size) * 1rem);
  inset-block-end: calc(20/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 51.6px), 86/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detailMv__img .case__caption {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    inset-inline-end: 10px;
    inset-block-end: 10px;
    inline-size: max(max(11.5px, 43.8px), 73/var(--font-size) * 1rem);
    block-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  }
}
.p-case-detailMv__img .case__img {
  position: relative;
}
.p-case-detailMv__img .after .case__caption {
  background-color: #008841;
  color: #fff;
}

/* ============================================ */
/*  p-case-detail__mv
/* ============================================ */
.p-case-detail__outer {
  position: relative;
}
@media (min-width: 768.9px) {
  .p-case-detail__outer {
    padding-block: calc(100/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  }
}
.p-case-detail__outer::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#e4edf3), to(#fff));
  background: -webkit-linear-gradient(#e4edf3 0%, #fff 100%);
  background: linear-gradient(#e4edf3 0%, #fff 100%);
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: min(100%, 980px);
  z-index: -3;
}
@media (max-width: 768px) {
  .p-case-detail__outer::before {
    block-size: min(100%, 460px);
  }
}

.p-case-detail__container {
  padding-inline: calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container {
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}
.p-case-detail__container + .p-case-detail__container {
  -webkit-margin-before: calc(150/var(--base-size) * 1rem);
          margin-block-start: calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container + .p-case-detail__container {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
.p-case-detail__container.wysiwyg .wysiwyg__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.wysiwyg img {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
  }
}
@media (max-width: 768px) {
  .p-case-detail__container.clm2 .p-case-detail__h {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
.p-case-detail__container.clm2 .clm2__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}
.p-case-detail__container.clm2 .clm2__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.clm2 .clm2__inner {
    gap: 10px;
  }
}
.p-case-detail__container.flex .flex__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.flex .flex__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: unset;
  }
}
.p-case-detail__container.flex .flex__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: 50%;
}
@media (max-width: 768px) {
  .p-case-detail__container.flex .flex__img {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
@media (max-width: 768px) {
  .p-case-detail__container.flex .flex__inner {
    display: contents;
  }
}
@media (min-width: 768.9px) {
  .p-case-detail__container.flex.reverse .flex__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-case-detail__container.bg {
  background-color: #156038;
  color: #fff;
  padding-block: calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.bg {
    padding-block: calc(20/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}
.p-case-detail__container.bg .p-case-detail__h .en {
  color: rgba(255, 255, 255, 0.07);
}
.p-case-detail__container.ttl_txt .ttl_txt__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
.p-case-detail__container.ttl_txt .p-case-detail__h .en {
  color: rgba(0, 136, 65, 0.07);
}
.p-case-detail__container.comment .comment__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: calc(25/var(--base-size) * 1rem) calc(65/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-case-detail__container.comment .comment__wrapper {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__wrapper {
    grid-template-columns: 1fr;
    gap: unset;
  }
}
.p-case-detail__container.comment .comment__img {
  aspect-ratio: 1;
  border-radius: 100vmax;
  overflow: hidden;
  margin-inline: auto;
  inline-size: max(max(11.5px, 78px), 130/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__img {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-case-detail__container.comment .comment__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-case-detail__container.comment .comment__ttl {
  grid-column: span 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: normal;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__ttl {
    grid-column: unset;
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-case-detail__container.comment .comment__ttl::before, .p-case-detail__container.comment .comment__ttl::after {
  content: "";
  background-color: #008841;
  rotate: -35deg;
  translate: 0 0.05em;
  inline-size: 2px;
  block-size: 1em;
}
.p-case-detail__container.comment .comment__ttl::after {
  rotate: 35deg;
}
.p-case-detail__container.comment .comment__contents {
  background-color: #156038;
  border-radius: 10px;
  color: #fff;
  padding: max(max(11.5px, 18px), 30/var(--font-size) * 1rem) max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  position: relative;
}
@media (min-width: 768.9px) {
  .p-case-detail__container.comment .comment__contents {
    min-inline-size: 320px;
  }
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__contents {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    padding: max(max(11.5px, 12px), 20/var(--font-size) * 1rem) max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.p-case-detail__container.comment .comment__contents::before {
  -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
          clip-path: polygon(0 50%, 100% 100%, 100% 0);
  content: "";
  aspect-ratio: 1;
  background-color: #156038;
  position: absolute;
  inset-inline-start: 1px;
  inset-block-start: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  translate: -100% 0;
  inline-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__contents::before {
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
            clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    inset-inline-start: 50%;
    inset-block-start: 1px;
    translate: -50% -100%;
    inline-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}
.p-case-detail__container.comment .comment__h {
  font-weight: 600;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__h {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}
.p-case-detail__container.comment .comment__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    text-align: justify;
  }
}
.p-case-detail__container.comment .comment__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
  -webkit-padding-before: calc(20/var(--base-size) * 1rem);
          padding-block-start: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-case-detail__container.comment .comment__name {
    font-weight: 500;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    -webkit-padding-before: 10px;
            padding-block-start: 10px;
  }
}
.p-case-detail__container.comment .comment__name::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
  block-size: 1px;
}

.p-case-detail__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.25;
}
@media (max-width: 768px) {
  .p-case-detail__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}
.p-case-detail__txt a {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom 1px/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom 1px/100% 1px;
  color: #0068c1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-case-detail__txt a:hover {
    background-size: 0 1px;
  }
}

.p-case-detail__h {
  font-weight: 600;
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  line-height: 1.35;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
  position: relative;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}
@media (max-width: 768px) {
  .p-case-detail__h {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.5;
  }
}
.p-case-detail__h:has(.en) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-block-size: max(max(11.5px, 90px), 150/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__h:has(.en) {
    min-block-size: max(max(11.5px, 51.6px), 86/var(--font-size) * 1rem);
  }
}
.p-case-detail__h .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(156/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
}
@media (max-width: 768px) {
  .p-case-detail__h .en {
    font-size: calc(72/var(--base-size) * 1rem);
  }
}
.p-case-detail__h .ja {
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
}

.p-case-detail__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: calc(100/var(--base-size) * 1rem);
          margin-block-start: calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-case-detail__btn {
    -webkit-margin-before: calc(50/var(--base-size) * 1rem);
            margin-block-start: calc(50/var(--base-size) * 1rem);
    -webkit-margin-after: calc(50/var(--base-size) * 1rem);
            margin-block-end: calc(50/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  カスタマーストーリー
----------------------------------------------- */
@media (max-width: 768px) {
  .p-story__mv .en {
    font-size: max(max(11.5px, 21.6px), 36/var(--font-size) * 1rem);
  }
}

.p-story__outer {
  padding: 0 calc(100/var(--base-size) * 1rem) calc(130/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  }
}

.p-story__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  counter-reset: number 0;
  position: relative;
}

.p-story__container {
  display: grid;
  grid-template-columns: 1fr 49.2857142857%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (any-hover: hover) {
  .p-story__container:has(a:hover) img {
    scale: 1.1 1.1;
  }
  .p-story__container:has(a:hover) .ico {
    background-color: #fff;
  }
  .p-story__container:has(a:hover) .ico::after {
    background-color: #008841;
  }
}
@media (max-width: 768px) {
  .p-story__container {
    display: revert;
  }
}
.p-story__container + .p-story__container {
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
  -webkit-padding-before: calc(70/var(--base-size) * 1rem);
          padding-block-start: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story__container + .p-story__container {
    -webkit-margin-before: calc(50/var(--base-size) * 1rem);
            margin-block-start: calc(50/var(--base-size) * 1rem);
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}
.p-story__container + .p-story__container::before {
  content: "";
  background-color: #e0e0e0;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-story__container + .p-story__container::before {
    content: none;
  }
}
@media (min-width: 768.9px) {
  .p-story__container + .p-story__container a {
    block-size: calc(100% - 70/var(--base-size) * 1rem);
  }
}
.p-story__container:nth-child(even) {
  grid-template-columns: 49.2857142857% 1fr;
}
.p-story__container:nth-child(even) .p-story__img {
  justify-self: end;
}
.p-story__container:nth-child(even) .p-story__contents {
  grid-column: 1/2;
}
.p-story__container a {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 100%;
  z-index: 9;
}

.p-story__img {
  grid-column: 1/3;
  grid-row: 1/2;
  overflow: hidden;
  inline-size: 63.7142857143%;
  min-block-size: 100%;
}
@media (max-width: 768px) {
  .p-story__img {
    aspect-ratio: 345/172;
    inline-size: 100%;
  }
}
.p-story__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-story__contents {
  grid-column: 2/3;
  grid-row: 1/2;
  background-color: #156038;
  color: #fff;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
  padding: calc(50/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-story__contents {
    -webkit-margin-before: unset;
            margin-block-start: unset;
    padding: calc(20/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-story__contents::before {
  counter-increment: number 1;
  content: "#" counter(number, decimal-leading-zero) "";
  display: block;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-story__contents::before {
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    margin-block: -0.15em 8px;
  }
}
.p-story__contents::after {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.39);
  pointer-events: none;
  position: absolute;
  inset: calc(10/var(--base-size) * 1rem);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-story__contents::after {
    inset: calc(6/var(--base-size) * 1rem);
  }
}
.p-story__contents .ico {
  aspect-ratio: 1;
  border: 1px solid #fff;
  -webkit-margin-before: calc(48/var(--base-size) * 1rem);
          margin-block-start: calc(48/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
  inline-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story__contents .ico {
    margin-inline: auto;
    -webkit-margin-before: calc(15/var(--base-size) * 1rem);
            margin-block-start: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}
.p-story__contents .ico::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(10px, 12/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (max-width: 768px) {
  .p-story__contents .ico::after {
    inline-size: calc(6/var(--base-size) * 1rem);
  }
}

.p-story__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 50.4px), 84/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.07);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0.3em;
  translate: -50% 0;
}
@media (max-width: 768px) {
  .p-story__ttl .en {
    font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  }
}
.p-story__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  -webkit-padding-after: calc(20/var(--base-size) * 1rem);
          padding-block-end: calc(20/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-story__ttl .ja {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.p-story__ttl .ja::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-story__ttl .ja::before {
    content: none;
  }
}

.p-story__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.8);
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-story__txt {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}

.p-story__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story__btn {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  カスタマーストーリー - 詳細ページ
----------------------------------------------- */
/* ============================================ */
/*  p-story__mv
/* ============================================ */
.p-story-detail__mv {
  overflow: hidden;
  position: relative;
}
.p-story-detail__mv::after {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(2, 47, 17, 0)), to(#156038));
  background: -webkit-linear-gradient(rgba(2, 47, 17, 0) 0%, #156038 100%);
  background: linear-gradient(rgba(2, 47, 17, 0) 0%, #156038 100%);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 45.8333333333%;
}
@media (max-width: 768px) {
  .p-story-detail__mv::after {
    content: none;
  }
}

.p-story-detail__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-story-detailMv__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (min-width: 768.9px) {
  .p-story-detailMv__wrapper {
    color: #fff;
    padding-block: calc(115/var(--base-size) * 1rem);
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    translate: -50% -50%;
    inline-size: min(100% - 200/var(--base-size) * 1rem, 1600px);
    block-size: 100%;
    z-index: 3;
  }
}
@media (max-width: 768px) {
  .p-story-detailMv__wrapper {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: calc(20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-story-detailMv__num {
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  -webkit-margin-after: 5px;
          margin-block-end: 5px;
}
@media (max-width: 768px) {
  .p-story-detailMv__num {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    color: #008841;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}

.p-story-detailMv__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  line-height: 1.29;
  -webkit-margin-start: -0.08em;
          margin-inline-start: -0.08em;
}
@media (max-width: 768px) {
  .p-story-detailMv__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.54;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    margin-block: var(--leading-trim);
  }
}

.p-story-detailMv__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.66;
  color: rgba(255, 255, 255, 0.8);
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detailMv__txt {
    font-weight: normal;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    color: #797979;
  }
}

/* ============================================ */
/*  p-story__outer
/* ============================================ */
.p-story-detail__outer {
  -webkit-padding-after: calc(100/var(--base-size) * 1rem);
          padding-block-end: calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__outer {
    -webkit-padding-after: calc(60/var(--base-size) * 1rem);
            padding-block-end: calc(60/var(--base-size) * 1rem);
  }
}

.p-story-detail__container {
  container-type: inline-size;
  padding: calc(140/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__container {
    padding: calc(20/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  }
}
.p-story-detail__container.episode1, .p-story-detail__container.episode5 {
  background-color: #156038;
  color: #fff;
}
.p-story-detail__container.episode1 .p-story-detail__ttl .en, .p-story-detail__container.episode5 .p-story-detail__ttl .en {
  color: rgba(255, 255, 255, 0.07);
}
.p-story-detail__container.episode1 .p-story-detail__ttl .ja, .p-story-detail__container.episode5 .p-story-detail__ttl .ja {
  color: #fff;
}
@media (min-width: 768.9px) {
  .p-story-detail__container.episode2 .p-story-detail__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-story-detail__container.episode3 {
  background: -webkit-gradient(linear, left top, left bottom, from(#e4edf3), to(#fff));
  background: -webkit-linear-gradient(#e4edf3 0%, #fff 100%);
  background: linear-gradient(#e4edf3 0%, #fff 100%);
}
@media (min-width: 768.9px) {
  .p-story-detail__container.episode3 {
    padding: calc(60/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
  }
}
.p-story-detail__container.episode3 .p-story-detail__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: revert;
}
.p-story-detail__container.episode3 .p-story-detail__ttl .en {
  color: rgba(0, 136, 65, 0.07);
}
.p-story-detail__container.episode3 .p-story-detail__img {
  margin-inline: auto;
  inline-size: min(75%, 960px);
}
@media (max-width: 768px) {
  .p-story-detail__container.episode3 .p-story-detail__img {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
  }
}
@media (min-width: 768.9px) {
  .p-story-detail__container.episode3 .p-story-detail__txt {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-story-detail__container.episode4 {
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}
@media (min-width: 768.9px) {
  .p-story-detail__container.episode4 .p-story-detail__img {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-story-detail__container.episode4 .p-story-detail__img {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (min-width: 768.9px) {
  .p-story-detail__container.only-staff {
    padding-inline: calc(150/var(--base-size) * 1rem);
  }
}
.p-story-detail__container.only-staff .p-story-detail__wrapper {
  display: revert;
}
@media (min-width: 768.9px) {
  .p-story-detail__container.movie {
    padding-inline: calc(250/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-story-detail__container.movie {
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
.p-story-detail__container.movie .p-story-detail__wrapper {
  display: revert;
}
@media (max-width: 768px) {
  .p-story-detail__container.movie .p-story-detail__ttl .ja {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-story-detail__container.movie .p-story-detail__ttl .ja::before {
  content: none;
}
.p-story-detail__container.movie .movie__txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 2;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__container.movie .movie__txt {
    gap: 10px;
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    line-height: 1.5;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-story-detail__container.movie .movie__txt::before, .p-story-detail__container.movie .movie__txt::after {
  content: "";
  background-color: currentColor;
  rotate: -25deg;
  inline-size: 1px;
  block-size: 1.3em;
}
.p-story-detail__container.movie .movie__txt::after {
  rotate: 25deg;
}
.p-story-detail__container.movie .movie__video {
  aspect-ratio: 16/9;
  border-radius: 10px;
  overflow: hidden;
  inline-size: 100%;
}
.p-story-detail__container.movie .movie__video iframe {
  inline-size: 100%;
  block-size: 100%;
}

.p-story-detail__wrapper {
  margin-inline: auto;
  max-inline-size: 1650px;
  max-inline-size: max(1650px - 200/var(--base-size) * 1rem, 1650/var(--base-size) * 1rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__wrapper {
    -webkit-box-align: revert;
    -webkit-align-items: revert;
        -ms-flex-align: revert;
            align-items: revert;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.p-story-detail__wrapper + .p-story-detail__wrapper {
  -webkit-margin-before: calc(70/var(--base-size) * 1rem);
          margin-block-start: calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__wrapper + .p-story-detail__wrapper {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-story-detail__contents {
    display: contents;
  }
}
@media (min-width: 768.9px) {
  .p-story-detail__contents .p-story-detail__staff {
    -webkit-margin-end: calc(-40/var(--base-size) * 1rem);
            margin-inline-end: calc(-40/var(--base-size) * 1rem);
    -webkit-margin-before: calc(50/var(--base-size) * 1rem);
            margin-block-start: calc(50/var(--base-size) * 1rem);
  }
}

.p-story-detail__ttl {
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-story-detail__ttl {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-story-detail__ttl .en {
  grid-column: 1/2;
  grid-row: 1/2;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: 8.125vw;
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(0, 0, 0, 0.03);
  -webkit-margin-before: -0.05em;
          margin-block-start: -0.05em;
  text-align: center;
}
@media (max-width: 768px) {
  .p-story-detail__ttl .en {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    font-size: calc(72/var(--base-size) * 1rem);
    line-height: 1.33;
    -webkit-margin-after: -0.75em;
            margin-block-end: -0.75em;
  }
}
.p-story-detail__ttl .ja {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  line-height: 1.45;
  inline-size: 100%;
}
@media (min-width: 768.9px) {
  .p-story-detail__ttl .ja {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    translate: -50% -50%;
    inline-size: calc(100% + 100/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
@media (max-width: 768px) {
  .p-story-detail__ttl .ja {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 9px;
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.5;
  }
}
.p-story-detail__ttl .ja::before {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  content: "";
  background-color: currentColor;
  -webkit-margin-before: 0.7em;
          margin-block-start: 0.7em;
  inline-size: max(max(11.5px, 31.2px), 52/var(--font-size) * 1rem);
  block-size: 1px;
}
@media (max-width: 768px) {
  .p-story-detail__ttl .ja::before {
    inline-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-story-detail__ttl .ja span {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-story-detail__ttl .ja span {
    font-size: max(max(11.5px, 12.6px), 21/var(--font-size) * 1rem);
  }
}

.p-story-detail__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-story-detail__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}

.p-story-detail__img {
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: 50%;
}
@media (max-width: 768px) {
  .p-story-detail__img {
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    inline-size: 100%;
  }
}
.p-story-detail__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-story-detail__staff {
  margin-inline: auto;
  max-inline-size: 1080px;
  max-inline-size: max(1080px - 200/var(--base-size) * 1rem, 1080/var(--base-size) * 1rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: max(max(11.5px, 36px), 60/var(--font-size) * 1rem);
  -webkit-margin-before: calc(90/var(--base-size) * 1rem);
          margin-block-start: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__staff {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
    -webkit-margin-start: calc(-15/var(--base-size) * 1rem);
            margin-inline-start: calc(-15/var(--base-size) * 1rem);
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
    inline-size: calc(100% + 30/var(--base-size) * 1rem);
    max-inline-size: none;
  }
}
.p-story-detail__staff:is(.only-staff *) {
  -webkit-margin-before: unset;
          margin-block-start: unset;
}

.staff__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: calc(170/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .staff__img {
    inline-size: calc(130/var(--base-size) * 1rem);
  }
}
.staff__img img {
  inline-size: 100%;
}

.staff__txt {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #156038;
  border-radius: 10px;
  font-weight: 600;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  line-height: 2.14;
  color: #fff;
  padding: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem) max(max(11.5px, 12px), 20/var(--font-size) * 1rem) max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem) max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .staff__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    padding: max(max(11.5px, 12px), 20/var(--font-size) * 1rem) max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.staff__txt::before {
  -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
          clip-path: polygon(0 50%, 100% 100%, 100% 0);
  content: "";
  aspect-ratio: 1;
  background-color: #156038;
  position: absolute;
  inset-inline-start: 1px;
  inset-block-start: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  translate: -100% 0;
  inline-size: max(max(11.5px, 19.2px), 32/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .staff__txt::before {
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
            clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    inset-inline-start: 50%;
    inset-block-start: 1px;
    translate: -50% -100%;
    inline-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}

.p-story-detail__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-story-detail__btn {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

/* ----------------------------------------------
  コラム「薄毛対策室」
----------------------------------------------- */
.p-column__mv[class]::before {
  position: fixed;
  inset: 0;
  z-index: -3;
}

/* ============================================ */
/*  p-column__pickup
/* ============================================ */
@media (min-width: 768.9px) {
  .p-column__pickup {
    display: grid;
    grid-template-columns: 1fr min(100%, 1920px) 1fr;
  }
}
@media (min-width: 768.9px) {
  .p-column__pickup::before {
    content: "";
    background-color: #fff;
    inline-size: 100%;
    block-size: 100%;
  }
}

.p-columnPickup__slider {
  position: relative;
}
@media (max-width: 768px) {
  .p-columnPickup__slider {
    -webkit-padding-before: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
            padding-block-start: max(max(11.5px, 54px), 90/var(--font-size) * 1rem);
  }
}
.p-columnPickup__slider .swiper-slide {
  display: grid;
  grid-template-columns: 47.9166666667% 1fr;
  place-items: center;
}
@media (any-hover: hover) {
  .p-columnPickup__slider .swiper-slide:has(a:hover) .l-column__ttl span {
    background-size: 100% 1px;
    color: #008841;
  }
  .p-columnPickup__slider .swiper-slide:has(a:hover) img {
    scale: 1.05 1.05;
  }
}
@media (max-width: 768px) {
  .p-columnPickup__slider .swiper-slide {
    background-color: #fff;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}
.p-columnPickup__slider .swiper-pagination[class] {
  position: absolute;
  inset-inline-start: calc(80/var(--base-size) * 1rem);
  inset-block-end: calc(160/var(--base-size) * 1rem - max(max(11.5px, 3.6px), 6/var(--font-size) * 1rem));
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-columnPickup__slider .swiper-pagination[class] {
    inset-inline-start: 50%;
    inset-block-end: calc(28/var(--base-size) * 1rem);
    translate: -50% 0;
  }
}

.p-columnPickup__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(100/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(160/var(--base-size) * 1rem);
  position: relative;
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-columnPickup__contents {
    padding: 10px 10px calc(60/var(--base-size) * 1rem);
    position: revert;
    block-size: auto;
  }
}
.p-columnPickup__contents::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: calc(100% + 285/var(--base-size) * 1rem);
  max-inline-size: none;
  block-size: 100%;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-columnPickup__contents::before {
    content: none;
  }
}
.p-columnPickup__contents a {
  position: absolute;
  inset: 0;
  z-index: 3;
}
@media (min-width: 768.9px) {
  .p-columnPickup__contents .l-column__date {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-columnPickup__contents .l-column__ttl {
    font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-columnPickup__contents .l-column__tag li {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.p-columnPickup__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.45;
  color: #008841;
  position: absolute;
  inset-inline-start: calc(80/var(--base-size) * 1rem);
  inset-block-start: calc(100/var(--base-size) * 1rem);
  z-index: 9;
}
@media (max-width: 768px) {
  .p-columnPickup__ttl {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(20/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 23.4px), 39/var(--font-size) * 1rem);
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 100%;
  }
}
.p-columnPickup__ttl::after {
  content: "";
  background-color: #008841;
  inline-size: max(max(11.5px, 60px), 100/var(--font-size) * 1rem);
  block-size: 1px;
}

.p-columnPickup__img {
  aspect-ratio: 1000/640;
  overflow: hidden;
  margin-block: calc(70/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-columnPickup__img {
    grid-row: 1/2;
    aspect-ratio: 375/240;
    margin-block: 0;
  }
}
.p-columnPickup__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

/* ============================================ */
/*  p-column__news
/* ============================================ */
.p-column__news {
  background-color: #ebeff5;
  padding: calc(90/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column__news {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-columnNews__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-columnNews__ttl {
  text-align: center;
}
@media (max-width: 768px) {
  .p-columnNews__ttl {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}

.p-columnNews__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnNews__btn {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-column__ranking
/* ============================================ */
.p-column__ranking {
  padding: calc(110/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column__ranking {
    background-color: #fff;
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-columnRanking__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-columnRanking__ttl {
  -webkit-margin-after: calc(70/var(--base-size) * 1rem);
          margin-block-end: calc(70/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-columnRanking__ttl {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}

.p-columnRanking__container {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 40% 1fr;
  gap: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__container {
    display: revert;
  }
}
@media (any-hover: hover) {
  .p-columnRanking__container a:hover .l-column__ttl span {
    background-size: 100% 1px;
    color: #008841;
  }
  .p-columnRanking__container a:hover img {
    scale: 1.15 1.15;
  }
}

.p-columnRanking__top {
  grid-row: span 2;
}
@media (max-width: 768px) {
  .p-columnRanking__top {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
    -webkit-padding-after: calc(30/var(--base-size) * 1rem);
            padding-block-end: calc(30/var(--base-size) * 1rem);
    position: relative;
  }
  .p-columnRanking__top::before {
    content: "";
    background-color: rgba(0, 0, 0, 0.13);
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 1px;
  }
}
.p-columnRanking__top .p-columnRanking__img {
  aspect-ratio: 640/440;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__top .p-columnRanking__img {
    aspect-ratio: 345/235;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-columnRanking__top .p-columnRanking__img::before {
  content: "1";
  font-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  inline-size: max(max(11.5px, 40.8px), 68/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__top .p-columnRanking__img::before {
    font-size: max(max(11.5px, 12.6px), 21/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 22.8px), 38/var(--font-size) * 1rem);
  }
}

.p-columnRanking__img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 260/180;
  overflow: hidden;
  position: relative;
  inline-size: 100%;
}
.p-columnRanking__img::before {
  counter-increment: number 1;
  content: counter(number);
  aspect-ratio: 1;
  background-color: #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 0.9;
  color: #fff;
  padding: 0 0.05em 0.1em 0;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: max(max(11.5px, 22.2px), 37/var(--font-size) * 1rem);
  z-index: 3;
}
@media (max-width: 768px) {
  .p-columnRanking__img::before {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  }
}
.p-columnRanking__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-columnRanking__list {
  counter-reset: number 1;
}

.p-columnRanking__item {
  -webkit-padding-after: calc(30/var(--base-size) * 1rem);
          padding-block-end: calc(30/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-columnRanking__item {
    -webkit-padding-after: calc(20/var(--base-size) * 1rem);
            padding-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-columnRanking__item::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.13);
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: 1px;
}
.p-columnRanking__item + .p-columnRanking__item {
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__item + .p-columnRanking__item {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.p-columnRanking__item a {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 28.8888888889% 1fr;
  -webkit-column-gap: calc(30/var(--base-size) * 1rem);
     -moz-column-gap: calc(30/var(--base-size) * 1rem);
          column-gap: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__item a {
    grid-template-columns: 33.6231884058% 1fr;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
.p-columnRanking__item .p-columnRanking__img {
  grid-row: span 4;
}
@media (max-width: 768px) {
  .p-columnRanking__item .p-columnRanking__img {
    grid-row: span 2;
  }
}
.p-columnRanking__item .l-column__date {
  -webkit-margin-before: unset;
          margin-block-start: unset;
}
.p-columnRanking__item .l-column__ttl {
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
}
@media (max-width: 768px) {
  .p-columnRanking__item .l-column__ttl {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-columnRanking__item .l-column__txt {
    grid-column: span 2;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
.p-columnRanking__item .l-column__tag {
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnRanking__item .l-column__tag {
    grid-column: span 2;
  }
}

.p-columnRanking__btn {
  display: grid;
  place-items: center;
}
@media (max-width: 768px) {
  .p-columnRanking__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__partner
/* ============================================ */
.p-column__category {
  background-color: #deede3;
  padding: calc(40/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column__category {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-columnCategory__wrapper {
  margin-inline: auto;
  max-inline-size: 1700px;
  max-inline-size: max(1700px - 200/var(--base-size) * 1rem, 1700/var(--base-size) * 1rem);
}

.p-columnCategory__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(12/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnCategory__list {
    grid-template-columns: repeat(auto-fill, minmax(max(148px, (100% - 18px) / 3), 1fr));
    gap: 9px;
  }
}

@media (any-hover: hover) {
  .p-columnCategory__item:has(a:hover) img {
    scale: 1.15 1.15;
  }
  .p-columnCategory__item:has(a:hover) .p-columnCategory__txt::before {
    opacity: 1;
  }
  .p-columnCategory__item:has(a:hover) .p-columnCategory__txt::after {
    translate: calc(-10/var(--base-size) * 1rem) -50%;
  }
}

.p-columnCategory__img {
  aspect-ratio: 330/220;
  overflow: hidden;
  inline-size: 100%;
}
.p-columnCategory__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-columnCategory__txt {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  font-weight: 500;
  font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.35;
  color: #fff;
  padding: calc(15/var(--base-size) * 1rem) calc(38/var(--base-size) * 1rem);
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .p-columnCategory__txt {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    padding: 10px calc(20/var(--base-size) * 1rem);
  }
}
.p-columnCategory__txt::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#800), to(#601515));
  background: -webkit-linear-gradient(left, #800 0%, #601515 100%);
  background: linear-gradient(90deg, #800 0%, #601515 100%);
  opacity: 0;
  position: absolute;
  inset: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: -3;
}
.p-columnCategory__txt::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(10px, 12/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-end: calc(20/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
}
@media (max-width: 768px) {
  .p-columnCategory__txt::after {
    inset-inline-end: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 4.8px), 8/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__partner
/* ============================================ */
.p-column__theme {
  background: -webkit-gradient(linear, left top, left bottom, from(#113652), to(#081d4d));
  background: -webkit-linear-gradient(#113652 0%, #081d4d 100%);
  background: linear-gradient(#113652 0%, #081d4d 100%);
  padding: calc(40/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column__theme {
    padding: calc(40/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  }
}

.p-columnTheme__wrapper {
  margin-inline: auto;
  max-inline-size: 1468px;
  max-inline-size: max(1468px - 200/var(--base-size) * 1rem, 1468/var(--base-size) * 1rem);
}

.p-columnTheme__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: calc(40/var(--base-size) * 1rem);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .p-columnTheme__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(60/var(--base-size) * 1rem);
  }
}

.p-columnTheme__item {
  inline-size: min((100% - 80/var(--base-size) * 1rem) / 3, 438px);
}
@media (any-hover: hover) {
  .p-columnTheme__item:has(a:hover) img {
    scale: 1.1 1.1;
  }
  .p-columnTheme__item:has(a:hover) .p-columnTheme__step::before {
    opacity: 1;
  }
  .p-columnTheme__item:has(a:hover) .p-columnTheme__step::after {
    translate: calc(-10/var(--base-size) * 1rem) -50%;
  }
}
@media (max-width: 768px) {
  .p-columnTheme__item {
    inline-size: 100%;
  }
}

.p-columnTheme__img {
  aspect-ratio: 438/568;
  overflow: hidden;
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-columnTheme__img {
    aspect-ratio: 315/227;
  }
}
.p-columnTheme__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-columnTheme__step {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(50/var(--base-size) * 1rem);
  font-weight: 500;
  font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1.35;
  color: #fff;
  margin-inline: auto;
  -webkit-margin-before: max(max(11.5px, -25.8px), -43/var(--font-size) * 1rem);
          margin-block-start: max(max(11.5px, -25.8px), -43/var(--font-size) * 1rem);
  padding: 5px calc(38/var(--base-size) * 1rem);
  position: relative;
  inline-size: max(max(11.5px, 228px), 380/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 51.6px), 86/var(--font-size) * 1rem);
  z-index: 3;
}
@media (max-width: 768px) {
  .p-columnTheme__step {
    gap: calc(18/var(--base-size) * 1rem);
    font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
    -webkit-margin-before: 0;
            margin-block-start: 0;
    padding: 10px calc(20/var(--base-size) * 1rem);
    inline-size: 100%;
    block-size: auto;
  }
}
.p-columnTheme__step::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#800), to(#601515));
  background: -webkit-linear-gradient(left, #800 0%, #601515 100%);
  background: linear-gradient(90deg, #800 0%, #601515 100%);
  opacity: 0;
  position: absolute;
  inset: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: -3;
}
.p-columnTheme__step::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-end: calc(20/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
}
@media (max-width: 768px) {
  .p-columnTheme__step::after {
    inset-inline-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-columnTheme__step span {
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 11.4px), 19/var(--font-size) * 1rem);
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .p-columnTheme__step span {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.p-columnTheme__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.9;
  color: #fff;
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-columnTheme__txt {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-index__partner
/* ============================================ */
.p-columnAbout__bg {
  overflow: hidden;
  inline-size: 100%;
  max-block-size: 620px;
}
@media (max-width: 768px) {
  .p-columnAbout__bg {
    max-block-size: 400px;
  }
}
.p-columnAbout__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-columnAbout__wrapper {
  background: -webkit-linear-gradient(325deg, #008388 0%, #000e3b 100%);
  background: linear-gradient(125deg, #008388 0%, #000e3b 100%);
  padding: calc(115/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnAbout__wrapper {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-columnAbout__container {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: auto 1fr;
  gap: calc(50/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnAbout__container {
    display: revert;
  }
}

.p-columnAbout__ttl {
  grid-row: span 2;
  color: #fff;
}
@media (max-width: 768px) {
  .p-columnAbout__ttl {
    -webkit-margin-after: calc(40/var(--base-size) * 1rem);
            margin-block-end: calc(40/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-columnAbout__ttl .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.325;
}
@media (max-width: 768px) {
  .p-columnAbout__ttl .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  }
}
.p-columnAbout__ttl .en {
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .p-columnAbout__ttl .en {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

.p-columnAbout__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  line-height: 2.23;
  color: #fff;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-columnAbout__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}

.p-columnAbout__recommend {
  background-color: #fff;
  padding: calc(20/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  max-inline-size: max(max(11.5px, 459px), 765/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnAbout__recommend {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
    padding: calc(20/var(--base-size) * 1rem) calc(45/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  }
}
.p-columnAbout__recommend .recommend__ttl {
  border-bottom: 1px solid #000;
  font-weight: 600;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
  -webkit-padding-after: calc(15/var(--base-size) * 1rem);
          padding-block-end: calc(15/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-columnAbout__recommend .recommend__ttl {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: 10px;
            padding-block-end: 10px;
  }
}
.p-columnAbout__recommend .recommend__link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (max-width: 768px) {
  .p-columnAbout__recommend .recommend__link {
    grid-template-columns: 1fr;
  }
}
.p-columnAbout__recommend .recommend__btn a {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-padding-start: calc(25/var(--base-size) * 1rem);
          padding-inline-start: calc(25/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-columnAbout__recommend .recommend__btn a {
    -webkit-padding-start: calc(15/var(--base-size) * 1rem);
            padding-inline-start: calc(15/var(--base-size) * 1rem);
  }
}
.p-columnAbout__recommend .recommend__btn a::after {
  inset-inline-end: calc(55/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-columnAbout__recommend .recommend__btn a::after {
    inset-inline-end: calc(20/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  コラム - カテゴリーページ
----------------------------------------------- */
@media (max-width: 768px) {
  #page-column-taxonomy .c-mv__ttl .en {
    font-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
  }
}

.p-column-tax__outer {
  padding: calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-tax__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  }
}

.p-column-tax__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-column-tax__wrapper {
    display: grid;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    grid-template-columns: 1fr max(240px, 300/var(--base-size) * 1rem);
    gap: calc(100/var(--base-size) * 1rem);
  }
}

.p-column-tax__body {
  max-inline-size: 922px;
}
.p-column-tax__body .l-column {
  grid-template-columns: repeat(auto-fill, minmax(max(270px, (100% - 40/var(--base-size) * 1rem) / 2), 1fr));
  gap: calc(60/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  -webkit-margin-before: unset;
          margin-block-start: unset;
}

/* ----------------------------------------------
  コラム - 詳細ページ
----------------------------------------------- */
@media (max-width: 768px) {
  #page-column-detail .c-mv__ttl .en {
    font-size: max(max(11.5px, 27px), 45/var(--font-size) * 1rem);
  }
}

.p-column-detail__outer {
  padding: calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  }
}

.p-column-detail__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
@media (min-width: 768.9px) {
  .p-column-detail__wrapper {
    display: grid;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    grid-template-columns: 1fr max(240px, 300/var(--base-size) * 1rem);
    gap: calc(100/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-column-detail__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-column-detail__body {
  max-inline-size: 922px;
}
@media (max-width: 768px) {
  .p-column-detail__body {
    display: contents;
  }
}

.p-column-detail__header .l-column__date {
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__header .l-column__date {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
    text-align: center;
  }
}
.p-column-detail__header .l-column__ttl {
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__header .l-column__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    text-align: center;
  }
}
@media (max-width: 768px) {
  .p-column-detail__header .l-column__tag {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-column-detail__sns {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  margin-block: calc(30/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-column-detail__sns {
    -webkit-margin-end: auto;
            margin-inline-end: auto;
    margin-block: calc(40/var(--base-size) * 1rem) 0;
  }
}
.p-column-detail__sns .sns__ttl {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(15/var(--base-size) * 1rem);
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  color: #156038;
  -webkit-margin-after: 10px;
          margin-block-end: 10px;
}
@media (max-width: 768px) {
  .p-column-detail__sns .sns__ttl {
    gap: 10px;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}
.p-column-detail__sns .sns__ttl::before, .p-column-detail__sns .sns__ttl::after {
  content: "";
  background-color: currentColor;
  rotate: -35deg;
  inline-size: 1px;
  block-size: 1em;
}
.p-column-detail__sns .sns__ttl::after {
  rotate: 35deg;
}
.p-column-detail__sns .sns__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(15/var(--base-size) * 1rem);
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.p-column-detail__sns .sns__list li {
  position: relative;
  inline-size: max(32px, max(max(11.5px, 24px), 40/var(--font-size) * 1rem));
}
@media (any-hover: hover) {
  .p-column-detail__sns .sns__list li:hover img {
    opacity: 0.7;
    scale: 0.95 0.95;
  }
}
.p-column-detail__sns .sns__list li img {
  -webkit-transition: opacity 0.5s, scale 0.5s;
  transition: opacity 0.5s, scale 0.5s;
}

.p-column-detail__img {
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
}

.p-column-detail__container {
  -webkit-margin-before: calc(80/var(--base-size) * 1rem);
          margin-block-start: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}

.p-column-detail__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
  text-underline-offset: 0.2em;
}
@media (max-width: 768px) {
  .p-column-detail__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}
.p-column-detail__txt a {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  display: inline;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .p-column-detail__txt a:hover {
    background-size: 0 1px;
  }
}
.p-column-detail__txt a[href^=".pdf"] {
  color: #c7021c;
}

.p-column-detail__related {
  -webkit-border-before: 1px solid #d9d9d9;
          border-block-start: 1px solid #d9d9d9;
  -webkit-margin-before: calc(100/var(--base-size) * 1rem);
          margin-block-start: calc(100/var(--base-size) * 1rem);
  -webkit-padding-before: calc(15/var(--base-size) * 1rem);
          padding-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__related {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    border: none;
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
    -webkit-padding-after: unset;
            padding-block-end: unset;
  }
}
.p-column-detail__related .related__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-column-detail__related .related__ttl {
    -webkit-border-after: 1px solid #d9d9d9;
            border-block-end: 1px solid #d9d9d9;
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    -webkit-padding-after: 8px;
            padding-block-end: 8px;
  }
}
.p-column-detail__related .l-column {
  grid-template-columns: repeat(2, 1fr);
  gap: calc(60/var(--base-size) * 1rem) calc(45/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column {
    grid-template-columns: 1fr;
    gap: calc(20/var(--base-size) * 1rem);
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column a {
    display: grid;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    grid-template-columns: 33.6231884058% 1fr;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column__item + .l-column__item {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column__img {
    grid-row: span 2;
  }
}
.p-column-detail__related .l-column__date {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column__date {
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}
.p-column-detail__related .l-column__ttl {
  -webkit-margin-before: 5px;
          margin-block-start: 5px;
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column__ttl {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    -webkit-margin-before: unset;
            margin-block-start: unset;
  }
}
.p-column-detail__related .l-column__tag {
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__related .l-column__tag {
    grid-column: span 2;
  }
}

/* ============================================ */
/*  投稿パーツごとのスタイル
/* ============================================ */
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) p,
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  text-underline-offset: 0.2em;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) p,
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) li {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) p:has(img),
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) li:has(img) {
  -webkit-margin-after: calc(25/var(--base-size) * 1rem);
          margin-block-end: calc(25/var(--base-size) * 1rem);
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) ul {
  -webkit-padding-start: 0.3em;
          padding-inline-start: 0.3em;
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) ul li {
  list-style: disc;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) ol {
  -webkit-padding-start: 0.2em;
          padding-inline-start: 0.2em;
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) h2 {
  -webkit-border-after: 1px solid #156038;
          border-block-end: 1px solid #156038;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  margin-block: calc(60/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) h2 {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: 8px;
            padding-block-end: 8px;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) h3 {
  display: inline-block;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 2;
  margin-block: calc(25/var(--base-size) * 1rem);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #edf8f8), to(#edf8f8));
  background: -webkit-linear-gradient(transparent 0.15em, #edf8f8 0.15em, #edf8f8 calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #edf8f8 0.15em, #edf8f8 calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: max(10px, 0.5em);
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) h3 {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.6;
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) a:not(#toc_container a) {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  display: inline;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) a:not(#toc_container a):hover {
    background-size: 0 1px;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) a:not(#toc_container a)[href^=".pdf"] {
  color: #c7021c;
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) #toc_container {
  border: 1px solid #156038;
  margin: calc(80/var(--base-size) * 1rem) auto;
  padding: calc(40/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  max-inline-size: 795px;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) #toc_container {
    margin: calc(40/var(--base-size) * 1rem) auto;
    padding: calc(20/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(12/var(--base-size) * 1rem);
  font-weight: 600;
  font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  line-height: 1.15;
  -webkit-margin-after: calc(25/var(--base-size) * 1rem);
          margin-block-end: calc(25/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_title {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_title::after {
  content: "OUTLINE";
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  text-align: left;
  color: rgba(0, 0, 0, 0.2);
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_title::after {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: calc(30/var(--base-size) * 1rem);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.5;
  color: #414141;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (any-hover: hover) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:has(a:hover) {
    color: #c7021c;
  }
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:has(a:hover)::before {
    background-color: currentColor;
  }
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li {
    gap: 10px;
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li::before {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  content: "";
  aspect-ratio: 1;
  background-color: #156038;
  border-radius: 100vmax;
  -webkit-margin-before: 0.35em;
          margin-block-start: 0.35em;
  position: relative;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  inline-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  z-index: 3;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li::before {
    -webkit-margin-before: 0.7em;
            margin-block-start: 0.7em;
    inline-size: 10px;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:not(:last-child) {
  -webkit-padding-after: calc(20/var(--base-size) * 1rem) !important;
          padding-block-end: calc(20/var(--base-size) * 1rem) !important;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:not(:last-child) {
    -webkit-padding-after: 8px !important;
            padding-block-end: 8px !important;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:not(:last-child)::after {
  content: "";
  background-color: #156038;
  position: absolute;
  inset-inline-start: max(max(11.5px, 4.05px), 6.75/var(--font-size) * 1rem);
  inset-block-start: 0.35em;
  inline-size: 1px;
  block-size: 100%;
}
@media (max-width: 768px) {
  .p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li:not(:last-child)::after {
    inset-inline-start: 5px;
    inset-block-start: 0.7em;
  }
}
.p-column-detail__container:not(.layout1):not(.layout2):not(.layout3) .toc_list li a {
  text-decoration: none !important;
}

.p-column-detail__container.layout1 .layout1__ttl {
  -webkit-border-after: 1px solid #156038;
          border-block-end: 1px solid #156038;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout1 .layout1__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: 8px;
            padding-block-end: 8px;
  }
}

.p-column-detail__container.layout2 .layout2__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 2;
  -webkit-margin-after: calc(25/var(--base-size) * 1rem);
          margin-block-end: calc(25/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout2 .layout2__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.6;
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    text-align: center;
  }
}
.p-column-detail__container.layout2 .layout2__ttl span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.15em, transparent), color-stop(0.15em, #edf8f8), to(#edf8f8));
  background: -webkit-linear-gradient(transparent 0.15em, #edf8f8 0.15em, #edf8f8 calc(100% - 0.175em));
  background: linear-gradient(transparent 0.15em, #edf8f8 0.15em, #edf8f8 calc(100% - 0.175em));
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  padding-inline: max(10px, 0.5em);
}
.p-column-detail__container.layout2 .layout2__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #222;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout2 .layout2__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.p-column-detail__container.layout3 {
  padding: calc(50/var(--base-size) * 1rem);
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-column-detail__container.layout3 .layout3__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.p-column-detail__container.layout3 .layout3__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.p-column-detail__container.layout3 .layout3__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(15/var(--base-size) * 1rem);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: #fff;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__ttl {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}
.p-column-detail__container.layout3 .layout3__ttl::before, .p-column-detail__container.layout3 .layout3__ttl::after {
  content: "";
  background-color: #008841;
  rotate: -35deg;
  inline-size: 1.5px;
  block-size: 1em;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__ttl::before, .p-column-detail__container.layout3 .layout3__ttl::after {
    rotate: -25deg;
    block-size: 2.5em;
  }
}
.p-column-detail__container.layout3 .layout3__ttl::after {
  rotate: 35deg;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__ttl::after {
    rotate: 25deg;
  }
}
.p-column-detail__container.layout3 .layout3__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-column-detail__container.layout3 .layout3__btn a {
  background: -webkit-gradient(linear, left top, right top, from(#156038), color-stop(54.19%, #00863e), to(#003619));
  background: -webkit-linear-gradient(left, #156038 0%, #00863e 54.19%, #003619 100%);
  background: linear-gradient(90deg, #156038 0%, #00863e 54.19%, #003619 100%);
  border: 1px solid #156038;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  color: #fff;
  padding: calc(30/var(--base-size) * 1rem) calc(42/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  position: relative;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  z-index: 3;
}
@media (any-hover: hover) {
  .p-column-detail__container.layout3 .layout3__btn a:hover {
    color: #008841;
  }
  .p-column-detail__container.layout3 .layout3__btn a:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__btn a {
    font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
    padding: calc(18/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-column-detail__container.layout3 .layout3__btn a::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
  inline-size: 100%;
  block-size: 100%;
  z-index: -3;
}
.p-column-detail__container.layout3 .layout3__btn a span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__btn a span {
    gap: 8px;
  }
}
.p-column-detail__container.layout3 .layout3__btn a span::after {
  content: "";
  aspect-ratio: 30/35;
  background-color: currentColor;
  -webkit-mask: url("../img/common/ico_professional.svg") no-repeat center/contain;
          mask: url("../img/common/ico_professional.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  inline-size: max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__btn a span::after {
    inline-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  }
}
.p-column-detail__container.layout3 .layout3__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  color: #fff;
  line-height: 2.2;
  -webkit-margin-before: calc(15/var(--base-size) * 1rem);
          margin-block-start: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout3 .layout3__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
  }
}

.p-column-detail__container.layout4 {
  background-color: #ebeff5;
  padding: calc(30/var(--base-size) * 1rem) calc(60/var(--base-size) * 1rem);
  margin-inline: auto;
  max-inline-size: 840px;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 {
    padding: calc(25/var(--base-size) * 1rem);
  }
}
.p-column-detail__container.layout4 .layout4__ttl {
  -webkit-border-after: 1px solid #d9d9d9;
          border-block-end: 1px solid #d9d9d9;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  -webkit-padding-after: calc(15/var(--base-size) * 1rem);
          padding-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 .layout4__ttl {
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: calc(8/var(--base-size) * 1rem);
            padding-block-end: calc(8/var(--base-size) * 1rem);
  }
}
.p-column-detail__container.layout4 .layout4__ttl .ja {
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 .layout4__ttl .ja {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.p-column-detail__container.layout4 .layout4__ttl .en {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  line-height: 2;
  color: rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 .layout4__ttl .en {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  }
}
@media (min-width: 768.9px) {
  .p-column-detail__container.layout4 .layout4__contents {
    display: grid;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    grid-template-columns: max(max(11.5px, 79.8px), 133/var(--font-size) * 1rem) 1fr;
    gap: calc(15/var(--base-size) * 1rem) calc(28/var(--base-size) * 1rem);
  }
}
.p-column-detail__container.layout4 .layout4__ico {
  grid-row: span 2;
  border-radius: 100vmax;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 .layout4__ico {
    margin-inline: auto;
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    inline-size: max(max(11.5px, 67.8px), 113/var(--font-size) * 1rem);
  }
}
.p-column-detail__container.layout4 .layout4__h {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-column-detail__container.layout4 .layout4__h {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 8px;
            margin-block-end: 8px;
  }
}

/* ----------------------------------------------
  新着情報
----------------------------------------------- */
.p-news__outer {
  padding: 0 calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-news__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
  display: grid;
  grid-template-columns: 1fr 67.8571428571%;
  gap: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__wrapper {
    display: revert;
  }
}

.p-news__nav {
  margin-inline: auto;
}
@media (min-width: 768.9px) {
  .p-news__nav {
    min-inline-size: max(max(11.5px, 144px), 240/var(--font-size) * 1rem);
  }
}

.p-news__h {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  letter-spacing: 0.07em;
  color: #008841;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__h {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    -webkit-margin-after: 8px;
            margin-block-end: 8px;
  }
}

@media (max-width: 768px) {
  .p-news__menu {
    -webkit-margin-after: calc(25/var(--base-size) * 1rem);
            margin-block-end: calc(25/var(--base-size) * 1rem);
  }
}
.p-news__menu + .p-news__h {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__menu + .p-news__h {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}
.p-news__menu.is-show .menu__ttl::after {
  scale: 1 -1;
}
.p-news__menu .menu__ttl {
  background-color: #0c3219;
  border: 1px solid #0c3219;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  position: relative;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  inline-size: 100%;
  block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (any-hover: hover) {
  .p-news__menu .menu__ttl:hover {
    background-color: #fff;
    color: #0c3219;
  }
}
@media (max-width: 768px) {
  .p-news__menu .menu__ttl {
    background-color: #edf8f8;
    border: 1px solid #edf8f8;
    color: #156038;
  }
}
.p-news__menu .menu__ttl::after {
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
  aspect-ratio: 10/6;
  background-color: currentColor;
  position: absolute;
  inset-inline-end: calc(24/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: max(max(11.5px, 6px), 10/var(--font-size) * 1rem);
}
.p-news__menu ul:is(.archive ul) {
  display: none;
}
.p-news__menu li {
  background-color: #008841;
  border: 1px solid #008841;
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  -webkit-margin-before: 2px;
          margin-block-start: 2px;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 768px) {
  .p-news__menu li {
    background-color: #fff;
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    color: #008841;
    text-align: center;
  }
}
@media (any-hover: hover) {
  .p-news__menu li:hover {
    background-color: #fff;
    color: #008841;
  }
  .p-news__menu li:hover a::after {
    background-color: #008841 !important;
  }
}
.p-news__menu li:is(.archive *) a::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-end: calc(20/var(--base-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
}
.p-news__menu li.is-active {
  background-color: #0c3219;
  border-color: #0c3219;
  pointer-events: none;
}
@media (max-width: 768px) {
  .p-news__menu li.is-active {
    display: none;
  }
}
.p-news__menu li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px calc(20/var(--base-size) * 1rem);
  position: relative;
  min-inline-size: max(max(11.5px, 144px), 240/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__menu li a {
    inline-size: 100%;
    min-inline-size: 0;
  }
}

.p-news__item {
  background-color: #fafafa;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  z-index: 3;
}
@media (any-hover: hover) {
  .p-news__item:hover {
    color: #008841;
  }
  .p-news__item:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}
.p-news__item::before {
  content: "";
  background-color: #e8e8e8;
  position: absolute;
  inset: 0;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  z-index: -3;
}
.p-news__item + .p-news__item {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
.p-news__item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(35/var(--base-size) * 1rem);
  padding: calc(17/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__item a {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 5px calc(15/var(--base-size) * 1rem);
    padding: calc(12/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

.p-news__date {
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .p-news__date {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  }
}

.p-news__cat {
  background-color: #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  line-height: 1.29;
  color: #fff;
  padding: 2px 10px 3px;
  min-inline-size: max(max(11.5px, 58.2px), 97/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__cat {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
    min-inline-size: max(max(11.5px, 37.2px), 62/var(--font-size) * 1rem);
    min-block-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  }
}

.p-news__txt {
  font-weight: 600;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-news__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.84;
    inline-size: 100%;
  }
}

.p-news__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news__btn {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  新着情報 - 詳細ページ
----------------------------------------------- */
.p-news-detail__header {
  padding: 0 calc(100/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-news-detail__header {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  }
}

.p-news-detail__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-news-detail__date {
  font-weight: 500;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 768px) {
  .p-news-detail__date {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
    -webkit-margin-after: 5px;
            margin-block-end: 5px;
  }
}

.p-news-detail__ttl {
  font-weight: 500;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  line-height: 1.4;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-news-detail__ttl {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.54;
  }
}

.p-news-detail__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  -webkit-margin-before: calc(30/var(--base-size) * 1rem);
          margin-block-start: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__tag {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}
.p-news-detail__tag li {
  background-color: #008841;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  color: #fff;
  padding: 5px max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem) 6px;
}
@media (max-width: 768px) {
  .p-news-detail__tag li {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
    padding: 3px 10px 4px;
  }
}

.p-news-detail__body {
  background-color: #edf8f8;
  padding: calc(80/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(140/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__body {
    padding: calc(40/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-news-detail__body:has(.clm1:first-child) {
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}

.p-news-detail__container + .p-news-detail__container {
  -webkit-margin-before: calc(130/var(--base-size) * 1rem);
          margin-block-start: calc(130/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__container + .p-news-detail__container {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}

.p-news-detail__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
  text-underline-offset: 0.2em;
}
@media (max-width: 768px) {
  .p-news-detail__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 2;
    padding-inline: calc(15/var(--base-size) * 1rem);
    text-align: justify;
  }
}
.p-news-detail__txt a {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  display: inline;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .p-news-detail__txt a:hover {
    background-size: 0 1px;
  }
}
.p-news-detail__txt a[href^=".pdf"] {
  color: #c7021c;
}

.p-news-detail__contents {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

.p-news-detail__h {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  font-size: max(max(11.5px, 20.4px), 34/var(--font-size) * 1rem);
  line-height: 1.5;
  margin-inline: auto;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-block-size: max(max(11.5px, 75px), 125/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__h {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    line-height: 1.5;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    min-block-size: max(max(11.5px, 46.8px), 78/var(--font-size) * 1rem);
  }
}
.p-news-detail__h::before {
  content: "NEWS";
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: max(max(11.5px, 93.6px), 156/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(0, 0, 0, 0.03);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -55%;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-news-detail__h::before {
    font-size: max(max(11.5px, 43.2px), 72/var(--font-size) * 1rem);
  }
}

.p-news-detail__img {
  overflow: hidden;
}
.p-news-detail__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.p-news-detail__btn {
  display: grid;
  place-items: center;
  padding-block: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__btn {
    padding-block: calc(40/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  投稿パーツごとのスタイル
/* ============================================ */
.p-news-detail__container.clm1 {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
.p-news-detail__container.clm1 .p-news-detail__img {
  -webkit-margin-after: calc(65/var(--base-size) * 1rem);
          margin-block-end: calc(65/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-news-detail__container.clm1 .p-news-detail__img {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    -webkit-margin-after: calc(28/var(--base-size) * 1rem);
            margin-block-end: calc(28/var(--base-size) * 1rem);
  }
}

.p-news-detail__container.clm2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(48/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__container.clm2 {
    gap: 9px;
  }
}

.p-news-detail__container.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-news-detail__container.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20/var(--base-size) * 1rem);
  }
}
.p-news-detail__container.flex .p-news-detail__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: 50%;
}
@media (max-width: 768px) {
  .p-news-detail__container.flex .p-news-detail__img {
    margin-inline: auto;
    inline-size: calc(100% - 30/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-news-detail__container.flex .p-news-detail__contents {
    display: contents;
  }
}
.p-news-detail__container.flex .p-news-detail__h {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768.9px) {
  .p-news-detail__container.flex.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

/* ----------------------------------------------
  会社概要
----------------------------------------------- */
@media (min-width: 768.9px) {
  #page-company {
    overflow: visible;
  }
}
#page-company .c-mv__ttl .en {
  font-size: max(max(11.5px, 84px), 140/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  #page-company .c-mv__ttl .en {
    font-size: max(max(11.5px, 18.6px), 31/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-company__header
/* ============================================ */
.p-company__header {
  overflow: hidden;
  padding: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-company__header {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-company__header .c-scroll {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.p-company__header .c-scroll__btn:nth-child(2) a {
  background: -webkit-gradient(linear, left top, right top, from(#0e2c50), to(#465567));
  background: -webkit-linear-gradient(left, #0e2c50 0%, #465567 100%);
  background: linear-gradient(90deg, #0e2c50 0%, #465567 100%);
}
@media (any-hover: hover) {
  .p-company__header .c-scroll__btn:nth-child(2) a:hover {
    color: #1e243e;
  }
  .p-company__header .c-scroll__btn:nth-child(2) a:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-company__header .c-scroll__btn:nth-child(2) a:hover::after {
    background-color: #1e243e;
    translate: 0 2px;
  }
}
.p-company__header .c-scroll__btn:nth-child(2) a::before {
  background-color: #ebeff5;
}
@media (max-width: 768px) {
  .p-company__header .c-scroll__btn[class] {
    margin-inline: auto;
    inline-size: calc(275/var(--base-size) * 1rem);
    block-size: max(max(11.5px, 34.8px), 58/var(--font-size) * 1rem);
  }
}

.p-companyHeader__bg {
  aspect-ratio: 1920/635;
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 100%;
  max-block-size: none;
}
@media (max-width: 768px) {
  .p-companyHeader__bg {
    aspect-ratio: 375/377;
    opacity: 0.7;
  }
}
.p-companyHeader__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.6s;
  transition: scale 0.6s;
  will-change: scale;
  width: 100%;
  height: 100%;
  -o-object-position: bottom;
     object-position: bottom;
}

.p-companyHeader__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

.p-companyHeader__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 30px), 50/var(--font-size) * 1rem);
  line-height: 1.4;
  -webkit-margin-after: calc(80/var(--base-size) * 1rem);
          margin-block-end: calc(80/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-companyHeader__txt {
    font-size: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
    line-height: 1.68;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-company__intro
/* ============================================ */
.p-company__intro {
  background-color: #ebeff5;
  padding: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(130/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-company__intro {
    padding: calc(60/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  }
}

.p-companyIntro__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
.p-companyIntro__wrapper + .p-companyIntro__wrapper {
  -webkit-margin-before: calc(90/var(--base-size) * 1rem);
          margin-block-start: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyIntro__wrapper + .p-companyIntro__wrapper {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-companyIntro__ttl {
    -webkit-margin-after: calc(40/var(--base-size) * 1rem);
            margin-block-end: calc(40/var(--base-size) * 1rem);
  }
}

.p-companyIntro__txt {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  padding: calc(40/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-companyIntro__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}

/* ============================================ */
/*  p-company__outer
/* ============================================ */
.p-company__outer {
  background: -webkit-linear-gradient(325deg, #0c3219 0%, #29603c 91.25%, #194d2b 100%);
  background: linear-gradient(125deg, #0c3219 0%, #29603c 91.25%, #194d2b 100%);
  padding: calc(70/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(80/var(--base-size) * 1rem);
  position: relative;
}
@media (max-width: 768px) {
  .p-company__outer {
    overflow: hidden;
    padding: calc(60/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-company__outer#background {
  background: -webkit-gradient(linear, left top, left bottom, from(#113652), to(#081d4d));
  background: -webkit-linear-gradient(#113652 0%, #081d4d 100%);
  background: linear-gradient(#113652 0%, #081d4d 100%);
}
.p-company__outer#background .p-companyOuter__bg {
  opacity: 0.8;
}
.p-company__outer#background .p-companyOuter__bg img {
  inset-inline-start: calc(-40/var(--base-size) * 1rem);
  inset-block-end: calc(566/var(--base-size) * 1rem);
  rotate: -69deg;
  inline-size: 165.3125%;
}
@media (max-width: 768px) {
  .p-company__outer#background .p-companyOuter__bg img {
    inset-inline-start: calc(-70/var(--base-size) * 1rem);
    inset-block-start: 0;
    inset-block-end: auto;
    inline-size: 195.7333333333%;
  }
}
@media (min-width: 768.9px) {
  .p-company__outer#background .p-companyOuter__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-companyOuter__bg {
  mix-blend-mode: color-dodge;
  opacity: 0.2;
  overflow: hidden;
  position: absolute;
  inset: 0;
}
.p-companyOuter__bg img {
  position: absolute;
  inset-inline-start: calc(-175/var(--base-size) * 1rem);
  inset-block-end: calc(40/var(--base-size) * 1rem);
  inline-size: 60.8333333333%;
  max-inline-size: none;
  max-block-size: none;
}
@media (max-width: 768px) {
  .p-companyOuter__bg img {
    inset-inline-start: 38.6666666667%;
    inset-block-start: calc(100/var(--base-size) * 1rem);
    inset-block-end: auto;
    inline-size: 114.6666666667%;
  }
}

.p-companyOuter__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-companyOuter__ttl {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 500;
  font-size: calc(137/var(--base-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.16);
  overflow: hidden;
  -webkit-margin-after: calc(150/var(--base-size) * 1rem);
          margin-block-end: calc(150/var(--base-size) * 1rem);
  white-space: nowrap;
}
@media (min-width: 768.9px) {
  .p-companyOuter__ttl {
    margin-inline: calc(50% - 50vw);
    inline-size: 100vw;
    max-inline-size: none;
    display: grid;
    place-content: center;
  }
}
@media (max-width: 768px) {
  .p-companyOuter__ttl {
    font-size: max(max(11.5px, 32.4px), 54/var(--font-size) * 1rem);
    line-height: 1;
    -webkit-margin-after: calc(40/var(--base-size) * 1rem);
            margin-block-end: calc(40/var(--base-size) * 1rem);
  }
}

.p-companyOuter__container {
  position: relative;
}
@media (min-width: 768.9px) {
  .p-companyOuter__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: calc(150/var(--base-size) * 1rem);
       -moz-column-gap: calc(150/var(--base-size) * 1rem);
            column-gap: calc(150/var(--base-size) * 1rem);
  }
}

@media (min-width: 768.9px) {
  .p-companyOuter__header {
    position: -webkit-sticky;
    position: sticky;
    inset-inline-start: 0;
    inset-block-start: calc(var(--header-height) + 60/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-companyOuter__header {
    -webkit-margin-after: calc(50/var(--base-size) * 1rem);
            margin-block-end: calc(50/var(--base-size) * 1rem);
  }
}
.p-companyOuter__header .p_01 {
  border: 1px solid #fff;
  font-weight: 500;
  font-size: max(max(11.5px, 33px), 55/var(--font-size) * 1rem);
  letter-spacing: 0.18em;
  line-height: 1.15;
  color: #fff;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  padding: 8px calc(22/var(--base-size) * 1rem) 10px;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-companyOuter__header .p_01 {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
    letter-spacing: normal;
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
    padding: 4px calc(18/var(--base-size) * 1rem) 6px;
  }
}
.p-companyOuter__header .p_02 {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  color: #fff;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyOuter__header .p_02 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-after: calc(20/var(--base-size) * 1rem);
            margin-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-companyOuter__header .p_03 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.7);
  text-align: justify;
}
@media (max-width: 768px) {
  .p-companyOuter__header .p_03 {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

.p-companyOuter__history {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: 50%;
}
@media (max-width: 768px) {
  .p-companyOuter__history {
    inline-size: 100%;
  }
}
.p-companyOuter__history tr:first-child th,
.p-companyOuter__history tr:first-child td {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}
.p-companyOuter__history th,
.p-companyOuter__history td {
  font-family: "Noto Sans JP", sans-serif;
  color: rgba(255, 255, 255, 0.6);
  padding: calc(15/var(--base-size) * 1rem) calc(22/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyOuter__history th,
  .p-companyOuter__history td {
    padding: calc(20/var(--base-size) * 1rem) 0 10px;
  }
}
.p-companyOuter__history th {
  border-bottom: 1px solid #fff;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.35;
  inline-size: max(max(11.5px, 93px), 155/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyOuter__history th {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 54.6px), 91/var(--font-size) * 1rem);
  }
}
.p-companyOuter__history th span {
  display: block;
  -webkit-padding-before: 0.4em;
          padding-block-start: 0.4em;
}
@media (max-width: 768px) {
  .p-companyOuter__history th span {
    -webkit-padding-before: 0.2em;
            padding-block-start: 0.2em;
  }
}
.p-companyOuter__history td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  padding-inline: calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyOuter__history td {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}

.p-companyOuter__background {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  inline-size: 51.7857142857%;
}
@media (max-width: 768px) {
  .p-companyOuter__background {
    inline-size: 100%;
  }
}
.p-companyOuter__background tr:last-child td::after {
  content: none;
}
.p-companyOuter__background tr:not(:last-child) th,
.p-companyOuter__background tr:not(:last-child) td {
  -webkit-padding-after: calc(35/var(--base-size) * 1rem);
          padding-block-end: calc(35/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-companyOuter__background tr:not(:last-child) th,
  .p-companyOuter__background tr:not(:last-child) td {
    -webkit-padding-after: calc(20/var(--base-size) * 1rem);
            padding-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-companyOuter__background th,
.p-companyOuter__background td {
  font-family: "Noto Sans JP", sans-serif;
}
.p-companyOuter__background th {
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.35;
  inline-size: calc(120/var(--base-size) * 1rem);
  color: #fff;
  -webkit-padding-before: 0.35em;
          padding-block-start: 0.35em;
}
@media (max-width: 768px) {
  .p-companyOuter__background th {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 53.4px), 89/var(--font-size) * 1rem);
  }
}
.p-companyOuter__background td {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: calc(30/var(--base-size) * 1rem);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  color: rgba(255, 255, 255, 0.7);
  position: relative;
}
@media (max-width: 768px) {
  .p-companyOuter__background td {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
    gap: calc(15/var(--base-size) * 1rem);
  }
}
.p-companyOuter__background td::before {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  content: "";
  aspect-ratio: 1;
  background-color: #113652;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 100vmax;
  -webkit-margin-before: 0.9em;
          margin-block-start: 0.9em;
  inline-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  z-index: 3;
}
@media (max-width: 768px) {
  .p-companyOuter__background td::before {
    -webkit-margin-before: 0.6em;
            margin-block-start: 0.6em;
  }
}
.p-companyOuter__background td::after {
  content: "";
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  inset-inline-start: calc(max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem) / 2);
  inset-block-start: 1.5em;
  inline-size: 1px;
  block-size: calc(100% - 0.5em);
}

/* ----------------------------------------------
  SDGsの取り組み
----------------------------------------------- */
@media (max-width: 768px) {
  #page-sdgs .c-mv__ttl .en {
    font-size: max(max(11.5px, 21px), 35/var(--font-size) * 1rem);
  }
}

/* ============================================ */
/*  p-sdgs__intro
/* ============================================ */
.p-sdgs__intro {
  padding: calc(60/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem) calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__intro {
    padding: calc(15/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
  }
}

.p-sdgsIntro__wrapper {
  margin-inline: auto;
  max-inline-size: 1085px;
  max-inline-size: max(1085px - 200/var(--base-size) * 1rem, 1085/var(--base-size) * 1rem);
}

.p-sdgsIntro__ttl {
  margin-inline: auto;
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 363px), 605/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgsIntro__ttl {
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
    inline-size: max(max(11.5px, 134.4px), 224/var(--font-size) * 1rem);
  }
}

.p-sdgsIntro__list {
  display: grid;
  grid-template-columns: repeat(6, calc(164/var(--base-size) * 1rem));
  gap: calc(20/var(--base-size) * 1rem);
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-sdgsIntro__list {
    grid-template-columns: repeat(4, calc(69/var(--base-size) * 1rem));
    gap: 8px;
  }
}

/* ============================================ */
/*  p-sdgs__outer
/* ============================================ */
.p-sdgs__outer {
  background-color: #deede3;
  padding: calc(60/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem) calc(130/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__outer {
    padding: calc(60/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem) calc(40/var(--base-size) * 1rem);
  }
}

.p-sdgs__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
.p-sdgs__wrapper + .p-sdgs__wrapper {
  -webkit-margin-before: calc(90/var(--base-size) * 1rem);
          margin-block-start: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__wrapper + .p-sdgs__wrapper {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

@media (max-width: 768px) {
  .p-sdgs__ttl {
    -webkit-margin-after: calc(40/var(--base-size) * 1rem);
            margin-block-end: calc(40/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-sdgs__ttl .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  }
}

.p-sdgs__container {
  background-color: #fff;
  padding: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__container {
    padding: calc(30/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-sdgs__container + .p-sdgs__container {
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__container + .p-sdgs__container {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.p-sdgs__container:nth-of-type(4) .p-sdgs__list {
  padding-inline: calc(30/var(--base-size) * 1rem);
}

.p-sdgs__h {
  -webkit-margin-after: calc(40/var(--base-size) * 1rem);
          margin-block-end: calc(40/var(--base-size) * 1rem);
  text-align: center;
}
.p-sdgs__h .ja {
  font-weight: 600;
  font-size: max(max(11.5px, 24px), 40/var(--font-size) * 1rem);
  line-height: 1.325;
}
@media (max-width: 768px) {
  .p-sdgs__h .ja {
    font-size: max(max(11.5px, 16.8px), 28/var(--font-size) * 1rem);
  }
}
.p-sdgs__h .en {
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 10.2px), 17/var(--font-size) * 1rem);
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
@media (max-width: 768px) {
  .p-sdgs__h .en {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  }
}

.p-sdgs__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(30/var(--base-size) * 1rem);
  margin-inline: auto;
  -webkit-margin-after: calc(50/var(--base-size) * 1rem);
          margin-block-end: calc(50/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-sdgs__list {
    gap: 5px;
    -webkit-margin-after: calc(25/var(--base-size) * 1rem);
            margin-block-end: calc(25/var(--base-size) * 1rem);
  }
}
.p-sdgs__list li {
  inline-size: calc(124/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__list li {
    inline-size: calc(72/var(--base-size) * 1rem);
  }
}

.p-sdgs__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  text-align: center;
}
@media (max-width: 768px) {
  .p-sdgs__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}
.p-sdgs__txt strong {
  font-weight: bold;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-sdgs__txt strong {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  個人情報保護方針
----------------------------------------------- */
.p-protection_plan__mv .en {
  font-size: calc(75/var(--base-size) * 1rem);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-protection_plan__mv .en {
    font-size: calc(29/var(--base-size) * 1rem);
  }
}

.p-protection_plan__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-protection_plan__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-protection_plan__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-protection_plan__container + .p-protection_plan__container {
  -webkit-margin-before: calc(80/var(--base-size) * 1rem);
          margin-block-start: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-protection_plan__container + .p-protection_plan__container {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}

.p-protection_plan__contents {
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-protection_plan__contents {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}

.p-protection_plan__h {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-protection_plan__h {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}
.p-protection_plan__h + .p-protection_plan__txt[class] {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.p-protection_plan__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-protection_plan__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}
.p-protection_plan__txt:not(:first-child) {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-protection_plan__txt:not(:first-child) {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
.p-protection_plan__txt:is(.p-protection_plan__container > *):last-child {
  text-align: right;
}
@media (min-width: 768.9px) {
  .p-protection_plan__txt:is(.p-protection_plan__container > *):last-child {
    -webkit-margin-before: calc(90/var(--base-size) * 1rem);
            margin-block-start: calc(90/var(--base-size) * 1rem);
  }
}
.p-protection_plan__txt dl {
  line-height: 2.15;
}
.p-protection_plan__txt dt {
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
.p-protection_plan__txt dd:has(.num) {
  -webkit-padding-start: 1.25em;
          padding-inline-start: 1.25em;
  position: relative;
}
.p-protection_plan__txt dd:has(.num) .num {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
}
.p-protection_plan__txt a {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  display: inline;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .p-protection_plan__txt a:hover {
    background-size: 0 1px;
  }
}

.p-protection_plan__contents.privacy1 .privacy1__list_01 {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  text-indent: -1em;
}

.p-protection_plan__contents.privacy5 .privacy5__list_01 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px calc(30/var(--base-size) * 1rem);
  font-weight: 500;
  -webkit-margin-before: calc(20/var(--base-size) * 1rem);
          margin-block-start: calc(20/var(--base-size) * 1rem);
  -webkit-padding-start: 0.5em;
          padding-inline-start: 0.5em;
}
@media (max-width: 768px) {
  .p-protection_plan__contents.privacy5 .privacy5__list_01 {
    grid-template-columns: auto 1fr;
  }
}
.p-protection_plan__contents.privacy5 .privacy5__list_02 li {
  list-style: none;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  text-indent: -1em;
}

/* ----------------------------------------------
  サイト利用上の注意
----------------------------------------------- */
.p-notes__mv .en {
  font-size: calc(123/var(--base-size) * 1rem);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-notes__mv .en {
    font-size: calc(29/var(--base-size) * 1rem);
  }
}

.p-notes__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-notes__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-notes__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-notes__item {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-notes__item {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
.p-notes__item ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
.p-notes__item ul li::before {
  content: "・";
}

.p-notes__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-notes__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}

.p-notes__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-notes__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}

/* ----------------------------------------------
  情報セキュリティ基本方針
----------------------------------------------- */
.p-security__mv .en {
  font-size: calc(75/var(--base-size) * 1rem);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-security__mv .en {
    font-size: calc(28/var(--base-size) * 1rem);
  }
}

.p-security__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-security__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-security__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-security__item {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-security__item {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}
.p-security__item ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
.p-security__item ul li::before {
  content: "・";
}

.p-security__ttl {
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  -webkit-margin-after: calc(20/var(--base-size) * 1rem);
          margin-block-end: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-security__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
}

.p-security__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.375;
  margin-block: var(--leading-trim);
}
@media (max-width: 768px) {
  .p-security__txt {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    line-height: 1.92;
  }
}
.p-security__txt:is(.p-security__wrapper > *:last-child) {
  text-align: right;
  -webkit-margin-before: calc(90/var(--base-size) * 1rem);
          margin-block-start: calc(90/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-security__txt:is(.p-security__wrapper > *:last-child) {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
  }
}

/* ----------------------------------------------
  特定商取引法に基づく表記
----------------------------------------------- */
@media (max-width: 768px) {
  .p-regulation__mv .en {
    font-size: max(max(11.5px, 31.8px), 53/var(--font-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-regulation__mv .ja {
    font-size: max(max(11.5px, 15.6px), 26/var(--font-size) * 1rem);
  }
}

.p-regulation__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-regulation__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-regulation__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-regulation__table {
  position: relative;
  inline-size: 100%;
  z-index: 3;
}
.p-regulation__table::before {
  content: "";
  background: -webkit-linear-gradient(260deg, #008841 0%, #156038 100%);
  background: linear-gradient(190deg, #008841 0%, #156038 100%);
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 29.2857142857%;
  block-size: 100%;
  z-index: -3;
}
@media (max-width: 768px) {
  .p-regulation__table::before {
    inline-size: 30.4347826087%;
  }
}
.p-regulation__table th,
.p-regulation__table td {
  border: 1px solid #c3c3c3;
  -webkit-border-start: none;
          border-inline-start: none;
  line-height: 1.84;
  vertical-align: middle;
}
.p-regulation__table th {
  -webkit-border-end: none;
          border-inline-end: none;
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  color: #fff;
  padding: calc(25/var(--base-size) * 1rem) calc(56/var(--base-size) * 1rem);
  inline-size: 29.2857142857%;
}
@media (max-width: 768px) {
  .p-regulation__table th {
    font-weight: bold;
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    padding: calc(15/var(--base-size) * 1rem) calc(5/var(--base-size) * 1rem);
    text-align: center;
    inline-size: 30.4347826087%;
  }
}
.p-regulation__table td {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  padding: calc(25/var(--base-size) * 1rem) calc(30/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-regulation__table td {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    padding: calc(15/var(--base-size) * 1rem);
  }
}
.p-regulation__table a {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (any-hover: hover) {
  .p-regulation__table a:hover {
    color: #c7021c;
  }
}

.p-regulation__tel {
  background-color: #f5f5f5;
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
  padding: calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-regulation__tel {
    -webkit-margin-before: calc(30/var(--base-size) * 1rem);
            margin-block-start: calc(30/var(--base-size) * 1rem);
    padding: calc(22/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) calc(25/var(--base-size) * 1rem);
  }
}
.p-regulation__tel .p_01 {
  color: #000;
  text-decoration: none;
}

/* ----------------------------------------------
  よくある質問
----------------------------------------------- */
.p-faq__outer {
  padding: 0 calc(150/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__outer {
    padding: 0 calc(15/var(--base-size) * 1rem) calc(50/var(--base-size) * 1rem);
  }
}

.p-faq__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-faq__scroll {
  -webkit-margin-after: calc(70/var(--base-size) * 1rem);
          margin-block-end: calc(70/var(--base-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-faq__scroll {
    gap: calc(5/var(--base-size) * 1rem);
    margin-inline: auto;
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
    inline-size: min(100%, 280px);
  }
}
@media (min-width: 768.9px) {
  .p-faq__scroll li {
    inline-size: calc((100% - 20/var(--base-size) * 1rem * 3) / 4);
  }
}
.p-faq__scroll li:nth-child(2) a {
  background: -webkit-linear-gradient(355deg, #0e2c50 0%, #465567 100%);
  background: linear-gradient(95deg, #0e2c50 0%, #465567 100%);
}
@media (any-hover: hover) {
  .p-faq__scroll li:nth-child(2) a:hover {
    color: #0e2c50;
  }
}
.p-faq__scroll li:nth-child(2) a::before {
  background-color: #ebeff5;
}
.p-faq__scroll li:nth-child(3) a {
  background: -webkit-linear-gradient(355deg, #3b0000 0%, #674658 100%);
  background: linear-gradient(95deg, #3b0000 0%, #674658 100%);
}
@media (any-hover: hover) {
  .p-faq__scroll li:nth-child(3) a:hover {
    color: #3b0000;
  }
}
.p-faq__scroll li:nth-child(3) a::before {
  background-color: #fff2f0;
}
.p-faq__scroll li:nth-child(4) a {
  background: -webkit-linear-gradient(355deg, #7e7229 0%, #676146 100%);
  background: linear-gradient(95deg, #7e7229 0%, #676146 100%);
}
@media (any-hover: hover) {
  .p-faq__scroll li:nth-child(4) a:hover {
    color: #676146;
  }
}
.p-faq__scroll li:nth-child(4) a::before {
  background-color: #fffade;
}
.p-faq__scroll a {
  inline-size: 100%;
  min-inline-size: 0;
}
@media (max-width: 768px) {
  .p-faq__scroll a {
    font-weight: 500;
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    letter-spacing: 0.05em;
    padding-inline: calc(30/var(--base-size) * 1rem);
  }
}

.p-faq__section + .p-faq__section {
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__section + .p-faq__section {
    -webkit-margin-before: calc(50/var(--base-size) * 1rem);
            margin-block-start: calc(50/var(--base-size) * 1rem);
  }
}

.p-faq__ttl {
  background: -webkit-linear-gradient(355deg, #008841 0%, #156038 100%);
  background: linear-gradient(95deg, #008841 0%, #156038 100%);
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  color: #fff;
  padding: calc(25/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__ttl {
    font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
    padding: calc(10/var(--base-size) * 1rem) calc(26/var(--base-size) * 1rem);
  }
}

.p-faq__item {
  -webkit-border-after: 1px solid rgba(0, 0, 0, 0.3);
          border-block-end: 1px solid rgba(0, 0, 0, 0.3);
  overflow: hidden;
  position: relative;
  -webkit-transition: background-color 0.4s, color 0.4s, 1.5s ease filter, 1.5s ease opacity, 1.5s ease translate;
  transition: background-color 0.4s, color 0.4s, 1.5s ease filter, 1.5s ease opacity, 1.5s ease translate;
  z-index: 3;
}
@media (any-hover: hover) {
  .p-faq__item:has(.p-faq__summary:hover)::before {
    opacity: 1;
  }
  .p-faq__item:has(.p-faq__summary:hover) .ico {
    scale: 0.9 0.9;
  }
}
.p-faq__item::before {
  content: "";
  background-color: #edf8f8;
  opacity: 0;
  position: absolute;
  inset: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: -3;
}
.p-faq__item.is-open .ico::before {
  scale: -1 1;
}

.p-faq__summary {
  cursor: pointer;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto auto 1fr;
  gap: 5px;
  font-weight: bold;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 1.8;
  color: #156038;
  padding: calc(20/var(--base-size) * 1rem) calc(32/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem) calc(70/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__summary {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    padding: calc(10/var(--base-size) * 1rem) 0;
    min-block-size: max(max(11.5px, 38.4px), 64/var(--font-size) * 1rem);
  }
}
.p-faq__summary::before {
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  content: "Q.";
  font-weight: 500;
  font-size: 1em;
  letter-spacing: 0.05em;
  color: currentColor;
}
@media (min-width: 768.9px) {
  .p-faq__summary::before {
    -webkit-margin-before: 0.4em;
            margin-block-start: 0.4em;
  }
}
.p-faq__summary .ico {
  aspect-ratio: 1;
  background: -webkit-linear-gradient(325deg, #008841 0%, #156038 100%);
  background: linear-gradient(125deg, #008841 0%, #156038 100%);
  border: 1px solid #018842;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  position: relative;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
  will-change: scale;
  inline-size: max(max(11.5px, 27.6px), 46/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__summary .ico {
    inline-size: calc(34/var(--base-size) * 1rem);
  }
}
.p-faq__summary .ico::before {
  content: "";
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  rotate: 90deg;
  inline-size: 26.0869565217%;
}

.p-faq__detail {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: auto 1fr;
  gap: 5px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  padding: 0 calc(96/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-faq__detail {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 1.84;
    padding: 0 0 calc(20/var(--base-size) * 1rem) calc(20/var(--base-size) * 1rem);
  }
}
.p-faq__detail::before {
  font-family: "operetta-18", serif;
  font-weight: 500;
  font-style: normal;
  content: "A.";
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  color: #c7021c;
}
@media (max-width: 768px) {
  .p-faq__detail::before {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  }
}
.p-faq__detail a {
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)) left bottom 0.05em/100% 1px no-repeat;
  background: -webkit-linear-gradient(currentColor, currentColor) left bottom 0.05em/100% 1px no-repeat;
  background: linear-gradient(currentColor, currentColor) left bottom 0.05em/100% 1px no-repeat;
  color: #c7021c;
  -webkit-transition: background-size 0.7s;
  transition: background-size 0.7s;
}
@media (any-hover: hover) {
  .p-faq__detail a:hover {
    background-size: 0 1px;
  }
}

/* ----------------------------------------------
  お問い合わせ
----------------------------------------------- */
.p-contact__outer {
  padding: 0 calc(100/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__outer {
    padding: 0 0 calc(60/var(--base-size) * 1rem);
  }
}
.p-contact__outer .req {
  background-color: #d02a2e;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  padding: 4px max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem) 4.5px;
}
@media (max-width: 768px) {
  .p-contact__outer .req {
    font-size: max(max(11.5px, 6.6px), 11/var(--font-size) * 1rem);
  }
}

.p-contact__wrapper {
  margin-inline: auto;
  max-inline-size: 1600px;
  max-inline-size: max(1600px - 200/var(--base-size) * 1rem, 1600/var(--base-size) * 1rem);
}

@media (max-width: 768px) {
  .p-contact__header {
    padding-inline: calc(15/var(--base-size) * 1rem);
  }
}

.p-contact__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: max(max(11.5px, 69px), 115/var(--font-size) * 1rem);
  margin-inline: auto;
  -webkit-margin-after: calc(110/var(--base-size) * 1rem);
          margin-block-end: calc(110/var(--base-size) * 1rem);
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-contact__step {
    gap: calc(15/var(--base-size) * 1rem);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-margin-after: calc(45/var(--base-size) * 1rem);
            margin-block-end: calc(45/var(--base-size) * 1rem);
    inline-size: 100%;
    max-inline-size: 400px;
  }
}
.p-contact__step::before {
  content: "";
  background-color: #156038;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  translate: 0 -50%;
  inline-size: 100%;
  block-size: 1px;
  z-index: -3;
}
.p-contact__step .step__item {
  background-color: #fff;
  border: 1px solid #156038;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.29;
  color: #156038;
  text-align: center;
  inline-size: max(max(11.5px, 134.4px), 224/var(--font-size) * 1rem);
  block-size: max(max(11.5px, 64.8px), 108/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__step .step__item {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
    inline-size: max(max(11.5px, 51.6px), 86/var(--font-size) * 1rem);
    block-size: max(max(11.5px, 49.2px), 82/var(--font-size) * 1rem);
  }
}
.p-contact__step .step__item.is-active {
  background-color: #156038;
  color: #fff;
}
.p-contact__step .step__item span {
  font-family: "Lucida Calligraphy";
  font-weight: normal;
  font-style: italic;
  font-size: max(max(11.5px, 25.2px), 42/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-contact__step .step__item span {
    font-size: max(max(11.5px, 15px), 25/var(--font-size) * 1rem);
  }
}

.p-contact__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  -webkit-margin-after: calc(15/var(--base-size) * 1rem);
          margin-block-end: calc(15/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__lead {
    font-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
  }
}
.p-contact__lead .req {
  -webkit-margin-end: 3px;
          margin-inline-end: 3px;
}
.p-contact__lead li {
  -webkit-padding-start: 1.2em;
          padding-inline-start: 1.2em;
  position: relative;
}
.p-contact__lead li::before {
  content: "※";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
}

.p-contact__form .form__outer {
  background-color: #deede3;
  padding: calc(70/var(--base-size) * 1rem) calc(150/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__outer {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-contact__form .form__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}
.p-contact__form .form__item {
  display: grid;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: max(max(11.5px, 136.8px), 228/var(--font-size) * 1rem) 1fr;
  gap: calc(120/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__item {
    display: revert;
  }
}
.p-contact__form .form__item + .form__item {
  -webkit-margin-before: calc(50/var(--base-size) * 1rem);
          margin-block-start: calc(50/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__item + .form__item {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
.p-contact__form .form__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 28.8px), 48/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__head {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    -webkit-margin-after: calc(15/var(--base-size) * 1rem);
            margin-block-end: calc(15/var(--base-size) * 1rem);
    min-block-size: 0;
  }
}
.p-contact__form .form__body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  letter-spacing: 0.05em;
  line-height: 2;
  inline-size: max(max(11.5px, 321px), 535/var(--font-size) * 1rem);
  min-block-size: 100%;
}
@media (max-width: 768px) {
  .p-contact__form .form__body {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inline-size: 100%;
  }
}
.p-contact__form .form__body:is(.category *) {
  position: relative;
}
@media (min-width: 768.9px) {
  .p-contact__form .form__body:is(.category *) {
    inline-size: max(max(11.5px, 266.4px), 444/var(--font-size) * 1rem);
  }
}
.p-contact__form .form__body:is(.category *)::after {
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
  aspect-ratio: 2/1;
  background-color: #156038;
  position: absolute;
  inset-inline-end: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  inset-block-start: max(max(11.5px, 13.2px), 22/var(--font-size) * 1rem);
  inline-size: max(max(11.5px, 7.2px), 12/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__body:is(.category *)::after {
    inset-inline-end: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
    inset-block-start: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  }
}
.p-contact__form .form__body:is(.content *) {
  inline-size: 100%;
  block-size: max(max(11.5px, 168px), 280/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__body:is(.content *) {
    block-size: max(max(11.5px, 150px), 250/var(--font-size) * 1rem);
  }
}
.p-contact__form .form__body:is(.name *), .p-contact__form .form__body:is(.katakana *) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20/var(--base-size) * 1rem);
  inline-size: max(max(11.5px, 429.6px), 716/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__body:is(.name *), .p-contact__form .form__body:is(.katakana *) {
    grid-template-columns: 1fr;
    gap: calc(10/var(--base-size) * 1rem);
    inline-size: 80.5797101449%;
  }
}
.p-contact__form .form__input {
  inline-size: 100%;
  block-size: 100%;
}
.p-contact__form .form__input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.15);
}
.p-contact__form .form__input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.15);
}
.p-contact__form .form__input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.15);
}
.p-contact__form .form__input::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.15);
}
.p-contact__form .form__input::placeholder, .p-contact__form .form__input.is-empty {
  color: rgba(0, 0, 0, 0.15);
}
.p-contact__form .form__input:not([type=radio]):not([type=checkbox]) {
  background-color: #fff;
  padding: max(max(11.5px, 4.8px), 8/var(--font-size) * 1rem) max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem) max(max(11.5px, 5.4px), 9/var(--font-size) * 1rem);
  inline-size: 100%;
}
@media (max-width: 768px) {
  .p-contact__form .form__input:not([type=radio]):not([type=checkbox]) {
    padding: max(max(11.5px, 3px), 5/var(--font-size) * 1rem) max(max(11.5px, 9px), 15/var(--font-size) * 1rem) max(max(11.5px, 3.6px), 6/var(--font-size) * 1rem);
  }
}
.p-contact__form .form__input[type=checkbox], .p-contact__form .form__input[type=radio] {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  aspect-ratio: 1;
  accent-color: #c7021c;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  cursor: pointer;
  width: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
}
.p-contact__form .form__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
  padding: 10px;
}
.p-contact__form .form__agreement {
  -webkit-margin-before: calc(100/var(--base-size) * 1rem);
          margin-block-start: calc(100/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-contact__form .form__agreement {
    -webkit-margin-before: calc(40/var(--base-size) * 1rem);
            margin-block-start: calc(40/var(--base-size) * 1rem);
  }
}
.p-contact__form .form__agreement .p_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__agreement .p_01 {
    font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  }
}
.p-contact__form .form__agreement .p_01 input {
  -webkit-margin-before: 0.2em;
          margin-block-start: 0.2em;
}
.p-contact__form .form__agreement .p_01 a {
  background: -webkit-linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  background: linear-gradient(transparent calc(100% - 1px), currentColor calc(100% - 1px), currentColor 100%) no-repeat left bottom/100% 1px;
  color: #d02a2e;
  display: inline;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  .p-contact__form .form__agreement .p_01 a:hover {
    background-size: 0 1px;
  }
}
.p-contact__form .form__agreement .p_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 1.92;
  -webkit-margin-before: calc(40/var(--base-size) * 1rem);
          margin-block-start: calc(40/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__form .form__agreement .p_02 {
    font-size: max(max(11.5px, 8.4px), 14/var(--font-size) * 1rem);
    -webkit-margin-before: calc(25/var(--base-size) * 1rem);
            margin-block-start: calc(25/var(--base-size) * 1rem);
  }
}

.p-contact__footer {
  display: grid;
  place-items: center;
  gap: 10px calc(100/var(--base-size) * 1rem);
  margin-inline: auto;
  -webkit-margin-before: calc(80/var(--base-size) * 1rem);
          margin-block-start: calc(80/var(--base-size) * 1rem);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
@media (max-width: 768px) {
  .p-contact__footer {
    -webkit-margin-before: calc(60/var(--base-size) * 1rem);
            margin-block-start: calc(60/var(--base-size) * 1rem);
  }
}

.p-contact__btn {
  background: -webkit-gradient(linear, left top, right top, from(#008841), to(#156038));
  background: -webkit-linear-gradient(left, #008841 0%, #156038 100%);
  background: linear-gradient(90deg, #008841 0%, #156038 100%);
  border: 1px solid #008841;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  color: #fff;
  line-height: 1.45;
  position: relative;
  -webkit-transition: border-color 0.3s, color 0.3s;
  transition: border-color 0.3s, color 0.3s;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-inline-size: max(max(11.5px, 144px), 240/var(--font-size) * 1rem);
  min-block-size: max(max(11.5px, 31.8px), 53/var(--font-size) * 1rem);
  z-index: 3;
}
@media (any-hover: hover) {
  .p-contact__btn:hover {
    color: #008841;
    border-color: #008841;
  }
  .p-contact__btn:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .p-contact__btn:hover::after {
    background-color: #008841;
  }
}
.p-contact__btn::before {
  content: "";
  background-color: #fff;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  scale: 0 1;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
  inline-size: 100%;
  block-size: 100%;
  z-index: -3;
}
.p-contact__btn::after {
  aspect-ratio: 8/12;
  background-color: #fff;
  -webkit-mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
          mask: url("../img/common/arrow_next.svg") no-repeat center/contain;
  -webkit-transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  transition: background-color 0.3s, scale 0.3s, translate 0.3s;
  inline-size: max(6px, 8/var(--base-size) * 1rem);
  content: "";
  position: absolute;
  inset-inline-end: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  inset-block-start: 50%;
  translate: 0 -50%;
}
.p-contact__btn input {
  padding: 5px max(max(11.5px, 26.4px), 44/var(--font-size) * 1rem) 5px max(max(11.5px, 18px), 30/var(--font-size) * 1rem);
  position: absolute;
  inset: 0;
  text-align: center;
}
.p-contact__btn.prev {
  background: #efefef;
  color: #008841;
}
.p-contact__btn.prev::after {
  background-color: #008841;
  inset-inline-start: calc(18/var(--base-size) * 1rem);
  inset-inline-end: auto;
  scale: -1 1;
}
.p-contact__btn.prev input {
  padding: 5px max(max(11.5px, 18px), 30/var(--font-size) * 1rem) 5px max(max(11.5px, 26.4px), 44/var(--font-size) * 1rem);
}

/* ============================================ */
/*  確認画面
/* ============================================ */
#page-confirm .form__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: auto;
}
#page-confirm .form__body:is(.category *)::after {
  content: none;
}
@media (min-width: 768.9px) {
  #page-confirm .p-contact__footer {
    grid-template-columns: repeat(2, auto);
  }
}

/* ============================================ */
/*  完了画面
/* ============================================ */
.p-contact__thanks {
  background-color: #deede3;
  padding: calc(70/var(--base-size) * 1rem) calc(100/var(--base-size) * 1rem);
  text-align: center;
}
@media (max-width: 768px) {
  .p-contact__thanks {
    padding: calc(50/var(--base-size) * 1rem) calc(15/var(--base-size) * 1rem);
  }
}
.p-contact__thanks .thanks__ttl {
  border-bottom: 1px solid #fff;
  font-weight: 600;
  font-size: max(max(11.5px, 14.4px), 24/var(--font-size) * 1rem);
  line-height: 1.5;
  margin-inline: auto;
  -webkit-margin-after: calc(30/var(--base-size) * 1rem);
          margin-block-end: calc(30/var(--base-size) * 1rem);
  -webkit-padding-after: calc(30/var(--base-size) * 1rem);
          padding-block-end: calc(30/var(--base-size) * 1rem);
  max-inline-size: max(max(11.5px, 492px), 820/var(--font-size) * 1rem);
}
@media (max-width: 768px) {
  .p-contact__thanks .thanks__ttl {
    font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
    -webkit-padding-after: calc(20/var(--base-size) * 1rem);
            padding-block-end: calc(20/var(--base-size) * 1rem);
    padding-block-end: calc(20/var(--base-size) * 1rem);
  }
}
.p-contact__thanks .thanks__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  line-height: 2.25;
}
@media (max-width: 768px) {
  .p-contact__thanks .thanks__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
  }
}

/* ----------------------------------------------
  request_sc
----------------------------------------------- */
.p-request__mv .en {
  font-size: calc(124/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-request__mv .en {
    font-size: calc(52/var(--base-size) * 1rem);
  }
}

.p-request__outer {
  padding-inline: calc(150/var(--base-size) * 1rem);
  -webkit-padding-after: calc(80/var(--base-size) * 1rem);
          padding-block-end: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-request__outer {
    padding-inline: calc(15/var(--base-size) * 1rem);
    -webkit-padding-after: calc(60/var(--base-size) * 1rem);
            padding-block-end: calc(60/var(--base-size) * 1rem);
  }
}

.p-request__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-request__list {
  -webkit-margin-after: calc(80/var(--base-size) * 1rem);
          margin-block-end: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-request__list {
    -webkit-margin-after: calc(30/var(--base-size) * 1rem);
            margin-block-end: calc(30/var(--base-size) * 1rem);
  }
}
.p-request__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 0.5em;
  font-weight: bold;
  font-size: max(max(11.5px, 12px), 20/var(--font-size) * 1rem);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-request__list li {
    font-size: max(max(11.5px, 9.6px), 16/var(--font-size) * 1rem);
  }
}
.p-request__list li + li {
  -webkit-margin-before: calc(60/var(--base-size) * 1rem);
          margin-block-start: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-request__list li + li {
    -webkit-margin-before: calc(20/var(--base-size) * 1rem);
            margin-block-start: calc(20/var(--base-size) * 1rem);
  }
}
.p-request__list li::before {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  content: "";
  aspect-ratio: 1;
  background-color: #018842;
  border-radius: 100vmax;
  -webkit-margin-before: 0.42em;
          margin-block-start: 0.42em;
  inline-size: 1em;
}
.p-request__list li small {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: max(max(11.5px, 9px), 15/var(--font-size) * 1rem);
  line-height: 2;
  color: #5c5c5c;
}

/* ----------------------------------------------
  404
----------------------------------------------- */
@media (min-width: 768.9px) {
  .p-404__mv .ja {
    line-height: 1.4;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}

.p-404__outer {
  padding-inline: calc(150/var(--base-size) * 1rem);
  -webkit-padding-after: calc(80/var(--base-size) * 1rem);
          padding-block-end: calc(80/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-404__outer {
    padding-inline: calc(25/var(--base-size) * 1rem);
    -webkit-padding-after: calc(60/var(--base-size) * 1rem);
            padding-block-end: calc(60/var(--base-size) * 1rem);
  }
}

.p-404__wrapper {
  margin-inline: auto;
  max-inline-size: 1400px;
  max-inline-size: max(1400px - 200/var(--base-size) * 1rem, 1400/var(--base-size) * 1rem);
}

.p-404__txt {
  font-weight: 500;
  font-size: max(max(11.5px, 10.8px), 18/var(--font-size) * 1rem);
  line-height: 2.25;
  text-align: center;
}
@media (max-width: 768px) {
  .p-404__txt {
    font-size: max(max(11.5px, 7.8px), 13/var(--font-size) * 1rem);
    line-height: 2;
    text-align: justify;
  }
}

.p-404__btn {
  display: grid;
  place-items: center;
  margin-top: calc(60/var(--base-size) * 1rem);
}
@media (max-width: 768px) {
  .p-404__btn {
    margin-top: calc(40/var(--base-size) * 1rem);
  }
}
@media (max-width: 768px) {
  .p-404__btn a {
    inline-size: 100%;
  }
}