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

/* 上の reset は font: inherit で font-weight まで親から継承させるため、
   エディタで太字にした strong / b が太字にならない。太字だけ復元する。 */
strong,
b {
  font-weight: bold;
}

/*HTML5display-roleresetforolderbrowsers*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-sub-black: #353535;
  --color-sub-black-2: #9b9b9b;
  --color-main: #c67f9b;
  --color-sub: #b294c0;
  --color-text: #5c4b52;
  --color-label: #d28ea7;
  --color-label-text: #ffffff;
  --color-button: #d28ea7;
  --color-button-text: #ffffff;
  --color-label-new: #c67f9b;
  --color-bg-emph: rgba(210, 142, 167, 0.05);
  --color-background: #fffbfa;
  --color-mask: rgba(255, 255, 255, 0.6);
  --gradient-main: linear-gradient(
    90deg,
    #d9a3b7 0%,
    #f0c8d6 50%,
    #d9a3b7 100%
  );
  --shadow-white: 0 0 4px #ffffff;
  --shadow-black: 0 0 5px #000000;
  --shadow-box: rgba(255, 255, 255, 1);
}

@font-face {
  font-family: "Quicksand";
  font-weight: 400 600;
  src: url("../fonts/Quicksand-Variable.woff2") format("woff2");
  font-display: swap;
}
body {
  width: 100%;
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-style: normal;
  color: var(--color-text);
  background-color: var(--color-background);
  font-size: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  position: relative;
  z-index: 1;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.no__scroll {
  overflow: hidden;
}

body,
html {
  width: 100%;
  scrollbar-gutter: stable;
  overscroll-behavior-y: contain;
  line-height: 1.15;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

p,
span {
  line-height: 1.5;
  font-weight: 400;
  font-size: 1.1805555556vw;
}
@media (min-width: 1920px) {
  p,
  span {
    font-size: 22.6666666667px;
  }
}
@media (max-width: 767px) {
  p,
  span {
    font-size: 3.9113428944vw;
  }
}

a,
li,
dt,
dd,
div,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
button {
  letter-spacing: 0.03em;
  line-height: 1em;
  font-weight: 400;
}

:focus:not(:fous-visible) {
  outline: none;
}

:focus-visible {
  outline: 1px solid var(--color-main);
}

summary {
  outline: none;
}

a {
  color: var(--color-main);
  text-decoration: none;
  word-break: break-all;
}

a,
p,
div,
li,
dd,
dt {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.isChrome * {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: optimize-contrast;
}

img,
svg {
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

img,
svg {
  pointer-events: none;
}

.disabled {
  cursor: default !important;
}

.disabled a {
  cursor: default !important;
}

._disabled {
  pointer-events: none !important;
}

.is_pc .device_sp {
  display: none !important;
}

.is_sp .device_pc {
  display: none !important;
}

.is__pc {
  display: block;
}
@media not screen and (min-width: 768px) {
  .is__pc {
    display: none;
  }
}

.is__sp {
  display: none;
}
@media not screen and (min-width: 768px) {
  .is__sp {
    display: block;
  }
}

::selection {
  background: var(--color-button);
  color: var(--color-button-text);
}

.unselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  touch-callout: none;
  user-select: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: none;
  border: none;
  -moz-outline-style: none;
  outline: none !important;
}

option {
  color: var(--color-black);
}

summary {
  display: block;
}

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

select,
option,
input,
textarea {
  color: var(--color-black);
}

::placeholder {
  color: var(--color-line-gray);
}

._nowrap {
  white-space: nowrap;
}

::-webkit-scrollbar {
  width: 8px;
}
@media not screen and (min-width: 768px) {
  ::-webkit-scrollbar {
    width: 2.0860495437vw;
    height: 2.0860495437vw;
  }
}

::-webkit-scrollbar-track {
  border-radius: 4px;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  background-color: var(--color-white);
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-main);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0);
}

/* box */
.box {
  width: 71.1111111111vw;
}
@media (min-width: 1920px) {
  .box {
    width: 1365.3333333333px;
  }
}
@media (max-width: 767px) {
  .box {
    width: 96.479791395vw;
  }
}
.box {
  display: block;
  margin: 0 auto;
}

/* heading__container : 英字(Quicksand)+ 和文(丸ゴシック・大) の2段見出し */
.heading__container {
  position: relative;
  margin-bottom: 3.8888888889vw;
}
@media (min-width: 1920px) {
  .heading__container {
    margin-bottom: 74.6666666667px;
  }
}
@media (max-width: 767px) {
  .heading__container {
    margin-bottom: 9.3872229465vw;
  }
}
.heading__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
.heading__container h1,
.heading__container h2 {
  position: relative;
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .heading__container h1,
  .heading__container h2 {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .heading__container h1,
  .heading__container h2 {
    font-size: 3.3898305085vw;
  }
}
.heading__container h1,
.heading__container h2 {
  letter-spacing: 0.4166666667vw;
}
@media (min-width: 1920px) {
  .heading__container h1,
  .heading__container h2 {
    letter-spacing: 8px;
  }
}
@media (max-width: 767px) {
  .heading__container h1,
  .heading__container h2 {
    letter-spacing: 1.0430247718vw;
  }
}
.heading__container h1,
.heading__container h2 {
  color: var(--color-main);
  line-height: 1;
  text-align: center;
  font-weight: 400;
  text-indent: 0.4em;
  width: fit-content;
  margin: 0 auto;
  text-shadow: 0 0 1.25vw rgba(255, 255, 255, 0.95);
}
.heading__container h1 {
  margin-bottom: 0;
}
.heading__container p {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .heading__container p {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  .heading__container p {
    font-size: 5.7366362451vw;
  }
}
.heading__container p {
  letter-spacing: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .heading__container p {
    letter-spacing: 10.6666666667px;
  }
}
@media (max-width: 767px) {
  .heading__container p {
    letter-spacing: 1.3037809648vw;
  }
}
.heading__container p {
  margin-top: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .heading__container p {
    margin-top: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .heading__container p {
    margin-top: 2.6075619296vw;
  }
}
.heading__container p {
  color: var(--color-main);
  line-height: 1.4;
  text-align: center;
  text-indent: 0.4em;
  text-shadow: 0 0 1.5277777778vw rgba(255, 255, 255, 0.95);
}
.heading__container.white__heading h1,
.heading__container.white__heading h2,
.heading__container.white__heading p {
  color: var(--color-main);
}

/* room tab */
.room__tabs ul {
  margin: 1.3888888889vw 0 3.4722222222vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.room__tabs ul li {
  margin: 0 0.6944444444vw;
  padding: 0.6944444444vw 1.3888888889vw;
  cursor: pointer;
  font-size: 1.1805555556vw;
}
@media (min-width: 1920px) {
  .room__tabs ul li {
    font-size: 22.6666666667px;
  }
}
@media (max-width: 767px) {
  .room__tabs ul li {
    font-size: 3.9113428944vw;
  }
}
.room__tabs ul li {
  color: var(--color-main);
  border-bottom: none;
  transition: all 0.3s;
}
@media not screen and (min-width: 768px) {
  .room__tabs ul li {
    padding: 1.5645371578vw 2.0860495437vw;
  }
}
.room__tabs ul li:hover {
  color: var(--color-main);
  border-color: var(--color-white);
}
@media not screen and (min-width: 768px) {
  .room__tabs ul li:hover {
    color: inherit;
    border-color: inherit;
  }
}
.room__tabs ul li.active {
  color: var(--color-white);
  background: var(--color-main);
  border-color: var(--color-main);
}

/* cast list */
.cast__list__wrapper {
  width: 100%;
  background-size: 400% 400%;
  animation: bggradient 7s ease infinite;
  padding-top: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .cast__list__wrapper {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .cast__list__wrapper {
    padding-top: 10.4302477184vw;
  }
}
.cast__list__wrapper {
  padding-bottom: 1.3888888889vw;
}
@media (min-width: 1920px) {
  .cast__list__wrapper {
    padding-bottom: 26.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__list__wrapper {
    padding-bottom: 5.2151238592vw;
  }
}
.cast__list__wrapper {
  position: relative;
}

.cast__list__container {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  width: 71.1111111111vw;
}
@media (min-width: 1920px) {
  .cast__list__container {
    width: 1365.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__list__container {
    width: 96.479791395vw;
  }
}
.cast__list__container {
  margin-top: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .cast__list__container {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .cast__list__container {
    margin-top: 10.4302477184vw;
  }
}
.cast__list__container {
  margin-bottom: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .cast__list__container {
    margin-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .cast__list__container {
    margin-bottom: 10.4302477184vw;
  }
}
.cast__list__container.no__schedule p {
  width: fit-content;
  margin: 0 auto;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .cast__list__container.no__schedule p {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .cast__list__container.no__schedule p {
    font-size: 3.3898305085vw;
  }
}

.cast__item {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 0.5555555556vw 2.0833333333vw;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--color-main) 26%, transparent);
  border-radius: 1.8055555556vw;
  box-shadow: 0 0.5555555556vw 1.5277777778vw rgba(214, 168, 186, 0.14);
  padding-top: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .cast__item {
    padding-top: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item {
    padding-top: 2.0860495437vw;
  }
}
.cast__item {
  padding-bottom: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .cast__item {
    padding-bottom: 16px;
  }
}
@media (max-width: 767px) {
  .cast__item {
    padding-bottom: 2.6075619296vw;
  }
}
.cast__item {
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .cast__item {
    border-radius: 5.2151238592vw;
    box-shadow: 0 1.5645371578vw 4.1720990874vw rgba(214, 168, 186, 0.14);
  }
}
.cast__item:hover {
  transform: translateY(-0.2777777778vw);
  box-shadow: 0 1.1111111111vw 2.2222222222vw rgba(214, 168, 186, 0.22);
}
@media not screen and (min-width: 768px) {
  .cast__item:hover {
    transform: none;
    box-shadow: 0 1.5645371578vw 4.1720990874vw rgba(214, 168, 186, 0.14);
  }
}
.columns-pc-3 .cast__item {
  width: calc(33.3333333333% - 1.1111111111vw);
}
.columns-pc-4 .cast__item {
  width: calc(25% - 1.6666666667vw);
}
.columns-pc-5 .cast__item {
  width: calc(20% - 1.1111111111vw);
}
@media not screen and (min-width: 768px) {
  .columns-sp-1 .cast__item {
    width: 100%;
  }
  .columns-sp-2 .cast__item {
    width: calc(50% - 2.6075619296vw);
  }
  .columns-sp-3 .cast__item {
    width: calc(33.3333333333% - 1.3037809648vw);
  }
  .cast__item.slider {
    width: unset;
  }
}
.cast__item .cast__comment {
  overflow: hidden;
}
.cast__item .cast__comment span {
  display: flex;
  width: 100%;
  overflow: hidden;
  align-items: flex-end;
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__comment span {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__comment span {
    font-size: 3.1290743155vw;
  }
}
.cast__item .cast__comment span {
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  padding: 0 0.1388888889vw;
  animation: comment 8s linear infinite;
  transform: translateX(200px);
}
@keyframes comment {
  100% {
    transform: translateX(-200px);
  }
}
.cast__item .cast__comment span {
  display: block;
  text-align: center;
}
@media not screen and (min-width: 768px) {
  .cast__item .cast__comment span {
    letter-spacing: -1.5px;
  }
}
.cast__item .cast__thumb {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
  width: calc(100% - 0.5555555556vw);
  margin: 0 auto;
  border-radius: 1.25vw;
}
@media not screen and (min-width: 768px) {
  .cast__item .cast__thumb {
    width: calc(100% - 2.0860495437vw);
    border-radius: 3.9113428944vw;
  }
}
.cast__item .cast__thumb a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all 0.3s;
}
.cast__item .cast__thumb a:hover {
  transform: scale(1.1);
  transition-duration: 0.4s;
  opacity: 1;
}
@media not screen and (min-width: 768px) {
  .cast__item .cast__thumb a:hover {
    transform: none;
  }
}
.cast__item .cast__thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center;
}
.cast__item .cast__info {
  position: relative;
  height: 100%;
}
.cast__item .cast__info .cast__name {
  font-size: 1.1805555556vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__name {
    font-size: 22.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__name {
    font-size: 4.1720990874vw;
  }
}
.cast__item .cast__info .cast__name {
  padding-top: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__name {
    padding-top: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__name {
    padding-top: 2.0860495437vw;
  }
}
.cast__item .cast__info .cast__name {
  padding-left: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__name {
    padding-left: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__name {
    padding-left: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__name {
  padding-right: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__name {
    padding-right: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__name {
    padding-right: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__name {
  line-height: 1;
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__name {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__name {
    letter-spacing: 0.1303780965vw;
  }
}
.cast__item .cast__info .cast__name {
  display: block;
  text-align: center;
  font-weight: bold;
}
.cast__item .cast__info .cast__size {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__size {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__size {
    font-size: 3.1290743155vw;
  }
}
.cast__item .cast__info .cast__size {
  line-height: 1;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
  display: block;
  padding-top: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__size {
    padding-top: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__size {
    padding-top: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__size {
  padding-bottom: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__size {
    padding-bottom: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__size {
    padding-bottom: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__size {
  padding-left: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__size {
    padding-left: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__size {
    padding-left: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__size {
  padding-right: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__size {
    padding-right: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__size {
    padding-right: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__size {
  text-align: center;
}
@media not screen and (min-width: 768px) {
  .cast__item .cast__info .cast__size {
    letter-spacing: -0.25px;
  }
}
.cast__item .cast__info .cast__shift {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  width: 80%;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift {
    margin-bottom: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift {
    margin-bottom: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__shift {
  padding-top: 0.2777777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift {
    padding-top: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift {
    padding-top: 1.0430247718vw;
  }
}
.cast__item .cast__info .cast__shift {
  padding-bottom: 0.2777777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift {
    padding-bottom: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift {
    padding-bottom: 1.0430247718vw;
  }
}
.cast__item .cast__info .cast__shift {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift {
    font-size: 3.3898305085vw;
  }
}
.cast__item .cast__info .cast__shift {
  background: var(--color-sub);
  color: var(--color-white);
}
.cast__item .cast__info .cast__shift img.shift-icon {
  width: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift img.shift-icon {
    width: 20px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift img.shift-icon {
    width: 3.9113428944vw;
  }
}
.cast__item .cast__info .cast__shift img.shift-icon {
  height: auto;
  margin-right: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift img.shift-icon {
    margin-right: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift img.shift-icon {
    margin-right: 1.3037809648vw;
  }
}
.cast__item .cast__info .cast__shift .attendance__type {
  background: var(--color-main);
  position: absolute;
  top: -5.2083333333vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    top: -100px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    top: -18.2529335072vw;
  }
}
.cast__item .cast__info .cast__shift .attendance__type {
  left: -0.6944444444vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    left: -13.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    left: -1.3037809648vw;
  }
}
.cast__item .cast__info .cast__shift .attendance__type {
  width: fit-content;
  background: var(--color-main);
  height: 1.3888888889vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    height: 26.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift .attendance__type {
    height: 5.2151238592vw;
  }
}
.cast__item .cast__info .cast__shift .attendance__type {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cast__item .cast__info .cast__shift .attendance__type span {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__shift .attendance__type span {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__shift .attendance__type span {
    font-size: 3.3898305085vw;
  }
}
.cast__item .cast__info .cast__shift .attendance__type.type__02 {
  background: #eb29ad;
}
.cast__item .cast__info .cast__room {
  background: var(--color-main);
  color: var(--color-white);
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__room {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__room {
    font-size: 3.3898305085vw;
  }
}
.cast__item .cast__info .cast__room {
  padding: 0.0694444444vw 0;
  margin-top: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .cast__item .cast__info .cast__room {
    margin-top: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .cast__info .cast__room {
    margin-top: 0.7822685789vw;
  }
}
.cast__item .cast__info .cast__room {
  display: block;
  text-align: center;
}
.cast__item .type__labels {
  width: calc(100% - 0.2777777778vw);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 0.1388888889vw;
  margin-bottom: 0.25em;
}
.cast__item .type__labels .type__label {
  background: rgba(255, 255, 255, 0.85);
  border: solid 1px color-mix(in srgb, var(--color-main) 55%, transparent);
  border-radius: 999px;
  box-sizing: border-box;
  padding: 0.2083333333vw 0.2083333333vw;
  width: 44%;
  margin: 0 0.1388888889vw;
}
@media not screen and (min-width: 768px) {
  .cast__item .type__labels .type__label {
    padding: 0.7822685789vw 0.7822685789vw;
    margin: 0 0.5215123859vw;
    width: 45%;
  }
}
.cast__item .type__labels .type__label span {
  font-weight: bold;
  color: var(--color-main);
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .cast__item .type__labels .type__label span {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .cast__item .type__labels .type__label span {
    font-size: 3.1290743155vw;
  }
}
.cast__item .type__labels .type__label span {
  letter-spacing: -1px;
  display: block;
  text-align: center;
}
.cast__item .type__labels .type__label:nth-child(n+3) {
  margin-top: 0.25em;
}
.cast__item {
  /* label__new__cast */
}
.cast__item .label__new__cast {
  position: absolute;
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .cast__item .label__new__cast {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .label__new__cast {
    font-size: 3.3898305085vw;
  }
}
.cast__item .label__new__cast {
  width: 6.25vw;
}
@media (min-width: 1920px) {
  .cast__item .label__new__cast {
    width: 120px;
  }
}
@media (max-width: 767px) {
  .cast__item .label__new__cast {
    width: 18.2529335072vw;
  }
}
.cast__item .label__new__cast {
  height: 1.7361111111vw;
}
@media (min-width: 1920px) {
  .cast__item .label__new__cast {
    height: 33.3333333333px;
  }
}
@media (max-width: 767px) {
  .cast__item .label__new__cast {
    height: 5.2151238592vw;
  }
}
.cast__item .label__new__cast {
  top: 3.125vw;
}
@media (min-width: 1920px) {
  .cast__item .label__new__cast {
    top: 60px;
  }
}
@media (max-width: 767px) {
  .cast__item .label__new__cast {
    top: 9.1264667536vw;
  }
}
.cast__item .label__new__cast {
  right: -1.3888888889vw;
}
@media (min-width: 1920px) {
  .cast__item .label__new__cast {
    right: -26.6666666667px;
  }
}
@media (max-width: 767px) {
  .cast__item .label__new__cast {
    right: -3.9113428944vw;
  }
}
.cast__item .label__new__cast {
  background: var(--color-sub);
  color: var(--color-white);
  font-weight: bold;
  transform: rotate(45deg);
  transform-origin: 100% 0;
  white-space: nowrap;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1); /* 影の効果を追加します */
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* sns__icon__wrapper */
.sns__icon__wrapper {
  position: absolute;
  top: -2.1527777778vw;
}
@media (min-width: 1920px) {
  .sns__icon__wrapper {
    top: -41.3333333333px;
  }
}
@media (max-width: 767px) {
  .sns__icon__wrapper {
    top: -7.0404172099vw;
  }
}
.sns__icon__wrapper {
  right: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .sns__icon__wrapper {
    right: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .sns__icon__wrapper {
    right: 1.5645371578vw;
  }
}
.sns__icon__wrapper {
  border-radius: 5px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.twitter__icon,
.bluesky__icon,
.instagram__icon,
.line__icon {
  width: 1.7361111111vw;
}
@media (min-width: 1920px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    width: 33.3333333333px;
  }
}
@media (max-width: 767px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    width: 6.518904824vw;
  }
}
.twitter__icon,
.bluesky__icon,
.instagram__icon,
.line__icon {
  height: 1.7361111111vw;
}
@media (min-width: 1920px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    height: 33.3333333333px;
  }
}
@media (max-width: 767px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    height: 6.518904824vw;
  }
}
.twitter__icon,
.bluesky__icon,
.instagram__icon,
.line__icon {
  border-radius: 5px;
  margin-left: 0.2777777778vw;
}
@media (min-width: 1920px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    margin-left: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  .twitter__icon,
  .bluesky__icon,
  .instagram__icon,
  .line__icon {
    margin-left: 0.7822685789vw;
  }
}
.twitter__icon,
.bluesky__icon,
.instagram__icon,
.line__icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.twitter__icon img,
.bluesky__icon img,
.instagram__icon img,
.line__icon img {
  width: 60%;
}

.twitter__icon {
  background: var(--color-black);
}

.bluesky__icon {
  background: #2184fe;
}

.instagram__icon {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

.line__icon {
  background: #4cc764;
}

/* swiper */
.swiper-container {
  width: 59.7222222222vw;
}
@media (min-width: 1920px) {
  .swiper-container {
    width: 1146.6666666667px;
  }
}
@media (max-width: 767px) {
  .swiper-container {
    width: 96.479791395vw;
  }
}
.swiper-container {
  margin-bottom: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .swiper-container {
    margin-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .swiper-container {
    margin-bottom: 10.4302477184vw;
  }
}
.swiper-container {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  /* main-banner-slider */
}
.swiper-container.main-banner-slider {
  left: unset;
  width: 41.6666666667vw;
  transform: unset;
}
@media not screen and (min-width: 768px) {
  .swiper-container.main-banner-slider {
    width: 100%;
  }
}
.swiper-container {
  /* event-banner-slider */
}
.swiper-container.event-banner-slider {
  width: 64.5833333333vw;
}
@media (min-width: 1920px) {
  .swiper-container.event-banner-slider {
    width: 1240px;
  }
}
@media (max-width: 767px) {
  .swiper-container.event-banner-slider {
    width: 93.8722294654vw;
  }
}
.swiper-container.event-banner-slider .swiper-button-next,
.swiper-container.event-banner-slider .swiper-button-prev {
  top: calc(50% - 3.4722222222vw);
}
@media not screen and (min-width: 768px) {
  .swiper-container.event-banner-slider .swiper-button-next,
  .swiper-container.event-banner-slider .swiper-button-prev {
    top: calc(50% - 13.037809648vw);
  }
}
.swiper-container {
  /* pickup__therapist__swiper */
  /* new__therapist__swiper */
}
.swiper-container.pickup__therapist__swiper .swiper-wrapper .cast__item, .swiper-container.new__therapist__swiper .swiper-wrapper .cast__item {
  margin: unset;
}
.swiper-container.pickup__therapist__swiper .swiper-wrapper .cast__item .cast__thumb, .swiper-container.new__therapist__swiper .swiper-wrapper .cast__item .cast__thumb {
  transition: transform 0.3s ease;
}
.swiper-container.pickup__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a:hover, .swiper-container.new__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a:hover {
  transform: scale(1.05);
}
@media not screen and (min-width: 768px) {
  .swiper-container.pickup__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a:hover, .swiper-container.new__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a:hover {
    transform: none;
  }
}
.swiper-container.pickup__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a img, .swiper-container.new__therapist__swiper .swiper-wrapper .cast__item .cast__thumb a img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center;
}

.swiper-button-next,
.swiper-button-prev {
  color: var(--color-main);
  background-color: rgba(255, 255, 255, 0.8);
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
  z-index: 1;
}
@media not screen and (min-width: 768px) {
  .swiper-button-next,
  .swiper-button-prev {
    width: 10.4302477184vw;
    height: 10.4302477184vw;
  }
}
.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 3.3898305085vw;
  }
}
.swiper-button-next:after,
.swiper-button-prev:after {
  font-weight: bold;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  background-color: var(--shadow-box);
}
@media not screen and (min-width: 768px) {
  .swiper-button-next:hover,
  .swiper-button-prev:hover {
    background-color: inherit;
  }
}

.swiper-button-next {
  right: 10px;
}

.swiper-button-prev {
  left: 10px;
}

.swiper-pagination {
  z-index: 1;
}
.swiper-pagination .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  background: var(--color-main);
}

/* room__label */
.room__label {
  background: var(--color-main);
  width: fit-content;
  padding: 0.6944444444vw 5.5555555556vw;
  display: block;
  margin: 0 auto;
  font-size: 1.3194444444vw;
}
@media (min-width: 1920px) {
  .room__label {
    font-size: 25.3333333333px;
  }
}
@media (max-width: 767px) {
  .room__label {
    font-size: 4.4328552803vw;
  }
}
.room__label {
  margin-bottom: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .room__label {
    margin-bottom: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .room__label {
    margin-bottom: 5.2151238592vw;
  }
}
.room__label {
  color: var(--color-white);
}

/* button__container : パステル・ピル型ボタン(ローズピンク / ラベンダー) */
.button__container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3.4722222222vw;
}
@media (min-width: 1920px) {
  .button__container {
    margin-top: 66.6666666667px;
  }
}
@media (max-width: 767px) {
  .button__container {
    margin-top: 9.3872229465vw;
  }
}

.common__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .common__button {
    gap: 16px;
  }
}
@media (max-width: 767px) {
  .common__button {
    gap: 2.0860495437vw;
  }
}
.common__button {
  min-width: 18.0555555556vw;
}
@media (min-width: 1920px) {
  .common__button {
    min-width: 346.6666666667px;
  }
}
@media (max-width: 767px) {
  .common__button {
    min-width: 57.3663624511vw;
  }
}
.common__button {
  height: 3.6111111111vw;
}
@media (min-width: 1920px) {
  .common__button {
    height: 69.3333333333px;
  }
}
@media (max-width: 767px) {
  .common__button {
    height: 11.4732724902vw;
  }
}
.common__button {
  padding-left: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .common__button {
    padding-left: 42.6666666667px;
  }
}
@media (max-width: 767px) {
  .common__button {
    padding-left: 6.258148631vw;
  }
}
.common__button {
  padding-right: 2.2222222222vw;
}
@media (min-width: 1920px) {
  .common__button {
    padding-right: 42.6666666667px;
  }
}
@media (max-width: 767px) {
  .common__button {
    padding-right: 6.258148631vw;
  }
}
.common__button {
  border-radius: 999px;
  border: none;
  background: var(--color-button);
  color: var(--color-button-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .common__button {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .common__button {
    font-size: 3.3898305085vw;
  }
}
.common__button {
  letter-spacing: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .common__button {
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .common__button {
    letter-spacing: 0.5215123859vw;
  }
}
.common__button {
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0.4166666667vw 1.25vw rgba(212, 158, 180, 0.22);
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.common__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-160%);
  transition: transform 0.7s cubic-bezier(0.37, 0, 0.63, 1);
  z-index: 0;
}
.common__button:hover {
  transform: translateY(-0.2083333333vw);
  box-shadow: 0 0.8333333333vw 1.8055555556vw rgba(212, 158, 180, 0.3);
}
@media not screen and (min-width: 768px) {
  .common__button:hover {
    transform: none;
    box-shadow: 0 1.5645371578vw 4.6936114733vw rgba(212, 158, 180, 0.22);
  }
}
.common__button:hover::before {
  transform: translateX(360%);
}
@media not screen and (min-width: 768px) {
  .common__button:hover::before {
    transform: translateX(-160%);
  }
}
.common__button:hover .common__button__star {
  transform: rotate(72deg) scale(1.15);
}
@media not screen and (min-width: 768px) {
  .common__button:hover .common__button__star {
    transform: none;
  }
}
.common__button span,
.common__button .common__button__star {
  position: relative;
  z-index: 1;
  color: var(--color-button-text);
}
.common__button .common__button__star {
  font-style: normal;
  line-height: 1;
  font-size: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .common__button .common__button__star {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .common__button .common__button__star {
    font-size: 2.8683181226vw;
  }
}
.common__button .common__button__star {
  transition: transform 0.5s cubic-bezier(0.37, 0, 0.63, 1);
}

.common__button--sub {
  background: var(--color-sub);
  box-shadow: 0 0.4166666667vw 1.25vw rgba(176, 148, 196, 0.24);
}
.common__button--sub:hover {
  box-shadow: 0 0.8333333333vw 1.8055555556vw rgba(176, 148, 196, 0.32);
}
@media not screen and (min-width: 768px) {
  .common__button--sub:hover {
    box-shadow: 0 1.5645371578vw 4.6936114733vw rgba(176, 148, 196, 0.24);
  }
}

.hero__section.children__page {
  height: 25vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page {
    height: 480px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page {
    height: 49.5436766623vw;
  }
}
.hero__section.children__page {
  min-height: unset;
}
.hero__section.children__page .hero__container {
  width: 62.5vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .hero__container {
    width: 1200px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .hero__container {
    width: 88.6571056063vw;
  }
}
.hero__section.children__page .hero__container {
  margin: 0 auto;
  position: static;
  transform: none;
}
.hero__section.children__page .hero__container .heading__container {
  margin-bottom: 0;
}
.hero__section.children__page .hero__discription {
  bottom: 0.6944444444vw;
}
.hero__section.children__page .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__section.children__page .heading__container h1 {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 2.3611111111vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .heading__container h1 {
    font-size: 45.3333333333px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .heading__container h1 {
    font-size: 6.258148631vw;
  }
}
.hero__section.children__page .heading__container h1 {
  letter-spacing: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .heading__container h1 {
    letter-spacing: 10.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .heading__container h1 {
    letter-spacing: 1.3037809648vw;
  }
}
.hero__section.children__page .heading__container h1 {
  color: var(--color-main);
  line-height: 1.4;
  text-indent: 0.4em;
  text-shadow: 0 0 1.5277777778vw rgba(255, 255, 255, 0.95);
}
.hero__section.children__page .heading__container p {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .heading__container p {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .heading__container p {
    font-size: 3.1290743155vw;
  }
}
.hero__section.children__page .heading__container p {
  letter-spacing: 0.4166666667vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .heading__container p {
    letter-spacing: 8px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .heading__container p {
    letter-spacing: 1.0430247718vw;
  }
}
.hero__section.children__page .heading__container p {
  margin-top: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .hero__section.children__page .heading__container p {
    margin-top: 16px;
  }
}
@media (max-width: 767px) {
  .hero__section.children__page .heading__container p {
    margin-top: 2.0860495437vw;
  }
}
.hero__section.children__page .heading__container p {
  color: var(--color-main);
  opacity: 0.9;
  line-height: 1;
  text-indent: 0.4em;
  text-shadow: 0 0 1.1111111111vw rgba(255, 255, 255, 0.95);
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.6944444444vw auto;
}
@media not screen and (min-width: 768px) {
  .pagination {
    padding: 2.6075619296vw 0;
  }
}
.pagination .page-numbers {
  display: inline-block;
  margin: 0 0.6944444444vw;
  padding: 0.6944444444vw 1.3888888889vw;
  text-decoration: none;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .pagination .page-numbers {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .pagination .page-numbers {
    font-size: 3.3898305085vw;
  }
}
.pagination .page-numbers {
  color: var(--color-text);
  border-radius: 5px;
  transition: all 0.3s ease;
}
@media not screen and (min-width: 768px) {
  .pagination .page-numbers {
    padding: 1.3037809648vw 5.2151238592vw;
  }
}
.pagination .page-numbers:hover {
  background-color: var(--color-white);
  border-color: var(--color-sub-black);
}
@media not screen and (min-width: 768px) {
  .pagination .page-numbers:hover {
    background-color: inherit;
    border-color: inherit;
  }
}
.pagination .page-numbers.current {
  background-color: var(--color-main);
  color: var(--color-white);
}
.pagination .dots {
  padding: 0.3472222222vw 0.6944444444vw;
  pointer-events: none;
  border: none;
}
.pagination .next,
.pagination .prev {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0.6944444444vw;
}
.pagination.article {
  justify-content: space-between;
  margin-top: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .pagination.article {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .pagination.article {
    margin-top: 10.4302477184vw;
  }
}
@media not screen and (min-width: 768px) {
  .pagination.article {
    flex-direction: column;
  }
}
.pagination.article .prev,
.pagination.article .next {
  background-color: var(--color-main);
  width: 17.3611111111vw;
}
@media (min-width: 1920px) {
  .pagination.article .prev,
  .pagination.article .next {
    width: 333.3333333333px;
  }
}
@media (max-width: 767px) {
  .pagination.article .prev,
  .pagination.article .next {
    width: 80.8344198175vw;
  }
}
.pagination.article .prev,
.pagination.article .next {
  color: var(--color-white);
}
@media not screen and (min-width: 768px) {
  .pagination.article .prev,
  .pagination.article .next {
    margin-bottom: 2.6075619296vw;
    height: 10.4302477184vw;
  }
}
.pagination.article .prev span,
.pagination.article .next span {
  width: 52.1512385919vw;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.pagination.article .prev:hover,
.pagination.article .next:hover {
  color: var(--color-text);
  background-color: var(--color-white);
  border-color: var(--color-sub-black);
}
@media not screen and (min-width: 768px) {
  .pagination.article .prev:hover,
  .pagination.article .next:hover {
    color: inherit;
    background-color: inherit;
    border-color: inherit;
  }
}
@media not screen and (min-width: 768px) {
  .pagination.article .prev {
    justify-content: flex-start;
  }
}
@media not screen and (min-width: 768px) {
  .pagination.article .next {
    justify-content: flex-end;
  }
}

.breadcrumbs__section {
  width: 100%;
  background: rgba(255, 253, 252, 0.66);
  border-bottom: 1px solid color-mix(in srgb, var(--color-main) 22%, transparent);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 3.8888888889vw;
}
@media (min-width: 1920px) {
  .breadcrumbs__section {
    height: 74.6666666667px;
  }
}
@media (max-width: 767px) {
  .breadcrumbs__section {
    height: 8.8657105606vw;
  }
}
.breadcrumbs__section nav {
  margin: 0 1.3888888889vw;
  width: calc(100% - 2.7777777778vw);
}
@media not screen and (min-width: 768px) {
  .breadcrumbs__section nav {
    margin: 0 2.6075619296vw;
    width: 96.479791395vw;
  }
}
.breadcrumbs__section nav p,
.breadcrumbs__section nav span {
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .breadcrumbs__section nav p,
  .breadcrumbs__section nav span {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .breadcrumbs__section nav p,
  .breadcrumbs__section nav span {
    font-size: 3.3898305085vw;
  }
}
.breadcrumbs__section nav p a,
.breadcrumbs__section nav span a {
  color: var(--color-main);
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .breadcrumbs__section nav p a,
  .breadcrumbs__section nav span a {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .breadcrumbs__section nav p a,
  .breadcrumbs__section nav span a {
    font-size: 3.3898305085vw;
  }
}
.breadcrumbs__section nav p a,
.breadcrumbs__section nav span a {
  transition: all 0.3s;
}
.breadcrumbs__section nav p a:hover,
.breadcrumbs__section nav span a:hover {
  opacity: 0.6;
}
@media not screen and (min-width: 768px) {
  .breadcrumbs__section nav p a:hover,
  .breadcrumbs__section nav span a:hover {
    opacity: inherit;
  }
}

.is__animated {
  animation-name: fadeInUp;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.is__animated.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.is__animated.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.is__animated.heroFadeInLeft {
  animation-name: heroFadeInLeft;
  animation-duration: 1.5s;
}
@keyframes heroFadeInLeft {
  from {
    opacity: 0;
    transform: translateY(10vh);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.is__animated.heroFadeInRight {
  animation-name: heroFadeInRight;
  animation-duration: 2.5s;
}
@keyframes heroFadeInRight {
  from {
    opacity: 0;
    transform: translateY(-10vh);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.is__animated.heroFadeInLeft {
  -webkit-transform: translateZ(5px);
  transform: translateZ(5px);
}
.is__animated.heroFadeInRight {
  animation-name: heroFadeInRight;
  animation-duration: 2.5s;
}
@keyframes heroFadeInRight {
  from {
    opacity: 0;
    transform: translateY(10vh);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.is__animated:nth-child(2) {
  animation-delay: 0.2s;
}
.is__animated:nth-child(3) {
  animation-delay: 0.3s;
}
.is__animated:nth-child(4) {
  animation-delay: 0.4s;
}
.is__animated:nth-child(5) {
  animation-delay: 0.5s;
}
.is__animated:nth-child(6) {
  animation-delay: 0.6s;
}
.is__animated:nth-child(7) {
  animation-delay: 0.7s;
}
.is__animated:nth-child(9) {
  animation-delay: 0.9s;
}
.is__animated:nth-child(10) {
  animation-delay: 1s;
}
.is__animated:nth-child(11) {
  animation-delay: 1.1s;
}
.is__animated:nth-child(12) {
  animation-delay: 1.2s;
}
.is__animated:nth-child(13) {
  animation-delay: 1.3s;
}
.is__animated:nth-child(14) {
  animation-delay: 1.4s;
}
.is__animated:nth-child(15) {
  animation-delay: 1.5s;
}
.is__animated:nth-child(16) {
  animation-delay: 1.6s;
}

.contact__wrapper {
  width: 59.7222222222vw;
}
@media (min-width: 1920px) {
  .contact__wrapper {
    width: 1146.6666666667px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper {
    width: 96.479791395vw;
  }
}
.contact__wrapper {
  margin: 2.0833333333vw auto 0;
}
@media not screen and (min-width: 768px) {
  .contact__wrapper {
    margin-top: 15.6453715776vw;
  }
}
.contact__wrapper .item-container {
  width: calc(100% - 1.3888888889vw);
  margin-bottom: 1.3888888889vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container {
    margin-bottom: 26.6666666667px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container {
    margin-bottom: 5.2151238592vw;
  }
}
.contact__wrapper .item-container .item__q label {
  display: block;
  margin-bottom: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label {
    margin-bottom: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label {
    margin-bottom: 1.3037809648vw;
  }
}
.contact__wrapper .item-container .item__q label {
  margin-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label {
    margin-top: 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__q label {
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label {
    letter-spacing: 0.1303780965vw;
  }
}
.contact__wrapper .item-container .item__q label {
  text-align: left;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label {
    font-size: 3.9113428944vw;
  }
}
.contact__wrapper .item-container .item__q label {
  line-height: 1.6;
}
.contact__wrapper .item-container .item__q label span.required {
  margin-left: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label span.required {
    margin-left: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label span.required {
    margin-left: 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__q label span.required {
  display: inline-block;
  background-color: var(--color-button);
  color: color-mix(in srgb, var(--color-text) 55%, #000000);
  font-weight: bold;
  border-radius: 999px;
  font-size: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__q label span.required {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__q label span.required {
    font-size: 3.1290743155vw;
  }
}
.contact__wrapper .item-container .item__q label span.required {
  padding: 0.2777777778vw 0.8333333333vw;
}
@media not screen and (min-width: 768px) {
  .contact__wrapper .item-container .item__q label span.required {
    padding: 1.0430247718vw 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__a input,
.contact__wrapper .item-container .item__a textarea,
.contact__wrapper .item-container .item__a select {
  box-sizing: border-box;
  width: 56.9444444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    width: 1093.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    width: 96.479791395vw;
  }
}
.contact__wrapper .item-container .item__a input,
.contact__wrapper .item-container .item__a textarea,
.contact__wrapper .item-container .item__a select {
  padding: 1.25vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    padding: 24px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    padding: 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__a input,
.contact__wrapper .item-container .item__a textarea,
.contact__wrapper .item-container .item__a select {
  margin-bottom: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    margin-bottom: 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__a input,
.contact__wrapper .item-container .item__a textarea,
.contact__wrapper .item-container .item__a select {
  background: rgba(255, 255, 255, 0.88);
  border: solid 1px color-mix(in srgb, var(--color-main) 38%, transparent);
  border-radius: 0.8333333333vw;
  transition: border-color 0.3s, box-shadow 0.3s;
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    font-size: 3.6505867014vw;
  }
}
@media not screen and (min-width: 768px) {
  .contact__wrapper .item-container .item__a input,
  .contact__wrapper .item-container .item__a textarea,
  .contact__wrapper .item-container .item__a select {
    width: 100%;
    border-radius: 2.6075619296vw;
  }
}
.contact__wrapper .item-container .item__a input:focus,
.contact__wrapper .item-container .item__a textarea:focus,
.contact__wrapper .item-container .item__a select:focus {
  border-color: var(--color-main);
  box-shadow: 0 0 0 0.2083333333vw color-mix(in srgb, var(--color-main) 18%, transparent);
  outline: none;
}
.contact__wrapper .item-container .item__a input::placeholder,
.contact__wrapper .item-container .item__a textarea::placeholder,
.contact__wrapper .item-container .item__a select::placeholder {
  color: color-mix(in srgb, var(--color-text) 58%, transparent);
  font-weight: 400;
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.contact__wrapper .item-container .item__a input {
  color: var(--color-text);
}
.contact__wrapper .item-container .item__a select {
  width: 59.7222222222vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a select {
    width: 1146.6666666667px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a select {
    width: 93.8722294654vw;
  }
}
.contact__wrapper .item-container .item__a select {
  color: var(--color-text);
}
.contact__wrapper .item-container .item__a [type=checkbox] {
  width: unset;
  margin: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a [type=checkbox] {
    margin: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a [type=checkbox] {
    margin: 0.7822685789vw;
  }
}
.contact__wrapper .item-container .item__a .wpcf7-spinner {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.contact__wrapper .item-container .item__a span {
  color: var(--color-text);
}
.contact__wrapper .item-container .item__a .date-wrapper p {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  color: var(--color-text);
}
.contact__wrapper .item-container .item__a .date-wrapper p span select {
  width: 28.4722222222vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .item-container .item__a .date-wrapper p span select {
    width: 546.6666666667px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .item-container .item__a .date-wrapper p span select {
    width: 38.591916558vw;
  }
}
.contact__wrapper .wpcf7-submit {
  width: 100%;
  background-color: var(--color-button);
  color: color-mix(in srgb, var(--color-text) 55%, #000000);
  font-weight: bold;
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .wpcf7-submit {
    font-size: 21.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .wpcf7-submit {
    font-size: 3.9113428944vw;
  }
}
.contact__wrapper .wpcf7-submit {
  letter-spacing: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .wpcf7-submit {
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .wpcf7-submit {
    letter-spacing: 0.5215123859vw;
  }
}
.contact__wrapper .wpcf7-submit {
  padding: 1.25vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .wpcf7-submit {
    padding: 24px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .wpcf7-submit {
    padding: 3.1290743155vw;
  }
}
.contact__wrapper .wpcf7-submit {
  border: none;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 0.4166666667vw 1.25vw rgba(212, 158, 180, 0.22);
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  margin-top: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .wpcf7-submit {
    margin-top: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .wpcf7-submit {
    margin-top: 7.8226857888vw;
  }
}
.contact__wrapper .wpcf7-submit:hover {
  transform: translateY(-0.2083333333vw);
  box-shadow: 0 0.8333333333vw 1.8055555556vw rgba(212, 158, 180, 0.3);
}
@media not screen and (min-width: 768px) {
  .contact__wrapper .wpcf7-submit:hover {
    transform: none;
  }
}
.contact__wrapper .wpcf7-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.contact__wrapper .accept__check {
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact__wrapper .accept__check a {
  color: var(--color-main);
  text-decoration: underline;
  transition: color 0.3s;
  margin-left: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .contact__wrapper .accept__check a {
    margin-left: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .contact__wrapper .accept__check a {
    margin-left: 2.6075619296vw;
  }
}
.contact__wrapper .accept__check a:hover {
  color: var(--color-main);
}
.contact__wrapper .accept__check label span {
  color: var(--color-text);
}

.wpcf7 form.sent .wpcf7-response-output {
  width: 59.7222222222vw;
}
@media (min-width: 1920px) {
  .wpcf7 form.sent .wpcf7-response-output {
    width: 1146.6666666667px;
  }
}
@media (max-width: 767px) {
  .wpcf7 form.sent .wpcf7-response-output {
    width: 96.479791395vw;
  }
}
.wpcf7 form.sent .wpcf7-response-output {
  margin: 1.3888888889vw auto 0;
  text-align: center;
  padding: 1.1111111111vw;
  border: none;
  border-radius: 0.8333333333vw;
  background-color: var(--color-button);
  color: var(--color-button-text);
}
.wpcf7 form.sent .contact__wrapper {
  display: none;
}

/* page.php */
.page__section {
  margin-top: 8.3333333333vw;
}
@media (min-width: 1920px) {
  .page__section {
    margin-top: 160px;
  }
}
@media (max-width: 767px) {
  .page__section {
    margin-top: 15.6453715776vw;
  }
}
.page__section .page__container {
  width: 66.6666666667vw;
}
@media (min-width: 1920px) {
  .page__section .page__container {
    width: 1280px;
  }
}
@media (max-width: 767px) {
  .page__section .page__container {
    width: 91.2646675359vw;
  }
}
.page__section .page__container {
  margin: 4.1666666667vw auto;
  display: block;
}
@media not screen and (min-width: 768px) {
  .page__section .page__container {
    margin: 15.6453715776vw auto;
  }
}

.main__view__wrapper {
  position: relative;
}
.main__view__wrapper header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding-top: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .main__view__wrapper header {
    padding-top: 16px;
  }
}
@media (max-width: 767px) {
  .main__view__wrapper header {
    padding-top: 2.6075619296vw;
  }
}
.main__view__wrapper header {
  padding-bottom: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .main__view__wrapper header {
    padding-bottom: 16px;
  }
}
@media (max-width: 767px) {
  .main__view__wrapper header {
    padding-bottom: 2.6075619296vw;
  }
}
.main__view__wrapper header {
  padding-left: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .main__view__wrapper header {
    padding-left: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .main__view__wrapper header {
    padding-left: 5.2151238592vw;
  }
}
.main__view__wrapper header {
  padding-right: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .main__view__wrapper header {
    padding-right: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .main__view__wrapper header {
    padding-right: 5.2151238592vw;
  }
}
.main__view__wrapper header {
  background: rgba(255, 253, 252, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid color-mix(in srgb, var(--color-main) 22%, transparent);
}
@media not screen and (min-width: 768px) {
  .main__view__wrapper header {
    justify-content: flex-start;
    padding-right: 18.2529335072vw;
  }
}

/* ブランド(ロゴマーク + 店名) */
.header__brand a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .header__brand a {
    gap: 16px;
  }
}
@media (max-width: 767px) {
  .header__brand a {
    gap: 2.0860495437vw;
  }
}
.header__brand a {
  transition: opacity 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.header__brand a:hover {
  opacity: 0.75;
}

.header__brand__mark {
  width: 3.1944444444vw;
}
@media (min-width: 1920px) {
  .header__brand__mark {
    width: 61.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__brand__mark {
    width: 9.3872229465vw;
  }
}
.header__brand__mark {
  height: 3.1944444444vw;
}
@media (min-width: 1920px) {
  .header__brand__mark {
    height: 61.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__brand__mark {
    height: 9.3872229465vw;
  }
}
.header__brand__mark {
  object-fit: contain;
}

.header__brand__name {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.8055555556vw;
}
@media (min-width: 1920px) {
  .header__brand__name {
    font-size: 34.6666666667px;
  }
}
@media (max-width: 767px) {
  .header__brand__name {
    font-size: 5.2151238592vw;
  }
}
.header__brand__name {
  letter-spacing: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .header__brand__name {
    letter-spacing: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .header__brand__name {
    letter-spacing: 0.7822685789vw;
  }
}
.header__brand__name {
  color: var(--color-main);
  line-height: 1;
  text-indent: 0.3em;
}

/* 店舗情報(受付時間 / 営業時間 / 電話) */
.header__shopinfo__container {
  margin-left: auto;
  margin-right: 0;
}
@media not screen and (min-width: 768px) {
  .header__shopinfo__container {
    display: none;
  }
}

.header__right__content {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .header__right__content {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .header__right__content {
    gap: 3.1290743155vw;
  }
}
.header__right__content {
  position: relative;
}
.header__right__content p {
  color: var(--color-text);
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .header__right__content p {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__right__content p {
    font-size: 3.1290743155vw;
  }
}
.header__right__content p {
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .header__right__content p {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__right__content p {
    letter-spacing: 0.1303780965vw;
  }
}
.header__right__content p {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  margin: 0;
  line-height: 1.6;
  white-space: nowrap;
}
.header__right__content p span {
  display: inline-block;
  font-size: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    font-size: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    font-size: 2.3468057366vw;
  }
}
.header__right__content p span {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    letter-spacing: 0.260756193vw;
  }
}
.header__right__content p span {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--color-main) 14%, transparent);
  color: var(--color-main);
  border-radius: 999px;
  padding-top: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    padding-top: 4px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    padding-top: 0.5215123859vw;
  }
}
.header__right__content p span {
  padding-bottom: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    padding-bottom: 4px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    padding-bottom: 0.5215123859vw;
  }
}
.header__right__content p span {
  padding-left: 0.625vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    padding-left: 12px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    padding-left: 1.5645371578vw;
  }
}
.header__right__content p span {
  padding-right: 0.625vw;
}
@media (min-width: 1920px) {
  .header__right__content p span {
    padding-right: 12px;
  }
}
@media (max-width: 767px) {
  .header__right__content p span {
    padding-right: 1.5645371578vw;
  }
}
.header__right__content p span {
  margin-right: 0.6em;
}
.header__right__content a {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.header__right__content a:hover {
  opacity: 0.7;
}
.header__right__content a svg {
  fill: var(--color-main);
  height: 0.9722222222vw;
  width: 0.9722222222vw;
  margin-right: 0.5555555556vw;
}
.header__right__content a span {
  font-size: 1.3194444444vw;
}
@media (min-width: 1920px) {
  .header__right__content a span {
    font-size: 25.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__right__content a span {
    font-size: 4.1720990874vw;
  }
}
.header__right__content a span {
  letter-spacing: 0.1041666667vw;
}
@media (min-width: 1920px) {
  .header__right__content a span {
    letter-spacing: 2px;
  }
}
@media (max-width: 767px) {
  .header__right__content a span {
    letter-spacing: 0.260756193vw;
  }
}
.header__right__content a span {
  color: var(--color-main);
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  line-height: 1;
  white-space: nowrap;
}

/* hamburger */
.hamburger {
  display: none;
  flex-direction: column;
  cursor: pointer;
  border: none;
  background: none;
  transition: opacity 0.5s ease;
}
@media not screen and (min-width: 768px) {
  .hamburger {
    z-index: 5;
    position: fixed;
    top: 3.6505867014vw;
    right: 5.2151238592vw;
    width: 11.9947848761vw;
    height: 11.9947848761vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: rgba(255, 253, 252, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid color-mix(in srgb, var(--color-main) 45%, transparent);
    border-radius: 50%;
    box-shadow: 0 1.0430247718vw 3.1290743155vw rgba(214, 168, 186, 0.2);
  }
}
.hamburger .bar {
  width: 5.7366362451vw;
  height: 0.5215123859vw;
  margin: 0.7822685789vw 0;
  border-radius: 999px;
  background-color: var(--color-main);
  transition: all 0.5s cubic-bezier(0.37, 0, 0.63, 1);
}

.hamburger.active .bar:nth-child(1) {
  transform: rotate(45deg) translate(1.5645371578vw, 1.3037809648vw);
}
.hamburger.active .bar:nth-child(2) {
  opacity: 0;
}
.hamburger.active .bar:nth-child(3) {
  transform: rotate(-45deg) translate(1.5645371578vw, -1.3037809648vw);
}

/* nav menu : PC は横並びグローバルナビ / SP は右スライドインのドロワー */
.header__menu__wrapper {
  position: relative;
  width: 100%;
  z-index: 1;
  background: rgba(255, 253, 252, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid color-mix(in srgb, var(--color-main) 22%, transparent);
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper {
    z-index: 4;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6.7796610169vw;
    padding: 21.9035202086vw 7.3011734029vw 25.0325945241vw;
    overflow-y: auto;
    background: linear-gradient(165deg, color-mix(in srgb, var(--color-sub) 16%, #ffffff) 0%, color-mix(in srgb, var(--color-main) 8%, #fffdfc) 42%, color-mix(in srgb, var(--color-button) 14%, #ffffff) 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    transform: translateX(100%);
    transition: transform 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  }
}

@media not screen and (min-width: 768px) {
  .header__menu__wrapper.show {
    display: flex;
  }
}

@media not screen and (min-width: 768px) {
  .header__menu__wrapper.active {
    transform: translateX(0);
  }
}

/* ドロワー上部のブランド(PC では非表示) */
.drawer__brand {
  display: none;
}
@media not screen and (min-width: 768px) {
  .drawer__brand {
    display: block;
    flex: 0 0 auto;
  }
  .drawer__brand a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2.6075619296vw;
  }
}

.drawer__brand__mark {
  width: 19.295958279vw;
  height: 19.295958279vw;
  object-fit: contain;
  margin: 0 auto;
}

.drawer__brand__name {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 6.258148631vw;
  letter-spacing: 1.3037809648vw;
  color: var(--color-main);
  line-height: 1;
  text-indent: 0.3em;
}

/* ドロワー下部の SNS(PC では非表示) */
.drawer__sns {
  display: none;
}
@media not screen and (min-width: 768px) {
  .drawer__sns {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 4.1720990874vw;
  }
}

.drawer__sns__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 11.4732724902vw;
  height: 11.4732724902vw;
  border-radius: 50%;
  background: var(--color-button);
  box-shadow: 0 1.0430247718vw 3.1290743155vw rgba(212, 158, 180, 0.22);
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.drawer__sns__item a:active {
  transform: translateY(0.5215123859vw);
  box-shadow: 0 0.5215123859vw 1.5645371578vw rgba(212, 158, 180, 0.22);
}
.drawer__sns__item img,
.drawer__sns__item svg {
  width: 5.2151238592vw;
  height: 5.2151238592vw;
  object-fit: contain;
  fill: var(--color-white);
}

.header__menu__wrapper #header-menu {
  bottom: 0;
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 4.5833333333vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu {
    height: 88px;
  }
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper #header-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5.2151238592vw;
    width: 100%;
    height: auto;
    flex: 0 1 auto;
    align-items: stretch;
  }
}
.header__menu__wrapper #header-menu li {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper #header-menu li {
    width: 100%;
    margin: 0;
    padding: 3.1290743155vw 0;
    border-bottom: 1px solid color-mix(in srgb, var(--color-main) 30%, transparent);
  }
}
.header__menu__wrapper #header-menu li a {
  color: var(--color-main);
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu li a {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__menu__wrapper #header-menu li a {
    font-size: 3.3898305085vw;
  }
}
.header__menu__wrapper #header-menu li a {
  letter-spacing: 0.2777777778vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu li a {
    letter-spacing: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__menu__wrapper #header-menu li a {
    letter-spacing: 0.3911342894vw;
  }
}
.header__menu__wrapper #header-menu li a {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  text-transform: uppercase;
  text-align: center;
  transition: opacity 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  position: relative;
  padding: 0.4166666667vw 0.6944444444vw;
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper #header-menu li a {
    padding: 0;
    width: 100%;
    white-space: nowrap;
  }
}
.header__menu__wrapper #header-menu li a span {
  display: block;
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu li a span {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  .header__menu__wrapper #header-menu li a span {
    font-size: 2.8683181226vw;
  }
}
.header__menu__wrapper #header-menu li a span {
  letter-spacing: 0.2777777778vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu li a span {
    letter-spacing: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  .header__menu__wrapper #header-menu li a span {
    letter-spacing: 0.7822685789vw;
  }
}
.header__menu__wrapper #header-menu li a span {
  margin-top: 0.4166666667vw;
}
@media (min-width: 1920px) {
  .header__menu__wrapper #header-menu li a span {
    margin-top: 8px;
  }
}
@media (max-width: 767px) {
  .header__menu__wrapper #header-menu li a span {
    margin-top: 1.0430247718vw;
  }
}
.header__menu__wrapper #header-menu li a span {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: var(--color-text);
  text-transform: none;
}
.header__menu__wrapper #header-menu li a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 0;
  height: 1px;
  background: var(--color-main);
  transition: width 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper #header-menu li a::after {
    display: none;
  }
}
.header__menu__wrapper #header-menu li a:hover::after {
  width: 60%;
}
@media not screen and (min-width: 768px) {
  .header__menu__wrapper #header-menu li a:hover::after {
    width: 0;
  }
}

footer {
  margin-top: 10.4166666667vw;
}
@media (min-width: 1920px) {
  footer {
    margin-top: 200px;
  }
}
@media (max-width: 767px) {
  footer {
    margin-top: 23.4680573664vw;
  }
}
footer {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  background: rgba(255, 253, 252, 0.42);
  padding-top: 6.25vw;
}
@media (min-width: 1920px) {
  footer {
    padding-top: 120px;
  }
}
@media (max-width: 767px) {
  footer {
    padding-top: 14.6023468057vw;
  }
}
footer {
  padding-bottom: 2.0833333333vw;
}
@media (min-width: 1920px) {
  footer {
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  footer {
    padding-bottom: 23.4680573664vw;
  }
}
footer .footer-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
  z-index: -1;
}

/* 背景写真の上に白のベールを重ね、ローズ文字の可読性を確保する */
footer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255, 253, 252, 0.5);
  pointer-events: none;
}

/* フッターと本文の境界を示す、白いもこもこ雲 */
footer::before {
  content: "";
  position: absolute;
  top: -0.0694444444vw;
  left: 0;
  right: 0;
  height: 5.5555555556vw;
}
@media (min-width: 1920px) {
  footer::before {
    height: 106.6666666667px;
  }
}
@media (max-width: 767px) {
  footer::before {
    height: 11.4732724902vw;
  }
}
footer::before {
  background: rgba(255, 253, 252, 0.85);
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L0,40 A80,42 0 0 0 160,40 A100,50 0 0 0 360,40 A70,34 0 0 0 500,40 A90,46 0 0 0 680,40 A75,38 0 0 0 830,40 A105,52 0 0 0 1040,40 A65,32 0 0 0 1170,40 A85,44 0 0 0 1340,40 A50,26 0 0 0 1440,40 L1440,0 Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L0,40 A80,42 0 0 0 160,40 A100,50 0 0 0 360,40 A70,34 0 0 0 500,40 A90,46 0 0 0 680,40 A75,38 0 0 0 830,40 A105,52 0 0 0 1040,40 A65,32 0 0 0 1170,40 A85,44 0 0 0 1340,40 A50,26 0 0 0 1440,40 L1440,0 Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

#footer-menu {
  width: 61.1111111111vw;
}
@media (min-width: 1920px) {
  #footer-menu {
    width: 1173.3333333333px;
  }
}
@media (max-width: 767px) {
  #footer-menu {
    width: 96.479791395vw;
  }
}
#footer-menu {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media not screen and (min-width: 768px) {
  #footer-menu {
    flex-wrap: wrap;
    justify-content: center;
    gap: 7.3011734029vw;
  }
}
#footer-menu li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--color-main);
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  #footer-menu li a {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  #footer-menu li a {
    font-size: 3.6505867014vw;
  }
}
#footer-menu li a {
  letter-spacing: 0.2777777778vw;
}
@media (min-width: 1920px) {
  #footer-menu li a {
    letter-spacing: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  #footer-menu li a {
    letter-spacing: 0.7822685789vw;
  }
}
#footer-menu li a {
  text-transform: uppercase;
  transition: opacity 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  text-shadow: 0 0 0.3472222222vw rgb(255, 255, 255), 0 0 0.9722222222vw rgba(255, 255, 255, 0.95);
}
#footer-menu li a:hover {
  opacity: 0.7;
}
#footer-menu li a span {
  display: block;
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  #footer-menu li a span {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  #footer-menu li a span {
    font-size: 2.8683181226vw;
  }
}
#footer-menu li a span {
  letter-spacing: 0.2777777778vw;
}
@media (min-width: 1920px) {
  #footer-menu li a span {
    letter-spacing: 5.3333333333px;
  }
}
@media (max-width: 767px) {
  #footer-menu li a span {
    letter-spacing: 0.7822685789vw;
  }
}
#footer-menu li a span {
  margin-top: 0.4166666667vw;
}
@media (min-width: 1920px) {
  #footer-menu li a span {
    margin-top: 8px;
  }
}
@media (max-width: 767px) {
  #footer-menu li a span {
    margin-top: 1.0430247718vw;
  }
}
#footer-menu li a span {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: var(--color-text);
  text-transform: none;
  text-shadow: 0 0 0.3472222222vw rgb(255, 255, 255), 0 0 0.9722222222vw rgba(255, 255, 255, 0.95);
}

.footer__logo__container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 2;
  margin-top: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .footer__logo__container {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container {
    margin-top: 14.6023468057vw;
  }
}
.footer__logo__container img {
  width: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .footer__logo__container img {
    width: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container img {
    width: 26.075619296vw;
  }
}
.footer__logo__container img {
  height: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .footer__logo__container img {
    height: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container img {
    height: 26.075619296vw;
  }
}
.footer__logo__container img {
  object-fit: contain;
  filter: drop-shadow(0 0.4166666667vw 0.9722222222vw rgba(255, 255, 255, 0.8));
}
.footer__logo__container span {
  margin-top: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .footer__logo__container span {
    margin-top: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container span {
    margin-top: 2.6075619296vw;
  }
}
.footer__logo__container span a {
  color: var(--color-main);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .footer__logo__container span a {
    font-size: 32px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container span a {
    font-size: 4.9543676662vw;
  }
}
.footer__logo__container span a {
  letter-spacing: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .footer__logo__container span a {
    letter-spacing: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .footer__logo__container span a {
    letter-spacing: 0.7822685789vw;
  }
}
.footer__logo__container span a {
  text-indent: 0.3em;
  text-shadow: 0 0 1.25vw rgba(255, 255, 255, 0.95);
}

.footer__shop__discription {
  margin-top: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .footer__shop__discription {
    margin-top: 32px;
  }
}
@media (max-width: 767px) {
  .footer__shop__discription {
    margin-top: 6.7796610169vw;
  }
}
.footer__shop__discription {
  width: 50vw;
}
@media (min-width: 1920px) {
  .footer__shop__discription {
    width: 960px;
  }
}
@media (max-width: 767px) {
  .footer__shop__discription {
    width: 91.2646675359vw;
  }
}
.footer__shop__discription p {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .footer__shop__discription p {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .footer__shop__discription p {
    font-size: 3.1290743155vw;
  }
}
.footer__shop__discription p {
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .footer__shop__discription p {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .footer__shop__discription p {
    letter-spacing: 0.1303780965vw;
  }
}
.footer__shop__discription p {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: var(--color-text);
  text-align: center;
  line-height: 2;
  text-shadow: 0 0 0.3472222222vw rgb(255, 255, 255), 0 0 0.9722222222vw rgba(255, 255, 255, 0.95);
}

.footer__secondary__menu {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  margin-top: 3.4722222222vw;
}
@media (min-width: 1920px) {
  .footer__secondary__menu {
    margin-top: 66.6666666667px;
  }
}
@media (max-width: 767px) {
  .footer__secondary__menu {
    margin-top: 9.3872229465vw;
  }
}
.footer__secondary__menu {
  margin-bottom: 1.25vw;
}
@media (min-width: 1920px) {
  .footer__secondary__menu {
    margin-bottom: 24px;
  }
}
@media (max-width: 767px) {
  .footer__secondary__menu {
    margin-bottom: 3.6505867014vw;
  }
}
.footer__secondary__menu li {
  width: fit-content;
}
.footer__secondary__menu li span {
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  .footer__secondary__menu li span {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  .footer__secondary__menu li span {
    font-size: 2.8683181226vw;
  }
}
.footer__secondary__menu li span {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .footer__secondary__menu li span {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .footer__secondary__menu li span {
    letter-spacing: 0.260756193vw;
  }
}
.footer__secondary__menu li span {
  text-shadow: 0 0 0.6944444444vw rgba(255, 255, 255, 0.95);
}
.footer__secondary__menu li + li {
  padding-left: 2em;
}
.footer__secondary__menu li + li span {
  position: relative;
}
.footer__secondary__menu li + li span::before {
  position: absolute;
  content: "/";
  left: -1em;
  color: color-mix(in srgb, var(--color-main) 55%, transparent);
}

.creater__container {
  position: relative;
  z-index: 2;
  margin-bottom: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .creater__container {
    margin-bottom: 21.3333333333px;
  }
}
@media (max-width: 767px) {
  .creater__container {
    margin-bottom: 20.8604954368vw;
  }
}
.creater__container span {
  margin: 0 auto;
  display: block;
  width: fit-content;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .creater__container span {
    font-size: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .creater__container span {
    font-size: 2.6075619296vw;
  }
}
.creater__container span {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .creater__container span {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .creater__container span {
    letter-spacing: 0.260756193vw;
  }
}
.creater__container span {
  text-transform: uppercase;
  text-shadow: 0 0 0.6944444444vw rgba(255, 255, 255, 0.9);
}
.creater__container span a {
  font-weight: 400;
  text-align: center;
  color: color-mix(in srgb, var(--color-main) 85%, transparent);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  text-transform: none;
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .creater__container span a {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .creater__container span a {
    letter-spacing: 0.1303780965vw;
  }
}
.creater__container span a {
  transition: opacity 0.3s;
}
.creater__container span a:hover {
  opacity: 0.8;
}

.footer__fixed__button {
  display: none;
}
@media not screen and (min-width: 768px) {
  .footer__fixed__button {
    position: fixed;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    background: rgba(255, 253, 252, 0.94);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid color-mix(in srgb, var(--color-main) 35%, transparent);
  }
  .footer__fixed__button li {
    height: 13.5593220339vw;
    background: transparent;
    width: 100%;
  }
  .footer__fixed__button li + li {
    border-left: 1px solid color-mix(in srgb, var(--color-main) 20%, transparent);
  }
  .footer__fixed__button li a {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .footer__fixed__button li a svg {
    width: 4.1720990874vw;
    height: 4.1720990874vw;
    fill: var(--color-main);
  }
  .footer__fixed__button li a span {
    font-size: 2.6075619296vw;
    letter-spacing: 0.260756193vw;
    font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    color: var(--color-text);
    line-height: 1;
    margin-top: 1.0430247718vw;
  }
}

/* ============================================
   Loading
   ============================================ */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background-color: #fdf7f6;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 0.6s 1s forwards;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.loading__logo {
  opacity: 0;
  animation: logo_fade 1s 0.25s forwards;
  width: 175px;
}
@keyframes logo_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ============================================
   Hero — もふもふのメインビジュアル
   ============================================ */
.hero__section {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 43.0555555556vw;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 0;
  overflow: hidden;
}
@media not screen and (min-width: 768px) {
  .hero__section {
    height: 100vh;
    min-height: 146.0234680574vw;
  }
}
.hero__section picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero__section .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  animation: hero_breath 26s ease-in-out infinite;
}
@keyframes hero_breath {
  0%, 100% {
    transform: scale(1.03) translateY(0);
  }
  50% {
    transform: scale(1.07) translateY(-1%);
  }
}

.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 42%, rgba(255, 252, 250, 0.42) 72%, rgba(255, 252, 250, 0.58) 100%);
}
@media not screen and (min-width: 768px) {
  .hero__overlay {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 252, 250, 0.5) 72%, rgba(255, 252, 250, 0.72) 100%);
  }
}

.hero__wave {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.0694444444vw;
  height: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .hero__wave {
    height: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .hero__wave {
    height: 18.2529335072vw;
  }
}
.hero__wave {
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 253, 252, 0.55) 55%, rgba(255, 253, 252, 0.85) 100%);
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 L0,60 A80,42 0 0 1 160,60 A100,50 0 0 1 360,60 A70,34 0 0 1 500,60 A90,46 0 0 1 680,60 A75,38 0 0 1 830,60 A105,52 0 0 1 1040,60 A65,32 0 0 1 1170,60 A85,44 0 0 1 1340,60 A50,26 0 0 1 1440,60 L1440,100 Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 L0,60 A80,42 0 0 1 160,60 A100,50 0 0 1 360,60 A70,34 0 0 1 500,60 A90,46 0 0 1 680,60 A75,38 0 0 1 830,60 A105,52 0 0 1 1040,60 A65,32 0 0 1 1170,60 A85,44 0 0 1 1340,60 A50,26 0 0 1 1440,60 L1440,100 Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.hero__container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 3;
  width: 36.1111111111vw;
}
@media (min-width: 1920px) {
  .hero__container {
    width: 693.3333333333px;
  }
}
@media (max-width: 767px) {
  .hero__container {
    width: 86.0495436767vw;
  }
}
.hero__container {
  margin-left: auto;
  margin-right: 8.3333333333vw;
}
@media (min-width: 1920px) {
  .hero__container {
    margin-right: 160px;
  }
}
@media (max-width: 767px) {
  .hero__container {
    margin-right: 0vw;
  }
}
@media not screen and (min-width: 768px) {
  .hero__container {
    position: absolute;
    left: 50%;
    bottom: 20.8604954368vw;
    transform: translateX(-50%);
    margin: 0;
  }
}

.hero__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  line-height: 1;
}

.hero__title__sub {
  display: block;
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .hero__title__sub {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .hero__title__sub {
    font-size: 3.3898305085vw;
  }
}
.hero__title__sub {
  letter-spacing: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .hero__title__sub {
    letter-spacing: 10.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__title__sub {
    letter-spacing: 1.3037809648vw;
  }
}
.hero__title__sub {
  color: var(--color-main);
  text-indent: 0.5em;
  line-height: 1;
  text-shadow: 0 0 1.1111111111vw rgba(255, 255, 255, 0.95);
}

.hero__title__main {
  display: block;
  font-size: 4.5833333333vw;
}
@media (min-width: 1920px) {
  .hero__title__main {
    font-size: 88px;
  }
}
@media (max-width: 767px) {
  .hero__title__main {
    font-size: 11.9947848761vw;
  }
}
.hero__title__main {
  letter-spacing: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .hero__title__main {
    letter-spacing: 16px;
  }
}
@media (max-width: 767px) {
  .hero__title__main {
    letter-spacing: 2.0860495437vw;
  }
}
.hero__title__main {
  margin-top: 1.25vw;
}
@media (min-width: 1920px) {
  .hero__title__main {
    margin-top: 24px;
  }
}
@media (max-width: 767px) {
  .hero__title__main {
    margin-top: 3.6505867014vw;
  }
}
.hero__title__main {
  color: var(--color-main);
  text-indent: 0.35em;
  line-height: 1.15;
  text-shadow: 0 0 2.0833333333vw rgba(255, 255, 255, 0.95), 0 0.1388888889vw 0.6944444444vw rgba(255, 255, 255, 0.8);
}

.hero__subtitle {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .hero__subtitle {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .hero__subtitle {
    font-size: 2.8683181226vw;
  }
}
.hero__subtitle {
  letter-spacing: 0.3472222222vw;
}
@media (min-width: 1920px) {
  .hero__subtitle {
    letter-spacing: 6.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__subtitle {
    letter-spacing: 0.7822685789vw;
  }
}
.hero__subtitle {
  margin-top: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .hero__subtitle {
    margin-top: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__subtitle {
    margin-top: 2.6075619296vw;
  }
}
.hero__subtitle {
  color: var(--color-main);
  opacity: 0.85;
  line-height: 1;
  text-indent: 0.4em;
  text-shadow: 0 0 0.9722222222vw rgba(255, 255, 255, 0.9);
}

.hero__discription {
  margin-top: 1.8055555556vw;
}
@media (min-width: 1920px) {
  .hero__discription {
    margin-top: 34.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__discription {
    margin-top: 5.2151238592vw;
  }
}
.hero__discription {
  width: 100%;
}
.hero__discription p {
  text-align: center;
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .hero__discription p {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .hero__discription p {
    font-size: 3.259452412vw;
  }
}
.hero__discription p {
  line-height: 2.1;
  letter-spacing: 0.1041666667vw;
}
@media (min-width: 1920px) {
  .hero__discription p {
    letter-spacing: 2px;
  }
}
@media (max-width: 767px) {
  .hero__discription p {
    letter-spacing: 0.2086049544vw;
  }
}
.hero__discription p {
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  text-shadow: 0 0 0.9722222222vw rgba(255, 255, 255, 0.95);
}

.hero__cta {
  margin-top: 2.3611111111vw;
}
@media (min-width: 1920px) {
  .hero__cta {
    margin-top: 45.3333333333px;
  }
}
@media (max-width: 767px) {
  .hero__cta {
    margin-top: 6.7796610169vw;
  }
}
.hero__cta {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ============================================
   もこもこパネル(セクションを白い面で囲み、上下を綿雲で区切る)
   ============================================ */
.wave__panel {
  position: relative;
  background: rgba(255, 255, 255, 0.78);
  padding-top: 6.25vw;
}
@media (min-width: 1920px) {
  .wave__panel {
    padding-top: 120px;
  }
}
@media (max-width: 767px) {
  .wave__panel {
    padding-top: 15.6453715776vw;
  }
}
.wave__panel {
  padding-bottom: 6.25vw;
}
@media (min-width: 1920px) {
  .wave__panel {
    padding-bottom: 120px;
  }
}
@media (max-width: 767px) {
  .wave__panel {
    padding-bottom: 15.6453715776vw;
  }
}
.wave__panel {
  margin-top: 8.3333333333vw;
}
@media (min-width: 1920px) {
  .wave__panel {
    margin-top: 160px;
  }
}
@media (max-width: 767px) {
  .wave__panel {
    margin-top: 20.8604954368vw;
  }
}
.wave__panel {
  margin-bottom: 8.3333333333vw;
}
@media (min-width: 1920px) {
  .wave__panel {
    margin-bottom: 160px;
  }
}
@media (max-width: 767px) {
  .wave__panel {
    margin-bottom: 20.8604954368vw;
  }
}

.wave__panel + .wave__panel {
  margin-top: 0;
}

.wave__panel:has(+ .wave__panel) {
  margin-bottom: 0;
}

.wave__panel + .wave__panel::before {
  display: none;
}

.wave__panel:has(+ .wave__panel)::after {
  display: none;
}

.wave__panel::before,
.wave__panel::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 4.8611111111vw;
}
@media (min-width: 1920px) {
  .wave__panel::before,
  .wave__panel::after {
    height: 93.3333333333px;
  }
}
@media (max-width: 767px) {
  .wave__panel::before,
  .wave__panel::after {
    height: 10.4302477184vw;
  }
}
.wave__panel::before,
.wave__panel::after {
  background: rgba(255, 255, 255, 0.78);
  pointer-events: none;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 L0,60 A80,42 0 0 1 160,60 A100,50 0 0 1 360,60 A70,34 0 0 1 500,60 A90,46 0 0 1 680,60 A75,38 0 0 1 830,60 A105,52 0 0 1 1040,60 A65,32 0 0 1 1170,60 A85,44 0 0 1 1340,60 A50,26 0 0 1 1440,60 L1440,100 Z' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 L0,60 A80,42 0 0 1 160,60 A100,50 0 0 1 360,60 A70,34 0 0 1 500,60 A90,46 0 0 1 680,60 A75,38 0 0 1 830,60 A105,52 0 0 1 1040,60 A65,32 0 0 1 1170,60 A85,44 0 0 1 1340,60 A50,26 0 0 1 1440,60 L1440,100 Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.wave__panel::before {
  bottom: 100%;
}

.wave__panel::after {
  top: 100%;
  transform: scaleY(-1);
}

/* ============================================
   News Headline (marquee)
   ============================================ */
.news__headline__section {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.66);
  border-top: 1px solid color-mix(in srgb, var(--color-main) 28%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--color-main) 28%, transparent);
}

.news__headline__section .headline__label {
  background: var(--color-button);
  color: var(--color-button-text);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9.7222222222vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label {
    width: 186.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label {
    width: 23.4680573664vw;
  }
}
.news__headline__section .headline__label {
  height: 3.8888888889vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label {
    height: 74.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label {
    height: 9.9087353325vw;
  }
}
.news__headline__section .headline__label {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  letter-spacing: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label {
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label {
    letter-spacing: 0.5215123859vw;
  }
}
.news__headline__section .headline__label span {
  position: relative;
  font-size: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label span {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label span {
    font-size: 2.8683181226vw;
  }
}
.news__headline__section .headline__label span {
  margin-left: -1em;
}
.news__headline__section .headline__label span:after {
  position: absolute;
  content: "▶︎";
  top: 50%;
  transform: translateY(-50%);
  right: -1.5625vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label span:after {
    right: -30px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label span:after {
    right: -3.9113428944vw;
  }
}
.news__headline__section .headline__label span:after {
  font-size: 0.625vw;
}
@media (min-width: 1920px) {
  .news__headline__section .headline__label span:after {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .headline__label span:after {
    font-size: 2.0860495437vw;
  }
}

.news__headline__section .news__item {
  padding-left: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .news__headline__section .news__item {
    padding-left: 40px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .news__item {
    padding-left: 3.9113428944vw;
  }
}
.news__headline__section .news__item {
  width: calc(100% - 9.7222222222vw);
  overflow: hidden;
}
@media not screen and (min-width: 768px) {
  .news__headline__section .news__item {
    width: calc(100% - 23.4680573664vw);
  }
}
.news__headline__section .news__item p {
  animation: marquee 18s linear infinite;
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .news__headline__section .news__item p {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .news__item p {
    font-size: 3.1290743155vw;
  }
}
.news__headline__section .news__item p {
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .news__headline__section .news__item p {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__headline__section .news__item p {
    letter-spacing: 0.1303780965vw;
  }
}
.news__headline__section .news__item p {
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  transition: opacity 0.3s;
}
@keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-50%);
  }
}
.news__headline__section .news__item p:hover {
  opacity: 0.7;
}
@media not screen and (min-width: 768px) {
  .news__headline__section .news__item p:hover {
    opacity: inherit;
  }
}

/* ============================================
   Topics
   ============================================ */
.topics__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .topics__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .topics__section {
    margin-top: 20.8604954368vw;
  }
}
.topics__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .topics__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .topics__section {
    padding-top: 5.2151238592vw;
  }
}

.topics__section .main__banner__container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.topics__section .main__banner {
  position: relative;
  width: 100%;
  max-width: 61.1111111111vw;
}
@media (min-width: 1920px) {
  .topics__section .main__banner {
    max-width: 1173.3333333333px;
  }
}
@media (max-width: 767px) {
  .topics__section .main__banner {
    max-width: 91.2646675359vw;
  }
}
.topics__section .main__banner {
  margin: 0 auto 1.3888888889vw;
  border-radius: 1.8055555556vw;
  overflow: hidden;
  box-shadow: 0 0.6944444444vw 1.9444444444vw rgba(214, 168, 186, 0.18);
  transition: transform 0.5s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.5s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .topics__section .main__banner {
    border-radius: 4.1720990874vw;
  }
}
.topics__section .main__banner:hover {
  transform: translateY(-0.2777777778vw);
  box-shadow: 0 1.25vw 2.6388888889vw rgba(214, 168, 186, 0.26);
}
@media not screen and (min-width: 768px) {
  .topics__section .main__banner:hover {
    transform: none;
  }
}
.topics__section .main__banner a {
  display: block;
  position: relative;
}
.topics__section .main__banner img {
  width: 100%;
}

/* ============================================
   Today's Therapist
   ============================================ */
.todays__section {
  position: relative;
}

/* ============================================
   Top News + SNS
   ============================================ */
.top__news__x__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .top__news__x__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .top__news__x__section {
    margin-top: 20.8604954368vw;
  }
}
.top__news__x__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .top__news__x__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .top__news__x__section {
    padding-top: 5.2151238592vw;
  }
}
.top__news__x__section {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  gap: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .top__news__x__section {
    gap: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .top__news__x__section {
    gap: 0vw;
  }
}
@media not screen and (min-width: 768px) {
  .top__news__x__section {
    flex-direction: column;
    gap: 15.6453715776vw;
  }
}

.top__news__wrapper {
  width: 60%;
  position: relative;
}
@media not screen and (min-width: 768px) {
  .top__news__wrapper {
    width: 100%;
  }
}

.top__fix__news {
  background: rgba(255, 255, 255, 0.72);
  color: var(--color-text);
  border: 1px solid color-mix(in srgb, var(--color-main) 32%, transparent);
  border-radius: 1.8055555556vw;
  box-sizing: border-box;
  min-height: 18.0555555556vw;
}
@media (min-width: 1920px) {
  .top__fix__news {
    min-height: 346.6666666667px;
  }
}
@media (max-width: 767px) {
  .top__fix__news {
    min-height: 41.7209908735vw;
  }
}
.top__fix__news {
  padding-top: 2.5vw;
}
@media (min-width: 1920px) {
  .top__fix__news {
    padding-top: 48px;
  }
}
@media (max-width: 767px) {
  .top__fix__news {
    padding-top: 6.258148631vw;
  }
}
.top__fix__news {
  padding-bottom: 2.5vw;
}
@media (min-width: 1920px) {
  .top__fix__news {
    padding-bottom: 48px;
  }
}
@media (max-width: 767px) {
  .top__fix__news {
    padding-bottom: 6.258148631vw;
  }
}
.top__fix__news {
  padding-left: 2.5vw;
}
@media (min-width: 1920px) {
  .top__fix__news {
    padding-left: 48px;
  }
}
@media (max-width: 767px) {
  .top__fix__news {
    padding-left: 5.7366362451vw;
  }
}
.top__fix__news {
  padding-right: 2.5vw;
}
@media (min-width: 1920px) {
  .top__fix__news {
    padding-right: 48px;
  }
}
@media (max-width: 767px) {
  .top__fix__news {
    padding-right: 5.7366362451vw;
  }
}
.top__fix__news {
  position: relative;
  box-shadow: 0 0.6944444444vw 1.8055555556vw rgba(214, 168, 186, 0.16);
}
@media not screen and (min-width: 768px) {
  .top__fix__news {
    border-radius: 4.1720990874vw;
  }
}
.top__fix__news h3 {
  font-size: 1.25vw;
}
@media (min-width: 1920px) {
  .top__fix__news h3 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .top__fix__news h3 {
    font-size: 4.4328552803vw;
  }
}
.top__fix__news h3 {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .top__fix__news h3 {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .top__fix__news h3 {
    letter-spacing: 0.260756193vw;
  }
}
.top__fix__news h3 {
  margin-bottom: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .top__fix__news h3 {
    margin-bottom: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .top__fix__news h3 {
    margin-bottom: 2.6075619296vw;
  }
}
.top__fix__news h3 {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: var(--color-main);
  line-height: 1.6;
}
.top__fix__news p {
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .top__fix__news p {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .top__fix__news p {
    font-size: 3.3898305085vw;
  }
}
.top__fix__news p {
  margin-bottom: 1.5277777778vw;
}
@media (min-width: 1920px) {
  .top__fix__news p {
    margin-bottom: 29.3333333333px;
  }
}
@media (max-width: 767px) {
  .top__fix__news p {
    margin-bottom: 4.6936114733vw;
  }
}
.top__fix__news p {
  line-height: 1.9;
  color: var(--color-text);
}
.top__fix__news a {
  display: inline-block;
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 0.8333333333vw;
}
@media (min-width: 1920px) {
  .top__fix__news a {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .top__fix__news a {
    font-size: 2.8683181226vw;
  }
}
.top__fix__news a {
  letter-spacing: 0.2083333333vw;
}
@media (min-width: 1920px) {
  .top__fix__news a {
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .top__fix__news a {
    letter-spacing: 0.5215123859vw;
  }
}
.top__fix__news a {
  color: var(--color-main);
  text-transform: uppercase;
  padding-bottom: 0.2777777778vw;
  border-bottom: 1px solid color-mix(in srgb, var(--color-main) 60%, transparent);
  transition: opacity 0.3s;
}
.top__fix__news a:hover {
  opacity: 0.65;
}

/* SNS ボタン群 */
.x__wrapper {
  width: 40%;
  margin-left: 2.7777777778vw;
}
@media not screen and (min-width: 768px) {
  .x__wrapper {
    width: 100%;
    margin-top: 15.6453715776vw;
    margin-left: 0;
  }
}
.x__wrapper .zerotwo__container,
.x__wrapper .line__container,
.x__wrapper .x__container,
.x__wrapper .threads__container,
.x__wrapper .bluesky__container,
.x__wrapper .instagram__container,
.x__wrapper .tiktok__container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1em;
}
.x__wrapper .zerotwo__container a,
.x__wrapper .line__container a,
.x__wrapper .x__container a,
.x__wrapper .threads__container a,
.x__wrapper .bluesky__container a,
.x__wrapper .instagram__container a,
.x__wrapper .tiktok__container a {
  transition: transform 0.3s, opacity 0.3s;
}
.x__wrapper .zerotwo__container a:hover,
.x__wrapper .line__container a:hover,
.x__wrapper .x__container a:hover,
.x__wrapper .threads__container a:hover,
.x__wrapper .bluesky__container a:hover,
.x__wrapper .instagram__container a:hover,
.x__wrapper .tiktok__container a:hover {
  opacity: 0.85;
  transform: translateY(-0.2083333333vw);
}
@media not screen and (min-width: 768px) {
  .x__wrapper .zerotwo__container a:hover,
  .x__wrapper .line__container a:hover,
  .x__wrapper .x__container a:hover,
  .x__wrapper .threads__container a:hover,
  .x__wrapper .bluesky__container a:hover,
  .x__wrapper .instagram__container a:hover,
  .x__wrapper .tiktok__container a:hover {
    opacity: inherit;
    transform: none;
  }
}

.zerotwo__feed__button,
.line__feed__button,
.twitter__feed__button,
.threads__feed__button,
.bluesky__feed__button,
.instagram__feed__button,
.tiktok__feed__button {
  width: 22.2222222222vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button,
  .line__feed__button,
  .twitter__feed__button,
  .threads__feed__button,
  .bluesky__feed__button,
  .instagram__feed__button,
  .tiktok__feed__button {
    width: 426.6666666667px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button,
  .line__feed__button,
  .twitter__feed__button,
  .threads__feed__button,
  .bluesky__feed__button,
  .instagram__feed__button,
  .tiktok__feed__button {
    width: 93.8722294654vw;
  }
}
.zerotwo__feed__button,
.line__feed__button,
.twitter__feed__button,
.threads__feed__button,
.bluesky__feed__button,
.instagram__feed__button,
.tiktok__feed__button {
  height: 7.6388888889vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button,
  .line__feed__button,
  .twitter__feed__button,
  .threads__feed__button,
  .bluesky__feed__button,
  .instagram__feed__button,
  .tiktok__feed__button {
    height: 146.6666666667px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button,
  .line__feed__button,
  .twitter__feed__button,
  .threads__feed__button,
  .bluesky__feed__button,
  .instagram__feed__button,
  .tiktok__feed__button {
    height: 22.1642764016vw;
  }
}
.zerotwo__feed__button,
.line__feed__button,
.twitter__feed__button,
.threads__feed__button,
.bluesky__feed__button,
.instagram__feed__button,
.tiktok__feed__button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 1.5277777778vw;
  box-shadow: 0 0.5555555556vw 1.3888888889vw rgba(214, 168, 186, 0.18);
  background-size: 200% 200%;
  animation: bggradient 7s ease infinite;
}
@media not screen and (min-width: 768px) {
  .zerotwo__feed__button,
  .line__feed__button,
  .twitter__feed__button,
  .threads__feed__button,
  .bluesky__feed__button,
  .instagram__feed__button,
  .tiktok__feed__button {
    border-radius: 3.6505867014vw;
  }
}
.zerotwo__feed__button span,
.line__feed__button span,
.twitter__feed__button span,
.threads__feed__button span,
.bluesky__feed__button span,
.instagram__feed__button span,
.tiktok__feed__button span {
  z-index: 1;
  color: var(--color-white);
  font-size: 1.1805555556vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button span,
  .line__feed__button span,
  .twitter__feed__button span,
  .threads__feed__button span,
  .bluesky__feed__button span,
  .instagram__feed__button span,
  .tiktok__feed__button span {
    font-size: 22.6666666667px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button span,
  .line__feed__button span,
  .twitter__feed__button span,
  .threads__feed__button span,
  .bluesky__feed__button span,
  .instagram__feed__button span,
  .tiktok__feed__button span {
    font-size: 4.1720990874vw;
  }
}
.zerotwo__feed__button span,
.line__feed__button span,
.twitter__feed__button span,
.threads__feed__button span,
.bluesky__feed__button span,
.instagram__feed__button span,
.tiktok__feed__button span {
  text-align: center;
  line-height: 1.75;
}
.zerotwo__feed__button img,
.zerotwo__feed__button svg,
.line__feed__button img,
.line__feed__button svg,
.twitter__feed__button img,
.twitter__feed__button svg,
.threads__feed__button img,
.threads__feed__button svg,
.bluesky__feed__button img,
.bluesky__feed__button svg,
.instagram__feed__button img,
.instagram__feed__button svg,
.tiktok__feed__button img,
.tiktok__feed__button svg {
  width: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button img,
  .zerotwo__feed__button svg,
  .line__feed__button img,
  .line__feed__button svg,
  .twitter__feed__button img,
  .twitter__feed__button svg,
  .threads__feed__button img,
  .threads__feed__button svg,
  .bluesky__feed__button img,
  .bluesky__feed__button svg,
  .instagram__feed__button img,
  .instagram__feed__button svg,
  .tiktok__feed__button img,
  .tiktok__feed__button svg {
    width: 40px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button img,
  .zerotwo__feed__button svg,
  .line__feed__button img,
  .line__feed__button svg,
  .twitter__feed__button img,
  .twitter__feed__button svg,
  .threads__feed__button img,
  .threads__feed__button svg,
  .bluesky__feed__button img,
  .bluesky__feed__button svg,
  .instagram__feed__button img,
  .instagram__feed__button svg,
  .tiktok__feed__button img,
  .tiktok__feed__button svg {
    width: 7.8226857888vw;
  }
}
.zerotwo__feed__button img,
.zerotwo__feed__button svg,
.line__feed__button img,
.line__feed__button svg,
.twitter__feed__button img,
.twitter__feed__button svg,
.threads__feed__button img,
.threads__feed__button svg,
.bluesky__feed__button img,
.bluesky__feed__button svg,
.instagram__feed__button img,
.instagram__feed__button svg,
.tiktok__feed__button img,
.tiktok__feed__button svg {
  height: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button img,
  .zerotwo__feed__button svg,
  .line__feed__button img,
  .line__feed__button svg,
  .twitter__feed__button img,
  .twitter__feed__button svg,
  .threads__feed__button img,
  .threads__feed__button svg,
  .bluesky__feed__button img,
  .bluesky__feed__button svg,
  .instagram__feed__button img,
  .instagram__feed__button svg,
  .tiktok__feed__button img,
  .tiktok__feed__button svg {
    height: 40px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button img,
  .zerotwo__feed__button svg,
  .line__feed__button img,
  .line__feed__button svg,
  .twitter__feed__button img,
  .twitter__feed__button svg,
  .threads__feed__button img,
  .threads__feed__button svg,
  .bluesky__feed__button img,
  .bluesky__feed__button svg,
  .instagram__feed__button img,
  .instagram__feed__button svg,
  .tiktok__feed__button img,
  .tiktok__feed__button svg {
    height: 7.8226857888vw;
  }
}
.zerotwo__feed__button span img,
.zerotwo__feed__button span svg,
.line__feed__button span img,
.line__feed__button span svg,
.twitter__feed__button span img,
.twitter__feed__button span svg,
.threads__feed__button span img,
.threads__feed__button span svg,
.bluesky__feed__button span img,
.bluesky__feed__button span svg,
.instagram__feed__button span img,
.instagram__feed__button span svg,
.tiktok__feed__button span img,
.tiktok__feed__button span svg {
  width: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button span img,
  .zerotwo__feed__button span svg,
  .line__feed__button span img,
  .line__feed__button span svg,
  .twitter__feed__button span img,
  .twitter__feed__button span svg,
  .threads__feed__button span img,
  .threads__feed__button span svg,
  .bluesky__feed__button span img,
  .bluesky__feed__button span svg,
  .instagram__feed__button span img,
  .instagram__feed__button span svg,
  .tiktok__feed__button span img,
  .tiktok__feed__button span svg {
    width: 40px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button span img,
  .zerotwo__feed__button span svg,
  .line__feed__button span img,
  .line__feed__button span svg,
  .twitter__feed__button span img,
  .twitter__feed__button span svg,
  .threads__feed__button span img,
  .threads__feed__button span svg,
  .bluesky__feed__button span img,
  .bluesky__feed__button span svg,
  .instagram__feed__button span img,
  .instagram__feed__button span svg,
  .tiktok__feed__button span img,
  .tiktok__feed__button span svg {
    width: 7.8226857888vw;
  }
}
.zerotwo__feed__button span img,
.zerotwo__feed__button span svg,
.line__feed__button span img,
.line__feed__button span svg,
.twitter__feed__button span img,
.twitter__feed__button span svg,
.threads__feed__button span img,
.threads__feed__button span svg,
.bluesky__feed__button span img,
.bluesky__feed__button span svg,
.instagram__feed__button span img,
.instagram__feed__button span svg,
.tiktok__feed__button span img,
.tiktok__feed__button span svg {
  height: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .zerotwo__feed__button span img,
  .zerotwo__feed__button span svg,
  .line__feed__button span img,
  .line__feed__button span svg,
  .twitter__feed__button span img,
  .twitter__feed__button span svg,
  .threads__feed__button span img,
  .threads__feed__button span svg,
  .bluesky__feed__button span img,
  .bluesky__feed__button span svg,
  .instagram__feed__button span img,
  .instagram__feed__button span svg,
  .tiktok__feed__button span img,
  .tiktok__feed__button span svg {
    height: 40px;
  }
}
@media (max-width: 767px) {
  .zerotwo__feed__button span img,
  .zerotwo__feed__button span svg,
  .line__feed__button span img,
  .line__feed__button span svg,
  .twitter__feed__button span img,
  .twitter__feed__button span svg,
  .threads__feed__button span img,
  .threads__feed__button span svg,
  .bluesky__feed__button span img,
  .bluesky__feed__button span svg,
  .instagram__feed__button span img,
  .instagram__feed__button span svg,
  .tiktok__feed__button span img,
  .tiktok__feed__button span svg {
    height: 7.8226857888vw;
  }
}

.zerotwo__feed__button {
  background: #242424;
}

.line__feed__button {
  background: #06c755;
}

.twitter__feed__button {
  background: #101010;
}

.threads__feed__button {
  background: #101010;
}

.bluesky__feed__button {
  background: #0f72fe;
}

.instagram__feed__button {
  background: linear-gradient(to right, #fdd672 0%, #f96a31 45%, #e20a8d 75%, #333cf2 100%);
}
.instagram__feed__button span {
  padding: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .instagram__feed__button span {
    padding: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .instagram__feed__button span {
    padding: 4.1720990874vw;
  }
}

.tiktok__feed__button {
  background: linear-gradient(to right, #69c7d0 0%, #ec1f52 50%, #000000 100%);
}
.tiktok__feed__button span {
  padding: 2.7777777778vw;
}
@media (min-width: 1920px) {
  .tiktok__feed__button span {
    padding: 53.3333333333px;
  }
}
@media (max-width: 767px) {
  .tiktok__feed__button span {
    padding: 4.1720990874vw;
  }
}

/* ============================================
   New Therapist & Pickup
   ============================================ */
.new__therapist__section,
.picup__section {
  position: relative;
}

/* ============================================
   Diary
   ============================================ */
.diary__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .diary__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .diary__section {
    margin-top: 20.8604954368vw;
  }
}
.diary__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .diary__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .diary__section {
    padding-top: 5.2151238592vw;
  }
}

.diary__posts__container {
  width: 68.0555555556vw;
}
@media (min-width: 1920px) {
  .diary__posts__container {
    width: 1306.6666666667px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container {
    width: 91.2646675359vw;
  }
}
.diary__posts__container {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .diary__posts__container {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container {
    gap: 0vw;
  }
}
@media not screen and (min-width: 768px) {
  .diary__posts__container {
    flex-direction: column;
    gap: 5.2151238592vw;
  }
}
.diary__posts__container li {
  width: 20%;
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .diary__posts__container li {
    width: 100%;
  }
}
.diary__posts__container li:hover {
  transform: translateY(-0.2777777778vw);
}
@media not screen and (min-width: 768px) {
  .diary__posts__container li:hover {
    transform: none;
  }
}
.diary__posts__container li a {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media not screen and (min-width: 768px) {
  .diary__posts__container li a {
    flex-direction: row;
    gap: 3.1290743155vw;
  }
}
.diary__posts__container .post__thumbnail {
  width: 11.6666666667vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__thumbnail {
    width: 224px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__thumbnail {
    width: 23.4680573664vw;
  }
}
.diary__posts__container .post__thumbnail {
  height: 11.6666666667vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__thumbnail {
    height: 224px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__thumbnail {
    height: 23.4680573664vw;
  }
}
.diary__posts__container .post__thumbnail {
  overflow: hidden;
  position: relative;
  border-radius: 1.25vw;
  box-shadow: 0 0.4166666667vw 1.1111111111vw rgba(214, 168, 186, 0.16);
}
@media not screen and (min-width: 768px) {
  .diary__posts__container .post__thumbnail {
    border-radius: 3.9113428944vw;
  }
}
.diary__posts__container .post__details {
  width: 100%;
  margin-top: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__details {
    margin-top: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__details {
    margin-top: 0vw;
  }
}
@media not screen and (min-width: 768px) {
  .diary__posts__container .post__details {
    width: calc(100% - 26.5971316819vw);
  }
}
.diary__posts__container .post__details h3 {
  color: var(--color-text);
  font-size: 0.9722222222vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__details h3 {
    font-size: 18.6666666667px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__details h3 {
    font-size: 3.3898305085vw;
  }
}
.diary__posts__container .post__details h3 {
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__details h3 {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__details h3 {
    letter-spacing: 0.1303780965vw;
  }
}
.diary__posts__container .post__details h3 {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.diary__posts__container .post__meta {
  margin-top: 0.6944444444vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__meta {
    margin-top: 13.3333333333px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__meta {
    margin-top: 1.5645371578vw;
  }
}
.diary__posts__container .post__meta span {
  display: block;
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__meta span {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__meta span {
    font-size: 2.6075619296vw;
  }
}
.diary__posts__container .post__meta span {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .diary__posts__container .post__meta span {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .diary__posts__container .post__meta span {
    letter-spacing: 0.260756193vw;
  }
}
.diary__posts__container .post__meta span {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  color: var(--color-main);
  text-transform: uppercase;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* ============================================
   Access
   ============================================ */
.access__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .access__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .access__section {
    margin-top: 20.8604954368vw;
  }
}
.access__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .access__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .access__section {
    padding-top: 5.2151238592vw;
  }
}

.access__section .map__continer {
  margin-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .access__section .map__continer {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .access__section .map__continer {
    margin-top: 5.2151238592vw;
  }
}
.access__section .map__continer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.access__section .map__content {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid color-mix(in srgb, var(--color-main) 30%, transparent);
  border-radius: 1.8055555556vw;
  overflow: hidden;
  box-shadow: 0 0.6944444444vw 1.8055555556vw rgba(214, 168, 186, 0.16);
  width: 44.4444444444vw;
}
@media (min-width: 1920px) {
  .access__section .map__content {
    width: 853.3333333333px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content {
    width: 93.8722294654vw;
  }
}
.access__section .map__content {
  margin-bottom: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .access__section .map__content {
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content {
    margin-bottom: 5.2151238592vw;
  }
}
@media not screen and (min-width: 768px) {
  .access__section .map__content {
    border-radius: 4.1720990874vw;
  }
}
.access__section .map__content h3 {
  font-size: 1.25vw;
}
@media (min-width: 1920px) {
  .access__section .map__content h3 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content h3 {
    font-size: 4.1720990874vw;
  }
}
.access__section .map__content h3 {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .access__section .map__content h3 {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content h3 {
    letter-spacing: 0.260756193vw;
  }
}
.access__section .map__content h3 {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  background: var(--color-main);
  color: var(--color-white);
  padding: 0.9722222222vw 1.6666666667vw;
}
@media not screen and (min-width: 768px) {
  .access__section .map__content h3 {
    padding: 2.6075619296vw 3.6505867014vw;
  }
}
.access__section .map__content .map__address {
  color: var(--color-text);
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .access__section .map__content .map__address {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content .map__address {
    font-size: 3.3898305085vw;
  }
}
.access__section .map__content .map__address {
  line-height: 1.9;
  padding: 1.1111111111vw 1.3888888889vw;
}
@media not screen and (min-width: 768px) {
  .access__section .map__content .map__address {
    padding: 3.1290743155vw 3.6505867014vw;
  }
}
.access__section .map__content iframe,
.access__section .map__content .map-thumbnail {
  width: 44.4444444444vw;
}
@media (min-width: 1920px) {
  .access__section .map__content iframe,
  .access__section .map__content .map-thumbnail {
    width: 853.3333333333px;
  }
}
@media (max-width: 767px) {
  .access__section .map__content iframe,
  .access__section .map__content .map-thumbnail {
    width: 93.8722294654vw;
  }
}
.access__section .map__content iframe,
.access__section .map__content .map-thumbnail {
  margin: 0 auto;
  display: block;
}

/* ============================================
   News list
   ============================================ */
.news__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .news__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__section {
    margin-top: 20.8604954368vw;
  }
}
.news__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .news__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .news__section {
    padding-top: 5.2151238592vw;
  }
}

.news__list__container {
  width: 61.1111111111vw;
}
@media (min-width: 1920px) {
  .news__list__container {
    width: 1173.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container {
    width: 96.479791395vw;
  }
}
.news__list__container {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

.news__list__container .news__post {
  position: relative;
  margin-bottom: 1.5277777778vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post {
    margin-bottom: 29.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post {
    margin-bottom: 4.6936114733vw;
  }
}
.news__list__container .news__post {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid color-mix(in srgb, var(--color-main) 28%, transparent);
  border-radius: 1.6666666667vw;
  box-sizing: border-box;
  width: 100%;
  box-shadow: 0 0.5555555556vw 1.3888888889vw rgba(214, 168, 186, 0.14);
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .news__list__container .news__post {
    border-radius: 3.6505867014vw;
  }
}
.news__list__container .news__post:hover {
  transform: translateY(-0.2083333333vw);
  box-shadow: 0 0.9722222222vw 2.0833333333vw rgba(214, 168, 186, 0.22);
}
@media not screen and (min-width: 768px) {
  .news__list__container .news__post:hover {
    transform: none;
    box-shadow: 0 1.5645371578vw 4.1720990874vw rgba(214, 168, 186, 0.14);
  }
}
.news__list__container .news__post .news__category {
  position: absolute;
  background: var(--color-label);
  border-radius: 999px;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -0.8333333333vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category {
    top: -16px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category {
    top: -2.6075619296vw;
  }
}
.news__list__container .news__post .news__category {
  left: 1.3888888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category {
    left: 26.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category {
    left: 3.6505867014vw;
  }
}
.news__list__container .news__post .news__category {
  width: 7.6388888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category {
    width: 146.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category {
    width: 26.075619296vw;
  }
}
.news__list__container .news__post .news__category {
  height: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category {
    height: 32px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category {
    height: 5.7366362451vw;
  }
}
.news__list__container .news__post .news__category {
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  text-transform: uppercase;
}
.news__list__container .news__post .news__category a {
  color: var(--color-label-text);
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category a {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category a {
    font-size: 2.8683181226vw;
  }
}
.news__list__container .news__post .news__category a {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__category a {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__category a {
    letter-spacing: 0.260756193vw;
  }
}
.news__list__container .news__post a {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  align-items: center;
  padding: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post a {
    padding: 21.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post a {
    padding: 3.1290743155vw;
  }
}
.news__list__container .news__post .news__post__thumbnail {
  width: 6.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__thumbnail {
    width: 128px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__thumbnail {
    width: 18.2529335072vw;
  }
}
.news__list__container .news__post .news__post__thumbnail {
  height: 6.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__thumbnail {
    height: 128px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__thumbnail {
    height: 18.2529335072vw;
  }
}
.news__list__container .news__post .news__post__thumbnail {
  min-width: 6.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__thumbnail {
    min-width: 128px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__thumbnail {
    min-width: 18.2529335072vw;
  }
}
.news__list__container .news__post .news__post__thumbnail {
  min-height: 6.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__thumbnail {
    min-height: 128px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__thumbnail {
    min-height: 18.2529335072vw;
  }
}
.news__list__container .news__post .news__post__thumbnail {
  overflow: hidden;
  border-radius: 0.8333333333vw;
  margin: 0;
}
@media not screen and (min-width: 768px) {
  .news__list__container .news__post .news__post__thumbnail {
    border-radius: 2.6075619296vw;
  }
}
.news__list__container .news__post .news__post__details {
  margin-left: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details {
    margin-left: 32px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details {
    margin-left: 3.6505867014vw;
  }
}
.news__list__container .news__post .news__post__details {
  height: 6.6666666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details {
    height: 128px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details {
    height: 18.2529335072vw;
  }
}
.news__list__container .news__post .news__post__details {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  width: calc(100% - 8.3333333333vw);
}
@media not screen and (min-width: 768px) {
  .news__list__container .news__post .news__post__details {
    width: calc(100% - 24.7718383312vw);
  }
}
.news__list__container .news__post .news__post__details .news__post__date {
  font-size: 0.7638888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details .news__post__date {
    font-size: 14.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details .news__post__date {
    font-size: 2.8683181226vw;
  }
}
.news__list__container .news__post .news__post__details .news__post__date {
  letter-spacing: 0.1388888889vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details .news__post__date {
    letter-spacing: 2.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details .news__post__date {
    letter-spacing: 0.260756193vw;
  }
}
.news__list__container .news__post .news__post__details .news__post__date {
  color: var(--color-main);
  font-family: "Quicksand", "Hiragino Maru Gothic ProN", sans-serif;
  text-transform: uppercase;
}
.news__list__container .news__post .news__post__details h3 {
  margin-top: 0.5555555556vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details h3 {
    margin-top: 10.6666666667px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details h3 {
    margin-top: 1.5645371578vw;
  }
}
.news__list__container .news__post .news__post__details h3 {
  font-size: 1.1111111111vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details h3 {
    font-size: 21.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details h3 {
    font-size: 3.6505867014vw;
  }
}
.news__list__container .news__post .news__post__details h3 {
  letter-spacing: 0.0694444444vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details h3 {
    letter-spacing: 1.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details h3 {
    letter-spacing: 0.1303780965vw;
  }
}
.news__list__container .news__post .news__post__details h3 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 1.5;
  width: 100%;
  color: var(--color-text);
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.news__list__container .news__post .news__post__details p {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details p {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details p {
    font-size: 3.1290743155vw;
  }
}
.news__list__container .news__post .news__post__details p {
  margin-top: 0.4166666667vw;
}
@media (min-width: 1920px) {
  .news__list__container .news__post .news__post__details p {
    margin-top: 8px;
  }
}
@media (max-width: 767px) {
  .news__list__container .news__post .news__post__details p {
    margin-top: 1.0430247718vw;
  }
}
.news__list__container .news__post .news__post__details p {
  line-height: 1.7;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  color: color-mix(in srgb, var(--color-text) 75%, transparent);
}

/* ============================================
   Greeting (現状未使用、雛形のみ残置)
   ============================================ */
.greeting__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .greeting__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .greeting__section {
    margin-top: 20.8604954368vw;
  }
}
.greeting__section {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.greeting__section .greeting__wrapper {
  background: rgba(255, 255, 255, 0.72);
  border-radius: 1.3888888889vw;
  padding: 5.2151238592vw 0 2.6075619296vw;
}
.greeting__section .greeting__container {
  margin: 2.6075619296vw;
}
.greeting__section .greeting__container p {
  font-size: 1.0416666667vw;
}
@media (min-width: 1920px) {
  .greeting__section .greeting__container p {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .greeting__section .greeting__container p {
    font-size: 3.3898305085vw;
  }
}
.greeting__section .greeting__container p {
  color: var(--color-text);
  line-height: 1.95;
  text-align: center;
}

/* ============================================
   Concept (子ページ用)
   ============================================ */
.concept__section {
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .concept__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .concept__section {
    margin-top: 20.8604954368vw;
  }
}
.concept__section .concept__list {
  display: flex;
  flex-direction: column;
}
.concept__section .concept__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4.1666666667vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list li {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list li {
    margin-top: 15.6453715776vw;
  }
}
@media not screen and (min-width: 768px) {
  .concept__section .concept__list li {
    flex-direction: column;
  }
}
.concept__section .concept__list li.reverse {
  flex-direction: row-reverse;
}
@media not screen and (min-width: 768px) {
  .concept__section .concept__list li.reverse {
    flex-direction: column;
  }
}
.concept__section .concept__list__heading {
  width: 34.7222222222vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__heading {
    width: 666.6666666667px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__heading {
    width: 93.8722294654vw;
  }
}
.concept__section .concept__list__heading h3 {
  color: var(--color-text);
  font-size: 1.5277777778vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__heading h3 {
    font-size: 29.3333333333px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__heading h3 {
    font-size: 5.7366362451vw;
  }
}
.concept__section .concept__list__heading h3 {
  font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ Pro W4", "Zen Maru Gothic", "M PLUS Rounded 1c", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  letter-spacing: -1px;
}
.concept__section .concept__list__heading h3 span {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__heading h3 span {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__heading h3 span {
    font-size: 3.3898305085vw;
  }
}
.concept__section .concept__list__heading h3 span {
  margin-left: 1em;
}
.concept__section .concept__list__heading p {
  margin-top: 1.3888888889vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__heading p {
    margin-top: 26.6666666667px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__heading p {
    margin-top: 2.6075619296vw;
  }
}
.concept__section .concept__list__heading p {
  font-size: 0.9027777778vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__heading p {
    font-size: 17.3333333333px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__heading p {
    font-size: 3.3898305085vw;
  }
}
.concept__section .concept__list__heading p {
  color: var(--color-text);
  line-height: 1.9;
}
.concept__section .concept__list__image {
  width: 27.7777777778vw;
}
@media (min-width: 1920px) {
  .concept__section .concept__list__image {
    width: 533.3333333333px;
  }
}
@media (max-width: 767px) {
  .concept__section .concept__list__image {
    width: 93.8722294654vw;
  }
}
.concept__section .concept__list__image {
  border-radius: 1.3888888889vw;
  overflow: hidden;
}
@media not screen and (min-width: 768px) {
  .concept__section .concept__list__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 5.2151238592vw;
    border-radius: 4.1720990874vw;
  }
}

/* ============================================
   Link section (banner grid)
   ============================================ */
.link__section {
  position: relative;
  margin-top: 9.0277777778vw;
}
@media (min-width: 1920px) {
  .link__section {
    margin-top: 173.3333333333px;
  }
}
@media (max-width: 767px) {
  .link__section {
    margin-top: 20.8604954368vw;
  }
}
.link__section {
  padding-top: 2.0833333333vw;
}
@media (min-width: 1920px) {
  .link__section {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .link__section {
    padding-top: 5.2151238592vw;
  }
}

.link__section .ad__banner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6666666667vw;
}
@media (min-width: 1920px) {
  .link__section .ad__banner {
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .link__section .ad__banner {
    gap: 3.1290743155vw;
  }
}
.link__section .ad__banner {
  margin: 0 auto;
  width: 83.3333333333vw;
}
@media (min-width: 1920px) {
  .link__section .ad__banner {
    width: 1600px;
  }
}
@media (max-width: 767px) {
  .link__section .ad__banner {
    width: 93.8722294654vw;
  }
}
.link__section .ad__banner a {
  max-width: 13.8888888889vw;
}
@media (min-width: 1920px) {
  .link__section .ad__banner a {
    max-width: 266.6666666667px;
  }
}
@media (max-width: 767px) {
  .link__section .ad__banner a {
    max-width: 41.7209908735vw;
  }
}
.link__section .ad__banner a {
  width: 13.8888888889vw;
}
@media (min-width: 1920px) {
  .link__section .ad__banner a {
    width: 266.6666666667px;
  }
}
@media (max-width: 767px) {
  .link__section .ad__banner a {
    width: 41.7209908735vw;
  }
}
.link__section .ad__banner a {
  color: var(--color-text);
  display: block;
  border-radius: 0.8333333333vw;
  overflow: hidden;
  box-shadow: 0 0.4166666667vw 1.1111111111vw rgba(214, 168, 186, 0.16);
  transition: transform 0.4s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
@media not screen and (min-width: 768px) {
  .link__section .ad__banner a {
    border-radius: 2.6075619296vw;
  }
}
.link__section .ad__banner a:hover {
  transform: translateY(-0.2777777778vw);
  box-shadow: 0 0.8333333333vw 1.8055555556vw rgba(214, 168, 186, 0.24);
}
@media not screen and (min-width: 768px) {
  .link__section .ad__banner a:hover {
    transform: none;
    box-shadow: none;
  }
}
.link__section .ad__banner a img {
  width: 100% !important;
}

.link__section .ad__banner.credit__banner a {
  width: 34.7222222222vw;
}
@media (min-width: 1920px) {
  .link__section .ad__banner.credit__banner a {
    width: 666.6666666667px;
  }
}
@media (max-width: 767px) {
  .link__section .ad__banner.credit__banner a {
    width: 65.1890482399vw;
  }
}
.link__section .ad__banner.credit__banner a {
  max-width: unset;
}
