@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/**
* デザイン上のモバイル版アートボードの横幅
* (ピクセル単位　単位無しの整数)
*/
/**
* モバイル時での1remのピクセル数
* (ピクセル単位　単位無しの整数)
*/
/*
「spVw()」の逆バージョン。
PCデザインを基準に、vwの値を決定する。
第2引数で、横幅の基準値を変更できる。
*/
/*
デザインデータのフォントサイズ等の横幅を、vwに変換する。
例えば横幅375pxのアートボード上の、16pxのフォントサイズは、「4.3vw」に変換される。
デザインデータのアートボードの横幅が変わった際には、
「$designWidthPx」の値をそれに変更。
変換対象の引数は整数で入力する。
*/
/**
* ピクセルheightをremに変換
* これを行う事で、ピクセルを直接指定する場合とは異なり、
* 画面横幅を縮めても、縦幅も均一に縮小される。
*/
/*
左右にmargin autoを付与する。
「margin: 0 auto;」でもよいのだが、topやbottomに干渉させたくなく、
意外と多様する事も多いため、こちらに作成。
*/
/**
モバイル状態で左右に余白があり、かつそれを無視して
100vw表示したい場合の左右余白の相殺
*/
/*
テキストの行数制限
最後は三点リーダーになる
*/
/*
文字グラデーション
*/
/**
WordPress記事の基本的スタイル
*/
/**
 * フレキシブルボックスの子要素の横幅を算出
 * 
 * 子要素の数と、gapの長さを指定するだけで、
 * 子要素の長さを、いい具合に自動算出する。
 *
 * $elementNum:　子要素の数
 * $gapWidth: gapの長さ　remなど単位は問わない
 */
/**
 * テキストに輪郭線を付ける
 * 
 * $color  色
 * $outlineWidth  線の幅px
 * $blur  ぼかしpx
 */
/**
 * マウスオーバーすると、光が横切るエフェクト
 * 使い方：付与したい要素の中に
 * <i class="luster"></i>
 * を入れるだけ。
 * この要素だけで完結しているので、対象の疑似要素を奪う心配もなし。
 * 要素全体に展開するが、pointer-events: none;により、
 * クリックイベントは貫通して、奥の要素のものが実行される。
 */
*:has(> i.luster) {
  position: relative;
}

*:has(> i.luster) i.luster {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 10;
}

*:has(> i.luster) i.luster:before {
  content: "";
  display: block;
  width: 150%;
  height: 100%;
  background: linear-gradient(-45deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-150%);
  transform: translateX(-150%);
  pointer-events: none;
}

*:has(> i.luster):hover i:before {
  -webkit-transform: translateX(150%);
  transform: translateX(150%);
  -webkit-transition: 0.75s;
  transition: 0.75s;
}

/**
 * テキストを左側からフェードイン
 * $color テキストの色
 * $delay テキストに配色を開始するタイミング
 */
@-webkit-keyframes textLeftIn__backmove {
  0% {
    background-position: center right;
  }

  100% {
    background-position: center left;
  }
}

@keyframes textLeftIn__backmove {
  0% {
    background-position: center right;
  }

  100% {
    background-position: center left;
  }
}

/**
* ノートのような線を引くためのもの
* ループで行数を追加出来るようにしたかったが、それまではベタで作成。
*/
/** 
* カーニング処理
* Adobe XDにおけるカーニングの値はDTP基準なので、
* その数値をCSS向けに変換する。
* 文末となる右側にも、ネガティブマージンを付けて最後のスペースを相殺。
* 第２引数が「false」以外の場合、「letter-spacing」のみを出力。
*/
/**
* Adove XDの行送りの値から、line-heightの値を算出。
* $leading  XD上の文字送りの数値
* $fontPx   文字サイズ　XD上のピクセル数（pxなどの単位は無し）
*/
/**
* position: absolute; と、4方向座標指定が面倒なので作成。
* marginのショートハンド同様、1つの場合は全方向。
* 2つ入れれば縦・横に。
* 3つ入れれば上、左右、下の順で。
* 4つ入れれば上から時計回りに適用される。
*/
/**
* テキストの高さ半分ぐらいを覆う下線
* $color 下線の色
* $heightPercent 下から何％まで覆うか
*/
:root {
  --fixed-header-height: 80px;
  --fixed-bottom-area-height: 100px;
  --section-padding: 150px;
  --section-padding-small: 100px;
  font-size: 16px;
  font-weight: 500;
  color: #4b4b4b;
  font-family: "Noto Serif JP", serif;
  --wp-adminbar-height: 0px;
  --section-background01: linear-gradient(to bottom, #fff, #F5F5F5);
}

:root:has(#wpadminbar) {
  --wp-adminbar-height: 32px;
}

@media screen and (max-width: 782px) {
  :root:has(#wpadminbar) {
    --wp-adminbar-height: 46px;
  }
}

@media screen and (max-width: 599px) {
  :root {
    --fixed-header-height: 16vw;
    --fixed-bottom-area-height: 21.3vw;
    --section-padding: 18.7vw;
    --section-padding-small: 13.3vw;
    font-size: 4.3vw;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  padding-top: var(--fixed-header-height);
  padding-bottom: var(--fixed-bottom-area-height);
}

body:has(input#accordion:checked) {
  overflow: hidden;
}

p {
  line-height: 1.75;
}

b,
strong {
  font-weight: inherit;
  line-height: inherit;
}

input#accordion {
  display: none;
}

@media screen and (max-width: 599px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}

@media screen and (max-width: 599px) {
  br.sp {
    display: inline;
  }
}

.breadcrumb {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 30px;
}

@media screen and (max-width: 599px) {
  .breadcrumb {
    height: 6.7vw;
  }
}

.breadcrumb ul {
  max-width: 1366px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  display: block;
  font-size: 14px;
}

@media screen and (max-width: 599px) {
  .breadcrumb ul {
    font-size: 2.7vw;
  }
}

.breadcrumb ul li {
  display: inline;
}

.breadcrumb ul li:not(:last-child) {
  margin-right: 3em;
  position: relative;
}

.breadcrumb ul li:not(:last-child):after {
  content: "＞";
  position: absolute;
  top: 0.1em;
  left: calc(100% + 1em);
}

body>header .fixed-header {
  width: 100%;
  height: var(--fixed-header-height);
  background-color: rgba(255, 255, 255, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

body>header .fixed-header .inner {
  height: inherit;
  max-width: 1730px;
  width: 89.3vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

body>header .fixed-header .inner>.logo {
  width: 210px;
  aspect-ratio: 210/60;
}

@media screen and (max-width: 1145px) {
  body>header .fixed-header .inner>.logo {
    width: 180px;
  }
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner>.logo {
    width: 33.3vw;
  }
}

body>header .fixed-header .inner>.logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

body>header .fixed-header .inner>.logo-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

body>header .fixed-header .inner>.logo-area>.logo {
  width: 210px;
  aspect-ratio: 210/60;
}

@media screen and (max-width: 1145px) {
  body>header .fixed-header .inner>.logo-area>.logo {
    width: 180px;
  }
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner>.logo-area>.logo {
    width: 33.3vw;
  }
}

body>header .fixed-header .inner>.logo-area>.logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

body>header .fixed-header .inner>.logo-area>span {
  font-size: 20px;
  color: #fff;
  text-align: center;
  background-color: #db6f80;
  border-radius: 1000px;
  line-height: 1;
  padding: 0.2rem 1.2em;
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner>.logo-area>span {
    font-size: 2.7vw;
  }
}

@media screen and (max-width: 1145px) {
  body>header .fixed-header .inner>.logo-area>span {
    font-size: 16px;
  }
}

@media screen and (min-width: 931px) {
  body>header .fixed-header .inner>.navi-area nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
    font-size: 18px;
  }
}

@media screen and (min-width: 931px) and (max-width: 1145px) {
  body>header .fixed-header .inner>.navi-area nav ul {
    font-size: 16px;
    -webkit-column-gap: 1.5em;
    -moz-column-gap: 1.5em;
    column-gap: 1.5em;
  }
}

@media screen and (min-width: 931px) {
  body>header .fixed-header .inner>.navi-area nav ul li a {
    position: relative;
  }

  body>header .fixed-header .inner>.navi-area nav ul li a:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    /* background-color: #ffbfac; */
    background-color: #db6f80;
    position: absolute;
    bottom: -0.25rem;
    left: 0;
    scale: 0 1;
    -webkit-transition: scale 0.5s;
    transition: scale 0.5s;
  }

  body>header .fixed-header .inner>.navi-area nav ul li a:hover:after {
    scale: 1;
  }
}

@media screen and (max-width: 930px) {
  body>header .fixed-header .inner>.navi-area {
    width: 100%;
    height: 0;
    overflow-y: scroll;
    position: fixed;
    top: var(--fixed-header-height);
    left: 0;
    -webkit-transition: height 0.5s;
    transition: height 0.5s;
    background-color: rgba(207, 185, 179, 0.8);
    backdrop-filter: blur(5px);
  }

  body>header .fixed-header .inner>.navi-area nav {
    width: 100%;
    padding: 2rem 0;
  }

  body>header .fixed-header .inner>.navi-area nav ul {
    width: 100%;
    font-size: 16px;
  }

  body>header .fixed-header .inner>.navi-area nav ul li {
    width: 100%;
    text-align: center;
    color: #fff;
  }

  body>header .fixed-header .inner>.navi-area nav ul li a {
    display: block;
    width: 100%;
    padding: 1em 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  body>header .fixed-header .inner>.navi-area nav ul li a:hover {
    color: #707070;
    background-color: rgba(255, 255, 255, 0.95);
  }
}

body>header .fixed-header .inner label[for=accordion] {
  --width: 50px;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: var(--width);
  height: 50px;
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner label[for=accordion] {
    --width: 10.7vw;
  }
}

@media screen and (max-width: 930px) {
  body>header .fixed-header .inner label[for=accordion] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner label[for=accordion] {
    height: auto;
    aspect-ratio: 40/40;
  }
}

body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1) {
  width: 100%;
  aspect-ratio: 40/20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span {
  width: 100%;
  height: 1px;
  border: solid 1px #4b4b4b;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span:nth-child(1) {
  bottom: auto;
}

body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span:nth-child(3) {
  top: auto;
}

body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(2) {
  text-align: center;
  color: #4b4b4b;
  font-size: 19px;
  line-height: 1;
}

@media screen and (max-width: 599px) {
  body>header .fixed-header .inner label[for=accordion]>span:nth-of-type(2) {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 930px) {
  body:has(input#accordion:checked)>header .fixed-header .inner .navi-area {
    height: calc(100% - var(--fixed-header-height));
  }
}

body:has(input#accordion:checked)>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span {
  width: 80%;
}

body:has(input#accordion:checked)>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span:nth-child(1) {
  bottom: 0;
  rotate: 225deg;
}

body:has(input#accordion:checked)>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span:nth-child(2) {
  scale: 0 1;
}

body:has(input#accordion:checked)>header .fixed-header .inner label[for=accordion]>span:nth-of-type(1)>span:nth-child(3) {
  top: 0;
  rotate: -225deg;
}

body>footer {
  padding-top: 102px;
  background: #80706b;
  background: linear-gradient(300deg, rgb(128, 112, 107) 0%, rgb(153, 142, 139) 29%, rgb(128, 112, 107) 100%);
}

@media screen and (max-width: 599px) {
  body>footer {
    padding-top: 12vw;
  }
}

body>footer .logo-area .logo {
  display: block;
  width: 304px;
  margin: 0 auto 4rem;
}

@media screen and (max-width: 599px) {
  body>footer .logo-area .logo {
    width: 50.7vw;
  }
}

body>footer .logo-area dl {
  width: 100%;
  color: #fff;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 1em;
  font-size: 18px;
  margin-bottom: 4rem;
}

@media screen and (max-width: 599px) {
  body>footer .logo-area dl {
    font-size: 4.3vw;
  }
}

body>footer .logo-area dl>div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 3em;
  -moz-column-gap: 3em;
  column-gap: 3em;
}

body>footer .logo-area dl>div dt,
body>footer .logo-area dl>div dd {
  font-weight: normal;
}

body>footer .logo-area dl>div dt {
  width: 4em;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  position: relative;
}

body>footer .logo-area dl>div dt:after {
  content: "：";
  display: block;
  position: absolute;
  top: 0;
  left: calc(100% + 1em);
}

body>footer .logo-area dl>div dd {
  width: 15em;
}

body>footer .logo-area .link-button01 {
  height: 60px;
  background-color: rgba(255, 255, 255, 0.1);
  margin-bottom: 3rem;
}

@media screen and (max-width: 599px) {
  body>footer .logo-area .link-button01 {
    max-width: 80vw;
    height: 13.3vw;
  }
}

body>footer .logo-area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2em;
  font-size: 18px;
  color: #CCCCCC;
  margin-bottom: 2rem;
}

@media screen and (max-width: 599px) {
  body>footer .logo-area ul {
    font-size: 4.3vw;
  }
}

@media screen and (max-width: 599px) {
  body>footer .logo-area ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

body>footer .copyright {
  height: 40px;
}

@media screen and (max-width: 599px) {
  body>footer .copyright {
    height: 9.3vw;
  }
}

body>footer .copyright p {
  color: #CCCCCC;
  text-align: center;
  font-size: 14px;
}

@media screen and (max-width: 599px) {
  body>footer .copyright p {
    font-size: 3.2vw;
  }
}

.fixed-bottom-area {
  width: 100%;
  height: var(--fixed-bottom-area-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

.fixed-bottom-area>p {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  column-gap: 1em;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area>p {
    font-size: 3.7vw;
  }
}

.fixed-bottom-area>p>span b {
  color: #FF6022;
}

.fixed-bottom-area>p:before {
  content: "＼";
}

.fixed-bottom-area>p:after {
  content: "／";
}

.fixed-bottom-area ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

.fixed-bottom-area ul li {
  max-width: 490px;
  width: 100%;
}

.fixed-bottom-area ul li a {
  --subtext-color: #FF6022;
  --back-color: linear-gradient(to right, #FFAA3B, #FF6022);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  row-gap: 0.1rem;
  width: 100%;
  height: 60px;
  border-radius: 1000px;
  border: solid 2px #FFFFFF;
  background: var(--back-color);
  z-index: 0.5s;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.fixed-bottom-area ul li a.line {
  --subtext-color: #00A975;
  --back-color: linear-gradient(to right, #00E280, #00C78A);
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a:not(:has(span.subtext:empty)) {
    padding-top: 4.8vw;
  }
}

.fixed-bottom-area ul li a>span {
  white-space: nowrap;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a>span.pc {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .fixed-bottom-area ul li a>span.sp {
    display: none !important;
  }
}

.fixed-bottom-area ul li a>span:empty {
  display: none !important;
}

.fixed-bottom-area ul li a>span.subtext {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 20px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0 2em;
  background-color: #fff;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 1000px;
  font-size: 14px;
  color: #FFED00;
  font-weight: 500;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  translate: 0 50%;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a>span.subtext {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a>span.subtext {
    height: 4.8vw;
    border-radius: 0 0 1.3vw 1.3vw;
    padding: 0 1em;
    bottom: auto;
    top: 0;
    translate: 0 0;
  }
}

.fixed-bottom-area ul li a>span.maintext {
  font-size: 25px;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a>span.maintext {
    font-size: 4.8vw;
  }
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a {
    width: 100%;
    height: 14.7vw;
    border-radius: 0;
  }
}

.fixed-bottom-area ul li a:after {
  content: "";
  display: block;
  font-size: 10px;
  width: 0.81em;
  height: 1em;
  background-color: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3em;
  margin: auto 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (max-width: 599px) {
  .fixed-bottom-area ul li a:after {
    font-size: 1.6vw;
  }
}

.fixed-bottom-area ul li a.line .subtext {
  color: var(--subtext-color);
}

.fixed-bottom-area ul li a:hover {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}

.fixed-bottom-area ul li a:hover:after {
  translate: 1em 0;
}

@media screen and (max-width: 1000px) {
  .fixed-bottom-area ul:has(> li:nth-child(2)) {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }

  .fixed-bottom-area ul:has(> li:nth-child(2)) li {
    width: 50%;
  }

  .fixed-bottom-area ul:has(> li:nth-child(2)) li a {
    border-radius: 0;
  }

  .fixed-bottom-area ul:has(> li:nth-child(2)) li a:after {
    right: 0.5em;
  }

  .fixed-bottom-area ul:has(> li:nth-child(2)) li a:hover:after {
    translate: 0.25em 0;
  }
}

.headline01 {
  --color: #4b4b4b;
  --sub-color: rgba(229, 229, 229, 0.5);
  --double-border: url("../images/common/double-line.svg");
  display: block;
  text-align: center;
  position: relative;
  z-index: 1;
  padding-bottom: 30px;
  margin-bottom: 100px;
}

.headline01.white {
  --color: #2f201c;
  --sub-color: rgba(255, 255, 255, 0.5);
  --double-border: url("../images/common/double-line_white.svg");
}

.headline01.black {
  --color: #fff;
  --sub-color: rgba(229, 229, 229, 0.1);
  --double-border: url("../images/common/double-line.svg");
}

@media screen and (max-width: 599px) {
  .headline01 {
    padding-bottom: 4.7vw;
    margin-bottom: 12.3vw;
  }
}

.headline01 span {
  display: inline-block;
  text-align: center;
}

.headline01 span:nth-of-type(1) {
  font-size: 40px;
  font-weight: bold;
  color: var(--color);
  position: relative;
}

@media screen and (max-width: 599px) {
  .headline01 span:nth-of-type(1) {
    font-size: 7vw;
  }
}

.headline01 span:nth-of-type(1):after {
  content: "";
  display: block;
  font-size: 20px;
  width: 1em;
  height: 1em;
  background-image: var(--double-border);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: calc(100% + 1em);
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .headline01 span:nth-of-type(1):after {
    font-size: 4vw;
  }
}

.headline01 span:nth-of-type(2) {
  font-family: "Dancing Script", cursive, serif;
  font-size: 80px;
  color: var(--sub-color);
  line-height: 0.75;
  text-align: center;
  width: 100%;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 599px) {
  .headline01 span:nth-of-type(2) {
    font-size: 14vw;
  }
}

@media screen and (max-width: 599px) {
  *:has(> .headline01) {
    overflow: hidden;
  }
}

.headline02 {
  --number-width: 60px;
  width: 100%;
  min-height: var(--number-width);
  padding: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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;
  font-weight: bold;
  font-size: 25px;
  color: #2f201c;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 599px) {
  .headline02 {
    --number-width: 10.7vw;
  }
}

@media screen and (max-width: 599px) {
  .headline02 {
    font-size: 4.3vw;
  }
}

.headline02:after {
  content: "";
  /* background-color: #e3cacd; */
  background: linear-gradient(90deg, #e3cacd, #e3daca);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.headline02>span {
  width: var(--number-width);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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;
  color: #fff;
  font-weight: normal;
  font-size: 30px;
  font-family: "Dancing Script", cursive, serif;
  /* background-color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 599px) {
  .headline02>span {
    font-size: 5.3vw;
  }
}

.headline02:not(span):before {
  content: "";
  display: block;
  width: var(--number-width);
  height: 100%;
  /* background-color: #ffbfac; origin */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.link-button01 {
  max-width: 450px;
  width: 100%;
  height: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: solid 2px #fff;
  border-radius: 1000px;
  background-color: #ffbfac;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  position: relative;
  -webkit-transition: -webkit-filter 0.5s;
  transition: -webkit-filter 0.5s;
  transition: filter 0.5s;
  transition: filter 0.5s, -webkit-filter 0.5s;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 599px) {
  .link-button01 {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  .link-button01 {
    height: 13.3vw;
  }
}

.link-button01:after {
  content: "";
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  background-color: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.5em;
  margin: auto 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (max-width: 599px) {
  .link-button01:after {
    font-size: 1.9vw;
  }
}

@media screen and (max-width: 599px) {
  .link-button01:after {
    right: 1.5em;
  }
}

.link-button01:hover {
  -webkit-filter: brightness(1.5);
  filter: brightness(1.5);
}

.link-button01:hover:after {
  translate: 1em 0;
}

.sec_campaign {
  padding: 100px 0;
}

@media screen and (max-width: 599px) {
  .sec_campaign {
    padding: 0 0 18.7vw;
  }
}

.sec_campaign .campaign_image {
  display: block;
  max-width: 1366px;
  width: 100%;
  margin: 0 auto;
}

.sec_campaign .campaign_image:not(:last-child) {
  margin-bottom: 50px;
}

.sec_campaign .campaign_image picture {
  display: contents;
}

.sec_campaign .campaign_image picture img {
  width: 100%;
  height: auto;
}

#splash-banner {
  max-width: 630px;
  width: 89.3vw;
  position: relative;
}

#splash-banner .close {
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  border: solid 1px #707070;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 0.6rem;
  right: 0.5rem;
  z-index: 10;
  cursor: pointer;
}

@media screen and (max-width: 599px) {
  #splash-banner .close {
    width: 8vw;
  }
}

#splash-banner .close:before,
#splash-banner .close:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  border-top: solid 1px #707070;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#splash-banner .close:before {
  rotate: -45deg;
}

#splash-banner .close:after {
  rotate: 45deg;
}

#splash-banner a>picture {
  display: content;

  img {
    width: 100%;
  }
}

body:not(#index) {
  padding-top: 0;
}

body:not(#index) .main-visual {
  width: 100%;
  height: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: var(--fixed-header-height);
  background: -webkit-gradient(linear, left top, right top, from(#FF6022), to(#FFAA3B));
  background: linear-gradient(to right, #FF6022, #FFAA3B);
}

@media screen and (max-width: 599px) {
  body:not(#index) .main-visual {
    height: auto;
    aspect-ratio: 375/160;
  }
}

body:not(#index) .main-visual h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  text-align: center;
}

body:not(#index) .main-visual h1>span:nth-child(1) {
  font-size: 45px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  body:not(#index) .main-visual h1>span:nth-child(1) {
    font-size: 5.3vw;
  }
}

body:not(#index) .main-visual h1>span:nth-child(2) {
  font-size: 30px;
  font-weight: normal;
  font-family: "Dancing Script", cursive, serif;
  font-style: italic;
}

@media screen and (max-width: 599px) {
  body:not(#index) .main-visual h1>span:nth-child(2) {
    font-size: 3.7vw;
  }
}

body#index {
  padding-top: 0;
}

body#index .main-visual {
  padding-top: var(--fixed-header-height);
  width: 100%;
  height: 800px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1198px) {
  body#index .main-visual {
    height: auto;
    padding-top: calc(var(--fixed-header-height) + 3rem);
    padding-bottom: 3rem;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    aspect-ratio: 375/700;
    padding-bottom: 2rem;
  }
}

body#index .main-visual .main-visuals {
  display: contents;
}

body#index .main-visual .main-visuals picture {
  display: contents;
}

body#index .main-visual .main-visuals picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: left center;
  object-position: left center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

@media screen and (max-width: 599px) {
  body#index .main-visual .main-visuals picture img {
    -o-object-position: center;
    object-position: center;
  }
}

body#index .main-visual .main-visuals picture.show img {
  opacity: 1;
}

body#index .main-visual h1 {
  max-width: 1100px;
  width: calc(100% - 5.35vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2rem;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1 {
    margin-right: auto;
    margin-bottom: 0.8rem;
  }
}

body#index .main-visual h1 img {
  max-width: 422px;
  width: 100%;
  margin-bottom: 0.8rem;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1 img {
    max-width: 53.1vw;
  }
}

body#index .main-visual h1>span:nth-of-type(1) {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  row-gap: 0.5rem;
  color: #fff;
  font-size: 38px;
  font-weight: 500;
  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  line-height: 1;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1>span:nth-of-type(1) {
    font-size: 5.3vw;
  }
}

@media screen and (min-width: 600px) {
  body#index .main-visual h1>span:nth-of-type(1) {
    padding: 0.5rem 0;
    /* background: -webkit-gradient(linear, left top, right top, from(#ffddd3), to(#ffb39d)); */
    /* background: linear-gradient(to right, #ffddd3, #ffb39d); original */
    background: linear-gradient(to right, #db6f80, #d59c30);
    border: solid 1px #fff;
    border-radius: 4px;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1>span:nth-of-type(1) {
    -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;
    row-gap: 0.4rem;
  }
}

body#index .main-visual h1>span:nth-of-type(1)>span:nth-child(1) {
  padding-right: 0.25em;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1>span:nth-of-type(1)>span {
    padding: 0.5rem 5.35vw !important;
    /* background: -webkit-gradient(linear, left top, right top, from(#ffddd3), to(#ffb39d));
    background: linear-gradient(to right, #ffddd3, #ffb39d); */
    background: linear-gradient(to right, #db6f80, #d59c30);
    border: solid 1px #fff;
    border-radius: 4px;
  }
}

body#index .main-visual h1>span:nth-of-type(2) {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -moz-column-gap: 1rem;
  -webkit-column-gap: 1rem;
  column-gap: 1rem;
  row-gap: 0.3rem;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1>span:nth-of-type(2) {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

body#index .main-visual h1>span:nth-of-type(2)>span {
  font-size: 25px;
  color: #4b4b4b;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 0.25em 2em 0.35em 2em;
  border-radius: 4px;
  white-space: nowrap;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index .main-visual h1>span:nth-of-type(2)>span {
    font-size: 4.3vw;
  }
}

body#index .main-visual ul {
  width: 100%;
  min-height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(20%, #fff), color-stop(80%, #fff), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 20%, #fff 80%, rgba(255, 255, 255, 0));
  padding: 1rem 0;
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul {
    row-gap: 1rem;
    background: rgba(255, 255, 255, 0.95);
  }
}

body#index .main-visual ul li {
  width: 393px;
  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;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  position: relative;
}

body#index .main-visual ul li:not(:last-child):after {
  content: "";
  display: block;
  width: 1px;
  height: 3rem;
  border-right: solid 3px #CCCCCC;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
}

@media screen and (max-width: 1198px) {
  body#index .main-visual ul li {
    width: 50%;
    height: auto;
  }

  body#index .main-visual ul li:nth-child(2):after {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: calc(89.3vw - 0.3rem);
  }

  body#index .main-visual ul li:before,
  body#index .main-visual ul li:after {
    content: "";
    display: block !important;
    width: 1px;
    height: 3rem;
    border-right: solid 3px #CCCCCC;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }

  body#index .main-visual ul li:before {
    left: 0;
  }

  body#index .main-visual ul li:after {
    right: 0;
  }
}

body#index .main-visual ul li img {
  height: 100%;
}

@media screen and (max-width: 1198px) {
  body#index .main-visual ul li img {
    width: 5.5vw;
    height: auto;
    margin-right: 1rem;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li img {
    width: 14.7vw;
    height: auto;
    margin-left: 1rem;
  }
}

body#index .main-visual ul li p {
  text-align: center;
  color: #4b4b4b;
  font-size: 25px;
  font-weight: bold;
  position: relative;
}

body#index .main-visual ul li p:has(.annotation) {
  line-height: 1.4;
}

@media screen and (max-width: 1198px) {
  body#index .main-visual ul li p {
    font-size: 2vw;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li p {
    font-size: 4.8vw;
  }
}

body#index .main-visual ul li p b {
  /* color: #ffbfac; original */
  color: #db6f80;
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li p b {
    font-size: 5.3vw;
  }
}

body#index .main-visual ul li p strong {
  /* color: #ffbfac; original */
  color: #db6f80;
  font-size: 35px;
  line-height: 1;
}

@media screen and (max-width: 1198px) {
  body#index .main-visual ul li p strong {
    font-size: 1.5em;
  }
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li p strong {
    font-size: 6.7vw;
  }
}

body#index .main-visual ul li p .annotation {
  display: inline-block;
  width: 100%;
  font-size: 0.5em;
  font-weight: normal;
  position: absolute;
  top: 100%;
  left: 0;
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li p .annotation {
    text-align: center;
  }
}

body#index .main-visual ul li p .annotation2 {
  display: inline-block;
  font-size: 0.9em;
  line-height: 1.2;
}

@media screen and (max-width: 599px) {
  body#index .main-visual ul li p .annotation2 {
    text-align: center;
    font-size: 0.95em;
    line-height: 1;
  }
}

body#index main {
  overflow: hidden;
}

body#index main .sec_campaign:first-child {
  padding-bottom: 0;
}

body#index main section[data-backtext] {
  position: relative;
}

body#index main section[data-backtext]:before {
  content: attr(data-backtext);
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: "Dancing Script", cursive, serif;
  font-size: 200px;
  color: rgba(236, 201, 201, 0.15);
  text-align: center;
  white-space: nowrap;
  position: absolute;
  bottom: 3rem;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 599px) {
  body#index main section[data-backtext]:before {
    font-size: 12vw;
  }
}

@media screen and (max-width: 1200px) {
  body#index main section[data-backtext]:before {
    font-size: 16vw;
    bottom: 0;
  }
}

@media screen and (max-width: 599px) {
  body#index main section[data-backtext]:before {
    font-size: 14vw;
    letter-spacing: 0.05em;
    margin-right: calc(0em - 0.05em);
    bottom: 0;
  }
}

body#index main #Change-yourself {
  padding-bottom: 11rem;
}

@media screen and (max-width: 599px) {
  body#index main #Change-yourself {
    padding-top: 0;
    padding-bottom: 3rem;
  }
}

body#index main #Change-yourself img {
  display: block;
  max-width: 262px;
  margin: 3rem auto 0;
}

@media screen and (max-width: 599px) {
  body#index main #Change-yourself img {
    max-width: 33.3vw;
    margin: 1.5rem auto 0;
  }
}

body#index main #recomend {
  padding: var(--section-padding) 0;
}

@media screen and (max-width: 599px) {
  body#index main #recomend {
    padding-top: 0;
    padding-bottom: 3rem;
  }
}

body#index main #recomend h2 {
  width: 100%;
  min-height: 100px;
  padding: 0.8rem 0;
  /* background-color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 599px) {
  body#index main #recomend h2 {
    min-height: 21.3vw;
    padding: 0;
  }
}

body#index main #recomend h2>span {
  display: inline-block;
  max-width: 1000px;
  width: 89.3vw;
  text-align: center;
  font-size: 30px;
  line-height: 1.9;
  color: #fff;
  font-weight: 500;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #recomend h2>span {
    font-size: 5.3vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #recomend h2>span {
    line-height: 1.7;
  }
}

body#index main #recomend h2>span:before {
  content: "";
  display: block;
  width: 1px;
  height: 70px;
  border-left: solid 3px #fcffda;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

@media screen and (max-width: 599px) {
  body#index main #recomend h2>span:before {
    height: 13.3vw;
  }
}

body#index main #recomend h2>span strong {
  font-size: 1.4em;
}

body#index main #recomend .wrap {
  max-width: 800px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4em;
  font-size: 16px;
}

@media screen and (max-width: 599px) {
  body#index main #recomend .wrap {
    font-size: 3.7vw;
  }
}

body#index main #recomend .wrap .text-area {
  position: relative;
  z-index: 0;
  padding-top: 2em;
}

body#index main #recomend .wrap .text-area .text {
  width: 60%;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(5px);
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  padding: 1.5em;
  border-radius: 4px;
}

body#index main #recomend .wrap .text-area .image {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  z-index: -1;
}

body#index main #recomend .wrap .text-area .image img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  body#index main #recomend .wrap .text-area .text {
    width: 100%;
  }

  body#index main #recomend .wrap .text-area .image {
    position: relative;
    top: -2em;
    right: -5%;
    width: 90%;
  }
}

body#index main #worries {
  padding: var(--section-padding) 0 0 0;
}

@media screen and (max-width: 599px) {
  body#index main #worries {
    padding-top: 0;
    padding-bottom: 3rem;
  }
}

body#index main #worries .wrap {
  position: relative;
  z-index: 0;
  padding: 40px 0;
  background-image: url(../images/index/worries01.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

@media screen and (max-width: 599px) {
  body#index main #worries .wrap {
    background-position: 30% 0;
  }
}

body#index main #worries .wrap::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
}

body#index main #worries h2 {
  text-align: center;
  font-size: 40px;
  line-height: 1.9;
  color: #fff;
  font-weight: 500;
  margin: 0 auto;
  position: relative;
  margin-bottom: 2rem;
}

@media screen and (max-width: 599px) {
  body#index main #worries h2 {
    font-size: 6.1vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #worries h2 {
    margin-bottom: 1.5rem;
  }
}

@media screen and (max-width: 599px) {
  body#index main #worries h2>span {
    line-height: 1.7;
  }
}

body#index main #worries ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 20px 0;
  max-width: 650px;
  width: 80vw;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

body#index main #worries ul li {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  background-color: #fff;
  min-height: 50px;
  padding: 0.5rem 0.5rem 0.5rem 110px;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
}

@media screen and (max-width: 599px) {
  body#index main #worries ul li {
    padding: 0.5rem 0.5rem 0.5rem 16vw;
  }
}

body#index main #worries ul li:before {
  content: "";
  display: block;
  width: 80px;
  height: 100%;
  background-color: #c5a8a8;
  background-repeat: no-repeat;
  background-size: 3rem;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}

body#index main #worries ul li:nth-child(1):before {
  background-image: url(../images/index/trouble01.png);
}

body#index main #worries ul li:nth-child(2):before {
  background-image: url(../images/index/trouble02.png);
}

body#index main #worries ul li:nth-child(3):before {
  background-image: url(../images/index/trouble03.png);
}

@media screen and (max-width: 599px) {
  body#index main #worries ul li:before {
    width: 12vw;
    background-size: 2rem;
  }
}

body#index main #worries ul li b {
  background: -webkit-gradient(linear, left bottom, left top, from(#f3fb99), color-stop(40%, #f3fb99), color-stop(41%, transparent), to(transparent));
  background: linear-gradient(to top, #f3fb99, #f3fb99 40%, transparent 41%, transparent);
}

body#index main #worries p.solve {
  margin-top: 6rem;
  text-align: center;
  font-size: 35px;
  /* color: #ffb6a1; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
  font-weight: 500;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #worries p.solve {
    margin-top: 3rem;
    font-size: 5.9vw;
  }
}

body#index main #worries p.solve:before {
  content: "";
  display: block;
  width: 50px;
  height: 10px;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  bottom: calc(100% + 2.5rem);
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  body#index main #worries p.solve:before {
    bottom: 5.5rem;
  }
}

body#index main #worries p.solve-exp {
  padding-top: 40px;
  font-size: 24px;
  text-align: center;
  line-height: 2;
}

@media screen and (max-width: 599px) {
  body#index main #worries p.solve-exp {
    text-align: left;
    font-size: 4.3vw;
    padding: 10.7vw 5.3vw 0 5.3vw;
  }
}

body#index main #worries p.solve-exp b {
  font-weight: 700;
  /* color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  background-clip: text;
  color: transparent;
}

body#index main #worries .movie {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  margin: 80px auto 0;
}

@media screen and (max-width: 599px) {
  body#index main #worries .movie iframe {
    width: 100%;
    aspect-ratio: 560/315;
  }
}

body#index main #about {
  padding: var(--section-padding) 0;
}

@media screen and (max-width: 599px) {
  body#index main #about {
    padding-top: 0;
    padding-bottom: 3rem;
  }
}

body#index main #about h2 {
  width: 100%;
  min-height: 100px;
  padding: 0.8rem 0;
  background: linear-gradient(90deg, #db6f80, #d59c30);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 599px) {
  body#index main #about h2 {
    min-height: 21.3vw;
    padding: 0;
  }
}

body#index main #about h2>span {
  display: inline-block;
  max-width: 1000px;
  width: 89.3vw;
  text-align: center;
  font-size: 40px;
  line-height: 1.9;
  color: #fff;
  font-weight: 500;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #about h2>span {
    font-size: 6.1vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #about h2>span {
    line-height: 1.7;
  }
}

body#index main #about h2>span:before {
  content: "";
  display: block;
  width: 1px;
  height: 70px;
  border-left: solid 3px #fcffda;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

@media screen and (max-width: 599px) {
  body#index main #about h2>span:before {
    height: 13.3vw;
  }
}

body#index main #about .wrap {
  position: relative;
  z-index: 0;
  padding: 140px 0;
  background-image: url(../images/index/about01.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

body#index main #about .wrap p {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  margin: auto;
  font-size: 28px;
  line-height: 2.2;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(5px);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  padding: 2rem;
  border-radius: 4px;
}

@media screen and (max-width: 599px) {
  body#index main #about .wrap p {
    width: 90vw;
    padding: 1em;
    font-size: 4.3vw;
    line-height: 1.8;
  }
}

body#index main #Which-side-are-you {
  padding: var(--section-padding) 0;
}

body#index main #Which-side-are-you h2 {
  margin-bottom: 1rem;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you h2 span:nth-of-type(2) {
    font-size: 17.3vw;
    top: calc(100% - 1.75rem);
    bottom: 0;
  }
}

body#index main #Which-side-are-you h2+p {
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  position: relative;
  z-index: 10;
  margin-bottom: 3em;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you h2+p {
    font-size: 5.3vw;
  }
}

body#index main #Which-side-are-you ul {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  row-gap: 4rem;
}

body#index main #Which-side-are-you ul li {
  max-width: 480px;
  width: 100%;
}

body#index main #Which-side-are-you ul li>span {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.3em;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you ul li>span {
    font-size: 4.3vw;
  }
}

body#index main #Which-side-are-you ul li>span:before {
  content: "＼";
}

body#index main #Which-side-are-you ul li>span:after {
  content: "／";
}

body#index main #Which-side-are-you ul li>div:before,
body#index main #Which-side-are-you ul li>div:after {
  font-size: 20px;
}

@media screen and (max-width: 599px) {

  body#index main #Which-side-are-you ul li>div:before,
  body#index main #Which-side-are-you ul li>div:after {
    font-size: 3.7vw;
  }
}

body#index main #Which-side-are-you ul li>div:before {
  content: attr(data-side-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  color: #CCCCCC;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -1.2em;
  rotate: 90deg;
  pointer-events: none;
}

body#index main #Which-side-are-you ul li>div:after {
  content: "";
  display: block;
  width: 0.5em;
  height: calc(100% - 9em);
  border-left: solid 2px #CCCCCC;
  position: absolute;
  bottom: 0;
  right: calc(100% + 0.35em);
}

body#index main #Which-side-are-you ul li:nth-child(2)>div:before {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  left: auto;
  right: -1.2em;
}

body#index main #Which-side-are-you ul li:nth-child(2)>div:after {
  height: calc(100% - 10em);
  border-left: none;
  border-right: solid 2px #CCCCCC;
  right: auto;
  left: calc(100% + 0.35em);
}

body#index main #Which-side-are-you ul li>div {
  position: relative;
  margin-bottom: 2rem;
}

body#index main #Which-side-are-you ul li>div>span:first-child {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1em;
  margin-bottom: 0.75rem;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you ul li>div>span:first-child {
    font-size: 4.3vw;
  }
}

body#index main #Which-side-are-you ul li>div>span:first-child:before {
  content: "＼";
}

body#index main #Which-side-are-you ul li>div>span:first-child:after {
  content: "／";
}

body#index main #Which-side-are-you ul li>div img {
  display: block;
  width: 100%;
  aspect-ratio: 480/300;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you ul li>div img {
    aspect-ratio: 335/200;
  }
}

body#index main #Which-side-are-you ul li .link-button {
  height: 50px;
}

@media screen and (max-width: 599px) {
  body#index main #Which-side-are-you ul li .link-button {
    height: 13.3vw;
  }
}

body#index main #reasons {
  padding-bottom: var(--section-padding);
  background-color: #F5F5F5;
}

body#index main #reasons .first-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100px;
  /* background-color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: relative;
  margin-bottom: var(--section-padding);
}

body#index main #reasons .first-message:after {
  content: "";
  font-size: 20px;
  width: 2em;
  height: calc(1em + 1px);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  /* background-color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .first-message:after {
    height: 2.7vw;
  }
}

body#index main #reasons .first-message p {
  position: relative;
  text-align: center;
  color: #fff;
  line-height: 1.2;
  font-size: 30px;
  -webkit-column-gap: 0.2em;
  -moz-column-gap: 0.2em;
  column-gap: 0.2em;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .first-message p {
    font-size: 5.3vw;
  }
}

body#index main #reasons .first-message p:before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: -50px;
  -webkit-transform: rotate(-25deg);
  transform: rotate(-25deg);
}

body#index main #reasons .first-message p:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -50px;
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
}

body#index main #reasons .first-message p strong {
  font-size: 1.5em;
}

body#index main #reasons h2 span:nth-of-type(1) strong {
  /* color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  background-clip: text;
  color: transparent;
}

@media screen and (min-width: 600px) {
  body#index main #reasons h2 span:nth-of-type(1) strong {
    font-size: 65px;
  }
}

body#index main #reasons ul {
  max-width: 1100px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

body#index main #reasons ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

body#index main #reasons ul li:before,
body#index main #reasons ul li:after {
  font-size: 20px;
}

@media screen and (max-width: 599px) {

  body#index main #reasons ul li:before,
  body#index main #reasons ul li:after {
    font-size: 3.7vw;
  }
}

body#index main #reasons ul li:before {
  content: attr(data-side-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  /* color: #dbb6c3; */
  background: linear-gradient(90deg, #dbb6c3, #dbceb6);
  background-clip: text;
  color: transparent;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -1.2em;
  rotate: 90deg;
  pointer-events: none;
}

body#index main #reasons ul li:after {
  content: "";
  display: block;
  width: 0.5em;
  height: calc(100% - 6.5em);
  /* border-left: solid 2px #dbb6c3; */
  border-left: solid 2px;
  border-image: linear-gradient(to bottom, #dbb6c3, #dbceb6) 1;
  position: absolute;
  bottom: 0;
  right: calc(100% + 0.35em);
}

body#index main #reasons ul li:nth-child(even):before {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  left: auto;
  right: -1.2em;
}

body#index main #reasons ul li:nth-child(even):after {
  border-left: none;
  border-right: solid 2px #ffc2c2;
  right: auto;
  left: calc(100% + 0.35em);
}

body#index main #reasons ul li:not(:last-child) {
  margin-bottom: 3rem;
}

body#index main #reasons ul li:nth-child(even) .image-area {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

body#index main #reasons ul li:nth-child(even) .message-area {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

body#index main #reasons ul li .image-area {
  width: 50%;
}

@media screen and (max-width: 1150px) {
  body#index main #reasons ul li .image-area {
    display: none;
  }
}

body#index main #reasons ul li .image-area img {
  display: block;
  width: 100%;
  aspect-ratio: 550/300;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 599px) {
  body#index main #reasons ul li .image-area {
    display: none;
  }
}

body#index main #reasons ul li .message-area {
  width: 50%;
}

@media screen and (max-width: 1150px) {
  body#index main #reasons ul li .message-area {
    width: 100%;
    padding-bottom: 1.5rem;
  }
}

body#index main #reasons ul li .message-area img {
  display: none;
}

@media screen and (max-width: 1150px) {
  body#index main #reasons ul li .message-area img {
    display: block;
    width: 100%;
    aspect-ratio: 335/150;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

body#index main #reasons ul li .message-area h4 {
  padding: 1.2em 0;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  body#index main #reasons ul li .message-area h4 {
    font-size: 4.3vw;
  }
}

body#index main #reasons ul li .message-area p {
  font-size: 20px;
  line-height: 2;
  padding: 1.2em 2em;
}

@media screen and (max-width: 599px) {
  body#index main #reasons ul li .message-area p {
    font-size: 4.3vw;
  }
}

body#index main #reasons ul li .message-area p:first-of-type {
  margin-top: -0.3em;
}

body#index main #reasons ul li .message-area p b {
  background: -webkit-gradient(linear, left bottom, left top, from(#FBFFCD), color-stop(40%, #FBFFCD), color-stop(41%, transparent), to(transparent));
  background: linear-gradient(to top, #FBFFCD, #FBFFCD 40%, transparent 41%, transparent);
}

@media screen and (max-width: 599px) {
  body#index main #reasons ul li .message-area p {
    line-height: 1.8;
    padding: 1em 1em 0 1em;
  }
}

body#index main #reasons ul li:nth-child(2) .message-area h3 {
  padding-left: 2em;
}

body#index main #reasons .explanation-area {
  max-width: 800px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2em;
}

body#index main #reasons .explanation-area .explanation-text {
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
  padding: 1.2em 2em;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area .explanation-text {
    font-size: 4.3vw;
  }
}

body#index main #reasons .explanation-area .explanation-text em {
  font-weight: bold;
  font-style: normal;
  font-size: 1.2em;
}

body#index main #reasons .explanation-area .explanation-image {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1em 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  margin-bottom: 2em;
}

body#index main #reasons .explanation-area .explanation-image span {
  /* background-color: #db6f80; */
  text-align: center;
  padding: 1em 1em 0.5em 1em;
  color: #fff;
  border-radius: 5px;
}

body#index main #reasons .explanation-area .explanation-image span:nth-child(1) {
  background: linear-gradient(90deg, #db6f80, #d59c30);
}

body#index main #reasons .explanation-area .explanation-image span:nth-of-type(2) {
  background-color: #b9b9b9;
}

body#index main #reasons .explanation-area .explanation-image span img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 0.5em;
}

body#index main #reasons .explanation-area table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
}

body#index main #reasons .explanation-area table th,
body#index main #reasons .explanation-area table td {
  vertical-align: middle;
  padding: 0.5em;
}

body#index main #reasons .explanation-area table thead tr th {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table thead tr th {
    height: 10.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table thead tr th {
    font-size: 3.5vw;
  }
}

body#index main #reasons .explanation-area table thead tr th:nth-child(1) {
  width: 15%;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table thead tr th:nth-child(1) {
    width: 10%;
  }
}

body#index main #reasons .explanation-area table thead tr th:nth-child(2) {
  width: 35%;
  background: linear-gradient(90deg, #db6f80, #d59c30);
  color: #feffee;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table thead tr th:nth-child(2) {
    width: 27%;
  }
}

body#index main #reasons .explanation-area table thead tr th:nth-child(n+3) {
  width: 35%;
  color: #fff;
  background-color: #b9b9b9;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table thead tr th:nth-child(n+3) {
    width: 27%;
  }
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table tbody tr {
    position: relative;
  }
}

body#index main #reasons .explanation-area table tbody tr th,
body#index main #reasons .explanation-area table tbody tr td {
  padding: 0.5em;
}

body#index main #reasons .explanation-area table tbody tr th {
  font-size: 16px;
  color: #fff;
  background-color: #867d79;
  text-align: center;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table tbody tr th {
    font-size: 3.2vw;
  }
}

body#index main #reasons .explanation-area table tbody tr td {
  position: relative;
  font-size: 16px;
}

@media screen and (max-width: 599px) {
  body#index main #reasons .explanation-area table tbody tr td {
    font-size: 3.2vw;
  }
}

body#index main #reasons .explanation-area table tbody tr td:nth-child(2) {
  /* background-color: rgba(255, 191, 172, 0.5); original */
  /* border: solid 2px #ffbfac; original */

  /* background-color: rgba(219, 111, 128, 0.3);  */
  background: linear-gradient(90deg, rgba(219, 111, 128, 0.3), rgba(213, 156, 48, 0.3));
  border: solid 2px;
  border-image: linear-gradient(90deg, #db6f80, #d59c30) 1;
}

body#index main #reasons .explanation-area table tbody tr td:nth-child(2) p {
  color: #feffee;
}

body#index main #reasons .explanation-area table tbody tr td:nth-child(n+3) {
  background-color: #fff;
}

body#index main #reasons .explanation-area table tbody tr td:nth-child(n+3) p {
  color: #4b4b4b;
}

body#index main #Pilates_x_Training {
  padding: var(--section-padding-small) 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, transparent), color-stop(41%, #FFFFFF), to(#F5F5F5));
  background-image: linear-gradient(to bottom, transparent, transparent 40%, #FFFFFF 41%, #F5F5F5);
}

body#index main #Pilates_x_Training h2 {
  margin-bottom: 1rem;
}

body#index main #Pilates_x_Training h2 span:nth-of-type(1) {
  line-height: 1.4;
}

body#index main #Pilates_x_Training h2 span:nth-of-type(1) b {
  /* color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  background-clip: text;
  color: transparent;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training h2 span:nth-of-type(1) {
    font-size: 6.4vw;
  }
}

body#index main #Pilates_x_Training h2 span:nth-of-type(2) {
  bottom: -1.5rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training h2 span:nth-of-type(2) {
    font-size: 12.3vw;
    bottom: -1rem;
  }
}

body#index main #Pilates_x_Training h2+p {
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  position: relative;
  z-index: 10;
  margin-bottom: 3em;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training h2+p {
    font-size: 5.3vw;
  }
}

body#index main #Pilates_x_Training>ul {
  max-width: 1000px;
  width: 89.3vw;
  margin-inline: auto;
  position: relative;
  margin-bottom: 7rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul {
    margin-bottom: 4rem;
  }
}

body#index main #Pilates_x_Training>ul:before,
body#index main #Pilates_x_Training>ul:after {
  content: "";
  display: block;
  width: 80px;
  aspect-ratio: 80/30;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  /* background-color: #fad7c9; original */
  background: linear-gradient(90deg, #db6f80, #dbbb7f);
  position: absolute;
  inset: calc(100% + 1rem) 0 auto;
  margin-inline: auto;
}

@media screen and (max-width: 599px) {

  body#index main #Pilates_x_Training>ul:before,
  body#index main #Pilates_x_Training>ul:after {
    width: 10.7vw;
  }
}

body#index main #Pilates_x_Training>ul:after {
  /* background-color: #ffbfac; origin */
  /* background-color: #db2c3a; */
  background: linear-gradient(90deg, #db2c3a, #db9e2c);
  translate: 0 calc(100% + 0.4rem);
}

body#index main #Pilates_x_Training>ul>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

body#index main #Pilates_x_Training>ul>li:not(:last-child) {
  margin-bottom: 4rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li:not(:last-child) {
    margin-bottom: 2rem;
  }
}

body#index main #Pilates_x_Training>ul>li:not(:last-child):after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAwIiBoZWlnaHQ9IjMiIHZpZXdCb3g9IjAgMCAxMDAwIDMiPiA8bGluZSBpZD0i57eaXzEyNyIgZGF0YS1uYW1lPSLnt5ogMTI3IiB4MT0iMTAwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxLjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiNjY2MiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWRhc2hhcnJheT0iMyA4Ii8+PC9zdmc+");
  background-repeat: repeat-x;
  background-position: center left;
  background-size: contain;
  position: absolute;
  top: calc(100% + 2rem);
  left: 0;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li:not(:last-child):after {
    display: none;
  }
}

body#index main #Pilates_x_Training>ul>li .image-area {
  width: 500px;
  padding-left: 1rem;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area {
    width: 100%;
    padding-left: 0;
  }
}

body#index main #Pilates_x_Training>ul>li .image-area:before,
body#index main #Pilates_x_Training>ul>li .image-area:after {
  font-size: 20px;
}

@media screen and (max-width: 599px) {

  body#index main #Pilates_x_Training>ul>li .image-area:before,
  body#index main #Pilates_x_Training>ul>li .image-area:after {
    font-size: 3.7vw;
  }
}

body#index main #Pilates_x_Training>ul>li .image-area:before {
  content: attr(data-side-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  background: linear-gradient(90deg, #dbb6c3, #dbceb6);
  background-clip: text;
  color: transparent;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -0.25rem;
  rotate: 90deg;
  pointer-events: none;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area:before {
    left: -1rem;
  }
}

body#index main #Pilates_x_Training>ul>li .image-area:after {
  --text-length: attr(data-text-length em);
  content: "";
  display: block;
  width: 0.5em;
  height: calc(100% - var(--text-length));
  /* border-left: solid 2px #dbb6c3; */
  border-left: solid 2px;
  border-image: linear-gradient(90deg, #dbb6c3, #dbceb6) 1;
  position: absolute;
  bottom: 0;
  left: 0.25rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area:after {
    left: auto;
    right: calc(100% + 0.2rem);
  }
}

body#index main #Pilates_x_Training>ul>li .image-area h3 {
  --left-padding: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: var(--left-padding);
  padding-left: var(--left-padding);
  /* background-color: #f3e8e4; original */
  /* background-color: #e3cacd; */
  background: linear-gradient(90deg, #e3cacd, #e3daca);


  text-align: center;
  color: #2f201c;
  font-size: 25px;
  font-weight: bold;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area h3 {
    --left-padding: 10.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area h3 {
    font-size: 4.3vw;
  }
}

body#index main #Pilates_x_Training>ul>li .image-area h3:before {
  content: "";
  display: block;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  /* background-color: #ffbfac; original */
  /* background-color: #db6f80; */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: absolute;
  top: 0;
  left: 0;
}

body#index main #Pilates_x_Training>ul>li .image-area img {
  display: block;
  width: 100%;
  aspect-ratio: 480/240;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .image-area img {
    aspect-ratio: 335/200;
  }
}

body#index main #Pilates_x_Training>ul>li .message-area {
  width: 500px;
  padding: 1rem 0 1rem 2rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .message-area {
    padding: 0;
  }
}

body#index main #Pilates_x_Training>ul>li .message-area h4 {
  font-size: 25px;
  font-weight: bold;
  padding-left: 1.5em;
  position: relative;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .message-area h4 {
    font-size: 4.8vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .message-area h4 {
    margin-block: 1em;
  }
}

body#index main #Pilates_x_Training>ul>li .message-area h4:before {
  content: "";
  display: block;
  width: 1em;
  aspect-ratio: 1/1;
  /* background-color: #ffbfac; original */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  position: absolute;
  top: 0.1em;
  left: 0;
  border-radius: 50%;
}

body#index main #Pilates_x_Training>ul>li .message-area ul {
  /* background-color: rgba(255, 144, 112, 0.1); original */
  background-color: rgba(219, 111, 128, 0.1);
  background: linear-gradient(90deg, rgba(219, 111, 128, 0.1), rgba(213, 156, 48, 0.1));
  font-size: 18px;
  padding: 1rem;
  line-height: 1.8;
  border-radius: 4px;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>ul>li .message-area ul {
    font-size: 3.7vw;
  }
}

body#index main #Pilates_x_Training>ul>li .message-area ul li {
  padding-left: 1em;
  text-indent: -1em;
}

body#index main #Pilates_x_Training>ul>li .message-area ul li:before {
  content: "・";
}

body#index main #Pilates_x_Training>div {
  background-color: #fff;
  max-width: 1000px;
  width: 89.3vw;
  margin-inline: auto;
  padding: 1.5rem 1rem;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

body#index main #Pilates_x_Training>div>p:nth-of-type(1) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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%;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 2rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div>p:nth-of-type(1) {
    font-size: 3.7vw;
  }
}

body#index main #Pilates_x_Training>div>p:nth-of-type(1) strong {
  font-size: 1.5em;
}

body#index main #Pilates_x_Training>div>p:nth-of-type(1) img {
  max-width: 225px;
  aspect-ratio: 225/65;
  -o-object-fit: contain;
  object-fit: contain;
  margin-right: 1em;
}

body#index main #Pilates_x_Training>div ul {
  max-width: 478px;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 2rem;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul {
    max-width: 66.7vw;
  }
}

body#index main #Pilates_x_Training>div ul li {
  --check-height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
  font-weight: bold;
  min-height: var(--check-height);
  /* background-color: #fff6f4; origin */
  /* background-color: #fff5f7; */
  background: linear-gradient(90deg, #fff5f7, #fffbf5);
  border: solid 1px #202020;
  padding: 0.25rem 0;
  padding-left: var(--check-height);
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul li {
    --check-height: 8vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul li {
    font-size: 3.7vw;
  }
}

body#index main #Pilates_x_Training>div ul li:before {
  content: "";
  display: block;
  width: var(--check-height);
  height: 100%;
  background: #202020 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDQwIDQwIj4gPGcgaWQ9InR0bF9hIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI5IC0zNzU0KSI+IDxyZWN0IGlkPSLplbfmlrnlvaJfMzQzIiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNDMiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI5IDM3NTQpIiBmaWxsPSIjMjAyMDIwIi8+IDxwYXRoIGlkPSJJY29uX21hdGVyaWFsLXJvdW5kLWNoZWNrIiBkYXRhLW5hbWU9Ikljb24gbWF0ZXJpYWwtcm91bmQtY2hlY2siIGQ9Ik0xMy40LDI0LjA1Nyw4LjI2MiwxOC45MTlhMS40NzYsMS40NzYsMCwwLDAtMi4wODgsMi4wODhMMTIuMzYzLDI3LjJhMS40NzQsMS40NzQsMCwwLDAsMi4wODgsMEwzMC4xMTQsMTEuNTMyYTEuNDc2LDEuNDc2LDAsMSwwLTIuMDg3LTIuMDg4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMwLjY5MiAzNzU1LjUxNikiIGZpbGw9IiNmOGZmOWMiLz4gPC9nPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul li:before {
    left: 0;
  }
}

body#index main #Pilates_x_Training>div ul li:not(:last-child) {
  --bottom-gap: 20px;
  margin-bottom: var(--bottom-gap);
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul li:not(:last-child) {
    --bottom-gap: 5.3vw;
  }
}

body#index main #Pilates_x_Training>div ul li:not(:last-child):after {
  content: "";
  display: block;
  width: var(--bottom-gap);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy4xNiIgaGVpZ2h0PSIxMy4xNiIgdmlld0JveD0iMCAwIDEzLjE2IDEzLjE2Ij4gPHBhdGggaWQ9IuODkeOCuV80MzYiIGRhdGEtbmFtZT0i44OR44K5IDQzNiIgZD0iTTE1LjE2LTEuMDIsMTAuMDItNi4xNiw0Ljg4LTEuMDIsMy40NC0yLjQ2LDguNTgtNy42LDMuNDQtMTIuNzRsMS40NC0xLjQ0LDUuMTQsNS4xNCw1LjE0LTUuMTQsMS40NCwxLjQ0TDExLjQ2LTcuNiwxNi42LTIuNDZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMy40NCAxNC4xOCkiIGZpbGw9IiM5MDkwOTAiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: 75%;
  background-position: center;
  position: absolute;
  inset: calc(100% + 2px) 0 auto;
  margin-inline: auto;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div ul li:not(:last-child):after {
    inset: calc(100% + 1px) 0 auto;
  }
}

body#index main #Pilates_x_Training>div>p:nth-of-type(2) {
  text-align: center;
  font-size: 25px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  body#index main #Pilates_x_Training>div>p:nth-of-type(2) {
    font-size: 4.8vw;
  }
}

body#index main #Pilates_x_Training>div>p:nth-of-type(2) b {
  /* color: #db6f80; */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  background-clip: text;
  color: transparent;
  position: relative;
}

body#index main #Pilates_x_Training>div>p:nth-of-type(2) b:before {
  content: "・";
  display: block;
  width: 1em;
  height: 0.2em;
  text-align: center;
  color: #CCCCCC;
  position: absolute;
  inset: auto 0 calc(100% + 1em);
  margin: 0 auto;
}

body#index main #results {
  padding: var(--section-padding) 0;
}

body#index main #results:before {
  bottom: 0;
}

body#index main #results ul {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

body#index main #results ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li {
    -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;
  }
}

body#index main #results ul li:not(:last-child) {
  margin-bottom: 3rem;
}

body#index main #results ul li .before_and_after {
  max-width: 630px;
  width: 100%;
  height: 450px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #F5F5F5;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .before_and_after {
    height: 53.3vw;
  }
}

body#index main #results ul li .before_and_after:before {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background-color: #ffbfac;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 30;
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .before_and_after:before {
    right: auto;
    left: 0;
  }
}

body#index main #results ul li .before_and_after .before,
body#index main #results ul li .before_and_after .after {
  width: 50%;
  height: 100%;
  position: relative;
}

body#index main #results ul li .before_and_after .before>span,
body#index main #results ul li .before_and_after .after>span {
  width: 175px;
  height: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #4b4b4b;
  color: #fff;
  text-align: center;
  font-size: 30px;
  font-family: "Dancing Script", cursive, serif;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 599px) {

  body#index main #results ul li .before_and_after .before>span,
  body#index main #results ul li .before_and_after .after>span {
    font-size: 5.3vw;
    width: 26.7vw;
    height: 6.9vw;
  }
}

body#index main #results ul li .before_and_after .before img,
body#index main #results ul li .before_and_after .after img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#index main #results ul li .before_and_after .before {
  width: 50%;
  z-index: 10;
  position: relative;
}

body#index main #results ul li .before_and_after .before>span {
  z-index: 11;
}

body#index main #results ul li .before_and_after .before:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0 100%, 0 0);
  position: absolute;
  top: 0;
  right: calc(0px - (1rem + 3px));
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .before_and_after .before:before {
    clip-path: polygon(92.5% 0, 100% 50%, 92.5% 100%, 0 100%, 0 0);
  }
}

body#index main #results ul li .before_and_after .before img {
  width: calc(100% + 1rem);
  margin-right: -1rem;
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0 100%, 0 0);
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .before_and_after .before img {
    width: calc(100% + 1rem);
    margin-right: -1rem;
    clip-path: polygon(92.5% 0, 100% 50%, 92.5% 100%, 0 100%, 0 0);
  }
}

body#index main #results ul li .before_and_after .after {
  width: 50%;
  z-index: 5;
}

body#index main #results ul li .before_and_after .after>span {
  color: #F8FF9C;
  z-index: 6;
}

body#index main #results ul li .profile {
  max-width: 370px;
  width: 100%;
  padding: 1.5rem;
  padding-left: 3rem;
  background-color: #F5F5F5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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: 1119px) {
  body#index main #results ul li .profile {
    max-width: 630px;
    padding-left: 1.5rem;
  }
}

body#index main #results ul li .profile h3 {
  width: 100%;
  color: #CCCCCC;
  font-family: "Dancing Script", cursive, serif;
  font-size: 20px;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile h3 {
    font-size: 4.3vw;
  }
}

body#index main #results ul li .profile h3:after {
  content: "";
  width: calc(100% - 5em);
  height: 2px;
  background-color: #CCCCCC;
}

body#index main #results ul li .profile .names_and_training {
  width: 100%;
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training {
    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;
  }
}

body#index main #results ul li .profile .names_and_training .names {
  background-color: #fff;
  border-left: solid 3px #ffbfac;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  row-gap: 0.2rem;
  margin-bottom: 1.5rem;
  padding: 1rem 0;
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .names {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 36.2%;
    margin-bottom: 0;
    padding: 0.5rem 0;
  }
}

body#index main #results ul li .profile .names_and_training .names p {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  line-height: 1;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .names p {
    font-size: 3.7vw;
  }
}

body#index main #results ul li .profile .names_and_training .names p strong {
  font-size: 40px;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .names p strong {
    font-size: 6.7vw;
  }
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .names p {
    margin-bottom: 0.5rem;
  }
}

body#index main #results ul li .profile .names_and_training .names dl {
  width: 6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  column-gap: 1em;
  row-gap: 0.75em;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .names dl {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .names dl {
    width: 6em;
    row-gap: 0.25em;
  }
}

body#index main #results ul li .profile .names_and_training .names dl dt {
  width: 2.5em;
  font-weight: bold;
  position: relative;
}

body#index main #results ul li .profile .names_and_training .names dl dt:after {
  content: "：";
  position: absolute;
  top: 0;
  left: 100%;
}

body#index main #results ul li .profile .names_and_training .names dl dd {
  font-weight: bold;
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .training {
    width: 63.8%;
  }
}

body#index main #results ul li .profile .names_and_training .training h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .training h4 {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .training h4 {
    text-align: center;
    margin-bottom: 0.25rem;
  }
}

body#index main #results ul li .profile .names_and_training .training p {
  font-size: 60px;
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  margin-top: -1rem;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .training p {
    font-size: 8vw;
  }
}

body#index main #results ul li .profile .names_and_training .training p strong {
  font-size: 100px;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile .names_and_training .training p strong {
    font-size: 14.7vw;
  }
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile .names_and_training .training p {
    margin-top: 0;
    text-align: center;
  }
}

body#index main #results ul li .profile>dl {
  border-top: solid 1px #ccc;
  width: 100%;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile>dl {
    font-size: 4.3vw;
  }
}

@media screen and (max-width: 1119px) {
  body#index main #results ul li .profile>dl {
    border-top: none;
  }
}

body#index main #results ul li .profile>dl>div {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  gap: 1em;
  border-bottom: solid 1px #ccc;
  padding: 0.8em 0.5em;
  padding-left: 1.5em;
}

body#index main #results ul li .profile>dl>div:before {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  border-left: solid 2px #909090;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.5rem;
  margin: auto 0;
}

body#index main #results ul li .profile>dl>div dt {
  width: 3.5em;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  position: relative;
}

body#index main #results ul li .profile>dl>div dt:after {
  content: "：";
  position: absolute;
  top: 0;
  left: 100%;
}

body#index main #results ul li .profile>dl>div dd {
  width: calc(100% - 4.5em);
  font-weight: bold;
}

body#index main #results ul li .profile>dl>div dd span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

body#index main #results ul li .profile>dl>div dd span:before {
  content: "＼";
}

body#index main #results ul li .profile>dl>div dd span:after {
  content: "／";
}

body#index main #results ul li .profile>dl>div dd b {
  font-size: 20px;
}

@media screen and (max-width: 599px) {
  body#index main #results ul li .profile>dl>div dd b {
    font-size: 5.3vw;
  }
}

body#index main #voice {
  padding: var(--section-padding) 0;
  background: #FFBFAC;
  /* background: linear-gradient(300deg, rgb(255, 191, 172) 0%, rgb(255, 233, 227) 29%, rgb(255, 191, 172) 100%); origin */
  /* background: linear-gradient(300deg, rgb(219, 111, 128) 0%,rgb(255, 161, 175) 20%, rgb(219, 111, 128)100%); */
  background: linear-gradient(90deg, #db6f80, #d59c30);
}

body#index main #voice ul {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  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;
  row-gap: 3rem;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
}

body#index main #voice ul li {
  width: calc(50% - 20px);
  background-color: #fff;
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  border-radius: 4px;
}

body#index main #voice ul li:before {
  content: attr(data-side-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-size: 20px;
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  color: rgba(255, 255, 255, 0.4);
  height: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: -1.2em;
  rotate: 90deg;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li:before {
    font-size: 3.7vw;
  }
}

body#index main #voice ul li:after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 5em);
  font-size: 20px;
  border: none;
  border-left: solid 2px rgba(255, 255, 255, 0.4);
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: -0.75em;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li:after {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li:after {
    border-width: 1px;
  }
}

@media screen and (max-width: 780px) {
  body#index main #voice ul li {
    width: 100%;
    padding: 1rem;
  }

  body#index main #voice ul li:nth-child(even):before {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    left: auto;
    right: -1.2em;
  }

  body#index main #voice ul li:nth-child(even):after {
    left: auto;
    right: -0.75em;
  }
}

body#index main #voice ul li label input {
  display: none;
}

body#index main #voice ul li label {
  display: block;
  width: calc(30px + 4rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li label {
    width: calc(6.7vw + 2rem);
  }
}

body#index main #voice ul li label:before,
body#index main #voice ul li label:after {
  content: "";
  font-size: 30px;
  width: 1em;
  height: 1em;
  background-color: #707070;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (max-width: 599px) {

  body#index main #voice ul li label:before,
  body#index main #voice ul li label:after {
    font-size: 6.7vw;
  }
}

body#index main #voice ul li label:before {
  height: 1px;
}

body#index main #voice ul li label:after {
  width: 1px;
}

body#index main #voice ul li label:has(input:checked):after {
  scale: 1 0;
}

body#index main #voice ul li .names-area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 7.2%;
  -moz-column-gap: 7.2%;
  column-gap: 7.2%;
}

@media screen and (max-width: 780px) {
  body#index main #voice ul li .names-area {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
}

body#index main #voice ul li .names-area .photo {
  width: 33.3%;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

@media screen and (max-width: 780px) {
  body#index main #voice ul li .names-area .photo {
    width: 50%;
    padding-right: 1.5rem;
  }
}

body#index main #voice ul li .names-area .photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100%;
}

@media screen and (max-width: 780px) {
  body#index main #voice ul li .names-area .photo img {
    max-width: 12rem;
    margin-left: auto;
  }
}

body#index main #voice ul li .names-area .name {
  width: 59.5%;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  border-left: solid 2px #db6f80;
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

@media screen and (max-width: 780px) {
  body#index main #voice ul li .names-area .name {
    width: 50%;
  }
}

body#index main #voice ul li .names-area .name p {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  line-height: 1;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li .names-area .name p {
    font-size: 4.3vw;
  }
}

body#index main #voice ul li .names-area .name p b {
  font-size: 40px;
  line-height: 0.75;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li .names-area .name p b {
    font-size: 8vw;
  }
}

body#index main #voice ul li .names-area .name dl {
  width: 6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  row-gap: 0.25rem;
  font-weight: bold;
}

body#index main #voice ul li .names-area .name dl dt {
  width: 3.25em;
  margin-right: 1em;
  letter-spacing: 0.1em;
  margin-right: calc(0em - 0.1em);
  position: relative;
}

body#index main #voice ul li .names-area .name dl dt:after {
  content: "：";
  position: absolute;
  top: 0;
  right: 0;
}

body#index main #voice ul li .names-area .name dl dd {
  width: calc(100% - 3.25rem);
}

body#index main #voice ul li .message-area h3 {
  font-size: 30px;
  font-weight: bold;
  margin: 0.75em 0;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li .message-area h3 {
    font-size: 4.8vw;
  }
}

body#index main #voice ul li .message-area p {
  font-size: 16px;
  line-height: 2.2;
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li .message-area p {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #voice ul li .message-area p {
    line-height: 1.75;
  }
}

body#index main #voice ul li:has(input) .message-area {
  height: 0;
  opacity: 0;
  -webkit-transition: height 0.5s, opacity 0.5s;
  transition: height 0.5s, opacity 0.5s;
  overflow: hidden;
}

body#index main #voice ul li:has(input:checked) .message-area {
  height: auto;
  height: calc-size(auto, size);
  opacity: 1;
}

body#index main #voice ul li:not(:nth-child(n+3)) label {
  display: none;
}

@media screen and (min-width: 781px) {
  body#index main #voice ul li:not(:nth-child(n+3)) {
    max-width: 976px;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -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-top: 1rem;
    padding-bottom: 1rem;
  }

  body#index main #voice ul li:not(:nth-child(n+3)):nth-child(2) {
    margin-left: auto;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .names-area {
    width: 23.5%;
    -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: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 1rem;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .names-area .name {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: 2rem;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .names-area .photo {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .names-area .photo img {
    max-width: 140px;
    margin: 0 auto;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .message-area {
    width: 68.2%;
  }

  body#index main #voice ul li:not(:nth-child(n+3)) .message-area h3 {
    margin-top: 1rem;
  }
}

body#index main #price {
  padding: var(--section-padding) 0;
  background: var(--section-background01);
}

body#index main #price>section.semi-personal,
body#index main #price>section.machine-pelates {
  margin-bottom: var(--section-padding);
}

body#index main #price>section h3 {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

body#index main #price>section h3+p {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin: 1.25em auto;
}

@media screen and (max-width: 599px) {
  body#index main #price>section h3+p {
    font-size: 3.7vw;
  }
}

body#index main #price>section ul.plans {
  max-width: 1190px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 40px 30px;
  margin-bottom: 4rem;
}

@media screen and (max-width: 1260px) {
  body#index main #price>section ul.plans {
    max-width: 640px;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans {
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}

body#index main #price>section ul.plans>li {
  --parent-padding: 1.5rem;
  width: calc(25% - 22.5px);
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  padding: var(--parent-padding);
  border-radius: 4px;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li {
    --parent-padding: 1rem;
  }
}

@media screen and (max-width: 1260px) {
  body#index main #price>section ul.plans>li {
    width: calc(50% - 15px);
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li {
    width: 100%;
    background-color: transparent;
  }
}

body#index main #price>section ul.plans>li h4 {
  background-color: #5a4f4c;
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0.75em 0;
  margin: calc(0px - var(--parent-padding)) calc(0px - var(--parent-padding)) var(--parent-padding);
  border-radius: 4px 4px 0 0;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li h4 {
    font-size: 4.3vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li h4 {
    margin-bottom: 1rem;
  }
}

body#index main #price>section ul.plans>li:nth-child(1) h4 {
  background-color: #948886;
}

body#index main #price>section ul.plans>li:nth-child(2) h4 {
  background-color: #7c6f6b;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

body#index main #price>section ul.plans>li div.prices p {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  margin-bottom: 0.75rem;
  line-height: 1.2;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices p {
    font-size: 4.3vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices p {
    width: 45%;
  }
}

body#index main #price>section ul.plans>li div.prices p strong {
  font-size: 30px;
  /* color: #ffbfac; origin */
  color: #db6f80;
  line-height: 1;
  margin-right: 0.1em;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices p strong {
    font-size: 6.7vw;
  }
}

body#index main #price>section ul.plans>li div.prices p span {
  font-size: 16px;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices p span {
    font-size: 3.7vw;
  }
}

body#index main #price>section ul.plans>li div.prices dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  row-gap: 0.4rem;
  padding: 0.8em 1em;
  width: calc(100% + 1rem);
  margin: 0 -0.5rem 1rem;
  font-size: 14px;
  background-color: rgba(238, 238, 238, 0.6);
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices dl {
    font-size: 2.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li div.prices dl {
    width: 55%;
    padding: 0.8em 1em;
  }
}

body#index main #price>section ul.plans>li div.prices dl div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1em;
}

body#index main #price>section ul.plans>li div.prices dl div dt,
body#index main #price>section ul.plans>li div.prices dl div dd {
  font-weight: normal;
  white-space: nowrap;
}

body#index main #price>section ul.plans>li div.prices dl div dt {
  position: relative;
}

body#index main #price>section ul.plans>li div.prices dl div dt:after {
  content: "：";
  position: absolute;
  top: 0;
  left: 100%;
}

body#index main #price>section ul.plans>li>div.recommendation h5 {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  /* background-color: #ffbfac; origin */
  background-color: #db6f80;
  padding: 0.5em var(--parent-padding);
  margin-left: calc(0px - var(--parent-padding));
  margin-bottom: 1rem;
  border-radius: 0 20px 20px 0;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li>div.recommendation h5 {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li>div.recommendation h5 {
    padding: 0.25em var(--parent-padding);
    margin-bottom: 0.5rem;
  }
}

body#index main #price>section ul.plans>li>div.recommendation p {
  font-size: 16px;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li>div.recommendation p {
    font-size: 3.7vw;
  }
}

body#index main #price>section ul.plans>li>div.recommendation ul {
  font-size: 16px;
  line-height: 1.3;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li>div.recommendation ul {
    font-size: 3.7vw;
  }
}

body#index main #price>section ul.plans>li>div.recommendation ul li {
  padding-left: 1em;
  position: relative;
}

body#index main #price>section ul.plans>li>div.recommendation ul li:not(:last-child) {
  margin-bottom: 0.5em;
}

body#index main #price>section ul.plans>li>div.recommendation ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

body#index main #price>section ul.plans>li.limited {
  padding: 0;
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited {
    margin-top: 2rem;
  }
}

body#index main #price>section ul.plans>li.limited>div {
  width: 100%;
  /* border: solid 2px #ffbfac; origin */
  border: solid 2px #db6f80;
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  padding: var(--parent-padding);
  position: relative;
  border-radius: 6px;
}

body#index main #price>section ul.plans>li.limited>div:before,
body#index main #price>section ul.plans>li.limited>div:after {
  content: "";
  display: block;
  font-size: 10px;
  width: 1em;
  height: 3em;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: 50px;
  bottom: 0;
  right: 0;
  margin: auto 0;
}

@media screen and (max-width: 599px) {

  body#index main #price>section ul.plans>li.limited>div:before,
  body#index main #price>section ul.plans>li.limited>div:after {
    font-size: 2.7vw;
  }
}

@media screen and (max-width: 599px) {

  body#index main #price>section ul.plans>li.limited>div:before,
  body#index main #price>section ul.plans>li.limited>div:after {
    width: 3em;
    height: 1em;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    top: auto;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto;
  }
}

body#index main #price>section ul.plans>li.limited>div:before {
  /* background-color: #FFA582; origin */
  background-color: #ff828c;
  right: calc(100% + 0.5em);
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited>div:before {
    bottom: calc(100% + 2rem + 1.2em);
  }
}

body#index main #price>section ul.plans>li.limited>div:after {
  /* background-color: #ffbfac; origin */
  background-color: #db6f80;
  right: calc(100% + 0.75rem);
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited>div:after {
    bottom: calc(100% + 2rem);
  }
}

body#index main #price>section ul.plans>li.limited>div>span:first-child {
  text-align: center;
  /* color: #ffbfac; origin */
  color: #db6f80;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  position: absolute;
  bottom: calc(100% + 0.3rem);
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited>div>span:first-child {
    font-size: 4.3vw;
  }
}

body#index main #price>section ul.plans>li.limited>div>span:first-child:before {
  content: "＼";
}

body#index main #price>section ul.plans>li.limited>div>span:first-child:after {
  content: "／";
}

body#index main #price>section ul.plans>li.limited>div h4 {
  /* background-color: #ffbfac; origin */
  background-color: #db6f80;
}

body#index main #price>section ul.plans>li.limited>div .annotation {
  font-size: 12px;
  font-weight: normal;
  text-align: right;
  position: absolute;
  bottom: 1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 0 var(--parent-padding);
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited>div .annotation {
    font-size: 2.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section ul.plans>li.limited>div .annotation {
    text-align: center;
    width: 100%;
    bottom: 0.75em;
  }
}

body#index main #price>section .included {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  /* background-color: rgba(255, 144, 112, 0.3); origin */
  background-color: rgba(219, 111, 128, 0.5);
  background: linear-gradient(90deg, rgba(219, 111, 128, 0.5), rgba(213, 156, 48, 0.5));
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-radius: 20px;
}

body#index main #price>section .included>h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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;
  background-color: #fff;
  /* border: solid 1.5px #ffbfac; origin */
  border: solid 1.5px #db6f80;
  color: #505050;
  font-size: 16px;
  border-radius: 1000px;
  max-width: 500px;
  width: 100%;
  height: 35px;
  margin: 0 auto;
  translate: 0 -50%;
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included>h4 {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included>h4 {
    width: 66.7vw;
    height: 9.3vw;
  }
}

body#index main #price>section .included ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

body#index main #price>section .included ul li {
  width: 188px;
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included ul li {
    width: 50%;
  }
}

body#index main #price>section .included ul li:not(:last-child):after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 1rem);
  border-right: solid 1px #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
}

body#index main #price>section .included ul li img {
  width: 100%;
  height: 64px;
  -o-object-fit: contain;
  object-fit: contain;
}

body#index main #price>section .included ul li p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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;
  font-size: 16px;
  font-weight: bold;
  height: 3em;
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included ul li p {
    font-size: 3.2vw;
  }
}

body#index main #price>section .included ul li p small {
  font-weight: normal;
  font-size: 12px;
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included ul li p small {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included ul li p small {
    position: absolute;
    left: 0;
    top: calc(100% + 1.5em);
  }
}

@media screen and (max-width: 599px) {
  body#index main #price>section .included ul:has(li:nth-child(3)) li {
    width: 33.33%;
  }
}

body#index main #comparison {
  padding: var(--section-padding) 0;
  background: #ffcfc2;
  /* background: linear-gradient(300deg, rgb(255, 207, 194) 0%, rgb(255, 235, 230) 29%, rgb(255, 207, 194) 100%); origin */
  background: linear-gradient(90deg, rgb(255, 194, 203), rgb(255, 234, 194));
}

body#index main #comparison h2 {
  --sub-color: rgba(255, 255, 255, 0.5);
}

body#index main #comparison .table-scrolled {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled {
    overflow-x: scroll;
  }
}

body#index main #comparison .table-scrolled table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table {
    width: 177.6vw;
  }
}

body#index main #comparison .table-scrolled table th,
body#index main #comparison .table-scrolled table td {
  text-align: center;
  vertical-align: middle;
}

body#index main #comparison .table-scrolled table thead tr th {
  height: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table thead tr th {
    height: 10.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table thead tr th {
    font-size: 4.3vw;
  }
}

body#index main #comparison .table-scrolled table thead tr th:nth-child(1) {
  width: 20%;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table thead tr th:nth-child(1) {
    width: 18%;
  }
}

body#index main #comparison .table-scrolled table thead tr th:nth-child(2) {
  width: 26.4%;
  /* background-color: #ffbfac; origin */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  color: #feffee;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table thead tr th:nth-child(2) {
    width: 27%;
  }
}

body#index main #comparison .table-scrolled table thead tr th:nth-child(n+3) {
  width: 26.4%;
  color: #fff;
  background-color: #b9b9b9;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table thead tr th:nth-child(n+3) {
    width: 27%;
  }
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table tbody tr {
    position: relative;
  }
}

body#index main #comparison .table-scrolled table tbody tr th,
body#index main #comparison .table-scrolled table tbody tr td {
  height: 80px;
}

@media screen and (max-width: 599px) {

  body#index main #comparison .table-scrolled table tbody tr th,
  body#index main #comparison .table-scrolled table tbody tr td {
    height: 22.7vw;
  }
}

body#index main #comparison .table-scrolled table tbody tr th {
  font-size: 16px;
  color: #fff;
  background-color: #867d79;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table tbody tr th {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table tbody tr th:nth-child(1) {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 20;
  }
}

body#index main #comparison .table-scrolled table tbody tr td {
  position: relative;
}

body#index main #comparison .table-scrolled table tbody tr td p {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  z-index: 10;
  padding: 0 5px;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table tbody tr td p {
    font-size: 3.7vw;
  }
}

body#index main #comparison .table-scrolled table tbody tr td p b {
  font-size: 20px;
  color: inherit;
}

@media screen and (max-width: 599px) {
  body#index main #comparison .table-scrolled table tbody tr td p b {
    font-size: 5.3vw;
  }
}

body#index main #comparison .table-scrolled table tbody tr td:nth-child(2) {
  /* background-color: rgba(255, 191, 172, 0.7); origin */
  /* background-color: rgba(219, 111, 128,0.7); */
  background: linear-gradient(90deg, rgba(219, 111, 128, 0.7), rgba(213, 156, 48, 0.7));
  border-image: linear-gradient(90deg, #db6f80, #d59c30) 1;
}

body#index main #comparison .table-scrolled table tbody tr td:nth-child(2) p {
  color: #feffee;
}

body#index main #comparison .table-scrolled table tbody tr td:nth-child(n+3) {
  background-color: #fff;
}

body#index main #comparison .table-scrolled table tbody tr td:nth-child(n+3) p {
  color: #4b4b4b;
}

body#index main #comparison .table-scrolled table tbody tr td img {
  width: 100%;
  height: 60%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

body#index main #flow {
  padding: var(--section-padding) 0;
  background: var(--section-background01);
}

body#index main #flow ul {
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

body#index main #flow ul li {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 770px) {
  body#index main #flow ul li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

body#index main #flow ul li:not(:last-child) {
  margin-bottom: 3.5rem;
}

body#index main #flow ul li:before {
  content: attr(data-side-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  rotate: 90deg;
  /* color: #FFA582; origin */
  /* color: #ff828c; */
  background: linear-gradient(90deg, #ff828c, #ffd382);
  background-clip: text;
  color: transparent;
  font-size: 20px;
  font-family: "Dancing Script", cursive, serif;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -1.2em;
  pointer-events: none;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li:before {
    font-size: 3.7vw;
  }
}

body#index main #flow ul li:after {
  content: "";
  font-size: 20px;
  width: 1px;
  height: calc(100% - 4em);
  /* border-left: solid 1px #FFA582; origin */
  border-left: solid 1px;
  border-image: linear-gradient(90deg, #ff828c, #ffd382) 1;
  position: absolute;
  bottom: 0;
  left: -0.8em;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li:after {
    font-size: 3.7vw;
  }
}

body#index main #flow ul li>picture {
  width: 50%;
  aspect-ratio: 500/250;
}

@media screen and (max-width: 770px) {
  body#index main #flow ul li>picture {
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>picture {
    aspect-ratio: 335/150;
  }
}

body#index main #flow ul li>picture img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#index main #flow ul li>div {
  --number-width: 60px;
  width: 50%;
  padding: 1rem 1.5rem 1rem calc(var(--number-width) + 1.5rem);
  position: relative;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>div {
    --number-width: 10.7vw;
  }
}

@media screen and (max-width: 770px) {
  body#index main #flow ul li>div {
    width: 100%;
    padding-left: calc(var(--number-width) + 1rem);
  }
}

body#index main #flow ul li>div:before,
body#index main #flow ul li>div:after {
  content: "";
  font-size: 20px;
  width: 1em;
  position: absolute;
  left: calc(var(--number-width) / 2);
  translate: -50% 0;
}

@media screen and (max-width: 599px) {

  body#index main #flow ul li>div:before,
  body#index main #flow ul li>div:after {
    font-size: 4vw;
  }
}

body#index main #flow ul li>div:before {
  height: 1em;
  aspect-ratio: 1/1;
  background-image: url("../images/index/flow_number-circle.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: calc(var(--number-width) + 0.5em);
}

body#index main #flow ul li>div:after {
  height: calc(100% - (var(--number-width) + 1em));
  background-image: url("../images/index/flow_number-line_dotted.svg");
  background-repeat: repeat-y;
  background-size: 3px;
  background-position: top center;
  top: calc(var(--number-width) + 2em);
}

body#index main #flow ul li>div .number {
  width: var(--number-width);
  height: auto;
  aspect-ratio: 1/1;
  /* background-color: #ffbfac; origin */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1;
  font-size: 30px;
  font-family: "Dancing Script", cursive, serif;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>div .number {
    font-size: 5.3vw;
  }
}

body#index main #flow ul li>div h3 {
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 1em;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>div h3 {
    font-size: 4.3vw;
  }
}

body#index main #flow ul li>div p {
  font-size: 16px;
  line-height: 2.2;
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>div p {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #flow ul li>div p {
    line-height: 1.8;
  }
}

body#index main #faq {
  padding: var(--section-padding) 0;
}

body#index main #faq dl {
  --number-height: 60px;
  max-width: 1000px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 599px) {
  body#index main #faq dl {
    --number-height: 10.7vw;
  }
}

body#index main #faq dl>div input {
  display: none;
}

body#index main #faq dl>div:not(:last-child) {
  margin-bottom: 2rem;
}

body#index main #faq dl>div dt,
body#index main #faq dl>div dd {
  padding-left: var(--number-height);
  position: relative;
}

body#index main #faq dl>div dt:before,
body#index main #faq dl>div dd:before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 30px;
  font-weight: normal;
  width: var(--number-height);
  height: 100%;
  font-family: "Dancing Script", cursive, serif;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 599px) {

  body#index main #faq dl>div dt:before,
  body#index main #faq dl>div dd:before {
    font-size: 5.3vw;
  }
}

body#index main #faq dl>div dt label,
body#index main #faq dl>div dt span,
body#index main #faq dl>div dd label,
body#index main #faq dl>div dd span {
  width: 100%;
  display: inline-block;
  min-height: var(--number-height);
  padding: 1rem 3.5rem 1rem 1rem;
}

@media screen and (max-width: 599px) {

  body#index main #faq dl>div dt label,
  body#index main #faq dl>div dt span,
  body#index main #faq dl>div dd label,
  body#index main #faq dl>div dd span {
    padding-top: 0.6em;
    padding-bottom: 0.6em;
  }
}

body#index main #faq dl>div dt span,
body#index main #faq dl>div dd span {
  padding: 1rem;
}

body#index main #faq dl>div dt {
  font-size: 20px;
  background-color: rgba(219, 111, 128, 0.1);
  background: linear-gradient(90deg, rgba(219, 111, 128, 0.1), rgba(213, 156, 48, 0.1));
  border: 1px solid #db6f80;
  line-height: 1.4;
  border-radius: 20px;
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dt {
    font-size: 4.3vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dt {
    padding-right: 2rem;
    border-radius: 12px;
  }
}

body#index main #faq dl>div dt:before {
  content: "Q";
  color: #fff;
  /* background-color: #ffbfac; origin */
  background: linear-gradient(90deg, #db6f80, #d59c30);
  border-radius: 18px 0 0 18px;
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dt:before {
    border-radius: 10px 0 0 10px;
  }
}

body#index main #faq dl>div dt:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  font-size: 24px;
  font-weight: 100;
  line-height: -1;
  background-image: url("../images/common/icon_plus.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto 0;
  pointer-events: none;
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dt:after {
    font-size: 4vw;
  }
}

body#index main #faq dl>div dt label {
  cursor: pointer;
}

body#index main #faq dl>div dd {
  font-size: 18px;
  line-height: 2.2;
  height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: height 0.5s, opacity 0.5s;
  transition: height 0.5s, opacity 0.5s;
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dd {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 599px) {
  body#index main #faq dl>div dd {
    line-height: 1.8;
    padding-left: calc(var(--number-height) - 0.5rem);
  }
}

body#index main #faq dl>div dd:before {
  content: "A";
  color: #4b4b4b;
  pointer-events: none;
}

body#index main #faq dl>div:has(input:checked) dt:after {
  background-image: url("../images/common/icon_minus.svg");
}

body#index main #faq dl>div:has(input:checked) dd {
  height: auto;
  height: calc-size(auto, size);
  opacity: 1;
}

body#index main #access {
  background: linear-gradient(90deg, #db6f80, #d59c30);
  /* background: linear-gradient(300deg, rgb(255, 191, 172) 0%, rgb(255, 233, 227) 29%, rgb(255, 191, 172) 100%);  */
  padding: var(--section-padding) 0;
}

body#index main #access .map {
  max-width: 1366px;
  width: 89.3vw;
  margin: 0 auto;
  height: 400px;
}

@media screen and (max-width: 599px) {
  body#index main #access .map {
    height: auto;
    aspect-ratio: 335/400;
  }
}

body#index main #access .map iframe {
  width: 100%;
  height: 100%;
}

body#index main #access .parking-map {
  max-width: 1366px;
  width: 89.3vw;
  margin: var(--section-padding-small) auto 0;

  img {
    display: block;
    max-width: 831px;
    width: 100%;
    margin: 0 auto;
  }
}

body#index main #access p {
  text-align: center;
  margin: 0 auto 1em;
  font-size: 25px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  body#index main #access p {
    font-size: 4.8vw;
  }
}

body#law main,
body#Privacy-Policy main,
body#terms main {
  background-color: #F5F5F5;
  padding: var(--section-padding-small) 0;
}

body#law main>.contents,
body#Privacy-Policy main>.contents,
body#terms main>.contents {
  background-color: #fff;
  max-width: 1366px;
  width: 89.3vw;
  margin-left: auto;
  margin-right: auto;
  padding: var(--section-padding-small) 0;
}

body#law main>.contents>.inner,
body#Privacy-Policy main>.contents>.inner,
body#terms main>.contents>.inner {
  max-width: 1000px;
  width: 80vw;
  margin-left: auto;
  margin-right: auto;
}

body#law main>.contents>.inner h3,
body#Privacy-Policy main>.contents>.inner h3,
body#terms main>.contents>.inner h3 {
  font-weight: bold;
  margin: 1em 0;
  font-size: 18px;
}

@media screen and (max-width: 599px) {

  body#law main>.contents>.inner h3,
  body#Privacy-Policy main>.contents>.inner h3,
  body#terms main>.contents>.inner h3 {
    font-size: 3.7vw;
  }
}

body#law main>.contents>.inner h3:not(:first-child),
body#Privacy-Policy main>.contents>.inner h3:not(:first-child),
body#terms main>.contents>.inner h3:not(:first-child) {
  margin-top: 1.5em;
}

body#law main>.contents>.inner>p,
body#Privacy-Policy main>.contents>.inner>p,
body#terms main>.contents>.inner>p {
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 599px) {

  body#law main>.contents>.inner>p,
  body#Privacy-Policy main>.contents>.inner>p,
  body#terms main>.contents>.inner>p {
    font-size: 3.7vw;
  }
}

body#law main>.contents>.inner>p:not(:last-child),
body#Privacy-Policy main>.contents>.inner>p:not(:last-child),
body#terms main>.contents>.inner>p:not(:last-child) {
  margin-bottom: 1em;
}

body#law main>.contents>.inner ul,
body#law main>.contents>.inner ol,
body#Privacy-Policy main>.contents>.inner ul,
body#Privacy-Policy main>.contents>.inner ol,
body#terms main>.contents>.inner ul,
body#terms main>.contents>.inner ol {
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 599px) {

  body#law main>.contents>.inner ul,
  body#law main>.contents>.inner ol,
  body#Privacy-Policy main>.contents>.inner ul,
  body#Privacy-Policy main>.contents>.inner ol,
  body#terms main>.contents>.inner ul,
  body#terms main>.contents>.inner ol {
    font-size: 3.7vw;
  }
}

body#law main>.contents>.inner ul li,
body#law main>.contents>.inner ol li,
body#Privacy-Policy main>.contents>.inner ul li,
body#Privacy-Policy main>.contents>.inner ol li,
body#terms main>.contents>.inner ul li,
body#terms main>.contents>.inner ol li {
  position: relative;
}

body#law main>.contents>.inner ul li:not(:last-child),
body#law main>.contents>.inner ol li:not(:last-child),
body#Privacy-Policy main>.contents>.inner ul li:not(:last-child),
body#Privacy-Policy main>.contents>.inner ol li:not(:last-child),
body#terms main>.contents>.inner ul li:not(:last-child),
body#terms main>.contents>.inner ol li:not(:last-child) {
  margin-bottom: 0.4em;
}

body#law main>.contents>.inner ul li,
body#Privacy-Policy main>.contents>.inner ul li,
body#terms main>.contents>.inner ul li {
  padding-left: 1em;
}

body#law main>.contents>.inner ul li:before,
body#Privacy-Policy main>.contents>.inner ul li:before,
body#terms main>.contents>.inner ul li:before {
  content: "・";
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

body#law main>.contents>.inner ol,
body#Privacy-Policy main>.contents>.inner ol,
body#terms main>.contents>.inner ol {
  list-style-type: decimal;
  padding-left: 1em;
}

body#law main>.contents>.inner ol li,
body#Privacy-Policy main>.contents>.inner ol li,
body#terms main>.contents>.inner ol li {
  padding-left: 0.5em;
}

body#law main>.contents>.inner dl {
  line-height: 1.7;
}

body#law main>.contents>.inner dl dt {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 1rem;
}

@media screen and (max-width: 599px) {
  body#law main>.contents>.inner dl dt {
    font-size: 3.7vw;
  }
}

body#law main>.contents>.inner dl dd {
  font-weight: normal;
  font-size: 16px;
}

@media screen and (max-width: 599px) {
  body#law main>.contents>.inner dl dd {
    font-size: 3.7vw;
  }
}

body#law main>.contents>.inner dl dd:not(:last-child) {
  margin-bottom: 2.5rem;
}

#reservation-form {
  padding-top: var(--section-padding);
}