@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

.fw-bold {
  font-weight: bold;
}

.fs-m-xs {
  font-size: 1.2rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-xs {
    font-size: 1.4rem;
  }
}

.fs-m-s {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .fs-m-s {
    font-size: 1.8rem;
  }
}

.fs-m-m {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-m {
    font-size: 1.8rem;
  }
}

.fs-m-l1 {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-l1 {
    font-size: 2.6rem;
    line-height: 1.8;
  }
}

.fs-m-l1-2 {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-m-l1-2 {
    font-size: 2.4rem;
  }
}

.fs-m-l2 {
  font-size: 1.8rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-l2 {
    font-size: 3.2rem;
    line-height: 1.8;
  }
}

.fs-m-l2-2 {
  font-size: 1.8rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-m-l2-2 {
    font-size: 2.4rem;
  }
}

.fs-m-l3 {
  font-size: 1.9rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-l3 {
    font-size: 3.4rem;
    line-height: 1.8;
  }
}

.fs-m-l4 {
  font-size: 2rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-m-l4 {
    font-size: 3.6rem;
    line-height: 1.8;
  }
}

.fs-m-xl1 {
  font-size: 2.4rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-m-xl1 {
    font-size: 4rem;
  }
}

.fs-m-xl2 {
  font-size: 2.6rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-m-xl2 {
    font-size: 4.8rem;
  }
}

.fs-m-xl3 {
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .fs-m-xl3 {
    font-size: 3.6rem;
  }
}

.fs-m-xl4 {
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .fs-m-xl4 {
    font-size: 3.2rem;
  }
}

.fs-m-xl5 {
  font-size: 1.9rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-m-xl5 {
    font-size: 4.8rem;
  }
}

.ls-0 {
  letter-spacing: 0;
}

.ls-10 {
  letter-spacing: 0.1em;
}

.ls-13_2 {
  letter-spacing: 0.132em;
}

.ls-16 {
  letter-spacing: 0.16em;
}

.ls-20 {
  letter-spacing: 0.2em;
}

.ls-32 {
  letter-spacing: 0.32em;
}

.lh-10 {
  line-height: 1;
}

.lh-12 {
  line-height: 1.2;
}

.lh-14 {
  line-height: 1.4;
}

.lh-16 {
  line-height: 1.6;
}

.lh-18 {
  line-height: 1.8;
}

.lh-20 {
  line-height: 2;
}

.lh-24 {
  line-height: 2.4;
}

.fz-12 {
  font-size: 1.2rem;
}

.fz-13 {
  font-size: 1.3rem;
}

.fz-14 {
  font-size: 1.4rem;
}

.fz-16 {
  font-size: 1.6rem;
}

.fz-18 {
  font-size: 1.8rem;
}

.fz-20 {
  font-size: 2rem;
}

.fz-tel {
  font-size: 3.2rem;
}

.fs-g-s1 {
  font-size: 1.3rem;
  line-height: 2.4;
}
@media (min-width: 768px) {
  .fs-g-s1 {
    font-size: 1.6rem;
  }
}

.fs-g-s2 {
  font-size: 1.3rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-g-s2 {
    font-size: 1.6rem;
    line-height: 2.4;
  }
}

.fs-g-s3 {
  font-size: 1.3rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-g-s3 {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

.fs-g-s4 {
  font-size: 1.3rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fs-g-s4 {
    font-size: 1.6rem;
  }
}

.fs-g-s5 {
  font-size: 1.3rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .fs-g-s5 {
    font-size: 1.6rem;
  }
}

.fs-g-s5 {
  font-size: 1.4rem;
  line-height: 2.4;
}
@media (min-width: 768px) {
  .fs-g-s5 {
    font-size: 1.8rem;
  }
}

.fs-g-m {
  font-size: 1.5rem;
  line-height: 2.4;
}
@media (min-width: 768px) {
  .fs-g-m {
    font-size: 1.8rem;
  }
}

.fs-g-m2 {
  font-size: 1.5rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .fs-g-m2 {
    font-size: 2rem;
  }
}

.fs-g-l {
  font-size: 2rem;
}
@media (min-width: 768px) {
  .fs-g-l {
    font-size: 2.4rem;
  }
}

.fz-83p {
  font-size: 0.83333em;
}

.fz-75p {
  font-size: 0.75em;
}

:root {
  --color-black: #000;
  --color-ink: #333;
  --color-wh: #FFF;
  --color-wh_30: #FFFFFF4D;
  --color-primary: #A31039;
  --color-bk_br: #855E4A;
  --color-bk_br_30: #855E4A4D;
  --color-gr-f2: #F2F2F2;
  --color-gr-f5: #F5F5F5;
  --color-gr-cc: #CCCCCC;
  --color-gr-z01: #FFFAB5;
  --underline-main: linear-gradient(to right, var(--color-primary) 8rem, var(--color-bk_br_30) 8rem);
  --underline-wh: linear-gradient(to right, var(--color-wh) 8rem, var(--color-wh_30) 8rem);
  --color-shadow-black: #0000001A;
  --color-bg-wh-tr70: #FFFFFFB3;
  --color-bg-red: #F4E8E6;
  --color-bgef-orange: #FDE9D780;
  --color-bgef-pink: #FFC8E44D;
  --color-marker-blue: #66FFFF;
  --color-marker-yellow: #F6F3A2;
  --color-sp-bg-1: #F9F4E1;
  --color-sp-bgef-1: #FDE9D7E7;
  --color-sp-bg-2: #ECE9E4;
  --color-sp-bgef-2: #CBB6954C;
  --color-sp-bg-3: #D8EEF1;
  --color-sp-bgef-3: #A9E0AC34;
  --color-sp-bg-4: #FFE6DD;
  --color-sp-bgef-4: #FFBE8034;
  --color-orange: #DACFC9;
  --color-green: #305D1D;
  --color-blue: #253774;
  --color-text-yellow: #FFEE00;
  --color-bg-water: #E6E9F4;
  --color-bg-green: #E6F4E8;
  --color-bg-blue: #E9F8FF;
  --color-bgef-blue: #BACAFF4D;
  --color-sky-1: #68ABCC;
  --color-sky-2: #0189B5;
  --color-bd-sky: #EAEDF2;
  --color-bg-yellow: #F1DF83;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding: 7.2rem;
}
@media (min-width: 768px) {
  html {
    scroll-padding: 12rem;
  }
}

body {
  font-family: "Shippori Mincho", serif;
  color: var(--color-ink);
  letter-spacing: 0.1em;
  font-size: 1.3rem;
  line-height: 2.4;
}
@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

@media (min-width: 768px) {
  .c-hover-opacity {
    transition: 0.2s all ease;
  }
}
@media (min-width: 768px) {
  .c-hover-opacity:hover {
    opacity: 0.6;
  }
}

.c-header {
  position: fixed;
  z-index: 9999;
  inset: 1.6rem auto auto 1.6rem;
  width: 10rem;
  aspect-ratio: 100/56;
}
@media (min-width: 768px) {
  .c-header {
    inset: 3.2rem auto auto 3.2rem;
    width: 14.8rem;
    aspect-ratio: 140/78;
  }
}
.c-header__logo {
  display: block;
  width: 13rem;
  outline: none;
}
@media (min-width: 768px) {
  .c-header__logo {
    width: 23rem;
    transition: 0.2s all ease;
  }
  .c-header__logo:hover {
    opacity: 0.6;
  }
}
.c-header__logo > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-spmenu-input {
  position: fixed;
  inset: 0 0 auto auto;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.c-spmenu-btn {
  position: fixed;
  inset: 0 0 auto auto;
  z-index: 10001;
  width: 5rem;
  aspect-ratio: 1/1;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1040px) {
  .c-spmenu-btn {
    width: 8rem;
  }
}
.c-spmenu-btn__inner {
  position: relative;
  width: 2.6rem;
  aspect-ratio: 1/1;
}
@media (min-width: 1040px) {
  .c-spmenu-btn__inner {
    width: 4.8rem;
  }
}
.c-spmenu-btn__line {
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  width: 100%;
  height: 1px;
  background: var(--color-wh);
  transition: transform 0.2s ease;
}
.c-spmenu-btn__line--1 {
  transform: translateY(-3px);
}
@media (min-width: 1040px) {
  .c-spmenu-btn__line--1 {
    transform: translateY(-6px);
  }
}
.c-spmenu-input:checked + .c-spmenu-btn .c-spmenu-btn__line--1 {
  transform: rotate(45deg);
}
.c-spmenu-btn__line--2 {
  transform: translateX(-15%) scaleX(0.7) translateY(3px);
}
@media (min-width: 1040px) {
  .c-spmenu-btn__line--2 {
    transform: translateX(-15%) scaleX(0.7) translateY(6px);
  }
}
.c-spmenu-input:checked + .c-spmenu-btn .c-spmenu-btn__line--2 {
  transform: rotate(-45deg);
}

.c-nav {
  position: fixed;
  inset: 0 0 auto auto;
  z-index: 10000;
  padding: 0 8% 8rem;
  transition: transform 0.2s ease;
  background: var(--color-wh);
  transform: translateX(100%);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding-top: 4rem;
}
@media (min-width: 1040px) {
  .c-nav {
    padding: 0;
    transform: translateY(-100%);
    padding-top: 6.3rem;
  }
}
.c-spmenu-input:checked ~ .c-nav {
  transform: none;
}
@media (min-width: 1040px) {
  .c-nav__inner {
    max-width: 1200px;
    padding-inline: 4rem;
    margin-inline: auto;
  }
}
.c-nav__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-nav__img {
  width: 18rem;
  display: block;
}
@media (min-width: 1040px) {
  .c-nav__img {
    width: 30rem;
  }
}
.c-nav__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-nav__main-list {
  margin-top: 1.6rem;
}
@media (min-width: 1040px) {
  .c-nav__main-list {
    margin-top: 5.6rem;
  }
}
.c-nav__sub-list {
  display: contents;
}
@media (min-width: 1040px) {
  .c-nav__sub-list {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--color-bk_br_30);
    padding-top: 2.2rem;
    margin-top: 8rem;
  }
}
.c-nav__company-list {
  margin-top: 6.4rem;
}
@media (min-width: 1040px) {
  .c-nav__company-list {
    margin-top: 0;
  }
}
.c-nav__sns-list {
  margin-top: 8rem;
}
@media (min-width: 1040px) {
  .c-nav__sns-list {
    margin-top: 0;
  }
}

.m-menu-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1040px) {
  .m-menu-main {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    gap: 4rem;
  }
}
.m-menu-main__section {
  display: contents;
}
@media (min-width: 1040px) {
  .m-menu-main__section {
    width: 100%;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
}

.c-list-nav-child {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1040px) {
  .c-list-nav-child {
    display: grid;
    grid-template-columns: max-content;
    justify-content: flex-start;
  }
}
.c-list-nav-child > li {
  width: 50%;
}
@media (max-width: 1039px) {
  .c-list-nav-child > li {
    border-bottom: 1px dashed var(--color-bk_br_30);
  }
  .c-list-nav-child > li:nth-child(even) {
    border-left: 1px dashed var(--color-bk_br_30);
  }
}
@media (min-width: 1040px) {
  .c-list-nav-child > li {
    width: auto;
  }
}

.c-link-nav-child {
  display: block;
  padding: 1.9rem 0 1.9rem 1.6rem;
}
@media (min-width: 1040px) {
  .c-link-nav-child {
    padding: 1rem 0;
  }
}
@media (min-width: 768px) {
  .c-link-nav-child {
    transition: 0.2s all ease;
  }
  .c-link-nav-child:hover {
    opacity: 0.6;
  }
}
.c-link-nav-child--external {
  background-image: url("../img/components/ico/ico-external.svg");
  background-repeat: no-repeat;
  background-position: center right 16px;
  background-size: 12px 12px;
  padding-right: 40px;
}

.c-header-link-item--sp {
  display: none;
}
@media (max-width: 1039px) {
  .c-header-link-item--sp {
    display: block;
  }
}
.c-header-link-item--pc {
  display: none;
}
@media (min-width: 1040px) {
  .c-header-link-item--pc {
    display: block;
  }
}
.c-header-link-item__heading {
  display: block;
}
.c-header-link-item__links {
  margin-top: 9px;
}

.c-link-sns {
  display: block;
  width: 29px;
  height: 29px;
}
.c-link-sns img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-list-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
}

@media (min-width: 1040px) {
  .c-list-company {
    display: flex;
    gap: 6.4rem;
  }
}

.c-link-corp {
  display: block;
  padding-block: 1.6rem 2rem;
  border-bottom: 1px solid var(--color-bk_br_30);
}
@media (min-width: 768px) {
  .c-link-corp {
    transition: 0.2s all ease;
  }
  .c-link-corp:hover {
    opacity: 0.6;
  }
}
@media (min-width: 1040px) {
  .c-link-corp {
    padding-block: 1rem;
    border-bottom: none;
  }
}

.c-toggle-input {
  position: fixed;
  inset: 0 0 auto auto;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.swiper-kv {
  width: 100%;
  overflow: hidden;
}
.swiper-kv .swiper-wrapper {
  width: 100%;
  aspect-ratio: 375/640;
}
@media (min-width: 768px) {
  .swiper-kv .swiper-wrapper {
    aspect-ratio: 1920/1076;
  }
}
.swiper-kv .swiper-slide {
  background: var(--color-wh);
}
.swiper-kv .swiper-slide picture,
.swiper-kv .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-top-kv {
  position: relative;
  width: 100%;
}
.c-top-kv__img {
  display: block;
  width: 24rem;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .c-top-kv__img {
    width: 46rem;
  }
}

.c-kv-img {
  position: relative;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.c-kv-img__img {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}
.c-kv-img__img > img {
  width: 100%;
  height: 100%;
}
.c-kv-img__eff1 {
  backdrop-filter: blur(10px);
  opacity: 1;
  transition: transform 4.5s ease, backdrop-filter 4.5s ease, opacity 1.5s 3s ease;
}
.swiper-slide-active .c-kv-img__eff1 {
  opacity: 0;
  backdrop-filter: blur(0px);
  transform: scale(1.04) translateY(40%);
}
.c-kv-img__eff1 {
  position: absolute;
  inset: auto 0 0 0;
  margin: auto;
  z-index: 3;
  width: 100%;
  height: 500%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.6));
}
.c-kv-img__text {
  opacity: 0;
  transition: transform 1.8s ease, opacity 1.4s 0.6s ease;
  transform: translateY(16%);
}
.swiper-slide-active .c-kv-img__text, .swiper-slide-prev .c-kv-img__text {
  opacity: 1;
  transform: translateY(0);
}
.c-kv-img__text {
  position: absolute;
  z-index: 4;
}
@media (max-width: 767px) {
  .c-kv-img__text--1 {
    inset: 29.87vw auto auto 8.5333vw;
  }
}
@media (max-width: 767px) {
  .c-kv-img__text--2 {
    inset: auto auto 14.9333vw 8.5333vw;
  }
}
@media (min-width: 768px) {
  .c-kv-img__text {
    inset: auto auto auto 47.708333vw;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .c-kv-img__text--pc-left-bottom {
    inset: auto auto 6.25vw 13.75vw;
    justify-content: flex-end;
  }
}
@media (min-width: 768px) {
  .c-kv-img__text--pc-right-bottom {
    inset: auto 13.75vw 6.25vw auto;
    justify-content: flex-end;
  }
}
@media (min-width: 768px) {
  .c-kv-img__text--pc-left-center {
    inset: auto auto auto 13.75vw;
  }
}
.c-kv-img__text-ja {
  font-size: 7.46667vw;
}
@media (min-width: 768px) {
  .c-kv-img__text-ja {
    font-size: 3.229167vw;
  }
}
.c-kv-img__text-en {
  font-size: 3.73333vw;
}
@media (min-width: 768px) {
  .c-kv-img__text-en {
    font-size: 1.666667vw;
  }
}

.c-side {
  position: fixed;
  z-index: 1000;
  inset: auto 0 0 0;
  display: flex;
}
@media (min-width: 768px) {
  .c-side {
    inset: 0 0 0 auto;
    flex-direction: column;
    pointer-events: none;
  }
}
.c-side {
  justify-content: center;
}
@media (max-width: 767px) {
  .c-side {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .c-side__inner {
    display: flex;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-side__inner {
    pointer-events: initial;
  }
}
.c-side__inner > li {
  pointer-events: auto;
}
@media (max-width: 767px) {
  .c-side__inner > li {
    flex: 1;
  }
}

.c-side-link {
  display: block;
  height: 4.8rem;
  display: flex;
}
@media (max-width: 767px) {
  .c-side-link {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .c-side-link {
    width: 9rem;
    line-height: 1.6;
  }
}
.c-side-link {
  align-items: center;
  transition: 0.2s all ease;
}
@media (min-width: 768px) {
  .c-side-link:hover {
    opacity: 0.9;
  }
}
.c-side-link--1 {
  background: #820D2E;
  color: #FFF;
  font-size: 11px;
}
.c-side-link--2 {
  background: #9B0F36;
  color: #FFF;
  font-size: 11px;
}
.c-side-link--3 {
  background: #E2E2E2;
  color: #A31039;
  font-size: 10px;
}
.c-side-link > img {
  width: 4.8rem;
  object-fit: scale-down;
  height: 100%;
  margin-inline: -4px;
}
@media (max-width: 767px) {
  .c-side-link > img {
    margin-inline: -8px;
  }
}

.m-top-posts {
  gap: 8rem;
  display: flex;
  flex-direction: column;
  padding-inline: 8%;
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 1140px) {
  .m-top-posts {
    padding-inline: 40px;
    flex-direction: row;
  }
}
.m-top-posts > div {
  width: 100%;
}
@media (min-width: 768px) {
  .m-top-posts > div {
    flex: 1 1 auto;
  }
}

.c-top-post {
  margin-inline: auto;
  max-width: 1200px;
}
@media (min-width: 768px) {
  .c-top-post {
    padding-inline: 40px;
  }
}
.c-top-post__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-top-post__list {
  margin-top: 1.6rem;
}

.c-post-list > li:not(:first-child) {
  margin-top: 0.8rem;
}
@media (min-width: 768px) {
  .c-post-list > li:not(:first-child) {
    margin-top: 4rem;
  }
}

.c-post-link-inner {
  width: 100%;
}
@media (min-width: 768px) {
  .c-post-link-inner {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
  }
}
.c-post-link-inner__heading {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .c-post-link-inner__heading {
    display: contents;
  }
}
.c-post-link-inner__date {
  flex: 0 0 10rem;
}
.c-post-link-inner__tag {
  margin-left: 1.6rem;
  flex: 0 0 12rem;
}
@media (min-width: 768px) {
  .c-post-link-inner__tag {
    margin-left: 0;
  }
}
.c-post-link-inner__tag > img {
  width: 100%;
}
.c-post-link-inner__title {
  width: 100%;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-post-link-inner__title {
    margin-top: 0;
  }
}
.c-post-link-inner__title--arrow {
  padding-right: 40px;
  position: relative;
}
.c-post-link-inner__title--arrow:after {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 16px 0 auto;
  margin-block: auto;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  background-color: var(--color-primary);
  transition: 0.2s all ease;
  mask-image: url("../img/components/ico/ico-arrow.svg");
}
@media (min-width: 768px) {
  .c-post-link-inner__title--arrow {
    transition: 0.2s all ease;
  }
  a:hover .c-post-link-inner__title--arrow:after {
    transform: translateX(16px);
  }
}

.c-about {
  overflow: hidden;
  background: var(--color-primary);
  padding: 8rem 0;
}
@media (min-width: 768px) {
  .c-about {
    padding: 16rem 0;
  }
}
.c-about__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-about__texts {
  width: 100%;
  padding-inline: 8%;
}
@media (min-width: 768px) {
  .c-about__texts {
    padding-inline: 40px;
  }
}
.c-about__title {
  text-align: center;
  padding-inline: 8%;
}
@media (min-width: 768px) {
  .c-about__title {
    padding-inline: 0;
  }
}
.c-about__text {
  margin-top: 6.4rem;
  text-align: center;
  padding-inline: 8%;
}
@media (min-width: 768px) {
  .c-about__text {
    padding-inline: 0;
    margin-top: 8rem;
  }
}
.c-about__list {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .c-about__list {
    margin-top: 16rem;
  }
}

.c-about-2 {
  overflow: hidden;
  background: var(--color-primary);
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .c-about-2 {
    padding: 8rem 0;
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.c-slide {
  width: 100%;
}
.c-slide__wrap {
  display: flex;
  justify-content: flex-start;
}
.c-slide__list {
  display: flex;
  white-space: nowrap;
  padding: 0;
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
  flex-shrink: 0;
}
.c-slide__item {
  flex-shrink: 0;
  cursor: pointer;
  margin-inline: 8.53333vw;
}
@media (min-width: 768px) {
  .c-slide__item {
    margin-inline: 20px;
  }
}

.swiper-about {
  width: 100%;
  overflow: hidden;
}
.swiper-about .swiper-wrapper {
  width: auto !important;
  display: flex;
}
.swiper-about .swiper-slide {
  width: auto !important;
  height: auto !important;
}
.swiper-about.swiper-dragging .c-slide__list {
  animation-play-state: paused !important;
}

.c-slide-item {
  position: relative;
  display: block;
}
@media (min-width: 768px) {
  .c-slide-item {
    transition: 0.2s all ease;
  }
  .c-slide-item:hover {
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.3);
  }
}
.c-slide-item__img {
  width: 82.93333vw;
  aspect-ratio: 320/205;
}
@media (min-width: 768px) {
  .c-slide-item__img {
    width: 320px;
  }
}
.c-slide-item__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-slide-item__mask {
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  background: var(--color-bg-wh-tr70);
  pointer-events: none;
}
@media (min-width: 768px) {
  .c-slide-item__mask {
    opacity: 0;
    transition: 0.2s all ease;
  }
  .c-slide-item:hover .c-slide-item__mask {
    opacity: 1;
  }
}
.c-slide-item__mask-img {
  width: 57.6vw;
}
@media (min-width: 768px) {
  .c-slide-item__mask-img {
    width: 216px;
  }
}
.c-slide-item__mask-img {
  aspect-ratio: 216/84;
}
.c-slide-item__mask-img > img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}
.c-slide-item__text {
  margin-top: 2.4rem;
  text-align: center;
}

.c-special {
  position: relative;
  padding-bottom: 12rem;
}
@media (min-width: 768px) {
  .c-special {
    padding-top: 8rem;
    padding-bottom: 24rem;
  }
}
@media (max-width: 767px) {
  .c-special {
    display: flex;
    flex-direction: column;
  }
  .c-special__inner {
    display: contents;
  }
  .c-special__contents {
    order: 1;
  }
  .c-special__buttons {
    order: 3;
  }
  .c-special__bg {
    order: 2;
  }
}
.c-special__inner {
  max-width: 1480px;
  padding-inline: 50px;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .c-special__contents {
    padding-inline: 8%;
  }
}
.c-special__text {
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .c-special__text {
    margin-top: 7rem;
  }
}
.c-special__buttons {
  max-width: 760px;
  display: flex;
  flex-wrap: wrap;
  gap: 5.6rem 8rem;
  margin-top: 19.2rem;
}
@media (max-width: 767px) {
  .c-special__buttons {
    margin-top: 4rem;
    padding-inline: 8%;
    gap: 1.6rem 2.4rem;
  }
}
.c-special__buttons > li {
  width: calc(50% - 1.2rem);
}
@media (min-width: 768px) {
  .c-special__buttons > li {
    width: calc(50% - 4rem);
  }
}
.c-special__bg {
  width: 100%;
  aspect-ratio: 1070/980;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .c-special__bg {
    margin-top: 4rem;
  }
}
@media (min-width: 768px) {
  .c-special__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0 auto auto 0;
    z-index: 1;
  }
}
.c-special__bg {
  /* 背景画像がスムーズに切り替わるようにtransitionを設定 */
  transition: background-image 0.5s ease-in-out;
  /* 背景画像が要素全体に表示されるように設定 */
  background-size: cover;
  background-position-y: center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .c-special__bg {
    background-position-x: center !important;
  }
}
@media (min-width: 768px) {
  .c-special__bg {
    background-size: 60% auto;
    background-position-y: 8%;
    background-position-x: right;
  }
}
@media (min-width: 1920px) {
  .c-special__bg {
    background-size: 1070px 980px;
    background-position-y: top;
    background-position-x: calc(50% + 42.5rem) !important;
  }
}
.c-special__video {
  position: absolute;
  inset: auto auto 0 0;
  width: 65.06666vw;
  aspect-ratio: 1/2;
  opacity: 0.15;
}
@media (min-width: 768px) {
  .c-special__video {
    width: 40rem;
  }
}
.c-special__video > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.special-link-text {
  font-size: 2rem;
}
@media (max-width: 767px) {
  .special-link-text {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}
@media (min-width: 768px) {
  .special-link-text {
    font-size: 3.2rem;
  }
}
.special-link-text__mini {
  font-size: 0.8em;
}
@media (min-width: 768px) {
  .special-link-text__mini {
    font-size: 0.75em;
    margin-left: 2.5rem;
  }
}

.c-top-menu {
  position: relative;
  overflow: hidden;
}
.c-top-menu__inner {
  position: relative;
  z-index: 1;
  padding: 8rem 8%;
}
@media (min-width: 768px) {
  .c-top-menu__inner {
    padding: 16rem 0;
  }
}
.c-top-menu__title {
  text-align: center;
}
.c-top-menu__list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin-top: 5.6rem;
}
@media (min-width: 768px) {
  .c-top-menu__list {
    max-width: 1120px;
    margin-inline: auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem;
    padding: 0;
    margin-top: 8rem;
  }
}

.c-top-style {
  padding: 8rem 8%;
  position: relative;
}
@media (min-width: 768px) {
  .c-top-style {
    padding: 16rem 0;
  }
}
@media (max-width: 767px) {
  .c-top-style__content {
    display: contents;
  }
  .c-top-style__title {
    order: 1;
  }
  .c-top-style__slider {
    margin-top: 5.6rem;
    order: 2;
  }
  .c-top-style__text {
    order: 3;
  }
  .c-top-style__button {
    order: 4;
  }
}
@media (min-width: 768px) {
  .c-top-style__slider {
    flex: 0 0 50%;
  }
  .c-top-style__content {
    flex: 1 1 auto;
    padding-top: 6.4rem;
  }
}
@media (min-width: 960px) {
  .c-top-style__slider {
    flex: 0 0 48rem;
  }
}
.c-top-style__inner {
  position: relative;
  z-index: 3;
  max-width: 1480px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-top-style__inner {
    flex-direction: row;
    gap: 6.6666vw;
    padding-inline: 4rem;
    justify-content: space-between;
  }
}
@media (min-width: 1344px) {
  .c-top-style__inner {
    gap: 16rem;
  }
}
.c-top-style__text {
  margin-top: 3.8rem;
  padding-right: 2.7rem;
}
.c-top-style__button {
  margin-top: 3.2rem;
  max-width: 34rem;
}
.c-top-style__video {
  pointer-events: none;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  z-index: 2;
}
.c-top-style__video:before {
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  content: "";
  z-index: 3;
  width: 100%;
  height: 18.6rem;
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0)) no-repeat top center/100% 100%;
}
@media (min-width: 768px) {
  .c-top-style__video:before {
    height: 54rem;
  }
}
.c-top-style__video > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}

.swiper-style {
  width: 100%;
  overflow: hidden;
}
.swiper-style .swiper-wrapper {
  width: 100%;
  aspect-ratio: 480/620;
}
.swiper-style .swiper-slide > img {
  display: block;
  width: 100%;
  aspect-ratio: 480/620;
}
.swiper-style .swiper-pagination {
  margin-top: 0.6rem;
  display: flex;
  gap: 7.717%;
  position: static !important;
}
@media (min-width: 768px) {
  .swiper-style .swiper-pagination {
    margin-top: 2.2rem;
  }
}
.swiper-style .swiper-pagination .swiper-pagination-bullet {
  background: linear-gradient(var(--color-bk_br), var(--color-bk_br)) no-repeat center center/100% 0.3rem !important;
  width: 17.3633%;
  height: 3.9rem;
  margin: 0 !important;
  border-radius: 0 !important;
}
@media (min-width: 768px) {
  .swiper-style .swiper-pagination .swiper-pagination-bullet {
    width: 5.4rem;
  }
}
.swiper-style .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: linear-gradient(var(--color-primary), var(--color-primary)) no-repeat center center/100% 0.3rem !important;
}

.c-shop {
  padding: 8rem 8%;
  max-width: 1200px;
  padding-inline: 4rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-shop {
    transition: 0.2s all ease;
    padding: 16rem 0;
  }
  .c-shop:hover {
    opacity: 0.6;
  }
}
.c-shop__inner {
  background: url("../img/pages/top/shop/shop-bnr-sp.jpg") no-repeat top left/cover;
  width: 100%;
  aspect-ratio: 311/324;
  padding-top: 4rem;
  container-type: inline-size;
  padding-top: 12.8617%;
}
@media (min-width: 768px) {
  .c-shop__inner {
    aspect-ratio: 1120/520;
    background-image: url("../img/pages/top/shop/shop-bnr-pc.jpg");
    padding-top: 9.375%;
  }
}
.c-shop__title-en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}
.c-shop__title-en-ico {
  width: 2.6rem;
  aspect-ratio: 26/23;
}
@media (min-width: 768px) {
  .c-shop__title-en-ico {
    width: 4.82rem;
  }
}
.c-shop__title-en-ico > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-shop__title-en-text .word {
  display: inline-block;
  font-size: 7.717cqw;
}
@media (min-width: 768px) {
  .c-shop__title-en-text .word {
    font-size: 4.285714cqw;
  }
}
.c-shop__title-en-text .word:first-letter {
  font-size: 1.3333em;
}
@media (min-width: 768px) {
  .c-shop__title-en-text .word:first-letter {
    font-size: 1.291667em;
  }
}
.c-shop__title-ja {
  font-size: 3.858521cqw;
  margin-top: 0.8rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-shop__title-ja {
    font-size: 1.6071428cqw;
    margin-top: 1.5rem;
  }
}

.c-top-recruit {
  background: url("../img/pages/top/recruit/bg-recruit-sp.jpg") no-repeat center center/cover;
  padding: 4rem 8.53333%;
}
@media (min-width: 768px) {
  .c-top-recruit {
    background-image: url("../img/pages/top/recruit/bg-recruit-pc.jpg");
    background-position: center left 32%;
    padding: 18rem 0 18.7rem 46.875%;
  }
}
.c-top-recruit__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .c-top-recruit__content {
    width: 100%;
  }
}
.c-top-recruit__text {
  margin-top: 4.8rem;
  padding-right: 2.7rem;
  color: var(--color-wh);
}
@media (max-width: 767px) {
  .c-top-recruit__text-rl {
    writing-mode: vertical-rl;
    letter-spacing: 0.6em;
    margin-left: auto;
  }
}
.c-top-recruit__button {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-top-recruit__button {
    width: 34rem;
  }
}
.c-top-recruit__button-link {
  padding-block: 2.4rem;
}

.c-app {
  overflow: hidden;
  width: 100%;
  height: 50.3rem;
  background: url("../img/pages/top/app/bg-app-sp.jpg") no-repeat top left/cover;
  position: relative;
}
@media (min-width: 768px) {
  .c-app {
    background-image: url("../img/pages/top/app/bg-app-pc.jpg");
  }
}
@media (min-width: 1200px) {
  .c-app {
    height: 640px;
  }
}
.c-app__inner {
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-app__inner {
    flex-direction: row;
    gap: 4rem;
    padding-inline: 4rem;
  }
}
.c-app__content {
  padding: 4rem 8% 0;
}
@media (min-width: 768px) {
  .c-app__content {
    padding: 0;
    width: 59.6rem;
    flex: 0 0 59.6rem;
  }
}
@media (min-width: 1200px) {
  .c-app__content {
    padding: 16rem 0 0;
  }
}
.c-app__intro {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  justify-content: center;
  padding-bottom: 3.3rem;
  border-bottom: 1px solid var(--color-bk_br_30);
}
@media (min-width: 768px) {
  .c-app__intro {
    justify-content: space-between;
  }
}
.c-app__ico {
  width: 12rem;
  aspect-ratio: 1/1;
}
@media (min-width: 1200px) {
  .c-app__ico {
    width: 20rem;
  }
}
.c-app__ico > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-app__text {
  font-size: 1.6rem;
}
@media (min-width: 1200px) {
  .c-app__text {
    font-size: 2.4rem;
  }
}
.c-app__title {
  margin-top: 0.6rem;
  font-size: 2.4rem;
}
@media (min-width: 1200px) {
  .c-app__title {
    margin-top: 1.2rem;
    font-size: 3.2rem;
  }
}
.c-app__dl {
  display: flex;
  gap: 1.6rem;
  margin-top: 2.4rem;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-app__dl {
    margin-top: 5.5rem;
  }
}
.c-app__dl > li {
  height: 4.8rem;
}
@media (min-width: 768px) {
  .c-app__dl > li {
    height: 5rem;
  }
}
.c-app__dl > li > a {
  height: 100%;
  display: block;
}
@media (min-width: 768px) {
  .c-app__dl > li > a {
    transition: 0.2s all ease;
  }
  .c-app__dl > li > a:hover {
    opacity: 0.6;
  }
}
.c-app__dl > li > a > img {
  height: 100%;
  object-fit: contain;
}
.c-app__sp {
  width: 26rem;
  aspect-ratio: 260/198;
  margin-top: auto;
}
@media (min-width: 768px) {
  .c-app__sp {
    width: 600px;
    aspect-ratio: 600/480;
  }
}
.c-app__sp > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.l-top__posts {
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .l-top__posts {
    margin-top: 16rem;
  }
}
.l-top__special {
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .l-top__special {
    margin-top: 24rem;
  }
}
.l-top__menu {
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .l-top__menu {
    margin-top: 16rem;
  }
}
.fz-title-1 {
  font-size: 4.8rem;
}
@media (min-width: 768px) {
  .fz-title-1 {
    font-size: 6.6rem;
  }
}
.fz-title-1:first-letter {
  font-size: 1.3334em;
}
@media (min-width: 768px) {
  .fz-title-1:first-letter {
    font-size: 1.4545em;
  }
}

.fz-title-1-2 {
  font-size: 3.8rem;
}
@media (min-width: 768px) {
  .fz-title-1-2 {
    font-size: 4.8rem;
  }
}
.fz-title-1-2:first-letter {
  font-size: 1.36842em;
}
@media (min-width: 768px) {
  .fz-title-1-2:first-letter {
    font-size: 1.3333em;
  }
}

.c-pagetop {
  cursor: pointer;
  position: fixed;
  right: 0.5rem;
  bottom: 3.2rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
  text-decoration: none;
  width: 3.7rem;
  height: 10.2rem;
}
@media (min-width: 768px) {
  .c-pagetop {
    height: 16.2rem;
    right: 4rem;
    bottom: 4rem;
  }
}
.c-pagetop.is-show {
  opacity: 1;
  visibility: visible;
}
.c-pagetop.is-stop {
  position: absolute;
}
.c-pagetop {
  background: url(../img/components/ico/ico-to-top.svg) no-repeat left bottom;
  padding: 0 0 1.6rem 0.8rem;
}
@media (min-width: 768px) {
  .c-pagetop {
    background-image: url(../img/components/ico/ico-to-top-pc.svg);
    padding: 0 0 6.8rem 0.8rem;
  }
}
.c-pagetop__inner {
  display: block;
  line-height: 1;
  font-size: 1.4rem;
  color: var(--color-bk_br);
  white-space: nowrap;
  transform-origin: right bottom;
  transform: translateX(-100%) rotate(90deg) translateX(0em) translateY(-0.6em);
}
@media (min-width: 768px) {
  .c-pagetop__inner {
    font-size: 1.6rem;
    transform: translateX(-100%) rotate(90deg) translateX(-0.4em) translateY(-0.6em);
  }
}

.c-footer__copy {
  background: var(--color-primary);
  padding-block: 2.8rem 7.6rem;
  display: flex;
  justify-content: center;
}
.c-footer-shops {
  padding: 4rem 8% 12.8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem;
  max-width: 104.4rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-footer-shops {
    justify-content: center;
    padding-block: 8rem;
    gap: 1.8rem;
    padding-inline: 0;
  }
}
.c-footer-shops > li {
  max-width: calc(50% - 0.8rem);
  width: 14.7rem;
  aspect-ratio: 147/57;
}
@media (min-width: 768px) {
  .c-footer-shops > li {
    width: 15.9rem;
    aspect-ratio: auto;
  }
}
.c-footer-shops > li > a {
  width: 100%;
  height: 100%;
  display: block;
}
@media (min-width: 768px) {
  .c-footer-shops > li > a {
    transition: 0.2s all ease;
  }
  .c-footer-shops > li > a:hover {
    opacity: 0.6;
  }
}
.c-footer-shops > li > a > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.js-details-pc-open summary {
  /* クリックしても反応しないようにする */
}
@media (min-width: 768px) {
  .js-details-pc-open summary {
    pointer-events: none;
    /* カーソルを標準に戻す */
    cursor: default;
  }
}
.js-details-pc-open summary {
  /* ▼ マーカー（矢印）を非表示にする */
}
.js-details-pc-open summary::marker {
  display: none;
  content: "";
  /* Safari/古いブラウザ用 */
}
.js-details-pc-open summary {
  /* Chrome/Opera/Edge用 */
}
.js-details-pc-open summary::-webkit-details-marker {
  display: none;
}

.js-summary {
  display: block;
  /*デフォルトの三角形を削除*/
  cursor: pointer;
}
.js-summary::-webkit-details-marker {
  /* Safari-デフォルトの三角形を削除*/
  display: none;
}

.js-answer {
  overflow: hidden;
  /* padding・marginはここでは設定しない */
}

.c-link-1 {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  width: 100%;
  padding-block: 2.4rem;
  position: relative;
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-image 2s ease;
  --text-color: transparent;
  --line-active-color: transparent;
  --line-color: none;
  --icon-color: transparent;
  color: var(--text-color);
  background-image: var(--line-color);
}
.c-link-1:before {
  content: "";
  width: 8rem;
  height: 1px;
  position: absolute;
  z-index: 2;
  inset: auto auto 0 0;
  background: var(--line-active-color);
}
@media (min-width: 768px) {
  .c-link-1:before {
    transition: 0.2s all ease;
  }
  .c-link-1:hover:before {
    width: 100%;
  }
}
.c-link-1:after {
  width: 12px;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 16px 0 auto;
  margin-block: auto;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  background-color: var(--icon-color);
  --mask1-img: none;
  mask-image: var(--mask1-img);
}
.c-link-1--cl-main {
  --line-color: linear-gradient(var(--color-bk_br_30), var(--color-bk_br_30));
  --line-active-color: var(--color-primary);
  --text-color: var(--color-ink);
  --icon-color: var(--color-primary);
}
.c-link-1--cl-wh {
  --line-color: linear-gradient(var(--color-wh_30), var(--color-wh_30));
  --line-active-color: var(--color-wh);
  --text-color: var(--color-wh);
  --icon-color: var(--color-wh);
}
.c-link-1--arrow, .c-link-1--external, .c-link-1--toggle {
  padding-right: 40px;
  position: relative;
}
.c-link-1--arrow:after {
  content: "";
  --mask1-img: url("../img/components/ico/ico-arrow.svg");
}
@media (min-width: 768px) {
  .c-link-1--arrow:after {
    transition: 0.2s all ease;
  }
}
@media (min-width: 768px) {
  .c-link-1--arrow:hover:after {
    transform: translateX(16px);
  }
}
.c-link-1--external:after {
  content: "";
  --mask1-img: url("../img/components/ico/ico-external.svg");
}
@media (min-width: 768px) {
  .c-link-1--external:after {
    transition: 0.2s all ease;
  }
}
@media (min-width: 768px) {
  .c-link-1--external:hover:after {
    transform: translateX(16px);
  }
}
.c-link-1__ico {
  width: 1.3rem;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 1.6rem 0 auto;
  margin-block: auto;
}
.c-link-1__ico:before, .c-link-1__ico:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  inset: 0;
  margin: auto;
}
.c-link-1__ico--toggle:before, .c-link-1__ico--toggle:after {
  mask-image: linear-gradient(var(--color-black), var(--color-black));
  background-color: var(--icon-color);
  mask-size: 100% 1px;
}
.c-link-1__ico--toggle:after {
  transition: transform 0.2s ease;
  transform: rotate(90deg);
}
[open] .c-link-1__ico--toggle:after {
  transform: rotate(0deg);
}

.c-link-1 > img {
  flex: 0 0 auto;
}

.c-link-2 {
  display: flex;
  position: relative;
}
@media (min-width: 768px) {
  .c-link-2 {
    transition: 0.2s all ease;
  }
}
.c-link-2--external:after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 12px;
  height: 12px;
  inset: auto 16px 16px auto;
  background-image: url("../img/components/ico/ico-external.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
@media (min-width: 768px) {
  .c-link-2--external:after {
    transition: 0.2s all ease;
    transform: translateX(-16px);
  }
  .c-link-2:hover:after {
    transform: translateX(0);
  }
}
@media (min-width: 768px) {
  .c-link-2 {
    width: 540px;
    height: 200px;
  }
}
.c-link-2__img {
  flex: 0 0 46.62379%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .c-link-2__img {
    flex: 0 0 55.5556%;
  }
}
.c-link-2__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-link-2__title {
  flex: 1 1 auto;
  background: var(--color-wh);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-link-2:hover .c-link-2__title {
    transition: 0.2s all ease;
    background: var(--color-primary);
  }
}
.c-link-2__title-ja {
  font-size: 1.7rem;
}
@media (min-width: 768px) {
  .c-link-2__title-ja {
    font-size: 2rem;
  }
  .c-link-2:hover .c-link-2__title-ja {
    transition: 0.2s all ease;
    color: var(--color-wh);
  }
}
.c-link-2__title-en {
  margin-top: 1.2rem;
}
.c-link-2:hover .c-link-2__title-en {
  transition: 0.2s all ease;
  color: var(--color-wh);
}

@media (min-width: 768px) {
  .c-link-2__hover {
    transition: 0.2s all ease;
  }
  .c-link-2--external:hover .c-link-2__hover {
    opacity: 1;
  }
}
.c-link-2__hover {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  z-index: 2;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  background: var(--color-wh);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-link-2__hover {
    display: none;
  }
}
.c-link-2__hover-img {
  width: 216px;
  aspect-ratio: 216/84;
}
.c-link-2__hover-img > img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

.c-link-3 {
  padding: 0.6rem 4.3rem 0.5rem 2.5rem;
  display: inline-flex;
  border: 1px solid var(--color-primary);
  border-radius: 9999px;
}
@media (min-width: 768px) {
  .c-link-3 {
    padding: 0.7rem 4.3rem 0.6rem 3.4rem;
  }
}
.c-link-3 {
  background-color: var(--color-wh);
  position: relative;
}
@media (min-width: 768px) {
  .c-link-3 {
    transition: 0.2s all ease;
  }
  .c-link-3:hover {
    color: var(--color-wh);
    background-color: var(--color-primary);
  }
}
.c-link-3:after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  inset: 0 1.8rem 0 auto;
  margin-block: auto;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  background-color: var(--color-primary);
  mask-image: url("../img/components/ico/ico-arrow.svg");
}
@media (min-width: 768px) {
  .c-link-3:after {
    transition: 0.2s all ease;
  }
  .c-link-3:hover:after {
    background-color: var(--color-wh);
  }
}

.c-dl-2 {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (min-width: 768px) {
  .c-dl-2 > div {
    border-bottom: 1px solid var(--color-bk_br_30);
    display: flex;
    align-items: flex-start;
    padding-bottom: 3.2rem;
  }
}
.c-dl-2 > div > dt {
  font-weight: 500;
  flex: 0 0 18rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1.2rem;
}
@media (max-width: 767px) {
  .c-dl-2 > div > dt {
    border-bottom: 1px solid var(--color-bk_br_30);
  }
}
.c-dl-2 > div > dd {
  padding-top: 0.8rem;
}
@media (min-width: 768px) {
  .c-dl-2 > div > dd {
    padding-top: 0;
  }
}

.c-dl-3 {
  display: flex;
}
.c-dl-3__title {
  flex: 0 0 auto;
}
.c-dl-3__text {
  flex: 1;
}

.c-link-4 {
  display: flex;
  position: relative;
  height: 8rem;
}
@media (min-width: 768px) {
  .c-link-4 {
    width: 54rem;
    height: 20rem;
    transition: 0.2s all ease;
  }
}
@media (min-width: 768px) {
  .c-link-4--hover-opacity:hover {
    opacity: 0.72;
  }
}
.c-link-4--active:after {
  mask-image: url("../img/components/ico/ico-external.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
.c-link-4--external:after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 12px;
  height: 12px;
  inset: auto 16px 16px auto;
  background-color: var(--color-primary);
}
@media (min-width: 768px) {
  .c-link-4--external:after {
    transition: 0.2s all ease;
  }
  .c-link-4--hover-rev:hover:after {
    background-color: var(--color-wh);
  }
}
.c-link-4__img {
  flex: 0 0 46.62379%;
  height: 100%;
  object-fit: cover;
  display: none;
}
@media (min-width: 768px) {
  .c-link-4__img {
    display: block;
    flex: 0 0 30rem;
    height: 100%;
  }
}
.c-link-4__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-link-4__title {
  flex: 1 1 auto;
  background: var(--color-wh);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.c-link-4--active .c-link-4__title {
  background: var(--color-primary);
}

@media (min-width: 768px) {
  .c-link-4__title {
    transition: 0.2s all ease;
  }
  .c-link-4--hover-rev:hover .c-link-4__title {
    background: var(--color-primary);
  }
}
.c-link-4__title-ja {
  font-size: 1.6rem;
}
.c-link-4--active .c-link-4__title-ja {
  color: var(--color-wh);
}

@media (min-width: 768px) {
  .c-link-4__title-ja {
    font-size: 1.7rem;
    transition: 0.2s all ease;
  }
  .c-link-4--hover-rev:hover .c-link-4__title-ja {
    color: var(--color-wh);
  }
}
.c-link-4__title-en {
  margin-top: 0.6rem;
  font-size: 1.5rem;
}
.c-link-4--active .c-link-4__title-en {
  color: var(--color-wh);
}

@media (min-width: 768px) {
  .c-link-4__title-en {
    font-size: 1.6rem;
    transition: 0.2s all ease;
  }
  .c-link-4--hover-rev:hover .c-link-4__title-en {
    color: var(--color-wh);
  }
}

.c-link-4-2 {
  display: flex;
  position: relative;
  height: 8rem;
}
@media (min-width: 768px) {
  .c-link-4-2 {
    width: 31.1rem;
    height: 9.6rem;
    transition: 0.2s all ease;
  }
}
@media (min-width: 768px) {
  .c-link-4-2--hover-opacity:hover {
    opacity: 0.72;
  }
}
.c-link-4-2--active:after {
  mask-image: url("../img/components/ico/ico-external.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
.c-link-4-2--external:after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 12px;
  height: 12px;
  inset: auto 16px 16px auto;
  background-color: var(--color-primary);
}
@media (min-width: 768px) {
  .c-link-4-2--external:after {
    transition: 0.2s all ease;
  }
  .c-link-4-2--hover-rev:hover:after {
    background-color: var(--color-wh);
  }
}
.c-link-4-2__img {
  flex: 0 0 46.62379%;
  height: 100%;
  object-fit: cover;
  display: none;
}
@media (min-width: 768px) {
  .c-link-4-2__img {
    display: block;
    flex: 0 0 14.5rem;
    height: 100%;
  }
}
.c-link-4-2__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-link-4-2__title {
  flex: 1 1 auto;
  background: var(--color-wh);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.c-link-4-2--active .c-link-4-2__title {
  background: var(--color-primary);
}

@media (min-width: 768px) {
  .c-link-4-2__title {
    transition: 0.2s all ease;
  }
  .c-link-4-2--hover-rev:hover .c-link-4-2__title {
    background: var(--color-primary);
  }
}
.c-link-4-2__title-ja {
  font-size: 1.6rem;
}
.c-link-4-2--active .c-link-4-2__title-ja {
  color: var(--color-wh);
}

@media (min-width: 768px) {
  .c-link-4-2__title-ja {
    font-size: 1.7rem;
    transition: 0.2s all ease;
  }
  .c-link-4-2--hover-rev:hover .c-link-4-2__title-ja {
    color: var(--color-wh);
  }
}
.c-link-4-2__title-en {
  margin-top: 0.6rem;
  font-size: 1.5rem;
}
.c-link-4-2--active .c-link-4-2__title-en {
  color: var(--color-wh);
}

@media (min-width: 768px) {
  .c-link-4-2__title-en {
    font-size: 1.6rem;
    transition: 0.2s all ease;
  }
  .c-link-4-2--hover-rev:hover .c-link-4-2__title-en {
    color: var(--color-wh);
  }
}

.l-breadcrumbs {
  margin-top: 4.7rem;
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-breadcrumbs {
    margin-top: 3.2rem;
  }
}

.c-breadcrumbs {
  padding: 0 0 0 8%;
  padding-inline: 5.83333%;
}
@media (min-width: 768px) {
  .c-breadcrumbs {
    padding: 0;
  }
}
.c-breadcrumbs .aioseo-breadcrumb-separator {
  margin-inline: 1.4rem;
}
.c-breadcrumbs .aioseo-breadcrumbs {
  line-height: 1.6666;
}
.c-breadcrumbs .aioseo-breadcrumbs > :last-child {
  color: var(--color-primary);
  margin-right: 8vw;
}
@media (min-width: 768px) {
  .c-breadcrumbs .aioseo-breadcrumbs > :last-child {
    margin-right: 0;
  }
}

.c-title-2 {
  background: var(--color-gr-f5) linear-gradient(var(--color-primary), var(--color-primary)) no-repeat center left/2px 100%;
  padding: 0.5rem 2rem 0.6rem 1.8rem;
}
.c-title-2--white {
  background-color: var(--color-wh);
}

.c-title-5 {
  position: relative;
  padding: 4.2rem 0 0 5.8rem;
}
@media (min-width: 768px) {
  .c-title-5 {
    padding: 8rem 0 0 10.4rem;
  }
}
.c-title-5__num {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 1;
  font-size: 8rem;
  transform: translateY(-14%);
}
@media (min-width: 768px) {
  .c-title-5__num {
    font-size: 14rem;
  }
}
.c-title-5__ja {
  position: relative;
  z-index: 2;
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .c-title-5__ja {
    font-size: 6.2rem;
  }
}
.c-title-5__ja .sm {
  display: inline-block;
  margin-left: 0.5em;
  font-size: 2.6rem;
}
@media (min-width: 768px) {
  .c-title-5__ja .sm {
    font-size: 4.8rem;
  }
}

.c-pagination {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-pagination {
    margin-top: 8rem;
  }
}
.c-pagination__links {
  display: flex;
  justify-content: space-between;
  gap: 1.2rem;
}
.c-pagination__prev, .c-pagination__link, .c-pagination__next {
  transition: 0.2s all ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  aspect-ratio: 1/1;
  border: 1px solid var(--color-primary);
}
@media (min-width: 768px) {
  .c-pagination__prev, .c-pagination__link, .c-pagination__next {
    width: 4rem;
  }
}
@media (min-width: 768px) {
  .c-pagination__prev:hover, .c-pagination__link:hover, .c-pagination__next:hover {
    background: var(--color-primary);
    color: var(--color-wh);
  }
}
.c-pagination__arrow-icon {
  width: 1.2rem;
  aspect-ratio: 4/3;
}
@media (min-width: 768px) {
  .c-pagination__arrow-icon {
    width: 1.6rem;
  }
}
.c-pagination__arrow-icon {
  mask-image: var(--mask1-img);
  mask-repeat: no-repeat;
  mask-position: center;
  background: var(--color-primary);
  --mask1-img: url("../img/components/ico/ico-arrow.svg");
}
.c-pagination__prev .c-pagination__arrow-icon {
  transform: scale(-1, 1);
}
.c-pagination__prev:hover .c-pagination__arrow-icon, .c-pagination__next:hover .c-pagination__arrow-icon {
  background: var(--color-wh);
}
.c-pagination__pages {
  display: flex;
  gap: 0.8rem;
}
.c-pagination__first, .c-pagination__link, .c-pagination__next {
  flex: 0 0 auto;
}
.c-pagination__link--current {
  background: var(--color-primary);
}
@media (max-width: 767px) {
  .c-pagination__dots {
    font-size: 1rem;
    padding-top: 0.4rem;
  }
}
@media (max-width: 767px) {
  .c-pagination__pc-only {
    display: none;
  }
}

.c-heading {
  position: relative;
}
@media (min-width: 768px) {
  .c-heading {
    display: flex;
  }
}
.c-heading__img {
  display: block;
  width: 100%;
  aspect-ratio: 375/480;
}
@media (min-width: 768px) {
  .c-heading__img {
    width: 58%;
    aspect-ratio: 2/1;
    overflow: hidden;
    border-radius: 0 0 8rem 0;
  }
}
@media (min-width: 1200px) {
  .c-heading__img {
    width: 64.58333%;
  }
}
.c-heading__img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-heading__title {
  background: var(--color-wh);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-left: 3.2rem;
}
@media (max-width: 767px) {
  .c-heading__title {
    position: absolute;
    inset: auto 0 -1px auto;
    width: 74.6667%;
    padding-top: 4rem;
    border-radius: 4rem 0 0 0;
  }
}
@media (min-width: 768px) {
  .c-heading__title {
    position: relative;
    padding-left: 4.8rem;
  }
}
@media (min-width: 1200px) {
  .c-heading__title {
    padding-left: 8rem;
  }
}
.c-heading__title-inner {
  transform: translateY(0.2rem);
}
@media (min-width: 768px) {
  .c-heading__title-inner {
    transform: translateY(0.5rem);
  }
}
.c-heading__title-ja {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .c-heading__title-ja {
    font-size: 2.4rem;
  }
}
.c-heading__title-en {
  font-size: 3.8rem;
}
@media (min-width: 768px) {
  .c-heading__title-en {
    font-size: 4.8rem;
  }
}
@media (min-width: 1200px) {
  .c-heading__title-en {
    font-size: 6.6rem;
  }
}
.c-heading__title-en:first-letter,
.c-heading__title-en .large {
  font-size: 5.2rem;
}
@media (min-width: 768px) {
  .c-heading__title-en:first-letter,
  .c-heading__title-en .large {
    font-size: 8rem;
  }
}
@media (min-width: 1200px) {
  .c-heading__title-en:first-letter,
  .c-heading__title-en .large {
    font-size: 9.6rem;
  }
}
.c-heading__title-corner {
  display: block;
  width: 6.666667vw;
  aspect-ratio: 1/1;
  position: absolute;
  inset: auto auto 0 1px;
  transform: translateX(-100%);
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-heading__title-corner {
    display: none;
  }
}
.c-heading__title-corner:before {
  display: block;
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0px;
  left: 0px;
  content: "";
  background: transparent;
  border-radius: 50%;
  box-shadow: 6.666667vw 6.666667vw 0 0 white;
  transform: translate(-50%, -50%);
}

.c-title-6__text {
  padding-bottom: 1.6rem;
  background: linear-gradient(var(--color-bk_br_30), var(--color-bk_br_30)) no-repeat bottom center/100% 1px;
}
.c-title-6__text-inner {
  position: relative;
  font-size: 1.6rem;
  padding: 0.3rem 2rem;
  background: linear-gradient(var(--color-primary), var(--color-primary)) no-repeat center left/0.4rem 100%;
}

.c-tag-1 {
  display: inline-block;
  text-align: center;
  width: 120px;
}
.c-tag-1--text {
  padding: 1.2rem 2.5rem;
  background: var(--color-gr-f2);
  font-size: 1.12rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .c-tag-1--text {
    font-size: 1.4rem;
  }
}
.c-tag-1--img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gr-f2);
}
.c-tag-1 > img {
  width: 100%;
  aspect-ratio: 120/40;
  object-fit: contain;
}

.c-tag-2 {
  background: var(--color-wh);
  padding: 0.9rem 1.6rem;
  border-radius: 9999px;
  color: var(--color-green);
  border: 1px solid var(--color-green);
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.c-tag-2:after {
  content: "";
  display: inline-block;
  width: 0.9rem;
  height: 1.2rem;
  background-color: var(--color-green);
  mask-image: url("../img/components/ico/ico-internal-arrow-green.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}

.c-ul > li {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
.c-ul > li:not(:first-child) {
  margin-top: 1rem;
}
.c-ul > li:before {
  content: "";
  display: block;
  height: 2.4em;
  flex: 0 0 1em;
  background-image: radial-gradient(circle, var(--color-primary) 3px, transparent 4px);
  background-size: 8px 8px;
  background-repeat: no-repeat;
  background-position: center center;
}
.c-ul--m-l > li:not(:first-child) {
  margin-top: 2rem;
}

.c-dl div {
  padding-block: 3.2rem;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid var(--color-bk_br_30);
}
.c-dl div dt {
  flex: 0 0 18rem;
  padding-left: 2.4rem;
  background-image: radial-gradient(circle, var(--color-primary) 3px, transparent 4px);
  background-repeat: no-repeat;
  background-size: 8px 8px;
  background-position: center left;
}
@media (max-width: 767px) {
  .c-dl div dt {
    flex: 0 0 13rem;
  }
}
.c-dl div dd {
  flex: 1 1 auto;
}
.c-dl div dd a {
  border-bottom: 1px solid var(--color-ink);
}
.c-dl div dd a[target=_blank] {
  padding-right: 1.8rem;
  background-image: url(../img/components/ico/ico-external.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 1.2rem 1.2rem;
}

.c-dl-4 div {
  padding-block: 3.2rem;
  border-bottom: 1px solid var(--color-bk_br_30);
}
.c-dl-4 div dt {
  padding-left: 2.4rem;
  background-image: radial-gradient(circle, var(--color-primary) 3px, transparent 4px);
  background-repeat: no-repeat;
  background-size: 8px 8px;
  background-position: center left;
}
@media (max-width: 767px) {
  .c-dl-4 div dt {
    flex: 0 0 13rem;
  }
}
.c-dl-4 div dd a {
  border-bottom: 1px solid var(--color-ink);
}
.c-dl-4 div dd a[target=_blank] {
  padding-right: 1.8rem;
  background-image: url(../img/components/ico/ico-external.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 1.2rem 1.2rem;
}

.c-btn-1 {
  --color: transparent;
  padding: 0.6rem 1.6rem 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  border: 1px solid;
  border-radius: 9999px;
  border-color: var(--color);
  color: var(--color);
}
@media (min-width: 768px) {
  .c-btn-1 {
    padding: 1rem 2.4rem;
    transition: 0.2s all ease;
  }
  .c-btn-1:hover {
    background-color: var(--color);
    color: var(--color-wh);
  }
}
.c-btn-1:after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 0.9rem;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  mask-image: url("../img/components/ico/ico-arrow.svg");
  background-color: var(--color);
  transform: translateY(-1px);
}
@media (min-width: 768px) {
  .c-btn-1:after {
    width: 1.6rem;
    height: 1.2rem;
    transition: 0.2s all ease;
  }
  .c-btn-1:hover:after {
    background-color: var(--color-wh);
  }
}
.c-btn-1--py0_5 {
  padding-block: 0.9rem 0.8rem;
}
@media (min-width: 768px) {
  .c-btn-1--py0_5 {
    padding-block: 1.2rem 1.1rem;
  }
}
.c-btn-1--py1 {
  padding-block: 1.2rem 1.1rem;
}
.c-btn-1--pc-inline {
  display: flex;
  justify-content: center;
  position: relative;
}
@media (min-width: 768px) {
  .c-btn-1--pc-inline {
    display: inline-flex;
    justify-content: center;
    width: 46rem;
  }
}
.c-btn-1--pc-inline:after {
  position: absolute;
  inset: 0 1.6rem 0 auto;
  margin-block: auto;
}
@media (min-width: 768px) {
  .c-btn-1--pc-inline:after {
    inset: 0 3.2rem 0 auto;
  }
}
.c-btn-1--w-full {
  width: 100%;
  display: block;
  position: relative;
  display: flex;
  justify-content: center;
  padding: 1.4rem 1.6rem 1.3rem;
}
.c-btn-1--w-full:after {
  position: absolute;
  inset: 0 1.4rem 0 auto;
  margin-block: auto;
}
.c-btn-1--color-green {
  --color: var(--color-green);
  background: var(--color-wh);
}
.c-btn-1--color-blue {
  --color: var(--color-blue);
  background: var(--color-wh);
}
.c-btn-1--color-red {
  --color: var(--color-primary);
  background: var(--color-wh);
}
.c-btn-1--under-arrow:after {
  transform: translateY(-1px) rotate(90deg);
}
.c-btn-1[target=_blank]:after {
  height: 1.2rem;
  mask-image: url("../img/components/ico/ico-external.svg");
}

.c-concept-bnr-links {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 4rem;
}
@media (min-width: 768px) {
  .c-concept-bnr-links {
    flex-direction: row;
    justify-content: center;
    gap: 8rem;
  }
}
.c-concept-bnr-links > li {
  width: 100%;
}
@media (min-width: 768px) {
  .c-concept-bnr-links > li {
    width: 66rem;
  }
}

.c-concept-bnr {
  display: block;
  width: 100%;
  transition: 0.2s all ease;
}
@media (min-width: 768px) {
  .c-concept-bnr:hover {
    outline: 1px solid var(--color-primary);
    box-shadow: var(--color-shadow-black) 0 0.4rem 3rem;
  }
}
.c-concept-bnr > img {
  width: 100%;
}

.c-attention {
  display: block;
}
.c-attention:before {
  content: "※";
  color: var(--color-primary);
  display: inline-block;
}

.c-marker {
  background: linear-gradient(var(--color-marker-blue), var(--color-marker-blue)) no-repeat bottom 16% left/100% 0.6rem;
}

.c-marker-2 {
  background: linear-gradient(var(--color-marker-yellow), var(--color-marker-yellow)) no-repeat bottom 16% left/100% 0.6rem;
}

.db {
  display: block;
}

@media (max-width: 767px) {
  .sp-tal {
    text-align: left !important;
  }
}

.c-belong {
  background: var(--color-wh);
}
.c-belong__summary {
  padding: 1.6rem;
}
@media (min-width: 768px) {
  .c-belong__summary {
    padding: 6.4rem 6.4rem 3.2rem;
  }
}
.c-belong__answer {
  padding: 0 1.6rem 1.6rem;
}
@media (min-width: 768px) {
  .c-belong__answer {
    padding: 0 6.4rem 6.4rem;
  }
}
@media (max-width: 767px) {
  .c-belong__attention-text {
    position: relative;
    padding-top: 3rem;
  }
  .c-belong__attention-text:before {
    position: absolute;
    inset: 0 0 auto 0;
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .c-belong__attention-text {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: center;
  }
}
.c-belong__attention-text:before {
  content: "";
  width: 2.4rem;
  height: 2.2rem;
}
@media (min-width: 768px) {
  .c-belong__attention-text:before {
    width: 3.2rem;
    height: 3rem;
  }
}
.c-belong__attention-text:before {
  display: inline-block;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  mask-image: url("../img/components/ico/ico-attention-tri.svg");
  background-color: var(--color-primary);
}
.c-belong__attention-text {
  margin-top: 1.6rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-belong__attention-text {
    margin-top: 3.2rem;
  }
}
.c-belong__youtube {
  margin-top: 1.6rem;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  max-width: 88.4rem;
}
.c-belong__youtube > iframe {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}

.c-belong-summary__inner {
  padding-bottom: 1.6rem;
  background: linear-gradient(var(--color-bk_br_30), var(--color-bk_br_30)) no-repeat bottom center/100% 1px;
}
.c-belong-summary__text {
  position: relative;
  padding: 0.3rem 2rem;
  font-size: 1.6rem;
  background: linear-gradient(var(--color-primary), var(--color-primary)) no-repeat center left/0.4rem 100%;
}
.c-belong-summary__ico {
  width: 1.6rem;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 1.6rem 0 auto;
  margin-block: auto;
}
@media (min-width: 768px) {
  .c-belong-summary__ico {
    display: none;
  }
}
.c-belong-summary__ico:before, .c-belong-summary__ico:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  inset: 0;
  margin: auto;
  mask-image: linear-gradient(var(--color-black), var(--color-black));
  background-color: var(--color-primary);
  mask-size: 100% 1px;
}
.c-belong-summary__ico:after {
  transition: transform 0.2s ease;
  transform: rotate(90deg);
}
[open] .c-belong-summary__ico:after {
  transform: rotate(0deg);
}

@media (min-width: 1240px) {
  .c-belong-content {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
  }
}
.c-belong-content__img {
  display: flex;
  justify-content: center;
  width: 18.8rem;
  aspect-ratio: 188/344;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-belong-content__img {
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .c-belong-content__img {
    width: 20%;
    aspect-ratio: 268/490;
    flex: 0 0 20%;
  }
}
@media (min-width: 1240px) {
  .c-belong-content__img {
    margin-inline: 0;
    width: 26.8rem;
    flex: 0 0 26.8rem;
  }
}
.c-belong-content__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-belong-content__list {
  width: 100%;
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .c-belong-content__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.4rem 4rem;
    align-content: flex-start;
  }
}
@media (min-width: 1200px) {
  .c-belong-content__list {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .c-belong-content__list > li {
    flex: 0 0 calc(50% - 2rem);
  }
}
@media (min-width: 1440px) {
  .c-belong-content__list > li {
    flex: 0 0 calc(33.33% - 2.66667rem);
  }
}

.c-check-item {
  background: url("../img/components/ico/ico-check.svg") no-repeat top left/1.8rem 1.5rem;
  padding: 0 1.6rem 1.6rem 2.7rem;
  border-right: 1px solid var(--color-orange);
  border-bottom: 1px solid var(--color-orange);
  min-height: 12.7rem;
  position: relative;
}
@media (min-width: 768px) {
  .c-check-item {
    padding: 0 1.6rem 1.6rem 4rem;
    min-height: 13.5rem;
    background-size: 2.4rem 2.1rem;
  }
}
.c-check-item__title .small {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .c-check-item__title .small {
    font-size: 1.4rem;
  }
}
.c-check-item__content {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-check-item__content {
    margin-top: 1.2rem;
  }
}
.c-check-item__content.has-image {
  display: flex;
  gap: 1.2rem;
}
@media (min-width: 768px) {
  .c-check-item__content.has-image {
    gap: 1.4rem;
  }
}
.c-check-item__img {
  width: 6.8rem;
  aspect-ratio: 1/1;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .c-check-item__img {
    width: 8.5rem;
  }
}
.c-check-item__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-check-item__text {
  font-size: 1.1rem;
}
@media (min-width: 768px) {
  .c-check-item__text {
    font-size: 1.2rem;
  }
}
.c-check-item__tags {
  margin-top: 1.6rem;
}
.c-check-item__tags--purchasable {
  margin-top: 0;
  position: absolute;
  inset: 0 1.6rem auto auto;
}

.c-check-tag {
  display: inline-block;
  background: var(--color-primary);
  padding: 0.5rem 0.8rem;
}

.c-table-outer {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 1.6rem;
}

.c-table-1 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 975px;
  border-right: 1px solid var(--color-orange);
  border-bottom: 1px solid var(--color-orange);
}
@media (min-width: 768px) {
  .c-table-1 {
    width: 1190px;
  }
}
.c-table-1 thead {
  background: var(--color-gr-f5);
}
.c-table-1 th,
.c-table-1 td {
  text-align: center;
  vertical-align: middle;
  height: 8.2rem;
  border-top: 1px solid var(--color-orange);
  border-left: 1px solid var(--color-orange);
}
@media (min-width: 768px) {
  .c-table-1 th,
  .c-table-1 td {
    height: 10rem;
  }
}
.l-arc-menu {
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .l-arc-menu {
    margin-top: 20rem;
  }
}

.c-arc-menu {
  position: relative;
}
@media (max-width: 767px) {
  .c-arc-menu__text {
    display: none;
  }
}
@media (min-width: 768px) {
  .c-arc-menu__text {
    position: absolute;
    inset: -16rem auto auto -9.4rem;
  }
}
@media (min-width: 768px) {
  .c-arc-menu__text-inner {
    transform: rotate(-90deg) translateX(-100%) translateY(-100%);
    transform-origin: left top;
  }
}
.c-arc-menu__text-inner {
  font-size: 12.6rem;
}
.c-arc-menu__text-inner .lg {
  font-size: 16.275rem;
}
.c-arc-menu__inner {
  position: relative;
  z-index: 1;
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .c-arc-menu__inner {
    padding: 16rem 0;
  }
}
.c-arc-menu__inner2 {
  position: relative;
  z-index: 1;
  padding: 0 8%;
}
@media (min-width: 768px) {
  .c-arc-menu__inner2 {
    padding: 0 0;
  }
}
.c-arc-menu__list-outer {
  position: relative;
}
@media (min-width: 768px) {
  .c-arc-menu__list-outer {
    max-width: 1200px;
    margin-inline: auto;
    padding: 0;
  }
}
.c-arc-menu__list2 {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .c-arc-menu__list2 {
    flex-direction: row;
    flex-wrap: wrap;
    padding-inline: 4rem;
    gap: 2.4rem;
  }
}
.c-arc-menu__list2 > li {
  padding: 0.9rem 1.6rem 0.9rem 4.8rem;
  background: #FFF url("../img/components/ico/ico-check.svg") no-repeat center left 1.6rem/1.8rem 1.5rem;
}
@media (min-width: 768px) {
  .c-arc-menu__list2 > li {
    flex: 0 0 calc(50% - 1.2rem);
    padding: 0.7rem 1.6rem 0.8rem 6.4rem;
    background-position: center left 2.4rem;
    background-size: 2.4rem 2.1rem;
  }
}
.c-arc-menu__message {
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .c-arc-menu__message {
    margin-inline: auto;
    max-width: 1009px;
    margin-top: 8rem;
  }
}
.c-arc-menu__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (min-width: 768px) {
  .c-arc-menu__list {
    padding-inline: 4rem;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem;
  }
}

.l-menu-single {
  padding-top: 8rem;
  padding-bottom: 10rem;
}
@media (min-width: 768px) {
  .l-menu-single {
    padding-top: 20rem;
    padding-bottom: 16rem;
  }
}
@media (max-width: 767px) {
  .l-menu-single__details {
    margin-top: 4rem;
    padding-inline: 8%;
  }
}
.l-menu-single__details {
  max-width: 1480px;
  margin-inline: auto;
  padding-inline: 4rem;
}
@media (min-width: 768px) {
  .l-menu-single__details {
    margin-top: 12rem;
  }
}
.l-menu-single__content {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .l-menu-single__content {
    margin-top: 12rem;
  }
}

.c-menu-single-kv {
  position: relative;
}
.c-menu-single-kv__menu-outer {
  display: contents;
}
@media (min-width: 768px) {
  .c-menu-single-kv__menu-outer {
    display: block;
    max-width: 1400px;
    margin-inline: auto;
  }
}
.c-menu-single-kv__menu-outer {
  position: relative;
  z-index: 3;
}
.c-menu-single-kv__menu {
  display: flex;
  justify-content: flex-end;
  padding-inline: 8.53333%;
  position: relative;
}
@media (min-width: 768px) {
  .c-menu-single-kv__menu {
    position: absolute;
    inset: 0 0 auto auto;
    padding-inline: 0;
  }
}
.c-menu-single-kv__content {
  position: relative;
  z-index: 2;
  padding-bottom: 4rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-menu-single-kv__content {
    margin-top: 0;
    padding-inline: 0;
    display: flex;
    align-items: flex-start;
    padding-bottom: 12rem;
    gap: 6.25%;
  }
}
.c-menu-single-kv__bg {
  position: absolute;
  inset: auto auto 0 0;
  width: 100%;
  height: calc(100% - 11.1rem);
}
@media (min-width: 768px) {
  .c-menu-single-kv__bg {
    height: calc(100% - 12rem);
  }
}
.c-menu-single-kv__img {
  display: block;
  width: 31.1rem;
  aspect-ratio: 311/206;
  overflow: hidden;
  border-radius: 0 2.4rem 2.4rem 0;
}
@media (min-width: 768px) {
  .c-menu-single-kv__img {
    width: 37.5%;
    flex: 0 0 37.5%;
    aspect-ratio: 720/477;
    border-radius: 0 4rem 4rem 0;
  }
}
.c-menu-single-kv__img > img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.c-menu-single-kv__details {
  margin-top: 2.4rem;
  padding-inline: 8.53333%;
}
@media (min-width: 768px) {
  .c-menu-single-kv__details {
    margin-top: 0;
    padding: 21.2rem 0 0;
    max-width: 820px;
    flex: 1 1 auto;
  }
}
.c-menu-single-kv__heading-ja {
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .c-menu-single-kv__heading-ja {
    font-size: 6.2rem;
  }
}
.c-menu-single-kv__heading-en {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-menu-single-kv__heading-en {
    margin-top: 3.2rem;
  }
}
.c-menu-single-kv__tags {
  margin-top: 3.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .c-menu-single-kv__tags {
    gap: 2.4rem;
    margin-top: 8rem;
  }
}
.c-menu-single-kv__tags > li {
  flex: 0 0 auto;
}

.c-toggle-menu-trigger {
  position: absolute;
  inset: 0 0 auto auto;
  pointer-events: none;
  opacity: 0;
}

.c-menu-single-btn {
  display: inline-block;
  padding: 0.7rem 4rem 0.7rem 1.6rem;
  border: 1px solid var(--color-primary);
  border-radius: 9999px;
  position: relative;
}
@media (min-width: 768px) {
  .c-menu-single-btn {
    padding: 0.7rem 5.6rem 0.7rem 2.4rem;
  }
}
.c-menu-single-btn__ico-outer {
  height: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  transform: translateX(-6px);
  transition: transform 0.2s ease;
}
.c-toggle-menu-trigger:checked + .c-menu-single-btn .c-menu-single-btn__ico-outer {
  background: var(--color-primary);
  transform: translateX(0);
}
.c-menu-single-btn__ico {
  position: absolute;
  margin-block: auto;
  width: 1.6rem;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .c-menu-single-btn__ico {
    position: relative;
    inset: auto;
  }
}
.c-menu-single-btn__ico-line {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: var(--color-primary);
  transition: transform 0.2s ease;
}
.c-toggle-menu-trigger:checked + .c-menu-single-btn .c-menu-single-btn__ico-line {
  background: var(--color-wh);
}
.c-menu-single-btn__ico-line--1 {
  transform: translateY(-4px);
}
.c-toggle-menu-trigger:checked + .c-menu-single-btn .c-menu-single-btn__ico-line--1 {
  transform: rotate(45deg);
}
.c-toggle-menu-trigger:checked + .c-menu-single-btn .c-menu-single-btn__ico-line--2 {
  transform: translateX(100%);
  opacity: 0;
}
.c-menu-single-btn__ico-line--3 {
  transform: translateY(4px);
}
.c-toggle-menu-trigger:checked + .c-menu-single-btn .c-menu-single-btn__ico-line--3 {
  transform: rotate(-45deg);
}

.p-list-menu > li:not(:first-child) {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .p-list-menu > li:not(:first-child) {
    margin-top: 12rem;
  }
}

.c-menu-category__summary {
  background: linear-gradient(to right, var(--color-primary), var(--color-primary) 0.2rem, var(--color-gr-f5) 0.2rem, var(--color-gr-f5)) no-repeat center left/100% 100%;
  padding: 0.8rem 4.8rem 0.8rem 1.8rem;
}
@media (min-width: 768px) {
  .c-menu-category__summary {
    padding-block: 1rem;
  }
}
.c-menu-category__summary {
  position: relative;
}
.c-menu-category__item-no-border-bottom {
  border-bottom: none !important;
}
.c-menu-category__ico {
  width: 1.6rem;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 0 1.6rem 0 auto;
  margin-block: auto;
}
.c-menu-category__ico:before, .c-menu-category__ico:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  inset: 0;
  margin: auto;
}
.c-menu-category__ico--toggle:before, .c-menu-category__ico--toggle:after {
  mask-image: linear-gradient(var(--color-black), var(--color-black));
  background-color: var(--color-primary);
  mask-size: 100% 1px;
}
.c-menu-category__ico--toggle:after {
  transition: transform 0.2s ease;
  transform: rotate(90deg);
}
[open] .c-menu-category__ico--toggle:after {
  transform: rotate(0deg);
}

.c-menu-category__answer {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-menu-category__answer {
    flex-direction: row;
    gap: 4rem;
    align-items: flex-start;
    padding-top: 6.4rem;
  }
}
.c-menu-category__img {
  width: 200px;
  aspect-ratio: 1/1;
  flex: 0 0 200px;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-menu-category__img {
    border-radius: 1.6rem;
  }
}
.c-menu-category__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-menu-category__content {
  width: 100%;
  flex: 1 1 auto;
}
.c-menu-category__list {
  width: 100%;
}
@media (max-width: 767px) {
  .c-menu-category__list {
    padding-top: 2.4rem;
  }
}
.c-menu-category__list > li {
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--color-bk_br_30);
}
@media (min-width: 768px) {
  .c-menu-category__list > li {
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 4rem;
    justify-content: space-between;
    padding-bottom: 4rem;
  }
}
.c-menu-category__list > li:not(:first-child) {
  padding-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-menu-category__list > li:not(:first-child) {
    padding-top: 4rem;
  }
}
@media (min-width: 768px) {
  .c-menu-category__list > li.has-image {
    align-items: flex-start;
  }
}
.c-menu-category__menus {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-menu-category__menus {
    margin-top: 6.4rem;
  }
}

@media (min-width: 768px) {
  .c-item-category__explanation {
    flex: 1 1 auto;
  }
}
.c-item-category__prices {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-item-category__prices {
    flex: 0 0 auto;
    margin-top: 0;
  }
}

.c-list-menu-explanation > :first-child {
  margin-top: 0;
}
.c-list-menu-explanation__description {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-list-menu-explanation__description {
    margin-top: 2.2rem;
  }
}
.c-list-menu-explanation__description strong {
  font-weight: bold;
}
.c-list-menu-explanation__attention {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-list-menu-explanation__attention {
    margin-top: 2.4rem;
  }
}
.c-list-menu-explanation__attention strong {
  font-weight: bold;
}
.c-list-menu-explanation__flow {
  margin-top: 1.6rem;
}
.c-list-menu-explanation__img {
  margin-top: 1.6rem;
  width: 100%;
}
@media (min-width: 768px) {
  .c-list-menu-explanation__img {
    margin-top: 4rem;
    width: 700px;
  }
}
.c-list-menu-explanation__img > img {
  width: 100%;
  height: auto;
}

.c-list-menu-prices {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: flex-end;
}
@media (min-width: 768px) {
  .c-list-menu-prices--has-image {
    padding-top: 2.8rem;
  }
}

.c-item-menu-prices {
  display: flex;
  align-items: flex-end;
  gap: 0.4em;
}
@media (min-width: 768px) {
  .c-item-menu-prices {
    flex-direction: column;
  }
}
.c-item-menu-prices__detail {
  display: flex;
  align-items: flex-end;
  gap: 0.4em;
}
.c-item-menu-prices__detail-unit.per {
  font-size: 1.8rem;
}

.c-color-option {
  background: var(--color-bg-red);
  padding: 2.4rem 1.6rem 1.6rem;
}
@media (min-width: 768px) {
  .c-color-option {
    padding: 4rem;
  }
}
.c-color-option__title-desc {
  font-size: 1.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-color-option__title-desc {
    font-size: 2rem;
  }
}
.c-color-option__title {
  margin-top: 1.2rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-color-option__title {
    margin-top: 1.6rem;
  }
}
.c-color-option__list {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-color-option__list {
    margin-top: 4rem;
  }
}
.c-color-option__list > li:not(:first-child) {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-color-option__list > li:not(:first-child) {
    margin-top: 2.4rem;
  }
}

.c-color-disaster {
  display: flex;
  width: 100%;
  justify-content: center;
}

.c-color-option-item {
  background: var(--color-wh);
  padding: 1.6rem;
}
@media (min-width: 768px) {
  .c-color-option-item {
    padding: 4rem;
  }
}
.c-color-option-item__title a {
  text-decoration: underline;
}
.c-color-option-item__content {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-color-option-item__content {
    margin-top: 0.8rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.c-color-option-item__text {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-color-option-item__text {
    margin-top: 0;
  }
}
.c-color-option-item__price {
  margin-top: 0.8rem;
  text-align: right;
}
@media (min-width: 768px) {
  .c-color-option-item__price {
    margin-top: 0;
    text-align: left;
  }
}
.c-color-option-item__price .ml1 {
  margin-left: -0.16em;
}
.c-color-option-item__price .ml2 {
  margin-left: -0.32em;
}

@media (min-width: 768px) {
  .c-menu-list {
    display: flex;
    justify-content: center;
  }
}
.c-menu-list--baloon {
  padding-top: 1.2rem;
  position: relative;
  width: 100vw;
  max-width: 80.6rem;
  margin-inline: auto;
  position: absolute;
  z-index: 9999;
  inset: auto 0 0 auto;
  transform: translateY(100%);
  opacity: 0;
  transition: all 0.2s ease;
  pointer-events: none;
}
.c-toggle-menu-trigger:checked ~ .c-menu-list--baloon {
  pointer-events: auto;
  opacity: 1;
}
@media (max-width: 767px) {
  .c-toggle-menu-trigger:checked ~ .c-menu-list--baloon {
    display: block;
  }
}
@media (min-width: 768px) {
  .c-toggle-menu-trigger:checked ~ .c-menu-list--baloon {
    display: flex;
  }
}
.c-menu-list--baloon:before {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0 8.2rem auto auto;
  width: 4rem;
  height: 1.6rem;
  background: var(--color-primary);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
@media (min-width: 768px) {
  .c-menu-list--baloon:before {
    inset: 0 7.4rem auto auto;
  }
}
.c-menu-list__inner {
  padding: 2.4rem 6.4%;
}
@media (min-width: 768px) {
  .c-menu-list__inner {
    padding: 8rem 0;
  }
}
.c-menu-list--baloon .c-menu-list__inner {
  width: 100%;
  background: var(--color-primary);
  margin-inline: auto;
  border-radius: 1.6rem;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-menu-list--baloon .c-menu-list__inner {
    border-radius: 2.4rem;
  }
}

.c-menu-list__list {
  width: auto;
}
@media (min-width: 960px) {
  .c-menu-list__list {
    max-width: 1200px;
  }
}

.c-menu-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .c-menu-link-list {
    gap: 4rem;
    padding: 0 4rem;
  }
}
@media (min-width: 768px) {
  .c-menu-link-list--ballon {
    gap: 2.4rem;
    padding: 0 8rem;
  }
}
.c-menu-link-list > li {
  width: calc(50% - 0.8rem);
}
@media (min-width: 768px) {
  .c-menu-link-list > li {
    width: calc(50% - 2rem);
  }
}
@media (min-width: 768px) {
  .c-menu-link-list--ballon > li {
    width: calc(50% - 1.2rem);
  }
}

.c-water-circle {
  width: 48vw;
  aspect-ratio: 1;
  border-radius: 9999px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  .c-water-circle {
    width: 28rem;
  }
}
.c-water-circle p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 94.59444%;
  aspect-ratio: 1;
  position: absolute;
  border-radius: 9999px;
  z-index: 1;
}
.c-water-circle:after {
  content: "";
  width: 94.59444%;
  aspect-ratio: 1;
  position: absolute;
  border-radius: 9999px;
  z-index: 2;
  border: 1px solid rgba(51, 51, 51, 0.2);
}
.c-water-circle--blue p {
  background: #E0F1F3;
}
.c-water-circle--green p {
  background: #E9F3EC;
}
.c-water-circle--ul p {
  inset: auto 0 0 auto;
}
.c-water-circle--ul:after {
  inset: 0 auto auto 0;
}
.c-water-circle--ur p {
  inset: auto auto 0 0;
}
.c-water-circle--ur:after {
  inset: 0 0 auto auto;
}
.c-water-circle--dl p {
  inset: 0 0 auto auto;
}
.c-water-circle--dl:after {
  inset: auto auto 0 0;
}
.c-water-circle--dr p {
  inset: 0 auto auto 0;
}
.c-water-circle--dr:after {
  inset: auto 0 0 auto;
}

.fz-wc {
  font-size: 1.1rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .fz-wc {
    font-size: 1.8rem;
  }
}

.c-worries-1 {
  width: 100%;
  height: 114.67vw;
  position: relative;
}
@media (min-width: 768px) {
  .c-worries-1 {
    width: 135.2rem;
    height: 38rem;
    display: flex;
    justify-content: space-between;
  }
}

.c-worries-2 {
  width: 100%;
  height: 100vw;
  position: relative;
}
@media (min-width: 768px) {
  .c-worries-2 {
    width: 100rem;
    height: 40.8rem;
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  .c-worries-item {
    position: absolute;
  }
}
@media (max-width: 767px) {
  .c-worries-item--1 {
    inset: 0 auto auto 0;
  }
}
@media (max-width: 767px) {
  .c-worries-item--2 {
    inset: 14.93333vw 0 auto auto;
  }
}
@media (min-width: 768px) {
  .c-worries-item--2 {
    margin-top: 8.6rem;
  }
}
@media (max-width: 767px) {
  .c-worries-item--3 {
    inset: auto 0 0 auto;
  }
}
@media (min-width: 768px) {
  .c-worries-item--3 {
    margin-top: 1.6rem;
  }
}
@media (max-width: 767px) {
  .c-worries-item--4 {
    inset: auto auto 14.93333vw 0;
  }
}
@media (min-width: 768px) {
  .c-worries-item--4 {
    margin-top: 7.2rem;
  }
}
@media (max-width: 767px) {
  .c-worries-item--5 {
    inset: auto auto 6.81866vw 0;
  }
}
@media (min-width: 768px) {
  .c-worries-item--5 {
    margin-top: 8.4rem;
  }
}
@media (max-width: 767px) {
  .c-worries-item--6 {
    width: 48vw;
    inset: 0 0 auto 0;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .c-worries-item--7 {
    inset: auto 0 0 auto;
  }
}
@media (min-width: 768px) {
  .c-worries-item--7 {
    margin-top: 11.2rem;
  }
}

.p-worries {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-worries {
    margin-top: 13.6rem;
  }
}
.p-worries {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 767px) {
  .p-worries__1 {
    width: 100%;
  }
}
.p-worries__message {
  margin-top: 1.5rem;
  padding-inline: 4.1466%;
}
@media (min-width: 768px) {
  .p-worries__message {
    margin-top: 0;
    width: 100.9rem;
    padding-inline: 0;
  }
}
.p-worries__2 {
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-worries__2 {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .p-worries__2 {
    margin-top: 3.2rem;
  }
}

.l-salon-arc {
  padding: 8rem 0 8rem;
}
@media (min-width: 768px) {
  .l-salon-arc {
    padding: 20rem 0 16rem;
  }
}

.c-arc-salon-item + .c-arc-salon-item {
  margin-top: 12rem;
}
@media (min-width: 768px) {
  .c-arc-salon-item + .c-arc-salon-item {
    margin-top: 20rem;
  }
}
@media (min-width: 768px) {
  .c-arc-salon-item {
    display: flex;
    align-items: center;
    gap: 8rem;
  }
}
@media (min-width: 768px) {
  .c-arc-salon-item--pt1 {
    flex-direction: row-reverse;
    padding-left: 40px;
  }
}
@media (min-width: 1200px) {
  .c-arc-salon-item--pt1 {
    padding-left: 13.541666%;
  }
}
@media (min-width: 768px) {
  .c-arc-salon-item--pt2 {
    flex-direction: row;
    padding-right: 40px;
  }
}
@media (min-width: 1200px) {
  .c-arc-salon-item--pt2 {
    padding-right: 13.541666%;
  }
}
.c-arc-salon-item__image {
  display: block;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-arc-salon-item--pt2 .c-arc-salon-item__image {
    margin-left: 8.5333%;
  }
}
.c-arc-salon-item--pt2 .c-arc-salon-item__image {
  border-radius: 2.4rem 0 0 2.4rem;
}
@media (min-width: 768px) {
  .c-arc-salon-item--pt2 .c-arc-salon-item__image {
    border-radius: 0 4rem 4rem 0;
  }
}
@media (max-width: 767px) {
  .c-arc-salon-item--pt1 .c-arc-salon-item__image {
    margin-right: 8.5333%;
  }
}
.c-arc-salon-item--pt1 .c-arc-salon-item__image {
  border-radius: 0 2.4rem 2.4rem 0;
}
@media (min-width: 768px) {
  .c-arc-salon-item--pt1 .c-arc-salon-item__image {
    border-radius: 4rem 0 0 4rem;
  }
}
@media (min-width: 768px) {
  .c-arc-salon-item__image {
    width: 58.3333%;
  }
}
.c-arc-salon-item__image > img {
  display: block;
  width: 100%;
}
.c-arc-salon-item__content {
  padding-inline: 8.5333%;
}
@media (min-width: 768px) {
  .c-arc-salon-item__content {
    width: 46rem;
    padding-inline: 0;
  }
}
.c-arc-salon-item__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24rem;
}
@media (max-width: 767px) {
  .c-arc-salon-item__logo {
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .c-arc-salon-item__logo {
    max-width: 46rem;
    width: 100%;
  }
}
.c-arc-salon-item__logo > img {
  object-fit: contain;
}
.c-arc-salon-item__cat {
  background: var(--color-primary);
  padding: 1.2rem 3.6rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-arc-salon-item__cat {
    padding: 0.9rem 1.2rem;
  }
}
.c-arc-salon-item__text {
  margin-top: 2.4rem;
}
.c-arc-salon-item__accesses {
  margin-top: 2.4rem;
}
.c-arc-salon-item__accesses > ul {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.c-arc-salon-item__link {
  margin-top: 0.8rem;
}
.c-arc-salon-item__buttons {
  margin-top: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.c-arc-salon-access-item {
  display: flex;
  align-items: center;
  gap: 1.3rem;
}
.c-arc-salon-access-item__img {
  width: 1.6rem;
  height: 2.4rem;
}
.c-arc-salon-access-item__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.l-arcsp-shop {
  padding-top: 8rem;
}
@media (min-width: 768px) {
  .l-arcsp-shop {
    padding-top: 20rem;
  }
}
.l-arcsp-shop__main {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .l-arcsp-shop__main {
    margin-top: 8rem;
  }
}

.c-arcsp-shop-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 8.53333%;
}
@media (min-width: 768px) {
  .c-arcsp-shop-heading {
    padding-inline: 0;
  }
}
.c-arcsp-shop-heading__img {
  display: block;
  width: 24rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-heading__img {
    width: 46rem;
  }
}
.c-arcsp-shop-heading__img > img {
  display: block;
  width: 100%;
}
.c-arcsp-shop-heading__text {
  margin-top: 0.8rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-heading__text {
    margin-top: 1.6rem;
    width: 46rem;
  }
}

.c-label-1 {
  background: var(--color-primary);
  padding: 1.2rem 3.6rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-label-1 {
    display: block;
    padding: 0.9rem 1.2rem;
  }
}

.c-item-arcsp-shop__imgs {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}
.c-item-arcsp-shop__img {
  display: block;
  width: 100%;
  aspect-ratio: 311/200;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-item-arcsp-shop__img {
    border-radius: 2.4rem;
    max-width: 66rem;
  }
}
.c-item-arcsp-shop__img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-item-arcsp-shop__logo {
  margin-top: 2.4rem;
  display: block;
  width: 20rem;
  aspect-ratio: 200/78;
}
@media (min-width: 768px) {
  .c-item-arcsp-shop__logo {
    width: 38rem;
    margin-top: 4rem;
  }
}
.c-item-arcsp-shop__logo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-item-arcsp-shop__text {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-item-arcsp-shop__text {
    margin-top: 4rem;
  }
}
.c-item-arcsp-shop__detail {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .c-item-arcsp-shop__detail {
    margin-top: 4rem;
  }
}
@media (min-width: 768px) {
  .c-item-arcsp-shop__buttons {
    margin-top: 1.6rem;
  }
}

.p-arcsp-shop-main {
  position: relative;
  padding-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-arcsp-shop-main {
    padding-bottom: 16rem;
  }
}
.p-arcsp-shop-main__inner {
  position: relative;
  z-index: 2;
}
.p-arcsp-shop-main__bg {
  position: absolute;
  width: 100%;
  height: calc(100% - 8rem);
  z-index: 1;
  inset: auto auto 0 0;
}
@media (min-width: 768px) {
  .p-arcsp-shop-main__bg {
    height: calc(100% - 16rem);
  }
}
.p-arcsp-shop-main__cat {
  margin-top: 6rem;
}
@media (min-width: 768px) {
  .p-arcsp-shop-main__cat {
    margin-top: 12rem;
  }
}

.c-arcsp-shop-about-cta {
  max-width: 112rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about-cta {
    background: linear-gradient(var(--color-primary), var(--color-primary)), linear-gradient(var(--color-primary), var(--color-primary)), linear-gradient(var(--color-primary), var(--color-primary));
    background-size: 100% 1px, 1px calc(100% - 1.4rem), 1px calc(100% - 1.4rem);
    background-position: bottom left, bottom left, bottom right;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
}
@media (min-width: 768px) {
  .c-arcsp-shop-about-cta__inner {
    padding-bottom: 4rem;
    padding-inline: 7.14285%;
  }
}
.c-arcsp-shop-about-cta__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-arcsp-shop-about-cta__title:before, .c-arcsp-shop-about-cta__title:after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--color-primary);
}
.c-arcsp-shop-about-cta__title:before {
  margin-right: 1.3rem;
}
.c-arcsp-shop-about-cta__title:after {
  margin-left: 1.3rem;
}
.c-arcsp-shop-about-cta__tel {
  font-size: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about-cta__tel {
    margin-top: 4rem;
    font-size: 5.6rem;
    gap: 1.6rem;
  }
}
.c-arcsp-shop-about-cta__tel:before {
  display: inline-block;
  content: "";
  width: 2.6rem;
  aspect-ratio: 1/1;
  background: url("../img/components/ico/ico-tel.svg") no-repeat center center/contain;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about-cta__tel:before {
    width: 4rem;
  }
}
.c-arcsp-shop-about-cta__buttons {
  margin-top: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about-cta__buttons {
    margin-top: 4rem;
    max-width: 96rem;
    margin-inline: auto;
    flex-direction: row;
    justify-content: center;
    gap: 4rem;
  }
}
@keyframes infinity-scroll-left2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.c-arcsp-shop-gallery {
  width: 100%;
  overflow: hidden;
}
.c-arcsp-shop-gallery__wrap {
  display: flex;
  justify-content: flex-start;
}
.c-arcsp-shop-gallery__list {
  display: flex;
  white-space: nowrap;
  padding: 0;
  animation: infinity-scroll-left2 80s infinite linear 0.5s both;
  flex-shrink: 0;
}
.c-arcsp-shop-gallery__item {
  flex-shrink: 0;
}

.c-arcsp-shop-gallery-item {
  width: 31.1rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-gallery-item {
    width: 64rem;
  }
}
.c-arcsp-shop-gallery-item__img {
  width: 100%;
}
.c-arcsp-shop-gallery-item__img > img {
  width: 100%;
}

.c-arcsp-shop-concept {
  padding: 8rem 8.533333% 8rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-concept {
    padding: 16rem 0 16rem;
  }
}
@media (min-width: 768px) {
  .c-arcsp-shop-concept__content {
    max-width: 1200px;
    padding-inline: 4rem;
    margin-inline: auto;
  }
}
.c-arcsp-shop-concept__text {
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-concept__text {
    margin-top: 8rem;
  }
}
.c-arcsp-shop-concept__detail {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-concept__detail {
    margin-top: 8rem;
  }
}
.c-arcsp-shop-concept__bnrs {
  max-width: 1400px;
  margin-inline: auto;
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-concept__bnrs {
    display: flex;
    gap: 8rem;
    margin-top: 16rem;
  }
}
.c-arcsp-shop-concept__bnrs > li {
  flex: 1;
}

.c-arcsp-shop-youtube {
  width: 100%;
  aspect-ratio: 16/9;
}
.c-arcsp-shop-youtube > iframe {
  width: 100%;
  height: 100%;
}

.c-item-arcsp-shop-detail {
  padding: 1.8rem;
  border: 1px solid var(--color-primary);
}
@media (min-width: 768px) {
  .c-item-arcsp-shop-detail {
    padding: 4rem;
  }
}
@media (min-width: 768px) {
  .c-item-arcsp-shop-detail--fullwidth {
    display: flex;
    gap: 4rem;
  }
}
@media (min-width: 768px) {
  .c-item-arcsp-shop-detail--fullwidth .c-item-arcsp-shop-detail__title {
    flex: 0 0 auto;
  }
}
.c-arcsp-shop-caption {
  padding: 8rem 8.5333%;
}
@media (min-width: 768px) {
  .c-arcsp-shop-caption {
    padding: 16rem 0;
    padding-inline: 4rem;
  }
}
.c-arcsp-shop-caption__inner {
  max-width: 1120px;
  margin-inline: auto;
}
.c-arcsp-shop-caption__text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-caption__text {
    text-align: left;
  }
}

.c-arcsp-shop-brands {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  max-width: 1480px;
  margin-inline: auto;
  padding: 0 8.533333% 8rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-brands {
    gap: 16rem 8rem;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 0 16rem;
    padding-inline: 4rem;
  }
}
.c-arcsp-shop-brands > li {
  width: 100%;
}
@media (min-width: 768px) {
  .c-arcsp-shop-brands > li {
    width: calc(50% - 4rem);
  }
}

.c-arcsp-shop-about {
  padding: 0 8.53333%;
}
.c-arcsp-shop-about__inner {
  max-width: 1120px;
  margin-inline: auto;
}
.c-arcsp-shop-about__cta-img {
  display: block;
  width: 100%;
  aspect-ratio: 311/199;
  border-radius: 2.4rem;
  overflow: hidden;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about__cta-img {
    aspect-ratio: 1120/718;
    border-radius: 4rem;
  }
}
.c-arcsp-shop-about__cta-img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-arcsp-shop-about__title-sub {
  margin-top: 4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about__title-sub {
    margin-top: 8rem;
  }
}
.c-arcsp-shop-about__title {
  margin-top: 1.6rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about__title {
    margin-top: 2.4rem;
    text-align: center;
  }
}
.c-arcsp-shop-about__text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-about__text {
    margin-top: 8rem;
  }
}

.c-arcsp-shop-access {
  padding: 0 8.53333% 8rem;
  background: linear-gradient(var(--color-bg-red), var(--color-bg-red)) no-repeat center bottom/100% calc(100% - 3rem);
}
@media (min-width: 768px) {
  .c-arcsp-shop-access {
    padding: 0 0 12rem;
    background-size: 100% calc(100% - 5.6rem);
  }
}
.c-arcsp-shop-access__inner {
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__inner {
    padding-inline: 4rem;
  }
}
.c-arcsp-shop-access__title {
  font-size: 3.8rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__title {
    font-size: 6.6rem;
  }
}
.c-arcsp-shop-access__title::first-letter {
  font-size: 5.2rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__title::first-letter {
    font-size: 9.6rem;
  }
}
.c-arcsp-shop-access__text {
  font-size: 2rem;
  text-align: center;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__text {
    margin-top: 3.2rem;
    font-size: 3.2rem;
  }
}
.c-arcsp-shop-access__map {
  margin-top: 3.2rem;
  height: 42rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__map {
    margin-top: 8rem;
    height: 63rem;
  }
}
.c-arcsp-shop-access__map > iframe {
  width: 100%;
  height: 100%;
}
.c-arcsp-shop-access__address {
  margin-top: 2.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__address {
    margin-top: 4rem;
  }
}
.c-arcsp-shop-access__info {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .c-arcsp-shop-access__info {
    margin-top: 12rem;
  }
}

@media (min-width: 768px) {
  .c-arcsp-access-sections {
    display: flex;
    gap: 8rem;
  }
}
@media (min-width: 768px) {
  .c-arcsp-access-sections > li {
    flex: 1;
  }
}
@media (max-width: 767px) {
  .c-arcsp-access-sections > li:not(:first-child) {
    margin-top: 8rem;
  }
}

.c-arcsp-access-section__content {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-arcsp-access-section__content {
    margin-top: 4rem;
  }
}
.c-arcsp-access-section__content--img {
  display: flex;
  justify-content: center;
}
.c-arcsp-access-section__content--img > picture {
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .c-arcsp-access-section__content--img > picture {
    width: 48rem;
  }
}
.c-arcsp-access-section__content--img > picture > img {
  width: 100%;
}

.l-about {
  padding: 8rem 0 4rem;
}
@media (min-width: 768px) {
  .l-about {
    padding: 20rem 0 4rem;
  }
}

.c-concept-about {
  background-color: var(--color-bg-red);
  background-image: url("../img/pages/concept/bg-concept-10-sp.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 8rem 8.53333% 8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-concept-about {
    width: 100%;
    background-image: url("../img/pages/concept/bg-concept-10-pc.png");
    background-size: cover;
    padding: 12rem 0 0;
    height: 138rem;
  }
}
.c-concept-about__img {
  width: 26rem;
  display: block;
}
@media (min-width: 768px) {
  .c-concept-about__img {
    width: 48rem;
  }
}
.c-concept-about__img > img {
  width: 100%;
}
.c-concept-about__title {
  text-align: center;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-concept-about__title {
    margin-top: 8rem;
  }
}
.c-concept-about__sub-title {
  text-align: center;
}
.c-concept-about__text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-concept-about__text {
    margin-top: 8rem;
    text-align: center;
  }
}

.c-concept-textarea p + p {
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .c-concept-textarea p + p {
    margin-top: 4.8rem;
  }
}

.p-concept-main {
  padding: 8rem 0 12rem;
}
@media (min-width: 768px) {
  .p-concept-main {
    padding: 24rem 0;
  }
}
.p-concept-main__values {
  margin-top: 12rem;
}
@media (min-width: 768px) {
  .p-concept-main__values {
    margin-top: 24rem;
  }
}

.c-concept-thought {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-concept-thought {
    flex-direction: row;
    gap: 8rem;
    justify-content: center;
  }
}
.c-concept-thought__content {
  padding-inline: 8.53333%;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .c-concept-thought__content {
    order: 2;
  }
}
@media (min-width: 768px) {
  .c-concept-thought__content {
    padding-top: 0;
    padding-inline: 0;
  }
}
.c-concept-thought__content-text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-concept-thought__content-text {
    margin-top: 6.4rem;
  }
}

.c-concept-values {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-concept-values__title {
  text-align: center;
}
@media (min-width: 768px) {
  .c-concept-values__title {
    text-align: left;
  }
}
.c-concept-values__text {
  margin-top: 2.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-concept-values__text {
    text-align: left;
  }
}
.c-concept-values__list {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .c-concept-values__list {
    flex-direction: row;
    gap: 12.8rem;
  }
}

.c-concept-value-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-concept-value-item__img {
  width: 24rem;
  aspect-ratio: 1;
  position: relative;
}
@media (min-width: 768px) {
  .c-concept-value-item__img {
    width: 36rem;
  }
}
.c-concept-value-item__img > img {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
}
.c-concept-value-item__img:after {
  content: "";
  width: 0.2rem;
  height: 4rem;
  background-color: var(--color-primary);
  position: absolute;
  margin-inline: auto;
  inset: auto 0 0 0;
  transform: translateY(50%);
}
.c-concept-value-item__title {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-concept-value-item__title {
    margin-top: 4.2rem;
  }
}
.c-concept-value-item__text {
  margin-top: 2rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-concept-value-item__text {
    margin-top: 3rem;
  }
}

.c-concept-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-concept-heading__en {
  font-size: 6rem;
}
.c-concept-heading__en:first-letter {
  font-size: 8.2rem;
}
@media (min-width: 768px) {
  .c-concept-heading__en {
    font-size: 12.6rem;
  }
  .c-concept-heading__en:first-letter {
    font-size: 16.2rem;
  }
}
.c-concept-heading__jp {
  margin-top: -0.8em;
}
.c-concept-heading__text {
  margin-top: 2.4rem;
}

.c-concept-promise {
  background: var(--color-bg-red) url(../img/pages/concept/concept-promise-bg.png) no-repeat bottom center/auto 30.2rem;
  padding: 6.5rem 8.5333% 18rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-concept-promise {
    padding: 12.5rem 0 32rem;
    background-size: 100% auto;
  }
}
.c-concept-promise__list {
  margin-top: 4.8rem;
  width: 100%;
  max-width: 1120px;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (min-width: 768px) {
  .c-concept-promise__list {
    margin-top: 8rem;
  }
}
.c-concept-promise__messazge {
  width: 100%;
  max-width: 880px;
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .c-concept-promise__messazge {
    margin-top: 8rem;
  }
}

.c-concept-promise-item {
  padding: 2.4rem;
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  background: var(--color-wh);
}
@media (min-width: 768px) {
  .c-concept-promise-item {
    padding: 4rem;
    gap: 1.6rem;
  }
}
.c-concept-promise-item:before {
  content: "";
  width: 2rem;
  flex: 0 0 auto;
  height: 1.7rem;
  transform: translateY(62.5%);
  display: inline-block;
  background: url("../img/components/ico/ico-check.svg") no-repeat top left/1.8rem 1.5rem;
}
@media (min-width: 768px) {
  .c-concept-promise-item:before {
    transform: translateY(75%);
  }
}

.c-concept-message {
  position: relative;
  padding-block: 2.2rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-concept-message {
    padding-block: 2.8rem;
  }
}
.c-concept-message:before, .c-concept-message:after {
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  position: absolute;
}
@media (min-width: 768px) {
  .c-concept-message:before, .c-concept-message:after {
    width: 4rem;
  }
}
.c-concept-message:before {
  border-left: 1px solid var(--color-primary);
  border-top: 1px solid var(--color-primary);
  inset: 0 auto auto 0;
}
.c-concept-message:after {
  border-right: 1px solid var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  inset: auto 0 0 auto;
}

.p-concept-our {
  padding-block: 12rem;
}
@media (min-width: 768px) {
  .p-concept-our {
    padding-block: 16rem;
  }
}
.p-concept-our__inner {
  padding-inline: 8.53333%;
}
.p-concept-our__content {
  margin-top: 5.6rem;
}
@media (min-width: 768px) {
  .p-concept-our__content {
    margin-top: 8rem;
  }
}

.c-concept-our {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  max-width: 140rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-concept-our {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.c-concept-our__text {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-concept-our__links {
    flex: 0 0 46rem;
  }
}

.c-concept-gallery__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
@media (min-width: 768px) {
  .c-concept-gallery__inner {
    gap: 4rem;
  }
}
.c-concept-gallery__inner > img {
  max-width: 100%;
  border-radius: 1.6rem;
}
@media (min-width: 768px) {
  .c-concept-gallery__inner > img {
    width: calc(33.333% - 2.6666rem);
    border-radius: 2.4rem;
  }
}

.p-concept-message {
  padding: 6.5rem 8.5333% 8rem;
}
@media (min-width: 768px) {
  .p-concept-message {
    padding: 12.5rem 0 14.5rem;
  }
}
.p-concept-message__text {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .p-concept-message__text {
    margin-top: 8rem;
    text-align: center;
  }
}
.p-concept-message__links {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .p-concept-message__links {
    margin-top: 12rem;
  }
}

.c-concept-sdgs-bnr {
  margin-top: 4rem;
  padding-inline: 8.5333%;
}
@media (min-width: 768px) {
  .c-concept-sdgs-bnr {
    margin-top: 12rem;
    padding-inline: 40px;
  }
}
.c-concept-sdgs-bnr__link {
  display: block;
}

.l-company {
  padding: 6.4rem 0 11.3rem;
}
@media (min-width: 768px) {
  .l-company {
    padding: 20rem 0 16rem;
  }
}
.l-company__content1 {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .l-company__content1 {
    margin-top: 16rem;
  }
}
.l-company__content2 {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .l-company__content2 {
    margin-top: 16rem;
  }
}

.c-company-message {
  position: relative;
}
.c-company-message__inner {
  position: relative;
  z-index: 2;
  padding: 4rem 8.53333%;
  max-width: 1400px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-company-message__inner {
    padding: 16rem 0;
  }
}
.c-company-message__caption {
  text-align: center;
  font-size: 2rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .c-company-message__caption {
    font-size: 4.8rem;
  }
}

.c-company-datas {
  padding-inline: 8.53333%;
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-company-datas {
    padding-inline: 4rem;
  }
}
@media (min-width: 768px) {
  .c-company-datas__data {
    margin-top: 4rem;
  }
}
.c-company-datas__data {
  max-width: 1120px;
  margin-inline: auto;
}

.l-policy {
  padding: 6.4rem 8.53333% 8rem;
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-policy {
    padding: 18.4rem 40px 16rem;
  }
}

.p-policy-item + .p-policy-item {
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .p-policy-item + .p-policy-item {
    margin-top: 14.4rem;
  }
}
.p-policy-item {
  max-width: 1480px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-policy-item {
    padding-inline: 4rem;
  }
}
.p-policy-item__content {
  display: block;
  margin-top: 1.6rem;
  max-width: 1120px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-policy-item__content {
    margin-top: 6.4rem;
  }
}

.l-archive-blog {
  padding: 6.4rem 8.53333% 11.3rem;
  max-width: 1200px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-archive-blog {
    padding: 18.4rem 4rem 16rem;
  }
}

.c-archive-blog-list {
  display: flex;
  flex-direction: column;
}
.c-archive-blog-list li {
  width: 100%;
}
@media (min-width: 768px) {
  .c-archive-blog-list li {
    margin-top: 4rem;
  }
}

.l-recruit {
  padding-top: 8rem;
}
@media (min-width: 768px) {
  .l-recruit {
    padding-top: 20rem;
  }
}

.c-recruit {
  padding: 4rem 8.53333% 8rem;
}
@media (min-width: 768px) {
  .c-recruit {
    padding: 16rem 0;
  }
}
.c-recruit__inner {
  max-width: 1480px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-recruit__inner {
    padding-inline: 4rem;
  }
}
.c-recruit__title {
  text-align: center;
}
.c-recruit__text {
  margin-top: 1.6rem;
}
.c-recruit__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-recruit__list {
    width: 66rem;
  }
}
@media (min-width: 768px) {
  .c-recruit__list > li {
    flex: 1;
  }
}

.c-recruit-bnr {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--color-wh);
  padding-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .c-recruit-bnr {
    padding-bottom: 0;
    height: 27.6rem;
  }
}
.c-recruit-bnr__title {
  width: 100%;
  flex: 0 0 4.8rem;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-recruit-bnr__title {
    flex: 0 0 6.4rem;
  }
}

.c-recruit-line-bnr__content {
  display: contents;
}
@media (min-width: 768px) {
  .c-recruit-line-bnr__content {
    display: flex;
    height: 100%;
    align-items: center;
    gap: 4rem;
    width: 100%;
    padding: 0 6.2rem 0;
  }
}
.c-recruit-line-bnr__img {
  margin-top: 2.4rem;
  width: 14rem;
}
@media (min-width: 768px) {
  .c-recruit-line-bnr__img {
    margin-top: 0;
    width: 12rem;
  }
}
.c-recruit-line-bnr__img > img {
  width: 100%;
}
.c-recruit-line-bnr__content-text {
  display: contents;
}
@media (min-width: 768px) {
  .c-recruit-line-bnr__content-text {
    display: block;
    flex: 1;
  }
}
.c-recruit-line-bnr__id {
  margin-top: 2.4rem;
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .c-recruit-line-bnr__id {
    margin-top: 0;
    font-size: 4.2rem;
  }
}
.c-recruit-line-bnr__text {
  margin-top: 2.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-recruit-line-bnr__text {
    text-align: left;
  }
}

.c-recruit-insta-bnr__content {
  display: contents;
}
@media (min-width: 768px) {
  .c-recruit-insta-bnr__content {
    display: flex;
    width: 100%;
  }
}
.c-recruit-insta-bnr__img {
  width: 100%;
}
@media (min-width: 768px) {
  .c-recruit-insta-bnr__img {
    flex: 0 0 29.4rem;
  }
}
.c-recruit-insta-bnr__img > img {
  width: 100%;
}
.c-recruit-insta-bnr__content-text {
  display: contents;
}
@media (min-width: 768px) {
  .c-recruit-insta-bnr__content-text {
    display: block;
    flex: 1;
    padding: 4rem 4rem 0;
  }
}
.c-recruit-insta-bnr__text {
  margin-top: 2.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-recruit-insta-bnr__text {
    margin-top: 0;
    text-align: left;
  }
}
.c-recruit-insta-bnr__button {
  width: 100%;
  padding-inline: 2.4rem;
}
@media (min-width: 768px) {
  .c-recruit-insta-bnr__button {
    padding-inline: 0;
  }
}

.l-sdgs {
  padding: 6.4rem 0 8rem;
}
@media (min-width: 768px) {
  .l-sdgs {
    padding: 18.4rem 0 16rem;
  }
}

.c-sdgs {
  padding-top: 4rem;
  padding-inline: 8.53333%;
}
@media (min-width: 768px) {
  .c-sdgs {
    padding-top: 8rem;
    padding-inline: 4rem;
  }
}
.c-sdgs__main {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-sdgs__main {
    margin-top: 3.2rem;
  }
}
.c-sdgs__goals {
  display: block;
  margin-top: 16.4rem;
  padding: 4rem 2.4rem 0;
  border-radius: 2.4rem 2.4rem 0 0;
  background: var(--color-wh);
  max-width: 1400px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-sdgs__goals {
    margin-top: 8.2rem;
    padding: 8rem 14rem 0;
    border-radius: 4rem 4rem 0 0;
  }
}
.c-sdgs__content {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .c-sdgs__content {
    margin-top: 16rem;
  }
}

.p-sdgs-imgs {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-sdgs-imgs__img > img {
  max-width: 100%;
}
.p-sdgs-imgs__img--1 {
  padding-right: 3rem;
}
@media (min-width: 768px) {
  .p-sdgs-imgs__img--1 {
    padding-right: 6rem;
  }
}
.p-sdgs-imgs__img--2 {
  padding-left: 3rem;
}
@media (min-width: 768px) {
  .p-sdgs-imgs__img--2 {
    padding-left: 6rem;
  }
}
.p-sdgs-imgs__line {
  display: block;
  width: 1px;
  height: 12rem;
}
@media (min-width: 768px) {
  .p-sdgs-imgs__line {
    height: 24rem;
  }
}
.p-sdgs-imgs__line {
  background: var(--color-black);
}

.p-sdgs-main__title {
  text-align: center;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .p-sdgs-main__title {
    font-size: 2rem;
  }
}
.p-sdgs-main__text {
  margin-top: 4rem;
  max-width: 1200px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-sdgs-main__text {
    margin-top: 8rem;
    padding-inline: 4rem;
  }
}

.p-sdgs-main-img > img {
  display: block;
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-sdgs-main-img > img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .p-sdgs-main-img > img {
    margin-inline: auto;
  }
}

.p-sdgs-bnr {
  margin-inline: auto;
  display: block;
}
@media (min-width: 768px) {
  .p-sdgs-bnr {
    transition: 0.2s all ease;
  }
  .p-sdgs-bnr:hover {
    opacity: 0.72;
  }
}
.p-sdgs-bnr > img {
  display: block;
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-sdgs-bnr > img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .p-sdgs-bnr > img {
    margin-inline: auto;
  }
}

.l-science {
  padding: 6.4rem 0 0;
}
@media (min-width: 768px) {
  .l-science {
    padding: 18.4rem 0 0;
  }
}

.c-science-main-img {
  display: block;
  padding-inline: 8.5333%;
  width: 100%;
}
@media (min-width: 768px) {
  .c-science-main-img {
    padding-inline: 0;
    max-width: 1480px;
    margin-inline: auto;
    padding-inline: 4rem;
  }
}
.c-science-main-img > img {
  width: 100%;
}

.c-science {
  padding-inline: 8.5333%;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science {
    margin-top: 8rem;
  }
}
@media (min-width: 768px) {
  .c-science {
    padding-inline: 0;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 4rem;
  }
}
.c-science__past {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science__past {
    margin-top: 8rem;
  }
}
.c-science__hr {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science__hr {
    margin-top: 8rem;
  }
}
.c-science__answer-title {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science__answer-title {
    margin-top: 8rem;
  }
}
.c-science__answer {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science__answer {
    margin-top: 4.8rem;
  }
}
.c-science__cash {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-science__cash {
    margin-top: 8rem;
  }
}

@media (min-width: 768px) {
  .p-science-main {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
  }
}
@media (min-width: 768px) {
  .p-science-main__text {
    flex: 0 0 53.5714%;
  }
}
.p-science-main__imgs {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-science-main__imgs {
    margin-top: 0;
    flex: 1;
  }
}

.c-science-main {
  text-align: center;
  font-size: 1.6rem;
  padding: 2.4rem 0;
  border: 5px solid var(--color-bd-sky);
}
@media (min-width: 768px) {
  .c-science-main {
    font-size: 2rem;
  }
}

.c-science-system {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-science-system__imgs {
  margin-top: 0.8rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .c-science-system__imgs {
    flex-direction: row;
    gap: 2.4rem;
  }
}
.c-science-system__img {
  width: 100%;
}
.c-science-system__img > img {
  display: block;
  width: 100%;
}

@media (min-width: 768px) {
  .p-science-past {
    display: flex;
    gap: 4rem;
  }
}
.p-science-past__text {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .p-science-past__text {
    font-size: 1.6rem;
    flex: 1;
  }
}
.p-science-past__img {
  display: block;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-science-past__img {
    margin-top: 0;
    flex: 0 0 46.4285%;
  }
}

.c-science-past__text {
  margin-top: 0.8rem;
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .c-science-past__text {
    font-size: 1.6rem;
  }
}

.c-science-past-img {
  width: 100%;
}
.c-science-past-img > img {
  width: 100%;
}

.c-science-hr {
  /* 線の基本設定 */
  border: 0;
  border-top: 3px solid var(--color-sky-1);
  /* 線の色と太さ */
  height: 0;
  overflow: visible;
  /* 枠外にV字が出るのを許可 */
  position: relative;
  /* 上下の余白 */
}
.c-science-hr:after {
  content: "";
  position: absolute;
  /* V字のサイズと位置 */
  width: 2rem;
  height: 2rem;
  top: -1px;
  /* 線の太さに合わせて微調整 (高さの半分 + 線の太さ/2) */
  left: 50%;
  /* V字を作る仕組み */
  background-color: var(--color-wh);
  /* 【重要】背景色と同じ色にする */
  border-bottom: 3px solid var(--color-sky-1);
  /* 線の色と同じにする */
  border-right: 3px solid var(--color-sky-1);
  /* 線の色と同じにする */
  /* 45度回転させてV字にする */
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.c-science-answer-title {
  font-size: 2.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-science-answer-title {
    font-size: 4.2rem;
  }
}

@media (min-width: 768px) {
  .p-science-answer {
    display: flex;
    gap: 4rem;
  }
}
@media (min-width: 768px) {
  .p-science-answer__content {
    flex: 1;
  }
}
.p-science-answer__answer {
  margin-top: 2.8rem;
}
@media (min-width: 768px) {
  .p-science-answer__answer {
    margin-top: 1.8rem;
  }
}
.p-science-answer__img {
  display: block;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-science-answer__img {
    margin-top: 0;
    flex: 0 0 46.4285%;
  }
}

.c-science-answer__title {
  color: var(--color-sky-2);
  text-align: center;
}
.c-science-answer__list {
  margin-top: 1.6rem;
  display: flex;
  justify-content: center;
  gap: 3.6rem;
}
@media (min-width: 768px) {
  .c-science-answer__list {
    gap: 2.4rem;
    margin-top: 0.4rem;
  }
}
.c-science-probrem__title {
  font-size: 1.5rem;
  color: var(--color-sky-2);
  text-align: center;
}
@media (min-width: 768px) {
  .c-science-probrem__title {
    font-size: 1.8rem;
  }
}
.c-science-probrem__list {
  margin-top: 1.6rem;
  display: flex;
  justify-content: center;
  gap: 0.9rem;
}

.c-science-probrem-item {
  width: 9.8rem;
  border: 0.3rem solid var(--color-gr-cc);
}
@media (min-width: 768px) {
  .c-science-probrem-item {
    width: 17.1rem;
    border-width: 0.5rem;
  }
}
.c-science-probrem-item__title {
  text-align: center;
  padding: 0.2rem 0 0.3rem;
  background: linear-gradient(var(--color-gr-cc), var(--color-gr-cc)) no-repeat center bottom/calc(100% - 1.6rem) 1px;
}
@media (min-width: 768px) {
  .c-science-probrem-item__title {
    background-size: calc(100% - 4.8rem) 1px;
  }
}
.c-science-probrem-item__list {
  padding: 0 0 0 0.8rem;
}
@media (min-width: 768px) {
  .c-science-probrem-item__list {
    margin-top: 1rem;
    padding: 0 0 0.6rem 2rem;
  }
}
.c-science-probrem-item__list > li:before {
  content: "・";
  display: inline-block;
}

.c-science-answer-item {
  position: relative;
  width: 7rem;
  padding-top: 4.2rem;
  font-size: 1.4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .c-science-answer-item {
    width: 17.1rem;
    font-size: 2rem;
    padding-top: 3.2rem;
  }
}
.c-science-answer-item:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  margin-inline: auto;
  background-color: var(--color-bg-yellow);
  width: 5.2rem;
  height: 2.6rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.c-science-answer-img {
  width: 100%;
}
.c-science-answer-img > img {
  width: 100%;
}

.c-science-cash {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.8rem 2rem;
  border: 5px solid var(--color-sky-1);
}
@media (min-width: 768px) {
  .c-science-cash {
    padding: 3.6rem 0 2.8rem;
  }
}
.c-science-cash__content {
  display: contents;
}
@media (min-width: 768px) {
  .c-science-cash__content {
    display: flex;
    gap: 2.4rem;
    align-items: flex-end;
  }
}
.c-science-cash__title {
  font-size: 1.6rem;
  color: var(--color-sky-2);
}
@media (min-width: 768px) {
  .c-science-cash__title {
    font-size: 2rem;
  }
}
.c-science-cash__value {
  font-size: 3.2rem;
  margin-top: 1.6rem;
  color: var(--color-sky-2);
}
@media (min-width: 768px) {
  .c-science-cash__value {
    font-size: 4rem;
    margin-top: 0;
  }
}
.c-science-cash__value .unit {
  margin-left: 0.6em;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .c-science-cash__value .unit {
    font-size: 2rem;
  }
}
.c-science-cash__text {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-science-cash__text {
    margin-top: 1.2rem;
  }
}

.fc-science-blue {
  color: var(--color-sky-2);
}

.bg-a01 {
  position: relative;
  overflow: hidden;
}
.bg-a01__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
}
.bg-a01__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: -1;
}
.bg-a01__img--1 {
  width: 144vw;
  inset: 11.4666vw auto auto -66.9333vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a01__img--1 {
    width: 48.9583vw;
    inset: -7.8646vw 21.3547vw auto auto;
  }
}
.bg-a01__img--2 {
  width: 112vw;
  inset: auto -65.0666vw 3.4375vw auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a01__img--2 {
    width: 23.9683333vw;
    inset: auto auto 3.4375vw 8.5938vw;
  }
}

.bg-a02 {
  position: relative;
  overflow: hidden;
}
.bg-a02__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a02__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a02__img--1 {
  width: 112vw;
  inset: -10.6667vw -54.4vw auto auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a02__img--1 {
    width: 31.25vw;
    inset: -4.375vw 1.8229vw auto auto;
  }
}
.bg-a02__img--2 {
  width: 152.7144vw;
  inset: 115.4667vw auto auto -66.9333vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a02__img--2 {
    width: 39.5833vw;
    inset: auto auto 10.2604vw -1.6667vw;
  }
}

.bg-a03 {
  position: relative;
  overflow: hidden;
}
.bg-a03__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a03__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a03__img--1 {
  width: 106.6667vw;
  inset: -21.3333vw auto auto -0.152vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a03__img--1 {
    width: 48.9vw;
    inset: -12.9117vw auto auto -6.9791vw;
  }
}
.bg-a03__img--2 {
  width: 106.6667vw;
  inset: auto -0.152vw -21.3333vw auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a03__img--2 {
    width: 48.9vw;
    inset: auto -7.65625vw -27.8125vw auto;
  }
}

.bg-a04 {
  position: relative;
  overflow: hidden;
}
.bg-a04__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a04__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a04__img--1 {
  width: 112vw;
  inset: -10.6667vw -54.4vw auto auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a04__img--1 {
    width: 31.25vw;
    inset: -4.375vw 1.8229vw auto auto;
  }
}
.bg-a04__img--2 {
  width: 152.7144vw;
  inset: 115.4667vw auto auto -66.9333vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a04__img--2 {
    width: 39.5833vw;
    inset: auto auto -2.5vw -1.6667vw;
  }
}

.bg-a05 {
  position: relative;
  overflow: hidden;
}
.bg-a05__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: linear-gradient(var(--color-bg-red), var(--color-bg-red)) no-repeat top left/100% 40rem;
}
@media (min-width: 768px) {
  .bg-a05__inner {
    background-size: 100% 80rem;
  }
}
.bg-a05__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a05__img--1 {
  width: 112vw;
  inset: -10.6667vw -54.4vw auto auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a05__img--1 {
    width: 31.25vw;
    inset: -4.375vw 1.8229vw auto auto;
  }
}
.bg-a05__img--2 {
  width: 152.7144vw;
  inset: calc(40rem - 90.6667vw) auto auto -66.6667vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a05__img--2 {
    width: 39.5833vw;
    inset: calc(80rem - 33.0729vw) auto auto -4.1667vw;
  }
}

.bg-a06 {
  position: relative;
  overflow: hidden;
}
.bg-a06__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 80rem;
  inset: 0 auto auto 0;
  background: var(--color-bg-blue) url(../img/pages/sdgs/sdgs-bg-sp.png) no-repeat center bottom/100% auto;
}
@media (min-width: 768px) {
  .bg-a06__inner {
    height: 90rem;
    background-image: url(../img/pages/sdgs/sdgs-bg.png);
    background-position: top right;
    background-size: auto 100%;
  }
}
.bg-a06__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a06__img--1 {
  width: 112vw;
  inset: -10.6667vw -54.4vw auto auto;
  background: var(--color-bgef-blue);
}
@media (min-width: 768px) {
  .bg-a06__img--1 {
    width: 31.25vw;
    inset: -4.7917vw 1.8229vw auto auto;
  }
}
.bg-a06__img--2 {
  width: 144vw;
  inset: 47.4667vw auto auto -66.6667vw;
  background: var(--color-bgef-blue);
}
@media (min-width: 768px) {
  .bg-a06__img--2 {
    width: 42.7083vw;
    inset: 8.59375vw auto auto -4.1667vw;
  }
}

.bg-a07 {
  position: relative;
  overflow: hidden;
}
.bg-a07__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a07__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a07__img--1 {
  width: 106.6667vw;
  inset: -27.2vw auto auto -15.2vw;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a07__img--1 {
    width: 48.9583vw;
    inset: -12.9167vw auto auto -6.9791vw;
  }
}
.bg-a07__img--2 {
  width: 106.6667vw;
  inset: auto -15.2vw -19.25vw auto;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a07__img--2 {
    width: 48.9583vw;
    inset: auto -9.0625vw -14.427vw auto;
  }
}

.bg-a08 {
  position: relative;
  overflow: hidden;
}
.bg-a08__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a08__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(30px);
}
@media (min-width: 768px) {
  .bg-a08__img {
    filter: blur(150px);
  }
}
.bg-a08__img {
  z-index: 1;
}
.bg-a08__img--1 {
  width: 106.6667vw;
  inset: -27.2vw auto auto -15.2vw;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a08__img--1 {
    width: 48.9583vw;
    inset: -12.9167vw auto auto -6.9791vw;
  }
}
.bg-a08__img--2 {
  width: 106.6667vw;
  inset: auto -15.2vw -19.25vw auto;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a08__img--2 {
    width: 48.9583vw;
    inset: auto -9.0625vw -21.875vw auto;
  }
}

.bg-a09 {
  overflow: hidden;
}
.bg-a09__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a09__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a09__img--1 {
  width: 106.6667vw;
  inset: -21.3333vw auto auto -15.2vw;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a09__img--1 {
    width: 48.9583vw;
    inset: -12.9167vw auto auto -6.9792vw;
  }
}
.bg-a09__img--2 {
  width: 106.6667vw;
  inset: auto -15.2vw -21.3333vw auto;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a09__img--2 {
    width: 48.9583vw;
    inset: auto -9.0625vw -23.802vw auto;
  }
}

.bg-a10 {
  overflow: hidden;
}
.bg-a10__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a10__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a10__img--1 {
  width: 71.4667vw;
  inset: -10.9333vw auto auto -14.9333vw;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a10__img--1 {
    width: 31.25vw;
    inset: -11.25vw auto auto 0;
  }
}
.bg-a10__img--2 {
  width: 90.9333vw;
  inset: 65.0667vw -33.0667vw auto auto;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a10__img--2 {
    width: 39.5833vw;
    inset: 12.0833vw 0 auto auto;
  }
}

.bg-a11 {
  position: relative;
  overflow: hidden;
}
.bg-a11__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
  background: var(--color-bg-red);
}
.bg-a11__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
}
.bg-a11__img--1 {
  width: 71.4667vw;
  inset: -10.9333vw auto auto -14.9333vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a11__img--1 {
    width: 31.25vw;
    inset: -11.25vw auto auto 0;
  }
}
.bg-a11__img--2 {
  width: 90.9333vw;
  inset: 65.0667vw -33.0667vw auto auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a11__img--2 {
    width: 39.5833vw;
    inset: 20.4166vw 0 auto auto;
  }
}

.bg-a12 {
  position: relative;
  z-index: 1;
  overflow-x: hidden;
  background: url("../img/pages/salon-grace/grace-bg.png") no-repeat top right -19.2vw/100vw auto;
}
@media (min-width: 768px) {
  .bg-a12 {
    background-position: top right;
    background-size: auto 100%;
  }
}
.bg-a12__inner {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0 auto auto 0;
}
.bg-a12__img {
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  filter: blur(30px);
  z-index: 2;
}
@media (min-width: 768px) {
  .bg-a12__img {
    filter: blur(60px);
  }
}
.bg-a12__img--1 {
  width: 90.9333vw;
  inset: -8.26vw auto auto -40vw;
  background: var(--color-bgef-orange);
}
@media (min-width: 768px) {
  .bg-a12__img--1 {
    width: 48.9583vw;
    inset: auto auto 4.0104vw -6.40625vw;
    max-width: 940px;
  }
}
.bg-a12__img--2 {
  width: 71.4667vw;
  inset: -4.26667vw -4.26667vw auto auto;
  background: var(--color-bgef-pink);
}
@media (min-width: 768px) {
  .bg-a12__img--2 {
    width: 39.5833vw;
    inset: -13.28125vw 28.6458vw auto auto;
  }
}

.l-special {
  padding: 8rem 0 8rem;
}
@media (min-width: 768px) {
  .l-special {
    padding: 20rem 0 16rem;
  }
}
.l-special__content2 {
  margin-top: 12rem;
}
@media (min-width: 768px) {
  .l-special__content2 {
    margin-top: 20rem;
  }
}
.l-special__content3 {
  margin-top: 12rem;
}
@media (min-width: 768px) {
  .l-special__content3 {
    margin-top: 20rem;
  }
}
.l-special__content4 {
  margin-top: 12rem;
}
@media (min-width: 768px) {
  .l-special__content4 {
    margin-top: 20rem;
  }
}

.p-special01 {
  position: relative;
  overflow: hidden;
  z-index: 2;
  padding: 19.2vw 0 8rem;
  background: linear-gradient(var(--color-sp-bg-1), var(--color-sp-bg-1)) no-repeat bottom center/100% calc(100% - 11.2vw);
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special01 {
    padding-top: 6rem;
  }
}
@media (min-width: 1344px) {
  .p-special01 {
    padding: 10.5729vw 0 7.5vw calc(50% - 6.25vw);
    background-size: 100% calc(100% - 6.3021vw);
  }
}
.p-special01__bg {
  width: 100%;
  height: calc(100% - 11.2vw);
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-special01__bg {
    height: calc(100% - 6.3021vw);
  }
}
.p-special01__bg {
  position: absolute;
  z-index: 1;
  inset: auto auto 0 0;
}
.p-special01__bg:before {
  content: "";
  width: 125.3333vw;
  inset: 8vw auto auto -14.9333vw;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-1);
}
@media (min-width: 1344px) {
  .p-special01__bg:before {
    width: 48.9583vw;
    inset: 4.8437vw -9.0625vw auto auto;
  }
}
.p-special01 img {
  display: block;
  width: 100%;
  height: auto;
}
.p-special01__main-img {
  display: block;
  width: 82.9333vw;
  position: absolute;
  z-index: 2;
  inset: 0 auto auto 0;
}
@media (max-width: 1343px) {
  .p-special01__main-img {
    max-width: 600px;
  }
}
@media (min-width: 1344px) {
  .p-special01__main-img {
    width: 37.5vw;
  }
}
.p-special01__bg-wrap {
  width: 100%;
  position: relative;
  z-index: 2;
  height: 125.3333vw;
  margin-left: auto;
}
@media (max-width: 1343px) {
  .p-special01__bg-wrap {
    max-width: 400px;
    max-height: 470px;
  }
}
@media (min-width: 1344px) {
  .p-special01__bg-wrap {
    width: 37.6042vw;
    position: absolute;
    height: 65.2604vw;
    inset: 0 0 auto auto;
  }
}
.p-special01__bg1 {
  display: block;
  width: 56.2667vw;
  position: absolute;
  z-index: 3;
  inset: 0 0 auto auto;
}
@media (max-width: 1343px) {
  .p-special01__bg1 {
    max-width: 400px;
  }
}
@media (min-width: 1344px) {
  .p-special01__bg1 {
    width: 25.5208vw;
  }
}
.p-special01__bg2 {
  display: block;
  width: 62.9333vw;
  position: absolute;
  inset: 32.5333% 32.5333% auto auto;
  z-index: 3;
}
@media (max-width: 1343px) {
  .p-special01__bg2 {
    max-width: 420px;
  }
}
@media (min-width: 1344px) {
  .p-special01__bg2 {
    width: 28.75vw;
    inset: auto auto 0 0;
  }
}
.p-special01__main {
  position: relative;
  z-index: 3;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special01__main {
    margin-inline: auto;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special01__sp-wrap-outer {
    max-width: 550px;
    margin-inline: auto;
  }
}
.p-special01__sp-wrap {
  display: flex;
  gap: 7px;
  padding: 19.4667% 8.5333% 0 22.1333%;
  position: relative;
  margin-top: 17.0667%;
  z-index: 2;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special01__sp-wrap {
    margin-top: 4rem;
  }
}
@media (min-width: 1344px) {
  .p-special01__sp-wrap {
    gap: 0.4rem;
    width: 26.6667vw;
    height: 39.4792vw;
    margin: 0;
    padding: 6.1458vw 0 0 1.4583vw;
    position: absolute;
    inset: 34.1667vw auto auto 9.1667vw;
  }
}
.p-special01__sp-wrap:before {
  content: "";
  width: 160vw;
  inset: -20vw auto auto -38.4vw;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-1);
}
@media (min-width: 1344px) {
  .p-special01__sp-wrap:before {
    width: 46.875vw;
    inset: -2.6042vw auto auto -6.25vw;
  }
}
.p-special01__text1 {
  width: 80.2667%;
  position: absolute;
  z-index: 3;
  inset: 0 auto auto 8.5333%;
}
@media (min-width: 1344px) {
  .p-special01__text1 {
    width: 19.7917vw;
    inset: 0 auto auto 0;
  }
}
.p-special01__sp1 {
  display: block;
  z-index: 3;
  width: 56.1265%;
}
@media (min-width: 1344px) {
  .p-special01__sp1 {
    width: 12.9688vw;
  }
}
.p-special01__sp2 {
  display: block;
  z-index: 3;
  width: 43.8735%;
}
@media (min-width: 1344px) {
  .p-special01__sp2 {
    width: 10.1563vw;
  }
}

.p-special-main {
  padding-inline: 8.5333%;
}
@media (min-width: 768px) {
  .p-special-main {
    max-width: 68rem;
    padding-inline: 0;
  }
}
.p-special-main__text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-special-main__text {
    margin-top: 8rem;
  }
}
.p-special-main__detail {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-special-main__detail {
    margin-top: 8rem;
  }
}
.p-special-main__btn {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-special-main__btn {
    margin-top: 8rem;
  }
}

.p-special02 {
  position: relative;
  overflow: hidden;
  padding: 65.6vw 0 8rem;
  background: linear-gradient(var(--color-sp-bg-2), var(--color-sp-bg-2)) no-repeat bottom center/100% calc(100% - 11.2vw);
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special02 {
    padding-top: 42rem;
  }
}
@media (min-width: 1344px) {
  .p-special02 {
    padding: 10.5729vw calc(50% + 1.0417vw) 7.5vw 0;
    background-size: 100% calc(100% - 6.3021vw);
  }
}
.p-special02 img {
  display: block;
  width: 100%;
  height: auto;
}
.p-special02__main-img {
  display: block;
  width: 82.9333vw;
  position: absolute;
  inset: 0 0 auto auto;
}
@media (max-width: 1343px) {
  .p-special02__main-img {
    max-width: 600px;
  }
}
@media (min-width: 1344px) {
  .p-special02__main-img {
    width: 37.5vw;
    position: absolute;
    inset: 0 0 auto auto;
  }
}
.p-special02__main {
  position: relative;
  z-index: 3;
  max-width: 72rem;
  padding-left: 4rem;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special02__main {
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .p-special02__main {
    margin-left: auto;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special02__sp-wrap-outer {
    max-width: 550px;
    margin-inline: auto;
  }
}
.p-special02__sp-wrap {
  padding: 18.9333% 0 0;
  position: relative;
  margin-top: 17.0667%;
  z-index: 2;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special02__sp-wrap {
    margin-top: 4rem;
  }
}
@media (min-width: 1344px) {
  .p-special02__sp-wrap {
    width: 36.9792vw;
    height: 34.8958vw;
    position: absolute;
    inset: 31.875vw 6.4583vw auto auto;
    margin-top: 0;
  }
}
.p-special02__sp-wrap:before {
  content: "";
  width: 160vw;
  inset: -18.4vw auto auto -29.8667vw;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-2);
}
@media (min-width: 1344px) {
  .p-special02__sp-wrap:before {
    width: 46.875vw;
    inset: 1.3021vw -5.2083vw auto auto;
  }
}
.p-special02__text1 {
  width: 85.8667%;
  position: absolute;
  z-index: 3;
  inset: 0 auto auto 7.2%;
}
@media (min-width: 1344px) {
  .p-special02__text1 {
    width: 21.875vw;
    inset: 0 0 auto auto;
    transform: translateY(24%) rotate(11.48deg);
  }
}
.p-special02__sp1 {
  position: relative;
  display: block;
  z-index: 3;
}
@media (min-width: 1344px) {
  .p-special02__sp1 {
    position: absolute;
    width: 36.4583vw;
    inset: auto auto 0 0;
  }
}

.c-special-text__text {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .c-special-text__text {
    margin-top: 6.4rem;
  }
}
.c-special-text__text p + p {
  margin-top: 2.4rem;
}

.c-special-detail {
  border: 1px solid var(--color-primary);
  padding: 2.4rem;
}
@media (min-width: 768px) {
  .c-special-detail {
    padding: 3.6rem 4rem;
  }
}
.c-special-btn {
  background: var(--color-wh);
  padding: 0 2.4rem 2.4rem;
}
@media (min-width: 768px) {
  .c-special-btn {
    padding: 1.6rem 4rem 4rem;
  }
}

.p-special03 {
  position: relative;
  overflow: hidden;
  z-index: 2;
  padding: 24.5333vw 0 8rem;
  background: linear-gradient(var(--color-sp-bg-3), var(--color-sp-bg-3)) no-repeat bottom center/100% calc(100% - 11.2vw);
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special03 {
    padding-top: 8rem;
  }
}
@media (min-width: 1344px) {
  .p-special03 {
    padding: 10.5729vw 0 7.5vw calc(50% - 6.25vw);
    background-size: 100% calc(100% - 6.3021vw);
  }
}
.p-special03__bg {
  width: 100%;
  height: calc(100% - 11.2vw);
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-special03__bg {
    height: calc(100% - 6.3021vw);
  }
}
.p-special03__bg {
  position: absolute;
  z-index: 1;
  inset: auto auto 0 0;
}
.p-special03__bg:before {
  content: "";
  width: 125.3333vw;
  inset: 37.3333vw -33.8667vw auto auto;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-3);
}
@media (min-width: 1344px) {
  .p-special03__bg:before {
    width: 48.9583vw;
    inset: -3.3333vw 1.8229vw auto auto;
  }
}
.p-special03 img {
  display: block;
  width: 100%;
  height: auto;
}
.p-special03__main-img {
  display: block;
  width: 82.9333vw;
  position: absolute;
  z-index: 2;
  inset: 0 auto auto 0;
}
@media (max-width: 1343px) {
  .p-special03__main-img {
    max-width: 600px;
  }
}
@media (min-width: 1344px) {
  .p-special03__main-img {
    width: 37.5vw;
  }
}
.p-special03__bg-wrap {
  width: 100%;
  position: relative;
  height: 80vw;
  z-index: 3;
}
@media (max-width: 1343px) {
  .p-special03__bg-wrap {
    height: 80rem;
  }
}
@media (min-width: 1344px) {
  .p-special03__bg-wrap {
    width: 14.5833vw;
    height: 31.3021vw;
    position: absolute;
    inset: 4.2188vw 10.3125vw auto auto;
  }
}
.p-special03__bg1 {
  display: block;
  width: 37.3333vw;
  position: absolute;
  inset: 0 3.4667vw auto auto;
  z-index: 3;
}
@media (min-width: 1344px) {
  .p-special03__bg1 {
    width: 100%;
    position: inherit;
  }
}
.p-special03__main {
  position: relative;
  z-index: 4;
}
@media (max-width: 1343px) {
  .p-special03__main {
    margin-top: -60rem;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special03__main {
    margin-inline: auto;
    margin-top: -40rem;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special03__sp-wrap-outer {
    max-width: 550px;
    margin-inline: auto;
  }
}
.p-special03__sp-wrap {
  padding: 18.1333% 8.5333% 0 16.8%;
  position: relative;
  z-index: 2;
  margin-top: 17.0667%;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special03__sp-wrap {
    margin-top: 4rem;
  }
}
@media (min-width: 1344px) {
  .p-special03__sp-wrap {
    width: 26.7708vw;
    height: 39.8958vw;
    padding: 0;
    position: absolute;
    inset: 31.25vw 0 0 9.5833vw;
    margin-top: 0;
  }
}
.p-special03__sp-wrap:before {
  content: "";
  width: 160%;
  inset: -9.8667% auto auto -38.4%;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-3);
}
@media (min-width: 1344px) {
  .p-special03__sp-wrap:before {
    width: 46.875vw;
    inset: 3.9583vw auto auto -10.8333vw;
  }
}
.p-special03__text1 {
  width: 69.3333%;
  inset: 0 auto auto 8.5333%;
  position: absolute;
  z-index: 3;
}
@media (min-width: 1344px) {
  .p-special03__text1 {
    width: 17.1875vw;
    inset: 0 auto auto 0;
  }
}
.p-special03__sp1 {
  display: block;
  width: 100%;
  position: relative;
  z-index: 3;
}
@media (min-width: 1344px) {
  .p-special03__sp1 {
    width: 24.4792vw;
    position: absolute;
    inset: auto 0 0 auto;
  }
}

.p-special04 {
  position: relative;
  overflow: hidden;
  z-index: 2;
  padding: 62.4vw 0 8rem;
  background: linear-gradient(var(--color-sp-bg-4), var(--color-sp-bg-4)) no-repeat bottom center/100% calc(100% - 11.2vw);
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special04 {
    padding-top: 42rem;
  }
}
@media (min-width: 1344px) {
  .p-special04 {
    padding: 10.5729vw 0 7.5vw calc(50% - 22.9167vw);
    background-size: 100% calc(100% - 6.3021vw);
  }
}
.p-special04:before {
  content: "";
  z-index: 1;
  width: 125.3333vw;
  inset: 48.5333vw -33.8667vw auto auto;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-4);
}
@media (max-width: 1343px) {
  .p-special04:before {
    max-width: 600px;
  }
}
@media (min-width: 1344px) {
  .p-special04:before {
    width: 46.875vw;
    inset: 28.2292vw -6.8229vw auto auto;
  }
}
.p-special04 img {
  display: block;
  width: 100%;
  height: auto;
}
.p-special04__main-img {
  display: block;
  width: 82.9333vw;
  position: absolute;
  z-index: 2;
  inset: 0 0 auto auto;
}
@media (max-width: 1343px) {
  .p-special04__main-img {
    max-width: 600px;
  }
}
@media (min-width: 1344px) {
  .p-special04__main-img {
    width: 37.5vw;
    position: absolute;
    inset: 0 0 auto auto;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special04__sp-wrap-outer {
    max-width: 550px;
    margin-left: auto;
  }
}
.p-special04__sp-wrap {
  padding: 9.6% 8.8% 0 8.5333%;
  position: relative;
  z-index: 2;
}
@media (min-width: 1344px) {
  .p-special04__sp-wrap {
    padding: 0;
    position: absolute;
    inset: 28.75vw 2.4479vw auto auto;
    width: 39.0625vw;
    height: 33.5417vw;
  }
}
.p-special04__text1 {
  width: 80.2667%;
  position: absolute;
  inset: 0 auto auto 8.5333%;
}
@media (min-width: 1344px) {
  .p-special04__text1 {
    width: 18.9583vw;
    inset: 5.2083vw auto auto 0;
  }
}
.p-special04__sp1 {
  display: block;
  width: 51.2%;
  width: 70.6667%;
  margin-left: 14.4%;
}
@media (min-width: 1344px) {
  .p-special04__sp1 {
    width: 16.5625vw;
    position: absolute;
    inset: 8.9583vw auto auto 2.0833vw;
    margin-left: 0;
  }
}
.p-special04__sp2 {
  display: block;
  width: 70.6667%;
  margin-left: 29.3333%;
  margin-top: -9.6%;
}
@media (min-width: 1344px) {
  .p-special04__sp2 {
    width: 21.875vw;
    position: absolute;
    inset: 0 0 auto auto;
    margin: 0;
  }
}
.p-special04__main {
  position: relative;
  z-index: 3;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special04__main {
    margin-inline: auto;
  }
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special04__main {
    margin-top: -20rem;
  }
}
.p-special04__bg-wrap {
  position: relative;
  z-index: 2;
  height: 121.6vw;
  width: 76vw;
  padding-inline: 12vw;
  margin-inline: auto;
  margin-top: 17.0667vw;
}
@media (min-width: 640px) and (max-width: 1343px) {
  .p-special04__bg-wrap {
    max-width: 400px;
    height: 640px;
    margin-top: 4rem;
  }
}
@media (min-width: 1344px) {
  .p-special04__bg-wrap {
    width: 18.125vw;
    height: 54.375vw;
    position: absolute;
    padding: 0;
    margin-top: 0;
    inset: 4.2708vw auto auto 4.2708vw;
  }
}
.p-special04__bg-wrap:before {
  content: "";
  width: 160%;
  inset: -30.6667% auto auto -41.8667%;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  display: block;
  position: absolute;
  filter: blur(150px);
  z-index: 1;
  background: var(--color-sp-bgef-4);
}
@media (min-width: 1344px) {
  .p-special04__bg-wrap:before {
    width: 46.875vw;
    inset: 8.125vw auto auto -19.1146vw;
  }
}
.p-special04__bg1 {
  display: block;
  width: 45%;
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 3;
}
@media (min-width: 1344px) {
  .p-special04__bg1 {
    width: 10.4167vw;
  }
}
.p-special04__bg2 {
  display: block;
  width: 42.1%;
  position: absolute;
  z-index: 3;
  inset: auto 0 0 auto;
}
@media (min-width: 1344px) {
  .p-special04__bg2 {
    width: 9.8958vw;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.c-slide-2 {
  width: 100%;
  overflow: hidden;
}
.c-slide-2__wrap {
  display: flex;
  justify-content: flex-start;
}
.c-slide-2__list {
  display: flex;
  white-space: nowrap;
  padding: 0;
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
  flex-shrink: 0;
}
.c-slide-2__item {
  flex-shrink: 0;
}

.c-slide-2-item {
  width: 24rem;
}
@media (min-width: 768px) {
  .c-slide-2-item {
    width: 48rem;
  }
}
.c-slide-2-item__img {
  width: 100%;
}
.c-slide-2-item__img > img {
  width: 100%;
}

.l-single {
  margin-top: 8rem;
  padding-bottom: 11.3rem;
}
@media (min-width: 768px) {
  .l-single {
    margin-top: 16rem;
    background-size: 100% 28rem;
    padding-bottom: 16rem;
  }
}
.l-single__inner {
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-single__inner {
    padding-inline: 0;
  }
}
.l-single__heading {
  padding-inline: 8.53333%;
  background: var(--color-bg-red);
  padding-block: 2.4rem;
}
@media (min-width: 768px) {
  .l-single__heading {
    padding-block: 4rem;
  }
}
.l-single__heading-inner {
  max-width: 880px;
  margin-inline: auto;
}
.l-single__img {
  margin-top: 0.8rem;
}
.l-single__date {
  margin-top: 0.8rem;
}
.l-single__article {
  max-width: 880px;
  margin-inline: auto;
  padding: 2.4rem 8.53333% 0;
  background: #FFF;
}
@media (min-width: 768px) {
  .l-single__article {
    padding: 4rem 4rem 0;
  }
}

.c-single-detail > :first-child {
  margin-top: 0;
}
.c-single-detail > :last-child {
  margin-bottom: 0;
}
.c-single-detail h2,
.c-single-detail h3,
.c-single-detail h4,
.c-single-detail h5,
.c-single-detail h6 {
  margin-top: 3.2rem;
}
@media (min-width: 768px) {
  .c-single-detail h2,
  .c-single-detail h3,
  .c-single-detail h4,
  .c-single-detail h5,
  .c-single-detail h6 {
    margin-top: 4.8rem;
  }
}
.c-single-detail h2,
.c-single-detail h3,
.c-single-detail h4,
.c-single-detail h5,
.c-single-detail h6 {
  font-weight: bold;
}
.c-single-detail h2 {
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .c-single-detail h2 {
    font-size: 4rem;
  }
}
.c-single-detail h3 {
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .c-single-detail h3 {
    font-size: 3.2rem;
  }
}
.c-single-detail h4 {
  font-size: 2rem;
}
@media (min-width: 768px) {
  .c-single-detail h4 {
    font-size: 2.4rem;
  }
}
.c-single-detail h5 {
  font-size: 1.8rem;
}
.c-single-detail h6 {
  font-size: 1.6rem;
}
.c-single-detail p {
  margin-top: 2rem;
}
.c-single-detail p a {
  text-decoration: underline;
}
.c-single-detail p + p {
  margin-top: 1.2rem;
}
.c-single-detail ul,
.c-single-detail ol {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .c-single-detail ul,
  .c-single-detail ol {
    margin-top: 4rem;
  }
}
.c-single-detail ul > li:not(:first-child),
.c-single-detail ol > li:not(:first-child) {
  margin-top: 0.8rem;
}
.c-single-detail ul > li a,
.c-single-detail ol > li a {
  text-decoration: underline;
}
.c-single-detail figure,
.c-single-detail .wp-block-media-text {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .c-single-detail figure,
  .c-single-detail .wp-block-media-text {
    margin-top: 4rem;
  }
}

.c-detail-area p + p,
.c-detail-area p + ul {
  margin-top: 2em;
}
.c-detail-area ul + p,
.c-detail-area ul + ul {
  margin-top: 2em;
}

.l-single-back {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .l-single-back {
    margin-top: 8rem;
  }
}
.l-single-back__inner {
  padding: 0 8.5333%;
  max-width: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .l-single-back__inner {
    padding: 0;
  }
}
.l-single-back__inner {
  margin-inline: auto;
}
.l-single-back__inner a {
  display: inline-flex;
  gap: 1.2rem;
  width: auto;
  aspect-ratio: auto;
  padding: 0.4rem 0.8rem;
}
@media (min-width: 768px) {
  .l-single-back__inner a {
    padding: 0.6rem 1.6rem;
  }
}

.l-menu-dressing {
  padding-block: 4rem 0;
}
@media (min-width: 768px) {
  .l-menu-dressing {
    padding-block: 12rem 0;
  }
}
.l-menu-dressing__wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .l-menu-dressing__wrapper {
    margin-top: 12rem;
  }
}
.l-menu-dressing__price {
  width: 100%;
}
@media (min-width: 768px) {
  .l-menu-dressing__price {
    margin-top: 0;
  }
}
.l-menu-dressing__content1 {
  width: 100%;
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .l-menu-dressing__content1 {
    margin-top: 12rem;
  }
}
.l-menu-dressing__content2 {
  width: 100%;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .l-menu-dressing__content2 {
    margin-top: 4rem;
  }
}
.l-menu-dressing__content3 {
  width: 100%;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .l-menu-dressing__content3 {
    margin-top: 4rem;
  }
}

.c-d-menus {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (min-width: 768px) {
  .c-d-menus {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4rem;
  }
}
@media (min-width: 768px) {
  .c-d-menus > li {
    width: calc(50% - 2rem);
  }
}

.c-d-menu {
  display: block;
  transition: opacity 0.2s ease;
}
.c-d-menu:hover {
  opacity: 0.6;
}
.c-d-menu__img {
  width: 100%;
  aspect-ratio: 311/161;
}
.c-d-menu__img > img {
  width: 100%;
  height: 100%;
  object-fit: contatin;
}

.l-cont-1 {
  padding-inline: 8.5333%;
  max-width: 1480px;
}
@media (min-width: 768px) {
  .l-cont-1 {
    padding-inline: 40px;
    margin-inline: auto;
  }
}

.c-preparation__summary {
  position: relative;
}
@media (min-width: 768px) {
  .c-preparation__summary {
    padding-inline: 18.2rem !important;
  }
}
.c-preparation__ico {
  width: 3.2rem;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 1.6rem 1.6rem auto auto;
  background: var(--color-wh);
  border-radius: 9999px;
}
@media (min-width: 768px) {
  .c-preparation__ico {
    width: 5.2rem;
    inset: 0 4rem 0 auto;
    margin-block: auto;
  }
}
@media (min-width: 1240px) {
  .c-preparation__ico {
    inset: 0 8rem 0 auto;
  }
}
.c-preparation__ico:before, .c-preparation__ico:after {
  content: "";
  display: block;
  width: 1.6rem;
  aspect-ratio: 1/1;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  inset: 0;
  margin: auto;
}
@media (min-width: 768px) {
  .c-preparation__ico:before, .c-preparation__ico:after {
    width: 2.4rem;
  }
}
.c-preparation__ico:before, .c-preparation__ico:after {
  mask-image: linear-gradient(var(--color-black), var(--color-black));
  background-color: var(--color-primary);
  mask-size: 100% 1px;
}
.c-preparation__ico:after {
  transition: transform 0.2s ease;
  transform: rotate(90deg);
}
[open] .c-preparation__ico:after {
  transform: rotate(0deg);
}

.c-preparation__arrow {
  width: 3.2rem;
  aspect-ratio: 1/1;
  position: absolute;
  inset: 1.6rem 1.6rem auto auto;
  background: var(--color-wh);
  border-radius: 9999px;
}
@media (min-width: 768px) {
  .c-preparation__arrow {
    width: 5.2rem;
    inset: 0 4rem 0 auto;
    margin-block: auto;
  }
}
@media (min-width: 1240px) {
  .c-preparation__arrow {
    inset: 0 8rem 0 auto;
  }
}
.c-preparation__arrow:before {
  content: "";
  width: 1.6rem;
  height: 1.2rem;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
  --mask1-img: url("../img/components/ico/ico-arrow.svg");
  mask-image: var(--mask1-img);
  position: absolute;
  inset: 0;
  margin: auto;
}
.c-preparation__arrow--blue:before {
  background-color: var(--color-blue);
}
.c-preparation__arrow--green:before {
  background-color: var(--color-green);
}

.c-prep-heading {
  padding: 1.6rem 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.c-prep-heading--green {
  background: var(--color-green);
}
.c-prep-heading--blue {
  background: var(--color-blue);
}
.c-prep-heading--red {
  background: var(--color-primary);
}
@media (min-width: 768px) {
  .c-prep-heading {
    height: 24rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
  }
}
.c-prep-heading__img {
  display: flex;
  justify-content: center;
  width: 3.3rem;
  height: 4rem;
}
@media (min-width: 768px) {
  .c-prep-heading__img {
    width: 12rem;
    height: 14.5rem;
    position: absolute;
    inset: 0 auto 0 3.2rem;
    margin-block: auto;
  }
}
@media (min-width: 1240px) {
  .c-prep-heading__img {
    inset: 0 auto 0 10rem;
  }
}
.c-prep-heading__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 767px) {
  .c-prep-heading__img--payment {
    width: 4.5rem;
    height: 3.2rem;
  }
}
.c-prep-heading__content {
  display: contents;
}
@media (min-width: 768px) {
  .c-prep-heading__content {
    display: block;
  }
}
.c-prep-heading__title {
  margin-top: 0.5rem;
  text-align: center;
  color: var(--color-gr-z01);
}
.c-prep-heading__attention {
  margin-top: 1.2rem;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .c-prep-heading__attention {
    font-size: 2rem;
    line-height: 1.8;
  }
}
@media (min-width: 959px) {
  .c-prep-heading__attention .exbr {
    display: none;
  }
}

.c-prep-content {
  background: var(--color-bg-green);
  padding: 1.6rem;
}
.c-prep-content--blue {
  background: var(--color-bg-water);
}
.c-prep-content--red {
  background: var(--color-bg-red);
}
@media (min-width: 768px) {
  .c-prep-content {
    padding: 4rem;
  }
}
.c-prep-content__heading {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}
.c-prep-content__tag {
  flex: 0 0 auto;
}
.c-prep-content__title {
  flex: 1 1 auto;
}
.c-prep-content__tags {
  margin-top: 2.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-content__tags {
    gap: 2.4rem;
  }
}
.c-prep-content__details {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}
@media (min-width: 768px) {
  .c-prep-content__details {
    gap: 2.4rem;
  }
}
.c-prep-content__details-notes {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}
@media (min-width: 768px) {
  .c-prep-content__details-notes {
    gap: 2.4rem;
  }
}

.c-prep-note-list > li:not(:first-child) {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-note-list > li:not(:first-child) {
    margin-top: 2.4rem;
  }
}

.c-prep-note-item {
  background: var(--color-wh);
  padding: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-note-item {
    padding: 6.4rem;
  }
}
.c-prep-note-item__content {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-note-item__content {
    margin-top: 3.2rem;
  }
}
.c-prep-note-item__content > :first-child {
  margin-top: 0;
}
.c-prep-note-item__checklists {
  margin-top: 1.3rem;
}
@media (min-width: 768px) {
  .c-prep-note-item__checklists {
    margin-top: 2.4rem;
  }
}
.c-prep-note-item__buttons {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-note-item__buttons {
    margin-top: 2.4rem;
  }
}
.c-prep-note-item__attentions {
  margin-top: 1.3rem;
}
@media (min-width: 768px) {
  .c-prep-note-item__attentions {
    margin-top: 1.6rem;
  }
}
.c-prep-note-item__attentions > li:before {
  content: "※";
  color: var(--color-primary);
  display: inline-block;
}
.c-prep-note-item__table {
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .c-prep-note-item__table {
    margin-top: 3.2rem;
  }
}

.c-check-list-2 > li:not(:first-child) {
  margin-top: 3.2rem;
}

.c-check-item-2 {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .c-check-item-2 {
    margin-top: 1.6rem;
  }
}
.c-check-item-2 {
  background: url("../img/components/ico/ico-check.svg") no-repeat top 0.3rem left/1.4rem 1.2rem;
  padding: 0 0 0 2.2rem;
}
@media (min-width: 768px) {
  .c-check-item-2 {
    background-size: 2.4rem 2.1rem;
    padding: 0 0 0.4rem 4rem;
  }
}

.ff-eb {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.ff-ns {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.ff-sm {
  font-family: "Shippori Mincho", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.fc-primary {
  color: var(--color-primary);
}

.fc-wh {
  color: var(--color-wh);
}

.fc-yellow {
  color: var(--color-gr-z01);
}

/*# sourceMappingURL=style.css.map */
