@charset "UTF-8";

/* 色の変数を定義 */
:root {
  --primary-color: #B62626;
  --secondary-color: #707070;
  --background-color: #f9f9f9;
  --text-color: #111;
  --link-color: #007ad6;
  --input-border-color: #ccc;
  --input-focus-border-color: #4479d2;
  --button-text-color: #fff;
  --error-background-color: #f0e1e1;
  --disabled-color: #ddd;
  --calendar-background-color: #ebebeb;
  --calendar-weekend-color: #d66060;
  --scrollbar-background-color: #cecece;
  --overlay-background-color: rgba(17, 17, 17, 0.33);
  --alert-background-color: rgba(112, 112, 112, 0.7);
  --header-background-color: #f4f4f4;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
dl,
form,
fieldset,
table,
address,
blockquote,
noscript,
pre,
tr,
td,
input,
textarea {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-style: normal;
}

html {
  font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 10px;
  color: var(--text-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: normal;
}

small {
  font-size: 1em;
}

mark {
  background: none;
}

fieldset {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font: 100%;
  font-size: inherit;
}

li {
  list-style-type: none;
}

dd {
  margin: 0;
}

a,
abbr,
acronym,
em,
strong,
span,
img,
sub,
sup,
input,
button,
textarea,
select,
label,
caption {
  font-weight: normal;
  font-style: normal;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  margin: 0;
  outline: none;
  appearance: none;
  font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", sans-serif;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

a {
  text-decoration: none;
  color: var(--link-color);
}

img,
svg {
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
}

caption,
th {
  text-align: left;
  font-weight: normal;
}

th,
td {
  padding: 0;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

textarea {
  vertical-align: top;
}

iframe {
  border: 0;
}

@media (min-width: 376px) and (max-width: 749px) {
  html {
    font-size: calc(.625rem + ((1vw - 3.75px) * 2.6666666667));
  }
}

@media (min-width: 750px) {
  html {
    font-size: 20px;
  }
}

header,
footer,
article,
section,
aside,
nav,
figure,
figcaption {
  display: block;
  margin: 0;
  padding: 0;
}

input[type='search'] {
  box-sizing: content-box;
  -webkit-appearance: none;
}

input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

.l-content {
  margin: 0 auto;
}

.l-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.l-container .l-content {
  flex: 1;
  overflow: hidden;
}

.c-button {
  width: 100%;
  border-radius: 9999rem;
  background-color: var(--primary-color);
  display: block;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 1.1111111111;
  text-align: center;
  color: var(--button-text-color);
  padding: 1.8rem 1.6rem 1.8rem;
  box-sizing: border-box;
}

.c-button--gray {
  background-color: var(--secondary-color);
}

.c-button--white {
  background-color: var(--button-text-color);
  border: 0.1rem var(--secondary-color) solid;
  color: var(--secondary-color);
}

.c-button--short {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 1rem 0;
}

.c-button--xs {
  width: auto;
  font-size: 1.2rem;
  line-height: 1;
  padding: .4rem 1rem;
}

.c-input {
  position: relative;
  display: flex;
  align-items: center;
}

.c-input input,
.c-input select,
.c-input textarea {
  width: 100%;
  min-height: 4.2rem;
  font-size: 1.6rem;
  color: var(--text-color);
  line-height: 1.5;
  border: 0.1rem solid var(--input-border-color);
  border-radius: 0.3rem;
  padding: 0.8rem 1.4rem;
  box-sizing: border-box;
  background-color: var(--button-text-color);
}

.c-input input:focus,
.c-input select:focus,
.c-input textarea:focus {
  border: 0.1rem solid var(--input-focus-border-color);
  outline: none;
}

.c-input input::-moz-placeholder, .c-input select::-moz-placeholder, .c-input textarea::-moz-placeholder {
  color: var(--secondary-color);
}

.c-input input::placeholder,
.c-input select::placeholder,
.c-input textarea::placeholder {
  color: var(--secondary-color);
}

.c-input select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.c-input select::-ms-expand {
  display: none;
}

.c-input textarea {
  height: 12rem;
  font-size: 1.4rem;
  padding: 1.5rem 1.4rem;
}

.c-input:has(label) {
  display: block;
  margin-bottom: 1.3rem;
}

.c-input__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: .7rem;
}

.c-input__label .small {
  font-size: 1.2rem;
  font-weight: bold;
}

.c-input__label .required {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 2.2rem;
  border-radius: .3rem;
  background: var(--primary-color);
  color: var(--button-text-color);
  font-size: 1.4rem;
  font-weight: bold;
}

.c-input__icon {
  position: absolute;
  right: 0.5rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  pointer-events: none;
}

.c-input__icon__pic {
  margin: 0 auto;
}

.c-input__icon__pic svg {
  width: 100%;
  height: auto;
}

.c-input__icon__text {
  font-size: 1rem;
  color: var(--secondary-color);
}

.c-input--select select {
  text-align: center;
  font-weight: bold;
}

.c-input--select .c-input__icon__pic {
  width: 0.94rem;
  margin-bottom: 0.36rem;
}

.c-input--calendar input {
  text-align: center;
  font-weight: bold;
}

.c-input--calendar .c-input__icon__pic {
  width: 1.67rem;
  margin-bottom: 0.3rem;
}

.c-radio {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}

.c-radio__item input[type=radio] {
  display: none;
}

.c-radio__item label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  border: 0.1rem solid var(--input-border-color);
  border-radius: 0.3rem;
  box-sizing: border-box;
  background-color: var(--button-text-color);
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.c-radio__item label:has(.small) {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.c-radio__item label .small {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.1rem;
}

.c-radio__item input[type=radio]:checked + label {
  border: 0.1rem solid var(--primary-color);
  background-color: var(--primary-color);
  color: var(--button-text-color);
}

.c-radio__item input[type=radio]:disabled + label {
  border: 0.1rem solid var(--disabled-color);
  background-color: var(--disabled-color);
  color: var(--button-text-color);
}

.c-checkbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}

.c-checkbox__item input[type=checkbox] {
  display: none;
}

.c-checkbox__item label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  border: 0.1rem solid var(--input-border-color);
  border-radius: 0.3rem;
  box-sizing: border-box;
  background-color: var(--button-text-color);
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.c-checkbox__item input[type=checkbox]:checked + label {
  border: 0.1rem solid var(--primary-color);
  background-color: var(--primary-color);
  color: var(--button-text-color);
}

.c-checkbox__item input[type=checkbox]:disabled + label {
  border: 0.1rem solid var(--disabled-color);
  background-color: var(--disabled-color);
  color: var(--button-text-color);
}

.c-upload {
  position: relative;
  width: 30rem;
  height: 16.5rem;
  border: var(--secondary-color) 0.1rem dashed;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

.c-upload + .c-upload {
  margin-top: 0.4rem;
}

.c-upload label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.c-upload label input {
  display: none;
}

.c-upload__icon {
  display: block;
  background-color: var(--secondary-color);
  padding: 1.65rem 1rem 1.25rem;
  box-sizing: border-box;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border-radius: 0.3rem;
}

.c-upload__icon img {
  display: block;
  width: 3.1rem;
  margin: 0 auto 0.45rem;
}

.c-upload__icon__text {
  color: var(--button-text-color);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}

.c-upload__delete {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  background-color: var(--alert-background-color);
  padding: 0.4rem 0 0.3rem;
  width: 4.7rem;
  height: 4.7rem;
  box-sizing: border-box;
}

.c-upload__delete__icon {
  display: block;
  width: 2.7rem;
  margin: 0 auto 0.24rem;
}

.c-upload__delete__text {
  display: block;
  font-size: 1rem;
  line-height: 1;
  color: var(--button-text-color);
}

.c-upload--uploaded {
  background-color: var(--button-text-color);
}

.c-upload--uploaded .c-upload--uploaded__image {
  display: block;
  height: 100%;
  width: 100%;
  padding: 0.6rem;
  box-sizing: border-box;
}

.c-upload--uploaded .c-upload--uploaded__image img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  height: 100%;
}

.c-upload-add {
  display: flex;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-top: 0.4rem;
}

.c-upload-add__text {
  font-size: 1rem;
  margin-right: 0.6rem;
}

.c-upload-add__icon {
  width: 4.7rem;
  padding: 0.58rem;
  box-sizing: border-box;
  background-color: var(--secondary-color);
  border-radius: 100%;
}

.c-progress {
  position: relative;
  width: 33.5rem;
  margin: 2.5rem auto 4rem;
}

.c-progress__bar {
  position: absolute;
  top: 0.45rem;
  left: 4.15rem;
  right: 4.15rem;
  background-color: var(--secondary-color);
  height: 0.2rem;
  z-index: 1;
}

.c-progress__bar__body {
  width: 0%;
  height: 0.2rem;
  background-color: var(--primary-color);
}

.c-progress__step {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}

.c-progress__step__item {
  width: 9.3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.c-progress__step__item .item-circle {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--secondary-color);
}

.c-progress__step__item .item-headline {
  width: 100%;
  margin-top: 0.6rem;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  color: var(--secondary-color);
}

.c-progress--step1 .c-progress__bar__body {
  width: 0%;
}

.c-progress--step1 .c-progress__step__item--1 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step1 .c-progress__step__item--1 .item-headline {
  font-weight: bold;
}

.c-progress--step2 .c-progress__bar__body {
  width: 50%;
}

.c-progress--step2 .c-progress__step__item--1 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step2 .c-progress__step__item--2 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step2 .c-progress__step__item--2 .item-headline {
  font-weight: bold;
}

.c-progress--step3 .c-progress__bar__body {
  width: 100%;
}

.c-progress--step3 .c-progress__step__item--1 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step3 .c-progress__step__item--2 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step3 .c-progress__step__item--3 .item-circle {
  background-color: var(--primary-color);
}

.c-progress--step3 .c-progress__step__item--3 .item-headline {
  font-weight: bold;
}

.c-main__headline {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--header-background-color);
  height: 5.5rem;
  font-size: 2.2rem;
}

.c-headline {
  position: relative;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 2rem;
  box-sizing: border-box;
  padding-left: 0.9rem;
}

.c-headline:before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  content: '';
  width: 0.2rem;
  height: 100%;
  background-color: var(--primary-color);
}

.c-headline__supplement {
  font-size: 1.2rem;
}

.p-login-header {
  background-color: var(--text-color);
}

.p-login-header__logo {
  width: 23.5rem;
  margin: 0 auto;
  padding: 5.5rem 0 1.7rem;
}

.p-login-header__headline {
  display: flex;
  justify-content: center;
  padding: 0.6rem 0 1rem;
  height: 3.6rem;
  box-sizing: border-box;
  font-size: 2rem;
  line-height: 1.1;
  text-align: center;
  font-weight: bold;
  color: var(--button-text-color);
  background-color: var(--primary-color);
}

.p-login-auth {
  width: 30rem;
  margin: 2.7rem auto;
}

.p-login-auth__item__headline {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.p-login-auth__item__headline span {
  font-size: 1.1rem;
  margin-left: 0.7em;
}

.p-login-auth__item {
  margin-top: 3.6rem;
}

.p-login-auth__item + .p-login-auth__item {
  margin-top: 2rem;
}

.p-login-auth__item.has-error input {
  background: var(--error-background-color);
  border: 0.1rem solid var(--primary-color);
}

.p-login-auth__item.has-error .has-error__message {
  font-size: 1.2rem;
  line-height: 2.2rem;
  margin-top: 0.5rem;
  margin-bottom: -1.2rem;
  color: var(--primary-color);
  text-indent: -1em;
  padding-left: 1em;
}

.p-login-auth__link {
  margin-top: 2.8rem;
  text-align: right;
  font-size: 1.6rem;
}

.p-login-auth__send {
  margin-top: 3rem;
}
.p-login-auth__note {
  margin-top: 2.7rem;
  font-size: 1.1rem;
  line-height: 1.4;
}

.p-input-header {
  background-color: var(--text-color);
  border-bottom: 0.3rem solid var(--primary-color);
}

.p-input-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 1rem 0 1.5rem;
  box-sizing: border-box;
}

.p-input-header__logo {
  height: 2.6rem;
  padding: 1.45rem 0 1.15rem;
}

.p-input-header__logo img {
  width: auto;
  height: 100%;
}

.p-input-header__timelimit {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.p-input-header__timelimit__text {
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  color: var(--button-text-color);
  text-align: center;
}

.p-input-header__timelimit__time {
  margin-top: 0.2rem;
  font-weight: normal;
  font-size: 2.4rem;
  color: var(--button-text-color);
  text-align: center;
}

.p-select-time {
  margin-top: 0.6rem;
}

.p-select-time__header {
  width: 100%;
  display: flex;
  align-items: center;
  border-radius: 9999rem;
  background-color: var(--secondary-color);
  margin-bottom: 0.3rem;
}

.p-select-time__header__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.3rem;
  height: 3rem;
}

.p-select-time__header__arrow svg {
  width: 0.8rem;
  height: auto;
}

.p-select-time__header__date {
  flex: 1;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  color: var(--button-text-color);
}

.p-select-time__body {
  background-color: var(--button-text-color);
  border-radius: 0.3rem;
  overflow: hidden;
}

.p-select-time__body__inner {
  display: flex;
  height: 36.8rem;
  overflow-y: scroll;
  padding: 0.3rem 1.5rem 0.3rem 0;
}

.p-select-time__body__inner::-webkit-scrollbar {
  display: none;
}

.p-select-time__body__inner .simplebar-content {
  display: flex;
}

.p-select-time__body__hour {
  width: 3.6rem;
}

.p-select-time__body__hour .hour-item {
  position: relative;
  height: 8.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-select-time__body__hour .hour-item .hour-item__unit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  box-sizing: border-box;
  border-radius: 50%;
  border: var(--input-border-color) solid 0.1rem;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  color: var(--text-color);
  background-color: var(--button-text-color);
  z-index: 2;
}

.p-select-time__body__hour .hour-item:after {
  position: absolute;
  top: 0;
  bottom: 0;
  content: '';
  width: 0.1rem;
  background-color: var(--input-border-color);
  z-index: 1;
}

.p-select-time__body__hour .hour-item:first-child:after {
  top: 50%;
}

.p-select-time__body__hour .hour-item:last-child:after {
  bottom: 50%;
}

.p-select-time__body__time {
  flex: 1;
  padding-top: 0.3rem;
  width: calc(100% - 3.6rem);
}

.p-select-time__body__time .c-radio {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.3rem;
}

.p-select-time__body__time .c-radio__item label {
  height: 4rem;
}

.p-select-time__body__time .c-radio__item:nth-of-type(6n), .p-select-time__body__time .c-radio__item:nth-of-type(6n - 1), .p-select-time__body__time .c-radio__item:nth-of-type(6n - 2) {
  padding-bottom: 0.3rem;
}

.p-select-time__body__time .c-radio__item:nth-last-child(1), .p-select-time__body__time .c-radio__item:nth-last-child(2), .p-select-time__body__time .c-radio__item:nth-last-child(3) {
  padding-bottom: 0;
}

.p-mypage-header {
  background-color: var(--text-color);
}

.p-mypage-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 1.5rem;
  box-sizing: border-box;
}

.p-mypage-header__logo {
  height: 2.6rem;
}

.p-mypage-header__logo img {
  width: auto;
  height: 100%;
}

.p-mypage-header__headline {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 14.8rem;
  height: 5.5rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--button-text-color);
  background-color: var(--primary-color);
  padding-right: 1.2rem;
  box-sizing: border-box;
  -webkit-clip-path: polygon(1.9rem 0, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(1.9rem 0, 100% 0%, 100% 100%, 0% 100%);
}

.p-reservation__headline {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.4rem;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: var(--secondary-color);
  color: var(--button-text-color);
  font-weight: bold;
  font-size: 1.6rem;
}

.p-reservation__contents {
  padding: 1.2rem 2rem 0.95rem;
}

.p-reservation__contents + .p-reservation__contents {
  border-top: 0.1rem solid var(--input-border-color);
}

.p-reservation__contents:has(.c-button--xs) {
  position: relative;
}

.p-reservation__contents .c-button--xs {
  position: absolute;
  top: 1.2rem;
  right: 1rem;
}

.p-reservation__contents__wrapper {
  background-color: var(--header-background-color);
  border-right: 0.1rem solid var(--input-border-color);
  border-left: 0.1rem solid var(--input-border-color);
  border-bottom: 0.1rem solid var(--input-border-color);
  border-radius: 0 0 0.5rem 0.5rem;
  box-sizing: border-box;
}

.p-reservation__contents__headline {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--secondary-color);
  margin-bottom: 0.3rem;
}

.p-reservation__contents__main {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

.p-reservation__contents__main + .p-reservation__contents__headline {
  margin-top: .8rem;
}

.p-reservation__contents__sub {
  margin-top: 0.55rem;
  font-size: 1.2rem;
  line-height: 1.6666666667;
}

.p-alert {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 200;
}

.p-alert.is-show {
  display: block;
}

.p-alert__overlay {
  width: 100%;
  height: 100%;
  background-color: var(--overlay-background-color);
}

.p-alert__content {
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27.5rem;
  min-height: 16.5rem;
  background-color: var(--button-text-color);
  border: 0.1rem solid var(--primary-color);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.6rem;
  box-sizing: border-box;
}

.p-alert__close {
  position: absolute;
  z-index: 1;
  transform: translate(50%, -50%);
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  background: var(--text-color);
  border-radius: 50%;
}

.p-alert__close svg {
  width: 2.54rem;
  height: 2.54rem;
}

.p-alert__text {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  color: var(--primary-color);
}

.flatpickr-calendar {
  width: 30rem;
  border-radius: 0.5rem 0.5rem 0 0;
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
  content: none;
}

.flatpickr-calendar .flatpickr-months {
  background-color: var(--secondary-color);
  border-radius: 0.5rem 0.5rem 0 0;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month {
  height: 3.9rem;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  height: 3.9rem;
  box-sizing: border-box;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .cur-month,
.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper {
  display: inline-block;
  color: var(--button-text-color);
  font-weight: normal;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .cur-month {
  order: 2;
  margin: 0;
  font-size: 1.6rem;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .cur-month:before {
  content: '年';
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper {
  order: 1;
  width: 4.2666666667rem;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper .cur-year {
  padding: 0;
  pointer-events: none;
  font-size: 1.6rem;
  text-align: right;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper .cur-year:focus {
  background: none;
  outline: none;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper .arrowUp,
.flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper .arrowDown {
  display: none;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.9rem;
  box-sizing: border-box;
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
  width: 0.8rem;
  height: auto;
  fill: var(--button-text-color);
}

.flatpickr-calendar .flatpickr-innerContainer {
  border-bottom: var(--secondary-color) solid 0.1rem;
  border-left: var(--secondary-color) solid 0.1rem;
  border-right: var(--secondary-color) solid 0.1rem;
}

.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-days,
.flatpickr-calendar .dayContainer {
  width: 30rem;
  min-width: 30rem;
}

.flatpickr-calendar .flatpickr-weekday,
.flatpickr-calendar .flatpickr-day {
  font-size: 1.6rem;
}

.flatpickr-calendar .flatpickr-weekday:nth-of-type(7n),
.flatpickr-calendar .flatpickr-day:nth-of-type(7n) {
  color: var(--link-color);
}

.flatpickr-calendar .flatpickr-weekday:nth-of-type(7n + 1),
.flatpickr-calendar .flatpickr-day:nth-of-type(7n + 1) {
  color: var(--calendar-weekend-color);
}

.flatpickr-calendar .flatpickr-weekday.flatpickr-disabled, .flatpickr-calendar .flatpickr-weekday.nextMonthDay,
.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
  color: #aaa;
}

.flatpickr-calendar .flatpickr-weekdays {
  height: 3.8rem;
  background-color: var(--calendar-background-color);
}

.flatpickr-calendar .flatpickr-weekdays .flatpickr-weekdaycontainer {
  height: 3.8rem;
}

.flatpickr-calendar .flatpickr-weekdays .flatpickr-weekdaycontainer .flatpickr-weekday {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-color);
  font-weight: normal;
}

.flatpickr-calendar .dayContainer {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-gap: 0;
}

.flatpickr-calendar .dayContainer .flatpickr-day {
  width: 3.9rem;
  margin: 0 auto;
  box-sizing: border-box;
}

.simplebar-track.simplebar-vertical {
  top: 0.3rem;
  bottom: 0.3rem;
  background-color: var(--scrollbar-background-color);
  width: 0.8rem;
  border-radius: 9999rem;
  margin-right: 0.2rem;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  background-color: var(--button-text-color);
  bottom: -0.2rem;
  top: 0.1rem;
  right: 0.1rem;
  left: 0.1rem;
  opacity: 1;
}

/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:		index.scss

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

0.	共通使用変数定義
1.	ブラウザデフォルトスタイルリセット
2.	共通部分
3.	original

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
0.	共通使用変数定義
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	ブラウザデフォルトスタイルリセット
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
2.	original
----------------------------------------------------------------------*/
.unimplemented {
  width: 100%;
  height: 18rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--input-border-color);
}

body.login, body.input, body.confirmation, body.completed {
  background-color: var(--header-background-color);
}

body.mypage .l-content {
  width: 100%;
}

/*----------------------------------------------------------------------
ログインページ
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
入力ページ
----------------------------------------------------------------------*/
.p-input-main {
  width: 30rem;
  margin: 0 auto;
  padding-bottom: 11.8rem;
}

.p-input-main__section .c-headline {
  margin-bottom: 1rem;
  white-space: nowrap;
}

.p-input-main__section__headline {
  font-size: 1.4rem;
  line-height: 1.2857142857;
  font-weight: bold;
  margin-bottom: 0.2rem;
  padding-left: 1em;
  text-indent: -1em;
}

.p-input-main__section__lead {
  font-size: 1.4rem;
  line-height: 1.2857142857;
  margin-bottom: 1.2rem;
}

.p-input-main__section__note {
  font-size: 1rem;
  line-height: 1.2857142857;
  margin-bottom: 1.2rem;
}

.p-input-main__section__note em {
  color: var(--link-color);
}

.p-input-main__section + .p-input-main__section {
  margin-top: 2.6rem;
}

.p-input-main__section.kind .kind__text {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  color: var(--secondary-color);
  line-height: 1.3333333333;
  text-indent: -1em;
  padding-left: 1em;
}

.p-input-main__section.consultation-contents .c-checkbox {
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 0.8rem;
}

.p-input-main__section.upload .c-headline {
  margin-bottom: 1.5rem;
}

.p-input-main__section.upload .upload__wrapper + .upload__wrapper {
  margin-top: 1.2rem;
}

.p-input-main__send {
  margin-top: 3rem;
}

/*----------------------------------------------------------------------
ご予約内容の確認
----------------------------------------------------------------------*/
.p-confirmation {
  width: 30rem;
  margin: 0 auto;
  padding-bottom: 11.8rem;
}

.p-confirmation__item {
  margin-top: 1.75rem;
  padding-bottom: 0.55rem;
  border-bottom: 0.1rem solid var(--input-border-color);
}

.p-confirmation__item__headline {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--secondary-color);
  margin-bottom: 0.3rem;
}

.p-confirmation__item__data1 {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

.p-confirmation__item__data2 {
  font-size: 1.2rem;
  line-height: 1.6666666667;
  margin-top: 0.55rem;
}

.p-confirmation__send {
  margin-top: 3.1rem;
}

.p-confirmation__back {
  margin-top: 1rem;
}

/*----------------------------------------------------------------------
診断結果
----------------------------------------------------------------------*/
.confirmation.images .p-confirmation {
  padding-top: 3.1rem;
}

.confirmation.images .p-confirmation__item {
  padding-bottom: 0;
  border-bottom: 0;
}

+ .confirmation.images .p-confirmation__item__data1 {
  margin-top: 1rem;
}

.confirmation.images .p-confirmation__item .p-confirmation__item__data1 + .p-confirmation__item__data1 {
  margin-top: 1rem;
}

/*----------------------------------------------------------------------
予約完了
----------------------------------------------------------------------*/
.p-completed {
  width: 30rem;
  margin: 0 auto;
  padding-top: 2.4rem;
  padding-bottom: 11.8rem;
}

.p-completed__headline {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.05rem;
}

.p-completed__details {
  padding: 1.25rem 0 0.75rem;
  border-top: 0.1rem solid var(--input-border-color);
  border-bottom: 0.1rem solid var(--input-border-color);
  box-sizing: border-box;
}

.p-completed__details__line1, .p-completed__details__line2 {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}

.p-completed__mypage {
  margin-top: 3.05rem;
}

.p-completed__calendar {
  margin-top: 1.5rem;
}

.p-completed__map {
  margin-top: 0.5rem;
}

/*----------------------------------------------------------------------
マイページ・予約キャンセル
----------------------------------------------------------------------*/
.p-mypage {
  padding-bottom: 11.8rem;
}

.p-mypage__wrapper {
  width: 30rem;
  margin: 3.5rem auto 0;
}

.p-mypage__message {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.3333333333;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 2rem;
}

.p-mypage__message--red {
  color: var(--primary-color);
}

.p-mypage__change-button {
  margin-top: 0.5rem;
}

.p-mypage__calendar-button {
  margin-top: 3rem;
}

.p-mypage__map-button {
  margin-top: 0.5rem;
}

.p-mypage__back-button {
  margin-top: 2rem;
}

.p-mypage__top-button {
  margin-top: 2rem;
}

.cancel .p-mypage__change-button {
  margin-top: 3rem;
}

.cancel-2 .p-mypage__change-button,
.cancel-3 .p-mypage__change-button {
  margin-top: 2.3rem;
}

/*----------------------------------------------------------------------
会員登録
----------------------------------------------------------------------*/
.signup .p-completed {
  padding-top: 3.05rem;
}

/*----------------------------------------------------------------------
予約選択
----------------------------------------------------------------------*/

body.auth ,
body.password.login ,
body.select-method {
  background-color: var(--header-background-color);
}

.p-select-method {
  text-align: center;
  width: 30rem;
  margin: 3rem auto 0;
}

.p-select-method__headline {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2.8rem;
}

.p-select-method__text {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}

.p-select-method__button {
  margin: 2rem 0;
}

.p-confirmation-message {
  width: 30rem;
  margin-right: auto;
  margin-left: auto;
}

.p-confirmation-message__text {
  line-height: 1.6875;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 3.1rem;
}

.p-confirmation-message__text strong {
  color: var(--primary-color);
  font-weight: bold;
}

.p-confirmation-message__link {
  display: block;
  line-height: 1.6875;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: right;
}

.p-confirmation-message__cancel {
  margin-top: 5.2rem;
}

.p-finish-message {
  width: 30rem;
  margin-right: auto;
  margin-left: auto;
}

.p-finish-message__headline {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 3.2rem;
}

/* メッセージのスタイル */
.p-finish-message__buttons .c-button {
  margin-bottom: 2rem;
}

body.mypage ,
body.password {
  background: inherit;
}

.password .l-content {
  width: 100%;
}

.password .p-confirmation-message__link ,
.mypage .p-confirmation-message__link {
  text-align: center;
}

.p-finish-message {
  margin-top: 5.2rem;
  text-align: center;
}

.p-finish-message__text {
  margin-bottom: 4rem;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-confirmation__item:has(.p-confirmation__item__images) {
  padding-bottom: 0;
  border-bottom: 0;
}

.p-confirmation__item__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.p-confirmation__item__images picture {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  border-radius: .5rem;
  padding: .4rem 2rem;
  background-color: var(--button-text-color);
}

.confirmation.tel {
  background: var(--input-border-color);
}

.mypage .p-mypage__account-button {
  margin-top: 2.4rem;
}

.p-mypage__bookmark-message {
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 1.2rem;
  color: #333;
  margin-top: 3rem;
  padding: .9rem 1rem;
  border: 0.1rem solid var(--input-border-color);
  border-radius: .5rem;
  background-color: var(--background-color);
}

.bookmark-icon {
  width: 1.9rem;
  height: auto;
  margin-right: 0.6rem;
}

.p-mypage__top {
  margin-top: 2.5rem;
}

.p-member-change__headline {
  margin-bottom: 1.5rem;
}

.p-member-change__form__item {
  margin-bottom: 2.2rem;
}

.p-member-change__form__label {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.p-member-change__form__value {
  font-size: 1.6rem;
  margin-bottom: 3.3rem;
}

.c-input input {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid var(--input-border-color);
  border-radius: 5px;
  font-size: 1.4rem;
}

.p-member-change__form__buttons {
  margin-top: 3.3rem;
}

.p-member-change__form__buttons .c-button {
  margin-bottom: 2.2rem;
}

.p-confirmation-message__button{
  margin-top: 4rem;
}

