/* =============================================
　　Design Regulation
============================================= */

:root {

	/* --- Color Palette --- */
	--color-primary: #c4567a;
	--color-primary-light: #d4789a;
	--color-primary-dark: #a8456a;
	--color-secondary: #8b6b7a;
	--color-accent: #c4a265;
	--color-accent-light: #d4b87f;
	--color-base: #d38bb1;
	--color-text: #3a2e32;
	--color-text-muted: #7a6e72;
	--color-link: #5a4550;
	--color-border: rgba(42,34,38,0.08);
	--color-border-accent: rgba(196,86,122,0.12);

	/* --- Background --- */
	--bg-warm: #fdfbfa;
	--bg-alt: #f7f3f0;
	--bg-accent-soft: #faf5ee;
	--bg-card: #ffffff;

	/* --- Border Radius --- */
	--radius-subtle: 12px;
	--radius-card: 16px;
	--radius-pill: 9999px;

	/* --- Typography Scale (モバイルファースト) --- */
	--font-size-display: clamp(2.6rem, 1.6rem + 2vw, 3.4rem);    /* ヒーロー・ページタイトル */
	--font-size-heading: clamp(2rem, 1.4rem + 1.2vw, 2.6rem);     /* h2 セクション見出し */
	--font-size-subheading: clamp(1.6rem, 1.2rem + 0.8vw, 2rem);  /* h3 小見出し */
	--font-size-body: clamp(1.4rem, 1.2rem + 0.4vw, 1.6rem);      /* 本文 */
	--font-size-caption: clamp(1.2rem, 1rem + 0.3vw, 1.3rem);     /* キャプション・補足 */
	--font-size-tag: clamp(1rem, 0.9rem + 0.2vw, 1.1rem);         /* タグ・ラベル・注釈 */

	/* --- Staff Card Typography --- */
	--staff-font-size: clamp(1.4rem, 1.1rem + 0.5vw, 1.6rem);

	/* --- Spacing --- */
	--space-section: 5rem;
	--space-block: 3.2rem;
	--space-element: 1.6rem;
}


body {
  background-color: var(--bg-warm);
  color: var(--color-text);
  font-size: var(--font-size-body);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  min-width: 320px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
}

.nav__cta .cta span {
    font-size: var(--font-size-heading);
}

/* =============================================
　　swiper
============================================= */


.js-swiper.swiper {
  width: 100%;
  min-width: 0;
}

.js-swiper .swiper-slide {
  min-width: 0;
  display: flex;
  height: auto;
}
.js-swiper .swiper-wrapper {
  display: flex !important;
   justify-content: flex-start;
   height: auto;
}


.js-swiper .swiper-horizontal>.swiper-pagination-bullets,
.js-swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.js-swiper .swiper-pagination-custom, .swiper-pagination-fraction {
	position: relative;
	margin-top: 4rem;
	bottom:0;
	top:0;
}
.js-swiper .swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--color-base);
}
.js-swiper .swiper-pagination-bullet {
  width:10px;
  height:10px;
  display: inline-block;
}

.js-swiper .swiper-button-next,
.js-swiper .swiper-button-prev {
	position: absolute;
	width: auto;
	height: auto;
	background: #fff;
	border-radius: 9999px;
}
.js-swiper .swiper-button-next:after,
.js-swiper .swiper-button-prev:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color:#000;
	background-repeat: no-repeat;
	background-position: center;
	width: 40px;
	height:40px;
	display: block;
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20157.58%20157.58%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M78.79%2C0C35.27%2C0%2C0%2C35.27%2C0%2C78.79s35.27%2C78.79%2C78.79%2C78.79%2C78.79-35.27%2C78.79-78.79S122.3%2C0%2C78.79%2C0ZM67.88%2C111.24l-2.63-2.63%2C29.81-29.81-29.81-29.81%2C2.63-2.63%2C32.45%2C32.45-32.45%2C32.45Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}

.js-swiper .swiper-button-prev:after {
  transform: rotate(180deg);
}
.js-swiper-loop .swiper-wrapper {
  transition-timing-function: linear;
}

.js-swiper-staff.swiper{
  padding:calc(var(--layout-space-base-horizontal) * 0.5) var(--layout-space-base-horizontal);
}

/* =============================================
　　text-
============================================= */


/* =============================================
　　Typography Regulation
============================================= */

.text-heading {
  font-size: var(--font-size-heading);
  text-align: center;
  font-weight: 300;
  font-family: var(--font-family-Noto-Serif);
  letter-spacing: 0.12em;
  color: var(--color-base);
}

.text-read {
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 2;
  color: var(--color-text);
}

.text-base {
  font-size: var(--font-size-body);
  font-weight: 400;
}

[class^="text-"] small {
  font-size: 70%;
}

/* =============================================
　　.align-
============================================= */

.align-c{
text-align: var(--align-center);
}
.align-c-sp{
text-align: var(--align-center-sp);
}
.align-l{
text-align: var(--align-left);
}
.align-l-sp{
text-align: var(--align-left-sp);
}
.align-r{
text-align: var(--align-right);
}
.align-r-sp{
text-align: var(--align-right-sp);
}


/* =============================================
　　.アニメーション
============================================= */

  /* アニメーションさせたい要素の基本スタイル */
  .fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  .fade-in-up.active {
    opacity: 1;
    transform: translateY(0);
  }

 /* アニメーションの定義 */
  @keyframes riseUp {
    /* 開始時（下から、透明な状態） */
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    /* 終了時（定位置で、不透明な状態） */
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }


/* =============================================
　　.section
============================================= */

main{
	font-family: var(--font-family-Noto-Serif);
}
.header {
	display: flex;
	text-align: center;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	height: 60px;
}
.header a {
	display: block;
	height: 50px;
	object-fit: contain;
	color: #fff;
	font-size: 0;
	padding-top:10px;
}
.header img {
	object-fit: contain;
	height: 100%;
	filter: brightness(0) invert(1);
}

footer {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  background: var(--color-primary-dark);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  position: relative;
  z-index: 1001;
}


article {
  position: relative;
}
picture {
  width: 100%;
  display: flex;
}

main img{
	max-width: 100%;
	height: auto;
}

/* h3 共通ベーススタイル */
main h3 {
  font-family: var(--font-family-Noto-Serif);
  font-size: var(--font-size-subheading);
  color: var(--color-primary);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

main a.btn{
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: var(--radius-pill);
	font-family: var(--font-family-Noto-Sans);
	font-size: calc(var(--font-size-caption) * 1.2);
	font-weight: 500;
	letter-spacing: 0.08em;
	padding: 1rem 2.4rem;
	transition: all 0.3s ease;
}
main a.btn:hover {
	opacity: 0.85;
	transform: translateY(-1px);
}

.c-section{
	max-width: 100%;
	position: relative;
	padding: var(--space-section) 0 0;

	z-index: 1;
}

.c-section.c-section-header {
  padding: 0;
}

.c-section__body{
	position: relative;
	padding: 0 var(--layout-space-base-horizontal);
	display: grid;
	gap: var(--space-block);
}

.c-section__inner{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.c-section__inner.wide{
	position: relative;
	padding:0rem;
}

.c-section__contents{
	position: relative;
	display: grid;
	align-items: start;
	justify-content: center;
	justify-items: center;
	gap: var(--space-block);
}




.contents__inner {
  display: grid;
  gap: 2rem;
  justify-content: center;
  justify-items: center;
}

.img {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-basis: auto;
}
figure{
	position: relative;
	display: flex;
	width: 100%;
	margin: 00;
	padding: 0;
}


body {
  background-color: var(--bg-alt);
}

main {
  max-width: 520px;
  margin: 0 auto;
  background-color: var(--bg-warm);
  box-shadow: 0 0 40px rgba(42,34,38,0.08);
  position: relative;
}

/* =============================================
.text-heading
============================================= */

.headring__body{
	max-width: 100%;
	position: relative;
	  padding: calc(var(--layout-space-section) * 0.5) 0 calc(var(--layout-space-section) * 0.5);
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}



h1.text-heading {
  color: var(--color-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-display);
  font-weight: 300;
  letter-spacing: 0.15em;
}

.h2-heading {
  border: none;
  padding: 0.6rem 0;
  color: var(--color-primary);
  letter-spacing: 0.14em;
  font-weight: 300;
  font-size: var(--font-size-heading);
  font-family: var(--font-family-Noto-Serif);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  line-height: 1.4;
  gap: 0.4rem;
}
.h2-heading .mask-icon {
  width: 40px;
  height: 40px;
}


/* =============================================
.nav__cta
============================================= */
.nav__cta .cta {
	background: var(--color-accent);
	color: #fff;
	border-radius: 0;
	font-weight: 500;
}


/* =============================================
.mask-icon
============================================= */

.mask-icon {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: currentColor;
    width: max(70px, 70px);
    height: max(60px, 60px);
}
.tel {
    -webkit-mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20102.93%20161%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23c80421%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m59.38%2C108.16c8.63%2C3.13%2C12.92-.87%2C14.5-3.65%2C1.58-2.79%2C2.92-6.58%2C1.57-8.48-1.34-1.89-3.35-3.75-6.8-4.9-3.41-1.13-4.32-.81-5.42-.78-1.4.04-2.28%2C1.14-2.78%2C2.44-.5%2C1.3-1.58%2C3.62-2.62%2C3.17-1.03-.45-5.8-4.32-10.84-11.41-5.03-7.09-7.12-12.86-7.21-13.99-.08-1.12%2C2.44-1.25%2C3.83-1.29%2C1.39-.04%2C2.72-.51%2C3.22-1.82.39-1.02%2C1.02-1.9%2C1.07-5.51.05-3.64-1.04-6.15-2.39-8.04-1.35-1.89-5.37-1.88-8.52-1.3-3.15.58-8.33%2C3.31-8.22%2C12.49.12%2C9.18%2C5.67%2C19.83%2C9.7%2C25.51%2C4.03%2C5.68%2C12.26%2C14.43%2C20.9%2C17.56Z%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m84.23%2C0H18.7C8.37%2C0%2C0%2C8.37%2C0%2C18.7v112.37c0%2C16.53%2C13.4%2C29.93%2C29.93%2C29.93h43.08c16.53%2C0%2C29.93-13.4%2C29.93-29.93V18.7c0-10.33-8.37-18.7-18.7-18.7Zm-32.76%2C151.32c-2.55%2C0-4.62-2.07-4.62-4.62s2.07-4.62%2C4.62-4.62%2C4.62%2C2.07%2C4.62%2C4.62-2.07%2C4.62-4.62%2C4.62ZM39.59%2C7.04h23.75c1.34%2C0%2C2.42%2C1.09%2C2.42%2C2.42s-1.08%2C2.42-2.42%2C2.42h-23.75c-1.34%2C0-2.42-1.09-2.42-2.42%2C0-1.34%2C1.08-2.42%2C2.42-2.42Zm-29.03%2C124.03V22.43h81.82v108.64c0%2C1.21-.13%2C2.39-.34%2C3.53H10.9c-.21-1.15-.34-2.32-.34-3.53Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
    mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20102.93%20161%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23c80421%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m59.38%2C108.16c8.63%2C3.13%2C12.92-.87%2C14.5-3.65%2C1.58-2.79%2C2.92-6.58%2C1.57-8.48-1.34-1.89-3.35-3.75-6.8-4.9-3.41-1.13-4.32-.81-5.42-.78-1.4.04-2.28%2C1.14-2.78%2C2.44-.5%2C1.3-1.58%2C3.62-2.62%2C3.17-1.03-.45-5.8-4.32-10.84-11.41-5.03-7.09-7.12-12.86-7.21-13.99-.08-1.12%2C2.44-1.25%2C3.83-1.29%2C1.39-.04%2C2.72-.51%2C3.22-1.82.39-1.02%2C1.02-1.9%2C1.07-5.51.05-3.64-1.04-6.15-2.39-8.04-1.35-1.89-5.37-1.88-8.52-1.3-3.15.58-8.33%2C3.31-8.22%2C12.49.12%2C9.18%2C5.67%2C19.83%2C9.7%2C25.51%2C4.03%2C5.68%2C12.26%2C14.43%2C20.9%2C17.56Z%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m84.23%2C0H18.7C8.37%2C0%2C0%2C8.37%2C0%2C18.7v112.37c0%2C16.53%2C13.4%2C29.93%2C29.93%2C29.93h43.08c16.53%2C0%2C29.93-13.4%2C29.93-29.93V18.7c0-10.33-8.37-18.7-18.7-18.7Zm-32.76%2C151.32c-2.55%2C0-4.62-2.07-4.62-4.62s2.07-4.62%2C4.62-4.62%2C4.62%2C2.07%2C4.62%2C4.62-2.07%2C4.62-4.62%2C4.62ZM39.59%2C7.04h23.75c1.34%2C0%2C2.42%2C1.09%2C2.42%2C2.42s-1.08%2C2.42-2.42%2C2.42h-23.75c-1.34%2C0-2.42-1.09-2.42-2.42%2C0-1.34%2C1.08-2.42%2C2.42-2.42Zm-29.03%2C124.03V22.43h81.82v108.64c0%2C1.21-.13%2C2.39-.34%2C3.53H10.9c-.21-1.15-.34-2.32-.34-3.53Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}
.sms {
    -webkit-mask-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjQuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Il94MzFfMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDM0NS40IDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzQ1LjQgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzM3NDE0OTt9Cjwvc3R5bGU+CjxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwOC4zLDMzNy40Yy0xMy40LDguMi0yOC41LDE0LjYtNDQuOCwxOC43djQ3LjRINDQuOVY4NC4xSDI2M2gwLjV2MzUuMWMxMy45LDMuNSwyNi44LDguNywzOC42LDE1LjIKCQljMiwxLjIsNC4xLDIuMyw2LjEsMy41di0wLjFjMC4xLDAsMC4xLDAuMSwwLjIsMC4xVjM0LjZjMC0xOS4yLTE1LjQtMzQuNi0zNC42LTM0LjZIMzQuNkMxNS41LDAsMCwxNS40LDAsMzQuNnY0MzkuMQoJCUMwLDQ5NC45LDE3LjEsNTEyLDM4LjMsNTEySDI3MGMyMS4yLDAsMzguMy0xNy4xLDM4LjMtMzguMnYtODkuM2wwLjEtNDYuOGMwLDAtMC4xLDAtMC4xLDBWMzM3LjR6IE0xMjMsNDEuOGg2Mi4zCgkJYzMuOSwwLDcuMSwzLjMsNy4xLDcuMmMwLDMuOS0zLjIsNy4xLTcuMSw3LjFIMTIzYy0zLjksMC03LjEtMy4yLTcuMS03LjFDMTE1LjksNDUsMTE5LjEsNDEuOCwxMjMsNDEuOHogTTE1NC4yLDQ4My43CgkJYy0xNC40LDAtMjYuMi0xMS40LTI2LjgtMjUuNmMwLjYtMTQuNCwxMi4zLTI1LjgsMjYuOC0yNS44YzE0LjYsMCwyNi4zLDExLjQsMjYuOSwyNS44QzE4MC41LDQ3Mi4zLDE2OC42LDQ4My43LDE1NC4yLDQ4My43eiIvPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwOC4zLDE2Ni43Yy0xMi42LTkuOS0yNy44LTE3LjgtNDQuOC0yMi43Yy0xMy40LTMuOS0yNy45LTYuMS00My02LjFjLTY5LDAtMTI1LDQ0LjYtMTI1LDk5LjgKCQljMCwzMS43LDE4LjUsNTkuOCw0Ny4zLDc4LjJjLTQuMSwxMS43LTExLjIsMzAuNi0xNy4xLDQwLjJjLTEsMS42LDAuMiwzLjQsMS45LDMuNGMwLjIsMCwwLjUsMCwwLjctMC4yCgkJYzIwLjMtNywzOC44LTE4LjMsNTEuNC0yNy40YzEyLjgsMy41LDI2LjUsNS40LDQwLjcsNS40YzE1LjEsMCwyOS42LTIuMiw0My02LjFjMTctNSwzMi4yLTEyLjgsNDQuOC0yMi43YzIyLjktMTguMSwzNy00My4yLDM3LTcxCgkJQzM0NS40LDIwOS45LDMzMS4yLDE4NC44LDMwOC4zLDE2Ni43eiBNMTgyLjUsMjU1LjRjLTEsMi4yLTIuNiw0LjEtNC42LDUuNmMtMS45LDEuNS00LjIsMi42LTcsMy40Yy0yLjYsMC44LTUuNSwxLjItOC42LDEuMgoJCWMtNC41LDAtOC40LTAuNi0xMS45LTEuN2MtMy40LTEuMS02LjUtMy05LjItNS44Yy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuM2w3LjQtNy40YzEuOCwxLjksNCwzLjIsNi40LDMuOWMyLjUsMC43LDUsMSw3LjcsMQoJCWMzLjUsMCw2LjEtMC42LDcuOC0xLjljMS44LTEuMywyLjYtMywyLjYtNS40YzAtMi0wLjYtMy43LTEuOC00LjljLTAuNi0wLjYtMS4zLTEtMi0xLjJjLTAuNy0wLjMtMS44LTAuNi0zLjMtMC44bC03LTEKCQljLTIuNi0wLjQtNC45LTEtNi43LTEuOGMtMS44LTAuOC0zLjQtMS44LTQuNy0zLjFjLTIuOC0yLjctNC4yLTYuNi00LjItMTEuNmMwLTIuNiwwLjQtNSwxLjQtNy4yczIuMy00LjEsNC4xLTUuNgoJCWMxLjgtMS42LDMuOS0yLjgsNi40LTMuN2MyLjYtMC45LDUuNC0xLjQsOC42LTEuNGM0LjEsMCw3LjYsMC42LDEwLjYsMS42YzIuOSwxLDUuNiwyLjcsOCw1YzAuMSwwLjEsMC4yLDAuMiwwLjMsMC4zbC03LjMsNy4yCgkJYy0xLjgtMS44LTMuOC0yLjktNS45LTMuNGMtMi4yLTAuNS00LjItMC43LTYuMS0wLjdjLTMuMSwwLTUuNCwwLjctNi45LDIuMmMtMS40LDEuNC0yLjIsMy4yLTIuMiw1LjJjMCwwLjgsMC4yLDEuNSwwLjQsMi4yCgkJYzAuMiwwLjcsMC42LDEuNCwxLjMsMmMwLjYsMC42LDEuMywxLDIuMiwxLjRjMC45LDAuNCwxLjksMC43LDMuMiwwLjlsNywxYzIuNiwwLjQsNC45LDEsNi42LDEuN2MxLjgsMC43LDMuMywxLjcsNC42LDMKCQljMS42LDEuNCwyLjgsMy4yLDMuNSw1LjNjMC43LDIuMSwxLDQuNSwxLDcuMUMxODQuMiwyNTAuNiwxODMuNiwyNTMuMiwxODIuNSwyNTUuNHogTTI0OC4zLDI2NS4xaC0xMS41di0zNC4zbC0xMS4yLDIyLjNoLTcuOAoJCWwtNS45LTExLjhsLTUuMi0xMC42djAuM2wtMC4yLTAuM3YzNC4zSDE5NXYtNTguOWgxMS40bDkuNCwxOS41bDUuOCwxMi4zbDAuMS0wLjFsMC4xLDAuMmwxNS4zLTMxLjhoMTEuNEwyNDguMywyNjUuMUwyNDguMywyNjUuMQoJCXogTTI5OC40LDI1NS40Yy0xLjEsMi4yLTIuNiw0LjEtNC42LDUuNmMtMS45LDEuNS00LjIsMi42LTYuOSwzLjRjLTIuNywwLjgtNS42LDEuMi04LjYsMS4yYy00LjUsMC04LjUtMC42LTEyLTEuNwoJCWMtMC45LTAuMy0xLjgtMC42LTIuNy0xLjFjLTIuNC0xLjEtNC42LTIuOC02LjctNC45YzAsMC0wLjEtMC4xLTAuMS0wLjFsNi44LTYuOGwwLjYtMC42YzEuOCwxLjksNCwzLjIsNi41LDMuOWMyLjQsMC43LDUsMSw3LjcsMQoJCWMzLjQsMCw2LjEtMC42LDcuOC0xLjljMS44LTEuMywyLjYtMywyLjYtNS40YzAtMi0wLjYtMy43LTEuOC00LjljLTAuNi0wLjYtMS4zLTEtMi0xLjJjLTAuNy0wLjMtMS44LTAuNi0zLjMtMC44bC03LTEKCQljLTIuNi0wLjQtNC45LTEtNi42LTEuOGMtMS44LTAuNy0zLjMtMS44LTQuNS0zYy0wLjEsMC0wLjItMC4xLTAuMi0wLjJjLTIuOC0yLjctNC4yLTYuNi00LjItMTEuNmMwLTIuNiwwLjUtNSwxLjQtNy4yCgkJYzAuNy0xLjgsMS44LTMuNCwzLTQuN2MwLjMtMC4zLDAuNi0wLjYsMS0wLjljMS44LTEuNiwzLjktMi44LDYuNS0zLjdjMi41LTAuOSw1LjQtMS40LDguNi0xLjRjNC4xLDAsNy43LDAuNiwxMC42LDEuNgoJCWMyLjksMSw1LjUsMi43LDgsNWMwLjEsMC4xLDAuMywwLjIsMC40LDAuM2wtNy4zLDcuMmMtMS44LTEuOC0zLjgtMi45LTUuOS0zLjRjLTIuMi0wLjUtNC4yLTAuNy02LjItMC43Yy0zLDAtNS40LDAuNy02LjgsMi4yCgkJYy0xLjQsMS40LTIuMiwzLjItMi4yLDUuMmMwLDAuOCwwLjIsMS41LDAuNCwyLjJjMC4yLDAuNywwLjcsMS40LDEuMywyYzAuNiwwLjYsMS40LDEsMi4yLDEuNGMwLjgsMC40LDEuOCwwLjcsMy4xLDAuOWw3LDEKCQljMi43LDAuNCw1LDEsNi43LDEuN2MxLjgsMC43LDMuMywxLjcsNC42LDNjMS42LDEuNCwyLjcsMy4yLDMuNCw1LjNjMC43LDIuMSwxLDQuNSwxLDcuMUMzMDAsMjUwLjYsMjk5LjUsMjUzLjIsMjk4LjQsMjU1LjR6Ii8+CjwvZz4KPC9zdmc+);
    mask-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjQuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Il94MzFfMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDM0NS40IDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzQ1LjQgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzM3NDE0OTt9Cjwvc3R5bGU+CjxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwOC4zLDMzNy40Yy0xMy40LDguMi0yOC41LDE0LjYtNDQuOCwxOC43djQ3LjRINDQuOVY4NC4xSDI2M2gwLjV2MzUuMWMxMy45LDMuNSwyNi44LDguNywzOC42LDE1LjIKCQljMiwxLjIsNC4xLDIuMyw2LjEsMy41di0wLjFjMC4xLDAsMC4xLDAuMSwwLjIsMC4xVjM0LjZjMC0xOS4yLTE1LjQtMzQuNi0zNC42LTM0LjZIMzQuNkMxNS41LDAsMCwxNS40LDAsMzQuNnY0MzkuMQoJCUMwLDQ5NC45LDE3LjEsNTEyLDM4LjMsNTEySDI3MGMyMS4yLDAsMzguMy0xNy4xLDM4LjMtMzguMnYtODkuM2wwLjEtNDYuOGMwLDAtMC4xLDAtMC4xLDBWMzM3LjR6IE0xMjMsNDEuOGg2Mi4zCgkJYzMuOSwwLDcuMSwzLjMsNy4xLDcuMmMwLDMuOS0zLjIsNy4xLTcuMSw3LjFIMTIzYy0zLjksMC03LjEtMy4yLTcuMS03LjFDMTE1LjksNDUsMTE5LjEsNDEuOCwxMjMsNDEuOHogTTE1NC4yLDQ4My43CgkJYy0xNC40LDAtMjYuMi0xMS40LTI2LjgtMjUuNmMwLjYtMTQuNCwxMi4zLTI1LjgsMjYuOC0yNS44YzE0LjYsMCwyNi4zLDExLjQsMjYuOSwyNS44QzE4MC41LDQ3Mi4zLDE2OC42LDQ4My43LDE1NC4yLDQ4My43eiIvPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMwOC4zLDE2Ni43Yy0xMi42LTkuOS0yNy44LTE3LjgtNDQuOC0yMi43Yy0xMy40LTMuOS0yNy45LTYuMS00My02LjFjLTY5LDAtMTI1LDQ0LjYtMTI1LDk5LjgKCQljMCwzMS43LDE4LjUsNTkuOCw0Ny4zLDc4LjJjLTQuMSwxMS43LTExLjIsMzAuNi0xNy4xLDQwLjJjLTEsMS42LDAuMiwzLjQsMS45LDMuNGMwLjIsMCwwLjUsMCwwLjctMC4yCgkJYzIwLjMtNywzOC44LTE4LjMsNTEuNC0yNy40YzEyLjgsMy41LDI2LjUsNS40LDQwLjcsNS40YzE1LjEsMCwyOS42LTIuMiw0My02LjFjMTctNSwzMi4yLTEyLjgsNDQuOC0yMi43YzIyLjktMTguMSwzNy00My4yLDM3LTcxCgkJQzM0NS40LDIwOS45LDMzMS4yLDE4NC44LDMwOC4zLDE2Ni43eiBNMTgyLjUsMjU1LjRjLTEsMi4yLTIuNiw0LjEtNC42LDUuNmMtMS45LDEuNS00LjIsMi42LTcsMy40Yy0yLjYsMC44LTUuNSwxLjItOC42LDEuMgoJCWMtNC41LDAtOC40LTAuNi0xMS45LTEuN2MtMy40LTEuMS02LjUtMy05LjItNS44Yy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuM2w3LjQtNy40YzEuOCwxLjksNCwzLjIsNi40LDMuOWMyLjUsMC43LDUsMSw3LjcsMQoJCWMzLjUsMCw2LjEtMC42LDcuOC0xLjljMS44LTEuMywyLjYtMywyLjYtNS40YzAtMi0wLjYtMy43LTEuOC00LjljLTAuNi0wLjYtMS4zLTEtMi0xLjJjLTAuNy0wLjMtMS44LTAuNi0zLjMtMC44bC03LTEKCQljLTIuNi0wLjQtNC45LTEtNi43LTEuOGMtMS44LTAuOC0zLjQtMS44LTQuNy0zLjFjLTIuOC0yLjctNC4yLTYuNi00LjItMTEuNmMwLTIuNiwwLjQtNSwxLjQtNy4yczIuMy00LjEsNC4xLTUuNgoJCWMxLjgtMS42LDMuOS0yLjgsNi40LTMuN2MyLjYtMC45LDUuNC0xLjQsOC42LTEuNGM0LjEsMCw3LjYsMC42LDEwLjYsMS42YzIuOSwxLDUuNiwyLjcsOCw1YzAuMSwwLjEsMC4yLDAuMiwwLjMsMC4zbC03LjMsNy4yCgkJYy0xLjgtMS44LTMuOC0yLjktNS45LTMuNGMtMi4yLTAuNS00LjItMC43LTYuMS0wLjdjLTMuMSwwLTUuNCwwLjctNi45LDIuMmMtMS40LDEuNC0yLjIsMy4yLTIuMiw1LjJjMCwwLjgsMC4yLDEuNSwwLjQsMi4yCgkJYzAuMiwwLjcsMC42LDEuNCwxLjMsMmMwLjYsMC42LDEuMywxLDIuMiwxLjRjMC45LDAuNCwxLjksMC43LDMuMiwwLjlsNywxYzIuNiwwLjQsNC45LDEsNi42LDEuN2MxLjgsMC43LDMuMywxLjcsNC42LDMKCQljMS42LDEuNCwyLjgsMy4yLDMuNSw1LjNjMC43LDIuMSwxLDQuNSwxLDcuMUMxODQuMiwyNTAuNiwxODMuNiwyNTMuMiwxODIuNSwyNTUuNHogTTI0OC4zLDI2NS4xaC0xMS41di0zNC4zbC0xMS4yLDIyLjNoLTcuOAoJCWwtNS45LTExLjhsLTUuMi0xMC42djAuM2wtMC4yLTAuM3YzNC4zSDE5NXYtNTguOWgxMS40bDkuNCwxOS41bDUuOCwxMi4zbDAuMS0wLjFsMC4xLDAuMmwxNS4zLTMxLjhoMTEuNEwyNDguMywyNjUuMUwyNDguMywyNjUuMQoJCXogTTI5OC40LDI1NS40Yy0xLjEsMi4yLTIuNiw0LjEtNC42LDUuNmMtMS45LDEuNS00LjIsMi42LTYuOSwzLjRjLTIuNywwLjgtNS42LDEuMi04LjYsMS4yYy00LjUsMC04LjUtMC42LTEyLTEuNwoJCWMtMC45LTAuMy0xLjgtMC42LTIuNy0xLjFjLTIuNC0xLjEtNC42LTIuOC02LjctNC45YzAsMC0wLjEtMC4xLTAuMS0wLjFsNi44LTYuOGwwLjYtMC42YzEuOCwxLjksNCwzLjIsNi41LDMuOWMyLjQsMC43LDUsMSw3LjcsMQoJCWMzLjQsMCw2LjEtMC42LDcuOC0xLjljMS44LTEuMywyLjYtMywyLjYtNS40YzAtMi0wLjYtMy43LTEuOC00LjljLTAuNi0wLjYtMS4zLTEtMi0xLjJjLTAuNy0wLjMtMS44LTAuNi0zLjMtMC44bC03LTEKCQljLTIuNi0wLjQtNC45LTEtNi42LTEuOGMtMS44LTAuNy0zLjMtMS44LTQuNS0zYy0wLjEsMC0wLjItMC4xLTAuMi0wLjJjLTIuOC0yLjctNC4yLTYuNi00LjItMTEuNmMwLTIuNiwwLjUtNSwxLjQtNy4yCgkJYzAuNy0xLjgsMS44LTMuNCwzLTQuN2MwLjMtMC4zLDAuNi0wLjYsMS0wLjljMS44LTEuNiwzLjktMi44LDYuNS0zLjdjMi41LTAuOSw1LjQtMS40LDguNi0xLjRjNC4xLDAsNy43LDAuNiwxMC42LDEuNgoJCWMyLjksMSw1LjUsMi43LDgsNWMwLjEsMC4xLDAuMywwLjIsMC40LDAuM2wtNy4zLDcuMmMtMS44LTEuOC0zLjgtMi45LTUuOS0zLjRjLTIuMi0wLjUtNC4yLTAuNy02LjItMC43Yy0zLDAtNS40LDAuNy02LjgsMi4yCgkJYy0xLjQsMS40LTIuMiwzLjItMi4yLDUuMmMwLDAuOCwwLjIsMS41LDAuNCwyLjJjMC4yLDAuNywwLjcsMS40LDEuMywyYzAuNiwwLjYsMS40LDEsMi4yLDEuNGMwLjgsMC40LDEuOCwwLjcsMy4xLDAuOWw3LDEKCQljMi43LDAuNCw1LDEsNi43LDEuN2MxLjgsMC43LDMuMywxLjcsNC42LDNjMS42LDEuNCwyLjcsMy4yLDMuNCw1LjNjMC43LDIuMSwxLDQuNSwxLDcuMUMzMDAsMjUwLjYsMjk5LjUsMjUzLjIsMjk4LjQsMjU1LjR6Ii8+CjwvZz4KPC9zdmc+);
}
.line {
    -webkit-mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20172.19%20163.89%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%2300b900%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m86.09%2C0C38.58%2C0%2C0%2C31.34%2C0%2C69.95c0%2C35.69%2C32.96%2C65.17%2C75.48%2C69.42h0c3.47.53%2C4.73%2C4.62%2C4.75%2C7.26.05%2C6.2-2.27%2C11.46-1.75%2C14.79.69%2C4.44%2C6.91%2C1.69%2C8.42.87%2C36.84-20.2%2C59.95-42.5%2C63.46-45.81%2C13.57-12.37%2C21.82-28.67%2C21.82-46.52C172.19%2C31.34%2C133.61%2C0%2C86.09%2C0Zm-29.59%2C87.77c0%2C.56-.45%2C1.01-1.01%2C1.01h-22.2c-.27%2C0-.52-.11-.71-.3-.19-.19-.3-.45-.3-.71v-35.65c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01v28.59h15.13c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06Zm14.32-35.65v35.65c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.06c-.56%2C0-1.01-.45-1.01-1.01v-35.65c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01h0Zm38.53%2C35.65c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.54c-.33%2C0-.64-.16-.83-.43l-15.83-22.77v22.2c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.06c-.56%2C0-1.01-.45-1.01-1.01v-35.65c0-.56.45-1.01%2C1.01-1.01h0s6.54%2C0%2C6.54%2C0c.33%2C0%2C.64.16.83.43l15.83%2C22.77v-22.2c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01v35.65s0%2C0%2C0%2C0Zm30.79-29.6c0%2C.56-.45%2C1.01-1.01%2C1.01h-15.47v6.72h15.47c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06c0%2C.56-.45%2C1.01-1.01%2C1.01h-15.47v6.72h15.47c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06c0%2C.56-.45%2C1.01-1.01%2C1.01h-22.53c-.56%2C0-1.01-.45-1.01-1.01v-35.65h0c0-.56.45-1.01%2C1.01-1.01h22.53c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
    mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20172.19%20163.89%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%2300b900%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m86.09%2C0C38.58%2C0%2C0%2C31.34%2C0%2C69.95c0%2C35.69%2C32.96%2C65.17%2C75.48%2C69.42h0c3.47.53%2C4.73%2C4.62%2C4.75%2C7.26.05%2C6.2-2.27%2C11.46-1.75%2C14.79.69%2C4.44%2C6.91%2C1.69%2C8.42.87%2C36.84-20.2%2C59.95-42.5%2C63.46-45.81%2C13.57-12.37%2C21.82-28.67%2C21.82-46.52C172.19%2C31.34%2C133.61%2C0%2C86.09%2C0Zm-29.59%2C87.77c0%2C.56-.45%2C1.01-1.01%2C1.01h-22.2c-.27%2C0-.52-.11-.71-.3-.19-.19-.3-.45-.3-.71v-35.65c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01v28.59h15.13c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06Zm14.32-35.65v35.65c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.06c-.56%2C0-1.01-.45-1.01-1.01v-35.65c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01h0Zm38.53%2C35.65c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.54c-.33%2C0-.64-.16-.83-.43l-15.83-22.77v22.2c0%2C.56-.45%2C1.01-1.01%2C1.01h-6.06c-.56%2C0-1.01-.45-1.01-1.01v-35.65c0-.56.45-1.01%2C1.01-1.01h0s6.54%2C0%2C6.54%2C0c.33%2C0%2C.64.16.83.43l15.83%2C22.77v-22.2c0-.56.45-1.01%2C1.01-1.01h6.06c.56%2C0%2C1.01.45%2C1.01%2C1.01v35.65s0%2C0%2C0%2C0Zm30.79-29.6c0%2C.56-.45%2C1.01-1.01%2C1.01h-15.47v6.72h15.47c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06c0%2C.56-.45%2C1.01-1.01%2C1.01h-15.47v6.72h15.47c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06c0%2C.56-.45%2C1.01-1.01%2C1.01h-22.53c-.56%2C0-1.01-.45-1.01-1.01v-35.65h0c0-.56.45-1.01%2C1.01-1.01h22.53c.56%2C0%2C1.01.45%2C1.01%2C1.01v6.06Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}

.logo {
  content: "";
  -webkit-mask-image: url('../img/common/logo.svg');
  mask-image: url('../img/common/logo.svg');
  object-fit: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: 100%;
  display: block;
  transition: all 0.4s;
  margin: 1rem auto;
  height: max(60px, 100px);
}
.mark {
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2062.8%2075.15%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M53.73%2C26.77c0-4.52-1.27-9.17-4.14-12.72-2.07-2.63-5.05-4.41-8.22-5.4-1.96-.56-3.84-1.44-5.46-2.68-1.13-.96-2.26-2.08-2.59-3.58-.23-.78-.1-1.59-.06-2.39-1.96%2C2.02-3%2C4.86-2.99%2C7.66-.02%2C3.99%2C1.6%2C7.9%2C4.23%2C10.87%2C1.72%2C1.89%2C3.61%2C3.63%2C5.47%2C5.38%2C2.71%2C2.47%2C5.48%2C5.07%2C7.01%2C8.47%2C1.48%2C3.1%2C1.94%2C6.72%2C1.06%2C10.06%2C3.69-4.31%2C5.67-10.01%2C5.7-15.67ZM47.3%2C20.39c-1.72-3.03-4.21-5.55-7-7.61-1.19-.9-2.54-1.56-3.73-2.47%2C3.95%2C1.82%2C7.87%2C4.07%2C10.58%2C7.55%2C2.6%2C3.43%2C3.97%2C7.73%2C3.91%2C12.03-.03%2C1.52-.12%2C3.07-.61%2C4.53.19-4.84-.68-9.81-3.15-14.03Z%22%20style%3D%22fill%3A%20%23815172%3B%22%2F%3E%20%3Cpath%20d%3D%22M52.91%2C15.75c3.08%2C2.38%2C5.37%2C5.67%2C7.04%2C9.15%2C4.26%2C8.77%2C3.75%2C19.76-1.67%2C27.92-4.93%2C7.66-13.73%2C12.44-22.75%2C13.08.86-1.61%2C1.83-3.2%2C3.19-4.45%2C3.07-3.08%2C6.32-5.98%2C9.57-8.87%2C3.78-3.37%2C7.25-7.28%2C9.18-12.03%2C2.4-5.69%2C2.43-12.37-.23-17.98-1.07-2.5-2.77-4.63-4.33-6.83Z%22%20style%3D%22fill%3A%20%23815172%3B%22%2F%3E%20%3Cpath%20d%3D%22M56.76%2C31.55c-.02%2C5.97-3.01%2C11.53-6.99%2C15.83-1.95%2C2.29-4.22%2C4.25-6.41%2C6.3-3.5%2C3.12-7.16%2C6.27-9.38%2C10.48-.96%2C2.13-1.74%2C4.58-1.01%2C6.9.44%2C1.68%2C1.74%2C2.89%2C2.9%2C4.1-3.47-1.21-6.72-3.11-9.42-5.61-2.79-2.71-4.88-6.49-4.61-10.48%2C0-1.77.72-3.41%2C1.34-5.03-2.61%2C1.19-4.88%2C3.38-5.66%2C6.21-.65%2C1.86-.5%2C3.86-.21%2C5.77-1.51-2.39-1.95-5.37-1.46-8.14.66-2.8%2C2.29-5.3%2C4.35-7.27%2C1.44-1.38%2C3.1-2.49%2C4.57-3.82%2C2.24-2.02%2C3.89-4.73%2C4.38-7.73l.03-.19c.16-1.66-.15-3.34-.69-4.92-.43%2C2.18-2.04%2C4.26-4.34%2C4.57.5-.77%2C1.17-1.42%2C1.62-2.23.81-1.42%2C1.09-3.15.69-4.74-.53-2.34-1.97-4.37-3.63-6.06-1.72-1.77-2.86-4.12-3.07-6.59-.12-1.09.26-2.16.84-3.07-2.31%2C1.15-3.94%2C3.28-5.03%2C5.57-.69%2C1.77-1.16%2C3.76-.63%2C5.64.21.77%2C1.08.94%2C1.73%2C1.19-.03-.28-.06-.55-.08-.82%2C1.34.87%2C2.35%2C2.19%2C3.03%2C3.62-.66-.38-1.23-.91-1.93-1.22-.64-.1-1.27.18-1.92.13.39%2C0%2C.56-.55.28-.77-.35-.37-.72-.72-1.07-1.1-.55%2C1.38-1.74%2C2.52-3.2%2C2.86l-.37.05c.55.75%2C1.25%2C1.37%2C1.91%2C2.02-.63%2C1.33-.18%2C2.85.6%2C4.01.1.95-.31%2C2.32.71%2C2.88%2C1.9.5%2C3.82-.52%2C5.72-.26.61%2C1.3%2C1.26%2C2.67%2C1.05%2C4.16-.1%2C1.31-.79%2C2.54-1.62%2C3.53-1.28%2C1.48-2.45%2C3.07-3.33%2C4.82-.55-2.34-1.62-4.68-3.5-6.25-1.32-1.21-3.03-1.92-4.76-2.27-.72-2.02-.89-4.19-1.05-6.31-.36-6.28%2C1.67-12.59%2C5.43-17.6%2C2.63-3.62%2C6.06-6.71%2C10.1-8.67.98-.46%2C1.94-1%2C3.03-1.19.29%2C1.51.52%2C3.05%2C1.06%2C4.49%2C1.02%2C2.99%2C2.87%2C5.64%2C5.05%2C7.9%2C2.51%2C2.33%2C5.24%2C4.43%2C7.74%2C6.77%2C1.04%2C1.06%2C2.17%2C2.05%2C3.01%2C3.29%2C2%2C2.84%2C3.02%2C6.45%2C2.39%2C9.91-.4%2C1.72-1.26%2C3.31-2.43%2C4.62-2.16%2C2.65-5.2%2C4.33-8.06%2C6.11l-.14.1c-1.72%2C1.54-3.48%2C3.14-4.52%2C5.24-1.29%2C2.33-1.79%2C5.11-1.21%2C7.72.25%2C1.62%2C1.1%2C3.06%2C1.99%2C4.4-.17-1.3-.62-2.58-.55-3.91.09-2.96%2C1.69-5.65%2C3.56-7.86.72-1%2C1.75-1.7%2C2.65-2.54%2C3.33-2.49%2C6.81-4.8%2C10.08-7.37%2C3.83-3.08%2C7.15-6.98%2C8.93-11.62.75-1.78%2C1.08-3.7%2C1.52-5.57Z%22%20style%3D%22fill%3A%20%231f88a5%3B%22%2F%3E%20%3Cpath%20d%3D%22M15.85%2C25.69c1.79-.42%2C3.35%2C1.08%2C4.28%2C2.46-1.12-1.13-2.65-1.71-4.18-2.02-.02-.11-.07-.33-.1-.44Z%22%20style%3D%22fill%3A%20%2317b2bc%3B%22%2F%3E%20%3Cpath%20d%3D%22M0%2C46.49c2.53-1.52%2C5.73-2.06%2C8.57-1.17%2C2.1.65%2C4.08%2C1.98%2C5.19%2C3.92.99%2C1.65%2C1.3%2C3.6%2C1.36%2C5.5-1.28-2.09-3.04-3.95-5.28-5-.87-.36-1.78-.61-2.68-.84.57.39%2C1.26.54%2C1.87.85%2C2.36%2C1.21%2C4.38%2C3.16%2C5.5%2C5.58-2.33.49-4.89.44-7.01-.72-1.62-.78-2.9-2.18-3.71-3.77-.58-.98-.9-2.12-1.67-2.98-.56-.66-1.37-1-2.13-1.36Z%22%20style%3D%22fill%3A%20%231f88a5%3B%22%2F%3E%20%3Cline%20x1%3D%2234.32%22%20y1%3D%2253.03%22%20x2%3D%2234.45%22%20y2%3D%2252.93%22%20style%3D%22fill%3A%20none%3B%22%2F%3E%20%3Cline%20x1%3D%2221.47%22%20y1%3D%2249.5%22%20x2%3D%2220.35%22%20y2%3D%2250.45%22%20style%3D%22fill%3A%20none%3B%22%2F%3E%20%3Cline%20x1%3D%2229.18%22%20y1%3D%2238.86%22%20x2%3D%2229.15%22%20y2%3D%2239.05%22%20style%3D%22fill%3A%20none%3B%22%2F%3E%20%3Cline%20x1%3D%2211.79%22%20y1%3D%2230.93%22%20x2%3D%2211.42%22%20y2%3D%2230.98%22%20style%3D%22fill%3A%20none%3B%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}
/* =============================================
.reservation-inner
============================================= */

#js-dialog-modal-reservation,
#js-dialog-modal-reservation .js-dialog-inner{
	background: var(--color-accent);
	max-width: 700px;
	margin: 0 auto;
}


.reservation-inner{
	font-family: var(--font-family-Noto-Serif);
}
#js-dialog-modal-reservation .reservation-inner{
}
#js-dialog-modal-reservation .js-dialog-inner{
	color: #fff;
}
#js-dialog-modal-reservation .reservation-inner a{
	color: #fff;
	text-decoration: none;
}

.reservation-inner h3{
  text-align: center;
  font-size: var(--font-size-heading);
}
.reservation-inner p{
  text-align: center;
  font-size: var(--font-size-sm);
}
.reservation-select {
	display: grid;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
}

.reservation-inner a{
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex-direction: column;
  padding: 1.6rem;
  background: var(--color-accent-light);
  border-radius: var(--radius-subtle);
}
.reservation-inner a:first-child{
	grid-column: 1 / 3;
	flex-direction: row;
}
.reservation-inner a p{
  font-size: var(--font-size-base);
}
.reservation-inner .mask-icon{
	width: max(50px, 50px);
	height: max(50px, 50px);
}


/* =============================================
#home
============================================= */

.fv__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#fv.c-section .txt{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
}
#fv.c-section h1 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: var(--color-primary);
	width:100%;
}
#fv.c-section h1.text-heading span{
  width: 80%;
}

/* --- FV Quick Access Nav --- */
.fv-quick-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 75%;
  width: 100%;
}
.fv-quick-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: var(--radius-subtle);
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  text-decoration: none;
  color: #fff;
  transition: background 0.25s ease, border-color 0.25s ease;
  padding: 0.5rem 0.3rem;
}
.fv-quick-item:hover {
  background: rgba(255,255,255,0.25);
  border-color: rgba(255,255,255,0.9);
}
.fv-quick-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.fv-quick-label {
  font-family: var(--font-family-Noto-Sans);
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.35;
}

/* --- Quick Nav Icons (mask-icon pattern) --- */
.icon-phone { mask-image: url('../img/icon/phone.svg'); -webkit-mask-image: url('../img/icon/phone.svg'); }
.icon-calendar { mask-image: url('../img/icon/calendar.svg'); -webkit-mask-image: url('../img/icon/calendar.svg'); }
.icon-yen { mask-image: url('../img/icon/yen.svg'); -webkit-mask-image: url('../img/icon/yen.svg'); }
.icon-user { mask-image: url('../img/icon/user.svg'); -webkit-mask-image: url('../img/icon/user.svg'); }
.icon-wallet { mask-image: url('../img/icon/wallet.svg'); -webkit-mask-image: url('../img/icon/wallet.svg'); }

/* =============================================
#concept
============================================= */
.concept-text {
  text-align: center;
  font-family: var(--font-family-Noto-Serif);
  font-size: var(--font-size-body);
  line-height: 2.2;
  letter-spacing: 0.06em;
  color: var(--color-text);
}
.concept-text em {
  font-style: normal;
  color: var(--color-primary);
  font-weight: 500;
}
.concept-text p + p {
  margin-top: 1.4em;
}

/* ティッカー横スクロール */
.ticker {
  overflow: hidden;
  width: 100%;
  margin-top: var(--layout-space-base-vrtical);
}
.ticker__track {
  display: flex;
  gap: 8px;
  width: max-content;
  animation: ticker-scroll 25s linear infinite;
}
.ticker__track:hover {
  animation-play-state: paused;
}
.ticker__track img {
  height: 160px;
  width: auto;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}
@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* セラピスト: /therapist と同じリスト表示 */

.tag-filter-select {
  width: 100%;
  padding: 1rem 1.4rem;
  font-size: var(--font-size-body);
  font-family: var(--font-family-Noto-Serif);
  color: var(--color-base);
  background-color: var(--bg-warm);
  border: 1px solid var(--color-primary);
  border-radius: 9999px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23815172' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.4rem center;
  background-size: 12px;
  cursor: pointer;
  letter-spacing: 0.08em;
}

#topics .c-section__body {
  display: grid;
  gap: calc(var(--layout-space-base-vrtical) * 0.8);
}

.topics-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.topic-item {
  display: grid;
  gap: 0.3rem;
  padding: 1.4rem 1.6rem;
  border-bottom: 1px solid rgba(42,34,38,0.08);
  background: #fff;
  transition: background 0.3s ease;
  position: relative;
}
.topic-item:last-child {
  border-bottom: none;
}
.topic-item:hover {
  background: rgba(196,86,122,0.02);
}

/* --- プライマリカード（最上段・ご新規割など） --- */
.topic-item-primary {
  background: var(--color-primary);
  color: #fff;
  border-bottom: none;
  border-radius: var(--radius-subtle);
  margin-bottom: 0.5rem;
  padding: 1.8rem 2rem;
  text-align: left;
}
.topic-item-primary:hover {
  background: var(--color-primary);
}

.topic-label {
  width: fit-content;
  padding: 0.25rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.topic-body {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.topic-icon {
  width: 3.6rem;
  height: 3.6rem;
  flex-shrink: 0;
  background-color: var(--color-primary);
}

.topic-item-primary .topic-body {
  justify-content: center;
}
.topic-item-primary .topic-icon {
  width: 3.6rem;
  height: 3.6rem;
  background-color: #fff;
}

.icon-gift { mask-image: url('../img/icon/gift.svg'); -webkit-mask-image: url('../img/icon/gift.svg'); }
.icon-sun { mask-image: url('../img/icon/sun.svg'); -webkit-mask-image: url('../img/icon/sun.svg'); }
.icon-percent { mask-image: url('../img/icon/percent.svg'); -webkit-mask-image: url('../img/icon/percent.svg'); }
.icon-smartphone { mask-image: url('../img/icon/smartphone.svg'); -webkit-mask-image: url('../img/icon/smartphone.svg'); }
.icon-creditcard { mask-image: url('../img/icon/creditcard.svg'); -webkit-mask-image: url('../img/icon/creditcard.svg'); }
/* プライマリのラベル */
.topic-item-primary .topic-label {
  color: #fff;
  background: var(--color-accent);
}

.topic-item h3 {
  letter-spacing: 0.04em;
  font-weight: 900;
}
/* プライマリの見出し */
.topic-item-primary h3 {
  color: #fff;
  line-height: 1.35;
}

.topic-item p:last-child {
	font-family: var(--font-family-Noto-Sans);
	font-size: var(--font-size-caption);
	line-height: 1.7;
	color: var(--color-text-muted);
	letter-spacing: 0.04em;
	font-weight: 600;
	text-decoration: underline;
}
/* プライマリの説明 */
.topic-item-primary p:last-child {
  color: rgba(255,255,255,0.85);
}

.topics-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}


#system .c-section__body {
  display: grid;
  gap: calc(var(--layout-space-base-vrtical) * 0.8);
}

.system-lead {
  max-width: 46rem;
  margin: 0 auto;
  text-align: center;
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-caption);
  line-height: 1.9;
  color: var(--color-text-muted);
}

.section-visual {
  width: min(100%, 58rem);
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--radius-subtle);
  background: var(--bg-alt);
}

.section-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 6;
  object-fit: cover;
}

#credit .section-visual {
  border-radius: 0;
}
#credit .section-visual img {
  aspect-ratio: auto;
  object-fit: contain;
}

.system-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.system-panel {
  padding: 1.2rem;
  background: #fff;
  border: 1px solid rgba(42,34,38,0.05);
  border-radius: var(--radius-subtle);
  transition: border-color 0.3s ease;
}
.system-panel:hover {
  border-color: rgba(196,86,122,0.12);
}

.system-panel-accent {
  background: var(--bg-accent-soft);
  border-color: rgba(196,162,101,0.12);
}

/* --- System Section --- */
.system-panel h3 {
  margin-bottom: 0.8rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(196,162,101,0.15);
}

.price-list {
  display: grid;
  gap: 0;
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-body);
}

.price-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--color-border);
}

.price-list div:first-child {
  border-top: 0;
}

.price-list dt {
  font-weight: 500;
}

.price-list dd {
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

.system-note {
  margin-bottom: 0.4rem;
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-tag);
  line-height: 1.8;
  color: var(--color-text-muted);
}

.system-alert {
  color: var(--color-primary);
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-tag);
  font-weight: 600;
  line-height: 1.9;
}

.system-actions {
  display: flex;
  justify-content: center;
}

.info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* --- Info Section --- */
.info-panel {
  display: grid;
  gap: 0.9rem;
  padding: 1.6rem;
  background: var(--bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-caption);
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.info-panel-accent {
  background: var(--bg-accent-soft);
  border-color: rgba(196,162,101,0.12);
}

.info-panel h3 {
}

.info-list {
  display: grid;
}

.info-list div {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(42,34,38,0.06);
}

.info-list div:first-child {
  border-top: 0;
}

.info-list dt {
  font-weight: 700;
}

.info-list dd {
  text-align: right;
}

.map-frame iframe {
  width: 100%;
  min-height: 22rem;
  border: 0;
}

.info-alert {
  color: var(--color-secondary);
  font-weight: 700;
}

.credit-card-image {
  display: grid;
  justify-items: center;
  gap: 0.6rem;
  text-align: center;
  font-weight: 700;
}

.credit-card-image img {
  max-width: min(100%, 24rem);
  height: auto;
}

.step-list,
.agreement-list {
  display: grid;
  gap: 0.7rem;
  padding-left: 1.2rem;
}

.step-list span {
  display: block;
  font-weight: 700;
  color: var(--color-primary);
}

.section-actions {
  display: flex;
  justify-content: center;
}


/* =============================================
　　
============================================= */

#attending-today-container{
}

#tag-filter-container {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--font-family-Noto-Sans);
	font-size:calc(var(--staff-font-size) * 0.7);
	padding:calc(var(--layout-space-base-horizontal-small) * 0.8) 0;
}
#tag-filter-container > .tag-filter-btn {
	flex-shrink: 0;
}
.tag-filter-scroll {
	display: flex;
	gap: 0.4rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.tag-filter-scroll::-webkit-scrollbar {
	display: none;
}
.tag-filter-scroll .tag-filter-btn {
	white-space: nowrap;
	flex-shrink: 0;
}
#date-tabs-container {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  font-family: var(--font-family-Noto-Sans);
  font-size: calc(var(--staff-font-size) * 0.9);
  padding: calc(var(--layout-space-base-horizontal-small) * 0) 0;
}
#date-tabs-container::-webkit-scrollbar {
  display: none;
}
#date-tabs-container .date-tab-btn {
  white-space: nowrap;
  flex-shrink: 0;
}

.tag-filter-btn,
.date-tab-btn  {
	font-weight: 500;
	border: none;
	background-color: var(--bg-alt);
	padding: 6px 14px;
	margin: 3px;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.2s ease;
	letter-spacing: 0.04em;
}
.tag-filter-btn:hover,
.date-tab-btn:hover {
	background-color: #ede6e0;
}
.tag-filter-btn.active,
.date-tab-btn.active {
    background-color: var(--color-base);
    color: white;
    border: none;
}
.tag-filter-zero {
	text-align: center;
	padding: 2rem 1rem;
	font-family: var(--font-family-Zen-Go);
	font-size:calc(var(--staff-font-size) * 0.7);
}


.staff-list{
  display: grid;
  align-items: flex-start;
  justify-content: center;
  gap: 1.6rem;
  grid-template-columns: 1fr;
}
.staff{}
.staff > a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	background: #fff;
	overflow: hidden;
	text-decoration: none;
	color: #000;
	height: 100%;
	  position: relative;
}

.staff-list .staff a{
  display: grid;
  grid-template-columns: 1fr 1.5fr;
}
.staff-list .staff a .img{
height: auto;
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}
.staff .img{
  border-radius: 2rem;
  overflow: hidden;
}
.staff .img:before{
	content: "";
}
.staff .img figure {
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.staff .img img,
.staff .img video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.staff .details{
  position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding:1rem 1rem 1.6rem;
	gap:calc(var(--layout-space-base-horizontal-small) * 0.5);
}
.staff .details p{
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  gap: 0.5rem;
}

.name {
  font-size:var(--staff-font-size);
}

.sizes {
  font-size:calc(var(--staff-font-size) * 0.7);
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap:0.5rem;
  font-size:calc(var(--staff-font-size) * 0.6);
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.tags > div{
	background:var(--color-primary);
	color: #fff;
	border-radius: 0.5rem;
	padding: 0.2rem 0.4rem;
}
.tags > div.tag-more{
	background: var(--color-text-muted);
}

.schedule {
  position: relative;
  top: 0;
  z-index: 1;
  border-bottom: 1px solid;
  width: 100%;
  padding: 0.5rem;
  text-align: center;
  font-size:calc(var(--staff-font-size) * 0.8);
}

.weekly_schedule{
	font-size:calc(var(--staff-font-size) * 0.8);
	position: relative;
	overflow: hidden;
	width: 100%;
}
.weekly_schedule:before{
  content: "週間スケジュール";
  text-align: center;
  display: block;
}

.weekly_schedule-inner{
	display: flex;
	overflow-x: auto;
	cursor: grab;
	z-index: 3;
	position: relative;
}

.weekly_schedule dl{
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  overflow: hidden;
  padding:0.5rem 1rem;
  margin: 0;
  user-select: none;
  border: 1px solid;
  border-left: 0;
}
.weekly_schedule dl:first-child{
	border-left: 1px solid;
	background: #fffce4;
}
.weekly_schedule dt{}
.weekly_schedule dd{}
.bust {
	position: absolute;
	top: 0;
	bottom: auto;
	right: 0;
	color: #fff;
	font-family: var(--font-family-Zen-Go);
	font-weight: 600;
	  line-height: 1;
	font-size: calc(var(--staff-font-size) * 1.2);
	background: var(--color-primary);
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 0rem 0 2rem;
	z-index: 1;
}
.beginner {
	position: relative;
	padding: 0.1rem 0.5rem;
	background: var(--color-primary);
	width: 100%;
	font-size: calc(var(--staff-font-size) * 0.8);
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	color: #fff;
	text-align: center;
	z-index: 1;
}




.btn-links {
  margin-top: 1rem;
}


.js-dialog-modal .staff .details {
  gap: calc(var(--layout-space-base-horizontal-small) * 0.8);
}

.js-dialog-modal .name {
  font-size:calc(var(--staff-font-size) * 1.3);
}
.js-dialog-modal .sizes {
  font-size:calc(var(--staff-font-size) * 1);
}
.js-dialog-modal .comment {
  font-size: calc(var(--staff-font-size) * 0.8);
  border: 1px dotted;
  border-left: 0;
  border-right: 0;
  padding: calc(var(--layout-space-base-horizontal-small) * 0.5);
}
.js-dialog-modal .tags{
  font-size:calc(var(--staff-font-size) * 0.8);
}
.js-dialog-modal .tags-detail {
  font-size:calc(var(--staff-font-size) * 0.7);
}
.js-dialog-modal .schedule {
  font-size:calc(var(--staff-font-size) * 1);
}

.js-dialog-modal .beginner{
  font-size:calc(var(--staff-font-size) * 1);
}

.js-dialog-modal  .bust {
	font-size:calc(var(--staff-font-size) * 1.4);
	width: 40px;
	height: 40px;
}

.js-dialog-modal .img {
  aspect-ratio: 3 / 4;
}
.js-dialog-modal .img img {
  aspect-ratio: 3 / 4;
}

/* =============================================
footer .banner
============================================= */
footer .banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  max-width: 100%;
}
footer .banner a {
  display: inline-block;
  line-height: 0;
  max-width: calc(50% - 3px);
}
footer .banner img {
  max-width: 100%;
  height: auto;
  display: block;
}
footer .banner iframe {
  border: none;
  max-width: 100%;
}

/* =============================================
#recruit page
============================================= */

/* --- 応募ダイアログ --- */
#js-dialog-modal-apply .reservation-inner a {
  color: #fff;
  text-decoration: none;
}

/* --- 募集要項 定義リスト --- */
.recruit-dl {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 0;
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-caption);
}
.recruit-dl dt,
.recruit-dl dd {
  padding: 1.2rem 1rem;
  border-bottom: 1px solid var(--color-border);
}
.recruit-dl dt {
  font-weight: 700;
  background: var(--bg-alt);
  display: flex;
  align-items: flex-start;
  padding-top: 1.4rem;
}
.recruit-dl dd {
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .recruit-dl {
    grid-template-columns: 1fr;
  }
  .recruit-dl dt {
    padding: 0.8rem 1rem;
    text-align: center;
    justify-content: center;
    border-bottom: none;
  }
  .recruit-dl dd {
    padding: 0.8rem 1rem 1.4rem;
  }
}

/* --- 募集要項タグ（ピル型枠線） --- */
.recruit-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.8rem;
}
.recruit-tags > span {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  background: #fff;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  font-family: var(--font-family-Noto-Sans);
  font-size: var(--font-size-tag);
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  text-align: center;
}

/* --- CTA テキスト --- */
.recruit-cta-text {
  text-align: center;
  font-family: var(--font-family-Noto-Serif);
  font-size: var(--font-size-body);
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: var(--space-element);
}