@charset "UTF-8";
/* 
..%%%%...%%......%%.....
.%%..%%..%%......%%.....
.%%%%%%..%%......%%.....
.%%..%%..%%......%%.....
.%%..%%..%%%%%%..%%%%%%.
........................
*/
:root {
  --color-navy: #3f464f;
  --color-white: #fff;
  --color-brown: #422e27;
  --color-beige: #efe9e4;
  --color-orange-light: #e6a173;
  --color-pink: #efded6;
  --color-orange-dark: #db600e;
  --color-text: #1e1e1e;
  --color-pink: #d27878;
  --shadow-default: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  --font-noto: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック",
    "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
    メイリオ, Meiryo, sans-serif;
  --font-serif: "Noto Serif JP", "游ゴシック体", YuGothic, "游ゴシック",
    "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
    メイリオ, Meiryo, sans-serif;
  --font-shippori: "Shippori Mincho", "Hiragino Mincho ProN", "游明朝", YuMincho,
    sans-serif;
  --font-hiragino: "Zen Old Mincho", "Shippori Mincho", sans-serif;
  --font-jost: "Jost", sans-serif;
  --font-size-base: 1.6rem;
  --letter-spacing-base: 0.2rem;
  --line-height-base: 1.6;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-noto);
  font-weight: 400;
  font-size: var(--font-size-base);
  color: var(--color-text);
  line-height: var(--line-height-base);
  letter-spacing: var(--letter-spacing-base);
  text-align: justify;
  text-justify: inter-ideograph;
  font-feature-settings: "palt";
  margin: 0;
  overflow-x: hidden;
}
body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

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

p {
  font-size: clamp(0.8rem, 2vw, 1rem);
  color: #333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--line-height-base);
  font-weight: normal;
}

.fv-none-h1 {
  text-align: center;
  text-align: center;
  font-weight: normal;
  font-size: 2.4rem;
  font-family: var(--font-serif);
  font-weight: bold;
  letter-spacing: 0.15rem;
  color: #333;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .fv-none-h1 {
    font-size: 2rem;
  }
}

h2 {
  margin-bottom: 2rem;
  text-align: center;
  font-weight: normal;
  font-size: clamp(1rem, 3vw, 1.2rem);
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.15rem;
  font-weight: bold;
  color: #b51c35;
}

h3 {
  display: block;
  font-size: 1.17em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
  unicode-bidi: isolate;
}

.normal-h3 {
  display: inline-block;
  position: relative;
  padding: 0 4rem;
  margin: 0 auto;
  font-size: 2.4rem;
  color: #333;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.15rem;
  font-weight: bold;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 2rem;
  line-height: 1.3;
}
.normal-h3:before, .normal-h3:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 3rem;
  height: 4px;
  border-top: solid 1px #d11d46;
  border-bottom: solid 1px #d11d46;
}
.normal-h3:before {
  left: 0;
}
.normal-h3:after {
  right: 0;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}
a:hover {
  opacity: 0.8;
}

p {
  font-size: var(--font-size-base);
  font-family: var(--font-noto);
  margin: 0;
}

li {
  list-style: none;
}

b,
strong {
  font-family: var(--font-noto);
  font-weight: bold;
}

section {
  padding: 6rem 0;
}
@media screen and (max-width: 1024px) {
  section {
    padding: 4rem 0;
  }
}

/* 
..%%%%...%%.......%%%%...%%%%%....%%%%...%%.....
.%%......%%......%%..%%..%%..%%..%%..%%..%%.....
.%%.%%%..%%......%%..%%..%%%%%...%%%%%%..%%.....
.%%..%%..%%......%%..%%..%%..%%..%%..%%..%%.....
..%%%%...%%%%%%...%%%%...%%%%%...%%..%%..%%%%%%.
................................................
*/
.u-font-noto {
  font-family: "Noto Sans JP", sans-serif !important;
}

.u-font-shippori {
  font-family: "Shippori Mincho", "Zen Old Mincho", "游明朝", YuMincho, sans-serif !important;
}

.u-font-hiragino {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, sans-serif !important;
}

.u-bg-white {
  background-color: #fff;
}

.u-bg-grey {
  background-color: #f6f6f6;
}

.u-bg-yellow {
  background-color: #f9f9f9;
}

.u-bg-beige {
  background-color: #efe9e4;
}

.u-bg-light-beige {
  background-color: #f5f2ee;
}

.u-text-11 p {
  font-size: 1.1rem !important;
}

.u-text-14 p {
  font-size: 1.4rem !important;
}

.u-text-16 p {
  font-size: 1.6rem !important;
}

.u-text-18 p {
  font-size: 1.8rem !important;
}

.u-text-20 p {
  font-size: 2rem !important;
}

.u-text-21 p {
  font-size: 2.1rem !important;
}

.u-text-22 p {
  font-size: 2.2rem !important;
}

.u-text-23 p {
  font-size: 2.3rem !important;
}

.u-text-25 p {
  font-size: 2.5rem !important;
}

.u-text-28 p {
  font-size: 2.8rem !important;
}

.u-text-30 p {
  font-size: 3rem !important;
}

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

.u-font-normal {
  font-weight: normal;
}

.u-mx-auto-0 {
  margin: 0rem auto !important;
}

.u-mt-0 {
  margin-top: 0rem !important;
}

.u-mb-0 {
  margin-bottom: 0rem !important;
}

.u-pt-0 {
  padding-top: 0rem !important;
}

.u-pb-0 {
  padding-bottom: 0rem !important;
}

.u-mx-auto-1 {
  margin: 1rem auto !important;
}

.u-mt-1 {
  margin-top: 1rem !important;
}

.u-mb-1 {
  margin-bottom: 1rem !important;
}

.u-pt-1 {
  padding-top: 1rem !important;
}

.u-pb-1 {
  padding-bottom: 1rem !important;
}

.u-mx-auto-2 {
  margin: 2rem auto !important;
}

.u-mt-2 {
  margin-top: 2rem !important;
}

.u-mb-2 {
  margin-bottom: 2rem !important;
}

.u-pt-2 {
  padding-top: 2rem !important;
}

.u-pb-2 {
  padding-bottom: 2rem !important;
}

.u-mt-3 {
  margin-top: 3rem !important;
}

.u-mb-3 {
  margin-bottom: 3rem !important;
}

.u-pt-3 {
  padding-top: 3rem !important;
}

.u-pb-3 {
  padding-bottom: 3rem !important;
}

.u-mx-auto-4 {
  margin: 4rem auto !important;
}

.u-mt-4 {
  margin-top: 4rem !important;
}

.u-mb-4 {
  margin-bottom: 4rem !important;
}

.u-pt-4 {
  padding-top: 4rem !important;
}

.u-pb-4 {
  padding-bottom: 4rem !important;
}

.u-mt-5 {
  margin-top: 5rem !important;
}

.u-mb-5 {
  margin-bottom: 5rem !important;
}

.u-pt-5 {
  padding-top: 5rem !important;
}

.u-pb-5 {
  padding-bottom: 5rem !important;
}

.u-mx-auto-6 {
  margin: 6rem auto !important;
}

.u-mt-6 {
  margin-top: 6rem !important;
}

.u-mb-6 {
  margin-bottom: 6rem !important;
}

.u-pt-6 {
  padding-top: 6rem !important;
}

.u-pb-6 {
  padding-bottom: 6rem !important;
}

.u-mt-7 {
  margin-top: 7rem !important;
}

.u-mb-7 {
  margin-bottom: 7rem !important;
}

.u-pt-7 {
  padding-top: 7rem !important;
}

.u-pb-7 {
  padding-bottom: 7rem !important;
}

.u-mx-auto-8 {
  margin: 8rem auto !important;
}

.u-mt-8 {
  margin-top: 8rem !important;
}

.u-mb-8 {
  margin-bottom: 8rem !important;
}

.u-pt-8 {
  padding-top: 8rem !important;
}

.u-pb-8 {
  padding-bottom: 8rem !important;
}

.u-ml-auto {
  margin-left: auto !important;
}

.u-mr-auto {
  margin-right: auto !important;
}

.u-ml-0 {
  margin-left: 0 !important;
}

.u-mr-0 {
  margin-right: 0 !important;
}

.u-gap-1 {
  gap: 1rem !important;
}

.u-gap-2 {
  gap: 2rem !important;
}

.u-gap-3 {
  gap: 3rem !important;
}

.u-gap-4 {
  gap: 4rem !important;
}

.u-gap-5 {
  gap: 5rem !important;
}

.u-gap-6 {
  gap: 6rem !important;
}

.u-gap-7 {
  gap: 7rem !important;
}

.u-gap-8 {
  gap: 8rem !important;
}

.u-lh-10 {
  line-height: 0.1;
}

.u-lh-20 {
  line-height: 0.2;
}

.u-lh-30 {
  line-height: 0.3;
}

.u-lh-40 {
  line-height: 0.4;
}

.u-lh-50 {
  line-height: 0.5;
}

.u-lh-60 {
  line-height: 0.6;
}

.u-lh-70 {
  line-height: 0.7;
}

.u-lh-80 {
  line-height: 0.8;
}

.u-lh-90 {
  line-height: 0.9;
}

.u-lh-100 {
  line-height: 1;
}

.u-lh-110 {
  line-height: 1.1;
}

.u-lh-120 {
  line-height: 1.2;
}

.u-lh-130 {
  line-height: 1.3;
}

.u-lh-140 {
  line-height: 1.4;
}

.u-lh-150 {
  line-height: 1.5;
}

.u-lh-160 {
  line-height: 1.6;
}

.u-lh-170 {
  line-height: 1.7;
}

.u-lh-180 {
  line-height: 1.8;
}

.u-lh-190 {
  line-height: 1.9;
}

.u-lh-200 {
  line-height: 2;
}

.l-flex {
  display: flex;
}
.l-flex--wrap {
  flex-wrap: wrap;
}
.l-flex--column {
  flex-direction: column;
}
.l-flex--row {
  flex-direction: row;
}
.l-flex--center {
  justify-content: center;
  align-items: center;
}
.l-flex--align-center {
  align-items: center;
}
.l-flex--justify-center {
  justify-content: center;
}
.l-flex--justify-between {
  justify-content: space-between;
}

.l-grid {
  display: grid;
}
.l-grid--2col {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.l-grid--3col {
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.l-container {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}
.l-container--wide {
  max-width: 1564px;
}
.l-container--medium {
  max-width: 1200px;
}
.l-container--small {
  max-width: 920px;
}

.l-pdn {
  padding: 0 !important;
}

.l-pdbn {
  padding-bottom: 0 !important;
}

.u-text-center {
  text-align: center;
}
.u-text-left {
  text-align: left;
}
.u-text-right {
  text-align: right;
}

.c-heading--green b {
  font-size: 2.8rem;
  line-height: 2;
  color: #2d7d9f;
}
.c-heading--black b,
.c-heading--black h3 {
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 2;
  color: #000;
}

.c-btn {
  text-align: center;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.c-btn--green a,
.c-btn--green .wpcf7-submit {
  font-size: 2rem;
  padding: 2rem 6rem;
  background-color: #85acbb;
  color: #fff;
}
.c-btn--white a {
  font-size: 2rem;
  padding: 2rem 6rem;
  color: #1b3540;
  background-color: #fff;
  border: 2px solid #1b3540;
}

@media screen and (max-width: 1500px) {
  .u-hidden-pc1500 {
    display: none !important;
  }
}
@media screen and (max-width: 1280px) {
  .u-hidden-pc1280 {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .u-hidden-sp1024 {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .u-hidden-sp768 {
    display: none !important;
  }
}

.u-show-pc1500 {
  display: none !important;
}
@media screen and (max-width: 1500px) {
  .u-show-pc1500 {
    display: block !important;
  }
}
.u-show-pc1280 {
  display: none !important;
}
@media screen and (max-width: 1280px) {
  .u-show-pc1280 {
    display: block !important;
  }
}
.u-show-sp1024 {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .u-show-sp1024 {
    display: block !important;
  }
}
.u-show-sp768 {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-show-sp768 {
    display: block !important;
  }
}

.u-flex-pc1500 {
  display: none !important;
}
@media screen and (max-width: 1500px) {
  .u-flex-pc1500 {
    display: flex !important;
  }
}
.u-flex-pc1280 {
  display: none !important;
}
@media screen and (max-width: 1280px) {
  .u-flex-pc1280 {
    display: flex !important;
  }
}
.u-flex-sp1024 {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .u-flex-sp1024 {
    display: flex !important;
  }
}
.u-flex-sp768 {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-flex-sp768 {
    display: flex !important;
  }
}

.c-iframe {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.c-iframe--video {
  max-width: 932px;
  aspect-ratio: 1/0.406;
}
.c-iframe--youtube {
  max-width: 905px;
  aspect-ratio: 1/0.602;
}
.c-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: block;
  border-bottom: 2px solid #ccc;
}
@media screen and (max-width: 1024px) {
  hr {
    border-bottom: 1px solid #ccc;
  }
}

.container {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0 6%;
  }
}

.flex {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}

.flex-btn {
  justify-content: center;
  align-items: stretch;
  gap: 2rem;
  max-width: 760px;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 768px) {
  .flex-btn {
    gap: 0.5rem;
  }
  .flex-btn.u-mb-6 {
    margin-bottom: 4rem !important;
  }
}
.flex-btn a {
  text-decoration: none;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 0.75rem 2rem;
  width: 100%;
  max-width: 284px;
  font-weight: bold;
  font-size: 1.8rem;
  border-radius: 0.15rem;
}
@media screen and (max-width: 768px) {
  .flex-btn a {
    font-size: 1.4rem;
    padding: 0.5rem 0;
    max-width: 250px;
    min-height: 64px;
  }
}

.flex-btn01 {
  background: var(--color-pink);
  letter-spacing: 0.25rem;
  font-weight: 400;
  font-family: var(--font-serif);
}
.flex-btn01:before {
  content: url(../../img/base/calendar_icon.svg);
  width: 1.9rem;
  margin-right: 0.8rem;
  margin-top: 0.25rem;
}

.flex-btn02 {
  background: #4d4d4d;
  font-family: var(--font-serif);
  letter-spacing: normal;
}
.flex-btn02 span {
  display: block;
  font-size: 1.1rem;
  width: 100%;
  text-align: center;
  font-weight: normal;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .flex-btn02 span {
    font-size: 0.8rem;
  }
}
.flex-btn02:before {
  content: url(../../img/base/tell_icon.svg);
  width: 1.3rem;
  margin-right: 0.5rem;
  margin-top: 0.25rem;
}

.c-iframe-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.c-iframe-wrapper.w100 {
  width: 100%;
  aspect-ratio: 1/0.69;
}

.c-iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 
.%%..%%..%%%%%%...%%%%...%%%%%...%%%%%%..%%%%%..
.%%..%%..%%......%%..%%..%%..%%..%%......%%..%%.
.%%%%%%..%%%%....%%%%%%..%%..%%..%%%%....%%%%%..
.%%..%%..%%......%%..%%..%%..%%..%%......%%..%%.
.%%..%%..%%%%%%..%%..%%..%%%%%...%%%%%%..%%..%%.
................................................
*/
.header_border {
  border-bottom: 40px solid var(--color-pink);
}
@media screen and (max-width: 768px) {
  .header_border {
    border-bottom: 30px solid var(--color-pink);
  }
}

header img {
  max-width: 140px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  header .u-text-center {
    padding: 1rem 0 !important;
  }
}

/* 
.%%%%%%...%%%%....%%%%...%%%%%%..%%%%%%..%%%%%..
.%%......%%..%%..%%..%%....%%....%%......%%..%%.
.%%%%....%%..%%..%%..%%....%%....%%%%....%%%%%..
.%%......%%..%%..%%..%%....%%....%%......%%..%%.
.%%.......%%%%....%%%%.....%%....%%%%%%..%%..%%.
................................................
*/
footer {
  padding: 1rem 0;
  background-color: var(--color-pink);
}
footer img {
  max-width: 140px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 0;
  }
}

/*
..%%%%...%%..%%...%%%%...%%%%%...%%%%%%..%%..%%..%%%%%%...%%%%..
.%%......%%..%%..%%..%%..%%..%%....%%....%%%.%%..%%......%%..%%.
..%%%%...%%%%%%..%%..%%..%%%%%.....%%....%%.%%%..%%%%....%%..%%.
.....%%..%%..%%..%%..%%..%%........%%....%%..%%..%%......%%..%%.
..%%%%...%%..%%...%%%%...%%......%%%%%%..%%..%%..%%.......%%%%..
................................................................
*/
.p-shop-info__section {
  padding-bottom: 0;
}
.p-shop-info__section:last-child {
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-shop-info__section:last-child {
    padding-bottom: 4rem;
  }
}
.p-shop-info__title {
  text-align: center;
  font-size: 2rem;
  font-family: var(--font-serif);
  color: var(--color-pink);
}
@media screen and (max-width: 768px) {
  .p-shop-info__title {
    font-size: 1.8rem;
  }
}
.p-shop-info__address {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-shop-info__address p {
    font-size: 1.4rem;
  }
}
.p-shop-info .c-iframe-wrapper {
  height: 200px;
  margin: 3rem auto;
}
@media screen and (max-width: 768px) {
  .p-shop-info .c-iframe-wrapper {
    margin: 2rem auto;
  }
}

/* 
.%%%%%...%%%%%%...%%%%...%%%%%%..%%%%%...%%..%%...%%%%...%%%%%%..%%%%%%...%%%%...%%..%%.
.%%..%%..%%......%%......%%......%%..%%..%%..%%..%%..%%....%%......%%....%%..%%..%%%.%%.
.%%%%%...%%%%.....%%%%...%%%%....%%%%%...%%..%%..%%%%%%....%%......%%....%%..%%..%%.%%%.
.%%..%%..%%..........%%..%%......%%..%%...%%%%...%%..%%....%%......%%....%%..%%..%%..%%.
.%%..%%..%%%%%%...%%%%...%%%%%%..%%..%%....%%....%%..%%....%%....%%%%%%...%%%%...%%..%%.
........................................................................................
*/
.furisode-plan-menu li {
  list-style: none;
  margin: 0.25rem auto;
  max-width: 450px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .furisode-plan-menu li {
    max-width: 100%;
  }
}
.furisode-plan-menu li a {
  text-decoration: none;
  display: block;
  background: rgba(210, 120, 120, 0.15);
  color: #333;
  padding: 1.5rem 2rem 1.5rem 2.5rem;
  margin-bottom: 1rem;
  border-radius: 0.15rem;
  font-size: 1.8rem;
  font-weight: 400;
  position: relative;
  font-family: var(--font-serif);
}
@media screen and (max-width: 1024px) {
  .furisode-plan-menu li a {
    font-size: 1.4rem;
    padding: 1rem 2rem 1rem 3.5rem;
  }
}
.furisode-plan-menu li a:after {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  right: 3.33vmin;
  margin: auto;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-top: 1px solid #454545;
  border-right: 1px solid #454545;
  transform: rotate(135deg);
}

@media screen and (max-width: 768px) {
  .furisode-plan-menu {
    padding: 0 2rem;
  }
}
/*予約ページここから*/
.calendar-caption {
  font-size: 1.9rem !important;
  font-family: var(--font-serif);
  text-align: center;
  margin-bottom: 0rem;
  background-color: var(--color-pink);
  padding: 5px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .calendar-caption {
    font-size: 1.6rem !important;
  }
}

.reservation-calendar table {
  width: 100%;
  border-collapse: collapse;
}
.reservation-calendar table tr {
  border-bottom: 1px solid #cccccc;
}
.reservation-calendar .week-title {
  padding: 1rem 0;
  background: #cccccc;
  text-align: center;
  font-weight: bold;
  color: #333333;
}
.reservation-calendar .week-title:not(:last-child) {
  border-right: 1px solid #ffffff;
}
.reservation-calendar .no-day:not(:last-child) {
  border-right: 1px solid #ffffff;
}
.reservation-calendar .day-number {
  font-size: 1rem;
  line-height: 1.5;
}
.reservation-calendar .calendar-mark {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .reservation-calendar .calendar-mark {
    font-size: 1.4rem;
  }
}
.reservation-calendar .day-box {
  text-align: center;
  transition: 0.4s;
  border-radius: 0.15rem;
  padding: 0.5rem 0;
}
.reservation-calendar .day-box a {
  text-decoration: none;
  color: var(--color-pink);
}
.reservation-calendar .vacant .calendar-mark {
  cursor: pointer;
}
.reservation-calendar a:hover {
  background: #ffe4e7;
}

.day-calendar {
  text-align: center;
}
.day-calendar table {
  margin: 0 auto;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .day-calendar table {
    width: 100% !important;
  }
}
.day-calendar h3 {
  display: none;
}
.day-calendar .day-right a {
  text-decoration: none;
  color: var(--color-pink);
}
@media screen and (max-width: 768px) {
  .day-calendar .day-right a {
    font-size: 1.4rem;
  }
}
.day-calendar .day-right a:hover {
  background: #ffe4e7;
}
.day-calendar button {
  margin: 0 auto 2rem auto;
  display: block;
  letter-spacing: 0.06em;
  line-height: 1.6;
  color: #333333;
  position: relative;
  padding-right: 0.8em;
  border: 1px solid #cccccc;
  text-align: center;
  padding: 1rem 0 !important;
  border-radius: 0.15rem;
  text-decoration: none;
  max-width: 300px;
  width: 100% !important;
}
@media screen and (max-width: 768px) {
  .day-calendar button {
    font-size: 1.4rem;
  }
}

.day-number {
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .day-number {
    font-size: 1.4rem !important;
  }
}

.week-title {
  color: #333333;
}

.sat,
.sun {
  color: #333333 !important;
}
.sat .day-number,
.sun .day-number {
  color: #333333 !important;
}

.kisarazu-calendar .tue,
.kisarazu-calendar .wed {
  color: red;
}
@media screen and (max-width: 768px) {
  .kisarazu-calendar {
    margin-bottom: 0 !important;
  }
}

.mobara-calendar .wed {
  color: red;
}
@media screen and (max-width: 768px) {
  .mobara-calendar {
    margin-bottom: 0 !important;
  }
}

.misaki-calendar .wed {
  color: red;
}
@media screen and (max-width: 768px) {
  .misaki-calendar {
    margin-bottom: 0 !important;
  }
}

.mtssb-timetable-date {
  margin-bottom: 0rem;
  background-color: var(--color-pink);
  padding: 5px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .mtssb-timetable-date {
    font-size: 1.4rem !important;
    margin-top: 1rem;
  }
}

/*予約ページここまで*/
/*予約フォームここから*/
.content-form fieldset,
.content-form th,
.content-form td {
  border: none !important;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .content-form fieldset,
  .content-form th,
  .content-form td {
    font-size: 1.4rem !important;
  }
}
.content-form .content-text {
  width: 100%;
  border: 1px solid #cccccc;
  padding: 0.5rem;
  background: #f7f7f7;
  border: 1px solid #ccc;
  width: 100%;
  font-size: 1.6rem !important;
}
.content-form .content-text.fat, .content-form .content-text.medium {
  width: 100% !important;
  font-size: 1.4rem !important;
}
.content-form fieldset {
  text-align: center;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .content-form fieldset {
    font-size: 1.4rem !important;
    padding: 0 !important;
  }
}
.content-form legend {
  margin-bottom: 1rem !important;
}
.content-form table {
  margin: 0.5rem 0 !important;
}
.content-form legend,
.content-form td[colspan] {
  font-size: 1.6rem !important;
  text-align: center !important;
  font-weight: bold;
  padding: 2rem 0 1rem 0;
  color: var(--color-pink);
}
@media screen and (max-width: 768px) {
  .content-form legend,
  .content-form td[colspan] {
    font-size: 1.6rem !important;
  }
}
.content-form th {
  font-size: 1.6rem !important;
  text-align: left;
  background: #eee;
  line-height: 2.3rem !important;
}
@media screen and (max-width: 768px) {
  .content-form th {
    font-size: 1.4rem !important;
  }
}
.content-form td {
  text-align: left;
}
.content-form .required {
  font-size: 0.5rem;
}
.content-form button {
  margin: 0 auto 2rem auto;
  display: block;
  letter-spacing: 0.06em;
  line-height: 1.6;
  color: #333333;
  position: relative;
  padding-right: 0.8em;
  border: 1px solid #cccccc;
  text-align: center;
  padding: 1rem 0 !important;
  border-radius: 0.15rem;
  text-decoration: none;
  max-width: 300px;
  width: 100% !important;
}
.content-form .booking-seimei {
  width: 10% !important;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .content-form .booking-seimei {
    font-size: 1.4rem !important;
    width: 15% !important;
  }
}
.content-form #booking-sei,
.content-form #booking-mei,
.content-form #booking-sei_kana,
.content-form #booking-mei_kana {
  width: 88% !important;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .content-form #booking-sei,
  .content-form #booking-mei,
  .content-form #booking-sei_kana,
  .content-form #booking-mei_kana {
    width: 80% !important;
    font-size: 1.4rem !important;
  }
}
.content-form label.field-item {
  display: block;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .content-form label.field-item {
    font-size: 1.4rem;
  }
}
.content-form input,
.content-form textarea {
  margin-top: 3px;
}
.content-form .field-item {
  font-size: clamp(0.8rem, 2vw, 0.9rem);
}
.content-form .booking-form-people-number-row {
  display: none !important;
}

.option-confirm-header {
  font-size: clamp(0.9rem, 2vw, 1rem) !important;
  text-align: center !important;
  font-weight: bold;
  padding: 2rem 0 1rem 0;
  color: var(--color-pink);
}

.calendar-title,
.mtssb-timetable-name {
  font-size: 2.4rem;
  font-family: var(--font-serif);
  letter-spacing: 0.03em;
  text-align: center;
  margin: 20px 0px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .calendar-title,
  .mtssb-timetable-name {
    font-size: 1.8rem;
    margin-top: 0;
  }
}

.u-availability-guide {
  text-align: center;
  margin: 3rem auto 6rem;
}
.u-availability-guide p {
  color: var(--color-pink);
}
@media screen and (max-width: 768px) {
  .u-availability-guide {
    margin: 0 auto 3rem;
  }
  .u-availability-guide p {
    font-size: 1.2rem;
  }
}

.monthly-prev {
  margin-top: 4rem;
  font-size: 1.6rem;
}
.monthly-prev a {
  padding: 10px 20px 10px 30px;
  background-color: var(--color-pink);
  color: #fff;
  background-image: url(../../img/base/wh_arrow_left.svg);
  background-repeat: no-repeat;
  background-position: center left 13px;
  background-size: 10px;
  text-decoration: none;
  display: block;
  font-family: var(--font-serif);
  letter-spacing: normal;
}
.monthly-prev span {
  padding: 10px 20px 10px 30px;
  background-color: lightgray;
  color: #fff;
  background-image: url(../../img/base/wh_arrow_left.svg);
  background-repeat: no-repeat;
  background-position: center left 13px;
  background-size: 10px;
  letter-spacing: normal;
}

.monthly-next {
  margin-top: 3rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .monthly-next {
    font-size: 1.4rem;
  }
}
.monthly-next a {
  padding: 10px 30px 10px 20px;
  background-color: var(--color-pink);
  color: #fff;
  background-image: url(../../img/base/wh_arrow.svg);
  background-repeat: no-repeat;
  background-position: center right 13px;
  background-size: 10px;
  text-decoration: none;
  display: block;
  font-family: var(--font-serif);
  letter-spacing: normal;
}

.monthly-prev-next {
  width: 100% !important;
}

.day-calendar th,
.day-calendar td {
  font-size: 1.6rem !important;
  padding: 0.5rem 0 !important;
}
@media screen and (max-width: 768px) {
  .day-calendar th,
  .day-calendar td {
    font-size: 1.4rem !important;
  }
}

/*予約フォームここまで*/
/*
.%%%%%%..%%..%%...%%%%...%%..%%..%%..%%...%%%%..
...%%....%%..%%..%%..%%..%%%.%%..%%.%%...%%.....
...%%....%%%%%%..%%%%%%..%%.%%%..%%%%.....%%%%..
...%%....%%..%%..%%..%%..%%..%%..%%.%%.......%%.
...%%....%%..%%..%%..%%..%%..%%..%%..%%...%%%%..
................................................
*/
.p-thanks-page {
  padding: 4rem 0;
}
.p-thanks-page p {
  font-size: 1.6rem;
  font-family: var(--font-serif);
}
@media screen and (max-width: 768px) {
  .p-thanks-page p {
    font-size: 1.4rem;
  }
}
.p-thanks-page .l-flex {
  margin-top: 5rem;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-thanks-page .l-flex {
    gap: 1rem;
  }
}
.p-thanks-page .normal-h3 {
  font-size: 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .p-thanks-page .normal-h3 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
}

.c-btn--back-top,
.c-btn--back-reservation {
  padding: 10px 30px 10px 20px;
  background-color: var(--color-pink);
  color: #fff;
  background-image: url(../../img/base/wh_arrow.svg);
  background-repeat: no-repeat;
  background-position: center right 13px;
  background-size: 10px;
  text-decoration: none;
  display: block;
  font-family: var(--font-serif);
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .c-btn--back-top,
  .c-btn--back-reservation {
    font-size: 1.2rem;
  }
}

.c-btn--back-reservation {
  background-color: var(--color-pink);
}/*# sourceMappingURL=style.css.map */