@charset "UTF-8";
/* 
*****************************************************************/
/* mixin
*********************************************************************/
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* 1280 */
/* フルワイド */
/* フルワイド */
.area_visual .pagettl svg {
  width: 100%;
  height: auto;
  max-width: 40vw;
  min-width: 160px;
}
.area_visual .copy {
  top: 6vw;
}
@media all and (max-width: 896px) {
  .area_visual .copy {
    font-size: 1.7rem;
    top: 40px;
    right: 20px;
    letter-spacing: 0em;
  }
}

.area_reserve {
  position: relative;
  padding: 0 12vw;
  overflow: hidden;
}
@media all and (max-width: 896px) {
  .area_reserve {
    padding: 0 20px;
  }
}
.area_reserve .block_reserve {
  padding: 60px 0;
  position: relative;
}
@media all and (max-width: 896px) {
  .area_reserve .block_reserve {
    padding: 30px 0;
  }
}
.area_reserve .block_reserve .elem01 {
  position: absolute;
  top: 6vw;
  left: -30px;
  width: 25vw;
  mix-blend-mode: multiply;
}
.area_reserve .block_reserve .elem01 img {
  width: 100%;
  height: auto;
}
.area_reserve .block_reserve .box_ttl {
  text-align: center;
}
.area_reserve .block_reserve .box_ttl h1 {
  font-family: "Hina Mincho", serif;
  font-size: 3.6rem;
  line-height: 1.1em;
  font-weight: 200;
  letter-spacing: 0.2em;
}
@media all and (max-width: 896px) {
  .area_reserve .block_reserve .box_ttl h1 {
    font-size: 2.7rem;
  }
}
.area_reserve .block_reserve .box_ttl .cloud {
  padding: 16px 0 0;
  max-width: 280px;
  width: 50%;
  margin: auto;
}
.area_reserve .block_reserve .box_ttl .cloud img {
  width: 100%;
  height: auto;
}
.area_reserve .block_reserve .box_ttl p {
  font-size: 1.5rem;
  line-height: 2em;
  padding: 20px 0 0;
}
@media all and (max-width: 896px) {
  .area_reserve .block_reserve .box_ttl p {
    padding: 12px 0 0;
    text-align: justify;
  }
}
.area_reserve .block_reserve .column_topic {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 40px 0;
}
@media all and (max-width: 480px) {
  .area_reserve .block_reserve .column_topic {
    justify-content: center;
    padding: 20px 0;
  }
}
.area_reserve .block_reserve .column_topic .side_ttl {
  width: 30%;
}
@media all and (max-width: 480px) {
  .area_reserve .block_reserve .column_topic .side_ttl {
    width: 40%;
  }
}
.area_reserve .block_reserve .column_topic .side_ttl img {
  width: 100%;
  height: auto;
}
.area_reserve .block_reserve .column_topic .side_txt {
  width: 66%;
}
@media all and (max-width: 480px) {
  .area_reserve .block_reserve .column_topic .side_txt {
    width: 100%;
  }
}
.area_reserve .block_reserve .column_topic .side_txt h2 {
  font-family: "Hina Mincho", serif;
  font-size: 2.4rem;
  line-height: 1.4em;
  font-weight: 400;
}
@media all and (max-width: 480px) {
  .area_reserve .block_reserve .column_topic .side_txt h2 {
    font-size: 2.2rem;
    text-align: center;
    padding: 10px 0 0;
  }
}
.area_reserve .block_reserve .column_topic .side_txt p {
  font-size: 1.5rem;
  line-height: 2em;
  padding: 20px 0 0;
  text-align: justify;
}
@media all and (max-width: 896px) {
  .area_reserve .block_reserve .column_topic .side_txt p {
    padding: 12px 0 0;
  }
}

/***************************************************
 * Generated by SVG Artista on 6/19/2023, 2:03:37 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 1139.7864990234px;
    stroke-dasharray: 1139.7864990234px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1139.7864990234px;
  }
}
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-1 {
  animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}
@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 301.8282470703px;
    stroke-dasharray: 301.8282470703px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 301.8282470703px;
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-2 {
  animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
}
@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 1206.1951904297px;
    stroke-dasharray: 1206.1951904297px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1206.1951904297px;
  }
}
@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-3 {
  animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
}
@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 707.0718383789px;
    stroke-dasharray: 707.0718383789px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 707.0718383789px;
  }
}
@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-4 {
  animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
}
@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 562.2308959961px;
    stroke-dasharray: 562.2308959961px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 562.2308959961px;
  }
}
@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-5 {
  animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.48s both, animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
}
@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 272.5298461914px;
    stroke-dasharray: 272.5298461914px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 272.5298461914px;
  }
}
@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-6 {
  animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both, animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
}
@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 1238.2858886719px;
    stroke-dasharray: 1238.2858886719px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1238.2858886719px;
  }
}
@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-7 {
  animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.72s both, animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
}
@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 308.1937255859px;
    stroke-dasharray: 308.1937255859px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 308.1937255859px;
  }
}
@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-8 {
  animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.84s both, animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
}
@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 485.8536071777px;
    stroke-dasharray: 485.8536071777px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 485.8536071777px;
  }
}
@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-9 {
  animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.96s both, animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
}
@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 1238.2857666016px;
    stroke-dasharray: 1238.2857666016px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1238.2857666016px;
  }
}
@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-10 {
  animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.08s both, animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
}
@keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 272.521697998px;
    stroke-dasharray: 272.521697998px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 272.521697998px;
  }
}
@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-11 {
  animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both, animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
}
@keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 1047.0072021484px;
    stroke-dasharray: 1047.0072021484px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1047.0072021484px;
  }
}
@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-12 {
  animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.32s both, animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s both;
}
@keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 242.0148925781px;
    stroke-dasharray: 242.0148925781px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.0148925781px;
  }
}
@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-13 {
  animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.44s both, animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
}
@keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 272.5206604004px;
    stroke-dasharray: 272.5206604004px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 272.5206604004px;
  }
}
@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-14 {
  animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.56s both, animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
}