@charset "UTF-8";
/* ---------------------
  - html
  - body

  - containerWrapper
    - containerWrapper__header
    - containerWrapper__main
    - containerWrapper__side
.
  - header

  - logo

  - blur

  - headerSlide
    - headerSlide__item

  - slickSlide
    - slick-slide
    - slick-dots

  - main

  - mainVisual
    - mainVisual__picture
    - mainVisual__link

  - caption

  - contents
    - contents__item

  - schedule
    - schedule__picture
    - schedule__link

  - voice
    - voice__title
    - voice__comment
  - voiceComment
    - voiceComment__list
  - commentList
    - commentList__item

  - present
    - present__title
    - present__list
  - presentList
    - presentList__item

  - space
    - space__picture
    - space__link

  - question
    - question__title
    - question__lists
    - question__text
  - questionList
    - questionList__item
  - questionItem
    - questionItem__title
      - JS-questionToggle
      - -isOpen
    - questionItem__body
      - JS-questionToggleTarget

  - form

  - footer

  - copyright

  - floatingLink
    - floatingLink__balloon
    - floatingLink__link
  - floatingLinkBalloon
    - floatingLinkBalloon__item
      - --label
      - --text

  - sideReserve
    - sideReserve__picture
    - sideReserve__btn
--------------------- */
/* -----------------------------------
  html
----------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

@media screen and (min-width: 768.1px) {
  html {
    font-size: min(14px, 0.875vw);
    /* 14/16 */
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 14px;
  }
}
/* -----------------------------------
  body
----------------------------------- */
body {
  background-color: #f9f1d3;
  color: #000;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-optical-sizing: auto;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* -----------------------------------
  containerWrapper
----------------------------------- */
a {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768.1px) {
  #containerWrapper {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-align-items: stretch;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
/*  containerWrapper__header
------------------------ */
#containerWrapper__header {
  top: 0;
  left: 0;
  height: 100svh;
  overflow: hidden;
}

@media screen and (min-width: 768.1px) {
  #containerWrapper__header {
    -moz-flex: none;
    -ms-flex: none;
    -o-flex: none;
    -webkit-box-flex: 0;
            flex: none;
    width: 50%;
    position: sticky;
  }
}
@media screen and (max-width: 768px) {
  #containerWrapper__header {
    position: fixed;
    right: 0;
    bottom: 0;
  }
}
/*  containerWrapper__main
------------------------ */
#containerWrapper__main {
  position: relative;
  z-index: 999;
  background-color: #fff;
}

@media screen and (min-width: 768.1px) {
  #containerWrapper__main {
    -moz-flex: none;
    -ms-flex: none;
    -o-flex: none;
    -webkit-box-flex: 0;
            flex: none;
    width: min(420px, 26.25vw);
    /* 420/16 */
  }
}
@media screen and (max-width: 768px) {
  #containerWrapper__main {
    max-width: 425px;
    margin-inline: auto;
  }
}
/*  containerWrapper__side
------------------------ */
@media screen and (min-width: 768.1px) {
  #containerWrapper__side {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -moz-flex: 1;
    -ms-flex: 1;
    -o-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: sticky;
    top: 0;
    right: 0;
    height: 100svh;
  }
}
@media screen and (max-width: 768px) {
  #containerWrapper__side {
    display: none;
  }
}
/* -----------------------------------
  header
----------------------------------- */
#header {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  aspect-ratio: 198/47;
  margin: auto;
}

@media screen and (min-width: 768.1px) {
  #header {
    width: min(369px, 23.0625vw);
    /* 369/16 */
  }
}
@media screen and (max-width: 768px) {
  #header {
    max-width: 369px;
  }
}
/* -----------------------------------
  logo
----------------------------------- */
/* -----------------------------------
  blur
----------------------------------- */
@-webkit-keyframes blurPc {
  0% {
    -webkit-filter: blur(500px);
            filter: blur(500px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes blurPc {
  0% {
    -webkit-filter: blur(500px);
            filter: blur(500px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes blurSp {
  0% {
    -webkit-filter: blur(500px);
            filter: blur(500px);
  }
  100% {
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
}
@keyframes blurSp {
  0% {
    -webkit-filter: blur(500px);
            filter: blur(500px);
  }
  100% {
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
}
/* -----------------------------------
  headerSlide
----------------------------------- */
#headerSlide {
  height: 100%;
  -webkit-animation: 1.5s forwards;
  animation: 1.5s forwards;
  -webkit-filter: blur(500px);
          filter: blur(500px);
}

@media screen and (min-width: 768.1px) {
  #headerSlide {
    -webkit-animation-name: blurPc;
    animation-name: blurPc;
  }
}
@media screen and (max-width: 768px) {
  #headerSlide {
    -webkit-animation-name: blurSp;
    animation-name: blurSp;
  }
}
#headerSlide :is(.slick-list, .slick-track) {
  height: 100%;
}

/*  slick-slide
------------------------ */
.headerSlide__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}

/* -----------------------------------
  slickSlide
----------------------------------- */
/*  slick-slide
------------------------ */
.slickSlide .slick-slide {
  max-width: 425px;
}

/*  slick-dots
------------------------ */
.slickSlide .slick-dots {
  list-style: none;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.3em;
     -moz-column-gap: 1.3em;
          column-gap: 1.3em;
  margin-top: 6.133333333%;
  /* 23/3.75 */
  padding: 0;
  font-size: 0.7142857153rem;
  /* 10/14 */
  line-height: 1;
}

.slickSlide .slick-dots > li button {
  aspect-ratio: 1/1;
  width: 1em;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  background-color: #f9f1d3;
  text-indent: 200%;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media (hover: hover) and (pointer: fine) {
  .slickSlide .slick-dots > li button:hover {
    background-color: #dc6140;
  }
}
.slickSlide .slick-dots > li.slick-active button {
  background-color: #dc6140;
}

/* -----------------------------------
  main
----------------------------------- */
/* -----------------------------------
  mainVisual
----------------------------------- */
#mainVisual {
  position: relative;
}

/*  mainVisual__picture
------------------------ */
/*  mainVisual__link
------------------------ */
.cv__link__wrap {
  padding: 0 20px;
  background-color: #d1dce9;
}

.cv__link {
  background-color: #d1dce9;
  padding-top: 50px;
}
.cv__link div {
  text-align: center;
  font-size: 13px;
  padding-top: 10px;
}

.cv__link a {
  position: relative;
  max-width: 100%;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 375/62;
  overflow: hidden;
  border-radius: 2lh;
  color: #fff;
  font-size: 23px;
  white-space: nowrap;
  text-decoration: none;
  background-color: #dc6140;
  padding: 30px 20px;
}
.cv__link a::after {
  content: "";
  position: absolute;
  right: 1.2em;
  top: 50%;
  aspect-ratio: 1/1;
  width: 0.521739em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

.cv__link__text {
  text-align: center;
  font-size: 1.4rem;
  color: #dc6140;
  margin-bottom: 10px;
}

/* -----------------------------------
  caption
----------------------------------- */
.caption {
  padding-top: 40px;
  background-color: #d1dce9;
}

.caption__text__list {
  margin-top: -10px;
  padding: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.caption__text__list__item {
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0;
  padding: 5px 0;
  color: #dc6140;
  background-color: #fff;
}

.caption__text__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 16px 0 12px;
}
.caption__text__dots span {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #fff;
}

.caption__text__catch {
  padding: 0 30px 32px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.caption__bottom__wrap {
  background-color: #fff;
}
.caption__bottom__wrap .caption__bottom {
  width: 100%;
  height: 30px;
  background-color: #d1dce9;
  border-bottom-left-radius: 30px;
}

/* -----------------------------------
  title
----------------------------------- */
.title__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  margin-bottom: 30px;
}
.title__section img {
  height: 30px;
  -o-object-fit: contain;
     object-fit: contain;
}
.title__section .title__jp {
  color: #dc6140;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0;
  padding-bottom: 0;
  letter-spacing: 0;
}

/* -----------------------------------
  contents
----------------------------------- */
/*  contents__item
------------------------ */
.contents {
  padding-top: 80px;
  padding-bottom: 80px;
}

.contents__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 70px;
}
.contents__list__item {
  padding: 0 20px;
}
.contents__list__item.-exhibition {
  margin-top: 30px;
}
.contents__list__item__picture {
  position: relative;
}
.contents__list__item__text {
  color: #d45f5f;
  -webkit-transform: translate(-20px, -30px);
          transform: translate(-20px, -30px);
  font-size: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  font-weight: 500;
}
.contents__list__item__text p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  border-top: 1px solid #d45f5f;
  border-right: 1px solid #d45f5f;
  border-bottom: 1px solid #d45f5f;
  padding: 0 20px;
}
.contents__list__item__text.-food p {
  color: #ac6c64;
  border-color: #ac6c64;
}
.contents__list__item__text.-planner p {
  color: #c6a52d;
  border-color: #c6a52d;
}
.contents__list__item__text.-exhibition p {
  color: #377087;
  border-color: #377087;
}
.contents__list__item__description {
  font-weight: 500;
  margin-top: -20px;
}
.contents__list__subitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.contents__list__subitem__item {
  position: relative;
}
.contents__list__subitem__item__picture {
  width: 50%;
  margin-right: 0;
  margin-left: auto;
}
.contents__list__subitem__item__picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.contents__list__subitem__item__text__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  position: absolute;
  top: 30px;
  left: 0px;
}
.contents__list__subitem__item__text__list .point {
  background-color: #c6a52d;
  border-radius: 30px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  color: #fff;
  padding: 5px 30px;
  min-width: 182px;
  text-align: center;
}

/* -----------------------------------
  schedule
----------------------------------- */
#schedule {
  position: relative;
}

.schedule {
  padding: 80px 20px;
  background-color: #d1dce9;
}
.schedule .schedule__catch {
  font-weight: 500;
  text-align: center;
  line-height: 1.6rem;
  margin-bottom: 20px;
}
.schedule .schedule__catch span {
  font-size: 2rem;
}

/*  schedule__picture
------------------------ */
/*  schedule__link
------------------------ */
#schedule__link {
  position: absolute;
  left: 50%;
  bottom: 16.3934426232%;
  /* 110/6.71 */
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 88.2352941186%;
  /* 375/4.25 */
}

#schedule__link a {
  display: block;
  aspect-ratio: 375/62;
  overflow: hidden;
  border-radius: 2lh;
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
  text-indent: 200%;
}

/* -----------------------------------
  voice
----------------------------------- */
#voice {
  padding: 17.1764719% 5.8823529412%;
  /* 73/4.25 25/4.25 */
}

/*  voice__title
------------------------ */
/*  voice__comment
------------------------ */
/* -----------------------------------
  voiceComment
----------------------------------- */
#voiceComment {
  position: relative;
  padding-top: 9.33333333%;
  /* 35/3.75 */
}

/*  voiceComment__icon
------------------------ */
#voiceComment__icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  aspect-ratio: 1/1;
  width: 32%;
  /* 120/3.75 */
  background-image: url("../img/main/voice/icon.png");
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  content: " ";
}

/*  voiceComment__list
------------------------ */
/* -----------------------------------
  commentList
----------------------------------- */
#commentList.slickSlide .slick-list {
  margin-left: 18.6666666667%;
  /* 70/3.75 */
  border: 1px solid #dc6140;
  border-radius: 20px;
  background-color: #f9f1d3;
}

#commentList.slickSlide .slick-track {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-align-items: stretch;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  font-weight: 500;
  line-break: anywhere;
}

#commentList.slickSlide .slick-slide {
  float: none;
  height: auto;
  min-height: auto;
}

/*  commentList__item
------------------------ */
.commentList__item {
  -ms-align-self: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.commentList__item p {
  padding-block: 13.2013202%;
  /* 40/3.03 */
  padding-inline: 19.801980198% 13.2013202%;
  /* 60/3.03 */
}

/* -----------------------------------
  present
----------------------------------- */
#present {
  padding-block: 14.1176470593% 11.2941176482%;
  /* 60/4.25 48/4.25 */
  padding-inline: 5.8823529421%;
  /* 25/4.25 */
  background-image: url("../img/main/present/bg.jpg");
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #f9f1d3;
}

.present .title__section img {
  height: 60px;
}
.present .img-number {
  width: 100px;
  margin: 0 auto 20px;
}

/*  present__title
------------------------ */
/*  present__list
------------------------ */
/* -----------------------------------
  presentList
----------------------------------- */
#presentList.slickSlide .slick-dots > li button {
  background-color: #d1dce9;
}

@media (hover: hover) and (pointer: fine) {
  #presentList.slickSlide .slick-dots > li button:hover {
    background-color: #dc6140;
  }
}
#presentList.slickSlide .slick-dots > li.slick-active button {
  background-color: #dc6140;
}

.presentList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.presentList__item__text {
  text-align: center;
  background-color: #fff;
  padding: 20px 0;
}
.presentList__item__text__title {
  font-weight: bold;
}
.presentList__item__text__description {
  font-size: 1.8rem;
  line-height: 1.8rem;
  color: #dc6140;
  font-weight: bold;
}
.presentList__item__text__description span {
  font-size: 1.4rem;
}

/*  presentList__item
------------------------ */
/* -----------------------------------
  space
----------------------------------- */
#space {
  position: relative;
}

.space {
  padding: 80px 20px;
  background-color: #d1dce9;
}
.space .space__info {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  font-size: 1rem;
}
.space .space__info__logo {
  width: 40%;
}
.space .space__info__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.space .space__info__text p {
  line-height: 1.6rem;
}

/*  space__picture
------------------------ */
/*  space__link

    &__text {
      font-size: 1.4rem;
      line-height: 1.4rem;
      color: #dc6140;
      font-weight: bold;
    }
------------------------ */
#space__link {
  margin-top: 10px;
}

#space__link a {
  padding: 2px 20px;
  border: 1px solid #000;
  display: block;
  overflow: hidden;
  color: #000;
  white-space: nowrap;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
#space__link a .icon-map {
  height: 15px;
}
#space__link a .arrow-right {
  height: 5px;
}

/* -----------------------------------
  question
----------------------------------- */
#question {
  /* 25/4.25 */
}

.question {
  padding: 80px 20px;
}

/*  question__title
------------------------ */
/*  question__text
------------------------ */
/* -----------------------------------
  questionList
----------------------------------- */
/*  questionList__item
------------------------ */
.questionList__item {
  border-bottom: 1px solid #dc6140;
}

.question__text {
  margin-top: 30px;
  text-align: center;
  font-weight: 500;
}

/* -----------------------------------
  questionItem
----------------------------------- */
.questionItem {
  letter-spacing: 0.06em;
}

/*  questionItem__title
------------------------ */
.questionItem__title {
  padding-block: 1.4285714299em;
  /* 20/14 */
  font-weight: 500;
}

.questionItem__title:after {
  display: block;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  aspect-ratio: 1/1;
  width: 0.5714284em;
  /* 8/14 */
  border-bottom: 1px solid #dc6140;
  border-left: 1px solid #dc6140;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

/*  JS-questionToggle  */
.questionItem__title.JS-questionToggle {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.5em;
     -moz-column-gap: 1.5em;
          column-gap: 1.5em;
  cursor: pointer;
}

.questionItem__title.JS-questionToggle:after {
  -moz-flex: none;
  -ms-flex: none;
  -o-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  content: " ";
}

/*  --isOpen  */
.questionItem__title.JS-questionToggle.--isOpen:after {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/*  questionItem__body
------------------------ */
.questionItem__body {
  padding-bottom: 1.4285714299em;
  /* 20/14 */
}

.questionItem__body a {
  color: var(--color);
}

@media (hover: hover) and (pointer: fine) {
  .questionItem__body a:hover {
    text-decoration: none;
  }
}
/*  JS-questionToggleTarget  */
.questionItem__body.JS-questionToggleTarget {
  display: none;
}

/* -----------------------------------
  form
----------------------------------- */
#form {
  min-height: 50svh;
}

/* -----------------------------------
  footer
----------------------------------- */
@media screen and (min-width: 768.1px) {
  #footer:has(+ #floatingLink) {
    padding-bottom: 21.42857153%;
    /* 90/4.2 */
  }
}
@media screen and (max-width: 768px) {
  #footer:has(+ #floatingLink) {
    padding-bottom: 21.41176485%;
    /* 91/4.25 */
  }
}
/* -----------------------------------
  copyright
----------------------------------- */
#copyright {
  padding: 1em;
  font-size: 0.8571421rem;
  /* 12/14 */
  line-height: 1.3333333;
  /* 16/12 */
  letter-spacing: 0.02em;
}

#copyright small {
  display: block;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  font-size: inherit;
}

/* -----------------------------------
  floatingLink
----------------------------------- */
#floatingLink {
  position: fixed;
  bottom: 0;
  z-index: 99999;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, rgba(40, 74, 72, 0)), to(rgb(40, 74, 72)));
  background: linear-gradient(180deg, rgba(40, 74, 72, 0) 10%, rgb(40, 74, 72) 100%);
  -webkit-transform: translateY(120%);
  transform: translateY(120%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (min-width: 768.1px) {
  #floatingLink {
    width: min(420px, 26.25vw);
    /* 420/16 */
  }
}
@media screen and (max-width: 768px) {
  #floatingLink {
    right: 0;
    left: 0;
    max-width: 425px;
    margin-inline: auto;
  }
}
#floatingLink.--isVisible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*  floatingLink__balloon
------------------------ */
/* @TODO 終了日間近になったら表示 */
#floatingLink__balloon {
  display: none;
}

@media screen and (min-width: 768.1px) {
  #floatingLink__balloon {
    padding-block: min(10px, 0.625vw) min(8px, 0.5vw);
    /* 10/16 8/16 */
  }
}
@media screen and (max-width: 768px) {
  #floatingLink__balloon {
    padding-block: min(10px, 2.35294128vw) min(8px, 1.882352951vw);
    /* 10/4.25 8/4.25 */
  }
}
/*  floatingLink__link
------------------------ */
#floatingLink__link a {
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media (hover: hover) and (pointer: fine) {
  #floatingLink__link a:hover {
    opacity: 0.75;
  }
}
/* -----------------------------------
  floatingLinkBalloon
----------------------------------- */
#floatingLinkBalloon {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.57142864em;
     -moz-column-gap: 0.57142864em;
          column-gap: 0.57142864em;
  /* 8/14 */
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
  padding-block: 0.85714291em;
  /* 12/14 */
  padding-inline: 0.85714291em 1em;
  border-radius: 50px;
  background-color: #fff;
  font-weight: 500;
  letter-spacing: 0.06em;
  -webkit-box-shadow: 0 -3px 10px 0 rgba(40, 74, 72, 0.25);
  box-shadow: 0 -3px 10px 0 rgba(40, 74, 72, 0.25);
}

#floatingLinkBalloon:after {
  position: absolute;
  top: calc(100% - 0.14285729em);
  /* 2/14 */
  right: 0;
  left: 0;
  z-index: 9;
  aspect-ratio: 10/7;
  height: 1em;
  margin-inline: auto;
  background-color: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: " ";
}

/*  floatingLinkBalloon__item
------------------------ */
.floatingLinkBalloon__item span {
  font-style: italic;
}

/*  --label  */
.floatingLinkBalloon__item#--label {
  -moz-flex: none;
  -ms-flex: none;
  -o-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  padding-inline: 0.85714291em 1em;
  /* 12/14 */
  border-radius: 50px;
  background-color: #d56444;
  color: #fff;
}

/*  --text  */
.floatingLinkBalloon__item#--text {
  -moz-flex: 1;
  -ms-flex: 1;
  -o-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
  font-size: 1.07142861em;
  /* 15/14 */
}

/* -----------------------------------
  sideReserve
----------------------------------- */
#sideReserve {
  position: relative;
  width: min(260px, 16.25vw);
  /* 260/16 */
  margin-inline: auto;
}
#sideReserve .cv__link {
  background-color: transparent;
  padding-top: 10px;
}
#sideReserve .cv__link a {
  font-size: 1.4rem;
  padding: 20px 20px;
}
#sideReserve .cv__link div {
  font-size: 11px;
  color: #d45f5f;
}

/*  sideReserve__picture
------------------------ */
/*  sideReserve__btn
------------------------ */
#sideReserve__btn {
  position: absolute;
  bottom: 7.9840319375%;
  /* 40/5.01 */
  left: 0.3846153856%;
  /* 1/2.6 */
  width: 96.1538461545%;
  /* 250/2.6 */
}

#sideReserve__btn a {
  display: block;
  aspect-ratio: 50/9;
  border-radius: 2.5lh;
  overflow: hidden;
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
  text-indent: 200%;
}