@charset "UTF-8";
/*
  Made by Elly Loel - https://ellyloel.com/
  参考記事:
    - Josh W Comeau - https://courses.joshwcomeau.com/css-for-js/treasure-trove/010-global-styles/
    - Andy Bell - https://piccalil.li/blog/a-modern-css-reset/
    - Adam Argyle - https://unpkg.com/open-props@1.3.16/normalize.min.css / https://codepen.io/argyleink/pen/KKvRORE
  メモ:
    - :where()は簡単に上書きできるように詳細度を低くするために使用しています。
*/
* {
  /* すべてのデフォルトのマージンを削除 */
  margin: 0;
  /* すべてのデフォルトのパディングを削除 */
  padding: 0;
  /* line-heightをemベースでcalc()で計算。font-sizeを小さくするとline-heightは大きくなり、font-sizeを大きくするとline-heightは小さくなります。参考: https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/ */
  line-height: calc(0.25rem + 1em + 0.25rem);
}

/* より直感的なボックスサイズのモデルを使用 */
*,
::before,
::after {
  box-sizing: border-box;
}

/* fieldset, progress, meter以外のすべての要素でボーダーを削除し、背景に適切なデフォルトを設定 */
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  /* アプリケーションでパーセントによる高さを許可する  */
  block-size: 100%;
  /* テキストのサイズはfont-sizeのみで制御されるようにする */
  -webkit-text-size-adjust: none;
}

/* 減速を好まないユーザーのためにスムーズなスクロールを実現 */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  /* テキストのレンダリングを改善 */
  -webkit-font-smoothing: antialiased;
  /* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
  text-rendering: optimizeSpeed;
  /* アプリケーションでパーセントによる高さを許可する */
  min-block-size: 100%;
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter#example_2 */
  /* scrollbar-gutter: stable both-edges; バグが修正されるまで削除: https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2 */
}

/* 各メディア要素のデフォルトを改善 */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

/* ストロークを削除し、fillの塗りつぶしカラーはフォントカラーを継承 */
:where(svg) {
  stroke: none;
  fill: currentColor;
}

/* fill属性のないSVG */
:where(svg):where(:not([fill])) {
  /* fillを取り除き、ストロークのカラーはフォントカラーを継承 */
  stroke: currentColor;
  fill: none;
  /* 丸みを帯びたストローク */
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* width属性のないSVGのサイズを設定 */
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

/* フォーム内のタイポグラフィのスタイルを削除 */
:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

/* textareaのサイズ変更は垂直のみにし、ブラウザがサポートしている場合にのみblockにします */
:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
/* テキストのオーバーフローを回避 */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* article、aside、nav、section内のh1フォントサイズを修正 */
h1 {
  font-size: 2em;
}

/* リストの役割をするul、ol要素のリストスタイルを削除。デフォルトのスタイルが削除されることを示唆しています */
:where(ul, ol) {
  list-style: none;
}

/* クラスを持たないアンカータグに、より読みやすい下線スタイルを設定。アンカータグに設定することもできますが、コンフリクトを引き起こす可能性があります */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* インタラクティブな要素は適切なカーソルを設定して操作できることを明確にする */
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
  text-decoration: none;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

/* フォーカスのアウトラインをアニメーション化 */
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

/* ユーザーがボタンのテキストを選択できないようにする */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  text-align: center;
}

/* 無効化されたボタンには無効化されたカーソルを表示 */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

:where(iframe[src*=youtube]) {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.is-pc {
  display: block;
}
@media screen and (max-width: 769px) {
  .is-pc {
    display: none;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 769px) {
  .is-sp {
    display: block;
  }
}

[data-anim-elm] {
  opacity: 0;
}

[v-cloak] {
  display: none;
}

header {
  background: transparent;
  height: min(140 / 1728 * 100vw, 140px);
  background-color: #FFF;
}
@media screen and (max-width: 769px) {
  header {
    background-color: transparent;
    height: min(72 / 390 * 100vw, 72px);
  }
}
header .header_contents {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0;
}
@media screen and (max-width: 769px) {
  header .header_contents {
    flex-direction: column;
  }
}
header .header_contents .header_logo {
  width: min(213 / 1728 * 100vw, 213px);
  margin-left: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  header .header_contents .header_logo {
    width: min(125 / 390 * 100vw, 125px);
    margin-left: min(25 / 390 * 100vw, 25px);
  }
}
header .header_contents .header_logo h1 {
  width: 100%;
  padding-top: min(70 / 1728 * 100vw, 70px);
}
@media screen and (max-width: 769px) {
  header .header_contents .header_logo h1 {
    padding-top: min(20 / 390 * 100vw, 20px);
  }
}
header .header_contents .header_logo h1 a {
  width: 100%;
  height: 100%;
}
header .header_contents .header_logo h1 img {
  width: 100%;
  aspect-ratio: 213/30;
}
@media screen and (max-width: 769px) {
  header .header_contents .header_logo h1 img {
    aspect-ratio: 125/52;
  }
}
header .header_contents .header_nav {
  width: min(1034 / 1728 * 100vw, 1034px);
  margin-right: min(164 / 1728 * 100vw, 164px);
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav {
    width: 100%;
    margin-right: min(37 / 390 * 100vw, 37px);
  }
}
header .header_contents .header_nav ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul {
    flex-direction: column;
    width: calc(320 / 390 * 100vw);
    text-align: center;
  }
}
header .header_contents .header_nav ul li {
  margin-top: min(60 / 1728 * 100vw, 60px);
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul li {
    margin-top: 0;
    margin-bottom: min(35 / 390 * 100vw, 35px);
    position: relative;
  }
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul li::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: #282828;
    bottom: max(-18 / 390 * 100vw, -18px);
    left: 0;
  }
}
header .header_contents .header_nav ul li a {
  color: #282828;
  font-size: min(22 / 1728 * 100vw, 22px);
  font-weight: 400;
  letter-spacing: 0.01em;
  transition: ease 0.4s;
  display: block;
  font-family: "Marcellus", serif;
  width: 100%;
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul li a {
    text-align: left;
    padding-left: min(29 / 390 * 100vw, 29px);
    font-size: min(22 / 390 * 100vw, 22px);
    position: relative;
  }
}
header .header_contents .header_nav ul li a:hover {
  color: #C4C4C4;
}
header .header_contents .header_nav ul li a:hover span {
  color: #C4C4C4;
}
header .header_contents .header_nav ul li a span {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(14 / 1728 * 100vw, 14px);
  font-weight: bold;
  color: #282828;
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul li a span {
    font-size: min(14 / 390 * 100vw, 14px);
    padding-left: 1em;
  }
}
header .header_contents .header_nav ul li a svg {
  display: none;
}
@media screen and (max-width: 769px) {
  header .header_contents .header_nav ul li a svg {
    position: absolute;
    display: block;
    inset: 0;
    margin: auto;
    margin-left: min(10 / 390 * 100vw, 10px);
  }
}

@media screen and (max-width: 769px) {
  .page_header {
    background: #FFF;
  }
  
}
#header {
  position: fixed;
  width: 100%;
  z-index: 999;
}

#header.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
#header.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.h_btn {
  position: fixed;
  top: 28px;
  right: 25px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  z-index: 1000;
}
@media screen and (max-width: 769px) {
  .h_btn {
    top: min(40 / 390 * 100vw, 40px);
  }
}

.h_btn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  right: 0px;
  height: 2px;
  border-radius: 2px;
  background: #E26B91;
}

.h_btn span:nth-of-type(1) {
  top: 0px;
  width: 30px;
}

.h_btn span:nth-of-type(2) {
  top: 8px;
  width: 24px;
}

.h_btn span:nth-of-type(3) {
  top: 16px;
  width: 18px;
}

.h_btn.active span:nth-of-type(1) {
  top: 18px;
  left: 25px;
  transform: translateY(-12px) rotate(-135deg);
  width: 30px;
}

.h_btn.active span:nth-of-type(2) {
  opacity: 0;
}

.h_btn.active span:nth-of-type(3) {
  top: 30px;
  left: 25px;
  transform: translateY(-24px) rotate(135deg);
  width: 30px;
}

@media screen and (max-width: 769px) {
  #g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh;
    background: #FFF;
    transition: ease 0.8s;
  }
}
#g-nav .h_logo {
  width: min(112 / 390 * 100vw, 112px);
  height: min(16 / 390 * 100vw, 16px);
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(40 / 390 * 100vw, 40px);
  margin-left: min(25 / 390 * 100vw, 25px);
}

#g-nav.panelactive {
  right: 0;
}

#g-nav.panelactive #g-nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 769px) {
  .g-nav_ul {
    position: absolute;
    z-index: 999;
    top: min(118 / 390 * 100vw, 118px);
    left: min(35 / 390 * 100vw, 35px);
  }
}

footer {
  width: 100%;
  position: relative;
  background: #f5f5f5;
}
footer .footer_link {
  width: min(1196 / 1728 * 100vw, 1196px);
  display: flex;
  justify-content: space-between;
  margin: auto;
  gap: min(414 / 1728 * 100vw, 414px);
  padding-top: min(80 / 1728 * 100vw, 80px);
  padding-bottom: min(83 / 1728 * 100vw, 83px);
}
@media screen and (max-width: 769px) {
  footer .footer_link {
    width: 100%;
    flex-direction: column;
    padding-top: min(6 / 390 * 100vw, 6px);
    padding-bottom: min(30 / 390 * 100vw, 30px);
  }
}
footer .footer_link_logo {
  width: min(283 / 1728 * 100vw, 283px);
}
@media screen and (max-width: 769px) {
  footer .footer_link_logo {
    display: none;
  }
}
footer .footer_link_logo img {
  aspect-ratio: 283/40;
}
footer .footer_link01 {
  width: min(500 / 1728 * 100vw, 500px);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 769px) {
  footer .footer_link01 {
    width: min(340 / 390 * 100vw, 340px);
    margin: auto;
    flex-direction: column;
  }
}
footer .footer_link01 .link01 {
  width: min(253 / 1728 * 100vw, 253px);
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link01 {
    width: 100%;
  }
}
footer .footer_link01 .link02 {
  width: min(165 / 1728 * 100vw, 165px);
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link02 {
    width: 100%;
  }
}
footer .footer_link01 .link01 a, footer .footer_link01 .link02 a {
  position: relative;
  padding-top: min(13 / 1728 * 100vw, 13px);
  padding-bottom: min(13 / 1728 * 100vw, 13px);
  display: block;
  font-family: "Marcellus", serif;
  color: #282828;
  font-size: min(22 / 1728 * 100vw, 22px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link01 a, footer .footer_link01 .link02 a {
    display: flex;
    align-items: center;
    font-size: min(22 / 390 * 100vw, 22px);
    padding-top: min(24 / 390 * 100vw, 24px);
    padding-bottom: min(15 / 390 * 100vw, 15px);
    padding-left: 1em;
    border-bottom: 1px solid #282828;
  }
}
footer .footer_link01 .link01 a span, footer .footer_link01 .link02 a span {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(14 / 1728 * 100vw, 14px);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
  padding-left: 1em;
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link01 a span, footer .footer_link01 .link02 a span {
    font-size: min(14 / 390 * 100vw, 14px);
  }
}
footer .footer_link01 .link01 a svg, footer .footer_link01 .link02 a svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-left: -1em;
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link01 a svg, footer .footer_link01 .link02 a svg {
    margin-left: 0;
    margin-bottom: min(23 / 390 * 100vw, 23px);
  }
}
footer .footer_link01 .link01 .is-sp, footer .footer_link01 .link02 .is-sp {
  display: none;
}
@media screen and (max-width: 769px) {
  footer .footer_link01 .link01 .is-sp, footer .footer_link01 .link02 .is-sp {
    display: block;
  }
}
footer .copy-area {
  background: #181E2C;
  padding-top: min(40 / 1728 * 100vw, 40px);
  padding-bottom: min(12 / 1728 * 100vw, 12px);
}
@media screen and (max-width: 769px) {
  footer .copy-area {
    padding-top: min(20 / 390 * 100vw, 20px);
    padding-bottom: min(8 / 390 * 100vw, 8px);
  }
}
@media screen and (max-width: 769px) {
  footer .copy-area .footer_logo {
    width: min(112 / 390 * 100vw, 112px);
    margin: auto;
    margin-bottom: min(20 / 390 * 100vw, 20px);
  }
}
@media screen and (max-width: 769px) {
  footer .copy-area .footer_logo img {
    aspect-ratio: 7/1;
  }
}
footer .copy-area ul {
  display: flex;
  justify-content: space-between;
  width: min(80 / 1728 * 100vw, 80px);
  margin: auto;
  gap: min(24 / 1728 * 100vw, 24px);
}
@media screen and (max-width: 769px) {
  footer .copy-area ul {
    width: min(60 / 390 * 100vw, 60px);
    gap: min(20 / 390 * 100vw, 20px);
  }
}
footer .copy-area ul svg {
  width: min(24 / 1728 * 100vw, 24px);
  height: min(24 / 1728 * 100vw, 24px);
}
@media screen and (max-width: 769px) {
  footer .copy-area ul svg {
    width: min(20 / 390 * 100vw, 20px);
    height: min(20 / 390 * 100vw, 20px);
  }
}
footer .copy-area .a_p {
  color: #FFF;
  text-align: center;
  font-family: "Marcellus", serif;
  font-size: min(16 / 1728 * 100vw, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  margin-top: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  footer .copy-area .a_p {
    font-size: min(12 / 390 * 100vw, 12px);
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
footer .copy-area .a_p span {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(18 / 1728 * 100vw, 18px);
  font-weight: 300;
  line-height: 1.6em;
}
@media screen and (max-width: 769px) {
  footer .copy-area .a_p span {
    font-size: min(12 / 390 * 100vw, 12px);
  }
}
footer .copy-area .p_a {
  text-align: center;
  margin: min(40 / 1728 * 100vw, 40px) auto;
  color: #FFF;
  text-align: center;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(16 / 1728 * 100vw, 16px);
  display: block;
  font-style: normal;
  font-weight: 300;
  line-height: 1.6em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  footer .copy-area .p_a {
    font-size: min(12 / 390 * 100vw, 12px);
    margin-top: min(42 / 390 * 100vw, 42px);
    margin-bottom: min(8 / 390 * 100vw, 8px);
  }
}
footer .copy-area .copy {
  text-align: center;
  margin-top: 40px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: #FFF;
}
@media screen and (max-width: 769px) {
  footer .copy-area .copy {
    margin-top: 0;
    padding-top: 0;
  }
}
.page_inner{
  width: min(1160 / 1728 * 100vw, 1160px);
  margin: 0 auto;
}
.inner {
  width: min(1400 / 1728 * 100vw, 1400px);
  margin: 0 auto;
}
@media screen and (max-width: 769px) {
  .inner {
    width: min(340 / 390 * 100vw, 340px);
    margin: 0 auto;
  }
  .page_inner{
    width: min(340 / 390 * 100vw, 340px);
    margin: 0 auto;
  }
}

.inner {
  max-width: 1400px;
  margin: auto;
}
@media screen and (max-width: 769px) {
  .inner {
    max-width: 340px;
  }
}

main {
  overflow: hidden;
  width: 100%;
}

h2, h3, h4 {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-weight: bold;
  letter-spacing: 0.01em;
  font-size: min(36 / 1728 * 100vw, 36px);
  color: #282828;
}
@media screen and (max-width: 769px) {
  h2, h3, h4 {
    font-size: min(22 / 390 * 100vw, 22px);
  }
}

p {
  font-family: "a-otf-ryumin-pr6n", serif;
  line-height: 1.8em;
  letter-spacing: 0.01em;
  font-size: min(18 / 1728 * 100vw, 18px);
  color: #282828;
}
@media screen and (max-width: 769px) {
  p {
    font-size: min(16 / 390 * 100vw, 16px);
  }
}

a {
  color: #282828;
  font-family: "Marcellus", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  a {
    font-size: min(12 / 390 * 100vw, 12px);
  }
}

.btn {
  width: min(340 / 1728 * 100vw, 340px);
  height: min(80 / 1728 * 100vw, 80px);
  margin: auto;
}
@media screen and (max-width: 769px) {
  .btn {
    width: min(220 / 390 * 100vw, 220px);
    height: min(44 / 390 * 100vw, 44px);
  }
}
.btn a {
  background: #FFF;
  display: grid;
  align-items: center;
  height: 100%;
  width: 100%;
  color: #323232;
  position: relative;
  text-align: center;
  font-size: min(20 / 1728 * 100vw, 20px);
  box-shadow: 9.4px 9.4px 47px 0px rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  transition: ease 0.5s;
}
@media screen and (max-width: 769px) {
  .btn a {
    font-size: min(12 / 390 * 100vw, 12px);
  }
}
.btn a:hover {
  background: #323232;
  color: #FFF;
}
.btn a:hover svg path {
  fill: #FFF;
}
.btn a svg {
  position: absolute;
  margin: auto;
  inset: 0;
  margin-right: min(20 / 1728 * 100vw, 20px);
}
@media screen and (max-width: 769px) {
  .btn a svg {
    margin-right: min(17 / 390 * 100vw, 17px);
  }
}

.slider {
  width: 100%;
  margin: 0 auto;
}

.slider img {
  width: 100%;
  height: auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
  margin: 0 10px;
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  height: 15px;
  width: 15px;
}

.slick-prev { /*戻る矢印の位置と形状*/
  left: -1.5%;
}

.slick-next { /*次へ矢印の位置と形状*/
  right: -1.5%;
}

.blur {
  animation-name: blurAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: translateY(0px);
    opacity: 1;
  }
}
.blurTrigger {
  opacity: 0;
}

.blur01 {
  animation-name: blurAnime01;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime01 {
  from {
    filter: blur(30px);
    transform: scale(0.98);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
.blurTrigger01 {
  opacity: 0;
}

.blur00 {
  animation-name: blurAnime00;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime00 {
  from {
    filter: blur(10px);
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: translateY(0px);
    opacity: 1;
  }
}
.blurTrigger00 {
  opacity: 0;
}

.fv {
  margin-top: min(140 / 1728 * 100vw, 140px);
  height: min(960 / 1728 * 100vw, 960px);
  background: #FFF;
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .fv {
    height: min(608 / 390 * 100vw, 608px);
    margin-top: 0;
  }
}
@media screen and (max-width: 769px) {
  .fv .inner {
    width: min(366 / 390 * 100vw, 366px);
    margin: auto;
  }
}
.fv .fv_en {
  position: absolute;
  color: #282828;
  text-shadow: 4.802px 4.802px 9.604px #FFF;
  font-family: "Marcellus", serif;
  font-size: min(80 / 1728 * 80vw, 100px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.04em;
  inset: 0;
  margin: auto;
  margin-top: min(300 / 1728 * 100vw, 300px);
  margin-left: min(284 / 1728 * 100vw, 284px);
}
@media screen and (max-width: 769px) {
  .fv .fv_en {
    font-size: min(40 / 390 * 100vw, 40px);
    margin-top: min(428 / 390 * 100vw, 428px);
    margin-left: min(25 / 390 * 100vw, 25px);
  }
}
.fv h2 {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(512 / 1728 * 100vw, 512px);
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(36 / 1728 * 100vw, 36px);
  font-weight: 400;
  letter-spacing: 0.01em;
  margin-left: min(284 / 1728 * 100vw, 284px);
}
@media screen and (max-width: 769px) {
  .fv h2 {
    margin-top: min(532 / 390 * 100vw, 532px);
    margin-left: min(25 / 390 * 100vw, 25px);
    font-size: min(18 / 390 * 100vw, 18px);
  }
}
.fv #slider {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(60 / 1728 * 100vw, 60px);
  width: min(1400 / 1728 * 100vw, 1400px);
  height: min(780 / 1728 * 100vw, 780px) !important;
  z-index: -1;
}
@media screen and (max-width: 769px) {
  .fv #slider {
    margin-top: min(20 / 390 * 100vw, 20px);
    width: min(366 / 390 * 100vw, 366px);
    height: min(480 / 390 * 100vw, 480px) !important;
  }
}
.fv #slider01 {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(60 / 1728 * 100vw, 60px);
  width: min(1400 / 1728 * 100vw, 1400px);
  height: min(780 / 1728 * 100vw, 780px) !important;
  z-index: -2;
  background: #ECA4BB;
  transform: rotate(-2deg) !important;
}
@media screen and (max-width: 769px) {
  .fv #slider01 {
    margin-top: min(20 / 390 * 100vw, 20px);
    width: min(366 / 390 * 100vw, 366px);
    height: min(480 / 390 * 100vw, 480px) !important;
    transform: rotate(-4deg) !important;
  }
}
.fv #slider02 {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(60 / 1728 * 100vw, 60px);
  width: min(1400 / 1728 * 100vw, 1400px);
  height: min(780 / 1728 * 100vw, 780px) !important;
  z-index: -3;
  background: #FFE0EB;
  transform: rotate(-4deg) !important;
}
@media screen and (max-width: 769px) {
  .fv #slider02 {
    margin-top: min(20 / 390 * 100vw, 20px);
    width: min(366 / 390 * 100vw, 366px);
    height: min(480 / 390 * 100vw, 480px) !important;
    transform: rotate(-8deg) !important;
  }
}

.section_title .h_en {
  font-family: "Marcellus", serif;
  font-size: min(64 / 1728 * 100vw, 64px);
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media screen and (max-width: 769px) {
  .section_title .h_en {
    font-size: min(32 / 390 * 100vw, 32px);
  }
}
.section_title h2 {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  margin-top: min(4 / 1728 * 100vw, 4px);
}
@media screen and (max-width: 769px) {
  .section_title h2 {
    margin-top: 0;
    font-size: min(14 / 390 * 100vw, 14px);
  }
}
.section_title svg {
  margin-top: 1rem;
}

.media {
  background: url(/wp-content/themes/excia/assets/img/media_bg.png) no-repeat center/cover;
  position: relative;
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(60 / 1728 * 100vw, 60px);
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .media {
    padding-top: min(65 / 390 * 100vw, 65px);
    padding-bottom: min(30 / 390 * 100vw, 30px);
  }
}
.media::after {
  position: absolute;
  content: "MEDIA";
  color: rgba(255, 255, 255, 0.7);
  font-family: "Marcellus", serif;
  font-size: min(160 / 1728 * 100vw, 160px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.12em;
  width: min(584 / 1728 * 100vw, 584px);
  height: min(192 / 1728 * 100vw, 192px);
  inset: 0;
  margin: auto;
  margin-top: min(47 / 1728 * 100vw, 47px);
  z-index: -1;
}
@media screen and (max-width: 769px) {
  .media::after {
    width: min(292 / 390 * 100vw, 292px);
    height: min(96 / 390 * 100vw, 96px);
    font-size: min(80 / 390 * 100vw, 80px);
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.media h2 {
  text-align: center;
}
.media ul {
  margin-top: min(87 / 1728 * 100vw, 87px);
}
@media screen and (max-width: 769px) {
  .media ul {
    margin-top: min(46 / 390 * 100vw, 46px);
  }
}
.media .slick-prev, .media .slick-next {
  top: 45%;
  width: min(40 / 1728 * 100vw, 40px);
  height: min(40 / 1728 * 100vw, 40px);
  z-index: 3;
}
@media screen and (max-width: 769px) {
  .media .slick-prev, .media .slick-next {
    width: min(24 / 390 * 100vw, 24px);
    height: min(24 / 390 * 100vw, 24px);
  }
}
.media .slick-prev {
  left: min(420 / 1728 * 100vw, 420px);
}
@media screen and (max-width: 769px) {
  .media .slick-prev {
    left: min(40 / 390 * 100vw, 40px);
  }
}
.media .slick-next {
  right: min(420 / 1728 * 100vw, 420px);
}
@media screen and (max-width: 769px) {
  .media .slick-next {
    right: min(40 / 390 * 100vw, 40px);
  }
}
.media p {
  margin: auto;
  margin-top: min(60 / 1728 * 100vw, 60px);
  width: min(960 / 1728 * 100vw, 960px);
}
@media screen and (max-width: 769px) {
  .media p {
    width: min(340 / 390 * 100vw, 340px);
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
@media screen and (max-width: 769px) {
  .media .slider img {
    width: 95%;
    margin: auto;
  }
}
@media screen and (max-width: 769px) {
  .media .slider .slick-slide {
    width: 95%;
    margin: auto;
  }
}

.reason {
  padding-top: min(186 / 1728 * 100vw, 186px);
  padding-bottom: min(160 / 1728 * 100vw, 160px);
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .reason {
    padding-top: min(60 / 390 * 100vw, 60px);
    padding-bottom: min(30 / 390 * 100vw, 30px);
  }
}
.reason_img {
  position: absolute;
  width: min(1528 / 1728 * 100vw, 1528px);
  height: min(475 / 1728 * 100vw, 475px);
  z-index: -1;
  inset: 0;
  margin: auto;
  margin-top: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  .reason_img {
    width: min(487 / 390 * 100vw, 487px);
    height: min(246 / 390 * 100vw, 246px);
    margin-top: max(-66 / 390 * 100vw, -66px);
    margin-left: max(-48 / 390 * 100vw, -48px);
  }
}
.reason_img img {
  width: 100%;
  height: auto;
}
.reason ul {
  margin-top: min(120 / 1728 * 100vw, 120px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 769px) {
  .reason ul {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
}
.reason ul li {
  width: min(440 / 1728 * 100vw, 440px);
}
@media screen and (max-width: 769px) {
  .reason ul li {
    width: 100%;
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.reason ul li img {
  width: 100%;
  height: auto;
}
.reason ul li h3 {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.6em;
  letter-spacing: 0.01em;
  margin: min(30 / 1728 * 100vw, 30px) auto;
}
@media screen and (max-width: 769px) {
  .reason ul li h3 {
    font-size: min(22 / 390 * 100vw, 22px);
    margin-top: min(30 / 390 * 100vw, 30px);
    margin-bottom: min(20 / 390 * 100vw, 20px);
  }
}
.reason ul li p {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-weight: bold;
}

.voice {
  background: url(/wp-content/themes/excia/assets/img/v_bg.png) no-repeat center/cover;
  position: relative;
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(120 / 1728 * 100vw, 120px);
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .voice {
    padding-top: min(65 / 390 * 100vw, 65px);
    padding-bottom: min(30 / 390 * 100vw, 30px);
  }
}
.voice::after {
  position: absolute;
  content: "VOICE";
  color: rgba(255, 255, 255, 0.7);
  font-family: "Marcellus", serif;
  font-size: min(160 / 1728 * 100vw, 160px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.12em;
  width: min(584 / 1728 * 100vw, 584px);
  height: min(192 / 1728 * 100vw, 192px);
  inset: 0;
  margin: auto;
  margin-top: min(47 / 1728 * 100vw, 47px);
  z-index: -1;
}
@media screen and (max-width: 769px) {
  .voice::after {
    width: min(292 / 390 * 100vw, 292px);
    height: min(96 / 390 * 100vw, 96px);
    font-size: min(80 / 390 * 100vw, 80px);
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.voice h2 {
  text-align: center;
}
.voice ul {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .voice ul {
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.voice ul li {
  width: min(440 / 1728 * 100vw, 440px);
  height: min(530 / 1728 * 100vw, 530px);
  background: #FFF;
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.06);
}
@media screen and (max-width: 769px) {
  .voice ul li {
    width: min(250 / 390 * 100vw, 250px);
    height: min(339 / 390 * 100vw, 339px);
  }
}
.voice ul li img {
  width: 100%;
  height: min(280 / 1728 * 100vw, 280px);
}
@media screen and (max-width: 769px) {
  .voice ul li img {
    height: min(160 / 390 * 100vw, 160px);
  }
}
.voice ul li h3 {
  display: grid;
  align-items: center;
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
  position: relative;
  padding-left: min(58 / 1728 * 100vw, 58px);
  margin-top: min(20 / 1728 * 100vw, 20px);
}
@media screen and (max-width: 769px) {
  .voice ul li h3 {
    font-size: min(20 / 390 * 100vw, 20px);
    padding-left: min(32 / 390 * 100vw, 32px);
    margin-top: min(12 / 390 * 100vw, 12px);
  }
}
.voice ul li h3::after {
  position: absolute;
  content: "";
  width: min(8 / 1728 * 100vw, 8px);
  height: 100%;
  background-color: #E26B91;
  inset: 0;
  margin: auto;
  margin-left: min(30 / 1728 * 100vw, 30px);
}
@media screen and (max-width: 769px) {
  .voice ul li h3::after {
    width: min(4 / 390 * 100vw, 4px);
    margin-left: min(24 / 390 * 100vw, 24px);
  }
}
.voice ul li p {
  width: min(380 / 1728 * 100vw, 380px);
  margin: auto;
  font-weight: bold;
  margin-top: min(20 / 1728 * 100vw, 20px);
  font-size: min(24 / 1728 * 100vw, 24px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 769px) {
  .voice ul li p {
    font-size: min(18 / 390 * 100vw, 18px);
    margin-left: min(32 / 390 * 100vw, 32px);
    margin-top: min(8 / 390 * 100vw, 8px);
    width: min(210 / 390 * 100vw, 210px);
  }
}
.voice ul li .text_btn {
  text-align: right;
  padding-right: min(47 / 1728 * 100vw, 47px);
  margin-top: min(30 / 1728 * 100vw, 30px);
}
@media screen and (max-width: 769px) {
  .voice ul li .text_btn {
    padding-right: min(30 / 390 * 100vw, 30px);
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
.voice ul li .text_btn a {
  position: relative;
  display: block;
}
.voice ul li .text_btn a svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-right: max(-20 / 1728 * 100vw, -20px);
}
@media screen and (max-width: 769px) {
  .voice ul li .text_btn a svg {
    margin-right: max(-15 / 390 * 100vw, -15px);
  }
}
.voice .slick-prev, .voice .slick-next {
  top: min(257 / 1728 * 100vw, 257px);
  width: min(40 / 1728 * 100vw, 40px);
  height: min(40 / 1728 * 100vw, 40px);
  z-index: 3;
}
@media screen and (max-width: 769px) {
  .voice .slick-prev, .voice .slick-next {
    top: min(195 / 390 * 100vw, 195px);
    width: min(24 / 390 * 100vw, 24px);
    height: min(24 / 390 * 100vw, 24px);
  }
}
.voice .slick-prev {
  left: max(-10 / 1728 * 100vw, -10px);
}
@media screen and (max-width: 769px) {
  .voice .slick-prev {
    left: min(40 / 390 * 100vw, 40px);
  }
}
.voice .slick-next {
  right: max(-10 / 1728 * 100vw, -10px);
}
@media screen and (max-width: 769px) {
  .voice .slick-next {
    right: min(40 / 390 * 100vw, 40px);
  }
}
.voice .btn {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .voice .btn {
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}

.statement {
  background: url(/wp-content/themes/excia/assets/img/s_bg.png) no-repeat center/cover;
  position: relative;
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(120 / 1728 * 100vw, 120px);
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .statement {
    background: url(/wp-content/themes/excia/assets/img/s_bg_sp.png) no-repeat center/cover;
    padding-top: min(40 / 390 * 100vw, 40px);
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.statement .section_title .h_en {
  color: #FFF;
}
.statement .section_title h2 {
  color: #FFF;
}
.statement .statement_p {
  width: min(680 / 1728 * 100vw, 680px);
  height: min(64 / 1728 * 100vw, 64px);
  color: #FFF;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(18 / 1728 * 100vw, 18px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
  margin-top: min(40 / 1728 * 100vw, 40px);
  margin-bottom: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .statement .statement_p {
    width: 100%;
    height: auto;
    font-size: min(16 / 390 * 100vw, 16px);
    margin-top: min(30 / 390 * 100vw, 30px);
    margin-bottom: min(30 / 390 * 100vw, 30px);
  }
}
.statement .statement_contents {
  width: 100%;
  border-radius: 4px;
  border: 2px solid #fff;
  padding: min(80 / 1728 * 100vw, 80px) 0;
}
@media screen and (max-width: 769px) {
  .statement .statement_contents {
    padding: min(40 / 390 * 100vw, 40px) 0;
  }
}
.statement .statement_contents ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: min(1280 / 1728 * 100vw, 1280px);
  margin: auto;
  gap: min(64 / 1728 * 100vw, 64px);
}
@media screen and (max-width: 769px) {
  .statement .statement_contents ul {
    grid-template-columns: 1fr;
    width: min(280 / 390 * 100vw, 280px);
    gap: min(30 / 390 * 100vw, 30px) 0;
  }
}
.statement .statement_contents ul li {
  width: min(384 / 1728 * 100vw, 384px);
}
@media screen and (max-width: 769px) {
  .statement .statement_contents ul li {
    width: 100%;
  }
}
.statement .statement_contents ul li h3 {
  color: #FFF;
  font-family: "Marcellus", serif;
  font-size: min(48 / 1728 * 100vw, 48px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .statement .statement_contents ul li h3 {
    font-size: min(24 / 390 * 100vw, 24px);
  }
}
.statement .statement_contents ul li p {
  color: #FFF;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
  margin-top: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .statement .statement_contents ul li p {
    font-size: min(16 / 390 * 100vw, 16px);
    margin-top: min(12 / 390 * 100vw, 12px);
  }
}
.statement .statement_contents .btn {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .statement .statement_contents .btn {
    margin-top: min(50 / 390 * 100vw, 50px);
  }
}

.news {
  padding-top: min(160 / 1728 * 100vw, 160px);
  padding-bottom: min(160 / 1728 * 100vw, 160px);
}
@media screen and (max-width: 769px) {
  .news {
    padding-top: min(60 / 390 * 100vw, 60px);
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.news .news_contents {
  margin: auto;
  margin-top: min(90 / 1728 * 100vw, 90px);
  display: grid;
  grid-template-columns: 1fr;
  width: min(1000 / 1728 * 100vw, 1000px);
}
@media screen and (max-width: 769px) {
  .news .news_contents {
    margin-top: min(40 / 390 * 100vw, 40px);
    width: 100%;
  }
}
.news .news_contents li {
  width: 100%;
  padding-top: min(32 / 1728 * 100vw, 32px);
  padding-bottom: min(20 / 1728 * 100vw, 20px);
  border-bottom: 2px solid #dedede;
}
@media screen and (max-width: 769px) {
  .news .news_contents li {
    padding-top: min(16 / 390 * 100vw, 16px);
    padding-bottom: min(12 / 390 * 100vw, 12px);
  }
}
.news .news_contents li a {
  display: block;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .news .news_contents li a {
    flex-direction: column;
    align-items: baseline;
    width: 100%;
  }
}
.news .news_contents li a .wp_date_news {
  width: min(90 / 1728 * 100vw, 90px);
  color: #323232;
  font-family: "Marcellus", serif;
  font-size: min(16 / 1728 * 100vw, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .news .news_contents li a .wp_date_news {
    width: 100%;
    font-size: min(12 / 390 * 100vw, 12px);
  }
}
.news .news_contents li a .wp_title_news {
  width: min(800 / 1728 * 100vw, 800px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 769px) {
  .news .news_contents li a .wp_title_news {
    width: min(310 / 390 * 100vw, 310px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.news .news_contents li a svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-right: 0;
  width: min(12.8 / 1728 * 100vw, 12.8px);
  height: min(16 / 1728 * 100vw, 16px);
}
@media screen and (max-width: 769px) {
  .news .news_contents li a svg {
    width: min(8 / 390 * 100vw, 8px);
    height: min(10 / 390 * 100vw, 10px);
    margin-bottom: min(8 / 390 * 100vw, 8px);
  }
}
.news .btn {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .news .btn {
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.news .btn a {
  border: 1px solid #282828;
}

.contact {
  width: 100%;
  max-width: 1728px;
  height: min(500 / 1728 * 100vw, 500px);
  margin: auto;
}
@media screen and (max-width: 769px) {
  .contact {
    max-width: 390px;
    height: auto;
  }
}
.contact .contact_btn {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 100%;
}
@media screen and (max-width: 769px) {
  .contact .contact_btn {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.contact .contact_btn .c_btn {
  width: min(576 / 1728 * 100vw, 576px);
  transition: ease 0.5s;
}
@media screen and (max-width: 769px) {
  .contact .contact_btn .c_btn {
    width: 100%;
    height: min(340 / 390 * 100vw, 340px);
  }
}
.contact .contact_btn .c_btn a {
  display: block;
  width: 100%;
  height: 100%;
}
.contact .contact_btn .btn01 {
  background: url(/wp-content/themes/excia/assets/img/btn01.png) no-repeat center/cover;
}
.contact .contact_btn .btn01:hover {
  background: url(/wp-content/themes/excia/assets/img/btn01_h.png) no-repeat center/cover;
}
.contact .contact_btn .btn02 {
  background: url(/wp-content/themes/excia/assets/img/btn02.png) no-repeat center/cover;
}
.contact .contact_btn .btn02:hover {
  background: url(/wp-content/themes/excia/assets/img/btn02_h.png) no-repeat center/cover;
}
.contact .contact_btn .btn03 {
  background: url(/wp-content/themes/excia/assets/img/btn03.png) no-repeat center/cover;
}
.contact .contact_btn .btn03:hover {
  background: url(/wp-content/themes/excia/assets/img/btn03_h.png) no-repeat center/cover;
}

html {
  scroll-behavior: smooth;
}

.child_page {
  margin-top: min(140 / 1728 * 100vw, 140px);
}
@media screen and (max-width: 769px) {
  .child_page {
    margin-top: min(78 / 390 * 100vw, 78px);
  }
}
.child_page .page_top {
  width: 100%;
  height: calc(511 / 1728 * 100vw);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 769px) {
  .child_page .page_top {
    height: min(160 / 390 * 100vw, 160px);
  }
}
.child_page .page_top p {
  padding-top: calc(180 / 1728 * 100vw);
  color: #FFF;
  font-family: "Marcellus", serif;
  font-size: calc(120 / 1728 * 100vw);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media screen and (max-width: 769px) {
  .child_page .page_top p {
    padding-top: calc(40 / 390 * 100vw);
    font-size: calc(40 / 390 * 100vw);
  }
}
.child_page .page_top h2 {
  color: #FFF;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: calc(36 / 1728 * 100vw);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .page_top h2 {
    font-size: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .page_top img {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  inset: 0;
  margin: auto;
}
.child_page_contents {
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(160 / 1728 * 100vw, 160px);
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .child_page_contents {
    padding-top: min(40 / 390 * 100vw, 40px);
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.child_page_contents_img {
  position: absolute;
  width: min(1528 / 1728 * 100vw, 1528px);
  height: min(475 / 1728 * 100vw, 475px);
  z-index: -1;
  inset: 0;
  margin: auto;
  margin-top: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page_contents_img {
    width: min(487 / 390 * 100vw, 487px);
    height: min(246 / 390 * 100vw, 246px);
    margin-top: max(-86 / 390 * 100vw, -86px);
    margin-left: max(-48 / 390 * 100vw, -48px);
  }
}
.child_page_contents_img img {
  width: 100%;
  height: auto;
}
.child_page_contents .page_h2 {
  text-align: center;
  color: #000;
  font-family: "A-OTF Ryumin Pr6N";
  font-size: min(36 / 1728 * 100vw, 36px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page_contents .page_h2 {
    font-size: min(22 / 390 * 100vw, 22px);
  }
}
.child_page_contents .page_p {
  text-align: center;
  width: min(760 / 1728 * 100vw, 760px);
  margin: auto;
  margin-top: min(60 / 1728 * 100vw, 60px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .page_p {
    width: 100%;
    text-align: left;
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page_contents .service_ul {
  display: flex;
  justify-content: space-between;
  margin-top: min(250 / 1728 * 100vw, 250px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .service_ul {
    flex-direction: column;
    margin-top: 0;
  }
}
.child_page_contents .service_ul01 {
  width: min(680 / 1728 * 100vw, 680px);
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 769px) {
  .child_page_contents .service_ul01 {
    width: 100%;
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page_contents .service_ul02 {
  width: min(640 / 1728 * 100vw, 640px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .service_ul02 {
    width: 100%;
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page_contents .service_ul02 h3 {
  color: #3E4448;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(36 / 1728 * 100vw, 36px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 769px) {
  .child_page_contents .service_ul02 h3 {
    font-size: min(22 / 390 * 100vw, 22px);
  }
}
.child_page_contents .service_ul02 p {
  color: #000;
  margin-top: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .service_ul02 p {
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
.child_page_contents .btn {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .btn {
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page_contents .btn a {
  border: #000 2px solid;
}
.child_page_contents .shop_ul {
  margin: auto;
  margin-top: min(80 / 1728 * 100vw, 80px);
  display: grid;
  gap: min(40 / 1728 * 100vw, 40px) min(20 / 1728 * 100vw, 20px);
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  width: min(1240 / 1728 * 100vw, 1240px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .shop_ul {
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 min(20 / 390 * 100vw, 20px);
    margin-top: min(10 / 390 * 100vw, 10px);
  }
  .child_page_contents .btn a{
    border: #000 1px solid;
  }
}
.child_page_contents .shop_ul li {
  width: min(160 / 1728 * 100vw, 160px);
  padding-bottom: min(8 / 1728 * 100vw, 8px);
  border-bottom: 2px solid #D2D2D3;
  border-radius: 2px;
}
@media screen and (max-width: 769px) {
  .child_page_contents .shop_ul li {
    width: min(100 / 390 * 100vw, 100px);
    padding-top: min(20 / 390 * 100vw, 20px);
    padding-bottom: min(4 / 390 * 100vw, 4px);
  }
}
.child_page_contents .shop_ul li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.01em;
  padding-left: min(14 / 1728 * 100vw, 14px);
}
@media screen and (max-width: 769px) {
  .child_page_contents .shop_ul li a {
    font-size: min(16 / 390 * 100vw, 16px);
    padding-left: 0;
  }
}
.child_page_contents .shop_ul li a::after {
  position: absolute;
  content: "";
  width: min(11 / 1728 * 100vw, 11px);
  height: min(11 / 1728 * 100vw, 11px);
  border-bottom: 2px solid #E26B91;
  border-right: 2px solid #E26B91;
  transform: rotate(45deg);
  inset: 0;
  margin: auto;
  margin-right: 2px;
}
@media screen and (max-width: 769px) {
  .child_page_contents .shop_ul li a::after {
    width: min(8 / 390 * 100vw, 8px);
    height: min(8 / 390 * 100vw, 8px);
  }
}
.child_page_contents02 {
  padding-top: 0;
}
.child_page_contents02 .child_page_contents_img {
  margin-top: max(-200 / 1728 * 100vw, -200px);
}
.child_page_contents02 .reason {
  padding-top: 0;
  padding-bottom: 0;
}
.child_page .shop_list {
  padding-bottom: min(160 / 1728 * 100vw, 160px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list {
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .shop_list .shop_box {
  padding-top: min(140 / 1728 * 100vw, 140px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box {
    padding-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .shop_list .shop_box h2 {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(36 / 1728 * 100vw, 36px);
  font-style: normal;
  display: grid;
  align-items: center;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
  padding-left: min(28 / 1728 * 100vw, 28px);
  border-left: 8px solid #E26B91;
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box h2 {
    font-size: min(20 / 390 * 100vw, 20px);
    padding-left: min(16 / 390 * 100vw, 16px);
    border-left: 4px solid #E26B91;
  }
}
.child_page .shop_list .shop_box ul {
  margin-top: min(80 / 1728 * 100vw, 80px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(80 / 1728 * 100vw, 80px) min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul {
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.child_page .shop_list .shop_box ul li {
  width: min(440 / 1728 * 100vw, 440px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul li {
    width: 100%;
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .shop_list .shop_box ul li img {
  width: 100%;
  height: min(280 / 1728 * 100vw, 280px);
}
.child_page .shop_list .shop_box ul li p{
  height: min(70 / 1728 * 100vw, 70px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.child_page .shop_list .shop_box ul li h3 {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(28 / 1728 * 100vw, 28px);
  height: min(80 / 1728 * 100vw, 80px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
  margin-top: min(30 / 1728 * 100vw, 30px);
  margin-bottom: min(12 / 1728 * 100vw, 12px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul li h3 {
    font-size: min(20 / 390 * 100vw, 20px);
    margin-top: min(20 / 390 * 100vw, 20px);
    margin-bottom: min(12 / 390 * 100vw, 12px);
  }
  .child_page .shop_list .shop_box ul li img {
    height: auto;
  }
  .child_page .shop_list .shop_box ul li p{
    height: auto;
  }
  .child_page .shop_list .shop_box ul li h3{
    height: auto;
  }
}
.child_page .shop_list .shop_box ul li .line_btn {
  width: min(257 / 1728 * 100vw, 257px);
  height: min(60 / 1728 * 100vw, 60px);
  margin: auto;
  margin-top: min(72 / 1728 * 100vw, 72px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul li .line_btn {
    width: min(257 / 390 * 100vw, 257px);
    height: min(60 / 390 * 100vw, 60px);
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .shop_list .shop_box ul li .line_btn a {
  border-radius: 20px;
  background: linear-gradient(180deg, #07C655 0%, #07C655 100%);
  position: relative;
  display: grid;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #FFF;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.01em;
  padding-left: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul li .line_btn a {
    font-size: min(24 / 390 * 100vw, 24px);
    padding-left: min(80 / 390 * 100vw, 80px);
  }
}
.child_page .shop_list .shop_box ul li .line_btn a::after {
  position: absolute;
  content: "";
  background: url(/wp-content/themes/excia/assets/img/line.png) no-repeat center/contain;
  width: min(60 / 1728 * 100vw, 60px);
  height: min(60 / 1728 * 100vw, 60px);
  inset: 0;
  margin: auto;
  margin-left: min(10 / 1728 * 100vw, 10px);
}
@media screen and (max-width: 769px) {
  .child_page .shop_list .shop_box ul li .line_btn a::after {
    width: min(60 / 390 * 100vw, 60px);
    height: min(60 / 390 * 100vw, 60px);
    margin-left: min(10 / 390 * 100vw, 10px);
  }
}
.child_page .whitening_ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  margin-top: min(80 / 1728 * 100vw, 80px);
  gap: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul {
    grid-template-columns: 1fr;
    gap: min(20 / 390 * 100vw, 20px);
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .whitening_ul li {
  width: min(440 / 1728 * 100vw, 440px);
  height: min(172 / 1728 * 100vw, 172px);
  position: relative;
  background: #FFF;
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.25);
  z-index: 0;
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul li {
    width: 100%;
    height: min(104 / 390 * 100vw, 104px);
  }
}
.child_page .whitening_ul li::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: #FFF3F7;
  inset: 0;
  margin: auto;
  z-index: -1;
}
.child_page .whitening_ul li .tag {
  text-align: center;
  padding-top: min(40 / 1728 * 100vw, 40px);
  color: #E26B91;
  text-align: center;
  font-family: "Marcellus", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul li .tag {
    padding-top: min(20 / 390 * 100vw, 20px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.child_page .whitening_ul li .main {
  padding-top: min(12 / 1728 * 100vw, 12px);
  text-align: center;
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(28 / 1728 * 100vw, 28px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul li .main {
    padding-top: min(8 / 390 * 100vw, 8px);
    font-size: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .w_svg {
  margin: auto;
  margin-top: min(80 / 1728 * 100vw, 80px);
  margin-bottom: min(60 / 1728 * 100vw, 60px);
}
@media screen and (max-width: 769px) {
  .child_page .w_svg {
    margin-top: min(40 / 390 * 100vw, 40px);
    margin-bottom: min(40 / 390 * 100vw, 40px);
    width: min(100 / 390 * 100vw, 100px);
    height: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .w_message {
  color: #000;
  text-align: center;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(48 / 1728 * 100vw, 48px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
  position: relative;
}
@media screen and (max-width: 769px) {
  .child_page .w_message {
    font-size: min(22 / 390 * 100vw, 22px);
  }
}
.child_page .w_message span {
  font-size: min(64 / 1728 * 100vw, 64px);
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
  background: linear-gradient(91deg, #FF9CC0 2.53%, #EF6592 105.12%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 769px) {
  .child_page .w_message span {
    font-size: min(28 / 390 * 100vw, 28px);
  }
}
.child_page .w_message .d_svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-top: min(81 / 1728 * 100vw, 81px);
  width: min(436 / 1728 * 100vw, 436px);
}
@media screen and (max-width: 769px) {
  .child_page .w_message .d_svg {
    width: min(200 / 390 * 100vw, 200px);
    margin-top: min(38 / 390 * 100vw, 38px);
  }
}
.child_page .w_message .d_svg02 {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-bottom: 0;
  width: min(993 / 1728 * 100vw, 993px);
}
@media screen and (max-width: 769px) {
  .child_page .w_message .d_svg02 {
    width: min(280 / 390 * 100vw, 280px);
    margin-top: min(77 / 390 * 100vw, 77px);
    margin-bottom: auto;
  }
}
@media screen and (max-width: 769px) {
  .child_page .w_message .d_svg03 {
    position: absolute;
    inset: 0;
    margin: auto;
    margin-bottom: 0;
    width: min(144 / 390 * 100vw, 144px);
    margin-bottom: min(8 / 390 * 100vw, 8px);
  }
}
.child_page .whitening_ul02 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  list-style: none;
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul02 {
    flex-direction: column;
    margin-top: 0;
  }
}
.child_page .whitening_ul02 .img {
  width: min(680 / 1728 * 100vw, 680px);
  height: min(440 / 1728 * 100vw, 440px);
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul02 .img {
    width: 100%;
    height: auto;
    margin-top: min(45 / 390 * 100vw, 45px);
  }
}
.child_page .whitening_ul02 .text {
  width: min(660 / 1728 * 100vw, 660px);
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul02 .text {
    width: 100%;
    margin-top: min(8 / 390 * 100vw, 8px);
  }
}
.child_page .whitening_ul02 .text p {
  padding-bottom: min(36 / 1728 * 100vw, 36px);
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .whitening_ul02 .text p {
    padding-bottom: 0;
    padding-top: min(20 / 390 * 100vw, 20px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.child_page .whitening_ul02 .text p .dots {
  background-image: radial-gradient(circle at center, #E26B91 25%, transparent 25%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 0.8em 0.3em;
  padding-top: 0.3em;
}
.child_page .whitening_ul02 .text p .mark {
  background: #E26B91;
  color: #fff;
}
.child_page .faq {
  padding-top: min(160 / 1728 * 100vw, 160px);
  padding-bottom: min(160 / 1728 * 100vw, 160px);
}
@media screen and (max-width: 769px) {
  .child_page .faq {
    padding-top: min(60 / 390 * 100vw, 60px);
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .faq .question {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question {
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .faq .question .toggle {
  position: relative;
  width: 100%;
  cursor: pointer;
  font-weight: bold;
  text-align: left;
  border: none;
  background: #FDE9F1;
  padding-left: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .toggle {
    padding-left: min(72 / 390 * 100vw, 72px);
  }
}
.child_page .faq .question .toggle::after {
  position: absolute;
  content: "";
  background: url(/wp-content/themes/excia/assets/img/q.png) no-repeat center/contain;
  width: min(58 / 1728 * 100vw, 58px);
  height: min(58 / 1728 * 100vw, 58px);
  inset: 0;
  margin: auto;
  margin-left: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .toggle::after {
    width: min(32 / 390 * 100vw, 32px);
    height: min(32 / 390 * 100vw, 32px);
    margin-left: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .faq .question .toggle::before {
  position: absolute;
  content: "";
  width: min(20 / 1728 * 100vw, 20px);
  height: min(20 / 1728 * 100vw, 20px);
  border-bottom: 2px solid #E26B91;
  border-right: 2px solid #E26B91;
  inset: 0;
  margin: auto;
  margin-right: min(40 / 1728 * 100vw, 40px);
  transform: rotate(45deg);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .toggle::before {
    width: min(12 / 390 * 100vw, 12px);
    height: min(12 / 390 * 100vw, 12px);
    margin-right: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .faq .question .toggle p {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(28 / 1728 * 100vw, 28px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.01em;
  padding-top: min(22 / 1728 * 100vw, 22px);
  padding-bottom: min(22 / 1728 * 100vw, 22px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .toggle p {
    width: min(200 / 390 * 100vw, 200px);
    padding-top: min(12 / 390 * 100vw, 12px);
    padding-bottom: min(12 / 390 * 100vw, 12px);
    font-size: min(18 / 390 * 100vw, 18px);
  }
}
.child_page .faq .question .answer {
  position: relative;
  display: none;
  width: min(1320 / 1728 * 100vw, 1320px);
  padding-top: min(40 / 1728 * 100vw, 40px);
  padding-left: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .answer {
    padding-left: min(72 / 390 * 100vw, 72px);
    width: 100%;
    padding-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page .faq .question .answer::after {
  position: absolute;
  content: "";
  background: url(/wp-content/themes/excia/assets/img/a.png) no-repeat center/contain;
  width: min(58 / 1728 * 100vw, 58px);
  height: min(58 / 1728 * 100vw, 58px);
  inset: 0;
  margin: auto;
  margin-top: min(40 / 1728 * 100vw, 40px);
  margin-left: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page .faq .question .answer::after {
    width: min(32 / 390 * 100vw, 32px);
    height: min(32 / 390 * 100vw, 32px);
    margin-top: min(30 / 390 * 100vw, 30px);
    margin-left: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .faq .question .answer p {
  font-weight: bold;
}
.child_page .news {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 769px) {
  .child_page .news {
    padding-top: 0;
  }
}
.child_page .news .news_contents {
  margin-top: 0;
}
.child_page .privacypolicy_box {
  margin-bottom: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .privacypolicy_box {
    margin-bottom: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .privacypolicy_box p {
  margin-top: min(30 / 1728 * 100vw, 30px);
}
@media screen and (max-width: 769px) {
  .child_page .privacypolicy_box p {
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .voice_ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: min(120 / 1728 * 100vw, 120px);
  gap: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul {
    grid-template-columns: 1fr;
    margin-top: min(60 / 390 * 100vw, 60px);
    gap: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .voice_ul li {
  background: #FFF;
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.16);
  width: min(440 / 1728 * 100vw, 440px);
  height: min(530 / 1728 * 100vw, 530px);
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li {
    width: min(280 / 390 * 100vw, 280px);
    margin: auto;
    height: min(390 / 390 * 100vw, 390px);
  }
}
.child_page .voice_ul li img {
  width: 100%;
  height: min(280 / 1728 * 100vw, 280px);
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li img {
    height: min(180 / 390 * 100vw, 180px);
  }
}
.child_page .voice_ul li h3 {
  margin: min(20 / 1728 * 100vw, 20px) 0;
  margin-bottom: min(16 / 390 * 100vw, 16px);
  margin-left: min(30 / 1728 * 100vw, 30px);
  padding-left: min(28 / 1728 * 100vw, 28px);
  border-left: #E26B91 8px solid;
  color: #282828;
  font-family: "A-OTF Ryumin Pr6N";
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li h3 {
    margin: min(20 / 390 * 100vw, 20px) 0;
    margin-left: min(20 / 390 * 100vw, 20px);
    padding-left: min(12 / 390 * 100vw, 12px);
    font-size: min(20 / 390 * 100vw, 20px);
    border-left: #E26B91 4px solid;
  }
}
.child_page .voice_ul li p {
  width: min(380 / 1728 * 100vw, 380px);
  margin: auto;
  font-weight: bold;
  margin-top: min(20 / 1728 * 100vw, 20px);
  font-size: min(24 / 1728 * 100vw, 24px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li p {
    font-size: min(18 / 390 * 100vw, 18px);
    margin-left: min(32 / 390 * 100vw, 32px);
    margin-top: min(8 / 390 * 100vw, 8px);
    width: min(210 / 390 * 100vw, 210px);
  }
}
.child_page .voice_ul li .text_btn {
  text-align: right;
  padding-right: min(47 / 1728 * 100vw, 47px);
  margin-top: min(30 / 1728 * 100vw, 30px);
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li .text_btn {
    padding-right: min(30 / 390 * 100vw, 30px);
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .voice_ul li .text_btn a {
  position: relative;
  display: block;
}
.child_page .voice_ul li .text_btn a svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-right: max(-20 / 1728 * 100vw, -20px);
}
@media screen and (max-width: 769px) {
  .child_page .voice_ul li .text_btn a svg {
    margin-right: max(-15 / 390 * 100vw, -15px);
  }
}
.child_page .company_ul {
  display: flex;
  justify-content: space-between;
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .company_ul {
    flex-direction: column;
    margin-top: 0;
  }
}
.child_page .company_ul .img {
  width: min(600 / 1728 * 100vw, 600px);
  height: min(660 / 1728 * 100vw, 660px);
}
@media screen and (max-width: 769px) {
  .child_page .company_ul .img {
    width: 100%;
    height: auto;
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .company_ul .text {
  width: min(720 / 1728 * 100vw, 720px);
}
@media screen and (max-width: 769px) {
  .child_page .company_ul .text {
    width: 100%;
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page .company_ul .text h3 {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(48 / 1728 * 100vw, 48px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  margin-bottom: min(48 / 1728 * 100vw, 48px);
}
@media screen and (max-width: 769px) {
  .child_page .company_ul .text h3 {
    font-size: min(22 / 390 * 100vw, 22px);
    margin-bottom: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .company_ul .text p {
  color: #3E4448;
}
.child_page .company_ul .text .c_name {
  text-align: right;
  padding-right: min(80 / 1728 * 100vw, 80px);
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  margin-top: 8px;
}
@media screen and (max-width: 769px) {
  .child_page .company_ul .text .c_name {
    padding-right: 0;
    font-size: min(18 / 390 * 100vw, 18px);
  }
}
.child_page .company_ul .text .name {
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(28 / 1728 * 100vw, 28px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  text-align: right;
}
@media screen and (max-width: 769px) {
  .child_page .company_ul .text .name {
    font-size: min(24 / 390 * 100vw, 24px);
  }
}
.child_page .page_statement {
  background: url(/wp-content/themes/excia/assets/img/page_bg.png) no-repeat center/cover;
  margin-top: min(160 / 1728 * 100vw, 160px);
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  .child_page .page_statement {
    margin-top: min(20 / 390 * 100vw, 20px);
    padding: min(60 / 390 * 100vw, 60px) 0;
  }
}
.child_page .page_statement .statement_contents {
  background: #fff;
  width: 100%;
  margin-top: min(80 / 1728 * 100vw, 80px);
  padding: 0 min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .page_statement .statement_contents {
    margin-top: min(40 / 390 * 100vw, 40px);
    padding: 0 min(30 / 390 * 100vw, 30px);
  }
}
.child_page .page_statement .statement_contents li {
  display: flex;
  justify-content: flex-start;
  gap: min(110 / 1728 * 100vw, 110px);
  align-items: center;
  padding-top: min(80 / 1728 * 100vw, 80px);
  padding-bottom: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .page_statement .statement_contents li {
    flex-direction: column;
    align-items: baseline;
    gap: 0;
    padding: min(30 / 390 * 100vw, 30px) 0;
  }
}
.child_page .page_statement .statement_contents li h3 {
  width: min(280 / 1728 * 100vw, 280px);
  color: #3E4448;
  font-family: "Marcellus", serif;
  font-size: min(64 / 1728 * 100vw, 64px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 769px) {
  .child_page .page_statement .statement_contents li h3 {
    width: 100%;
    font-size: min(32 / 390 * 100vw, 32px);
    text-align: left;
  }
}
.child_page .page_statement .statement_contents li p {
  width: min(830 / 1728 * 100vw, 830px);
  color: #3E4448;
  font-size: min(36 / 1728 * 100vw, 36px);
  font-style: normal;
  line-height: 1.6em;
}
@media screen and (max-width: 769px) {
  .child_page .page_statement .statement_contents li p {
    width: 100%;
    font-size: min(20 / 390 * 100vw, 20px);
    margin-top: min(16 / 390 * 100vw, 16px);
    letter-spacing: 0;
  }
}
.child_page .page_statement .statement_contents .li_boder {
  border-top: 1px solid #b4b4b4;
  border-bottom: 1px solid #b4b4b4;
}
@media screen and (max-width: 769px) {
  .child_page .page_statement .statement_contents .w_none {
    width: 110%;
  }
}
.child_page .company_contents {
  padding: min(160 / 1728 * 100vw, 160px) 0;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents {
    padding-top: min(80 / 390 * 100vw, 80px);
    padding-bottom: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .company_contents .section_title {
  margin-bottom: min(44 / 1728 * 100vw, 44px);
}
.child_page .company_contents .company_list {
  display: flex;
  justify-content: flex-start;
  width: min(1000 / 1728 * 100vw, 1000px);
  margin: auto;
  padding: min(36 / 1728 * 100vw, 36px) 0 min(28 / 1728 * 100vw, 28px) 0;
  border-bottom: 1px solid #D2D2D3;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .company_list {
    padding-top: min(30 / 390 * 100vw, 30px);
    padding-bottom: min(12 / 390 * 100vw, 12px);
    flex-direction: column;
    width: 100%;
  }
}
.child_page .company_contents .company_list .title {
  width: min(360 / 1728 * 100vw, 360px);
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: 600;
  line-height: 1.6em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .company_list .title {
    width: 100%;
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.child_page .company_contents .company_list .text {
  width: min(640 / 1728 * 100vw, 640px);
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 390 * 100vw, 20px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.6em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .company_list .text {
    width: 100%;
  }
}
@media screen and (max-width: 769px) and (max-width: 769px) {
  .child_page .company_contents .company_list .text {
    font-size: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .company_contents .company_list .text iframe {
  height: min(420 / 1728 * 100vw, 420px);
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .company_list .text iframe {
    height: min(240 / 390 * 100vw, 240px);
    margin-top: 1em;
  }
}
.child_page .company_contents .b_none {
  border: none;
}
.child_page .after_h2 {
  position: relative;
  z-index: 0;
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .after_h2 {
    margin-top: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .after_h2::after {
  position: absolute;
  content: "MESSAGE";
  width: min(840 / 1728 * 100vw, 840px);
  height: min(195 / 1728 * 100vw, 195px);
  color: #FED8E5;
  font-family: "Marcellus", serif;
  font-size: min(160 / 1728 * 100vw, 160px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.12em;
  inset: 0;
  margin: auto;
  z-index: -1;
}
@media screen and (max-width: 769px) {
  .child_page .after_h2::after {
    letter-spacing: 0;
    width: 100%;
    height: min(96 / 390 * 100vw, 96px);
    font-size: min(70 / 390 * 100vw, 70px);
  }
}
.child_page .child_page_contents_img01 {
  margin-top: min(899 / 1728 * 100vw, 899px);
}
@media screen and (max-width: 769px) {
  .child_page .child_page_contents_img01 {
    margin-top: min(437 / 390 * 100vw, 437px);
  }
}
.child_page .career_ul {
  width: min(1000 / 1728 * 100vw, 1000px);
  margin: auto;
  margin-top: min(127 / 1728 * 100vw, 127px);
}
@media screen and (max-width: 769px) {
  .child_page .career_ul {
    width: 100%;
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .career_ul img {
  width: 100%;
  height: auto;
}
.child_page .career_ul h3 {
  color: #282828;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(48 / 1728 * 100vw, 48px);
  font-style: normal;
  font-weight: 400;
  position: relative;
  line-height: 1.8em;
  text-align: center;
  margin-top: min(80 / 1728 * 100vw, 80px);
  z-index: 0;
  margin-bottom: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .career_ul h3 {
    font-size: min(22 / 390 * 100vw, 22px);
    margin-bottom: min(30 / 390 * 100vw, 30px);
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page .career_ul h3::after {
  position: absolute;
  content: "";
  width: min(680 / 1728 * 100vw, 680px);
  height: min(12 / 1728 * 100vw, 12px);
  background: linear-gradient(90deg, #FFE1EC 0%, #EEA8BE 100.66%);
  inset: 0;
  margin: auto;
  margin-bottom: min(15 / 1728 * 100vw, 15px);
  z-index: -1;
}
@media screen and (max-width: 769px) {
  .child_page .career_ul h3::after {
    width: min(303 / 390 * 100vw, 303px);
    height: min(8 / 390 * 100vw, 8px);
    margin-bottom: min(8 / 390 * 100vw, 8px);
  }
}
.child_page .career_ul .c_name {
  text-align: right;
  padding-right: min(80 / 1728 * 100vw, 80px);
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  margin-top: 8px;
}
@media screen and (max-width: 769px) {
  .child_page .career_ul .c_name {
    padding-right: 0;
    font-size: min(18 / 390 * 100vw, 18px);
  }
}
.child_page .career_ul .name {
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(28 / 1728 * 100vw, 28px);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  text-align: right;
}
@media screen and (max-width: 769px) {
  .child_page .career_ul .name {
    font-size: min(24 / 390 * 100vw, 24px);
  }
}
.child_page .interview .interview_ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(40 / 1728 * 100vw, 40px);
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
  }
}
.child_page .interview .interview_ul li {
  width: min(440 / 1728 * 100vw, 440px);
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul li {
    width: 100%;
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .interview .interview_ul li img {
  width: 100%;
  height: min(280 / 1728 * 100vw, 280px);
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul li img {
    height: min(220 / 390 * 100vw, 220px);
  }
}
.child_page .interview .interview_ul li p {
  margin-top: min(30 / 1728 * 100vw, 30px);
  font-size: min(24 / 1728 * 100vw, 24px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul li p {
    margin-top: min(30 / 390 * 100vw, 30px);
    margin-bottom: min(20 / 390 * 100vw, 20px);
    font-size: min(20 / 390 * 100vw, 20px);
  }
}
.child_page .interview .interview_ul li .s_p {
  margin-top: min(30 / 1728 * 100vw, 30px);
  font-size: min(18 / 1728 * 100vw, 18px);
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul li .s_p {
    margin-top: min(20 / 390 * 100vw, 20px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.child_page .interview .interview_ul li .text_btn {
  margin-top: min(30 / 1728 * 100vw, 30px);
  text-align: right;
  padding-right: min(17 / 1728 * 100vw, 17px);
  font-size: min(16 / 1728 * 100vw, 16px);
  color: #323232;
}
@media screen and (max-width: 769px) {
  .child_page .interview .interview_ul li .text_btn {
    padding-right: min(20 / 390 * 100vw, 20px);
    font-size: min(12 / 390 * 100vw, 12px);
    margin-top: min(30 / 390 * 100vw, 30px);
  }
}
.child_page .interview .interview_ul li .text_btn a {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}
.child_page .interview .interview_ul li .text_btn a svg {
  position: absolute;
  inset: 0;
  margin: auto;
  margin-right: -17px;
}
.child_page .benefit {
  background: url(/wp-content/themes/excia/assets/img/page_bg.png) no-repeat center/cover;
  padding: min(120 / 1728 * 100vw, 120px) 0;
  margin-top: min(160 / 1728 * 100vw, 160px);
}
@media screen and (max-width: 769px) {
  .child_page .benefit {
    padding: min(60 / 390 * 100vw, 60px) 0;
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .benefit_ul {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(40 / 1728 * 100vw, 40px);
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .benefit_ul {
    grid-template-columns: 1fr;
    gap: min(40 / 390 * 100vw, 40px);
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.child_page .benefit_ul li {
  width: min(440 / 1728 * 100vw, 440px);
  height: min(426 / 1728 * 100vw, 426px);
}
@media screen and (max-width: 769px) {
  .child_page .benefit_ul li {
    width: 100%;
    height: min(322 / 390 * 100vw, 322px);
  }
}
.child_page .benefit_ul li img {
  width: 100%;
  height: auto;
}
.child_page .company_contents .title {
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(18 / 1728 * 100vw, 18px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .title {
    font-size: min(18 / 390 * 100vw, 18px);
    margin-bottom: 1em;
  }
}
.child_page .company_contents .text {
  color: #000;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(20 / 1728 * 100vw, 20px);
  font-style: normal;
  font-weight: bold;
  line-height: 1.8em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .text {
    font-size: min(18 / 390 * 100vw, 18px);
    padding-bottom: 1em;
  }
}
.child_page .company_contents .btn {
  margin-top: min(80 / 1728 * 100vw, 80px);
}
@media screen and (max-width: 769px) {
  .child_page .company_contents .btn {
    margin-top: min(60 / 390 * 100vw, 60px);
  }
}
.child_page .company_contents .btn a {
  border: 1px solid #000;
}

.contact_page {
  padding-top: min(100 / 1728 * 100vw, 100px);
  padding-bottom: min(160 / 1728 * 100vw, 160px);
}
@media screen and (max-width: 769px) {
  .contact_page {
    padding-top: 0;
    padding-bottom: min(80 / 390 * 100vw, 80px);
  }
}
.contact_page .page_p {
  text-align: center;
  font-weight: bold;
  margin-bottom: min(40 / 1728 * 100vw, 40px);
}
@media screen and (max-width: 769px) {
  .contact_page .page_p {
    margin-bottom: min(40 / 390 * 100vw, 40px);
    margin-top: min(40 / 390 * 100vw, 40px);
    text-align: left;
  }
}
.contact_page .contact_list {
  display: flex;
  justify-content: flex-start;
  padding-top: min(40 / 1728 * 100vw, 40px);
  padding-bottom: min(40 / 1728 * 100vw, 40px);
  gap: min(60 / 1728 * 100vw, 60px);
  border-bottom: 1px solid #ccd1d8;
  width: min(1160 / 1728 * 100vw, 1160px);
  margin: auto;
  align-items: center;
}
@media screen and (max-width: 769px) {
  .contact_page .contact_list {
    flex-direction: column;
    padding-top: min(20 / 390 * 100vw, 20px);
    padding-bottom: min(20 / 390 * 100vw, 20px);
    gap: 0 min(20 / 390 * 100vw, 20px);
    width: 100%;
    align-items: baseline;
  }
}
.contact_page .contact_list .contact_name {
  width: min(340 / 1728 * 100vw, 340px);
  padding-right: min(94 / 1728 * 100vw, 94px);
  font-size: min(22 / 1728 * 100vw, 22px);
  font-weight: 600;
  font-family: "Marcellus", serif;
  text-align: right;
  position: relative;
}
@media screen and (max-width: 769px) {
  .contact_page .contact_list .contact_name {
    width: auto;
    display: inline-block;
    padding-right: 0;
    text-align: left;
    margin-bottom: min(20 / 390 * 100vw, 20px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}
.contact_page .contact_list .contact_name::after {
  position: absolute;
  content: "必須";
  width: min(61 / 1728 * 100vw, 61px);
  height: min(34 / 1728 * 100vw, 34px);
  background: #ECA4BB;
  color: #fff;
  font-family: "Marcellus", serif;
  font-size: min(18 / 1728 * 100vw, 18px);
  letter-spacing: 0.01em;
  text-align: center;
  inset: 0;
  margin: auto;
  margin-right: 0;
}
@media screen and (max-width: 769px) {
  .contact_page .contact_list .contact_name::after {
    width: min(42 / 390 * 100vw, 42px);
    height: min(23 / 390 * 100vw, 23px);
    font-size: min(16 / 390 * 100vw, 16px);
    margin-right: max(-64 / 390 * 100vw, -64px);
  }
}
.contact_page .contact_list .contact_name01::after {
  content: "任意";
  background: #6e6e6e;
}
.contact_page .contact_list .contact_content {
  width: min(700 / 1728 * 100vw, 700px);
  background: #f2f2f2;
  padding: min(20 / 1728 * 100vw, 20px);
}
@media screen and (max-width: 769px) {
  .contact_page .contact_list .contact_content {
    width: 100%;
    padding: min(15 / 390 * 100vw, 15px);
  }
}
.contact_page .contact_none {
  border: none;
  align-items: flex-start;
  margin-bottom: 80px;
}
span.wpcf7-list-item.first span.wpcf7-list-item-label{
  padding:0.5em 0.8em;
  line-height: 1.3em;
}
.thanks_page {
  padding-bottom: min(160 / 1728 * 100vw, 160px);
}
.contact_page .btn{
  position: relative;
}
.contact_page .btn svg{
  position: absolute;
  inset: 0;
  margin: auto;
  margin-right: 1.5em;
  margin-top: 1.8em;
}

@media screen and (max-width: 769px) {
  .thanks_page {
    padding-bottom: min(80 / 390 * 100vw, 80px);
  }
  .contact_page .contact_none {
    margin-bottom: 40px;
  }
}
.thanks_page p {
  text-align: center;
  font-size: min(18 / 1728 * 100vw, 18px);
  padding-bottom: min(120 / 1728 * 100vw, 120px);
}
@media screen and (max-width: 769px) {
  .thanks_page p {
    text-align: left;
    font-size: min(16 / 390 * 100vw, 16px);
    padding-bottom: min(40 / 390 * 100vw, 40px);
  }
}
.thanks_page .thanks_p {
  padding-top: min(120 / 1728 * 100vw, 120px);
  padding-bottom: min(80 / 1728 * 100vw, 80px);
  font-size: min(36 / 1728 * 100vw, 36px);
  font-weight: bold;
  font-family: "a-otf-ryumin-pr6n", serif;
  text-align: center;
}
@media screen and (max-width: 769px) {
  .thanks_page .thanks_p {
    padding-top: min(40 / 390 * 100vw, 40px);
    padding-bottom: min(30 / 390 * 100vw, 30px);
    font-size: min(16 / 390 * 100vw, 16px);
    text-align: left;
  }
}
.single_page{
  padding-top: 1.5em;
  padding-bottom: 160px;
}

.single_page h1{
  font-family: "a-otf-ryumin-pr6n", serif;
  font-weight: bold;
  letter-spacing: 0.01em;
  font-size: min(36 / 1728 * 100vw, 36px);
  padding-left: min(20 / 1728 * 100vw, 20px);
  color: #282828;
  border-left: 8px solid #E26B91;
}
.single_page img{
  width: 100%;
  height: auto;
  margin: 2em 0;
}
.single_page_contents h2{
  padding-bottom: 1em;
  padding-top: 1em;
}
.single_page_contents p{
  padding-bottom: 1em;
}

.single_page .btn{
  margin-top: 2em;
  margin-bottom: 2em;
}
.single_page .btn a{
  border: 1px solid #000;
}
.shop_single_page{
  width: min(1400 / 1728 * 100vw, 1400px);
  gap: min(40 / 1728 * 100vw, 40px);
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
}
.shop_single_page .page_inner{
  width: min(1040 / 1728 * 100vw, 1040px);
}
#sidebar{
  width: min(320 / 1728 * 100vw, 320px);
}
#sidebar img{
  width: 100%;
  height: auto;
}
.shop_single_page .page_inner h2{
  color: #282828;
  font-size: min(28 / 1728 * 100vw, 28px);
  width: 100%;
  border-bottom: 2px solid #E7E7E7;
  position: relative;
  margin-top: 2em;
  margin-bottom: 1em;
}
.shop_single_page .page_inner{
  width: 100%;
}
.shop_single_page .page_inner p{
  margin-bottom: 1em;
}
.shop_single_page .page_inner h2::after{
  position: absolute;
  content: "";
  height: 2px;
  width: 80px;
  background: #ECA4BB;
  inset: 0;
  margin: auto;
  margin-bottom: -2px;
  margin-left: 0;
}
.map_shop{
  width:100%;
  height: min(672 / 1728 * 100vw, 672px);
}
@media screen and (max-width: 769px) {
  .single_page{
    padding-bottom: 80px;
  }
  .single_page h1{
    font-size: min(22 / 390 * 100vw, 22px);
    border-left: 4px solid #E26B91;
    padding-left: min(12 / 390 * 100vw, 12px);
  }
  .shop_single_page{
    width: min(340 / 390 * 100vw, 340px);
  }
  #sidebar{
    display: none;
  }
  .shop_single_page .page_inner h2{
    font-size: min(18 / 390 * 100vw, 18px);
  }
  .shop_single_page .page_inner h2::after{
    width: 26px;
  }
  .map_shop{
    width:100%;
    height: min(220 / 390 * 100vw, 220px);
  }
  .single_page_contents img{
    width: 100%!important;
    height: auto;
  }
}
.shop_single_page .line_btn {
  width: min(390 / 1728 * 100vw, 390px);
  height: min(80 / 1728 * 100vw, 80px);
  margin: auto;
  margin-top: min(72 / 1728 * 100vw, 72px);
}
@media screen and (max-width: 769px) {
  .shop_single_page .line_btn {
    width: min(320 / 390 * 100vw, 320px);
    height: min(60 / 390 * 100vw, 60px);
    margin-top: min(40 / 390 * 100vw, 40px);
  }
}
.shop_single_page .line_btn a {
  border-radius: 20px;
  background: linear-gradient(180deg, #07C655 0%, #07C655 100%);
  position: relative;
  display: grid;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #FFF;
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: min(24 / 1728 * 100vw, 24px);
  font-style: normal;
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 769px) {
  .shop_single_page .line_btn a {
    font-size: min(18 / 390 * 100vw, 18px);
  }
}
input[type=checkbox] {
  display: none;
}
span.wpcf7-form-control.wpcf7-checkbox{
  width: min(700 / 1728 * 100vw, 700px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: min(18 / 1728 * 100vw, 18px);
}
span.wpcf7-list-item-label{
  width: min(150 / 1728 * 100vw,150px);
  display: block;
  border: 1px solid #3E4448;
  text-align: center;
  font-size: min(16 / 1728 * 100vw,16px);
  padding: 1em 0;
  border-radius: 4px;
  transition: .5s ease;
}
input[type=checkbox]:checked+span.wpcf7-list-item-label{
  background: #3E4448;
  color: #fff;
}
input[type=text],input[type=email],input[type=tel],textarea{
  width: 100%;
  height: 100%;
  background: #F2F2F2;
}
.thanks_p {
  padding-top: min(160 / 1728 * 100vw, 160px);
  padding-bottom: min(328 / 1728 * 100vw, 328px);
  font-size: min(36 / 1728 * 100vw, 36px);
  font-weight: 500;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
}
.wpcf7-list-item{
  margin: 0!important;
}
.wpcf7-spinner{
  display: none!important;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner{
  width: 100%;
  height: 100%;
  padding: 1em 0;
  background: #fff;
  border: 1px solid #000;
}
@media screen and (max-width: 769px) {
  .thanks_p {
    padding-top: min(60 / 390 * 100vw, 60px);
    padding-bottom: min(192 / 390 * 100vw, 192px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
  span.wpcf7-form-control.wpcf7-checkbox{
    width: min(340 / 390 * 100vw, 340px);
    margin: auto;
    grid-template-columns: 1fr 1fr;
    gap: min(20 / 390 * 100vw, 20px);
  }
  span.wpcf7-list-item-label{
    width: min(160 / 390 * 100vw, 160px);
    font-size: min(16 / 390 * 100vw, 16px);
  }
}

.footer-cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 131px;
    z-index: 1000;
    background-color: rgba(236, 164, 187, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media screen and (max-width: 769px) {
  .footer-cta{
    height: 91px;
  }
}

.footer-cta.is-show {
    opacity: 1;
    visibility: visible;
}

.footer-cta__image {
    width: 427px;
    height: 121px;
}
@media screen and (max-width: 769px) {
  .footer-cta__image{
    width: 275px;
    height: 70px;
  }
}

.footer-cta__image--shop{
      width: 355px;
    height: 120px;
}
@media screen and (max-width: 769px) {
  .footer-cta__image--shop{
    width: 195px;
    height: 66px;
  }
}

.footer-cta__link {
  position: relative;
  display: inline-block;
  overflow: hidden; /* ← これが重要！ */
  border-radius: 70px; /* ボタン自体の角丸（必要に応じて） */
}

.footer-cta__link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  opacity: 0;
  pointer-events: none;
  border-radius: 70px;
}

.footer-cta__link.shine-active::before {
  animation: shine 0.5s ease-in-out;
  opacity: 1;
}







.child-rank {
	background-color: #FFE0EB;
	color: #000;
	padding: 3.25rem 0 2.375rem;
	text-align: center;
}

.child-rank__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
	padding: 0 1.5625rem;
}

.child-rank__title {
	font-family: "A-OTF Ryumin Pr6", serif;
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.01em;
	line-height: 1.5416666667;
}

.child-rank__list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1.875rem;
}

.child-rank__item {
	background-color: #fff;
	border: solid 1px #E26B91;
	border-radius: 0.25rem;
	padding: 1.875rem 1.5625rem 2.3125rem;
	width: 100%;
}

.child-rank__icon {
	margin-left: auto;
	margin-right: auto;
	width: 59.205%;
}

.child-rank__icon img {
	-o-object-fit: cover;
	aspect-ratio: 148/157;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.child-rank__subtitle {
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: 0.01em;
	line-height: 2;
	margin-top: 0.625rem;
}

.child-rank__text {
	border-top: solid 1px #E1E1E1;
	color: #4f4f4f;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.01em;
	line-height: 2;
	margin-top: 0.3125rem;
	padding-top: 1.125rem;
	text-align: left;
}

.child-rank__remarks {
	color: #2b2b2b;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.6666666667;
	margin-top: 1.25rem;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

@media screen and (min-width: 768px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.child-rank {
	padding: 5.3125rem 0 1.375rem;
}

.child-rank__inner {
	max-width: 66.25rem;
	padding: 0;
}

.child-rank__title {
	font-size: 2.25rem;
	line-height: 2;
}

.child-rank__list {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 5rem;
	margin-top: 3.4375rem;
}

.child-rank__item {
	margin: 0;
	max-width: calc(33.3333% - 3.3333333333rem);
}

.child-rank__remarks {
	line-height: 2;
}

.inner {
	max-width: 1270px;
	padding-left: 25px;
	padding-right: 25px;
}

}









@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}

/* 404 リダイレクト画面 */
.p-contact-complete {
    padding: 120px 20px;
    text-align: center;
}

.contact-complete-content {
    display: flex;
    justify-content: center;
    margin-top: 80px;
}

.contact-complete-content-wrap {
    padding-top: 80px;
    width: 100%;
    max-width: 800px;
}

.contact-complete-content-text {
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 1.8;
}

.contact-complete-content-top-link {
    display: inline-block;
    font-size: 18px;
}


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