@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  -moz-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

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

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

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

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

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

/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 only */
.clearfix {
  *zoom: 1;
}

div,
p {
  word-break: break-all;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
nav,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
}

html.open {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 1.42857vw;
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}

body {
  font-family: 'Zen Kaku Gothic Antique', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
  font-style: normal;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.875;
  color: #000000;
  background-color: #ffffff;
  word-break: normal;
  line-break: strict;
  font-weight: 400;
  letter-spacing: 0;
}

body.open {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 2.4rem;
    line-height: 1.667;
  }
}

body.theme-en {
  word-break: break-word;
}

body.theme-en div,
body.theme-en p {
  word-break: break-word;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

a:hover {
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.75;
  }
}

a:focus {
  outline: none;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

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

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

figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

figure img {
  max-width: 100%;
  height: auto;
}

input[type="submit"] {
  border: none;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

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

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
}

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

p + p {
  margin: 1em 0 0 0;
}

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

.text-bold {
  font-weight: 700;
}

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

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

.c-white {
  color: #fff;
}

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

.fit {
  font-family: "object-fit: cover;";
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.container {
  max-width: 121rem;
  padding: 0 1.5rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .container {
    padding: 0 7rem;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
  .show_sp {
    display: none !important;
  }
  .show_pc {
    display: inherit;
  }
  a[href^="tel"] {
    pointer-events: none;
    text-decoration: none;
    opacity: 1 !important;
    cursor: default !important;
  }
  #hambuger {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  body p {
    word-break: normal;
    line-break: strict;
  }
  .show_sp {
    display: inherit;
  }
  .show_pc {
    display: none !important;
  }
}

.mode-txt {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
}

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

@-webkit-keyframes shapeBlink {
  0% {
    opacity: 0.9;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.9;
  }
}

@keyframes shapeBlink {
  0% {
    opacity: 0.9;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.9;
  }
}

.c-shape-anim {
  -webkit-animation: shapeBlink 3s infinite ease-in-out;
  animation: shapeBlink 3s infinite ease-in-out;
  will-change: transform, opacity;
}

.anim-img {
  overflow: hidden;
}

.anim-img img {
  opacity: 0;
}

.anim-img.is-act img {
  -webkit-animation-name: zoomAnime;
  animation-name: zoomAnime;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 1;
}

.js-view,
[data-inview] {
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, filter, transform;
}

.js-view.is-view, .js-view.is-act, .js-view.is-play,
[data-inview].is-view,
[data-inview].is-act,
[data-inview].is-play {
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.js-view._left,
[data-inview]._left {
  -webkit-transform: translateX(-40px);
  transform: translateX(-40px);
}

.js-view._left.is-view, .js-view._left.is-act, .js-view._left.is-play,
[data-inview]._left.is-view,
[data-inview]._left.is-act,
[data-inview]._left.is-play {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.js-view._right,
[data-inview]._right {
  -webkit-transform: translateX(40px);
  transform: translateX(40px);
}

.js-view._right.is-view, .js-view._right.is-act, .js-view._right.is-play,
[data-inview]._right.is-view,
[data-inview]._right.is-act,
[data-inview]._right.is-play {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.js-view._fade,
[data-inview]._fade {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.js-img-view {
  overflow: hidden;
  position: relative;
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transform: scale(0.96);
  transform: scale(0.96);
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, filter, transform;
}

.js-img-view.is-view, .js-img-view.is-act, .js-img-view.is-play {
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
  -webkit-transform: scale(1);
  transform: scale(1);
}

[data-inview="slideInTop"],
[data-inview="slideInBottom"],
[data-inview="slideInLeft"],
[data-inview="slideInRight"] {
  opacity: 0;
  -webkit-filter: none;
  filter: none;
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-inview="slideInTop"].is-view, [data-inview="slideInTop"].is-act, [data-inview="slideInTop"].is-play,
[data-inview="slideInBottom"].is-view,
[data-inview="slideInBottom"].is-act,
[data-inview="slideInBottom"].is-play,
[data-inview="slideInLeft"].is-view,
[data-inview="slideInLeft"].is-act,
[data-inview="slideInLeft"].is-play,
[data-inview="slideInRight"].is-view,
[data-inview="slideInRight"].is-act,
[data-inview="slideInRight"].is-play {
  opacity: 1;
  -webkit-filter: none;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

[data-inview="slideInTop"] {
  -webkit-transform: translate3d(0, 8rem, 0);
  transform: translate3d(0, 8rem, 0);
}

@media screen and (max-width: 768px) {
  [data-inview="slideInTop"] {
    -webkit-transform: translate3d(0, 5rem, 0);
    transform: translate3d(0, 5rem, 0);
  }
}

[data-inview="slideInBottom"] {
  -webkit-transform: translate3d(0, -8rem, 0);
  transform: translate3d(0, -8rem, 0);
}

@media screen and (max-width: 768px) {
  [data-inview="slideInBottom"] {
    -webkit-transform: translate3d(0, -5rem, 0);
    transform: translate3d(0, -5rem, 0);
  }
}

[data-inview="slideInLeft"] {
  -webkit-transform: translate3d(8rem, 0, 0);
  transform: translate3d(8rem, 0, 0);
}

@media screen and (max-width: 768px) {
  [data-inview="slideInLeft"] {
    -webkit-transform: translate3d(5rem, 0, 0);
    transform: translate3d(5rem, 0, 0);
  }
}

[data-inview="slideInRight"] {
  -webkit-transform: translate3d(-8rem, 0, 0);
  transform: translate3d(-8rem, 0, 0);
}

@media screen and (max-width: 768px) {
  [data-inview="slideInRight"] {
    -webkit-transform: translate3d(-5rem, 0, 0);
    transform: translate3d(-5rem, 0, 0);
  }
}

.js-parallax-wrap,
[data-parallax-wrap] {
  overflow: hidden;
  position: relative;
}

.js-parallax-wrap img,
.js-parallax-wrap picture > img,
.js-parallax-wrap .js-parallax,
.js-parallax-wrap [data-parallax],
[data-parallax-wrap] img,
[data-parallax-wrap] picture > img,
[data-parallax-wrap] .js-parallax,
[data-parallax-wrap] [data-parallax] {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.js-parallax,
[data-parallax] {
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.parallax {
  position: relative;
}

.parallax img {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  will-change: transform;
}

.hover-img {
  overflow: hidden;
}

.hover-img img {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.hover:hover .hover-img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

@-webkit-keyframes upDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
    transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes upDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
    transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes yurayura {
  0%,
  100% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
}

@keyframes yurayura {
  0%,
  100% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
}

.p-wrapper {
  overflow: clip;
}

.c-post-content .container {
  max-width: 92rem;
}

.c-post-content h2 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 4.8rem;
  position: relative;
  padding-left: 3.8rem;
}

.c-post-content h2:not(:first-child) {
  margin-top: 9rem;
}

@media screen and (max-width: 768px) {
  .c-post-content h2 {
    font-size: 3rem;
    line-height: calc(58/30);
    margin-bottom: 7rem;
    padding-left: 5.4rem;
  }
  .c-post-content h2:not(:first-child) {
    margin-top: 10rem;
  }
}

.c-post-content h2:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/case/detail/icon_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 1rem;
  left: 0;
}

@media screen and (max-width: 768px) {
  .c-post-content h2:before {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.7rem;
  }
}

.c-post-content p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .c-post-content p {
    line-height: calc(48/24);
  }
}

.c-post-content .wp-block-image {
  text-align: center;
  margin: 4rem 0;
}

.c-post-content img {
  display: inline-block;
  width: 100%;
  max-width: 70rem;
}

/** header area
====================================== **/
.page-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 50;
  padding: 3.1rem 4rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .page-header {
    padding: 3.8rem 4rem;
  }
}

.page-header.open {
  background-color: #fff;
}

.logo {
  width: 17.5rem;
  position: relative;
  z-index: 8;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
}

.logo img {
  margin: 0 auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.logo a {
  display: block;
  line-height: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .logo {
    width: 28rem;
  }
}

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 3rem;
}

.menu .menu-item_link {
  padding: 2rem 0;
}

@media screen and (max-width: 768px) {
  .menu .menu-item_link {
    padding: 3rem 0;
  }
}

.menu .menu-item_link .ja {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .menu .menu-item_link .ja {
    font-size: 2.8rem;
  }
}

.menu .menu-item_link .en {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .menu .menu-item_link .en {
    font-size: 2rem;
  }
}

.menu .menu-item_link:hover {
  color: #FD8AA6;
}

.menu .menu-sub .menu-sub_item a {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  padding: 1.6rem 0;
  border-bottom: 0.1rem solid #FFD1DC;
}

@media screen and (max-width: 768px) {
  .menu .menu-sub .menu-sub_item a {
    font-size: 2.4rem;
    padding: 3rem 0;
  }
}

.menu .menu-sub .menu-sub_item a .ico {
  top: 2.2rem;
}

@media screen and (max-width: 768px) {
  .menu .menu-sub .menu-sub_item a .ico {
    top: 4.1rem;
  }
}

.menu .menu-sub .menu-sub_item a:hover {
  color: #FD8AA6;
}

.menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 2rem;
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .menu-link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0 4rem;
    margin-top: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .menu-link .menu-link_itm {
    width: calc(50% - 2rem);
  }
}

.menu-link .menu-link_itm a {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  padding: 1rem 0;
  border-bottom: 0.1rem solid #B9B9B9;
}

.menu-link .menu-link_itm a:hover {
  color: #FD8AA6;
}

@media screen and (max-width: 768px) {
  .menu-link .menu-link_itm a {
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    padding: 2rem 0;
  }
}

.g-nav {
  position: fixed;
  top: 10rem;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-height: calc(100dvh - 10rem);
  overflow-y: auto;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background-color: #FFF7F9;
  padding-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row wrap;
  flex-direction: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 10rem;
  -moz-column-gap: 10rem;
  column-gap: 10rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

@media screen and (max-width: 768px) {
  .g-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 1rem 0;
    top: 13.6rem;
    bottom: 0;
    height: auto;
    min-height: calc(100dvh - 13.6rem);
    padding: 5.5rem 5rem calc(7rem + env(safe-area-inset-bottom, 0px));
  }
}

.g-nav.open {
  opacity: 1;
  visibility: visible;
  z-index: 9;
}

.g-nav .g-nav_col {
  width: 30rem;
}

@media screen and (max-width: 768px) {
  .g-nav .g-nav_col {
    width: 100%;
  }
  .g-nav .g-nav_col:nth-of-type(2) .menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 4rem;
  }
  .g-nav .g-nav_col:nth-of-type(2) .menu .menu-item {
    width: 100%;
  }
  .g-nav .g-nav_col:nth-of-type(2) .menu .menu-item:nth-child(4), .g-nav .g-nav_col:nth-of-type(2) .menu .menu-item:nth-child(5) {
    width: calc(50% - 2rem);
  }
  .g-nav .g-nav_col:nth-of-type(3) .menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 4rem;
  }
  .g-nav .g-nav_col:nth-of-type(3) .menu .menu-item {
    width: calc(50% - 2rem);
  }
}

.g-nav .g-nav_col a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
}

.g-nav .g-nav_col a.menu-item_link {
  padding-bottom: 2rem;
  border-bottom: 0.1rem solid #FFD1DC;
}

.g-nav .g-nav_col a .ico {
  position: absolute;
  right: 0;
  top: 3rem;
}

@media screen and (max-width: 768px) {
  .g-nav .g-nav_col a .ico {
    top: 4.1rem;
  }
}

.top .page-header {
  background-color: transparent;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.top .page-header .logo a {
  width: 100%;
  height: 3.8rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .top .page-header .logo a {
    height: 6rem;
  }
}

.top .page-header .logo a img {
  position: absolute;
  left: 0;
  top: 0;
  height: auto;
}

.top .page-header .logo a img.on {
  opacity: 1;
  visibility: visible;
}

.top .page-header .logo a img.off {
  opacity: 0;
  visibility: hidden;
}

.top .page-header #hambuger .icon svg line,
.top .page-header #hambuger .icon svg path {
  stroke: #FFFFFF;
}

.top .page-header #hambuger .txt {
  color: #FFFFFF;
}

.top .page-header.header-fixed {
  background-color: #fff;
}

.top .page-header.header-fixed .logo a img.on {
  opacity: 0;
  visibility: hidden;
}

.top .page-header.header-fixed .logo a img.off {
  opacity: 1;
  visibility: visible;
}

.top .page-header.header-fixed #hambuger .icon svg line,
.top .page-header.header-fixed #hambuger .icon svg path {
  stroke: #000;
}

.top .page-header.header-fixed #hambuger .txt {
  color: #000;
}

.top .page-header.open {
  background-color: #fff;
}

.top .page-header.open .logo a img.on {
  opacity: 0;
  visibility: hidden;
}

.top .page-header.open .logo a img.off {
  opacity: 1;
  visibility: visible;
}

.top .page-header.open #hambuger .icon svg line,
.top .page-header.open #hambuger .icon svg path {
  stroke: #000;
}

.top .page-header.open #hambuger .txt {
  color: #000;
}

/** footer
======================================= **/
.c-links-cta {
  display: block;
  background-color: #FD8AA6;
  border: 2rem solid #FFD1DC;
  color: #fff;
  padding: 18rem 7rem;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  position: relative;
  -webkit-transition: color 0.35s ease-out, border-color 0.35s ease-out;
  transition: color 0.35s ease-out, border-color 0.35s ease-out;
}

@media screen and (max-width: 768px) {
  .c-links-cta {
    padding: 6rem 7rem;
    border-width: 1.2rem;
  }
  .c-links-cta::after {
    position: absolute;
    content: '';
    width: 4rem;
    height: 0.1rem;
    background-color: #fff;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 5rem;
  }
}

.c-links-cta::before {
  position: absolute;
  content: '';
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 11rem;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 0.3rem solid #fff;
  background-color: transparent;
  -webkit-transition: background-color 0.35s ease-out;
  transition: background-color 0.35s ease-out;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .c-links-cta::before {
    width: 1.4rem;
    height: 1.4rem;
    border: none;
    background-color: #fff;
    right: 5rem;
  }
}

@media screen and (min-width: 769px) {
  .c-links-cta::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0.4))), url("../img/common/cta_hover.jpg");
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/common/cta_hover.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    -webkit-transition: opacity 0.35s ease-out;
    transition: opacity 0.35s ease-out;
    z-index: 1;
    pointer-events: none;
  }
  .c-links-cta:hover {
    opacity: 1;
    border-color: #FD8AA6;
  }
  .c-links-cta:hover::after {
    opacity: 1;
  }
  .c-links-cta:hover::before {
    background-color: #FD8AA6;
  }
}

.c-links-cta span {
  display: block;
  position: relative;
  z-index: 2;
}

.c-links-cta .c-links-cta_text {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .c-links-cta .c-links-cta_text {
    font-size: 2.8rem;
    line-height: calc(54/28);
    letter-spacing: 0.1em;
  }
}

.c-links-cta .c-links-cta_title {
  font-size: 3.6rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .c-links-cta .c-links-cta_title {
    font-size: 3.6rem;
    margin-top: 2rem;
  }
}

.page-footer {
  background: #FFFDF8;
  padding: 19rem 0 2.4rem;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .page-footer {
    padding: 14rem 0 6.6rem;
  }
}

@media screen and (min-width: 769px) {
  .page-footer::after {
    position: absolute;
    content: '';
    width: 120rem;
    height: 78.6rem;
    right: 0;
    bottom: 0;
    background: url("../img/common/footer_img.png") right bottom no-repeat;
    background-size: cover;
  }
}

.page-footer .container {
  position: relative;
  z-index: 2;
}

.footer-top {
  position: relative;
}

@media screen and (min-width: 769px) {
  .footer-top {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 769px) {
  .footer-title {
    position: absolute;
    right: calc(138/1400 * 100%);
    top: 13.2rem;
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .footer-title {
    width: 9.428rem;
    position: absolute;
    right: 3rem;
    top: -3rem;
    margin: 0;
  }
}

.footer-img {
  width: 66rem;
  margin-bottom: 6rem;
  margin-left: -16rem;
}

@media screen and (min-width: 769px) {
  .footer-img {
    display: none;
  }
}

.footer-logo {
  display: inline-block;
  width: 24rem;
}

@media screen and (max-width: 768px) {
  .footer-logo {
    width: 38rem;
  }
}

.footer-sub {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 2.5rem 0;
}

@media screen and (max-width: 768px) {
  .footer-sub {
    font-size: 2.6rem;
  }
}

.footer-txt {
  color: #707070;
}

.footer-phone {
  font-size: 2rem;
  font-weight: 400;
  line-height: calc(24/20);
  letter-spacing: 0.1em;
  margin-top: 1.5rem;
  color: #707070;
}

@media screen and (max-width: 768px) {
  .footer-phone {
    font-size: 2.8rem;
  }
}

.footer-policy {
  margin-top: 8.3rem;
}

.footer-policy a {
  display: inline-block;
  text-decoration: underline;
  color: #707070;
}

@media screen and (max-width: 768px) {
  .footer-policy {
    margin-top: 4rem;
  }
}

.footer-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 23rem;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 769px) {
  .footer-bottom {
    padding: 0 calc(50/1400 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .footer-bottom {
    margin-top: 6.6rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0 7rem;
  }
}

.sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.sns-list li {
  width: 4rem;
}

.sns-list li a {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .sns-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .sns-list li {
    width: 6rem;
  }
}

.copyright {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: calc(20/12);
  color: #fff;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .copyright {
    display: block;
    font-size: 2rem;
    margin-top: 2.7rem;
    color: #707070;
  }
}

.pagetop {
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 16rem;
  height: 20rem;
  cursor: pointer;
  overflow: hidden;
}

.pagetop.ab {
  display: block !important;
}

.pagetop_pc {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.pagetop_txt {
  position: absolute;
  left: 1.6rem;
  top: 15.6rem;
  z-index: 2;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #FD8AA6;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pagetop_clover {
  position: absolute;
  left: -7.24rem;
  top: 14.42rem;
  width: 26.6rem;
  height: 26.6rem;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pagetop_clover svg,
.pagetop_clover img {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 769px) {
  .pagetop:hover .pagetop_clover {
    -webkit-transform: translateY(-15.9rem);
    transform: translateY(-15.9rem);
  }
  .pagetop:hover .pagetop_txt {
    color: #FFFFFF;
  }
}

@media screen and (max-width: 768px) {
  .pagetop {
    width: 21.5rem;
    height: auto;
    left: auto;
    right: -2.2rem;
    bottom: -5rem;
    overflow: visible;
  }
}

/** header area
====================================== **/
.ico {
  width: 2.8rem;
  height: 1.2rem;
  display: inline-block;
  background-image: url("../img/common/ico.svg");
  background-repeat: repeat-x;
  background-position: left 0 center;
  background-size: 4.5rem 1.2rem;
  vertical-align: middle;
}

.ico._white {
  background-image: url("../img/common/ico_white.svg");
}

.ico._purple {
  background-image: url("../img/common/ico_purple.svg");
}

.ico._yellow {
  background-image: url("../img/common/ico_yellow.svg");
}

@media screen and (min-width: 769px) {
  a:hover .ico {
    -webkit-transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    background-position: left 4.5rem center;
  }
}

@media screen and (max-width: 768px) {
  .ico {
    width: 4rem;
    height: 1.6rem;
    background-size: 6.43rem 1.6rem;
  }
}

.c-btn {
  width: 22rem;
  height: 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  position: relative;
  color: #000;
}

.c-btn .txt {
  display: inline-block;
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}

.c-btn .txt span {
  display: block;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.c-btn .txt span:first-child {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.c-btn .txt span:last-child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  opacity: 0;
}

.c-btn::before, .c-btn::after {
  position: absolute;
  content: '';
  width: 100%;
  height: 0.1rem;
  left: 0;
  bottom: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c-btn::before {
  background-color: #B9B9B9;
}

.c-btn::after {
  background-color: #FD8AA6;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.c-btn .ico {
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .c-btn:hover {
    opacity: 1;
  }
  .c-btn:hover .txt span:first-child {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
  }
  .c-btn:hover .txt span:last-child {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  .c-btn:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  .c-btn:hover .ico {
    -webkit-transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    background-position: left 4.5rem center;
  }
}

@media screen and (max-width: 768px) {
  .c-btn {
    width: 40rem;
    height: 8.4rem;
    font-size: 2.4rem;
  }
  .c-btn .txt {
    line-height: 1.5;
  }
  .c-btn .txt span {
    -webkit-transition: none;
    transition: none;
  }
}

._color-pink {
  color: #FD8AA6;
}

.c-txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .c-txt {
    line-height: calc(48/24);
    letter-spacing: 0.01em;
  }
}

.heading-lv2 {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: calc(64/36);
  letter-spacing: 0.15em;
  font-family: "Shippori Mincho", serif;
  border-left: 0.1rem solid #FD8AA6;
  padding-left: 3rem;
  position: relative;
}

.heading-lv2::before, .heading-lv2::after {
  position: absolute;
  content: '';
  width: 0.4rem;
  height: 0.8rem;
}

.heading-lv2::before {
  left: -0.6rem;
  top: 0.2rem;
  background: url(../img/common/icon_page_sub_t.svg) no-repeat center center;
  background-size: cover;
}

@media screen and (min-width: 769px) {
  .heading-lv2::before {
    left: -0.5rem;
  }
}

@media screen and (max-width: 768px) {
  .heading-lv2::before {
    left: -0.5rem;
    top: 0.1rem;
  }
}

.heading-lv2::after {
  bottom: 0.2rem;
  left: 0;
  background: url(../img/common/icon_page_sub_b.svg) no-repeat center center;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .heading-lv2::after {
    bottom: 0.1rem;
    left: 0;
  }
}

@media screen and (max-width: 768px) {
  .heading-lv2 {
    font-size: 3.4rem;
  }
}

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

.heading-lv3 .ja {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .heading-lv3 .ja {
    font-size: 2.8rem;
  }
}

.heading-lv3 .en {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .heading-lv3 .en {
    font-size: 2.4rem;
  }
}

.heading-lv4 {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: calc(64/36);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

.heading-lv4 span {
  display: inline-block;
  color: #FD8AA6;
}

.pagination {
  margin: 5rem 0 0;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin: 8rem 0 0;
  }
}

.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}

.page-numbers .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #008dd7;
  border: 0.1rem solid #008dd7;
}

@media screen and (max-width: 768px) {
  .page-numbers .page-numbers {
    font-size: 2.7rem;
    width: 8.4rem;
    height: 8.4rem;
  }
}

.page-numbers .page-numbers svg {
  display: block;
}

.page-numbers .page-numbers svg path {
  stroke: #5A3503;
}

.page-numbers .page-numbers.current, .page-numbers .page-numbers:hover {
  background-color: #008dd7;
  color: #fff;
  border-color: #008dd7;
}

.page-numbers .page-numbers.current svg path, .page-numbers .page-numbers:hover svg path {
  stroke: #fff;
}

.page-numbers .page-numbers.next, .page-numbers .page-numbers.prev {
  width: 1.6rem;
  height: auto;
  border: none;
  background-color: transparent;
}

.page-numbers .page-numbers.next:hover, .page-numbers .page-numbers.prev:hover {
  border-color: transparent;
}

@media screen and (max-width: 768px) {
  .page-numbers .page-numbers.next, .page-numbers .page-numbers.prev {
    display: none;
  }
}

.page-numbers .page-numbers.next {
  margin-left: auto;
}

.page-numbers .page-numbers.prev {
  margin-right: auto;
}

.page-main {
  padding: 10rem 0 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .page-main {
    padding: 13.6rem 0 0;
  }
}

@media screen and (max-width: 768px) {
  .key-visual {
    padding: 10.2rem 5rem 12rem;
  }
  .key-visual .container {
    padding: 0;
  }
}

.key-visual .page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media screen and (min-width: 769px) {
  .key-visual .page-title._center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.key-visual .page-title .ja {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: calc(48/42);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

.key-visual .page-title .en {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
  margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
  .key-visual .page-title .en {
    font-size: 2.6rem;
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 769px) {
  .key-visual.no-img {
    padding: 15rem 0 12rem;
  }
}

.p-service-sub .key-visual .key-visual_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  max-width: 140rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-service-sub .key-visual .key-visual_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-service-sub .key-visual .kv-img {
  width: 78rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub .key-visual .kv-img {
    width: 60.5rem;
    margin-left: -5rem;
    margin-top: 6rem;
  }
}

.p-service-sub .key-visual .kv-ctn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 14rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub .key-visual .kv-ctn {
    padding-left: 0;
  }
}

.p-service-sub .key-visual .heading-lv2 {
  margin-top: 10rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub .key-visual .heading-lv2 {
    margin-top: 9rem;
  }
}

/** header area
====================================== **/
#hambuger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 12;
  text-align: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  cursor: pointer;
}

#hambuger .icon {
  display: inline-block;
  position: relative;
}

#hambuger .icon img,
#hambuger .icon svg {
  display: inline-block;
  width: 100%;
  height: 1.5rem;
  position: absolute;
  left: 0;
  top: 0;
}

#hambuger .icon img.on,
#hambuger .icon svg.on {
  opacity: 1;
  visibility: visible;
}

#hambuger .icon img.off,
#hambuger .icon svg.off {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 769px) {
  #hambuger {
    width: 12rem;
    height: 1.5rem;
  }
  #hambuger .icon {
    width: 5rem;
    height: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  #hambuger {
    width: 8.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.3rem 0;
  }
  #hambuger .icon {
    width: 7.5rem;
    height: 1.8rem;
  }
}

#hambuger .txt {
  width: 7rem;
  height: 1.5rem;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
  position: relative;
}

#hambuger .txt span {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  line-height: 1;
}

#hambuger .txt span.on {
  opacity: 1;
  visibility: visible;
}

#hambuger .txt span.off {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  #hambuger .txt {
    font-size: 2.2rem;
    width: 100%;
    height: 3rem;
  }
}

#hambuger.open .icon img.on,
#hambuger.open .icon svg.on {
  opacity: 0;
  visibility: hidden;
}

#hambuger.open .icon img.off,
#hambuger.open .icon svg.off {
  opacity: 1;
  visibility: visible;
}

#hambuger.open .txt span.on {
  opacity: 0;
  visibility: hidden;
}

#hambuger.open .txt span.off {
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 769px) {
  #hambuger:hover .icon svg line,
  #hambuger:hover .icon svg path {
    stroke: #FD8AA6 !important;
  }
  #hambuger:hover .txt {
    color: #FD8AA6 !important;
  }
}

@-webkit-keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  25% {
    opacity: 1;
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  25% {
    opacity: 1;
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes circlemove {
  0% {
    bottom: 8.5rem;
  }
  100% {
    bottom: -0.5rem;
  }
}

@keyframes circlemove {
  0% {
    bottom: 8.5rem;
  }
  100% {
    bottom: -0.5rem;
  }
}

@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes bounce {
  from {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  to {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
}

@keyframes bounce {
  from {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  to {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
  }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
  }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.8;
  }
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes zoomAnime {
  from {
    opacity: 0;
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes zoomAnime {
  from {
    opacity: 0;
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes rotateClockwise {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotateClockwise {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes dropSlam {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-140%);
    transform: translateY(-140%);
  }
  6% {
    opacity: 1;
  }
  25% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  36% {
    -webkit-transform: translateY(-9%);
    transform: translateY(-9%);
  }
  48% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  58% {
    -webkit-transform: translateY(-4%);
    transform: translateY(-4%);
  }
  70% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  80% {
    -webkit-transform: translateY(-1.5%);
    transform: translateY(-1.5%);
  }
  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes dropSlam {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-140%);
    transform: translateY(-140%);
  }
  6% {
    opacity: 1;
  }
  25% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  36% {
    -webkit-transform: translateY(-9%);
    transform: translateY(-9%);
  }
  48% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  58% {
    -webkit-transform: translateY(-4%);
    transform: translateY(-4%);
  }
  70% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  80% {
    -webkit-transform: translateY(-1.5%);
    transform: translateY(-1.5%);
  }
  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes impactPuff {
  0% {
    opacity: .9;
    -webkit-transform: scaleX(0.3);
    transform: scaleX(0.3);
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.4);
    transform: scaleX(1.4);
  }
}

@keyframes impactPuff {
  0% {
    opacity: .9;
    -webkit-transform: scaleX(0.3);
    transform: scaleX(0.3);
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.4);
    transform: scaleX(1.4);
  }
}

/** home
======================================= **/
@keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes storeLoopLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes storeLoopLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes storeLoopRight {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes storeLoopRight {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.main-visual {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  min-height: 100dvh;
  background-color: #000;
}

@media screen and (max-width: 768px) {
  .main-visual {
    height: var(--mv-full-height, 100lvh);
    min-height: 100vh;
    min-height: 100lvh;
    min-height: 100dvh;
  }
}

.main-visual .mv-slider {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}

.main-visual .mv-slider::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 1;
  pointer-events: none;
}

.main-visual .mv-slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.main-visual .mv-img {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.main-visual .mv-img picture,
.main-visual .mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.main-visual .mv-movie {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  min-height: 100%;
  background-color: #000;
  z-index: 0;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .main-visual .mv-movie {
    height: var(--mv-full-height, 100lvh);
    min-height: var(--mv-full-height, 100lvh);
  }
}

.main-visual .mv-movie::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 1;
  pointer-events: none;
}

.main-visual .mv-movie picture,
.main-visual .mv-movie img,
.main-visual .mv-movie video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 3.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 3.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 3.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 3.5s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 3.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.main-visual.is-act .mv-slide.swiper-slide-active .mv-img {
  -webkit-animation: header_animate 4s ease;
  animation: header_animate 4s ease;
}

.main-visual .mv-pagination {
  position: absolute;
  right: 5rem;
  bottom: 4rem;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .main-visual .mv-pagination {
    right: 2.5rem;
    bottom: 2.5rem;
    -webkit-column-gap: 1.2rem;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
}

.main-visual .mv-pagination .mv-pagination_btn {
  background: none;
  border: none;
  outline: none;
  padding: 0;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  -webkit-tap-highlight-color: transparent;
}

@media screen and (max-width: 768px) {
  .main-visual .mv-pagination .mv-pagination_btn {
    font-size: 2.2rem;
  }
}

.main-visual .mv-pagination .mv-pagination_btn:hover {
  opacity: 0.75;
}

.main-visual .mv-pagination .mv-pagination_current,
.main-visual .mv-pagination .mv-pagination_total {
  display: inline-block;
  min-width: 1.2rem;
  text-align: center;
}

.main-visual .mv-pagination .mv-pagination_bar {
  width: 9rem;
  height: 0.2rem;
  background-color: rgba(255, 255, 255, 0.35);
  position: relative;
  cursor: pointer;
  border-radius: 0.1rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .main-visual .mv-pagination .mv-pagination_bar {
    width: 7rem;
    height: 0.25rem;
  }
}

.main-visual .mv-pagination .mv-pagination_progress {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 20%;
  background-color: #fff;
  border-radius: 0.1rem;
  -webkit-transition: width 0.4s ease;
  transition: width 0.4s ease;
}

.main-visual .mv-ttl {
  position: absolute;
  right: 11rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 11rem;
  z-index: 3;
  pointer-events: none;
  -webkit-transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.8s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.8s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1), filter 1.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1), filter 1.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.8s cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}

@media screen and (max-width: 768px) {
  .main-visual .mv-ttl {
    width: 13.6rem;
    right: 15rem;
    top: 31rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 1000;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.loading.is-hide {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s 1.6s;
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s 1.6s;
}

.loading__base {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #F0EEED;
}

.loading__counter {
  position: absolute;
  top: 4.6rem;
  left: 4.3rem;
  font-family: "EB Garamond", serif, "Shippori Mincho", serif;
  font-style: italic;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
  color: #1a1a1a;
  -webkit-transform: skewX(-10deg);
  transform: skewX(-10deg);
  z-index: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}

@media screen and (max-width: 768px) {
  .loading__counter {
    font-size: 2.2rem;
    top: 2.5rem;
    left: 2.5rem;
  }
}

html.is-loading,
body.top.is-loading {
  overflow: hidden !important;
  height: 100% !important;
  touch-action: none;
  -ms-touch-action: none;
}

body.top.is-loading {
  overflow: hidden !important;
  height: 100% !important;
  touch-action: none;
  -ms-touch-action: none;
}

body.top.is-loading .page-header {
  opacity: 0;
  pointer-events: none;
}

body.top.is-loading .mv-ttl {
  z-index: 1001;
  opacity: 0;
  -webkit-filter: brightness(0) blur(10px);
  filter: brightness(0) blur(10px);
  -webkit-transform: translate(calc(-50vw + 11rem + 50%), -50%);
  transform: translate(calc(-50vw + 11rem + 50%), -50%);
}

@media screen and (max-width: 768px) {
  body.top.is-loading .mv-ttl {
    top: 50%;
    -webkit-transform: translate(calc(-50vw + 15rem + 50%), -50%);
    transform: translate(calc(-50vw + 15rem + 50%), -50%);
  }
}

body.top.is-loading .mv-ttl.is-visible {
  opacity: 1;
  -webkit-filter: brightness(0) blur(0px);
  filter: brightness(0) blur(0px);
}

body.top.is-loading .mv-movie picture,
body.top.is-loading .mv-movie img,
body.top.is-loading .mv-movie video {
  -webkit-transform: scale(1.06);
  transform: scale(1.06);
}

body.top.is-loaded .page-header {
  opacity: 1;
  pointer-events: auto;
}

body.top.is-loaded .mv-ttl {
  z-index: 3;
  opacity: 1;
  -webkit-filter: brightness(1) blur(0px);
  filter: brightness(1) blur(0px);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  pointer-events: auto;
}

@media screen and (max-width: 768px) {
  body.top.is-loaded .mv-ttl {
    top: 31rem;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

body.top.is-loaded .mv-movie picture,
body.top.is-loaded .mv-movie img,
body.top.is-loaded .mv-movie video {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p-top {
  overflow: hidden;
  padding: 0;
}

.bg-light-yellow {
  background-color: #FFFDF8;
  position: relative;
  z-index: 1;
}

.sc-about {
  padding: 30rem 0;
  text-align: center;
  color: #fff;
  position: relative;
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .sc-about {
    padding: 20.2rem 0 30.6rem;
  }
}

.sc-about::before, .sc-about::after {
  position: absolute;
  content: '';
  width: 100%;
  left: 0;
}

.sc-about::before {
  top: 0;
  height: 180%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#000));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
  z-index: 1;
}

.sc-about::after {
  bottom: 0;
  height: 30%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#FFFDF8));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #FFFDF8 100%);
  z-index: 2;
}

.sc-about .container {
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .sc-about .container {
    padding: 0 4rem;
  }
}

.sc-about .sc-about_ttl {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: calc(48/36);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-bottom: 29.8rem;
}

@media screen and (max-width: 768px) {
  .sc-about .sc-about_ttl {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    margin-bottom: 9.6rem;
  }
}

.sc-about .sc-about_ttl span {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
}

.sc-about .sc-about_txt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: calc(40/16);
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .sc-about .sc-about_txt {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.sc-about .sc-about_txt + .sc-about_txt {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .sc-about .sc-about_txt + .sc-about_txt {
    margin-top: 6rem;
  }
}

.sc-about .ab-pos,
.sc-about .ab-nopos {
  display: inline-block;
  overflow: hidden;
  position: relative;
  opacity: 0;
  -webkit-filter: none;
  filter: none;
  -webkit-transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
  -webkit-transform: translate3d(0, 8rem, 0);
  transform: translate3d(0, 8rem, 0);
}

@media screen and (max-width: 768px) {
  .sc-about .ab-pos,
  .sc-about .ab-nopos {
    -webkit-transform: translate3d(0, 5rem, 0);
    transform: translate3d(0, 5rem, 0);
  }
}

.sc-about .ab-pos[data-inview="slideInTop"], .sc-about .ab-pos.slideInTop,
.sc-about .ab-nopos[data-inview="slideInTop"],
.sc-about .ab-nopos.slideInTop {
  -webkit-transform: translate3d(0, 8rem, 0);
  transform: translate3d(0, 8rem, 0);
}

@media screen and (max-width: 768px) {
  .sc-about .ab-pos[data-inview="slideInTop"], .sc-about .ab-pos.slideInTop,
  .sc-about .ab-nopos[data-inview="slideInTop"],
  .sc-about .ab-nopos.slideInTop {
    -webkit-transform: translate3d(0, 5rem, 0);
    transform: translate3d(0, 5rem, 0);
  }
}

.sc-about .ab-pos[data-inview="slideInBottom"], .sc-about .ab-pos.slideInBottom,
.sc-about .ab-nopos[data-inview="slideInBottom"],
.sc-about .ab-nopos.slideInBottom {
  -webkit-transform: translate3d(0, -8rem, 0);
  transform: translate3d(0, -8rem, 0);
}

@media screen and (max-width: 768px) {
  .sc-about .ab-pos[data-inview="slideInBottom"], .sc-about .ab-pos.slideInBottom,
  .sc-about .ab-nopos[data-inview="slideInBottom"],
  .sc-about .ab-nopos.slideInBottom {
    -webkit-transform: translate3d(0, -5rem, 0);
    transform: translate3d(0, -5rem, 0);
  }
}

.sc-about .ab-pos[data-inview="slideInLeft"], .sc-about .ab-pos.slideInLeft,
.sc-about .ab-nopos[data-inview="slideInLeft"],
.sc-about .ab-nopos.slideInLeft {
  -webkit-transform: translate3d(8rem, 0, 0);
  transform: translate3d(8rem, 0, 0);
}

@media screen and (max-width: 768px) {
  .sc-about .ab-pos[data-inview="slideInLeft"], .sc-about .ab-pos.slideInLeft,
  .sc-about .ab-nopos[data-inview="slideInLeft"],
  .sc-about .ab-nopos.slideInLeft {
    -webkit-transform: translate3d(5rem, 0, 0);
    transform: translate3d(5rem, 0, 0);
  }
}

.sc-about .ab-pos[data-inview="slideInRight"], .sc-about .ab-pos.slideInRight,
.sc-about .ab-nopos[data-inview="slideInRight"],
.sc-about .ab-nopos.slideInRight {
  -webkit-transform: translate3d(-8rem, 0, 0);
  transform: translate3d(-8rem, 0, 0);
}

@media screen and (max-width: 768px) {
  .sc-about .ab-pos[data-inview="slideInRight"], .sc-about .ab-pos.slideInRight,
  .sc-about .ab-nopos[data-inview="slideInRight"],
  .sc-about .ab-nopos.slideInRight {
    -webkit-transform: translate3d(-5rem, 0, 0);
    transform: translate3d(-5rem, 0, 0);
  }
}

.sc-about .ab-pos.is-view, .sc-about .ab-pos.is-act, .sc-about .ab-pos.is-play,
.sc-about .ab-nopos.is-view,
.sc-about .ab-nopos.is-act,
.sc-about .ab-nopos.is-play {
  opacity: 1;
  -webkit-filter: none;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.sc-about .ab-pos img,
.sc-about .ab-nopos img {
  width: 100%;
  display: block;
}

.sc-about .ab-pos {
  position: absolute;
}

.sc-about .pos1 {
  width: calc(360/1400 * 100%);
  left: -0.5rem;
  top: 23.6rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos1 {
    width: 20rem;
    left: -2rem;
    top: 10.2rem;
  }
}

.sc-about .pos2 {
  width: calc(400/1400 * 100%);
  right: -1.5rem;
  top: 8.8rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos2 {
    width: 28rem;
    right: -8rem;
    top: -5rem;
  }
}

.sc-about .pos3 {
  width: calc(420/1400 * 100%);
  right: -7.5rem;
  top: 80rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos3 {
    width: 32rem;
    position: static;
    display: block;
    margin-left: auto;
    margin-right: 1rem;
    margin-bottom: 6.6rem;
  }
}

.sc-about .pos4 {
  display: block;
  width: calc(533/1400 * 100%);
  margin-top: 15.8rem;
  margin-bottom: 16.7rem;
  margin-left: 10rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos4 {
    width: 48rem;
    margin-top: 8.6rem;
    margin-left: 1rem;
    margin-bottom: 8rem;
  }
}

.sc-about .pos5 {
  width: calc(360/1400 * 100%);
  right: -5rem;
  top: 152.4rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos5 {
    display: block;
    position: static;
    width: 30rem;
    margin-left: auto;
    margin-right: 0;
  }
}

.sc-about .pos6 {
  width: calc(360/1400 * 100%);
  left: 16rem;
  bottom: -40.8rem;
}

@media screen and (max-width: 768px) {
  .sc-about .pos6 {
    display: block;
    position: static;
    width: 28rem;
    margin-left: -4rem;
    margin-top: -12rem;
    margin-bottom: 8.6rem;
  }
}

.p-top-service {
  padding: 28.8rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-top-service {
    padding: 11.2rem 0 0;
  }
  .p-top-service .container {
    padding: 0;
  }
}

.p-top-service .heading-lv3 {
  margin-bottom: 9.2rem;
}

@media screen and (max-width: 768px) {
  .p-top-service .heading-lv3 {
    margin-bottom: 5rem;
  }
}

.p-top-service .service-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 10rem;
  -moz-column-gap: 10rem;
  column-gap: 10rem;
}

@media screen and (max-width: 768px) {
  .p-top-service .service-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 6.8rem 0;
    padding: 0 7rem;
  }
}

.p-top-service .service-content_left {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 769px) {
  .p-top-service .service-content_right {
    width: 68rem;
    padding-right: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-top-service .service-content_right {
    padding: 0;
    margin: 0 -2rem;
  }
}

.p-top-service .top-service-ctn {
  margin-top: 6.7rem;
}

@media screen and (max-width: 768px) {
  .p-top-service .top-service-ctn {
    padding: 0 7rem;
  }
}

.p-top-service .c-btn {
  margin-top: 3.5rem;
}

@media screen and (max-width: 768px) {
  .p-top-service .c-btn {
    margin-inline: auto;
  }
}

.p-top-service .service-one {
  max-width: 108rem;
  margin-left: 5rem;
  margin-top: -8.6rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-top-service .service-one {
    max-width: 64rem;
    margin-top: -4.8rem;
    margin-inline: auto;
  }
}

.p-top-maintenance {
  padding: 13rem 0 17.7rem;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance {
    padding: 12rem 0;
  }
}

.p-top-maintenance .maintenance-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-head {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

.p-top-maintenance .maintenance-head .heading-lv2 {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  padding-left: 0;
  padding-top: 3rem;
  border-left: 0;
  border-top: 0.1rem solid #FD8AA6;
}

.p-top-maintenance .maintenance-head .heading-lv2::before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  right: 0.5rem;
  top: -0.7rem;
}

.p-top-maintenance .maintenance-head .heading-lv2::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  left: 0.5rem;
  top: -0.2rem;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-head .heading-lv2 {
    margin-bottom: 3.5rem;
  }
}

.p-top-maintenance .maintenance-content {
  max-width: 48rem;
  margin-top: -6rem;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-content {
    max-width: 100%;
    margin-top: 9rem;
  }
}

.p-top-maintenance .maintenance-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  margin-top: 11.5rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 3rem;
    margin-top: 6rem;
    margin-inline: -2rem;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-list:has(.maintenance-itm:first-child:hover) .maintenance-itm:first-child, .p-top-maintenance .maintenance-list.is-hover-first .maintenance-itm:first-child {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
  }
  .p-top-maintenance .maintenance-list:has(.maintenance-itm:first-child:hover) .maintenance-itm:last-child, .p-top-maintenance .maintenance-list.is-hover-first .maintenance-itm:last-child {
    width: 0%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0%;
    flex: 0 0 0%;
  }
  .p-top-maintenance .maintenance-list:has(.maintenance-itm:last-child:hover) .maintenance-itm:first-child, .p-top-maintenance .maintenance-list.is-hover-last .maintenance-itm:first-child {
    width: 0%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0%;
    flex: 0 0 0%;
  }
  .p-top-maintenance .maintenance-list:has(.maintenance-itm:last-child:hover) .maintenance-itm:last-child, .p-top-maintenance .maintenance-list.is-hover-last .maintenance-itm:last-child {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
  }
}

.p-top-maintenance .maintenance-itm {
  width: 50%;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  min-width: 0;
  position: relative;
  overflow: hidden;
  -webkit-transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1), flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1), flex 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-flex 0.6s cubic-bezier(0.25, 1, 0.5, 1), -ms-flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-itm {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm:hover .maintenance-itm_inner, .p-top-maintenance .maintenance-itm.is-hovered .maintenance-itm_inner {
    opacity: 1;
  }
  .p-top-maintenance .maintenance-itm:hover .maintenance-itm_inner img, .p-top-maintenance .maintenance-itm.is-hovered .maintenance-itm_inner img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .p-top-maintenance .maintenance-itm:hover .maintenance-itm_info, .p-top-maintenance .maintenance-itm.is-hovered .maintenance-itm_info {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translateY(-50%) translateX(0);
    transform: translateY(-50%) translateX(0);
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm:first-child .maintenance-itm_img {
    position: absolute;
    left: 0;
    top: 0;
    width: 118rem;
    min-width: 118rem;
    max-width: none;
    height: 100%;
  }
  .p-top-maintenance .maintenance-itm:first-child .maintenance-itm_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left center;
    object-position: left center;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm:first-child .maintenance-itm_inner {
    left: 4rem;
    right: auto;
    top: 4rem;
    bottom: auto;
    width: 110rem;
    height: 51rem;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm:last-child .maintenance-itm_img {
    position: absolute;
    right: 0;
    top: 0;
    width: 118rem;
    min-width: 118rem;
    max-width: none;
    height: 100%;
  }
  .p-top-maintenance .maintenance-itm:last-child .maintenance-itm_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: right center;
    object-position: right center;
  }
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm:last-child .maintenance-itm_inner {
    right: 4rem;
    left: auto;
    top: 4rem;
    bottom: auto;
    width: 110rem;
    height: 51rem;
  }
}

.p-top-maintenance .maintenance-itm_link {
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm_link {
    height: 59rem;
    min-width: 59rem;
  }
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-itm_link .ico {
    position: absolute;
    right: 5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.p-top-maintenance .maintenance-itm_img {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 769px) {
  .p-top-maintenance .maintenance-itm_img {
    min-width: 59rem;
  }
}

.p-top-maintenance .maintenance-itm_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-top-maintenance .maintenance-itm_inner {
  position: absolute;
  top: 4rem;
  left: 4rem;
  right: 4rem;
  bottom: 4rem;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-top-maintenance .maintenance-itm_inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 2;
  pointer-events: none;
}

.p-top-maintenance .maintenance-itm_inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-top-maintenance .maintenance-itm_ctn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 2;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-itm_ctn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #fff;
  }
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-itm_ctn .maintenance-itm_txt {
    display: inline-block;
    font-size: 2.4rem;
    letter-spacing: 0.2em;
    font-family: "Shippori Mincho", serif;
  }
}

.p-top-maintenance .maintenance-itm_ctn .maintenance-itm_ttl {
  display: inline-block;
}

.p-top-maintenance .maintenance-itm_ctn .maintenance-itm_ttl img {
  width: auto;
  height: 16rem;
}

@media screen and (max-width: 768px) {
  .p-top-maintenance .maintenance-itm_ctn .maintenance-itm_ttl img {
    height: 12.6rem;
  }
}

.p-top-maintenance .maintenance-itm_info {
  position: absolute;
  right: 8rem;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(2rem);
  transform: translateY(-50%) translateX(2rem);
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}

.p-top-maintenance .maintenance-itm_info_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 0.8rem;
}

.p-top-maintenance .maintenance-itm_info_txt {
  font-size: 1.4rem;
  color: #fff;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  letter-spacing: 0.2em;
  font-weight: 300;
  white-space: nowrap;
}

.p-top-maintenance .maintenance-itm_info_line {
  display: block;
  width: 22rem;
  height: 1px;
  background: #b9b9b9;
}

.top-banner {
  position: relative;
  z-index: 1;
  background-color: #fff;
}

.top-banner img {
  width: 100%;
  display: block;
}

.p-top-costumes {
  padding: 17.7rem 0 21rem;
  position: relative;
  z-index: 1;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .p-top-costumes {
    padding: 12rem 0;
  }
}

.p-top-costumes .heading-lv3 {
  margin-bottom: 9.2rem;
}

@media screen and (max-width: 768px) {
  .p-top-costumes .heading-lv3 {
    margin-bottom: 5rem;
  }
}

.p-top-costumes .heading-lv2 {
  margin-bottom: 7.5rem;
}

@media screen and (max-width: 768px) {
  .p-top-costumes .heading-lv2 {
    margin-bottom: 6.7rem;
  }
}

.p-top-costumes .costumes-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 9rem 5rem;
  margin-top: 9.5rem;
}

@media screen and (max-width: 768px) {
  .p-top-costumes .costumes-list {
    gap: 7rem 4rem;
    margin-top: 8.2rem;
    margin-inline: -2rem;
  }
}

.p-top-costumes .costumes-itm {
  width: calc((100% - 10rem)/3);
}

.p-top-costumes .costumes-itm:nth-child(1) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top-costumes .costumes-itm:nth-child(2) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.p-top-costumes .costumes-itm:nth-child(3) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-top-costumes .costumes-itm:nth-child(4) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.p-top-costumes .costumes-itm:nth-child(5) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.p-top-costumes .costumes-itm:nth-child(6) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.p-top-costumes .costumes-itm:nth-child(7) {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.p-top-costumes .costumes-itm:nth-child(8) {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.p-top-costumes .costumes-itm:nth-child(9) {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

@media screen and (max-width: 768px) {
  .p-top-costumes .costumes-itm {
    width: calc((100% - 4rem)/2);
  }
}

.p-top-costumes .costumes-itm .costumes-itm_ttl {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: calc(32/24);
  letter-spacing: 0.25em;
  font-family: "Shippori Mincho", serif;
  padding-bottom: 1.2rem;
  border-bottom: 0.1rem solid #FD8AA6;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .p-top-costumes .costumes-itm .costumes-itm_ttl {
    margin-top: 2rem;
    letter-spacing: 0.2em;
    padding-bottom: 0.8rem;
  }
}

.p-top-costumes .costumes-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 7rem;
}

.p-top-casestudy .casestudy-top {
  position: relative;
  padding: 0 calc(50/1400 * 100%);
  margin: 0 auto 8rem;
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-top {
    max-width: 64.1rem;
    margin-bottom: 6rem;
    padding: 0;
  }
}

.p-top-casestudy .casestudy-ctn {
  position: absolute;
  left: calc(120/1400 * 100%);
  top: calc(272/840 * 100%);
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-ctn {
    left: 6.5rem;
    top: 10.5rem;
  }
}

.p-top-casestudy .casestudy-ctn .heading-lv3 {
  color: #fff;
}

.p-top-casestudy .casestudy-catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1rem;
  margin-top: 7.2rem;
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-catch {
    margin-top: 4.6rem;
  }
}

.p-top-casestudy .casestudy-catch span {
  display: inline-block;
}

.p-top-casestudy .casestudy-catch span > span {
  display: inline-block;
  font-size: 3.6rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  font-family: "Shippori Mincho", serif;
  background-color: #fff;
  border-bottom: 0.4rem solid #FFD1DC;
  padding: 0.5rem 2rem;
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-catch span > span {
    font-size: 2.4rem;
    padding: 0.5rem 2.5rem 0.5rem 1.4rem;
  }
}

.p-top-casestudy .casestudy-bottom {
  max-width: 64rem;
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-bottom {
    padding-left: 0;
  }
}

.p-top-casestudy .casestudy-bottom .c-btn {
  margin-top: 3.5rem;
}

@media screen and (max-width: 768px) {
  .p-top-casestudy .casestudy-bottom .c-btn {
    margin: 3.5rem auto 0;
  }
}

.sc-instagram {
  padding: 18rem 0 0;
}

@media screen and (max-width: 768px) {
  .sc-instagram {
    padding: 12rem 0 0;
  }
}

.sc-instagram .sc-instagram_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 7rem;
  padding: 0 2rem 0 4rem;
}

@media screen and (max-width: 768px) {
  .sc-instagram .sc-instagram_head {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 5rem;
    padding: 0;
  }
}

.sc-instagram .sc-instagram_head .c-btn {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
}

.sc-instagram .sc-instagram_head .c-btn .icon {
  display: inline-block;
  width: 2rem;
  line-height: 0;
}

.sc-instagram .sc-instagram_ttl {
  font-size: 12rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0;
  font-style: italic;
  font-family: "EB Garamond", serif;
  color: #FFD1DC;
}

@media screen and (max-width: 768px) {
  .sc-instagram .sc-instagram_ttl {
    font-size: 6.4rem;
    text-align: center;
  }
}

.sc-instagram .instagram-slider-wrap {
  position: relative;
}

@media screen and (min-width: 769px) {
  .sc-instagram .instagram-slider {
    overflow: visible;
  }
}

@media screen and (max-width: 768px) {
  .sc-instagram .instagram-slider {
    overflow: hidden;
  }
}

@media screen and (min-width: 769px) {
  .sc-instagram .instagram-list {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-flow: row wrap !important;
    flex-flow: row wrap !important;
    -webkit-column-gap: 2rem !important;
    -moz-column-gap: 2rem !important;
    column-gap: 2rem !important;
    -webkit-transform: none !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
  }
}

@media screen and (min-width: 769px) {
  .sc-instagram .instagram-item {
    width: calc((100% - 4rem) / 3) !important;
    height: auto !important;
    margin: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .sc-instagram .instagram-item:nth-child(1) {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
  .sc-instagram .instagram-item:nth-child(2) {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
  }
  .sc-instagram .instagram-item:nth-child(3) {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
}

@media screen and (max-width: 768px) {
  .sc-instagram .instagram-item {
    width: 100%;
    height: auto;
  }
}

.sc-instagram .instagram-item img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (min-width: 769px) {
  .sc-instagram .instagram-btn {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .sc-instagram .instagram-btn {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
    background-color: #FD8AA6;
    border: none;
    outline: none;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    -webkit-tap-highlight-color: transparent;
  }
  .sc-instagram .instagram-btn:hover {
    opacity: 0.85;
  }
  .sc-instagram .instagram-btn.instagram-btn-prev {
    left: -3.1rem;
  }
  .sc-instagram .instagram-btn.instagram-btn-prev .ico {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    margin-right: 1.4rem;
  }
  .sc-instagram .instagram-btn.instagram-btn-next {
    right: -3.1rem;
  }
  .sc-instagram .instagram-btn.instagram-btn-next .ico {
    margin-left: 1.4rem;
  }
}

.sc-instagram .sc-instagram_btn {
  margin-top: 4.8rem;
}

.sc-instagram .sc-instagram_btn .c-btn {
  margin: 0 auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 28rem;
  height: 5.4rem;
  font-size: 2rem;
}

.sc-instagram .sc-instagram_btn .c-btn .icon {
  display: inline-block;
  width: 2.2rem;
  line-height: 0;
}

.sc-news {
  padding: 18rem 0;
}

@media screen and (max-width: 768px) {
  .sc-news {
    padding: 11.5rem 0 15rem;
  }
}

@media screen and (min-width: 769px) {
  .sc-news .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
  }
}

@media screen and (max-width: 768px) {
  .sc-news .container {
    padding: 0 5rem;
  }
}

.sc-news .heading-lv3 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 769px) {
  .sc-news .heading-lv3 .ja {
    font-size: 2.4rem;
  }
  .sc-news .heading-lv3 .en {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .sc-news .heading-lv3 {
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 769px) {
  .sc-news .news-list {
    width: 84rem;
  }
}

@media screen and (max-width: 768px) {
  .sc-news .news-list {
    padding: 0 2rem;
  }
}

.sc-news .sc-news-btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 3.5rem;
}

@media screen and (max-width: 768px) {
  .sc-news .sc-news-btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.date {
  display: inline-block;
  color: #707070;
}

.cat {
  display: inline-block;
  color: #707070;
}

.news-itm {
  border-top: 0.1rem solid rgba(112, 112, 112, 0.3);
  position: relative;
}

.news-itm::after {
  position: absolute;
  content: '';
  width: 4rem;
  height: 0.1rem;
  left: 3rem;
  top: -0.1rem;
  background-color: #FD8AA6;
}

.news-itm:last-child {
  border-bottom: 0.1rem solid rgba(112, 112, 112, 0.3);
}

.news-itm:last-child::before {
  position: absolute;
  content: '';
  width: 4rem;
  height: 0.1rem;
  left: 3rem;
  bottom: -0.1rem;
  background-color: #FD8AA6;
}

.news-itm .ttl {
  display: block;
  width: 100%;
}

.news-itm .news-itm_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 2.5rem 4rem;
  padding: 4.8rem 12rem 4.8rem 3rem;
  position: relative;
}

@media screen and (min-width: 769px) {
  .news-itm .news-itm_link {
    font-size: 1.6rem;
    letter-spacing: 0.2em;
  }
}

@media screen and (max-width: 768px) {
  .news-itm .news-itm_link {
    padding: 6rem 2rem;
  }
}

.news-itm .news-itm_link::before {
  position: absolute;
  content: '';
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  right: 5rem;
  top: calc(50% - 0.9rem);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #FD8AA6;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

@media screen and (max-width: 768px) {
  .news-itm .news-itm_link::before {
    width: 1.8rem;
    height: 1.8rem;
    right: 3.1rem;
  }
}

.news-itm .news-itm_link::after {
  position: absolute;
  content: '';
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  right: 5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 0.3rem solid #FD8AA6;
}

@media screen and (max-width: 768px) {
  .news-itm .news-itm_link::after {
    width: 1.8rem;
    height: 1.8rem;
    right: 3rem;
  }
}

@media screen and (min-width: 769px) {
  .news-itm .news-itm_link:hover {
    background-color: #fff;
  }
  .news-itm .news-itm_link:hover::before {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.p-concept-main {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-concept-main {
    width: 60rem;
    margin-left: 10rem;
  }
}

.p-concept_about {
  padding: 18.2rem 0 17.8rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-concept_about {
    padding: 11.8rem 0 12.6rem;
  }
}

.p-concept_about::before {
  content: '';
  width: 100rem;
  height: 99.7rem;
  background: url("../img/concept/deco_main01_pc.png") center center/cover no-repeat;
  background-size: contain;
  position: absolute;
  top: -22rem;
  left: -40rem;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-concept_about::before {
    width: 73.2rem;
    height: 74.3rem;
    background: url("../img/concept/deco_main01_sp.png") center center/cover no-repeat;
    background-size: contain;
    top: -30rem;
    left: -20rem;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_about:after {
    content: "";
    width: 36.6rem;
    height: 74.3rem;
    background: url("../img/concept/deco_main02_sp.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 11.5rem;
    right: 0;
  }
}

.p-concept_about .about_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 5rem;
}

@media screen and (max-width: 768px) {
  .p-concept_about .about_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 7rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 0 0 0 3rem;
  }
}

.p-concept_about .title_about {
  font-size: 5.8rem;
  line-height: calc(90/58);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 768px) {
  .p-concept_about .title_about {
    font-size: 4.8rem;
    line-height: calc(80/48);
    letter-spacing: 0.2em;
  }
}

.p-concept_about .txt_about {
  margin-top: 4rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-concept_about .txt_about {
    margin-top: 0;
  }
}

.p-concept_about .txt_about p {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-concept_about .txt_about p {
    font-size: 2.4rem;
    line-height: calc(48/24);
    letter-spacing: 0.1em;
  }
}

.p-concept_about .txt_about p + p {
  margin-top: 3rem;
}

.p-concept_number .title_number {
  text-align: center;
  font-size: 4.2rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number .title_number {
    letter-spacing: 0.15em;
    margin-bottom: 6rem;
  }
}

.p-concept_number_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 14rem;
  margin-bottom: 14rem;
}

@media screen and (min-width: 769px) {
  .p-concept_number_wrap {
    padding: 0 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_number_wrap {
    grid-template-columns: 1fr;
    margin-bottom: 9rem;
  }
}

.p-concept_number_item {
  border-bottom: 1px solid #B9B9B9;
  min-height: 26rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: unset;
    padding-bottom: 7rem;
  }
  .p-concept_number_item + .p-concept_number_item {
    margin-top: 7rem;
  }
}

.p-concept_number_item:nth-child(odd) {
  position: relative;
}

.p-concept_number_item:nth-child(odd):after {
  content: "";
  width: 1px;
  height: 12rem;
  background-color: #B9B9B9;
  position: absolute;
  top: 7rem;
  right: -7rem;
}

.p-concept_number_item h4 {
  font-size: 2rem;
  line-height: calc(34/20);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2.5rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item h4 {
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 1rem;
    padding-left: 0;
    padding-bottom: 1.2rem;
  }
}

.p-concept_number_item h4:before {
  content: "";
  width: 0.5rem;
  height: 3.2rem;
  background: #FFA2B8;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item h4:before {
    width: 10rem;
    height: 0.5rem;
    top: auto;
    bottom: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
  }
}

.p-concept_number_item .number_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item .number_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.8rem;
  }
}

.p-concept_number_item .number_box .nb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1rem;
  font-size: 10rem;
  line-height: 1;
  color: #FFA2B8;
  font-family: "EB Garamond", serif;
  font-weight: 100;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item .number_box .nb {
    font-size: 12rem;
  }
}

.p-concept_number_item .number_box .nb small {
  font-size: 3.2rem;
  line-height: 1;
  display: block;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item .number_box .nb small {
    font-size: 4.8rem;
  }
}

.p-concept_number_item .number_box .nb small.fz_cts {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item .number_box .nb small.fz_cts {
    font-size: 4rem;
  }
}

.p-concept_number_item .number_box .desc {
  display: block;
  line-height: calc(28/14);
  letter-spacing: 0.15em;
  font-style: normal;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .p-concept_number_item .number_box .desc {
    margin-bottom: 0;
    text-align: center;
  }
}

.p-concept_number .img_banner {
  display: block;
}

@media screen and (min-width: 769px) {
  .p-concept_number .img_banner {
    padding: 0 calc(50/1400 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .p-concept_number .img_banner {
    padding: 0 3rem;
  }
}

.p-concept_reason {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .container {
    padding-left: 7rem;
    padding-right: 7rem;
  }
}

.p-concept_reason .reason_item .reson_heading_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.8rem;
}

.p-concept_reason .reason_item .reson_heading_top .sub {
  font-size: 1.4rem;
  line-height: 1;
  color: #B9B9B9;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .reson_heading_top .sub {
    font-size: 2.4rem;
  }
}

.p-concept_reason .reason_item .reson_heading_top .nb {
  font-size: 4.8rem;
  line-height: 1;
  color: #B9B9B9;
  font-family: "Shippori Mincho", serif;
  font-style: italic;
  margin-bottom: -0.8rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .reson_heading_top .nb {
    font-size: 5.8rem;
  }
}

.p-concept_reason .reason_item .reson_heading .title_sub {
  display: inline-block;
  padding: 0.8rem 1rem 0.6rem;
  font-size: 1.6rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  color: #fff;
  background-color: #FD8AA6;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .reson_heading .title_sub {
    font-size: 3.2rem;
    line-height: calc(48/32);
  }
}

.p-concept_reason .reason_item .reson_heading .title_main {
  font-size: 2.8rem;
  line-height: calc(54/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  padding-left: 3.8rem;
  position: relative;
  letter-spacing: 0.2em;
  margin: 5.4rem 0 7rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .reson_heading .title_main {
    font-size: 3.6rem;
    letter-spacing: 0.15em;
    line-height: calc(64/36);
    margin: 4.7rem 0 6.9rem;
  }
}

.p-concept_reason .reason_item .reson_heading .title_main:before {
  content: "";
  width: 0.8rem;
  height: 10rem;
  background: url("../img/concept/deco_ttl.png") center center/cover no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .reson_heading .title_main:before {
    height: 100%;
  }
}

.p-concept_reason .reason_item .desc {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .desc {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-concept_reason .reason_item .b_commitment {
  margin-top: 4.6rem;
}

.p-concept_reason .reason_item .b_commitment h3 {
  font-size: 2rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin-bottom: 1.9rem;
  position: relative;
  padding-left: 3rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .b_commitment h3 {
    font-size: 2.8rem;
    line-height: 1.5;
    margin-bottom: 2rem;
  }
}

.p-concept_reason .reason_item .b_commitment h3:before {
  content: "";
  width: 2rem;
  height: 0.2rem;
  background-color: #FFD1DC;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.p-concept_reason .reason_item .b_commitment_list.col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .b_commitment_list.col2 {
    grid-template-columns: 1fr;
  }
}

.p-concept_reason .reason_item .b_commitment_list li {
  position: relative;
  font-size: 1.6rem;
  line-height: calc(36/16);
  letter-spacing: 0.15em;
  padding: 1.7rem 3rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .reason_item .b_commitment_list li {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-concept_reason .reason_item .b_commitment_list li.bg01 {
  background-color: rgba(255, 209, 220, 0.5);
}

.p-concept_reason .reason_item .b_commitment_list li.bg02 {
  background-color: rgba(255, 162, 184, 0.5);
}

.p-concept_reason .reason_item .b_commitment_list li.bg03 {
  background-color: rgba(255, 209, 220, 0.2);
}

.p-concept_reason .item01 {
  padding-bottom: 19.5rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 {
    padding-bottom: 12.3rem;
  }
}

.p-concept_reason .item01:after {
  content: "";
  width: 80rem;
  height: 80rem;
  background: url("../img/concept/deco_main02_pc.png") center center/cover no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -4rem;
  right: -40rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01:after {
    background: url("../img/concept/deco_main03_sp.png") center center/cover no-repeat;
    background-size: contain;
    bottom: 21rem;
  }
}

.p-concept_reason .item01 .container {
  padding-top: 12.4rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 .container {
    padding: 13rem 7rem 0;
    border-top: none;
    position: relative;
  }
  .p-concept_reason .item01 .container:before {
    content: "";
    width: calc(100% - 14rem);
    height: 1px;
    background-color: #ccc;
    position: absolute;
    top: 0;
    left: 7rem;
  }
}

.p-concept_reason .item01 .reson_heading {
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 .reson_heading {
    padding-left: 0;
  }
}

.p-concept_reason .item01 .l_img {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.p-concept_reason .item01 .l_img li:nth-child(1) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-concept_reason .item01 .l_img li:nth-child(2) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-concept_reason .item01 .l_img li:nth-child(3) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.p-concept_reason .item01 .l_img li:nth-child(4) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 .l_img {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .p-concept_reason .item01 .l_img li:nth-child(odd) {
    margin-left: -7rem;
  }
  .p-concept_reason .item01 .l_img li:nth-child(even) {
    margin-right: -7rem;
    margin-left: auto;
  }
}

.p-concept_reason .item01 .desc {
  padding-left: 4rem;
  margin-top: 7rem;
  max-width: 72rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 .desc {
    margin-top: 8.5rem;
    padding-left: 0;
    max-width: 100%;
  }
}

.p-concept_reason .item01 .b_commitment {
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item01 .b_commitment {
    padding-left: 0;
  }
}

.p-concept_reason .item02 {
  padding-bottom: 15.4rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 {
    padding-bottom: 12.3rem;
  }
}

.p-concept_reason .item02:after {
  content: "";
  width: 118.1rem;
  height: 91.7rem;
  background: url("../img/concept/deco_main03_pc.png") center center/cover no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -27.6rem;
  left: -28.6rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02:after {
    bottom: 8.5rem;
  }
}

@media screen and (min-width: 769px) {
  .p-concept_reason .item02 .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: relative;
  }
  .p-concept_reason .item02 .container.ctn_star {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .p-concept_reason .item02 .reson_heading {
    width: 100%;
    max-width: 72rem;
  }
  .p-concept_reason .item02 .reson_heading .heading_cts {
    position: absolute;
    top: -2rem;
    left: 8.7rem;
  }
  .p-concept_reason .item02 .reson_heading .title_main {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 3.9rem 0 0 0;
    margin: 0;
  }
  .p-concept_reason .item02 .reson_heading .title_main:before {
    width: 8.45rem;
    height: 0.8rem;
    background: url("../img/concept/deco_ttl02.png") no-repeat;
    background-size: contain;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}

.p-concept_reason .item02 .desc {
  max-width: 72rem;
  margin: 7rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 .desc {
    margin: 6.5rem 0 0;
    max-width: 100%;
  }
}

.p-concept_reason .item02 .l_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
}

@media screen and (min-width: 769px) {
  .p-concept_reason .item02 .l_img li img {
    width: 80rem;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 .l_img li:nth-child(1) {
    margin-left: -7rem;
  }
}

.p-concept_reason .item02 .l_img li:nth-child(2) {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 .l_img li:nth-child(2) {
    margin-right: -7rem;
  }
}

.p-concept_reason .item02 .l_img li:nth-child(3) {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 .l_img li:nth-child(1) img {
    width: 100%;
  }
  .p-concept_reason .item02 .l_img li:nth-child(2) {
    text-align: right;
  }
  .p-concept_reason .item02 .l_img li:nth-child(2) img {
    width: 100%;
  }
  .p-concept_reason .item02 .l_img li:nth-child(3) {
    text-align: center;
  }
  .p-concept_reason .item02 .l_img li:nth-child(3) img {
    width: 100%;
  }
}

.p-concept_reason .item02 .b_commitment {
  width: 72rem;
  display: block;
  margin-bottom: 9rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item02 .b_commitment {
    width: 100%;
    margin-bottom: 0;
  }
}

.p-concept_reason .item03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 769px) {
  .p-concept_reason .item03 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding-right: calc((100% - 121rem) / 2);
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item03 {
    padding: 0 7rem 12.3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-concept_reason .item03 .pic {
  width: 72rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item03 .pic {
    width: 63rem;
    margin-left: -7rem;
  }
}

.p-concept_reason .item03 .txt {
  width: calc(100% - 72rem);
  padding-left: 14rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item03 .txt {
    width: 100%;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item03 .desc {
    margin-top: 6.5rem;
    letter-spacing: 0;
  }
}

.p-concept_reason .item03 .b_commitment {
  display: block;
}

.p-concept_reason .item04 {
  padding-bottom: 12.4rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04 {
    padding-bottom: 12.3rem;
  }
}

.p-concept_reason .item04:after {
  content: "";
  width: 86.5rem;
  height: 129.8rem;
  background: url("../img/concept/deco_main04_pc.png") center center/cover no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50rem;
  right: -30rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04:after {
    bottom: auto;
    top: -40rem;
    right: -40rem;
  }
}

.p-concept_reason .item04 .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04 .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-concept_reason .item04 .pic {
  width: 60rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04 .pic {
    width: 56rem;
    margin-left: -2rem;
  }
}

.p-concept_reason .item04 .txt {
  width: calc(100% - 60rem);
  padding-right: 14rem;
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04 .txt {
    width: 100%;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-concept_reason .item04 .desc {
    margin-top: 6.5rem;
  }
}

.p-concept .item05 {
  padding-bottom: 15rem;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 {
    padding-bottom: 14.2rem;
    position: relative;
    z-index: 1;
  }
  .p-concept .item05:after {
    content: "";
    width: 86.4rem;
    height: 129.6rem;
    background: url("../img/concept/deco_main06_sp.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -90rem;
    left: -50rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-concept .item05 .desc {
  max-width: 60rem;
  margin-bottom: 8.5rem;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 .desc {
    max-width: 100%;
    margin: 6.5rem 0 0;
  }
}

.p-concept .item05 .l_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 3rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 .l_img {
    padding: 0;
  }
}

.p-concept .item05 .l_img:after {
  content: "";
  width: 72rem;
  height: 57.5rem;
  background: url("../img/concept/img_map.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -36rem;
  right: 8rem;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 .l_img:after {
    width: 62.6rem;
    height: 50rem;
    top: -7rem;
    right: -3.6rem;
    z-index: 2;
  }
}

.p-concept .item05 .l_img li {
  position: relative;
  z-index: 1;
}

.p-concept .item05 .l_img li:nth-child(1) img {
  width: 28rem;
}

.p-concept .item05 .l_img li:nth-child(2) {
  margin: 24.5rem 0 0 -40rem;
}

.p-concept .item05 .l_img li:nth-child(2) img {
  width: 24rem;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 .l_img li:nth-child(2) {
    margin: 40rem 0 0 -27rem;
  }
}

.p-concept .item05 .l_img li:nth-child(3) {
  margin-top: 8.5rem;
}

.p-concept .item05 .l_img li:nth-child(3) img {
  width: 32rem;
}

@media screen and (max-width: 768px) {
  .p-concept .item05 .l_img li:nth-child(3) {
    margin: 28.8rem -3.4rem 0 0;
  }
  .p-concept .item05 .l_img li:nth-child(3) img {
    width: 25.6rem;
  }
}

.p-service {
  background-color: #FFFDF8;
}

.p-service .p-service-main {
  padding: 0 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service-main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem 0;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service-main .service-main1 {
    width: 45rem;
  }
}

.p-service .p-service-main .service-main2 {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

@media screen and (max-width: 768px) {
  .p-service .p-service-main .service-main2 {
    width: 60rem;
    margin-left: 10rem;
  }
}

.p-service .p-service-main .service-main3 {
  margin-top: auto;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

@media screen and (max-width: 768px) {
  .p-service .p-service-main .service-main3 {
    width: 51rem;
    margin-left: 5rem;
  }
}

.p-service .p-service_about {
  padding: 20.2rem 0 18.1rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .container {
    padding: 0 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about {
    padding: 12.2rem 0 11.8rem;
  }
}

.p-service .p-service_about .about_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 17.8rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_top {
    display: block;
    padding-bottom: 17.6rem;
    text-align: center;
  }
}

.p-service .p-service_about .about_top_title {
  font-size: 3.6rem;
  line-height: calc(64/34);
  font-weight: 400;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

.p-service .p-service_about .about_top_title span {
  color: #FD8AA6;
}

.p-service .p-service_about .about_top_txt {
  margin-top: 8rem;
}

.p-service .p-service_about .about_top_txt p {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_top_txt p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-service .p-service_about .about_top_txt p + p {
  margin-top: 3rem;
}

.p-service .p-service_about .about_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list {
    grid-template-columns: 1fr;
    gap: 9.8rem;
  }
}

.p-service .p-service_about .about_list_item {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.p-service .p-service_about .about_list_item:nth-child(1) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-service .p-service_about .about_list_item:nth-child(2) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-service .p-service_about .about_list_item:nth-child(3) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item:nth-child(odd) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .p-service .p-service_about .about_list_item:nth-child(odd) .pic {
    margin-left: -5rem;
  }
  .p-service .p-service_about .about_list_item:nth-child(odd) .pic .caption {
    position: absolute;
    bottom: -11rem;
    left: 5rem;
    z-index: 1;
  }
  .p-service .p-service_about .about_list_item:nth-child(even) .pic {
    margin-right: -5rem;
  }
  .p-service .p-service_about .about_list_item:nth-child(even) .pic .caption {
    position: absolute;
    bottom: -11rem;
    right: 5rem;
    z-index: 1;
  }
}

.p-service .p-service_about .about_list_item .pic {
  position: relative;
}

.p-service .p-service_about .about_list_item .pic picture {
  display: block;
  overflow: hidden;
}

.p-service .p-service_about .about_list_item .pic picture img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-service .p-service_about .about_list_item .pic .caption {
  background-color: #FFFDF9;
  padding: 2rem 1rem 1rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1rem;
}

@media screen and (min-width: 769px) {
  .p-service .p-service_about .about_list_item .pic .caption {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item .pic .caption {
    padding: 3rem 2.5rem 1rem 2.5rem;
    gap: 1.8rem;
  }
}

.p-service .p-service_about .about_list_item .pic .caption span {
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-size: 2.4rem;
  line-height: calc(28/24);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  display: block;
  letter-spacing: 0.5rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item .pic .caption span {
    font-size: 3rem;
    line-height: calc(35/30);
  }
}

.p-service .p-service_about .about_list_item .link {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #FFD1DC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item .link {
    max-width: 41.6rem;
    width: 100%;
    text-align: right;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.p-service .p-service_about .about_list_item .link .link_title {
  display: block;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #000000;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.p-service .p-service_about .about_list_item .link .arrow_icon {
  position: relative;
  width: 3.5rem;
  height: 1.4rem;
  overflow: hidden;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item .link .arrow_icon {
    margin-left: 1.5rem;
  }
}

.p-service .p-service_about .about_list_item .link .arrow_icon .arrow_line {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.45rem;
  height: 1px;
  background-color: #FD8AA6;
  -webkit-transition: opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: transform 0.35s ease-out, opacity 0.35s ease-out;
  transition: transform 0.35s ease-out, opacity 0.35s ease-out, -webkit-transform 0.35s ease-out;
}

.p-service .p-service_about .about_list_item .link .arrow_icon .arrow_line:after {
  content: '';
  width: 0.8rem;
  height: 0.8rem;
  background-color: #FD8AA6;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-service .p-service_about .about_list_item .link .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
  opacity: 1;
}

.p-service .p-service_about .about_list_item .link .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(-3.5rem);
  transform: translateY(-50%) translateX(-3.5rem);
  opacity: 0;
}

@media screen and (min-width: 769px) {
  .p-service .p-service_about .about_list_item:hover .pic picture img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  .p-service .p-service_about .about_list_item:hover .link .link_title {
    color: #FD8AA6;
  }
  .p-service .p-service_about .about_list_item:hover .link .arrow_icon .arrow_1 {
    -webkit-transform: translateY(-50%) translateX(3.5rem);
    transform: translateY(-50%) translateX(3.5rem);
    opacity: 0;
  }
  .p-service .p-service_about .about_list_item:hover .link .arrow_icon .arrow_2 {
    -webkit-transform: translateY(-50%) translateX(0);
    transform: translateY(-50%) translateX(0);
    opacity: 1;
  }
  .p-service .p-service_about .about_list_item:nth-child(2) {
    margin-top: 10rem;
  }
  .p-service .p-service_about .about_list_item:nth-child(3) {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_about .about_list_item:nth-child(2) .link {
    text-align: left;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.p-service .p-service_maintenance {
  padding: 18.1rem 0 18rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance {
    padding: 12.2rem 0 15rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .container {
    padding: 0 5rem;
  }
}

.p-service .p-service_maintenance .title_maintenance {
  font-size: 4rem;
  line-height: calc(64/40);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  position: relative;
  text-align: center;
  padding-bottom: 2.5rem;
  margin-bottom: 7rem;
}

.p-service .p-service_maintenance .title_maintenance:after {
  content: "";
  width: 11.5rem;
  height: 0.8rem;
  background: url("../img/service/deco_ttl.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-service .p-service_maintenance .maintenance_item {
  position: relative;
}

.p-service .p-service_maintenance .maintenance_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .p-service .p-service_maintenance .maintenance_item a {
    height: 48rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-service .p-service_maintenance .maintenance_item a:hover {
  opacity: 1;
}

.p-service .p-service_maintenance .maintenance_item:nth-child(1) {
  background: url("../img/service/bg_maintenance01_pc.jpg") no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item:nth-child(1) {
    background: url("../img/service/bg_maintenance01_sp.png") no-repeat;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 769px) {
  .p-service .p-service_maintenance .maintenance_item:nth-child(1) .pic {
    position: absolute;
    top: 1.9rem;
    bottom: 1.9rem;
    right: 1.9rem;
    width: 72rem;
    padding: 0;
    -webkit-transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(1) .pic img {
    -o-object-position: right center;
    object-position: right center;
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(1) .txt {
    position: absolute;
    left: 1.9rem;
    top: 1.9rem;
    bottom: 1.9rem;
    width: calc(100% - 72rem - 1.9rem);
    padding: 5rem 5.3rem 5.8rem 8rem;
    -webkit-transition: opacity 0.35s ease-out;
    transition: opacity 0.35s ease-out;
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(1):hover .pic {
    width: calc(100% - 3.8rem);
  }
}

.p-service .p-service_maintenance .maintenance_item:nth-child(2) {
  background: url("../img/service/bg_maintenance02_pc.jpg") no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item:nth-child(2) {
    background: url("../img/service/bg_maintenance02_sp.png") no-repeat;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 769px) {
  .p-service .p-service_maintenance .maintenance_item:nth-child(2) .pic {
    position: absolute;
    top: 1.9rem;
    bottom: 1.9rem;
    left: 1.9rem;
    width: 72rem;
    padding: 0;
    -webkit-transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(2) .pic img {
    -o-object-position: left center;
    object-position: left center;
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(2) .txt {
    position: absolute;
    right: 1.9rem;
    top: 1.9rem;
    bottom: 1.9rem;
    width: calc(100% - 72rem - 1.9rem);
    padding: 5rem 5.3rem 5.8rem 8rem;
    -webkit-transition: opacity 0.35s ease-out;
    transition: opacity 0.35s ease-out;
  }
  .p-service .p-service_maintenance .maintenance_item:nth-child(2):hover .pic {
    width: calc(100% - 3.8rem);
  }
}

.p-service .p-service_maintenance .maintenance_item:not(:last-child) {
  margin-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item:not(:last-child) {
    margin-bottom: 4rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .pic {
  overflow: hidden;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .pic {
    width: 100%;
    padding: 1.9rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .pic .hover-img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.p-service .p-service_maintenance .maintenance_item .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-service .p-service_maintenance .maintenance_item .pic:after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
  pointer-events: none;
  z-index: 2;
}

.p-service .p-service_maintenance .maintenance_item .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt {
    width: 100%;
    padding: 2.4rem 5.2rem 3.2rem 4.8rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-column-gap: 4.2rem;
    -moz-column-gap: 4.2rem;
    column-gap: 4.2rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .txt h3 {
  font-size: 10.1rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt h3 {
    font-size: 10.2rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .txt h3 span {
  font-size: 6.4rem;
  line-height: 1;
  display: inline-block;
  margin: 0 0 -1rem 0.5rem;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt h3 span {
    font-size: 6rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .txt .desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt .desc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    gap: 1.5rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .txt p {
  font-size: 2.4rem;
  line-height: calc(42/24);
  letter-spacing: 0.15em;
  color: #fff;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt p {
    font-size: 2.8rem;
    line-height: calc(42/28);
  }
}

@media screen and (max-width: 768px) {
  .p-service .p-service_maintenance .maintenance_item .txt .more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 1.5rem;
  }
  .p-service .p-service_maintenance .maintenance_item .txt .more span {
    font-size: 1.9rem;
    line-height: 1;
    font-family: "Shippori Mincho", serif;
    color: #fff;
    display: inline-block;
    position: relative;
    padding-right: 5rem;
  }
  .p-service .p-service_maintenance .maintenance_item .txt .more span:before {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    background-color: #fff;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    margin-top: 0.2rem;
  }
  .p-service .p-service_maintenance .maintenance_item .txt .more span:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 2.45rem;
    height: 1px;
    background-color: #fff;
    margin-top: 0.2rem;
  }
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content {
  position: absolute;
  top: 1.9rem;
  left: 1.9rem;
  right: 1.9rem;
  bottom: 1.9rem;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.35s ease-out, visibility 0.35s ease-out;
  transition: opacity 0.35s ease-out, visibility 0.35s ease-out;
  z-index: 5;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_center {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_center h3 {
  font-size: 10.1rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_center h3 span {
  font-size: 6.4rem;
  line-height: 1;
  display: inline-block;
  margin: 0 0 -1rem 0.5rem;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_center .hover_desc {
  margin-top: 2.5rem;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_center .hover_desc p {
  font-size: 2.4rem;
  line-height: calc(42/24);
  letter-spacing: 0.15em;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  text-align: center;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_arrow_right {
  position: absolute;
  right: 6.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 3.2rem;
  height: 1px;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.35s ease-out;
  transition: -webkit-transform 0.35s ease-out;
  transition: transform 0.35s ease-out;
  transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}

.p-service .p-service_maintenance .maintenance_item .maintenance_hover_content .hover_arrow_right:after {
  content: '';
  width: 0.8rem;
  height: 0.8rem;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .p-service .p-service_maintenance .maintenance_item:hover .pic:after {
    opacity: 1;
  }
  .p-service .p-service_maintenance .maintenance_item:hover .pic img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
  .p-service .p-service_maintenance .maintenance_item:hover .txt {
    opacity: 0;
    pointer-events: none;
  }
  .p-service .p-service_maintenance .maintenance_item:hover .maintenance_hover_content {
    opacity: 1;
    visibility: visible;
  }
  .p-service .p-service_maintenance .maintenance_item:hover .maintenance_hover_content .hover_arrow_right {
    -webkit-transform: translateY(-50%) translateX(8px);
    transform: translateY(-50%) translateX(8px);
  }
}

.p-service-sub {
  padding-bottom: 18rem;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-service-sub {
    padding-bottom: 15rem;
  }
}

.p-service-sub:after {
  content: "";
  width: 118.1rem;
  height: 91.7rem;
  background: url("../img/storage/deco_main01.png") no-repeat center center/contain;
  position: absolute;
  top: 2rem;
  right: -73rem;
  z-index: -1;
  pointer-events: none;
}

.p-service-sub-sc {
  padding-bottom: 17.5rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc:before {
    content: "";
    width: 118.1rem;
    height: 91.7rem;
    background: url("../img/storage/deco_main01.png") no-repeat center center/contain;
    position: absolute;
    top: -70rem;
    left: -60rem;
    z-index: -1;
    opacity: 0.41;
    pointer-events: none;
  }
}

.p-service-sub-sc .container {
  max-width: 113rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-column-gap: 12rem;
  -moz-column-gap: 12rem;
  column-gap: 12rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media screen and (min-width: 769px) {
  .p-service-sub-sc .p-service-sub-sc_img {
    width: 56rem;
    margin-top: -11rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .p-service-sub-sc_img {
    width: 40rem;
    margin-left: auto;
    margin-right: -4rem;
    margin-top: -19.2rem;
  }
}

.p-service-sub-sc .p-service-sub-sc_ctn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-top: 18rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .p-service-sub-sc_ctn {
    margin-top: 12.2rem;
    padding: 0 2.5rem;
  }
}

.p-service-sub-sc .p-service-sub-sc_ctn .ttl {
  font-size: 2.8rem;
  line-height: calc(54/28);
  font-weight: 400;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 6.8rem;
  position: relative;
}

.p-service-sub-sc .p-service-sub-sc_ctn .ttl:before {
  content: "";
  position: absolute;
  top: -6rem;
  left: -6rem;
  width: 12rem;
  height: 11rem;
  background: url(../img/storage/icon_ttl01.png) no-repeat center center/contain;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .p-service-sub-sc_ctn .ttl:before {
    width: 13rem;
    height: 11.5rem;
    top: -5.2rem;
    left: -4.5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .p-service-sub-sc_ctn .ttl {
    font-size: 3.6rem;
    line-height: calc(64/36);
  }
}

.p-service-sub-sc .p-service-sub-sc_ctn .txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-service-sub-sc .p-service-sub-sc_ctn .txt {
    line-height: calc(48/24);
    letter-spacing: 0.096em;
  }
}

.p-service-sub-ct {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 0 18rem 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-service-sub-ct:after {
  content: "";
  width: 100rem;
  height: 99.7rem;
  background: url("../img/storage/deco_main02.png") no-repeat center center/contain;
  position: absolute;
  top: 13.8rem;
  right: 11rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct:after {
    top: -5rem;
    right: -33rem;
  }
}

.p-service-sub-ct_img {
  width: 50%;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct_img {
    width: 100%;
    padding-right: 5rem;
  }
}

@media screen and (min-width: 769px) {
  .p-service-sub-ct_img:after {
    content: "";
    width: 30rem;
    height: 30rem;
    background: url("../img/storage/deco_img.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -8rem;
    right: -8rem;
  }
}

.p-service-sub-ct_img img {
  position: relative;
  z-index: 1;
}

.p-service-sub-ct_ctn {
  width: 50%;
  padding: 0 calc((100% - 118rem) / 2) 0 14rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct_ctn {
    width: 100%;
    padding: 0 9.5rem;
    margin-top: 11.2rem;
  }
}

.p-service-sub-ct_ctn .ttl {
  font-size: 2.8rem;
  line-height: calc(54/28);
  font-weight: 400;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 6.8rem;
  position: relative;
}

.p-service-sub-ct_ctn .ttl:before {
  content: "";
  position: absolute;
  top: -11.6rem;
  left: -1rem;
  width: 17rem;
  height: 18rem;
  background: url(../img/storage/icon_ttl02.png) no-repeat center center/contain;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct_ctn .ttl:before {
    width: 10rem;
    height: 10rem;
    top: -2.6rem;
    left: auto;
    right: -6rem;
  }
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct_ctn .ttl {
    font-size: 3.6rem;
    line-height: calc(64/36);
    display: inline-block;
  }
}

.p-service-sub-ct_ctn .txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-service-sub-ct_ctn .txt {
    line-height: calc(48/24);
    letter-spacing: 0.096em;
  }
}

.p-service-sub-bt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-bottom: 14.5rem;
  position: relative;
}

.p-service-sub-bt:before {
  content: "";
  width: 118.1rem;
  height: 91.7rem;
  background: url("../img/storage/deco_main03.png") no-repeat center center/contain;
  position: absolute;
  top: 14.3rem;
  left: -69.8rem;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-service-sub-bt:before {
    left: -52.8rem;
  }
}

.p-service-sub-bt_img {
  width: calc(100% + 9rem);
  margin-right: -7rem;
  margin-left: -2rem;
}

.p-service-sub-bt_ctn {
  margin-top: 10rem;
  padding: 0 10rem;
}

@media screen and (max-width: 768px) {
  .p-service-sub-bt_ctn {
    padding: 0 2.5rem;
    margin-top: 11.2rem;
  }
}

.p-service-sub-bt_ctn .ttl {
  font-size: 2.8rem;
  line-height: calc(54/28);
  font-weight: 400;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 6.8rem;
  position: relative;
}

.p-service-sub-bt_ctn .ttl:before {
  content: "";
  position: absolute;
  top: -7.1rem;
  left: -8rem;
  width: 14rem;
  height: 13rem;
  background: url(../img/storage/icon_ttl03.png) no-repeat center center/contain;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-service-sub-bt_ctn .ttl:before {
    width: 8.3rem;
    height: 8.5rem;
    top: -4rem;
    right: -0.5rem;
    left: auto;
  }
}

@media screen and (max-width: 768px) {
  .p-service-sub-bt_ctn .ttl {
    font-size: 3.6rem;
    line-height: calc(64/36);
    display: inline-block;
  }
}

.p-service-sub-bt_ctn .txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-service-sub-bt_ctn .txt {
    line-height: calc(48/24);
    letter-spacing: 0.096em;
  }
}

.b-button_bottom_col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
  }
}

.b-button_bottom_col3 li a {
  width: 100%;
  height: 10rem;
  border: 1px solid #B9B9B9;
  padding: 1rem 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a {
    height: 13rem;
    padding: 1rem 5.5rem;
  }
}

.b-button_bottom_col3 li a:before {
  content: "";
  width: 0.5rem;
  height: 100%;
  background: #FFD1DC;
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: 2;
}

.b-button_bottom_col3 li a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 1;
  pointer-events: none;
}

.b-button_bottom_col3 li a > span:not(.arrow_icon) {
  font-size: 1.6rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  position: relative;
  z-index: 2;
  color: #000;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a > span:not(.arrow_icon) {
    font-size: 3rem;
  }
}

.b-button_bottom_col3 li a .arrow_icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 3rem;
  width: 2.8rem;
  height: 1.2rem;
  overflow: hidden;
  display: inline-block;
  z-index: 2;
  pointer-events: none;
  background: transparent !important;
  background-color: transparent !important;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a .arrow_icon {
    right: 3.5rem;
    width: 4rem;
    height: 1.6rem;
  }
}

.b-button_bottom_col3 li a .arrow_icon .arrow_line {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.45rem;
  height: 1px;
  background-color: #FD8AA6;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a .arrow_icon .arrow_line {
    width: 3.2rem;
  }
}

.b-button_bottom_col3 li a .arrow_icon .arrow_line:after {
  content: '';
  width: 0.8rem;
  height: 0.8rem;
  background-color: inherit;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a .arrow_icon .arrow_line:after {
    width: 1rem;
    height: 1rem;
  }
}

.b-button_bottom_col3 li a .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.b-button_bottom_col3 li a .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(-4.5rem);
  transform: translateY(-50%) translateX(-4.5rem);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a .arrow_icon .arrow_line.arrow_2 {
    -webkit-transform: translateY(-50%) translateX(-6.4rem);
    transform: translateY(-50%) translateX(-6.4rem);
  }
}

.b-button_bottom_col3 li a:hover:after {
  opacity: 1;
}

.b-button_bottom_col3 li a:hover .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(4.5rem);
  transform: translateY(-50%) translateX(4.5rem);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col3 li a:hover .arrow_icon .arrow_line.arrow_1 {
    -webkit-transform: translateY(-50%) translateX(6.4rem);
    transform: translateY(-50%) translateX(6.4rem);
  }
}

.b-button_bottom_col3 li a:hover .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.b-button_bottom_col3 li:nth-child(1) a:after,
.b-button_bottom_col3 li a[href*="/storage/"]:after {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0.75))), url("../img/common/service_btn01.jpg");
  background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), url("../img/common/service_btn01.jpg");
}

.b-button_bottom_col3 li:nth-child(2) a:after,
.b-button_bottom_col3 li a[href*="/shipping/"]:after {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0.75))), url("../img/common/service_btn02.jpg");
  background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), url("../img/common/service_btn02.jpg");
}

.b-button_bottom_col3 li:nth-child(3) a:after,
.b-button_bottom_col3 li a[href*="/cleaning/"]:after {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0.75))), url("../img/common/service_btn03.jpg");
  background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), url("../img/common/service_btn03.jpg");
}

.b-button_bottom_col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
  }
}

.b-button_bottom_col2 li a {
  width: 100%;
  height: 12rem;
  padding: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a {
    height: 20rem;
  }
}

.b-button_bottom_col2 li a > span:not(.arrow_icon) {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 2.3rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  background-color: #fff;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a > span:not(.arrow_icon) {
    font-size: 3.2rem;
  }
}

.b-button_bottom_col2 li a .arrow_icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 3.5rem;
  width: 2.8rem;
  height: 1.2rem;
  overflow: hidden;
  display: inline-block;
  z-index: 2;
  pointer-events: none;
  background: transparent !important;
  background-color: transparent !important;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a .arrow_icon {
    right: 3.5rem;
    width: 4rem;
    height: 1.6rem;
  }
}

.b-button_bottom_col2 li a .arrow_icon .arrow_line {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.45rem;
  height: 1px;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: background-color 0.3s ease, -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.3s ease;
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.3s ease, -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a .arrow_icon .arrow_line {
    width: 3.2rem;
  }
}

.b-button_bottom_col2 li a .arrow_icon .arrow_line:after {
  content: '';
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: inherit;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a .arrow_icon .arrow_line:after {
    width: 1rem;
    height: 1rem;
  }
}

.b-button_bottom_col2 li a .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.b-button_bottom_col2 li a .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(-4.5rem);
  transform: translateY(-50%) translateX(-4.5rem);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a .arrow_icon .arrow_line.arrow_2 {
    -webkit-transform: translateY(-50%) translateX(-6.4rem);
    transform: translateY(-50%) translateX(-6.4rem);
  }
}

.b-button_bottom_col2 li a.btn01 {
  color: #814781;
  background: url("../img/storage/bg_btn01.png") no-repeat center center/100% 100%;
}

.b-button_bottom_col2 li a.btn01 > span:not(.arrow_icon) {
  color: #814781;
}

.b-button_bottom_col2 li a.btn01 .arrow_icon .arrow_line {
  background-color: #814781;
}

.b-button_bottom_col2 li a.btn01:hover > span:not(.arrow_icon) {
  background-color: transparent;
  color: #fff;
}

.b-button_bottom_col2 li a.btn01:hover .arrow_icon .arrow_line {
  background-color: #fff;
}

.b-button_bottom_col2 li a.btn01:hover .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(4.5rem);
  transform: translateY(-50%) translateX(4.5rem);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a.btn01:hover .arrow_icon .arrow_line.arrow_1 {
    -webkit-transform: translateY(-50%) translateX(6.4rem);
    transform: translateY(-50%) translateX(6.4rem);
  }
}

.b-button_bottom_col2 li a.btn01:hover .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.b-button_bottom_col2 li a.btn02 {
  color: #998973;
  background: url("../img/storage/bg_btn02.png") no-repeat center center/100% 100%;
}

.b-button_bottom_col2 li a.btn02 > span:not(.arrow_icon) {
  color: #998973;
}

.b-button_bottom_col2 li a.btn02 .arrow_icon .arrow_line {
  background-color: #9A8872;
}

.b-button_bottom_col2 li a.btn02:hover > span:not(.arrow_icon) {
  background-color: transparent;
  color: #fff;
}

.b-button_bottom_col2 li a.btn02:hover .arrow_icon .arrow_line {
  background-color: #fff;
}

.b-button_bottom_col2 li a.btn02:hover .arrow_icon .arrow_line.arrow_1 {
  -webkit-transform: translateY(-50%) translateX(4.5rem);
  transform: translateY(-50%) translateX(4.5rem);
}

@media screen and (max-width: 768px) {
  .b-button_bottom_col2 li a.btn02:hover .arrow_icon .arrow_line.arrow_1 {
    -webkit-transform: translateY(-50%) translateX(6.4rem);
    transform: translateY(-50%) translateX(6.4rem);
  }
}

.b-button_bottom_col2 li a.btn02:hover .arrow_icon .arrow_line.arrow_2 {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.p-flow {
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .p-flow {
    padding-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-flow .key-visual {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-flow .key-visual .key-visual_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding: 0 0 22rem calc(60/1400 * 100%);
  position: relative;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-flow .key-visual .key-visual_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
  }
}

.p-flow .key-visual .kv-img {
  width: calc(480/1400 * 100%);
}

.p-flow .key-visual .kv-img img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-flow .key-visual .kv-img {
    width: 56rem;
  }
}

.p-flow .key-visual .kv-img2 {
  width: calc(400/1400 * 100%);
  position: absolute;
  right: 0;
  bottom: 0;
}

.p-flow .key-visual .kv-img2 img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-flow .key-visual .kv-img2 {
    position: static;
    width: 39rem;
    margin-top: 5.3rem;
    margin-left: auto;
    margin-right: 5rem;
  }
}

@media screen and (min-width: 769px) {
  .p-flow .key-visual .kv-ctn {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 18.2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-flow .key-visual .kv-ctn {
    padding: 10.2rem 6rem 9rem;
  }
}

.p-flow_about {
  padding: 6rem 0 17rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-flow_about {
    padding: 1rem 0 13.7rem;
  }
}

.p-flow_about:after {
  content: "";
  width: 80rem;
  height: 80rem;
  background: url("../img/flow/deco_main01.png") center/contain no-repeat;
  position: absolute;
  top: -57rem;
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-flow_about:after {
    top: -84rem;
  }
}

.p-flow_about .heading-lv2 {
  margin-bottom: 6rem;
}

.p-flow_about p {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-flow_about p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-flow_step {
  padding-bottom: 17.5rem;
  position: relative;
}

.p-flow_step:before {
  content: "";
  width: 1rem;
  height: 100%;
  background: #FD8AA6;
  background: -webkit-gradient(linear, left bottom, left top, from(#fd8aa6), to(#ffd1dc));
  background: linear-gradient(0deg, #fd8aa6 0%, #ffd1dc 100%);
  position: absolute;
  top: 0;
  left: calc((100% - 87rem) / 2);
}

@media screen and (max-width: 768px) {
  .p-flow_step:before {
    width: 0.6rem;
    left: 12.7rem;
  }
}

.p-flow_step .step_item .container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .container {
    padding: 0 5rem;
  }
}

.p-flow_step .step_item:not(:last-child) {
  padding-bottom: 16rem;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item:not(:last-child) {
    padding-bottom: 8.5rem;
  }
}

.p-flow_step .step_item .step_nb {
  width: 32rem;
  height: 32rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.8rem;
  position: relative;
  z-index: 2;
  border-radius: 100%;
  margin-top: -6rem;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_nb {
    margin-top: 0;
    width: 16rem;
    height: 16rem;
  }
}

.p-flow_step .step_item .step_nb .nb {
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  color: #FD8AA6;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_nb .nb {
    font-size: 2.7rem;
    letter-spacing: 0.08em;
  }
}

.p-flow_step .step_item .step_nb .sub {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_nb .sub {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 18rem;
    width: 100%;
    font-size: 3.6rem;
    padding-left: 5.5rem;
    white-space: nowrap;
  }
  .p-flow_step .step_item .step_nb .sub::before {
    content: "";
    width: 4.2rem;
    height: 1.2rem;
    background: url("../img/flow/icon_ttl.png") center/contain no-repeat;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
  }
}

.p-flow_step .step_item .pic_lg {
  width: 100%;
  position: relative;
  z-index: 1;
}

.p-flow_step .step_item .step_txt {
  max-width: 60rem;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

.p-flow_step .step_item .step_txt .step_title {
  font-size: 2.8rem;
  line-height: calc(48/28);
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.2em;
  font-weight: 400;
  padding-bottom: 3.5rem;
  margin-bottom: 3.5rem;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-flow_step .step_item .step_txt .step_title {
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_txt .step_title {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    font-size: 3rem;
    line-height: calc(54/30);
    width: 46rem;
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 769px) {
  .p-flow_step .step_item .step_txt .step_title::before {
    content: "";
    width: 4.2rem;
    height: 1.2rem;
    background: url("../img/flow/icon_ttl.png") center/contain no-repeat;
    position: absolute;
    top: 1.9rem;
    left: -8rem;
  }
}

.p-flow_step .step_item .step_txt .step_title:after {
  content: "";
  width: 70rem;
  height: 1px;
  background-color: #FFD1DC;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_txt .step_title:after {
    width: 100%;
  }
}

.p-flow_step .step_item .step_txt p {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.035em;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_txt p {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    font-size: 2.4rem;
    line-height: calc(48/24);
    width: 46rem;
  }
}

.p-flow_step .step_item .step_txt .pic {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item .step_txt .pic {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin: -3rem 0 6rem;
  }
}

.p-flow_step .step_item .step_txt .pic img {
  width: 100%;
  height: auto;
}

.p-flow_step .step_item.item01 {
  position: relative;
}

.p-flow_step .step_item.item01:before {
  content: "";
  width: 118.1rem;
  height: 91.7rem;
  background: url("../img/flow/deco_main02.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -6rem;
  left: -22rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item01:before {
    top: -43rem;
    left: -68rem;
  }
}

.p-flow_step .step_item.item01 .step_nb {
  background: #fff url("../img/flow/bg_step01.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item02 .step_nb {
  background: #fff url("../img/flow/bg_step02.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item03 {
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item03:after {
    content: "";
    width: 118.1rem;
    height: 91.7rem;
    background: url("../img/flow/deco_main02.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: -40rem;
    right: -74rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-flow_step .step_item.item03 .step_nb {
  background: #fff url("../img/flow/bg_step03.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item04 {
  position: relative;
}

.p-flow_step .step_item.item04:before {
  content: "";
  width: 70rem;
  height: 79.4rem;
  background: url("../img/flow/deco_main03.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -18rem;
  left: 0;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item04:before {
    top: -9.6rem;
  }
}

.p-flow_step .step_item.item04 .step_nb {
  background: #fff url("../img/flow/bg_step04.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item05 {
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-flow_step .step_item.item05:before {
    content: "";
    width: 86.2rem;
    height: 129rem;
    background: url("../img/flow/deco_main04.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
  }
}

.p-flow_step .step_item.item05 .step_nb {
  background: #fff url("../img/flow/bg_step05.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item06 {
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item06:after {
    content: "";
    width: 118.1rem;
    height: 91.7rem;
    background: url("../img/flow/deco_main02.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: -70rem;
    right: -74rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-flow_step .step_item.item06 .step_nb {
  background: #fff url("../img/flow/bg_step06.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item07 {
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-flow_step .step_item.item07:before {
    content: "";
    width: 100rem;
    height: 99.7rem;
    background: url("../img/flow/deco_main05.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: -17.6rem;
    left: -15rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-flow_step .step_item.item07 .step_nb {
  background: #fff url("../img/flow/bg_step07.png") center/100% 100% no-repeat;
}

.p-flow_step .step_item.item07 .step_txt {
  margin-top: 9rem;
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item07 .step_txt {
    margin-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-flow_step .step_item.item07 .step_nb {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .p-flow_step .step_item.item07 .pic_lg {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: -3rem -5rem 0;
    width: calc(100% + 10rem);
  }
  .p-flow_step .step_item.item07 .step_txt {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}

.p-flow_step .bg_fixed {
  width: 100%;
  height: 54rem;
  margin-bottom: 18rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
}

@media screen and (max-width: 768px) {
  .p-flow_step .bg_fixed {
    height: 45rem;
    margin-bottom: 9rem;
  }
}

.p-flow_step .bg_fixed picture {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: -1;
  pointer-events: none;
  display: block;
}

.p-flow_step .bg_fixed picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-flow_step .pic-middle {
  margin-bottom: 20rem;
}

@media screen and (max-width: 768px) {
  .p-flow_step .pic-middle {
    margin-left: -7rem;
    margin-right: -7rem;
    margin-bottom: 10rem;
  }
}

.p-maintenance {
  padding-bottom: 18rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance {
    padding-bottom: 15rem;
  }
}

.p-maintenance_kv {
  min-height: 80rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-maintenance_kv {
    min-height: 83rem;
  }
}

.p-maintenance_kv .kv_title {
  text-align: center;
}

.p-maintenance_kv .kv_title .kv_sub {
  font-size: 2.4rem;
  line-height: calc(30/24);
  font-family: "Shippori Mincho", serif;
  display: block;
  font-weight: 600;
  color: #fff;
  margin-bottom: 1rem;
}

.p-maintenance_kv .kv_title .kv_title {
  font-size: 13.2rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.p-maintenance_kv .kv_title .kv_title small {
  font-size: 7.7rem;
  line-height: 1;
  display: inline-block;
  margin: 0 0 -1.5rem 0.5rem;
}

.p-maintenance_kv .kv_desc {
  position: absolute;
  bottom: 6.7rem;
  right: 11rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_kv .kv_desc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    right: auto;
    left: 7rem;
  }
}

.p-maintenance_kv .kv_desc span {
  display: block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 3.2rem;
  line-height: calc(40/32);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-maintenance_kv .kv_desc span {
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
}

.p-maintenance_top {
  padding: 18rem 0 13.5rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_top {
    padding: 12rem 0 18rem;
  }
}

@media screen and (max-width: 768px) {
  .p-maintenance_top .pic {
    width: calc(100% + 9rem);
    margin-left: -7rem;
  }
}

.p-maintenance_top .pic img {
  width: 100%;
  height: auto;
}

.p-maintenance_top .content {
  max-width: 72rem;
  width: 100%;
  margin: 9rem auto 0;
}

@media screen and (max-width: 768px) {
  .p-maintenance_top .content {
    margin: 10.2rem 0 0;
    max-width: 100%;
    padding: 0 1.7rem;
  }
}

.p-maintenance_top .content .maintenance-top_ttl {
  font-size: 3.6rem;
  line-height: calc(64/36);
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.2em;
  margin-bottom: 4.5rem;
  text-align: center;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-maintenance_top .content .maintenance-top_ttl {
    margin-bottom: 6.5rem;
    text-align: left;
  }
}

.p-maintenance_top .content p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-maintenance_top .content p {
    line-height: calc(48/24);
  }
}

.p-maintenance_col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11.5em 15rem;
  margin-bottom: 11.5rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_col2 {
    grid-template-columns: 1fr;
    gap: 12.2rem;
    margin-bottom: 12.2rem;
  }
}

.p-maintenance_col1 {
  margin-bottom: 7rem;
}

@media screen and (min-width: 769px) {
  .p-maintenance_col1 .p-maintenance_item {
    position: relative;
  }
  .p-maintenance_col1 .p-maintenance_item:not(:last-child) {
    margin-bottom: 12rem;
  }
  .p-maintenance_col1 .p-maintenance_item:after {
    content: "";
    display: table;
    clear: both;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .maintenance-item_ttl {
    float: left;
    width: 40rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .pic {
    float: right;
    width: 66rem;
    margin-bottom: 0;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .pic:after {
    content: none;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .head_sub {
    float: left;
    width: 52rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right p {
    float: left;
    width: 40rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .maintenance-item_ttl {
    float: right;
    width: 40rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .pic {
    float: left;
    width: 66rem;
    margin-bottom: 0;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .pic:after {
    content: none;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .head_sub {
    float: right;
    width: 52rem;
    padding-left: 12rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left p {
    float: right;
    width: 40rem;
  }
}

@media screen and (max-width: 768px) {
  .p-maintenance_col1 {
    margin-bottom: 8.2rem;
  }
  .p-maintenance_col1 .p-maintenance_item:not(:last-child) {
    margin-bottom: 12.2rem;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .pic {
    margin-left: -7rem;
    margin-right: auto;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_left .pic:after {
    content: none;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .pic {
    margin-right: -7rem;
    margin-left: auto;
  }
  .p-maintenance_col1 .p-maintenance_item.pic_right .pic:after {
    content: none;
  }
}

.p-maintenance_item .maintenance-item_ttl {
  font-size: 2.8rem;
  line-height: calc(46/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  position: relative;
  min-height: 9.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 3.5rem;
  margin-bottom: 6.8rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_item .maintenance-item_ttl {
    font-size: 3.6rem;
    line-height: calc(64/36);
    letter-spacing: 0;
    margin-bottom: 8.2rem;
  }
}

.p-maintenance_item .maintenance-item_ttl:before {
  content: "";
  width: 0.5rem;
  height: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.p-maintenance_item .pic {
  position: relative;
  z-index: 1;
  margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_item .pic {
    margin-bottom: 6rem;
  }
}

.p-maintenance_item .pic:after {
  content: "";
  width: 42rem;
  height: 42rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -3rem;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-maintenance_item .pic:after {
    width: 42.4rem;
    height: calc(100% + 4rem);
    right: -3rem;
  }
}

.p-maintenance_item .pic img {
  width: 100%;
  height: auto;
}

.p-maintenance_item .head_sub {
  margin-bottom: 4rem;
  padding: 1.2rem 2rem;
  width: calc(100% + 4rem);
}

@media screen and (max-width: 768px) {
  .p-maintenance_item .head_sub {
    padding: 0;
    width: auto;
  }
}

.p-maintenance_item .head_sub span {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-maintenance_item .head_sub span {
    font-size: 3.6rem;
    padding: 0.5rem 2.3rem;
    letter-spacing: 0.05em;
  }
  .p-maintenance_item .head_sub span + span {
    margin-top: 1rem;
  }
}

.p-maintenance_item p {
  font-size: 1.4rem;
  line-height: calc(28/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-maintenance_item p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-maintenance_compare {
  padding: 7rem 7rem 4.9rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_compare {
    padding: 9rem 5rem;
    grid-template-columns: 1fr;
    gap: 10.6rem;
  }
}

.p-maintenance_compare_item img {
  width: 100%;
  height: auto;
}

.p-maintenance_compare_item span {
  display: block;
  font-size: 2rem;
  line-height: calc(64/20);
  letter-spacing: 0.15em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-maintenance_compare_item span {
    text-align: center;
    font-size: 3rem;
    line-height: calc(54/30);
    margin-top: 2rem;
  }
}

.p-maintenance_japan .p-maintenance_kv {
  background: url("../img/maintenance_japan/bg_kv_pc.jpg") no-repeat center/cover;
}

@media screen and (max-width: 768px) {
  .p-maintenance_japan .p-maintenance_kv {
    background: url("../img/maintenance_japan/bg_kv_sp.jpg") no-repeat center/cover;
  }
}

.p-maintenance_japan .p-maintenance_top .content .maintenance-top_ttl span {
  color: #824A80;
}

.p-maintenance_japan .p-maintenance_item .maintenance-item_ttl:before {
  background: url("../img/maintenance_japan/icon_ttl.png") no-repeat;
  background-size: 100% 100%;
}

.p-maintenance_japan .p-maintenance_item .pic:after {
  background: url("../img/maintenance_japan/bg_item.jpg") no-repeat;
  background-size: 100% 100%;
}

@media screen and (min-width: 769px) {
  .p-maintenance_japan .p-maintenance_item .head_sub {
    background-color: rgba(232, 207, 248, 0.2);
  }
}

@media screen and (max-width: 768px) {
  .p-maintenance_japan .p-maintenance_item .head_sub span {
    background-color: rgba(232, 207, 248, 0.2);
  }
}

.p-maintenance_japan .p-maintenance_compare {
  background-color: rgba(232, 207, 248, 0.2);
  margin-bottom: 12rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_japan .p-maintenance_compare {
    margin-bottom: 13rem;
  }
}

.p-maintenance_japan .p-maintenance_compare_item:not(:last-child) {
  position: relative;
}

.p-maintenance_japan .p-maintenance_compare_item:not(:last-child):after {
  content: "";
  width: 1.1rem;
  height: 6.6rem;
  background: url("../img/maintenance_japan/arrow.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 40%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -4.5rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_japan .p-maintenance_compare_item:not(:last-child):after {
    width: 1.6rem;
    height: 8.6rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
    transform: translate(-50%, 0) rotate(90deg);
    right: auto;
    top: auto;
    bottom: -9rem;
  }
}

.p-maintenance_japan .b-button_bottom {
  margin-top: 14rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_japan .b-button_bottom {
    margin-top: 14.2rem;
  }
}

@media screen and (min-width: 769px) {
  .p-maintenance_western .p-maintenance_kv {
    background: url("../img/maintenance_western/bg_kv_pc.jpg") no-repeat center/cover;
  }
}

@media screen and (max-width: 768px) {
  .p-maintenance_western .p-maintenance_kv {
    background: url("../img/maintenance_western/bg_kv_sp.jpg") no-repeat center/cover;
  }
}

.p-maintenance_western .p-maintenance_top .content .maintenance-top_ttl span {
  color: #AC9666;
}

.p-maintenance_western .p-maintenance_item .maintenance-item_ttl:before {
  background: url("../img/maintenance_western/icon_ttl.png") no-repeat;
  background-size: 100% 100%;
}

.p-maintenance_western .p-maintenance_item .pic:after {
  background: url("../img/maintenance_western/bg_item.jpg") no-repeat;
  background-size: 100% 100%;
}

@media screen and (min-width: 769px) {
  .p-maintenance_western .p-maintenance_item .head_sub {
    background-color: rgba(248, 225, 159, 0.3);
  }
}

@media screen and (max-width: 768px) {
  .p-maintenance_western .p-maintenance_item .head_sub span {
    background-color: rgba(248, 225, 159, 0.3);
  }
}

.p-maintenance_western .p-maintenance_compare {
  background-color: rgba(248, 225, 159, 0.3);
  margin-bottom: 14rem;
}

@media screen and (max-width: 768px) {
  .p-maintenance_western .p-maintenance_compare {
    margin-bottom: 12rem;
    gap: 7.8rem;
  }
}

.p-costumes {
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .p-costumes {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes {
    padding-bottom: 12rem;
  }
}

.p-costumes_kv {
  position: relative;
  z-index: 1;
  max-width: 140rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-costumes_kv {
    padding-top: 7rem;
  }
}

.p-costumes_kv:after {
  content: "";
  width: 137.3rem;
  height: 103rem;
  background: url("../img/costumes/deco01.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: -24.7rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-costumes_kv:after {
    width: 125.3rem;
    height: 94rem;
    top: 18rem;
    right: -46.2rem;
  }
}

.p-costumes_kv_pic .kv-img {
  width: 121rem;
}

@media screen and (min-width: 769px) {
  .p-costumes_kv_pic .kv-img {
    margin-left: -17rem;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_kv_pic .kv-img {
    width: 58rem;
  }
}

.p-costumes_kv_ttl {
  position: absolute;
  bottom: 11.5rem;
  right: calc((100% - 121rem) / 2);
}

@media screen and (max-width: 768px) {
  .p-costumes_kv_ttl {
    top: 33.4rem;
    bottom: auto;
    right: 9rem;
  }
}

.p-costumes_kv_ttl .ja {
  font-size: 4.2rem;
  line-height: calc(48/42);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_kv_ttl .ja {
    margin-bottom: 1.7rem;
  }
}

.p-costumes_kv_ttl .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.2em;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .p-costumes_kv_ttl .en {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
}

.p-costumes_about {
  padding: 18rem 0 14rem;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .p-costumes_about {
    padding: 15rem 0 9.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-costumes_about:after {
  content: "";
  width: 83.4rem;
  height: 83.4rem;
  background: url("../img/costumes/deco02.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 21.6rem;
  left: -21.6rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-costumes_about:after {
    top: 35.4rem;
    left: -46.2rem;
  }
}

.p-costumes_about .pic {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .p-costumes_about .pic {
    width: 100%;
    padding-right: 5rem;
  }
}

.p-costumes_about .txt {
  width: 50%;
  padding: 0 11.3rem 0 calc((100% - 121rem) / 2);
}

@media screen and (max-width: 768px) {
  .p-costumes_about .txt {
    width: 100%;
    padding: 10rem 7rem 0;
  }
}

.p-costumes_about .txt .heading-lv2 {
  margin-bottom: 6.7rem;
}

.p-costumes_about .txt p {
  line-height: calc(32/14);
}

@media screen and (min-width: 769px) {
  .p-costumes_about .txt p {
    max-width: 85%;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_about .txt p {
    line-height: calc(48/24);
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .container {
    padding: 0 5rem;
  }
}

.p-costumes_anchor .l-anchor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 0;
  margin-bottom: 14rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .l-anchor {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 10rem;
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_anchor .l-anchor li:nth-child(3n+1) a {
    border-left: 1px solid #B9B9B9;
  }
  .p-costumes_anchor .l-anchor li:nth-child(-n+3) {
    position: relative;
  }
  .p-costumes_anchor .l-anchor li:nth-child(-n+3):after {
    content: "";
    width: calc(100% - 4rem);
    height: 1px;
    background: #B9B9B9;
    position: absolute;
    bottom: -2rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .l-anchor li:nth-child(-n+4) {
    position: relative;
  }
  .p-costumes_anchor .l-anchor li:nth-child(-n+4):after {
    content: "";
    width: calc(100% - 4rem);
    height: 1px;
    background: #B9B9B9;
    position: absolute;
    bottom: -2rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .l-anchor li:nth-child(odd) a {
    border-left: 1px solid #B9B9B9;
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_anchor .l-anchor li:nth-child(odd) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(odd) a .arr:after {
    background-color: #FD8AA6;
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_anchor .l-anchor li:nth-child(odd) a:hover {
    opacity: 1;
    background-color: rgba(253, 138, 166, 0.2);
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_anchor .l-anchor li:nth-child(even) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(even) a .arr:after {
    background-color: #FDD35B;
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_anchor .l-anchor li:nth-child(even) a:hover {
    opacity: 1;
    background-color: rgba(248, 225, 159, 0.2);
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .l-anchor li:nth-child(1) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(1) a .arr:after, .p-costumes_anchor .l-anchor li:nth-child(4) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(4) a .arr:after, .p-costumes_anchor .l-anchor li:nth-child(5) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(5) a .arr:after {
    background-color: #FD8AA6;
  }
  .p-costumes_anchor .l-anchor li:nth-child(2) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(2) a .arr:after, .p-costumes_anchor .l-anchor li:nth-child(3) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(3) a .arr:after, .p-costumes_anchor .l-anchor li:nth-child(6) a .arr:before, .p-costumes_anchor .l-anchor li:nth-child(6) a .arr:after {
    background-color: #FDD35B;
  }
}

.p-costumes_anchor .l-anchor li a {
  width: 100%;
  min-height: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  padding: 2rem;
  position: relative;
  border-right: 1px solid #B9B9B9;
}

@media screen and (max-width: 768px) {
  .p-costumes_anchor .l-anchor li a {
    min-height: 12.7rem;
    font-size: 3rem;
    letter-spacing: -0.1em;
  }
}

.p-costumes_anchor .l-anchor li a:hover .arr:before {
  -webkit-transform: translateY(2.4rem);
  transform: translateY(2.4rem);
}

.p-costumes_anchor .l-anchor li a .arr {
  position: absolute;
  bottom: 4rem;
  left: 50%;
}

.p-costumes_anchor .l-anchor li a .arr:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  position: absolute;
  top: 0;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.p-costumes_anchor .l-anchor li a .arr:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0.4rem;
  width: 1px;
  height: 2.4rem;
  margin-top: 0.2rem;
}

.p-costumes_item .container {
  position: relative;
}

.p-costumes_item .container:after {
  content: "";
  display: table;
  clear: both;
}

.p-costumes_item .ttl_item {
  padding-bottom: 1.7rem;
  width: 48rem;
  margin-bottom: 9.1rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .ttl_item {
    width: 100%;
    padding-bottom: 2.7rem;
    margin-bottom: 5rem;
  }
}

.p-costumes_item .ttl_item:after {
  content: "";
  width: 118rem;
  height: 0.5rem;
  position: absolute;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .ttl_item:after {
    width: calc(100% + 7rem);
  }
}

.p-costumes_item .ttl_item span {
  position: relative;
  display: inline-block;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .ttl_item span {
    font-size: 3.6rem;
  }
}

.p-costumes_item .ttl_item span:after {
  content: "";
  width: 10rem;
  height: 0.5rem;
  position: absolute;
  bottom: -1.7rem;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .ttl_item span:after {
    bottom: -2.7rem;
  }
}

.p-costumes_item .l_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 54rem;
  gap: 1rem;
  margin-top: -3rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .l_img {
    width: 100%;
    margin: 0 0 7.2rem;
  }
}

.p-costumes_item .l_img li img {
  width: 100%;
  height: auto;
}

.p-costumes_item h4 {
  font-size: 2.4rem;
  line-height: calc(48/24);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin-bottom: 3.8rem;
  width: 48rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item h4 {
    font-size: 3.6rem;
    line-height: calc(64/36);
    letter-spacing: 0;
    width: 100%;
    margin-bottom: 3.7rem;
  }
}

.p-costumes_item p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  width: 48rem;
  margin-bottom: 9.5rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item p {
    line-height: calc(48/24);
    margin-bottom: 7.2rem;
    width: 100%;
  }
}

.p-costumes_item h5 {
  font-size: 2rem;
  line-height: calc(40/20);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  padding-left: 2rem;
  border-left: 0.5rem solid #ccc;
  margin-bottom: 4rem;
  width: 48rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item h5 {
    font-size: 3rem;
    line-height: calc(54/30);
    width: 100%;
    padding-left: 4rem;
    margin-bottom: 5.3rem;
  }
}

.p-costumes_item .l_detail {
  width: 48rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .l_detail {
    width: 100%;
  }
}

.p-costumes_item .l_detail li span {
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 2.3rem 3rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .l_detail li span {
    font-size: 2.6rem;
  }
}

.p-costumes_item .l_detail li em {
  display: block;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 2.3rem 3rem;
}

@media screen and (max-width: 768px) {
  .p-costumes_item .l_detail li em {
    font-size: 2.6rem;
  }
}

.p-costumes_item:not(:last-child) {
  margin-bottom: 16rem;
}

@media screen and (min-width: 769px) {
  .p-costumes_item:nth-child(odd) .ttl_item {
    float: left;
  }
  .p-costumes_item:nth-child(odd) .ttl_item:after {
    left: 0;
    background-color: #FFD1DC;
  }
  .p-costumes_item:nth-child(odd) .ttl_item span:after {
    background-color: #FD8AA6;
  }
  .p-costumes_item:nth-child(odd) .txt {
    float: left;
  }
  .p-costumes_item:nth-child(odd) h4 span {
    color: #FD8AA6;
  }
  .p-costumes_item:nth-child(odd) h5 {
    border-color: #FFD1DC;
  }
  .p-costumes_item:nth-child(odd) .l_detail li span {
    background-color: rgba(255, 209, 220, 0.2);
  }
  .p-costumes_item:nth-child(odd) .l_img {
    float: right;
    margin-right: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_item:nth-child(odd) .ttl_item:after {
    left: 0;
    background-color: #FFD1DC;
  }
  .p-costumes_item:nth-child(odd) .ttl_item span:after {
    background-color: #FD8AA6;
  }
  .p-costumes_item:nth-child(odd) h4 span {
    color: #FD8AA6;
  }
  .p-costumes_item:nth-child(odd) h5 {
    border-color: #FFD1DC;
  }
  .p-costumes_item:nth-child(odd) .l_detail li span {
    background-color: rgba(255, 209, 220, 0.2);
  }
}

@media screen and (min-width: 769px) {
  .p-costumes_item:nth-child(even) .ttl_item {
    float: right;
  }
  .p-costumes_item:nth-child(even) .ttl_item:after {
    right: 0;
    background-color: #F8E19F;
  }
  .p-costumes_item:nth-child(even) .ttl_item span:after {
    background-color: #AC9666;
  }
  .p-costumes_item:nth-child(even) .txt {
    float: right;
  }
  .p-costumes_item:nth-child(even) h4 span {
    color: #AC9666;
  }
  .p-costumes_item:nth-child(even) h5 {
    border-color: #F8E19F;
  }
  .p-costumes_item:nth-child(even) .l_detail li span {
    background-color: rgba(248, 225, 159, 0.2);
  }
  .p-costumes_item:nth-child(even) .l_img {
    float: left;
    margin-left: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_item:nth-child(even) .ttl_item:after {
    right: 0;
    background-color: #F8E19F;
  }
  .p-costumes_item:nth-child(even) .ttl_item span:after {
    background-color: #AC9666;
  }
  .p-costumes_item:nth-child(even) h4 span {
    color: #AC9666;
  }
  .p-costumes_item:nth-child(even) h5 {
    border-color: #F8E19F;
  }
  .p-costumes_item:nth-child(even) .l_detail li span {
    background-color: rgba(248, 225, 159, 0.2);
  }
}

.p-costumes_item.item02 {
  position: relative;
  z-index: 1;
}

.p-costumes_item.item02:after {
  content: "";
  width: 137.3rem;
  height: 103rem;
  background: url("../img/costumes/deco03.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -47.3rem;
  right: -41.9rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-costumes_item.item02:after {
    width: 90.5rem;
    height: 67.9rem;
    top: -5.2rem;
    right: -27.5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-costumes_item.item02:before {
    content: "";
    width: 86.5rem;
    height: 64.9rem;
    background: url("../img/costumes/deco03.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -16rem;
    right: -34.7rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-costumes_item.item03 {
  position: relative;
  z-index: 1;
}

.p-costumes_item.item03:after {
  content: "";
  width: 100rem;
  height: 99.6rem;
  background: url("../img/costumes/deco04.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 26.3rem;
  left: -42rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-costumes_item.item03:after {
    width: 84.9rem;
    height: 84.6rem;
    top: 97.2rem;
    left: -29.3rem;
  }
}

.p-costumes_item.item04 {
  position: relative;
  z-index: 1;
}

.p-costumes_item.item04:after {
  content: "";
  width: 99.6rem;
  height: 108.9rem;
  background: url("../img/costumes/deco05.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -55rem;
  right: -22rem;
  z-index: -1;
  pointer-events: none;
}

.p-costumes_item.item05 {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-costumes_item.item05:after {
    content: "";
    width: 100rem;
    height: 99.6rem;
    background: url("../img/costumes/deco06.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 10rem;
    right: -39rem;
    z-index: -1;
    pointer-events: none;
  }
}

.p-costumes_item.item06 {
  position: relative;
  z-index: 1;
}

.p-costumes_item.item06:after {
  content: "";
  width: 100rem;
  height: 99.6rem;
  background: url("../img/costumes/deco06.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -47.4rem;
  left: 11.2rem;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-costumes_item.item06:after {
    width: 90.5rem;
    height: 67.9rem;
    top: -13.8rem;
    left: 7rem;
    background: url("../img/costumes/deco03.png") no-repeat;
    background-size: contain;
  }
}

.p-costumes .b-button_bottom {
  padding: 14rem 0 18rem;
}

.p-case {
  background: url("../img/case/bg_main.jpg") no-repeat;
  background-size: 100% 100%;
  overflow: hidden;
  padding-bottom: 18rem;
}

@media screen and (max-width: 768px) {
  .p-case {
    padding-bottom: 15rem;
  }
}

.p-case_smooth {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

@media screen and (max-width: 768px) {
  .p-case_smooth {
    padding-top: 9.8rem;
  }
}

.p-case_smooth_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-animation: slider-scroll-left 80s linear infinite;
  animation: slider-scroll-left 80s linear infinite;
}

.p-case_smooth_wrap span {
  font-size: 10rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .p-case_smooth_wrap span {
    font-size: 8rem;
  }
}

.p-case_ttl {
  margin: -4rem 0 10rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-case_ttl {
    margin: -3rem 0 9rem;
  }
}

.p-case_ttl .ja {
  font-size: 4.2rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.2em;
  margin-bottom: 2.5rem;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-case_ttl .ja {
    margin-bottom: 1.7rem;
  }
}

.p-case_ttl .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .p-case_ttl .en {
    font-size: 2.4rem;
  }
}

.p-case_banner .container {
  max-width: 114rem;
}

@media screen and (max-width: 768px) {
  .p-case_banner .container {
    max-width: 100%;
    padding: 0 4rem;
  }
}

.p-case_banner_top {
  position: relative;
  padding: 0 calc(50/1400 * 100%);
  margin-bottom: 7.7rem;
}

@media screen and (max-width: 768px) {
  .p-case_banner_top {
    max-width: 64.1rem;
    padding: 0;
    margin: 0 auto 8rem;
  }
}

.p-case_banner_top img {
  width: 100%;
  height: auto;
}

.p-case_banner_top .p-case_banner_caption {
  position: absolute;
  bottom: calc(140/860 * 100%);
  right: calc(100/1400 * 100%);
  font-size: 3.6rem;
  line-height: calc(64/36);
  letter-spacing: 0.2em;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-case_banner_top .p-case_banner_caption {
    font-size: 3.4rem;
    line-height: calc(60/34);
    bottom: 8.7rem;
    right: 2rem;
  }
}

.p-case_banner_desc {
  padding: 0 6rem;
}

@media screen and (max-width: 768px) {
  .p-case_banner_desc {
    padding: 0 5.4rem;
  }
}

.p-case_banner_desc p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-case_banner_desc p {
    line-height: calc(48/24);
  }
}

.p-case_content .container {
  padding: 0 3.5rem;
}

.p-case_wrap {
  padding: 14.5rem 0 15.5rem;
  border-bottom: 1px dashed rgba(112, 112, 112, 0.3);
}

@media screen and (max-width: 768px) {
  .p-case_wrap {
    padding: 15rem 0 9rem;
  }
}

.p-case_item {
  position: relative;
}

.p-case_item:not(:last-child) {
  margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
  .p-case_item:not(:last-child) {
    margin-bottom: 5rem;
  }
}

.p-case_item::before, .p-case_item::after {
  content: "";
  position: absolute;
  width: 7.5rem;
  height: 1px;
  background-color: rgba(112, 112, 112, 0.3);
  pointer-events: none;
  z-index: 1;
}

.p-case_item::before {
  top: 1.5rem;
  left: 1.5rem;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-case_item::after {
  bottom: 1.5rem;
  right: 1.5rem;
  -webkit-transform: translate(50%, 50%) rotate(-45deg);
  transform: translate(50%, 50%) rotate(-45deg);
}

.p-case_item a {
  min-height: 39.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  padding: 9rem;
  position: relative;
  -webkit-clip-path: polygon(3rem 0, 100% 0, 100% calc(100% - 3rem), calc(100% - 3rem) 100%, 0 100%, 0 3rem);
  clip-path: polygon(3rem 0, 100% 0, 100% calc(100% - 3rem), calc(100% - 3rem) 100%, 0 100%, 0 3rem);
}

@media screen and (max-width: 768px) {
  .p-case_item a {
    min-height: unset;
    padding: 8rem 7rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-case_item a:hover h3:after {
  -webkit-transform: translateX(1rem);
  transform: translateX(1rem);
}

.p-case_item .case_left {
  width: 18rem;
  padding-right: 4rem;
  text-align: center;
  border-right: 1px solid #FD8AA6;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_left {
    width: 100%;
    padding: 0;
    margin-bottom: 5rem;
    border-right: none;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 1rem;
  }
  .p-case_item .case_left:after {
    content: "";
    width: 23.6rem;
    height: 1px;
    background-color: #FD8AA6;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.p-case_item .case_left .txt_case {
  font-size: 6.2rem;
  line-height: 1;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_left .txt_case {
    font-size: 6rem;
    margin-bottom: 1rem;
    margin-right: 0.3rem;
  }
}

.p-case_item .case_left .number_case {
  font-size: 10rem;
  line-height: 1;
  display: block;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_left .number_case {
    font-size: 12rem;
  }
}

.p-case_item .case_right {
  width: calc(100% - 18rem);
  padding-left: 8rem;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right {
    width: 100%;
    padding: 0;
  }
}

.p-case_item .case_right h3 {
  font-size: 2.4rem;
  line-height: calc(48/24);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 6.9rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right h3 {
    font-size: 3rem;
    line-height: calc(56/30);
    margin-bottom: 6.7rem;
    letter-spacing: 0.075em;
  }
}

@media screen and (min-width: 769px) {
  .p-case_item .case_right h3:after {
    content: "";
    width: 7rem;
    height: 7rem;
    background: url("../img/case/arr.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -10.3rem;
    right: 0;
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  }
}

.p-case_item .case_right .l_case {
  padding-top: 3rem;
  border-top: 1px solid #707070;
  max-width: 62rem;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right .l_case {
    width: 100%;
    padding-right: 6.5rem;
    padding-bottom: 3rem;
    position: relative;
  }
  .p-case_item .case_right .l_case:after {
    content: "";
    width: 6.4rem;
    height: 6.4rem;
    background: url("../img/case/arr.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(2.5rem + 50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  }
}

.p-case_item .case_right .l_case li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right .l_case li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1rem;
  }
}

.p-case_item .case_right .l_case li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-case_item .case_right .l_case li .time {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right .l_case li .time {
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-case_item .case_right .l_case li em {
  display: block;
  font-style: normal;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-case_item .case_right .l_case li em {
    font-size: 2.4rem;
    line-height: calc(40/24);
    letter-spacing: 0;
  }
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7rem;
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin-top: 10rem;
    gap: 5.8rem;
  }
}

.pagination li.btn_prev a,
.pagination li.btn_prev span {
  display: block;
  border-radius: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  width: 7rem;
  height: 7rem;
  text-indent: -9999px;
  overflow: hidden;
  background: #fff url("../img/case/btn_prev.png") no-repeat center/contain;
}

.pagination li.btn_prev a:hover,
.pagination li.btn_prev span:hover {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}

.pagination li.btn_prev a:after,
.pagination li.btn_prev span:after {
  content: none;
}

.pagination li.btn_next a,
.pagination li.btn_next span {
  display: block;
  border-radius: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  width: 7rem;
  height: 7rem;
  text-indent: -9999px;
  overflow: hidden;
  background: #fff url("../img/case/btn_next.png") no-repeat center/contain;
}

.pagination li.btn_next a:hover,
.pagination li.btn_next span:hover {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

.pagination li.btn_next a:after,
.pagination li.btn_next span:after {
  content: none;
}

.pagination li.btn_next img {
  width: 7rem;
  height: auto;
}

.pagination li:hover a:after, .pagination li.active a:after {
  opacity: 1;
}

.pagination li a {
  display: block;
  font-size: 2rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: #FFA2B8;
  text-align: center;
  position: relative;
  padding-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  .pagination li a {
    font-size: 3rem;
  }
}

.pagination li a:after {
  content: "";
  width: 1.2rem;
  height: 1px;
  background-color: #FFA2B8;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
}

.pagination_detail {
  max-width: 40rem;
  min-height: 7rem;
  width: 100%;
  margin: 12rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .pagination_detail {
    margin: 10rem auto 0;
    max-width: 42rem;
  }
}

.pagination_detail li.btn_prev a,
.pagination_detail li.btn_prev span {
  display: block;
  border-radius: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 7rem;
  height: 7rem;
  text-indent: -9999px;
  overflow: hidden;
  background: #fff url("../img/common/arr_btn.png") no-repeat center/contain;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.pagination_detail li.btn_prev a:hover,
.pagination_detail li.btn_prev span:hover {
  -webkit-transform: translateX(-10px) scaleX(-1);
  transform: translateX(-10px) scaleX(-1);
}

.pagination_detail li.btn_prev a:after,
.pagination_detail li.btn_prev span:after {
  content: none;
}

.pagination_detail li.btn_prev a.disabled,
.pagination_detail li.btn_prev span.disabled {
  position: none;
  opacity: 0.5;
}

.pagination_detail li.btn_next a,
.pagination_detail li.btn_next span {
  display: block;
  border-radius: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  position: absolute;
  top: 0;
  right: 0;
  width: 7rem;
  height: 7rem;
  text-indent: -9999px;
  overflow: hidden;
  background: #fff url("../img/common/arr_btn.png") no-repeat center/contain;
}

.pagination_detail li.btn_next a:hover,
.pagination_detail li.btn_next span:hover {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

.pagination_detail li.btn_next a:after,
.pagination_detail li.btn_next span:after {
  content: none;
}

.pagination_detail li.btn_next a.disabled,
.pagination_detail li.btn_next span.disabled {
  position: none;
  opacity: 0.5;
}

.pagination_detail li a span {
  display: inline-block;
  font-size: 1.6rem;
  line-height: calc(24/16);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  border-bottom: 1px solid #B9B9B9;
  padding-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  .pagination_detail li a span {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.pagination_detail li a:hover span {
  border-bottom: 1px solid transparent;
}

.p-case_detail_head {
  border-bottom: 1px dashed #707070;
  padding: 15rem 0 10rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head {
    padding: 10rem 0 8.9rem;
  }
}

.p-case_detail_head .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 5rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .container {
    display: block;
    position: relative;
  }
}

.p-case_detail_head .head_left {
  max-width: 72rem;
}

.p-case_detail_head .head_left .title_case {
  font-size: 2.4rem;
  line-height: calc(48/24);
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 6.9rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_left .title_case {
    max-width: 38rem;
    font-size: 3rem;
    line-height: calc(56/30);
    letter-spacing: 0.04em;
  }
}

.p-case_detail_head .head_left .l_case li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-case_detail_head .head_left .l_case li .time {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.2em;
  position: relative;
  display: block;
  margin-bottom: 1rem;
  padding-left: 2.05rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_left .l_case li .time {
    font-size: 2.4rem;
    padding-left: 3.8rem;
  }
}

.p-case_detail_head .head_left .l_case li .time:after {
  content: "";
  width: 1rem;
  height: 1px;
  background-color: #FD8AA6;
  position: absolute;
  top: 50%;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_left .l_case li .time:after {
    width: 1.9rem;
  }
}

.p-case_detail_head .head_left .l_case li em {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.2em;
  font-style: normal;
  display: block;
  font-style: normal;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_left .l_case li em {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
}

.p-case_detail_head .head_right {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_right {
    position: absolute;
    top: 0;
    right: 8rem;
  }
}

.p-case_detail_head .head_right .txt_case {
  font-size: 6.2rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #FD8AA6;
  display: block;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_right .txt_case {
    font-size: 4.7rem;
  }
}

.p-case_detail_head .head_right .number_case {
  font-size: 10rem;
  line-height: 1;
  display: block;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-case_detail_head .head_right .number_case {
    font-size: 9rem;
  }
}

.p-case_detail_box .container {
  padding: 11.1rem 1.5rem 11.5rem;
  border-bottom: 1px dashed #707070;
}

@media screen and (max-width: 768px) {
  .p-case_detail_box .container {
    padding: 9rem 7rem 11.2rem;
    border-bottom: none;
    position: relative;
  }
  .p-case_detail_box .container:after {
    content: "";
    width: calc(100% - 14rem);
    height: 1px;
    border-bottom: 1px dashed #707070;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-case_detail_item {
  max-width: 92rem;
  width: 100%;
  margin: 0 auto;
}

.p-case_detail_item:not(:last-child) {
  margin-bottom: 9rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item:not(:last-child) {
    margin-bottom: 10rem;
  }
}

.p-case_detail_item h3 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 4.8rem;
  position: relative;
  padding-left: 3.8rem;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item h3 {
    font-size: 3rem;
    line-height: calc(58/30);
    margin-bottom: 7rem;
    padding-left: 5.4rem;
  }
}

.p-case_detail_item h3:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/case/detail/icon_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 1rem;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item h3:before {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.7rem;
  }
}

.p-case_detail_item p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item p {
    line-height: calc(48/24);
  }
}

.p-case_detail_item .l_pic {
  max-width: 70rem;
  margin: 6.5rem auto 0;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item .l_pic {
    margin: 6.2rem auto 0;
  }
}

.p-case_detail_item .l_pic li:not(:last-child) {
  margin-bottom: 4rem;
}

.p-case_detail_item .l_pic li img {
  width: 100%;
  height: auto;
}

.p-case_detail_item .pic {
  max-width: 70rem;
  margin: 6.5rem auto 0;
}

@media screen and (max-width: 768px) {
  .p-case_detail_item .pic {
    margin: 6.2rem auto 0;
  }
}

.p-case_detail_item .pic img {
  width: 100%;
  height: auto;
}

@-webkit-keyframes slider-scroll-left {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-100%));
    transform: translateX(calc(-100%));
  }
}

@keyframes slider-scroll-left {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-100%));
    transform: translateX(calc(-100%));
  }
}

.info-kv {
  padding: 10.7rem 11rem 9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .info-kv {
    padding: 7rem 0 7.5rem;
  }
}

.info-kv_pic {
  width: 64.28571%;
}

@media screen and (max-width: 768px) {
  .info-kv_pic {
    width: 49.8rem;
  }
}

.info-kv_pic img {
  width: 100%;
  height: auto;
}

.info-kv_title {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: calc(100% - 64.28571%);
}

@media screen and (max-width: 768px) {
  .info-kv_title {
    width: calc(100% - 49.8rem);
  }
}

.info-kv_title .ja {
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-size: 4.2rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 6.7rem;
  letter-spacing: 0.2em;
}

.info-kv_title .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .info-kv_title .en {
    font-size: 2.4rem;
  }
}

.p-message {
  background-color: #FFFDF8;
}

.p-message_content {
  padding: 7.2rem 0 18rem;
}

@media screen and (max-width: 768px) {
  .p-message_content {
    padding: 7rem 0 17.8rem;
  }
}

.p-message_content .heading-lv2 {
  margin-bottom: 8.8rem;
}

.p-message_content_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .p-message_content_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-message_content_pic {
  width: 41.42857%;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-message_content_pic {
    margin-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-message_content_pic {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 15rem;
  }
  .p-message_content_pic img {
    width: 50rem;
  }
}

.p-message_content_pic:after {
  content: "";
  width: 48rem;
  height: 18rem;
  background: url("../img/message/txt_logo.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -10.3rem;
  right: -7rem;
}

@media screen and (max-width: 768px) {
  .p-message_content_pic:after {
    right: 15rem;
    bottom: -5rem;
  }
}

.p-message_content_txt {
  width: calc(100% - 41.42857%);
  padding-left: 14rem;
  padding-right: calc((100% - 121rem) / 2);
}

@media screen and (max-width: 768px) {
  .p-message_content_txt {
    width: 100%;
    padding: 0 7rem;
  }
}

.p-message_content_txt p {
  font-size: 1.8rem;
  line-height: calc(40/18);
  letter-spacing: 0.05rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-message_content_txt p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-message_content_txt p + p {
  margin-top: 3.5rem;
}

.p-message_content_txt .txt_right {
  margin-top: 9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding-right: 5rem;
}

@media screen and (max-width: 768px) {
  .p-message_content_txt .txt_right {
    padding-right: 0;
  }
}

.p-message_content_txt .txt_right small {
  display: block;
  font-size: 1.6rem;
  line-height: calc(40/16);
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-message_content_txt .txt_right small {
    font-size: 2.4rem;
    line-height: calc(50/24);
  }
}

.p-message_content_txt .txt_right span {
  display: block;
  font-size: 2rem;
  line-height: calc(40/20);
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-message_content_txt .txt_right span {
    font-size: 2.9rem;
    line-height: calc(50/29);
  }
}

.info-btn_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 768px) {
  .info-btn_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.info-btn_list li a {
  min-height: 35rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  padding: 7rem 7rem 7rem 13rem;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(112, 112, 112, 0.3);
}

.info-btn_list li a:before {
  content: "";
  width: 0.5rem;
  height: 21rem;
  background-color: #FD8AA6;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 7rem;
  z-index: 2;
}

.info-btn_list li a:after {
  content: "";
  width: 5rem;
  height: 5rem;
  background: url("../img/common/arr_btn.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 11rem;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

@media screen and (max-width: 768px) {
  .info-btn_list li a:after {
    width: 7rem;
    height: 7rem;
    right: 7rem;
  }
}

.info-btn_list li a .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.4s ease, -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: 1;
  pointer-events: none;
}

.info-btn_list li a .bg-img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.info-btn_list li a._company .bg-img, .info-btn_list li a[href*="company"] .bg-img {
  background-image: url("../img/common/btn_company_img.jpg");
}

.info-btn_list li a._history .bg-img, .info-btn_list li a[href*="history"] .bg-img {
  background-image: url("../img/common/btn_history_img.jpg");
}

.info-btn_list li a._message .bg-img, .info-btn_list li a[href*="message"] .bg-img {
  background-image: url("../img/common/btn_message_img.jpg");
}

.info-btn_list li a:hover {
  opacity: 1;
}

.info-btn_list li a:hover:after {
  -webkit-transform: translateY(-50%) translateX(1rem);
  transform: translateY(-50%) translateX(1rem);
}

.info-btn_list li a:hover .bg-img {
  opacity: 1;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.info-btn_list li a:hover .txt_ja,
.info-btn_list li a:hover .txt_en {
  color: #fff;
}

.info-btn_list li a .txt_ja {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

@media screen and (max-width: 768px) {
  .info-btn_list li a .txt_ja {
    font-size: 3rem;
  }
}

.info-btn_list li a .txt_en {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  color: #B9B9B9;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  position: relative;
  z-index: 2;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

@media screen and (max-width: 768px) {
  .info-btn_list li a .txt_en {
    font-size: 2.4rem;
  }
}

.info-btn_list li:last-child a {
  border-left: none;
}

@media screen and (max-width: 768px) {
  .info-btn_list li:last-child a {
    border-left: 1px solid rgba(112, 112, 112, 0.3);
    border-top: none;
  }
}

.p-company {
  background-color: #FFFDF8;
}

@media screen and (max-width: 768px) {
  .p-company .info-kv {
    padding: 10rem 5rem 7rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .p-company .info-kv_title {
    width: 100%;
    display: block;
    text-align: left;
    padding-left: 3rem;
    margin-bottom: 9rem;
  }
  .p-company .info-kv_title .ja {
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    margin-bottom: 1.7rem;
  }
  .p-company .info-kv_title .en {
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
  .p-company .info-kv_pic {
    width: 100%;
  }
}

.p-company_top {
  padding: 7.5rem 0 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .p-company_top {
    padding: 8rem 0 5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }
}

.p-company_top .pic {
  width: 25.71429%;
}

@media screen and (min-width: 769px) {
  .p-company_top .pic._left {
    margin-left: -2.85714%;
  }
  .p-company_top .pic._right {
    margin-right: -2.85714%;
  }
}

@media screen and (max-width: 768px) {
  .p-company_top .pic {
    width: 100%;
  }
}

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

@media screen and (max-width: 768px) {
  .p-company_top .txt {
    padding: 12.2rem 0 15rem;
  }
}

.p-company_top .txt h2 {
  text-align: center;
  font-size: 3.6rem;
  line-height: calc(64/36);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.2em;
  padding-bottom: 3.5rem;
  margin-bottom: 10rem;
}

.p-company_top .txt h2:after {
  content: "";
  width: 11.5rem;
  height: 0.8rem;
  background: url("../img/company/deco_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-company_top .txt .txt_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-company_top .txt .txt_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2rem;
  min-width: 18.7rem;
  width: 100%;
  min-height: 60rem;
  padding-top: 9rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-company_top .txt .txt_list li {
    min-width: 19.7rem;
    gap: 1.8rem;
  }
}

.p-company_top .txt .txt_list li:before {
  content: "";
  width: 3.2rem;
  height: 2.9rem;
  background: url("../img/company/deco_txt.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-company_top .txt .txt_list li:not(:last-child) {
  border-right: 1px solid #707070;
}

.p-company_top .txt .txt_list li span {
  display: block;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-size: 2.4rem;
  line-height: calc(32/24);
  letter-spacing: 0.3em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-company_top .txt .txt_list li span {
    font-size: 2.8rem;
    line-height: calc(34/28);
  }
}

.p-company .heading-cpn {
  margin-bottom: 9rem;
}

.p-company .heading-cpn_ja {
  display: block;
  font-size: 3.6rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 1.7rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-company .heading-cpn_ja {
    font-size: 4.2rem;
    line-height: calc(48/42);
    letter-spacing: 0.4em;
  }
}

.p-company .heading-cpn_en {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .p-company .heading-cpn_en {
    font-size: 2.4rem;
  }
}

.p-company_infomation {
  padding: 14rem 0 13rem;
}

@media screen and (max-width: 768px) {
  .p-company_infomation {
    padding: 10rem 0 15rem;
  }
}

.p-company_infomation_list {
  max-width: 94rem;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-company_infomation_list {
    max-width: 100%;
  }
}

.p-company_infomation_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .p-company_infomation_list li {
    gap: 2rem;
  }
}

.p-company_infomation_list li:first-child span {
  border-top: 1px solid #FD8AA6;
}

.p-company_infomation_list li:first-child em {
  border-top: 1px solid #B9B9B9;
}

.p-company_infomation_list li span {
  width: 20rem;
  display: block;
  border-bottom: 1px solid #FD8AA6;
  padding: 6.1rem 0;
  font-size: 1.6rem;
  line-height: calc(32/16);
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-company_infomation_list li span {
    width: 13.8rem;
    padding-left: 0;
    padding: 5rem 0;
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-company_infomation_list li em {
  padding: 6.1rem 0;
  width: calc(100% - 20rem);
  font-size: 1.6rem;
  line-height: calc(32/16);
  display: block;
  font-style: normal;
  border-bottom: 1px solid #B9B9B9;
}

@media screen and (max-width: 768px) {
  .p-company_infomation_list li em {
    padding: 5rem 0;
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-company_banner img {
  width: 100%;
  height: auto;
}

.p-company_access {
  padding: 14rem 0 18rem;
}

@media screen and (max-width: 768px) {
  .p-company_access {
    padding: 15.2rem 0 18rem;
  }
}

.p-company_access_wrap {
  max-width: 94rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 0 5rem;
}

@media screen and (max-width: 768px) {
  .p-company_access_wrap {
    max-width: 100%;
    padding: 0;
  }
}

.p-company_access_item:not(:last-child) {
  padding-bottom: 10rem;
  margin-bottom: 10rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-company_access_item:not(:last-child) {
    padding-bottom: 9rem;
    margin-bottom: 9rem;
  }
}

.p-company_access_item:not(:last-child):after {
  content: "";
  width: calc(100% + 5rem);
  height: 1px;
  border-bottom: 1px solid #B9B9B9;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-company_access_item:not(:last-child):after {
    width: 100%;
  }
}

.p-company_access_item .flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 7rem;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .flx {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6.7rem;
  }
}

.p-company_access_item .flx .pic {
  width: 54rem;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .flx .pic {
    width: 100%;
  }
}

.p-company_access_item .flx .txt {
  width: calc(100% - 54rem);
  padding-left: 7rem;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .flx .txt {
    width: 100%;
    padding-left: 0;
  }
}

.p-company_access_item .flx .txt h4 {
  font-size: 2rem;
  line-height: calc(40/20);
  font-family: "Shippori Mincho", serif;
  border-bottom: 1px solid #FD8AA6;
  padding-bottom: 2.5rem;
  margin-bottom: 4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .flx .txt h4 {
    font-size: 3rem;
    line-height: calc(40/30);
    padding-bottom: 1.8rem;
    margin-bottom: 2.6rem;
    border-bottom: none;
    position: relative;
  }
  .p-company_access_item .flx .txt h4:after {
    content: "";
    width: 17rem;
    height: 1px;
    background-color: #FD8AA6;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.p-company_access_item .flx .txt p {
  font-size: 1.6rem;
  line-height: calc(32/16);
}

@media screen and (max-width: 768px) {
  .p-company_access_item .flx .txt p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-company_access_item .map {
  line-height: 0;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .map {
    margin: 0 -7rem;
  }
}

.p-company_access_item .map iframe {
  width: 100%;
  height: 35.6rem;
}

@media screen and (max-width: 768px) {
  .p-company_access_item .map iframe {
    height: 32.5rem;
  }
}

.p-history {
  background-color: #FFFDF8;
}

.p-history_content {
  padding: 9rem 0 20rem;
}

@media screen and (max-width: 768px) {
  .p-history_content {
    padding: 8rem 0 17.2rem;
  }
}

.p-history_content .sub_txt {
  display: block;
  font-size: 2rem;
  line-height: calc(40/20);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  .p-history_content .sub_txt {
    font-size: 2.4rem;
    line-height: calc(42/24);
    letter-spacing: 0.15em;
  }
}

.p-history_content .ttl_txt {
  font-size: 3.2rem;
  line-height: calc(40/32);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 6.8rem;
}

@media screen and (max-width: 768px) {
  .p-history_content .ttl_txt {
    font-size: 3.6rem;
    line-height: calc(64/36);
    letter-spacing: 0.15em;
  }
}

.p-history_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .p-history_list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.2rem;
    border-left: 1px solid #B9B9B9;
  }
}

.p-history_list li:not(:last-child) {
  margin-bottom: 3rem;
}

.p-history_list .hs_left {
  width: 22.5rem;
  min-height: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  border-right: 1px solid #B9B9B9;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_left {
    width: 100%;
    border-right: none;
    padding-left: 9.7rem;
    padding-top: 5.2rem;
  }
}

.p-history_list .hs_left:before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: #FD8AA6;
  position: absolute;
  top: 1.8rem;
  right: -0.5rem;
  border-radius: 50%;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_left:before {
    width: 1.6rem;
    height: 1.6rem;
    left: -0.9rem;
    top: 6.5rem;
    right: auto;
  }
}

.p-history_list .hs_left:after {
  content: "";
  width: 4rem;
  height: 1px;
  background-color: #CCCCCC;
  position: absolute;
  top: 2.3rem;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_left:after {
    width: 5.5rem;
    right: auto;
    top: 7.3rem;
    left: 0;
  }
}

.p-history_list .hs_left span {
  display: block;
  font-size: 2.4rem;
  line-height: calc(40/24);
  color: #FD8AA6;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_left span {
    font-size: 3.5rem;
    line-height: calc(40/35);
  }
}

.p-history_list .hs_left span small {
  font-size: 1.6rem;
  line-height: calc(40/16);
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_left span small {
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-history_list .hs_right {
  width: calc(100% - 22.5rem);
  padding-left: 5.5rem;
  padding-bottom: 4.5rem;
  min-height: 8rem;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_right {
    padding: 0 0 3.6rem 9.7rem;
    width: 100%;
  }
}

.p-history_list .hs_right p {
  font-size: 1.6rem;
  line-height: calc(40/16);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-history_list .hs_right p {
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-history_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8.7rem;
  margin-top: 10rem;
  padding: 0 1.05rem;
}

@media screen and (max-width: 768px) {
  .p-history_box {
    gap: 12.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-history_box .box_pic {
  width: 46rem;
  border-radius: 100%;
  border: 1px solid #FD8AA6;
  padding: 2rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-history_box .box_pic {
    width: 72rem;
    padding: 2.9rem;
    margin-left: -9rem;
  }
}

.p-history_box .box_pic:before {
  content: "";
  width: 1px;
  height: 11rem;
  background-color: #B9B9B9;
  position: absolute;
  top: -11rem;
  left: 50%;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .p-history_box .box_pic:before {
    height: 19.8rem;
    left: 12.3rem;
  }
}

.p-history_box .box_pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 100%;
}

.p-history_box .box_txt {
  width: calc(100% - 46rem);
}

@media screen and (max-width: 768px) {
  .p-history_box .box_txt {
    width: 100%;
  }
}

.p-history_box .box_txt h3 {
  font-size: 2.8rem;
  line-height: calc(48/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 4.5rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-history_box .box_txt h3 {
    font-size: 3.6rem;
    line-height: calc(64/36);
    margin-bottom: 6rem;
  }
}

.p-history_box .box_txt h3 span {
  color: #FD8AA6;
}

.p-history_box .box_txt p {
  font-size: 1.6rem;
  line-height: calc(40/16);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-history_box .box_txt p {
    font-size: 2.4rem;
    line-height: calc(40/24);
  }
}

.p-news {
  background-color: #FFFDF8;
}

.p-news_kv {
  padding: 5rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-news_kv {
    padding: 7rem 7rem 7rem 0;
  }
}

.p-news_kv img {
  width: 100%;
  height: auto;
}

.p-news_kv_ttl {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 16rem;
}

@media screen and (max-width: 768px) {
  .p-news_kv_ttl {
    left: 6rem;
  }
}

.p-news_kv_ttl .ja {
  font-size: 4.2rem;
  line-height: calc(48/42);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 2.5rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-news_kv_ttl .ja {
    margin-bottom: 1.7rem;
  }
}

.p-news_kv_ttl .en {
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  display: block;
}

@media screen and (max-width: 768px) {
  .p-news_kv_ttl .en {
    font-size: 2.4rem;
  }
}

.p-news_content {
  padding: 10rem 0 18rem;
}

@media screen and (max-width: 768px) {
  .p-news_content {
    padding: 3rem 0 18rem;
  }
}

.p-news_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .p-news_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16rem;
  }
}

.p-news_sidebar {
  width: calc(100% - 84rem);
  padding-right: 2rem;
  position: -webkit-sticky;
  position: sticky;
  top: 20rem;
}

@media screen and (max-width: 768px) {
  .p-news_sidebar {
    width: 100%;
    padding: 0;
    position: static;
    top: auto;
  }
}

.p-news_sidebar_widget dt {
  font-size: 1.4rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 768px) {
  .p-news_sidebar_widget dt {
    font-size: 2.4rem;
    margin-bottom: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-news_sidebar_widget .l_cta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-news_sidebar_widget .l_cta li:not(:last-child) {
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 768px) {
  .p-news_sidebar_widget .l_cta li:not(:last-child) {
    margin-bottom: 0;
  }
  .p-news_sidebar_widget .l_cta li:not(:last-child) a {
    position: relative;
  }
  .p-news_sidebar_widget .l_cta li:not(:last-child) a::after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: rgba(112, 112, 112, 0.3);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: -1.8rem;
  }
}

.p-news_sidebar_widget .l_cta li a {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #707070;
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}

@media screen and (max-width: 768px) {
  .p-news_sidebar_widget .l_cta li a {
    font-size: 2.4rem;
    padding-left: 3.4rem;
  }
}

.p-news_sidebar_widget .l_cta li a:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background: url("../img/news/icon_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-news_sidebar_widget .l_cta li a:before {
    width: 1.4rem;
    height: 1.4rem;
  }
}

.p-news_box {
  width: 84rem;
}

@media screen and (max-width: 768px) {
  .p-news_box {
    width: 100%;
  }
}

.p-news .pagination li.btn_prev a,
.p-news .pagination li.btn_prev span {
  background: #fff url("../img/common/arr_btn.png") no-repeat center/contain;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-news .pagination li.btn_prev a:hover,
.p-news .pagination li.btn_prev span:hover {
  -webkit-transform: translateX(-10px) scaleX(-1);
  transform: translateX(-10px) scaleX(-1);
}

.p-news .pagination li.btn_next a,
.p-news .pagination li.btn_next span {
  background: #fff url("../img/common/arr_btn.png") no-repeat center/contain;
}

.p-news .pagination_detail li.btn_prev a,
.p-news .pagination_detail li.btn_prev span {
  background: #fff url("../img/common/arr_btn.png") no-repeat center;
  background-size: 105% 105%;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-news .pagination_detail li.btn_prev a:hover,
.p-news .pagination_detail li.btn_prev span:hover {
  -webkit-transform: translateX(-10px) scaleX(-1);
  transform: translateX(-10px) scaleX(-1);
}

.p-news .pagination_detail li.btn_prev.disabled {
  opacity: 0;
  visibility: hidden;
}

.p-news .pagination_detail li.btn_next a,
.p-news .pagination_detail li.btn_next span {
  background: #fff url("../img/common/arr_btn.png") no-repeat center;
  background-size: 105% 105%;
}

.p-news .pagination_detail li.btn_next.disabled {
  opacity: 0;
  visibility: hidden;
}

.p-news_detail {
  padding-bottom: 18rem;
}

.p-news_detail_top .container {
  padding: 9rem 3rem 8rem;
  position: relative;
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}

@media screen and (max-width: 768px) {
  .p-news_detail_top .container {
    padding: 10rem 7rem 9rem;
    border-bottom: none;
  }
  .p-news_detail_top .container:before {
    content: "";
    width: calc(100% - 14rem);
    height: 1px;
    border-bottom: 1px solid rgba(112, 112, 112, 0.3);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-news_detail_top .container:after {
  position: absolute;
  content: '';
  width: 4rem;
  height: 0.1rem;
  left: 3rem;
  bottom: -0.1rem;
  background-color: #FD8AA6;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top .container:after {
    left: 9rem;
    bottom: 0.1rem;
  }
}

.p-news_detail_top_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_title {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 9.6rem;
  }
}

.p-news_detail_top_title h2 {
  font-size: 2.8rem;
  line-height: calc(48/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 2rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_title h2 {
    font-size: 4.2rem;
    line-height: calc(48/42);
    margin-bottom: 1.7rem;
  }
}

.p-news_detail_top_title span {
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  display: block;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_title span {
    font-size: 2.4rem;
  }
}

.p-news_detail_top_meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 3rem 4rem;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0;
  }
}

.p-news_detail_top_meta .date {
  font-size: 1.6rem;
  line-height: 1;
  color: #707070;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_meta .date {
    font-size: 2.2rem;
    margin-bottom: 1.3rem;
    display: block;
  }
}

.p-news_detail_top_meta .cat {
  font-size: 1.6rem;
  line-height: 1;
  color: #707070;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_meta .cat {
    font-size: 2.2rem;
    display: block;
    margin-bottom: 4.2rem;
  }
}

.p-news_detail_top_meta h3 {
  width: 100%;
  font-size: 2.4rem;
  line-height: calc(48/24);
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-news_detail_top_meta h3 {
    font-size: 3rem;
    line-height: calc(50/24);
  }
}

.p-news_detail_box .container {
  padding: 11.1rem 1.5rem 11.5rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
}

@media screen and (max-width: 768px) {
  .p-news_detail_box .container {
    padding: 9rem 7rem 11.2rem;
    border-bottom: none;
    position: relative;
  }
  .p-news_detail_box .container:after {
    content: "";
    width: calc(100% - 14rem);
    height: 1px;
    border-bottom: 1px solid rgba(112, 112, 112, 0.3);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.p-news_detail_item {
  max-width: 92rem;
  width: 100%;
  margin: 0 auto;
}

.p-news_detail_item:not(:last-child) {
  margin-bottom: 9rem;
}

@media screen and (max-width: 768px) {
  .p-news_detail_item:not(:last-child) {
    margin-bottom: 10rem;
  }
}

.p-news_detail_item h3 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 4.8rem;
  position: relative;
  padding-left: 3.8rem;
}

@media screen and (max-width: 768px) {
  .p-news_detail_item h3 {
    font-size: 3rem;
    line-height: calc(58/30);
    margin-bottom: 7rem;
    padding-left: 5.4rem;
  }
}

.p-news_detail_item h3:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/case/detail/icon_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 1rem;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-news_detail_item h3:before {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.7rem;
  }
}

.p-news_detail_item p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-news_detail_item p {
    line-height: calc(48/24);
  }
}

.p-news_detail_item .pic {
  max-width: 70rem;
  margin: 6.5rem auto 0;
}

@media screen and (max-width: 768px) {
  .p-news_detail_item .pic {
    margin: 6.2rem auto 0;
  }
}

.p-news_detail_item .pic img {
  width: 100%;
  height: auto;
}

.p-faq {
  background-color: #FFFDF8;
}

.p-faq_kv {
  position: relative;
  min-height: 89.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .p-faq_kv {
    min-height: 51.1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-faq_kv_pic img {
  width: 100%;
  height: auto;
}

.p-faq_kv_pic.pic01 {
  width: 58.19444%;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_pic.pic01 {
    width: 60rem;
  }
}

.p-faq_kv_pic.pic01 img {
  height: 72.3rem;
  border-bottom-right-radius: 30rem;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_pic.pic01 img {
    border-bottom-right-radius: 10rem;
    height: 34.5rem;
  }
}

.p-faq_kv_pic.pic02 {
  width: 20.83333%;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_pic.pic02 {
    width: 22rem;
  }
}

.p-faq_kv_pic.pic02 img {
  border-radius: 10rem 0 0 10rem;
  height: 37rem;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_pic.pic02 img {
    border-radius: 5rem 0 0 5rem;
    height: 27.2rem;
  }
}

.p-faq_kv_title {
  width: calc(100% - 58.19444%);
  padding: 27.2rem calc((100% - 120rem) / 2) 0 11.8rem;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_title {
    width: 100%;
    padding: 5rem 7rem;
  }
}

.p-faq_kv_title .ja {
  font-size: 4.2rem;
  line-height: calc(48/42);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 2rem;
}

.p-faq_kv_title .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-faq_kv_title .en {
    font-size: 2.4rem;
  }
}

.p-faq_content {
  padding: 5.8rem 0 18rem;
}

@media screen and (max-width: 768px) {
  .p-faq_content {
    padding: 12rem 0 17.8rem;
  }
}

.p-faq_content .container {
  max-width: 109rem;
}

@media screen and (max-width: 768px) {
  .p-faq_content .container {
    max-width: 100%;
    padding: 0 5rem;
  }
}

.p-faq_article:not(:last-child) {
  margin-bottom: 12rem;
}

@media screen and (max-width: 768px) {
  .p-faq_article:not(:last-child) {
    margin-bottom: 10rem;
  }
}

.p-faq_article .faq_title {
  font-size: 2.8rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 5.8rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_title {
    font-size: 3.2rem;
    margin-bottom: 6.7rem;
  }
}

.p-faq_article .faq_list {
  position: relative;
  padding-left: 6rem;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_list {
    padding-left: 4rem;
  }
}

.p-faq_article .faq_list::before {
  content: "";
  width: 1px;
  height: calc(100% + 3rem);
  background-color: #FD8AA6;
  position: absolute;
  top: -3rem;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_list::before {
    height: calc(100% + 4rem);
    top: -4rem;
  }
}

.p-faq_article .faq_item:not(:last-child) {
  margin-bottom: 4rem;
}

.p-faq_article .faq_question_title {
  background: #FFD1DC;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 209, 220, 0.3)), to(rgba(255, 236, 199, 0.3)));
  background: linear-gradient(90deg, rgba(255, 209, 220, 0.3) 0%, rgba(255, 236, 199, 0.3) 100%);
  position: relative;
  padding: 2rem 11.5rem;
  font-size: 2.2rem;
  line-height: calc(40/22);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_question_title {
    font-size: 2.4rem;
    line-height: calc(42/24);
    padding: 3rem 8.3rem 2.9rem 7.7rem;
  }
}

.p-faq_article .faq_question_title:before {
  content: "Q. ";
  font-size: 2.8rem;
  line-height: 1;
  color: #FD8AA6;
  position: absolute;
  top: 50%;
  left: 5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_question_title:before {
    left: 3rem;
  }
}

.p-faq_article .faq_question_title .arr {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 9rem;
  display: block;
  margin-top: -1rem;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_question_title .arr {
    right: 4rem;
  }
}

.p-faq_article .faq_question_title .arr:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  background-color: #FD8AA6;
  position: absolute;
  top: 0;
  -webkit-transform: translateY(2rem);
  transform: translateY(2rem);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.p-faq_article .faq_question_title .arr:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0.4rem;
  background-color: #FD8AA6;
  width: 1px;
  height: 2rem;
}

.p-faq_article .faq_question_title.js-active .arr:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.p-faq_article .faq_answer_content {
  padding: 4.3rem 11.5rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_answer_content {
    padding: 4rem 4rem 3.2rem 4rem;
  }
}

.p-faq_article .faq_answer_content p {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-faq_article .faq_answer_content p {
    font-size: 2.4rem;
    line-height: calc(38/24);
  }
}

.p-faq .faq_bottom {
  text-align: center;
  padding-top: 18rem;
}

@media screen and (max-width: 768px) {
  .p-faq .faq_bottom {
    padding-top: 12rem;
  }
}

.p-faq .faq_bottom h2 {
  font-size: 2.8rem;
  line-height: calc(52/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 3.9rem;
  position: relative;
  display: inline-block;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-faq .faq_bottom h2 {
    font-size: 3.2rem;
    line-height: calc(60/32);
  }
}

.p-faq .faq_bottom h2:after {
  content: "";
  width: 15.1rem;
  height: 13.4rem;
  background: url("../img/faq/deco_bt.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -3.5rem;
  right: -5.5rem;
  z-index: -1;
}

.p-faq .faq_bottom h2 span {
  color: #FD8AA6;
}

.p-faq .faq_bottom p {
  font-size: 1.6rem;
  line-height: calc(35/16);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-faq .faq_bottom p {
    font-size: 2.4rem;
    line-height: calc(44/24);
  }
}

.p-privacy {
  background-color: #FFFDF8;
  padding: 23.5rem 0 15.8rem;
  position: relative;
  overflow: hidden;
}

.p-privacy .deco figure {
  position: absolute;
  pointer-events: none;
}

.p-privacy .deco .deco01 {
  top: -37.7rem;
  left: -68.6rem;
}

@media screen and (max-width: 768px) {
  .p-privacy .deco .deco01 {
    top: -16.1rem;
    left: -39.5rem;
  }
}

.p-privacy .deco .deco01 img {
  width: 118rem;
}

@media screen and (max-width: 768px) {
  .p-privacy .deco .deco01 img {
    width: 85.9rem;
  }
}

.p-privacy .deco .deco02 {
  top: 81.8rem;
  right: -92.6rem;
}

@media screen and (max-width: 768px) {
  .p-privacy .deco .deco02 {
    top: 187.1rem;
    right: -88.9rem;
  }
}

.p-privacy .deco .deco02 img {
  width: 117.5rem;
}

.p-privacy .deco .deco03 {
  bottom: 129.3rem;
  left: -58.6rem;
}

@media screen and (max-width: 768px) {
  .p-privacy .deco .deco03 {
    bottom: 248.6rem;
    left: -551.6rem;
  }
}

.p-privacy .deco .deco03 img {
  width: 93.7rem;
}

.p-privacy .deco .deco04 {
  bottom: -18.5rem;
  right: -100rem;
}

@media screen and (max-width: 768px) {
  .p-privacy .deco .deco04 {
    bottom: -15rem;
    left: 0;
    right: auto;
  }
}

.p-privacy .deco .deco04 img {
  width: 139.2rem;
}

.p-privacy .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .p-privacy .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10rem;
  }
}

.p-privacy_title {
  width: calc(100% -73.2rem);
  padding-right: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .p-privacy_title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  .p-privacy_title {
    width: 100%;
    padding: 0;
    gap: 1.5rem;
  }
}

.p-privacy_title .ja {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 4.2rem;
  line-height: calc(48/42);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-privacy_title .ja {
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
}

.p-privacy_title .en {
  display: block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .p-privacy_title .en {
    font-size: 2.4rem;
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
}

.p-privacy_content {
  width: 76rem;
}

@media screen and (max-width: 768px) {
  .p-privacy_content {
    width: 100%;
  }
}

.p-privacy_content p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-privacy_content p {
    line-height: calc(48/24);
  }
}

.p-privacy_content_top {
  margin: 14.3rem 0 21.5rem;
}

@media screen and (max-width: 768px) {
  .p-privacy_content_top {
    margin: 0 0 9.3rem;
  }
}

.p-privacy_content_top h2 {
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 4rem;
  padding-bottom: 1.3rem;
  position: relative;
}

.p-privacy_content_top h2:after {
  content: "";
  width: 12rem;
  height: 0.8rem;
  background: url("../img/privacy/icon_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-privacy_content_wrap {
  counter-reset: section;
}

.p-privacy_content_item:not(:last-child) {
  padding-bottom: 9.5rem;
  margin-bottom: 8.1rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
}

@media screen and (max-width: 768px) {
  .p-privacy_content_item:not(:last-child) {
    padding-bottom: 8.2rem;
    margin-bottom: 9.1rem;
  }
}

.p-privacy_content_item h3 {
  font-size: 2.8rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1rem;
  margin-bottom: 3rem;
  position: relative;
}

.p-privacy_content_item h3:before {
  counter-increment: section;
  content: counter(section) ". ";
  color: #FD8AA6;
}

.p-privacy_content_item .l_nav {
  margin: 2.5rem 0;
  line-height: calc(32/14);
}

@media screen and (max-width: 768px) {
  .p-privacy_content_item .l_nav {
    line-height: calc(48/24);
  }
}

.p-privacy_content_item .l_nav li {
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-privacy_content_item .l_nav li:not(:last-child) {
  border-right: 1px solid #FD8AA6;
  margin-right: 1.5rem;
  padding-right: 1.5rem;
}

.p-privacy_content_item .l_dot {
  margin: 2.5rem 0;
}

.p-privacy_content_item .l_dot li {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-privacy_content_item .l_dot li {
    line-height: calc(48/24);
  }
}

.p-privacy_content_item .l_dot li:before {
  content: "●";
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  color: #FD8AA6;
  display: inline-block;
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  .p-privacy_content_item .l_dot li:before {
    line-height: calc(48/24);
  }
}

.p-404 {
  text-align: center;
  padding: 20.3rem 0 21.3rem;
  position: relative;
  overflow: hidden;
  background: #FFFDF9;
}

@media screen and (max-width: 768px) {
  .p-404 {
    padding: 28.6rem 0 18rem;
  }
}

.p-404:before {
  content: "";
  width: 117.1rem;
  height: 90.7rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../img/404/deco01.png");
  position: absolute;
  top: -38.7rem;
  left: -68.6rem;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-404:before {
    width: 85.9rem;
    height: 64.4rem;
    top: -16.1rem;
    left: -39.5rem;
  }
}

.p-404:after {
  content: "";
  width: 139.2rem;
  height: 107.8rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../img/404/deco02.png");
  position: absolute;
  top: 8rem;
  right: -70.7rem;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-404:after {
    top: 38.9rem;
    right: 91.3rem;
  }
}

.p-404_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.4rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  .p-404_ttl {
    margin-bottom: 1rem;
  }
}

.p-404_ttl span {
  display: block;
  font-size: 7.2rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-404_ttl span {
    font-size: 12rem;
  }
}

.p-404_ttl .icon img {
  width: 4.3rem;
}

@media screen and (max-width: 768px) {
  .p-404_ttl .icon img {
    width: 7.6rem;
  }
}

.p-404_note {
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  .p-404_note {
    font-size: 4.2rem;
    margin-bottom: 8rem;
  }
}

.p-404_txt {
  font-size: 1.6rem;
  line-height: calc(32/16);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-404_txt {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-404 .btn_wrap {
  text-align: center;
  margin-top: 11.5rem;
}

.p-404 .btn_wrap .btn_back {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  border-bottom: 1px solid #B9B9B9;
  display: inline-block;
  max-width: 22rem;
  width: 100%;
  text-align: left;
  padding-bottom: 1rem;
  position: relative;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

@media screen and (max-width: 768px) {
  .p-404 .btn_wrap .btn_back {
    max-width: 40rem;
    font-size: 2.4rem;
    padding-bottom: 2rem;
  }
}

.p-404 .btn_wrap .btn_back:hover {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

.p-404 .btn_wrap .btn_back .arrow {
  position: absolute;
  top: 0.8rem;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-404 .btn_wrap .btn_back .arrow {
    top: 1.5rem;
  }
}

.p-404 .btn_wrap .btn_back .arrow:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #FD8AA6;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  margin-top: 0.2rem;
}

@media screen and (max-width: 768px) {
  .p-404 .btn_wrap .btn_back .arrow:before {
    width: 1.3rem;
    height: 1.3rem;
  }
}

.p-404 .btn_wrap .btn_back .arrow:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.45rem;
  height: 1px;
  background-color: #FD8AA6;
  margin-top: 0.2rem;
}

@media screen and (max-width: 768px) {
  .p-404 .btn_wrap .btn_back .arrow:after {
    width: 4rem;
  }
}

.p-incident {
  padding: 27.7rem 0 15.5rem;
  background-color: #FFFDF8;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-incident {
    padding: 23rem 0 18rem;
  }
}

.p-incident .deco figure {
  position: absolute;
  pointer-events: none;
}

.p-incident .deco .deco01 {
  top: -22.9rem;
  right: -42.9rem;
}

.p-incident .deco .deco01 img {
  width: 118rem;
}

@media screen and (max-width: 768px) {
  .p-incident .deco .deco01 img {
    width: 85.9rem;
  }
}

.p-incident .deco .deco02 {
  top: 81.8rem;
  right: -92.6rem;
}

.p-incident .deco .deco02 img {
  width: 117.5rem;
}

.p-incident .deco .deco03 {
  top: 195.1rem;
  left: -586.6rem;
}

.p-incident .deco .deco03 img {
  width: 93.7rem;
}

.p-incident .deco .deco04 {
  top: 372.4rem;
  right: -100.5rem;
}

.p-incident .deco .deco04 img {
  width: 139.2rem;
}

.p-incident .deco .deco05 {
  bottom: 290.7rem;
  left: -66.9rem;
}

.p-incident .deco .deco05 img {
  width: 139.2rem;
}

.p-incident_title {
  margin-bottom: 16.9rem;
}

@media screen and (max-width: 768px) {
  .p-incident_title {
    margin-bottom: 5rem;
  }
}

.p-incident_title .ja {
  font-size: 4.2rem;
  line-height: calc(48/42);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 2rem;
}

.p-incident_title .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .p-incident_title .en {
    font-size: 2.4rem;
  }
}

.p-incident_content {
  padding-left: 9rem;
}

@media screen and (max-width: 768px) {
  .p-incident_content {
    padding-left: 0;
  }
}

.p-incident_article:not(:last-child) {
  margin-bottom: 10.9rem;
}

.p-incident_article .title_art {
  position: relative;
  margin-bottom: 4.7rem;
}

.p-incident_article .title_art:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: rgba(253, 138, 166, 0.3);
  position: absolute;
  top: 50%;
  right: 0;
}

.p-incident_article .title_art span {
  display: inline-block;
  font-size: 2.8rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  background-color: #FFFDF8;
  padding-right: 3rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-incident_article .title_art span {
    font-size: 3.6rem;
  }
}

.p-incident_item h3 {
  font-size: 2.8rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  position: relative;
  padding-left: 3.3rem;
  margin-bottom: 2.8rem;
}

.p-incident_item h3:before {
  content: "";
  width: 0.8rem;
  height: 3.2rem;
  background: url("../img/incident/deco_ttl.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.p-incident p {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-incident p {
    line-height: calc(48/24);
  }
}

.p-incident p + p {
  margin-top: 1.5rem;
}

.p-incident .l_number02 {
  counter-reset: li;
  margin: 1rem 0;
}

.p-incident .l_number02 li {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3rem;
}

.p-incident .l_number02 li:before {
  content: "";
  counter-increment: li;
  content: counter(li);
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-incident .l_number02 li {
    line-height: calc(48/24);
  }
}

.p-incident .l_number01 {
  counter-reset: li;
  margin: 1rem 0;
}

.p-incident .l_number01 li {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 8.5rem;
}

.p-incident .l_number01 li:before {
  content: "";
  counter-increment: li;
  content: "（ " counter(li) " ）";
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-incident .l_number01 li {
    line-height: calc(48/24);
  }
}

.p-incident .l_number03 li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-incident .l_number03 li {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  .p-incident .l_number03 li:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: rgba(112, 112, 112, 0.3);
    position: absolute;
    top: 50%;
    right: 0;
    z-index: -1;
  }
}

.p-incident .l_number03 li em {
  display: block;
  font-style: normal;
  line-height: calc(32/14);
  background-color: #FFFDF8;
  padding-right: 1rem;
}

@media screen and (max-width: 768px) {
  .p-incident .l_number03 li em {
    padding-right: 0;
    text-indent: -8.5rem;
    margin-left: 8.5rem;
  }
}

.p-incident .l_number03 li span {
  display: block;
  line-height: calc(32/14);
  background-color: #FFFDF8;
}

.p-incident .l_number03 li span ins {
  text-decoration: none;
  background-color: #FFFDF8;
  position: relative;
  z-index: 1;
  padding-left: 1rem;
}

@media screen and (max-width: 768px) {
  .p-incident .l_number03 li span {
    text-align: right;
    position: relative;
  }
  .p-incident .l_number03 li span:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: rgba(112, 112, 112, 0.3);
    position: absolute;
    top: 50%;
    right: 0;
  }
}

.p-incident .l_note {
  counter-reset: li;
}

.p-incident .l_note li {
  font-size: 1.4rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 4.5rem;
}

.p-incident .l_note li:before {
  content: "";
  counter-increment: li;
  content: "註 " counter(li) " ．";
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-incident .l_note li {
    line-height: calc(48/24);
  }
}

.p-incident_box {
  margin-top: 6rem;
}

.p-incident_box .b_tbl {
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 768px) {
  .p-incident_box .b_tbl {
    overflow-x: auto;
  }
  .p-incident_box .b_tbl figure {
    width: 92.1rem;
  }
}

.p-incident_it:not(:last-child) {
  margin-bottom: 10.9rem;
}

.p-incident_it h4 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 768px) {
  .p-incident_it h4 {
    font-size: 2.8rem;
  }
}

.p-recruit_kv {
  position: relative;
  height: 90rem;
  overflow: hidden;
  z-index: 2;
}

.p-recruit_kv_pic {
  height: 100%;
}

.p-recruit_kv_ttl {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 17rem;
  z-index: 2;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_ttl {
    left: 7rem;
  }
}

.p-recruit_kv_ttl .ja {
  font-size: 4.2rem;
  line-height: calc(48/42);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.2em;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_ttl .ja {
    margin-bottom: 1.7rem;
  }
}

.p-recruit_kv_ttl .en {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_ttl .en {
    font-size: 2.4rem;
  }
}

.p-recruit_kv_sub {
  position: absolute;
  top: 40.3rem;
  right: 18.9rem;
  z-index: 2;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_sub {
    top: auto;
    bottom: 8rem;
    right: 5rem;
  }
}

.p-recruit_kv_sub p + p {
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_sub p + p {
    margin-top: 2.4rem;
  }
}

.p-recruit_kv_sub p span {
  font-size: 3.2rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  padding: 1rem 3rem;
  background-color: #fff;
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-recruit_kv_sub p span {
    font-size: 3.4rem;
  }
}

.p-recruit_kv_sub p span:after {
  content: "";
  width: 100%;
  height: 0.5rem;
  background-color: #FFA2B8;
  position: absolute;
  bottom: -1rem;
  left: 0;
}

.p-recruit_kv_sub p span ins {
  text-decoration: none;
  color: #FD8AA6;
}

.p-recruit_slider {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.p-recruit_slider_track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  -webkit-animation: recruitMarquee 100s linear infinite;
  animation: recruitMarquee 100s linear infinite;
  will-change: transform;
}

@media screen and (max-width: 768px) {
  .p-recruit_slider_track {
    -webkit-animation-duration: 24s;
    animation-duration: 24s;
  }
}

.p-recruit_slider_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-recruit_slider_item {
  height: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (min-width: 769px) {
  .p-recruit_slider_item {
    width: 100rem;
    margin-right: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit_slider_item {
    width: 58rem;
    margin-right: 2.5rem;
  }
}

.p-recruit_slider_item picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-recruit_slider_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

@-webkit-keyframes recruitMarquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes recruitMarquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
}

.p-recruit_top {
  overflow: hidden;
}

.p-recruit_top .container {
  padding-top: 15rem;
  padding-bottom: 18rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-recruit_top .container {
    padding-top: 33rem;
    padding-bottom: 14.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-recruit_top:before {
  content: "";
  width: 83.4rem;
  height: 83.4rem;
  background: url("../img/recruit/deco01.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 9.4rem;
  right: -25.4rem;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-recruit_top:before {
    width: 74rem;
    height: 74rem;
    top: -49rem;
    right: -31rem;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit_top:after {
    content: "";
    width: 74rem;
    height: 74rem;
    background: url("../img/recruit/deco01.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 72.7rem;
    left: -44.4rem;
    pointer-events: none;
  }
}

@media screen and (min-width: 1401px) {
  .p-recruit_top_pic {
    width: 100rem;
    margin-left: -24rem;
  }
}

@media screen and (min-width: 769px) {
  .p-recruit_top_pic {
    width: 100rem;
    margin-left: -14rem;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit_top_pic {
    width: 74.8rem;
    margin-bottom: 14.6rem;
    margin-left: -16.4rem;
  }
}

.p-recruit_top_pic img {
  width: 100%;
  height: auto;
}

.p-recruit_top_txt {
  width: 50%;
  padding: 0 calc((100% - 121rem) / 2) 0 11.8rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_top_txt {
    width: 100%;
    padding: 0 5rem 0 5rem;
  }
}

.p-recruit_top_txt h2 {
  font-size: 3rem;
  line-height: calc(48/30);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin: 0 0 10.4rem -5rem;
  text-indent: -13.3rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-recruit_top_txt h2 {
    font-size: 3.6rem;
    line-height: calc(48/36);
    margin: 0;
    letter-spacing: 0.15em;
    line-height: 1.75;
    position: absolute;
    top: 18.2rem;
    right: 5rem;
  }
}

.p-recruit_top_txt h2 span {
  color: #FD8AA6;
}

.p-recruit_top_txt p {
  font-size: 1.8rem;
  line-height: calc(36/18);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-recruit_top_txt p {
    font-size: 2.4rem;
    line-height: calc(48/24);
  }
}

.p-recruit_top_txt p + p {
  margin: 3rem 0 0;
}

.p-recruit_gradient {
  background: #FFD1DC;
  background: -webkit-gradient(linear, left bottom, left top, from(#ffd1dc), color-stop(40%, #fff9e8));
  background: linear-gradient(0deg, #ffd1dc 0%, #fff9e8 40%);
}

.p-recruit_waiting {
  padding: 8rem 0 5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting {
    padding: 15rem 0 5rem;
  }
}

.p-recruit_waiting .waiting_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 7.4rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_ttl {
    gap: 5rem;
  }
}

.p-recruit_waiting .waiting_ttl .ttl_left {
  display: block;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.19em;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_ttl .ttl_left {
    font-size: 1.7rem;
  }
}

.p-recruit_waiting .waiting_ttl .ttl_right span {
  display: block;
  font-size: 2rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 2rem;
  position: relative;
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_ttl .ttl_right span {
    font-size: 2.4rem;
    line-height: 1.75;
    margin-bottom: 2.5rem;
  }
}

.p-recruit_waiting .waiting_ttl .ttl_right span:before {
  content: "";
  width: 2rem;
  height: 0.2rem;
  background-color: #FD8AA6;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.p-recruit_waiting .waiting_ttl .ttl_right h2 {
  font-size: 3.6rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_ttl .ttl_right h2 {
    letter-spacing: 0.12em;
    line-height: 1.75;
  }
}

.p-recruit_waiting .waiting_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0 12rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.p-recruit_waiting .waiting_item {
  padding: 6rem 0;
  position: relative;
  border-bottom: 1px solid #FFA2B8;
}

.p-recruit_waiting .waiting_item:nth-child(1) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-recruit_waiting .waiting_item:nth-child(2) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-recruit_waiting .waiting_item:nth-child(3) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.p-recruit_waiting .waiting_item:nth-child(4) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.p-recruit_waiting .waiting_item:nth-child(5) {
  -webkit-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

.p-recruit_waiting .waiting_item:nth-child(6) {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.p-recruit_waiting .waiting_item:after {
  content: "";
  display: table;
  clear: both;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item {
    padding: 7rem 0;
  }
}

@media screen and (min-width: 769px) {
  .p-recruit_waiting .waiting_item:nth-last-child(-n+2) {
    border-bottom: none;
  }
  .p-recruit_waiting .waiting_item:nth-child(odd) {
    position: relative;
  }
  .p-recruit_waiting .waiting_item:nth-child(odd):after {
    content: "";
    width: 1px;
    height: 16rem;
    background-color: #FFA2B8;
    position: absolute;
    top: 6rem;
    right: -6rem;
  }
}

.p-recruit_waiting .waiting_item .icon {
  width: 16rem;
  height: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  -webkit-clip-path: polygon(3rem 0, 100% 0, 100% calc(100% - 3rem), calc(100% - 3rem) 100%, 0 100%, 0 3rem);
  clip-path: polygon(3rem 0, 100% 0, 100% calc(100% - 3rem), calc(100% - 3rem) 100%, 0 100%, 0 3rem);
  float: left;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon {
    width: 14.7rem;
    height: 14.7rem;
    position: absolute;
    top: 7rem;
    left: 0;
    float: none;
  }
}

.p-recruit_waiting .waiting_item .icon.icon01 img {
  width: 10rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon01 img {
    width: 9.2rem;
  }
}

.p-recruit_waiting .waiting_item .icon.icon02 img {
  width: 10rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon02 img {
    width: 9.2rem;
  }
}

.p-recruit_waiting .waiting_item .icon.icon03 img {
  width: 7.31rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon03 img {
    width: 6.7rem;
  }
}

.p-recruit_waiting .waiting_item .icon.icon04 img {
  width: 9.45rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon04 img {
    width: 8.6rem;
  }
}

.p-recruit_waiting .waiting_item .icon.icon05 img {
  width: 10rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon05 img {
    width: 9.2rem;
  }
}

.p-recruit_waiting .waiting_item .icon.icon06 img {
  width: 12.36rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .icon.icon06 img {
    width: 11rem;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item {
    width: 100%;
    padding-left: 0;
  }
}

.p-recruit_waiting .waiting_item .b_point_top {
  width: calc(100% - 16rem);
  padding-left: 5rem;
  float: right;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .b_point_top {
    height: 14.7rem;
    min-height: 14.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding-left: 0;
    float: none;
    position: relative;
  }
  .p-recruit_waiting .waiting_item .b_point_top:after {
    content: "";
    width: calc(100% - 14.7rem);
    height: 1px;
    border-bottom: 1px dashed rgba(112, 112, 112, 0.3);
    position: absolute;
    bottom: 0;
    right: 0;
  }
}

.p-recruit_waiting .waiting_item .nb {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  letter-spacing: 0.2em;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item .nb {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    padding-left: 18.7rem;
  }
}

.p-recruit_waiting .waiting_item h3 {
  font-size: 2rem;
  line-height: calc(48/20);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item h3 {
    padding-left: 18.7rem;
    margin-bottom: 0;
    font-size: 3rem;
    line-height: calc(45/30);
    letter-spacing: 0.06em;
  }
}

.p-recruit_waiting .waiting_item p {
  line-height: calc(28/14);
  letter-spacing: 0.05em;
  width: calc(100% - 16rem);
  padding-left: 5rem;
  float: right;
}

@media screen and (max-width: 768px) {
  .p-recruit_waiting .waiting_item p {
    margin-top: 4.6rem;
    width: 100%;
    padding-left: 0;
    text-align: center;
    line-height: calc(42/24);
    letter-spacing: 0.07em;
  }
}

.p-recruit_work {
  padding-bottom: 18rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work {
    padding-bottom: 15rem;
  }
}

.p-recruit_work .work_ttl {
  max-width: 94rem;
  border-radius: 3rem 3rem 0 0;
  text-align: center;
  padding: 9.1rem 5rem;
  background-color: #fff;
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_ttl {
    border-radius: 2rem 2rem;
    padding: 4.5rem 4rem 5.6rem;
    min-height: 50rem;
    margin-inline: -3.5rem;
    margin-bottom: -20rem;
  }
}

.p-recruit_work .work_ttl .ttl_left {
  display: block;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.19em;
  position: absolute;
  top: 4rem;
  right: 4rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_ttl .ttl_left {
    font-size: 1.7rem;
    letter-spacing: 0.2em;
  }
}

.p-recruit_work .work_ttl .ttl_right span {
  display: block;
  font-size: 2rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #FD8AA6;
  margin-bottom: 2rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_ttl .ttl_right span {
    font-size: 2.4rem;
    margin-bottom: 3.5rem;
  }
}

.p-recruit_work .work_ttl .ttl_right h2 {
  font-size: 3.6rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.p-recruit_work .container {
  max-width: 130rem;
}

.p-recruit_work .work_wrap {
  position: relative;
}

.p-recruit_work .work_item {
  background-color: #fff;
  margin: 0 auto;
  border-radius: 3rem;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  padding: 10rem;
  min-height: 56rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  position: relative;
  width: 100%;
  overflow: hidden;
  will-change: transform;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.2rem;
    min-height: auto;
    padding: 9rem 6.5rem 8.2rem;
  }
}

.p-recruit_work .work_item .board-item__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  border-radius: inherit;
}

.p-recruit_work .work_item:before, .p-recruit_work .work_item:after {
  content: "";
  width: 20rem;
  height: 20rem;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item:before, .p-recruit_work .work_item:after {
    width: 12rem;
    height: 12rem;
  }
}

.p-recruit_work .work_item:before {
  background: url("../img/recruit/bf_deco.png") no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

.p-recruit_work .work_item:after {
  background: url("../img/recruit/af_deco.png") no-repeat;
  background-size: contain;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item:after {
    bottom: -1px;
  }
}

.p-recruit_work .work_item:not(:last-child) {
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item:not(:last-child) {
    margin-bottom: 5rem;
  }
}

.p-recruit_work .work_item .pic {
  width: 56rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .pic {
    width: 100%;
  }
}

.p-recruit_work .work_item .txt {
  width: calc(100% - 56rem);
  padding-right: 5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt {
    width: 100%;
    padding-right: 0;
  }
}

.p-recruit_work .work_item .txt .ttl_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt .ttl_top {
    gap: 2rem;
  }
}

.p-recruit_work .work_item .txt .ttl_top .nb {
  display: block;
  font-size: 9.2rem;
  line-height: 1;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt .ttl_top .nb {
    font-size: 9rem;
  }
}

.p-recruit_work .work_item .txt .ttl_top .ttl_w h3 {
  font-size: 2.8rem;
  line-height: calc(48/28);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt .ttl_top .ttl_w h3 {
    font-size: 3.4rem;
    line-height: calc(44/34);
    margin-bottom: 0.8rem;
    letter-spacing: 0.15em;
  }
}

.p-recruit_work .work_item .txt .ttl_top .ttl_w span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt .ttl_top .ttl_w span {
    font-size: 1.7rem;
  }
}

.p-recruit_work .work_item .txt p {
  line-height: calc(28/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-recruit_work .work_item .txt p {
    line-height: calc(40/24);
  }
}

.p-recruit_bg {
  width: 100%;
  height: 55.5rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
}

@media screen and (max-width: 768px) {
  .p-recruit_bg {
    height: 60rem;
  }
}

.p-recruit_bg picture {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: -1;
  pointer-events: none;
  display: block;
}

.p-recruit_bg picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-recruit_application {
  padding: 14rem 0 18rem;
  background-color: #FFFDF8;
}

@media screen and (max-width: 768px) {
  .p-recruit_application {
    padding: 15.2rem 0 15rem;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit_application .container {
    padding: 0 5rem;
  }
}

.p-recruit_application .application_ttl {
  margin-bottom: 9rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .application_ttl {
    margin-bottom: 7.8rem;
  }
}

.p-recruit_application .application_ttl h2 {
  font-size: 3.6rem;
  line-height: 1.5;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1.5rem;
}

.p-recruit_application .application_ttl span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #FD8AA6;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .application_ttl span {
    font-size: 1.7rem;
  }
}

.p-recruit_application .tabs {
  max-width: 104rem;
  margin: 0 auto;
}

.p-recruit_application .tabs_control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 7rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_control {
    margin-bottom: 8rem;
  }
}

.p-recruit_application .tabs_control li {
  width: 39.4rem;
  border-right: 1px solid #707070;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_control li {
    width: 50%;
  }
}

.p-recruit_application .tabs_control li:first-child {
  border-left: 1px solid #707070;
}

.p-recruit_application .tabs_control li a {
  display: block;
  min-height: 10rem;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
  padding: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_control li a {
    font-size: 2.7rem;
    padding: 0.5rem;
    letter-spacing: 0.1em;
  }
}

.p-recruit_application .tabs_control li a .arr {
  position: absolute;
  bottom: 4rem;
  left: 50%;
}

.p-recruit_application .tabs_control li a .arr:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  background-color: #FD8AA6;
  position: absolute;
  top: 0;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.p-recruit_application .tabs_control li a .arr:after {
  content: '';
  position: absolute;
  background-color: #FD8AA6;
  top: 0;
  left: 0.4rem;
  width: 1px;
  height: 2.4rem;
  margin-top: 0.2rem;
}

.p-recruit_application .tabs_control li a:hover {
  background-color: #FFE7EA;
}

.p-recruit_application .tabs_control li a:hover .arr:before {
  -webkit-transform: translateY(2.4rem);
  transform: translateY(2.4rem);
}

.p-recruit_application .tabs_card {
  background-color: #fff;
  border-radius: 3rem;
  -webkit-box-shadow: 0 0 1.2rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 1.2rem rgba(0, 0, 0, 0.16);
  padding: 12rem 14rem 14rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_card {
    padding: 10rem 7rem;
  }
}

.p-recruit_application .tabs_content {
  display: none;
}

.p-recruit_application .tabs_content.is-active {
  display: block;
}

.p-recruit_application .tabs_ttl {
  text-align: center;
  margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_ttl {
    margin-bottom: 5rem;
  }
}

.p-recruit_application .tabs_ttl h3 {
  font-size: 2.4rem;
  line-height: 1.4;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_ttl h3 {
    font-size: 3rem;
  }
}

.p-recruit_application .tabs_ttl span {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #FD8AA6;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs_ttl span {
    font-size: 1.7rem;
  }
}

.p-recruit_application .tabs .l_application {
  margin-bottom: 9rem;
}

.p-recruit_application .tabs .l_application li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .l_application li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .p-recruit_application .tabs .l_application li:not(:last-child) {
    margin-bottom: 8rem;
  }
}

.p-recruit_application .tabs .l_application li .ttl {
  width: 20rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 5.8rem 4rem;
  font-size: 1.6rem;
  line-height: calc(40/16);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #FD8AA6;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .l_application li .ttl {
    border-top: 1px solid #FD8AA6;
    width: 14rem;
    font-size: 2.3rem;
    line-height: calc(40/23);
    padding: 2.3rem 0;
    text-align: center;
  }
}

.p-recruit_application .tabs .l_application li .txt {
  font-style: normal;
  font-size: 1.6rem;
  line-height: calc(40/16);
  letter-spacing: 0.05em;
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 4rem;
  padding: 5.8rem 0;
  border-bottom: 1px solid #B9B9B9;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .l_application li .txt {
    font-size: 2.4rem;
    line-height: calc(40/24);
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    margin-left: 0;
    padding: 4rem 0;
  }
}

.p-recruit_application .tabs .l_application li:first-child span {
  border-top: 1px solid #FD8AA6;
}

@media screen and (min-width: 769px) {
  .p-recruit_application .tabs .l_application li:first-child .txt {
    border-top: 1px solid #B9B9B9;
  }
}

.p-recruit_application .tabs .btn_wrap a {
  width: 48rem;
  min-height: 12rem;
  border-radius: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2rem;
  line-height: calc(34/20);
  text-align: center;
  background-color: #FD8AA6;
  border: 1px solid #FD8AA6;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .btn_wrap a {
    width: 100%;
    min-height: 20rem;
    font-size: 2.4rem;
    line-height: calc(39/24);
  }
}

.p-recruit_application .tabs .btn_wrap a .arr {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 3rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .btn_wrap a .arr {
    top: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    right: auto;
    bottom: 4rem;
  }
}

.p-recruit_application .tabs .btn_wrap a .arr:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #fff;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
}

.p-recruit_application .tabs .btn_wrap a .arr:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.45rem;
  height: 1px;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .p-recruit_application .tabs .btn_wrap a .arr:after {
    width: 1px;
    height: 2.45rem;
    right: 0.4rem;
  }
}

@media screen and (min-width: 769px) {
  .p-recruit_application .tabs .btn_wrap a .arr_hv {
    opacity: 0;
    -webkit-transform: translate(-2rem, -50%);
    transform: translate(-2rem, -50%);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .p-recruit_application .tabs .btn_wrap a .arr_hv:before {
    background-color: #FD8AA6;
  }
  .p-recruit_application .tabs .btn_wrap a .arr_hv:after {
    background-color: #FD8AA6;
  }
  .p-recruit_application .tabs .btn_wrap a:hover {
    opacity: 1;
    background-color: #fff;
    color: #FD8AA6;
  }
  .p-recruit_application .tabs .btn_wrap a:hover .arr {
    -webkit-transform: translate(2rem, -50%);
    transform: translate(2rem, -50%);
    opacity: 0;
  }
  .p-recruit_application .tabs .btn_wrap a:hover .arr_hv {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
  }
}

.p-remake .key-visual {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .p-remake .key-visual {
    padding: 5rem 5rem 7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 13rem;
    -moz-column-gap: 13rem;
    column-gap: 13rem;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual {
    padding-block: 6.4rem 17rem;
  }
}

.p-remake .key-visual .kv-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.3em;
  font-family: "Shippori Mincho", serif;
}

.p-remake .key-visual .kv-ttl span {
  display: inline-block;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual .kv-ttl {
    font-size: 3.4rem;
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    position: absolute;
    top: 57rem;
    right: 8rem;
  }
}

.p-remake .key-visual .img02-sm {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

@media screen and (min-width: 769px) {
  .p-remake .key-visual .img02-sm {
    width: 27rem;
    top: 15rem;
    left: 31rem;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual .img02-sm {
    width: 31rem;
    top: 26%;
    left: 5rem;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@media screen and (min-width: 769px) {
  .p-remake .key-visual .kv-img {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4rem;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
  .p-remake .key-visual .kv-img .img {
    width: 27rem;
  }
  .p-remake .key-visual .kv-img .img.img01 {
    margin-top: 5rem;
  }
  .p-remake .key-visual .kv-img .img.img02 {
    margin-top: 15rem;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
  .p-remake .key-visual .kv-img .img.img03 {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual .kv-img .img.img01 {
    width: 25rem;
    margin-left: auto;
    margin-right: -2rem;
  }
  .p-remake .key-visual .kv-img .img.img02 {
    width: 31rem;
    margin-top: -7rem;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
  .p-remake .key-visual .kv-img .img.img03 {
    width: 47rem;
    margin-left: auto;
    margin-right: -5rem;
    margin-top: 6rem;
    position: relative;
    z-index: 2;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }
}

@media screen and (min-width: 769px) {
  .p-remake .key-visual .kv-ctn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    row-gap: 16rem;
    position: relative;
    z-index: 2;
  }
}

@media screen and (min-width: 769px) {
  .p-remake .key-visual .page-title {
    padding-left: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual .page-title {
    position: absolute;
    top: 14.2rem;
    left: 8rem;
  }
}

.p-remake .key-visual .kv-line {
  position: absolute;
  top: calc(35% - 16rem);
  left: calc(54.5% - 2.95rem);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 211.5rem;
  height: 55rem;
  z-index: 1;
  pointer-events: none;
}

@media screen and (min-width: 1350px) {
  .p-remake .key-visual .kv-line {
    left: calc(51.5% - 2.95rem);
  }
}

.p-remake .key-visual .kv-line img,
.p-remake .key-visual .kv-line svg {
  display: block;
  width: 100%;
  height: auto;
}

.p-remake .key-visual .kv-line path,
.p-remake .key-visual .kv-line .line-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

@media screen and (max-width: 768px) {
  .p-remake .key-visual .kv-line {
    width: 90.2rem;
    height: 165.6rem;
    top: -12rem;
    left: -19rem;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.p-remake .key-visual.is-inview .kv-line path,
.p-remake .key-visual.is-inview .kv-line .line-path, .p-remake .key-visual.is-view .kv-line path,
.p-remake .key-visual.is-view .kv-line .line-path {
  -webkit-animation: drawKvLine 3s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
  animation: drawKvLine 3s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

@-webkit-keyframes drawPassingLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes drawPassingLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes drawKvLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes drawKvLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes drawStoryLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes drawStoryLine {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}

.p-remake .p-remake-passing {
  padding: 8rem 0 17.5rem;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing {
    padding: 0 0 15rem;
  }
}

.p-remake .p-remake-passing .heading-lv4 {
  margin-left: 2rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .heading-lv4 {
    margin-left: 0;
    margin-bottom: 6rem;
  }
}

.p-remake .p-remake-passing .passing-txt {
  max-width: 72rem;
  line-height: calc(32/14);
  letter-spacing: 0.05em;
  margin: 7rem 0 15rem 7rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-txt {
    line-height: calc(48/24);
    letter-spacing: 0.09em;
    margin: 0 0 12rem;
  }
}

.p-remake .p-remake-passing .passing-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 10rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-list {
    gap: 11.7rem;
  }
}

.p-remake .p-remake-passing .passing-item {
  width: calc(50% - 5rem);
}

.p-remake .p-remake-passing .passing-item:nth-of-type(1) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-remake .p-remake-passing .passing-item:nth-of-type(2) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.p-remake .p-remake-passing .passing-item:nth-of-type(3) {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.p-remake .p-remake-passing .passing-item:nth-of-type(4) {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-item {
    width: 100%;
  }
}

.p-remake .p-remake-passing .passing-item_img {
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-item_img {
    margin-bottom: 5rem;
  }
}

.p-remake .p-remake-passing .pass-item_lbl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 7rem;
  height: 3rem;
  background-color: #ECEFF1;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .pass-item_lbl {
    width: 10rem;
    height: 3.6rem;
    font-size: 2.6rem;
  }
}

.p-remake .p-remake-passing .pass-item_sub {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.1em;
  font-family: "Shippori Mincho", serif;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .pass-item_sub {
    font-size: 2.6rem;
  }
}

.p-remake .p-remake-passing .pass-item_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .pass-item_row {
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
  }
}

.p-remake .p-remake-passing .pass-item_row._after {
  margin-top: 4rem;
}

.p-remake .p-remake-passing .pass-item_row._after .pass-item_lbl {
  background-color: #FFD1DC;
}

.p-remake .p-remake-passing .pass-item_row._after .pass-item_lbl::before {
  position: absolute;
  content: "";
  display: block;
  width: 1rem;
  height: 1.2rem;
  background: url(../img/common/icon_up.svg) no-repeat center/contain;
  top: -2.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-remake .p-remake-passing .pass-item_row._after .pass-item_sub {
  font-size: 2.4rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .pass-item_row._after .pass-item_sub {
    font-size: 3.6rem;
  }
}

.p-remake .p-remake-passing .pass-item_row._after .pass-item_sub::before {
  position: absolute;
  content: '';
  display: block;
  width: 100%;
  height: 0.1rem;
  top: -2rem;
  left: 0;
  background-color: #ECEFF1;
}

.p-remake .p-remake-passing .passing-line {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
}

.p-remake .p-remake-passing .passing-line img,
.p-remake .p-remake-passing .passing-line svg {
  display: block;
  width: 100%;
  max-width: unset;
  height: auto;
}

.p-remake .p-remake-passing .passing-line path,
.p-remake .p-remake-passing .passing-line .line-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.p-remake .p-remake-passing .passing-line.is-inview path,
.p-remake .p-remake-passing .passing-line.is-inview .line-path, .p-remake .p-remake-passing .passing-line.is-view path,
.p-remake .p-remake-passing .passing-line.is-view .line-path, .p-remake .p-remake-passing .passing-line.is-act path,
.p-remake .p-remake-passing .passing-line.is-act .line-path {
  -webkit-animation: drawPassingLine 3s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
  animation: drawPassingLine 3s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

.p-remake .p-remake-passing .passing-line.line1 {
  width: 400.1rem;
  height: 79.6rem;
  top: 12%;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-line.line1 {
    width: 118.4rem;
    height: 76.5rem;
    top: 14.2%;
  }
}

.p-remake .p-remake-passing .passing-line.line2 {
  width: 400.2rem;
  height: 105.6rem;
  top: calc(55% - 39rem);
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-passing .passing-line.line2 {
    width: 118.4rem;
    height: 76.5rem;
    top: 60%;
  }
}

.p-remake .p-remake-story {
  background-color: #FFFDF8;
  padding: 18rem 0 12rem;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-story .p-remake-story-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5rem;
  }
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story_title {
  position: relative;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-head .p-remake-story_title {
    margin-bottom: 7rem;
  }
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story_title .ja {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: calc(64/36);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story_title .en {
  display: inline-block;
  font-size: 9rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: calc(64/90);
  font-family: "Allison", cursive;
  color: #FD8AA6;
  position: absolute;
  left: 25%;
  top: 75%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 43.8rem;
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-story .p-remake-story-head .p-remake-story-head_left {
    width: 72rem;
  }
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story_txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-head .p-remake-story_txt {
    line-height: calc(48/24);
    letter-spacing: 0.09em;
  }
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story-head_right {
  font-size: 2.8rem;
  font-weight: 400;
  line-height: calc(34/28);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-head .p-remake-story-head_right {
    font-size: 3.6rem;
    line-height: calc(40/36);
    margin-top: 25rem;
    margin-bottom: 7rem;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
  }
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story-head_right span {
  display: inline-block;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  white-space: nowrap;
}

.p-remake .p-remake-story .p-remake-story-head .p-remake-story-head_right span:nth-child(1) {
  margin-top: 2rem;
}

.p-remake .p-remake-story .story-txt {
  font-size: 2rem;
  font-weight: 400;
  line-height: calc(42/20);
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .story-txt {
    font-size: 2.4rem;
    line-height: calc(42/24);
  }
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 10rem;
    -moz-column-gap: 10rem;
    column-gap: 10rem;
  }
}

.p-remake .p-remake-story .p-remake-story-content .story-article .story-article_ctn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 36rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article .story-article_ctn {
    max-width: 52rem;
    margin: 5rem auto 0;
  }
}

.p-remake .p-remake-story .p-remake-story-content .story-article.article01 .story-article_img {
  width: 69rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article.article01 .story-article_img {
    width: 72.7rem;
    margin-left: -12.7rem;
  }
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article.article02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 7rem;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article.article02 {
    margin-top: 16rem;
  }
}

.p-remake .p-remake-story .p-remake-story-content .story-article.article02 .story-article_img {
  width: 62rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story-content .story-article.article02 .story-article_img {
    width: 60.2rem;
    margin-left: -1rem;
  }
}

.p-remake .p-remake-story .p-remake-story_bottom {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story_bottom {
    margin: 16rem -2rem 0;
  }
}

.p-remake .p-remake-story .p-remake-story_bottom .img-sm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 14rem;
  -moz-column-gap: 14rem;
  column-gap: 14rem;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story_bottom .img-sm {
    gap: 3.7rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.p-remake .p-remake-story .p-remake-story_bottom .img-sm .img {
  width: 36rem;
  margin-left: 6rem;
  margin-top: -9rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story_bottom .img-sm .img {
    width: 28rem;
    margin-left: -2rem;
    margin-top: 0;
  }
  .p-remake .p-remake-story .p-remake-story_bottom .img-sm .img img {
    margin-top: -5rem;
  }
}

.p-remake .p-remake-story .p-remake-story_bottom .img-sm .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .p-remake-story_bottom .img-sm .txt {
    padding: 5rem 0 0;
  }
}

.p-remake .p-remake-story .container {
  position: relative;
  z-index: 1;
}

.p-remake .p-remake-story .story-line {
  position: absolute;
  top: -23.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 399.4rem;
  height: 324.5rem;
  pointer-events: none;
}

.p-remake .p-remake-story .story-line img,
.p-remake .p-remake-story .story-line svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: unset;
}

.p-remake .p-remake-story .story-line .line-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.p-remake .p-remake-story .story-line.is-inview .line-path, .p-remake .p-remake-story .story-line.is-view .line-path, .p-remake .p-remake-story .story-line.is-act .line-path {
  -webkit-animation: drawStoryLine 4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
  animation: drawStoryLine 4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-story .story-line {
    width: 141.2rem;
    top: 32rem;
    right: -19.4rem;
    left: auto;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.p-remake .p-remake-flow {
  padding: 18rem 0;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow {
    padding: 10rem 0 18rem;
  }
}

.p-remake .p-remake-flow .container {
  max-width: 107rem;
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-flow .p-remake-flow-head {
    border-left: 0.2rem solid #FFD1DC;
    padding-left: 7.4rem;
    position: relative;
    margin-bottom: 11.5rem;
  }
  .p-remake .p-remake-flow .p-remake-flow-head::before, .p-remake .p-remake-flow .p-remake-flow-head::after {
    position: absolute;
    content: '';
    width: 0.8rem;
    height: 0.8rem;
    left: -0.6rem;
    border: 0.1rem solid #FD8AA6;
    border-radius: 50%;
  }
  .p-remake .p-remake-flow .p-remake-flow-head::before {
    top: -0.8rem;
  }
  .p-remake .p-remake-flow .p-remake-flow-head::after {
    top: 100%;
    background-color: #FD8AA6;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-head .heading-lv4 {
    border-left: 0.2rem solid #FFD1DC;
    padding-left: 3.5rem;
    position: relative;
  }
  .p-remake .p-remake-flow .p-remake-flow-head .heading-lv4::before, .p-remake .p-remake-flow .p-remake-flow-head .heading-lv4::after {
    position: absolute;
    content: '';
    width: 0.8rem;
    height: 0.8rem;
    left: -0.6rem;
    border: 0.1rem solid #FD8AA6;
    border-radius: 50%;
  }
  .p-remake .p-remake-flow .p-remake-flow-head .heading-lv4::before {
    top: -0.8rem;
  }
  .p-remake .p-remake-flow .p-remake-flow-head .heading-lv4::after {
    top: 100%;
    background-color: #FD8AA6;
  }
}

.p-remake .p-remake-flow .p-remake-flow-head .p-remake-flow-head_sub {
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 2.8rem;
  margin-top: 6rem;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-head .p-remake-flow-head_sub {
    font-size: 3rem;
    line-height: calc(54/30);
    letter-spacing: 0.15em;
    margin: 9rem 0 4.8rem;
  }
}

.p-remake .p-remake-flow .p-remake-flow-head .p-remake-flow-head_txt {
  line-height: calc(32/14);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-head .p-remake-flow-head_txt {
    line-height: calc(48/24);
    letter-spacing: 0.093em;
  }
}

.p-remake .p-remake-flow .p-remake-flow-content {
  max-width: 92rem;
  margin: 0 auto;
}

.p-remake .p-remake-flow .p-remake-flow-list {
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-list {
    margin: 10rem -2rem 0;
  }
}

.p-remake .p-remake-flow .p-remake-flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0 5rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item {
    gap: 0 3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-flow .p-remake-flow-item:not(:last-child)::after {
    position: absolute;
    content: '';
    width: 0.3rem;
    height: calc(100% - 1rem);
    left: 7.4rem;
    top: 14rem;
    background-color: #FFD1DC;
    z-index: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
    transition: -webkit-transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s, -webkit-transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
  }
  .p-remake .p-remake-flow .p-remake-flow-item.is-view:not(:last-child)::after, .p-remake .p-remake-flow .p-remake-flow-item.is-act:not(:last-child)::after, .p-remake .p-remake-flow .p-remake-flow-item:has(+ .is-view)::after {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

.p-remake .p-remake-flow .p-remake-flow-item + .p-remake-flow-item {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item + .p-remake-flow-item {
    margin-top: 17rem;
    position: relative;
  }
  .p-remake .p-remake-flow .p-remake-flow-item + .p-remake-flow-item::after {
    position: absolute;
    content: '';
    width: 3rem;
    height: 3rem;
    left: 50%;
    -webkit-transform: translate(-50%, -1.5rem);
    transform: translate(-50%, -1.5rem);
    top: -10rem;
    background: url(../img/common/icon_up.svg) no-repeat center/cover;
    opacity: 0;
    -webkit-transition: opacity 0.6s ease 0.2s, -webkit-transform 0.6s ease 0.2s;
    transition: opacity 0.6s ease 0.2s, -webkit-transform 0.6s ease 0.2s;
    transition: opacity 0.6s ease 0.2s, transform 0.6s ease 0.2s;
    transition: opacity 0.6s ease 0.2s, transform 0.6s ease 0.2s, -webkit-transform 0.6s ease 0.2s;
  }
  .p-remake .p-remake-flow .p-remake-flow-item + .p-remake-flow-item.is-view::after, .p-remake .p-remake-flow .p-remake-flow-item + .p-remake-flow-item.is-act::after {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}

.p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_img {
  width: 15rem;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_img {
    width: 12rem;
  }
}

.p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl {
  width: calc(100% - 20rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl {
    width: calc(100% - 15rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl .step {
  font-size: 1.6rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #FD8AA6;
  border: 0.1rem solid #FD8AA6;
  border-radius: 0 3rem 3rem 0;
  border-left: none;
  padding: 0.3rem 1rem;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl .step {
    font-size: 2.4rem;
    padding: 0.5rem 1rem;
  }
}

.p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl .txt {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Shippori Mincho", serif;
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_ttl .txt {
    font-size: 3.2rem;
  }
}

@media screen and (min-width: 769px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_copy {
    width: calc(100% - 20rem);
    margin-left: 20rem;
    margin-top: -10rem;
    line-height: calc(32/14);
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 768px) {
  .p-remake .p-remake-flow .p-remake-flow-item .p-remake-flow-item_copy {
    margin-top: 5rem;
    line-height: calc(48/24);
    letter-spacing: 0.06em;
  }
}
