/*
Theme Name: silky
*/
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
.p-page_content__inner {
  max-width: 100% !important;
}

.u-color__bg--base {
  overflow: visible;
}

.shine01 {
  position: relative;
  background-image: linear-gradient(70deg, rgb(0, 0, 0) 45%, #fff 50%, rgba(0, 0, 0, 0.3) 55%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  width: -moz-fit-content;
  width: fit-content;
}
.shine01.active {
  animation: shine01 3s 1;
}

.shine02 {
  position: relative;
  background-image: linear-gradient(70deg, rgb(255, 255, 255) 45%, #000 50%, rgba(255, 255, 255, 0.3) 55%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  width: -moz-fit-content;
  width: fit-content;
}
.shine02.active {
  animation: shine01 5s 1;
}

@keyframes shine01 {
  0% {
    background-position: 100% 100%;
    transform: translate(-30px, 0);
  }
  30% {
    transform: translate(0);
  }
  100% {
    background-position: 0% 50%;
    transform: translate(0);
  }
}
@keyframes area0701 {
  0% {
    opacity: 0;
    transform: scaleX(50%) translateY(50px);
  }
  100% {
    opacity: 1;
    transform: scaleX(100%) translateY(0);
  }
}
@keyframes area0301 {
  0% {
    opacity: 0;
    transform: scaleX(80%) translateY(50px);
  }
  100% {
    opacity: 1;
    transform: scaleX(100%) translateY(0);
  }
}
@keyframes area0302 {
  0% {
    opacity: 0;
    transform: rotate(360deg);
  }
  100% {
    opacity: 1;
    transform: rotate(0);
  }
}
.anitxt01 {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
  line-height: 1;
  margin-top: 15px;
}
.anitxt01.active {
  clip-path: inset(0);
}

.anitxt01 span {
  opacity: 0;
}

main.next .content_box {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

main.next .content_box > .inner > aside {
  display: none !important;
}

main.next .content_box > .inner > article {
  width: 100% !important;
  float: none !important;
  padding-bottom: 0 !important;
}

aside {
  display: none !important;
}

/* ===============================================
# navarea
=============================================== */
@media screen and (max-width: 767px) {
  #navArea nav {
    position: fixed;
    top: 0;
    left: -100%;
    bottom: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: 0.5s;
    z-index: 300;
  }
  #navArea.open nav {
    left: 0;
  }
  #navArea.open .toggle_btn span {
    background-color: rgb(0, 0, 0);
  }
  #navArea.open .toggle_btn span:nth-child(1) {
    transform: translate(0, 10px) rotate(-45deg);
    animation: unset;
    top: 5px;
  }
  #navArea.open .toggle_btn span:nth-child(2) {
    opacity: 0;
    animation: unset;
  }
  #navArea.open .toggle_btn span:nth-child(3) {
    transform: translate(0, -10px) rotate(45deg);
    animation: unset;
    top: 25px;
  }
  .toggle_btn {
    display: block;
    position: fixed;
    top: 54px;
    right: 20px;
    width: 24px;
    height: 24px;
    transform: translate(0, 0);
    transition: all 0.5s;
    cursor: pointer;
    z-index: 10000;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 24px;
    height: 3px;
    background-color: rgb(0, 0, 0);
    transition: all 0.5s;
  }
  .toggle_btn span:nth-child(1) {
    top: 5px;
    width: 24px;
  }
  .toggle_btn span:nth-child(2) {
    top: 12px;
    width: 24px;
  }
  .toggle_btn span:nth-child(3) {
    top: 19px;
    width: 24px;
  }
  .error404 .error-404 {
    letter-spacing: 0.05em;
    line-height: 2;
    margin: 100px auto;
    padding: 0 20px;
  }
  .error404 .error-404 h1 {
    border-bottom: 1px dotted #000;
    font-size: 20px;
    margin: 0 0 12px;
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  #navArea nav {
    display: flex;
    position: fixed;
    top: 0;
    left: -100%;
    bottom: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: 0.5s;
    z-index: 300;
  }
  #navArea.open nav {
    left: 0;
  }
  #navArea.open .toggle_btn span {
    background-color: rgb(0, 0, 0);
  }
  #navArea.open .toggle_btn span:nth-child(1) {
    transform: translate(0, 10px) rotate(-45deg);
    animation: unset;
    top: 5px;
  }
  #navArea.open .toggle_btn span:nth-child(2) {
    opacity: 0;
    animation: unset;
  }
  #navArea.open .toggle_btn span:nth-child(3) {
    transform: translate(0, -10px) rotate(45deg);
    animation: unset;
    top: 25px;
  }
  .toggle_btn {
    cursor: pointer;
    display: block;
    height: 30px;
    right: 35px;
    position: fixed;
    text-align: center;
    top: 62px;
    transform: translate(0, 0);
    transition: all 0.5s;
    width: 30px;
    z-index: 10000;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30px;
    height: 3px;
    background-color: rgb(0, 0, 0);
    transition: all 0.5s;
  }
  .toggle_btn span:nth-child(1) {
    left: 0;
    top: 5px;
    width: 30px;
  }
  .toggle_btn span:nth-child(2) {
    left: 0;
    top: 13px;
    width: 30px;
  }
  .toggle_btn span:nth-child(3) {
    left: 0;
    top: 21px;
    width: 30px;
  }
  .error404 .error-404 {
    letter-spacing: 0.05em;
    line-height: 2;
    margin: 10vw auto;
    width: 75vw;
  }
  .error404 .error-404 h1 {
    border-bottom: 1px dotted #000;
    font-size: 1.25vw;
    font-size: clamp(10px, 1.25vw, 24px);
    margin: 0 0 1.2vw;
    padding-bottom: 1vw;
  }
}
/* ===============================================
# mask
=============================================== */
#mask {
  display: none;
}

.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
  cursor: pointer;
  transition: all 0.5s;
  z-index: 111;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ===============================================
# animation
=============================================== */
.ani.anit {
  opacity: 0 !important;
  transform: translateY(30px);
  transition: all 1.5s 0s ease;
}

.ani.anit.active {
  opacity: 1 !important;
  transform: translateY(0);
}

.ani.anir {
  opacity: 0 !important;
  transform: translateX(-30px);
  transition: all 1.5s 0s ease;
}

.ani.anir.active {
  opacity: 1 !important;
  transform: translateX(0);
}

.ani.anil {
  opacity: 0 !important;
  transform: translateX(30px);
  transition: all 1.5s 0s ease;
}

.ani.anil.active {
  opacity: 1 !important;
  transform: translateX(0);
}

.animation02 {
  overflow: hidden;
  position: relative;
}

.animation02 img {
  display: block;
  opacity: 0;
  position: relative;
  transition: all 1.5s 0.3s ease;
  width: 100%;
  z-index: 0;
}

.animation02::before {
  background: rgb(255, 255, 255);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(0);
  transition: all 0.8s 0.4s ease;
  width: 100%;
  z-index: 1;
}

.animation02.active:before {
  transform: translateX(100%);
}

.animation02.active img {
  opacity: 1;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
*:focus {
  outline: none !important;
}

body {
  color: #251e1c;
  font-family: "Noto Sans JP", sans-serif;
  animation: fadein 3s forwards;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
}

a {
  transition: all 0.3s ease;
}

a:active,
a:focus,
a:hover,
a:link,
a:visited {
  text-decoration: none;
}

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

#wrap {
  display: flex;
  justify-content: space-between;
}
#wrap #side-left {
  align-items: center;
  display: flex;
  height: 100vh;
  height: 100svh;
  margin-right: 28px;
  justify-content: center;
  position: relative;
  width: calc((100% - 600px) / 2 - 28px);
}
#wrap #side-left:before {
  background-image: url(../images/bg01@2x.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: calc((100% - 600px) / 2 - 28px);
  z-index: -1;
}
#wrap #side-left .nav {
  display: flex;
  justify-content: space-between;
  position: fixed;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #side-left .nav .image {
  width: 22.7%;
}
#wrap #side-left .nav .txt {
  padding-top: 7.6vw;
  width: 66.7%;
}
#wrap #side-left .nav .txt h2 {
  border-bottom: 1px solid #251e1c;
  font-size: 0.68vw;
  font-size: clamp(11px, 0.68vw, 13px);
  letter-spacing: 0.05em;
  margin-bottom: 0.8vw;
  padding-bottom: 0.5vw;
}
#wrap #side-left .nav .txt ul li {
  font-size: 0.68vw;
  font-size: clamp(11px, 0.68vw, 13px);
  letter-spacing: 0.05em;
  padding-bottom: 1.4vw;
}
#wrap #side-left .nav .txt .catch {
  font-size: 9px;
  letter-spacing: 0.05em;
  line-height: 1.26;
}
#wrap #main {
  background-color: #fff;
  position: relative;
  width: 600px;
}
#wrap #main .notice01 {
  background-color: #000;
  height: 33px;
  margin: 0 auto;
  padding: 5px;
  position: absolute;
  top: 0;
  width: 600px;
  z-index: 20;
}
#wrap #main .notice01 a {
  align-items: center;
  border-bottom: 1px solid #fff;
  color: #fff;
  display: flex;
  height: 19px;
  justify-content: center;
  padding-bottom: 1px;
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main .notice01 a .icon {
  background-image: url(../images/notice01@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 19px;
  margin-right: 10px;
  width: 19px;
}
#wrap #main .notice01 a .txt {
  font-size: 14px;
  letter-spacing: 0.35em;
}
#wrap #main .logo01 {
  align-items: center;
  aspect-ratio: 1200/190;
  background-color: #fff;
  display: flex;
  justify-content: center;
  margin-top: 33px;
  position: relative;
  z-index: 2;
}
#wrap #main .logo01 img {
  margin: auto;
  width: 61%;
}
#wrap #main > .label01 {
  position: absolute;
  right: 28px;
  top: 70px;
  width: 75px;
  z-index: 3;
}
#wrap #main #fv {
  aspect-ratio: 1200/4211;
  background-image: url(../images/fv02@2x.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
}
#wrap #main #fv .catch {
  font-size: 27px;
  letter-spacing: 0.45em;
  line-height: 1.77;
  padding: 94px 0 850px 82px;
}
#wrap #main #area01 {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 24px;
  justify-content: center;
  letter-spacing: 0.15em;
  line-height: 2.4;
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  width: 100%;
  z-index: 20;
}
#wrap #main #area01 .desc {
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area01 .desc span {
  font-weight: bold;
}
#wrap #main #area02 {
  background-color: #d1d1d1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  background-attachment: fixed;
  color: #000;
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  z-index: 2;
}
#wrap #main #area02 .header {
  z-index: 3;
}
#wrap #main #area02 .header h3 {
  font-size: 37px;
  font-weight: 500;
  letter-spacing: 0.35em;
  line-height: 1.89;
  padding: 30px 0 30px 95px;
}
#wrap #main #area02 .header h3 span {
  font-size: 14px;
}
#wrap #main #area02 .header .notice {
  font-size: 9px;
  padding: 0 0 40px 95px;
}
#wrap #main #area02 .header .en {
  margin: 0 60px 0 auto;
  padding-bottom: 50px;
  width: 152px;
}
#wrap #main #area02 .group {
  position: relative;
  z-index: 2;
  padding-bottom: 300px;
}
#wrap #main #area02 .group .block.block03 {
  padding-bottom: 130px;
}
#wrap #main #area02 .group .block .image04 {
  padding-bottom: 100px;
}
#wrap #main #area02 .js-sticky {
  height: 150vh;
  position: sticky;
  top: 0;
}
#wrap #main #area03 {
  background-color: #fff;
  position: relative;
  z-index: 3;
}
#wrap #main #area03 .label01 {
  position: absolute;
  right: 79px;
  top: 350px;
  width: 67px;
  z-index: 3;
}
#wrap #main #area03 .header {
  padding: 180px 0 70px 70px;
}
#wrap #main #area03 .header h2 {
  padding-bottom: 30px;
}
#wrap #main #area03 .header h2 img {
  width: 406px;
}
#wrap #main #area03 .header h3 {
  font-family: "VentiCF-Medium", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.7;
  padding-bottom: 80px;
}
#wrap #main #area03 .header .line {
  background-color: #000;
  height: 1px;
  width: 135px;
}
#wrap #main #area03 > .desc {
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 2.5;
  padding: 0 20px 30px 70px;
  white-space: nowrap;
}
#wrap #main #area03 > .desc.desc01 {
  padding-bottom: 20px;
}
#wrap #main #area03 > .desc.desc02 {
  padding-bottom: 20px;
}
#wrap #main #area03 .en {
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 2.4;
  padding: 0 0 115px 70px;
}
#wrap #main #area03 .image {
  aspect-ratio: 272/705;
  background-image: url(../images/area02-11@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 45px;
  top: 693px;
  width: 136px;
}
#wrap #main #area03 .group01 {
  padding-bottom: 150px;
  position: relative;
}
#wrap #main #area03 .group01 h3 {
  margin-left: 72px;
  padding: 0 0 100px;
  width: 219px;
}
#wrap #main #area03 .group01 h3 img {
  width: 100%;
}
#wrap #main #area03 .group01 .tag {
  position: absolute;
  right: 58px;
  top: 0;
  width: 72px;
}
#wrap #main #area03 .group01 .itemwrap {
  margin-bottom: 47px;
  position: relative;
}
#wrap #main #area03 .group01 .itemwrap .item {
  margin-left: 207px;
  width: 143px;
}
#wrap #main #area03 .group01 .itemwrap .item img {
  width: 143px;
}
#wrap #main #area03 .group01 .itemwrap .item.active {
  animation: area0301 0.5s 1;
}
#wrap #main #area03 .group01 .itemwrap .circle {
  left: 95px;
  position: absolute;
  top: 90px;
  width: 414px;
}
#wrap #main #area03 .group01 .itemwrap .circle svg {
  height: auto;
  width: 100%;
}
#wrap #main #area03 .group01 .itemwrap .circle.active {
  /***************************************************
  * Generated by SVG Artista on 5/14/2025, 2:05:12 AM
  * MIT license (https://opensource.org/licenses/MIT)
  * W. https://svgartista.net
  **************************************************/
}
@keyframes animate-svg-stroke-cc-1 {
  0% {
    stroke-dashoffset: 1979.5697435817px;
    stroke-dasharray: 1979.5697435817px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1979.5697435817px;
  }
}
@keyframes animate-svg-fill-cc-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-1 {
  animation: animate-svg-stroke-cc-1 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-cc-1 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
}
@keyframes animate-svg-stroke-cc-2 {
  0% {
    stroke-dashoffset: 80.277961731px;
    stroke-dasharray: 80.277961731px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 80.277961731px;
  }
}
@keyframes animate-svg-fill-cc-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-2 {
  animation: animate-svg-stroke-cc-2 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.02s both, animate-svg-fill-cc-2 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.02s both;
}
@keyframes animate-svg-stroke-cc-3 {
  0% {
    stroke-dashoffset: 82.392616272px;
    stroke-dasharray: 82.392616272px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 82.392616272px;
  }
}
@keyframes animate-svg-fill-cc-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-3 {
  animation: animate-svg-stroke-cc-3 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.04s both, animate-svg-fill-cc-3 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.04s both;
}
@keyframes animate-svg-stroke-cc-4 {
  0% {
    stroke-dashoffset: 95.3483047485px;
    stroke-dasharray: 95.3483047485px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.3483047485px;
  }
}
@keyframes animate-svg-fill-cc-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-4 {
  animation: animate-svg-stroke-cc-4 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.06s both, animate-svg-fill-cc-4 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.06s both;
}
@keyframes animate-svg-stroke-cc-5 {
  0% {
    stroke-dashoffset: 85.4085159302px;
    stroke-dasharray: 85.4085159302px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4085159302px;
  }
}
@keyframes animate-svg-fill-cc-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-5 {
  animation: animate-svg-stroke-cc-5 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.08s both, animate-svg-fill-cc-5 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.08s both;
}
@keyframes animate-svg-stroke-cc-6 {
  0% {
    stroke-dashoffset: 95.4875259399px;
    stroke-dasharray: 95.4875259399px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.4875259399px;
  }
}
@keyframes animate-svg-fill-cc-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-6 {
  animation: animate-svg-stroke-cc-6 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both, animate-svg-fill-cc-6 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both;
}
@keyframes animate-svg-stroke-cc-7 {
  0% {
    stroke-dashoffset: 57.5041542053px;
    stroke-dasharray: 57.5041542053px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 57.5041542053px;
  }
}
@keyframes animate-svg-fill-cc-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-7 {
  animation: animate-svg-stroke-cc-7 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill-cc-7 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both;
}
@keyframes animate-svg-stroke-cc-8 {
  0% {
    stroke-dashoffset: 85.4084854126px;
    stroke-dasharray: 85.4084854126px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4084854126px;
  }
}
@keyframes animate-svg-fill-cc-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-8 {
  animation: animate-svg-stroke-cc-8 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.14s both, animate-svg-fill-cc-8 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.14s both;
}
@keyframes animate-svg-stroke-cc-9 {
  0% {
    stroke-dashoffset: 99.9150390625px;
    stroke-dasharray: 99.9150390625px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 99.9150390625px;
  }
}
@keyframes animate-svg-fill-cc-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-9 {
  animation: animate-svg-stroke-cc-9 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.16s both, animate-svg-fill-cc-9 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.16s both;
}
@keyframes animate-svg-stroke-cc-10 {
  0% {
    stroke-dashoffset: 95.1769866943px;
    stroke-dasharray: 95.1769866943px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.1769866943px;
  }
}
@keyframes animate-svg-fill-cc-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-10 {
  animation: animate-svg-stroke-cc-10 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.18s both, animate-svg-fill-cc-10 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.18s both;
}
@keyframes animate-svg-stroke-cc-11 {
  0% {
    stroke-dashoffset: 121.6939086914px;
    stroke-dasharray: 121.6939086914px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 121.6939086914px;
  }
}
@keyframes animate-svg-fill-cc-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-11 {
  animation: animate-svg-stroke-cc-11 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s both, animate-svg-fill-cc-11 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s both;
}
@keyframes animate-svg-stroke-cc-12 {
  0% {
    stroke-dashoffset: 85.4081573486px;
    stroke-dasharray: 85.4081573486px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4081573486px;
  }
}
@keyframes animate-svg-fill-cc-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-12 {
  animation: animate-svg-stroke-cc-12 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.22s both, animate-svg-fill-cc-12 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.22s both;
}
@keyframes animate-svg-stroke-cc-13 {
  0% {
    stroke-dashoffset: 99.9089889526px;
    stroke-dasharray: 99.9089889526px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 99.9089889526px;
  }
}
@keyframes animate-svg-fill-cc-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-13 {
  animation: animate-svg-stroke-cc-13 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill-cc-13 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both;
}
@keyframes animate-svg-stroke-cc-14 {
  0% {
    stroke-dashoffset: 82.1942138672px;
    stroke-dasharray: 82.1942138672px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 82.1942138672px;
  }
}
@keyframes animate-svg-fill-cc-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-14 {
  animation: animate-svg-stroke-cc-14 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.26s both, animate-svg-fill-cc-14 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.26s both;
}
@keyframes animate-svg-stroke-cc-15 {
  0% {
    stroke-dashoffset: 67.6243591309px;
    stroke-dasharray: 67.6243591309px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 67.6243591309px;
  }
}
@keyframes animate-svg-fill-cc-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-15 {
  animation: animate-svg-stroke-cc-15 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.28s both, animate-svg-fill-cc-15 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.28s both;
}
@keyframes animate-svg-stroke-cc-16 {
  0% {
    stroke-dashoffset: 123.0764846802px;
    stroke-dasharray: 123.0764846802px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 123.0764846802px;
  }
}
@keyframes animate-svg-fill-cc-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-16 {
  animation: animate-svg-stroke-cc-16 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both, animate-svg-fill-cc-16 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both;
}
@keyframes animate-svg-stroke-cc-17 {
  0% {
    stroke-dashoffset: 85.408241272px;
    stroke-dasharray: 85.408241272px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.408241272px;
  }
}
@keyframes animate-svg-fill-cc-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-17 {
  animation: animate-svg-stroke-cc-17 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.32s both, animate-svg-fill-cc-17 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.32s both;
}
@keyframes animate-svg-stroke-cc-18 {
  0% {
    stroke-dashoffset: 196.9600067139px;
    stroke-dasharray: 196.9600067139px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 196.9600067139px;
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-18 {
  animation: animate-svg-stroke-cc-18 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.34s both, animate-svg-fill-cc-18 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.34s both;
}
@keyframes animate-svg-stroke-cc-19 {
  0% {
    stroke-dashoffset: 214.7799682617px;
    stroke-dasharray: 214.7799682617px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 214.7799682617px;
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-19 {
  animation: animate-svg-stroke-cc-19 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill-cc-19 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both;
}
@keyframes animate-svg-stroke-cc-20 {
  0% {
    stroke-dashoffset: 123.0754623413px;
    stroke-dasharray: 123.0754623413px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 123.0754623413px;
  }
}
@keyframes animate-svg-fill-cc-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-20 {
  animation: animate-svg-stroke-cc-20 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.38s both, animate-svg-fill-cc-20 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.38s both;
}
@keyframes animate-svg-stroke-cc-21 {
  0% {
    stroke-dashoffset: 42.5828437805px;
    stroke-dasharray: 42.5828437805px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 42.5828437805px;
  }
}
@keyframes animate-svg-fill-cc-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-21 {
  animation: animate-svg-stroke-cc-21 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both, animate-svg-fill-cc-21 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both;
}
@keyframes animate-svg-stroke-cc-22 {
  0% {
    stroke-dashoffset: 79.0853347778px;
    stroke-dasharray: 79.0853347778px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.0853347778px;
  }
}
@keyframes animate-svg-fill-cc-22 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-22 {
  animation: animate-svg-stroke-cc-22 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both, animate-svg-fill-cc-22 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both;
}
@keyframes animate-svg-stroke-cc-23 {
  0% {
    stroke-dashoffset: 62.0355949402px;
    stroke-dasharray: 62.0355949402px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 62.0355949402px;
  }
}
@keyframes animate-svg-fill-cc-23 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-23 {
  animation: animate-svg-stroke-cc-23 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.44s both, animate-svg-fill-cc-23 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.44s both;
}
@keyframes animate-svg-stroke-cc-24 {
  0% {
    stroke-dashoffset: 62.0355949402px;
    stroke-dasharray: 62.0355949402px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 62.0355949402px;
  }
}
@keyframes animate-svg-fill-cc-24 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-24 {
  animation: animate-svg-stroke-cc-24 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.46s both, animate-svg-fill-cc-24 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.46s both;
}
@keyframes animate-svg-stroke-cc-25 {
  0% {
    stroke-dashoffset: 67.6224212646px;
    stroke-dasharray: 67.6224212646px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 67.6224212646px;
  }
}
@keyframes animate-svg-fill-cc-25 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-25 {
  animation: animate-svg-stroke-cc-25 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill-cc-25 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both;
}
@keyframes animate-svg-stroke-cc-26 {
  0% {
    stroke-dashoffset: 80.7237167358px;
    stroke-dasharray: 80.7237167358px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 80.7237167358px;
  }
}
@keyframes animate-svg-fill-cc-26 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-26 {
  animation: animate-svg-stroke-cc-26 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both, animate-svg-fill-cc-26 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both;
}
@keyframes animate-svg-stroke-cc-27 {
  0% {
    stroke-dashoffset: 85.4086914063px;
    stroke-dasharray: 85.4086914063px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4086914063px;
  }
}
@keyframes animate-svg-fill-cc-27 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-27 {
  animation: animate-svg-stroke-cc-27 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.52s both, animate-svg-fill-cc-27 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.52s both;
}
@keyframes animate-svg-stroke-cc-28 {
  0% {
    stroke-dashoffset: 94.0224304199px;
    stroke-dasharray: 94.0224304199px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 94.0224304199px;
  }
}
@keyframes animate-svg-fill-cc-28 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-28 {
  animation: animate-svg-stroke-cc-28 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.54s both, animate-svg-fill-cc-28 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.54s both;
}
@keyframes animate-svg-stroke-cc-29 {
  0% {
    stroke-dashoffset: 85.4083862305px;
    stroke-dasharray: 85.4083862305px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4083862305px;
  }
}
@keyframes animate-svg-fill-cc-29 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-29 {
  animation: animate-svg-stroke-cc-29 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.56s both, animate-svg-fill-cc-29 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.56s both;
}
@keyframes animate-svg-stroke-cc-30 {
  0% {
    stroke-dashoffset: 82.3935317993px;
    stroke-dasharray: 82.3935317993px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 82.3935317993px;
  }
}
@keyframes animate-svg-fill-cc-30 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-30 {
  animation: animate-svg-stroke-cc-30 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.58s both, animate-svg-fill-cc-30 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.58s both;
}
@keyframes animate-svg-stroke-cc-31 {
  0% {
    stroke-dashoffset: 62.0355148315px;
    stroke-dasharray: 62.0355148315px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 62.0355148315px;
  }
}
@keyframes animate-svg-fill-cc-31 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-31 {
  animation: animate-svg-stroke-cc-31 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-cc-31 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both;
}
@keyframes animate-svg-stroke-cc-32 {
  0% {
    stroke-dashoffset: 80.7235183716px;
    stroke-dasharray: 80.7235183716px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 80.7235183716px;
  }
}
@keyframes animate-svg-fill-cc-32 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-32 {
  animation: animate-svg-stroke-cc-32 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.62s both, animate-svg-fill-cc-32 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.62s both;
}
@keyframes animate-svg-stroke-cc-33 {
  0% {
    stroke-dashoffset: 95.3358917236px;
    stroke-dasharray: 95.3358917236px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.3358917236px;
  }
}
@keyframes animate-svg-fill-cc-33 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-33 {
  animation: animate-svg-stroke-cc-33 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.64s both, animate-svg-fill-cc-33 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.64s both;
}
@keyframes animate-svg-stroke-cc-34 {
  0% {
    stroke-dashoffset: 95.4985656738px;
    stroke-dasharray: 95.4985656738px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.4985656738px;
  }
}
@keyframes animate-svg-fill-cc-34 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-34 {
  animation: animate-svg-stroke-cc-34 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.66s both, animate-svg-fill-cc-34 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.66s both;
}
@keyframes animate-svg-stroke-cc-35 {
  0% {
    stroke-dashoffset: 62.0355186462px;
    stroke-dasharray: 62.0355186462px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 62.0355186462px;
  }
}
@keyframes animate-svg-fill-cc-35 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-35 {
  animation: animate-svg-stroke-cc-35 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.68s both, animate-svg-fill-cc-35 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.68s both;
}
@keyframes animate-svg-stroke-cc-36 {
  0% {
    stroke-dashoffset: 85.4083862305px;
    stroke-dasharray: 85.4083862305px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 85.4083862305px;
  }
}
@keyframes animate-svg-fill-cc-36 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-36 {
  animation: animate-svg-stroke-cc-36 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both, animate-svg-fill-cc-36 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both;
}
@keyframes animate-svg-stroke-cc-37 {
  0% {
    stroke-dashoffset: 80.2788925171px;
    stroke-dasharray: 80.2788925171px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 80.2788925171px;
  }
}
@keyframes animate-svg-fill-cc-37 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-37 {
  animation: animate-svg-stroke-cc-37 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill-cc-37 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both;
}
@keyframes animate-svg-stroke-cc-38 {
  0% {
    stroke-dashoffset: 62.0355377197px;
    stroke-dasharray: 62.0355377197px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 62.0355377197px;
  }
}
@keyframes animate-svg-fill-cc-38 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-38 {
  animation: animate-svg-stroke-cc-38 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.74s both, animate-svg-fill-cc-38 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.74s both;
}
@keyframes animate-svg-stroke-cc-39 {
  0% {
    stroke-dashoffset: 196.9600067139px;
    stroke-dasharray: 196.9600067139px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 196.9600067139px;
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-39 {
  animation: animate-svg-stroke-cc-39 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.76s both, animate-svg-fill-cc-39 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.76s both;
}
@keyframes animate-svg-stroke-cc-40 {
  0% {
    stroke-dashoffset: 214.7799682617px;
    stroke-dasharray: 214.7799682617px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 214.7799682617px;
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-40 {
  animation: animate-svg-stroke-cc-40 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.78s both, animate-svg-fill-cc-40 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.78s both;
}
@keyframes animate-svg-stroke-cc-41 {
  0% {
    stroke-dashoffset: 52.5796417228px;
    stroke-dasharray: 52.5796417228px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 52.5796417228px;
  }
}
@keyframes animate-svg-fill-cc-41 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-41 {
  animation: animate-svg-stroke-cc-41 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both, animate-svg-fill-cc-41 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
}
@keyframes animate-svg-stroke-cc-42 {
  0% {
    stroke-dashoffset: 52.5796417228px;
    stroke-dasharray: 52.5796417228px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 52.5796417228px;
  }
}
@keyframes animate-svg-fill-cc-42 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
#wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem001-42 {
  animation: animate-svg-stroke-cc-42 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.82s both, animate-svg-fill-cc-42 0.05s cubic-bezier(0.47, 0, 0.745, 0.715) 0.82s both;
}
#wrap #main #area03 .group01 .itemwrap .kiran01 {
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
}
#wrap #main #area03 .group01 dl {
  align-items: center;
  display: flex;
  padding: 0 20px 0 82px;
}
#wrap #main #area03 .group01 dl dt {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 104px;
  font-weight: bold;
  margin-right: 20px;
}
#wrap #main #area03 .group01 dl dd {
  font-family: "VentiCF-Regular", sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 2;
}
#wrap #main #area03 .image01 {
  padding: 0 55px 150px 70px;
}
#wrap #main #area03 .links {
  padding: 0 65px;
}
#wrap #main #area03 .links .block {
  padding-bottom: 45px;
  text-align: center;
}
#wrap #main #area03 .links .block h4 {
  font-family: "VentiCF-Extrabold", sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.15em;
  padding-bottom: 37px;
  text-align: center;
}
#wrap #main #area03 .links .block .link a {
  align-items: center;
  background: #000;
  border: 1px solid #000;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  height: 121px;
  justify-content: center;
  position: relative;
  width: 100%;
  background: linear-gradient(-45deg, #000 50%, #cccccc 60%, #000 70%);
  background-size: 600% 100%;
  animation: shine 20s infinite;
  animation-delay: 0s;
  animation-timing-function: linear;
}
@keyframes shine {
  0% {
    background-position-x: 400%;
  }
  50% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: -400%;
  }
}
#wrap #main #area03 .links .block .link a h5 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.15em;
  opacity: 0;
  padding-bottom: 10px;
  text-align: center;
  width: 100%;
}
#wrap #main #area03 .links .block .link a .desc {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  opacity: 0;
  text-align: center;
  width: 100%;
}
#wrap #main #area03 .links .block .link a:before {
  background: #000;
  content: "";
  display: block;
  height: 20px;
  left: 50%;
  position: absolute;
  top: -20px;
  width: 1px;
}
#wrap #main #area03 .links .block .link.active h5,
#wrap #main #area03 .links .block .link.active .desc {
  animation-name: linktxt01;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  line-height: 1.5;
}
#wrap #main #area03 .links .block .link.active h5 {
  line-height: 1.5;
}
@keyframes linktxt01 {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
#wrap #main #area03 .links .block:last-child .link a {
  background-color: #fff;
  color: #000;
  background: linear-gradient(-45deg, #fff 50%, #cccccc 60%, #fff 70%);
  background-size: 600% 100%;
  animation: shine 20s infinite;
  animation-delay: 0s;
  animation-timing-function: linear;
}
#wrap #main #area04 {
  background-color: #aaa;
  background-image: url(../images/area04-02@2x.jpg?12);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 270px;
  height: 1150px;
  position: relative;
  width: 100%;
  z-index: 2;
}
#wrap #main #area04 .desc {
  font-size: 24px;
  font-weight: bold;
  line-height: 2.2;
  position: absolute;
}
#wrap #main #area04 .desc.desc01 {
  letter-spacing: 0.23em;
  left: 375px;
  top: 190px;
}
#wrap #main #area04 .desc.desc02 {
  letter-spacing: 0.15em;
  bottom: 138px;
  left: 102px;
}
#wrap #main #area04 .en {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
#wrap #main #area04 .en.en01 {
  left: 73px;
  top: 73px;
}
#wrap #main #area04 .en.en02 {
  bottom: 105px;
  right: 80px;
}
#wrap #main #area05 {
  aspect-ratio: 1200/1900;
  background-image: url(../images/area05-01@2x.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 170px 0 0 100px;
  width: 100%;
  position: relative;
  z-index: 2;
}
#wrap #main #area05 h3 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 2.2;
}
#wrap #main #area06 {
  aspect-ratio: 1200/1050;
  background-image: url(../images/area06-01@2x.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 65px;
  width: 100%;
  position: relative;
  z-index: 2;
}
#wrap #main #area06 h3 {
  font-size: 33px;
  font-weight: bold;
  letter-spacing: 0.35em;
  line-height: 1.8;
  margin: 0 0 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area06 h3 span {
  border-bottom: 1px solid #fff;
  display: block;
}
#wrap #main #area07 {
  background-color: #fff;
  padding-top: 178px;
  position: relative;
  z-index: 2;
}
#wrap #main #area07 .tag {
  left: 50px;
  position: absolute;
  top: 120px;
  width: 74px;
}
#wrap #main #area07 .carb {
  left: 150px;
  position: absolute;
  top: 220px;
  width: 231px;
}
#wrap #main #area07 .txt {
  background-color: #aaa;
  padding: 130px 20px 45px 0;
  text-align: center;
}
#wrap #main #area07 .txt h3 {
  font-size: 29px;
  font-weight: bold;
  letter-spacing: 0.45em;
  padding-bottom: 40px;
}
#wrap #main #area07 .txt h4 {
  font-size: 37px;
  font-weight: bold;
  letter-spacing: 0.25em;
  padding-bottom: 40px;
}
#wrap #main #area07 .txt .desc {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.25em;
  line-height: 2.2;
  padding-bottom: 120px;
}
#wrap #main #area07 .txt h5 {
  font-size: 29px;
  font-weight: bold;
  letter-spacing: 0.45em;
  line-height: 1.7;
  text-align: center;
}
#wrap #main #area07 .point {
  background-color: #aaa;
  padding-bottom: 147px;
}
#wrap #main #area07 .point .image01 {
  margin: 0 auto 35px;
  opacity: 0;
  width: 492px;
}
#wrap #main #area07 .point .image01.active {
  animation: area0701 1s 1;
  opacity: 1;
}
#wrap #main #area07 .point .arrow {
  margin: 0 auto 40px;
  width: 7px;
}
#wrap #main #area07 .point > .desc {
  font-size: 22px;
  letter-spacing: 0.21em;
  padding-bottom: 45px;
  text-align: center;
}
#wrap #main #area07 .point ul li {
  align-items: center;
  background-image: url(../images/area07-07@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  font-size: 23px;
  font-weight: bold;
  height: 57px;
  justify-content: center;
  letter-spacing: 0.45em;
  margin: 0 auto 13px;
  text-align: center;
  width: 326px;
}
#wrap #main #area08 {
  position: relative;
  z-index: 2;
}
#wrap #main #area08 .wrap {
  position: sticky;
  top: 0;
}
#wrap #main #area08 .image {
  align-items: center;
  background-image: url(../images/area08-19@2x.jpg?1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  min-height: 100vh;
  padding-bottom: 50vh;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky;
  top: 0;
}
@keyframes stick01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes stick02 {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
#wrap #main #area08 .en {
  bottom: 47px;
  left: 50px;
  position: absolute;
  width: 189px;
}
#wrap #main #area08 .image01 {
  justify-content: center;
  padding: 57px 0 130px 0;
}
#wrap #main #area08 .image01:after {
  background-image: url(../images/area08-21@2x.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 860px;
  left: 38px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
}
#wrap #main #area08 .image01:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image01 .inner {
  margin: 0 auto;
  width: 600px;
}
#wrap #main #area08 .image01 .inner > .header {
  background-image: url(../images/area08-11@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  font-size: 20px;
  height: 111px;
  letter-spacing: 0.25em;
  line-height: 1.4;
  margin: 0 auto 24px;
  padding: 22px 0 0 0;
  text-align: center;
  width: 53.4%;
}
#wrap #main #area08 .image01 .inner h2 {
  font-size: 18px;
  letter-spacing: 0.12em;
  padding-bottom: 27px;
  text-align: center;
}
#wrap #main #area08 .image01 .inner .photo01 {
  margin: 0 auto 32px;
  text-align: center;
  width: 53.4%;
}
#wrap #main #area08 .image01 .inner .photo02 {
  margin: 0 auto 25px;
  text-align: center;
  width: 53.4%;
}
#wrap #main #area08 .image01 .inner .txt {
  text-align: center;
}
#wrap #main #area08 .image01 .inner .txt h3 {
  font-size: 20px;
  letter-spacing: 0.12em;
  padding-bottom: 12px;
  text-align: center;
}
#wrap #main #area08 .image01 .inner .txt .desc {
  font-size: 32px;
  letter-spacing: 0.1em;
  background: linear-gradient(transparent 80%, #d2d3d3 80%, #d2d3d3 100%, transparent 100%);
  display: inline-block;
  margin: 0 auto;
  padding-bottom: 10px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area08 .image01 .inner.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
}
#wrap #main #area08 .image02 {
  justify-content: center;
  padding: 57px 0 130px 0;
  text-align: center;
}
#wrap #main #area08 .image02:after {
  background-image: url(../images/area08-22@2x.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 860px;
  left: 38px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
}
#wrap #main #area08 .image02:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image02 h2 {
  font-size: 26px;
  letter-spacing: 0.18em;
  line-height: 1.6;
  padding-bottom: 23px;
  text-align: center;
  width: 100%;
}
#wrap #main #area08 .image02 .line {
  background-color: #fff;
  height: 41px;
  margin: 0 auto 18px;
  width: 1px;
}
#wrap #main #area08 .image02 h3 {
  font-size: 26px;
  letter-spacing: 0.14em;
  padding-bottom: 20px;
  text-align: center;
  width: 100%;
}
#wrap #main #area08 .image02 .desc {
  font-size: 76px;
  letter-spacing: 0.14em;
  margin: 0 auto 50px;
  padding-bottom: 5px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area08 .image02 .desc span {
  font-size: 52px;
}
#wrap #main #area08 .image02 .desc:before {
  background-color: rgba(255, 255, 255, 0.2);
  bottom: 0;
  content: "";
  display: block;
  height: 19px;
  left: 0;
  position: absolute;
  width: 100%;
}
#wrap #main #area08 .image02 .photo01 {
  margin: 0 auto;
  width: 380px;
}
#wrap #main #area08 .image02 .en {
  text-align: left;
}
#wrap #main #area08 .image02.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
  animation-name: stick01;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#wrap #main #area08 .image02.active h2,
#wrap #main #area08 .image02.active h3,
#wrap #main #area08 .image02.active .line,
#wrap #main #area08 .image02.active .photo01 {
  animation-name: stick02;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  transition: 0.5s;
}
#wrap #main #area08 .image03 {
  justify-content: center;
  padding: 60px 0 240px 0;
  text-align: center;
}
#wrap #main #area08 .image03:after {
  background-image: url(../images/area08-22@2x.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 860px;
  left: 38px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
}
#wrap #main #area08 .image03:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image03 .inner h2 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.23em;
  line-height: 2.2;
  padding-bottom: 70px;
  text-align: center;
}
#wrap #main #area08 .image03 .inner h3 {
  align-items: center;
  display: flex;
  font-size: 37px;
  font-weight: bold;
  height: 318px;
  justify-content: center;
  letter-spacing: 0.18em;
  line-height: 1.6;
  margin: 0 auto;
  position: relative;
  width: 318px;
}
#wrap #main #area08 .image03 .inner h3:before {
  background-image: url(../images/area08-24@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
#wrap #main #area08 .image03 .inner .en {
  text-align: left;
}
#wrap #main #area08 .image03 .inner.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
  animation-name: stick01;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#wrap #main #area08 .image03 .inner.active h2 {
  animation-name: stick02;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  transition: 0.5s;
}
#wrap #main #area08 .image04 {
  justify-content: center;
  padding: 57px 0 130px 0;
  text-align: center;
}
#wrap #main #area08 .image04:after {
  background-image: url(../images/area08-23@2x.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 860px;
  left: 38px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
}
#wrap #main #area08 .image04:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image04 .inner {
  width: 100%;
}
#wrap #main #area08 .image04 .inner h2 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.28em;
  line-height: 1.7;
  padding-bottom: 50px;
  text-align: center;
}
#wrap #main #area08 .image04 .inner .itemwrap {
  margin: 0 auto 47px;
  position: relative;
  width: 53.4%;
}
#wrap #main #area08 .image04 .inner .itemwrap .item {
  margin: auto 0 auto 74px;
  width: 143px;
}
#wrap #main #area08 .image04 .inner .itemwrap .item img {
  width: 109px;
}
#wrap #main #area08 .image04 .inner .itemwrap .item.active {
  animation: area0301 0.5s 1;
}
#wrap #main #area08 .image04 .inner .itemwrap .circle {
  left: 0;
  position: absolute;
  top: 64px;
  width: 100%;
}
#wrap #main #area08 .image04 .inner .itemwrap .circle.active {
  opacity: 1;
}
#wrap #main #area08 .image04 .inner h3 {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.6;
  margin: auto;
  padding-bottom: 20px;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area08 .image04 .inner .desc {
  font-family: "VentiCF-Meduim", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
}
#wrap #main #area08 .image04 .inner .en {
  text-align: left;
}
#wrap #main #area08 .image04 .inner.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
  animation-name: stick01;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#wrap #main #area08 .image04 .inner.active h2,
#wrap #main #area08 .image04 .inner.active .desc,
#wrap #main #area08 .image04 .inner.active .itemwrap {
  animation-name: stick02;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  transition: 0.5s;
}
#wrap #main #area08 .image05 {
  justify-content: center;
  padding: 60px 0 240px 0;
  text-align: center;
}
#wrap #main #area08 .image05:after {
  background-image: url(../images/area08-23@2x.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 860px;
  left: 38px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
}
#wrap #main #area08 .image05:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image05 .inner .label {
  margin-left: -23px;
  width: 95px;
}
#wrap #main #area08 .image05 .inner h2 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1;
  padding-bottom: 25px;
  text-align: center;
}
#wrap #main #area08 .image05 .inner h3 {
  font-size: 24px;
  letter-spacing: 0.28em;
  font-weight: normal;
  line-height: 1;
  padding-bottom: 30px;
  text-align: center;
}
#wrap #main #area08 .image05 .inner h4 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 35px;
  text-align: center;
}
#wrap #main #area08 .image05 .inner h4 span {
  font-size: 24px;
}
#wrap #main #area08 .image05 .inner .en {
  text-align: left;
}
#wrap #main #area08 .image05 .inner .photo01 {
  margin: 0 auto 45px;
  text-align: center;
  width: 345px;
}
#wrap #main #area08 .image05 .inner .desc {
  font-size: 24px;
  letter-spacing: 0.28em;
  margin: 0 auto;
  text-align: center;
  width: 345px;
}
#wrap #main #area08 .image05 .inner .desc .desc01 {
  padding-bottom: 14px;
}
#wrap #main #area08 .image05 .inner .desc .desc02 {
  padding: 18px 0 20px;
}
#wrap #main #area08 .image05 .inner .desc .line02 {
  background-color: #000;
  height: 1px;
  width: 100%;
}
#wrap #main #area08 .image05 .inner .desc .desc03 {
  padding: 35px 0 0;
}
#wrap #main #area08 .image05 .inner .desc .desc03 span {
  display: block;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.7;
}
#wrap #main #area08 .image05 .inner.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
  animation-name: stick01;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#wrap #main #area08 .image05 .inner.active h2 {
  animation-name: stick02;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  transition: 0.5s;
}
#wrap #main #area08 .image06 {
  background-image: none;
}
#wrap #main #area08 .image07 {
  justify-content: center;
  padding: 60px 0 240px 0;
  text-align: center;
}
#wrap #main #area08 .image07:before {
  background-image: url(../images/area08-06@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 47px;
  content: "";
  display: block;
  display: none;
  height: 143px;
  position: absolute;
  right: 30px;
  width: 30px;
}
#wrap #main #area08 .image07 .inner .label {
  margin-left: -23px;
  width: 95px;
}
#wrap #main #area08 .image07 .inner h2 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1;
  padding-bottom: 25px;
  text-align: center;
}
#wrap #main #area08 .image07 .inner h3 {
  font-size: 24px;
  letter-spacing: 0.28em;
  font-weight: normal;
  line-height: 1;
  padding-bottom: 30px;
  text-align: center;
}
#wrap #main #area08 .image07 .inner h4 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 35px;
  text-align: center;
}
#wrap #main #area08 .image07 .inner h4 span {
  font-size: 24px;
}
#wrap #main #area08 .image07 .inner .en {
  text-align: left;
}
#wrap #main #area08 .image07 .inner .photo01 {
  margin: 0 auto 45px;
  text-align: center;
  width: 345px;
}
#wrap #main #area08 .image07 .inner .desc {
  font-size: 21px;
  letter-spacing: 0.2em;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}
#wrap #main #area08 .image07 .inner .desc .desc01 {
  padding-bottom: 14px;
}
#wrap #main #area08 .image07 .inner .desc .desc02 {
  padding: 18px 0 20px;
}
#wrap #main #area08 .image07 .inner .desc .line02 {
  background-color: #000;
  height: 1px;
  width: 100%;
}
#wrap #main #area08 .image07 .inner .desc .desc03 {
  padding: 35px 0 0;
}
#wrap #main #area08 .image07 .inner .desc .desc03 span {
  display: block;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.7;
}
#wrap #main #area08 .image07 .inner.active {
  transform: translateX(-50%);
  position: fixed;
  top: 0;
  left: 50%;
  margin: 0 auto;
  width: 600px;
  z-index: 10;
  animation-name: stick01;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#wrap #main #area08 .image07 .inner.active h2 {
  animation-name: stick02;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  transition: 0.5s;
}
#wrap #main #area09 {
  background-color: #fff;
  padding: 85px 25px 25px;
  position: relative;
  z-index: 2;
}
#wrap #main #area09:before {
  background: #000;
  content: "";
  display: block;
  height: 85px;
  left: 50%;
  position: absolute;
  top: 0;
  width: 1px;
  z-index: 2;
}
#wrap #main #area09 .inner {
  background-color: #fff;
  border: 1px solid #000;
  padding: 22px 28px;
  position: relative;
  z-index: 3;
}
#wrap #main #area09 .inner .block .image {
  margin-bottom: 60px;
  position: relative;
}
#wrap #main #area09 .inner .block .image .badge {
  align-items: center;
  background-image: url(../images/area09-08@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  display: flex;
  font-family: "futura", sans-serif;
  font-size: 66px;
  font-weight: 500;
  height: 198px;
  justify-content: flex-start;
  position: absolute;
  right: -20px;
  top: -82px;
  width: 198px;
}
#wrap #main #area09 .inner .block .image .badge span {
  display: block;
  letter-spacing: -0.05em;
  transform: scaleX(0.8);
  padding: 5px 0 0 15px;
}
#wrap #main #area09 .inner .block h3 {
  margin-bottom: 20px;
  padding: 0 0 0 42px;
  position: relative;
}
#wrap #main #area09 .inner .block h3:before {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  left: -28px;
  position: absolute;
  top: 13px;
  width: 39px;
}
#wrap #main #area09 .inner .block .name {
  font-size: 15px;
  letter-spacing: 0.15em;
  margin: 0;
  padding: 0 0 25px 42px;
}
#wrap #main #area09 .inner .block .tag {
  align-items: center;
  border: 1px solid #000;
  border-radius: 100px;
  display: flex;
  font-size: 17px;
  height: 31px;
  justify-content: center;
  letter-spacing: 0.15em;
  margin: 0 0 8px 42px;
  padding: 0 25px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area09 .inner .block .desc {
  font-size: 17px;
  letter-spacing: 0.15em;
  line-height: 1.48;
  padding: 0 0 30px 42px;
}
#wrap #main #area09 .inner .block .price {
  font-size: 18px;
  letter-spacing: 0.15em;
  padding: 0 0 28px 42px;
}
#wrap #main #area09 .inner .block .price span {
  font-size: 12px;
}
#wrap #main #area09 .inner .block .cart01 {
  padding: 0 0 0 42px;
}
#wrap #main #area09 .inner .block .cart01 li {
  align-items: center;
  display: flex;
  padding-bottom: 15px;
}
#wrap #main #area09 .inner .block .cart01 li a {
  align-items: center;
  background-color: #000;
  border: 1px solid #000;
  color: #fff;
  display: flex;
  font-size: 19px;
  font-weight: 700;
  height: 68px;
  letter-spacing: 0.25em;
  padding: 0 30px;
  width: 385px;
}
#wrap #main #area09 .inner .block .cart01 li .line {
  background: #000;
  display: block;
  height: 1px;
  margin-left: -40px;
  width: 80px;
  animation-name: line01;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
#wrap #main #area09 .inner .block .cart01 li .circle {
  background: #000;
  border-radius: 4.3px;
  display: block;
  height: 8px;
  width: 8px;
  animation-name: blink;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
@keyframes line01 {
  0%, 100% {
    width: 70px;
  }
  50% {
    width: 80px;
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
#wrap #main #area09 .inner .block .cart01 li:first-child a {
  background-color: #fff;
  color: #000;
}
#wrap #main #area09 .inner .block .cart01 li:last-child a {
  background-color: #e6dbd6;
  color: #000;
}
#wrap #main #area09 .inner .block .notice {
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  padding: 0 0 18px 42px;
}
#wrap #main #area09 .inner .block .tsumekae {
  font-size: 14px;
  letter-spacing: 0.2em;
  padding: 0 0 40px 42px;
  text-decoration: underline;
}
#wrap #main #area09 .inner .block.block01 h3 img {
  width: 210px;
}
#wrap #main #area09 .inner .block.block02 h3 img {
  width: 210px;
}
#wrap #main #area09 .inner .block.block02 .tag {
  background-color: #000;
  color: #fff;
}
#wrap #main #area10 {
  background-color: #fff;
  padding-bottom: 40px;
  position: relative;
  z-index: 2;
}
#wrap #main #area10 .image01 {
  margin-bottom: 100px;
  position: relative;
}
#wrap #main #area10 .image01:after {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 37px;
  left: 0;
  position: absolute;
  width: 400px;
  z-index: 2;
}
#wrap #main #area10 .image01 .catch {
  bottom: -100px;
  position: absolute;
  right: 65px;
  width: 72px;
}
#wrap #main #area10 .txt {
  padding: 0 50px;
}
#wrap #main #area10 .txt h2 {
  font-size: 27px;
  letter-spacing: 0.22em;
  line-height: 1.7;
  padding: 0 0 30px;
  position: relative;
}
#wrap #main #area10 .txt h3 {
  border-bottom: 1px solid #000;
  margin-bottom: 32px;
  width: 392px;
}
#wrap #main #area10 .txt h3 img {
  width: 320px;
}
#wrap #main #area10 .txt .desc {
  font-family: "VentiCF-Meduim", sans-serif;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-bottom: 70px;
}
#wrap #main #area10 .group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 50px;
}
#wrap #main #area10 .group .block {
  padding-bottom: 85px;
  width: 44.5%;
}
#wrap #main #area10 .group .block .num {
  font-family: "futura";
  font-size: 62px;
  font-weight: 300;
  padding-bottom: 10px;
}
#wrap #main #area10 .group .block h4 {
  align-items: center;
  border: 1px solid #000;
  border-radius: 40px;
  display: flex;
  font-size: 18px;
  height: 40px;
  justify-content: center;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  width: 100%;
}
#wrap #main #area10 .group .block .desc {
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.6;
  padding-bottom: 15px;
}
#wrap #main #area10 .group .block h5 {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.4;
  padding-bottom: 20px;
}
#wrap #main #area10 .group .block.block02 {
  transition-delay: 0.3s;
}
#wrap #main #area10 .group .block.block03 {
  transition-delay: 0.6s;
}
#wrap #main #area10 .group .block.block03 h4 span {
  transform: scale(0.8, 1);
  white-space: nowrap;
}
#wrap #main #area10 .group .block.block04 {
  transition-delay: 0.9s;
}
#wrap #main #area10 .group .block:nth-child(even) h4 {
  background-color: #000;
  color: #fff;
}
#wrap #main #area11 {
  background-color: #d1d1d1;
  padding: 150px 0 0 0;
  position: relative;
  z-index: 2;
}
#wrap #main #area11 .group {
  display: flex;
}
#wrap #main #area11 .group .left {
  background-color: #fff;
  padding: 0 60px 90px 0;
  width: 520px;
}
#wrap #main #area11 .group .left .image01 {
  margin: -58px auto 71px 0;
  width: 100%;
}
#wrap #main #area11 .group .left .tabs {
  display: flex;
  padding: 0 60px 40px 60px;
}
#wrap #main #area11 .group .left .tabs li {
  align-items: center;
  background: #000;
  border: 1px solid #000;
  border-radius: 44px;
  color: #fff;
  display: flex;
  font-size: 20px;
  letter-spacing: 0.03em;
  height: 44px;
  justify-content: center;
  margin-right: 20px;
  padding: 0 28px;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area11 .group .left .tabs li:last-child {
  margin-right: 0;
}
#wrap #main #area11 .group .left .image02 {
  padding: 0 0 53px 60px;
  text-align: center;
  width: 100%;
}
#wrap #main #area11 .group .left .image02 img {
  width: 100%;
}
#wrap #main #area11 .group .left .desc {
  font-size: 20px;
  letter-spacing: 0.25em;
  line-height: 2.5;
  padding: 0 0 0 60px;
}
#wrap #main #area11 .group .left .desc span {
  background: linear-gradient(transparent 55%, #d2d3d3 55%, #d2d3d3 85%, transparent 85%);
  display: inline-block;
}
#wrap #main #area11 .group .left .desc01 {
  padding-bottom: 35px;
}
#wrap #main #area11 .group .left .desc02 {
  padding-bottom: 80px;
}
#wrap #main #area11 .group .left .link {
  padding: 0 0 0 60px;
}
#wrap #main #area11 .group .left .link a {
  align-items: center;
  background-color: #d2d3d3;
  border: 1px solid #000;
  display: flex;
  font-size: 18px;
  font-weight: bold;
  height: 68px;
  justify-content: center;
  letter-spacing: 0.35em;
  line-height: 1.8;
  position: relative;
  width: 336px;
}
#wrap #main #area11 .group .left .link a:before {
  background-color: #000;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: -40px;
  top: 34px;
  width: 80px;
}
#wrap #main #area11 .group .left .link a:after {
  background: #000;
  border-radius: 4px;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  top: 31px;
  right: -45px;
  width: 8px;
  animation-name: blink;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
#wrap #main #area11 .group .side {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.35em;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  width: 80px;
}
#wrap #main #area12 {
  background-color: #d1d1d1;
  padding: 80px 0 0 0;
  position: relative;
  z-index: 2;
}
#wrap #main #area12 .group {
  display: flex;
}
#wrap #main #area12 .group .left {
  background-color: #fff;
  order: 2;
  padding: 0 0 90px 48px;
  width: 520px;
}
#wrap #main #area12 .group .left .image01 {
  margin: -80px auto 71px 0;
  width: 100%;
}
#wrap #main #area12 .group .left .tabs {
  display: flex;
  padding: 0 0 40px 0;
}
#wrap #main #area12 .group .left .tabs li {
  align-items: center;
  background: #000;
  border: 1px solid #000;
  border-radius: 44px;
  color: #fff;
  display: flex;
  font-size: 20px;
  letter-spacing: 0.03em;
  height: 44px;
  justify-content: center;
  margin-right: 7px;
  padding: 0 15px;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area12 .group .left .tabs li:last-child {
  margin-right: 0;
}
#wrap #main #area12 .group .left .tabs li span {
  transform: scale(0.8, 1);
  white-space: nowrap;
}
#wrap #main #area12 .group .left h5 {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.25em;
  padding-bottom: 25px;
}
#wrap #main #area12 .group .left .image02 {
  padding: 0 0 53px 0;
  text-align: center;
  width: 390px;
}
#wrap #main #area12 .group .left .image02 img {
  width: 100%;
}
#wrap #main #area12 .group .left .image03 {
  padding-bottom: 65px;
}
#wrap #main #area12 .group .left .desc {
  font-size: 20px;
  letter-spacing: 0.25em;
  line-height: 2.5;
}
#wrap #main #area12 .group .left .desc span {
  background: linear-gradient(transparent 55%, #d2d3d3 55%, #d2d3d3 85%, transparent 85%);
  display: inline-block;
}
#wrap #main #area12 .group .left .desc01 {
  padding-bottom: 70px;
}
#wrap #main #area12 .group .left .desc02 {
  padding-bottom: 35px;
}
#wrap #main #area12 .group .left .desc03 {
  padding-bottom: 70px;
}
#wrap #main #area12 .group .left .link {
  padding: 0;
}
#wrap #main #area12 .group .left .link a {
  align-items: center;
  background-color: #d2d3d3;
  border: 1px solid #000;
  display: flex;
  font-size: 18px;
  font-weight: bold;
  height: 68px;
  justify-content: center;
  letter-spacing: 0.35em;
  line-height: 1.8;
  position: relative;
  width: 336px;
}
#wrap #main #area12 .group .left .link a:before {
  background-color: #000;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: -40px;
  top: 34px;
  width: 80px;
}
#wrap #main #area12 .group .left .link a:after {
  background: #000;
  border-radius: 4px;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  top: 31px;
  right: -42px;
  width: 8px;
  animation-name: blink;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
#wrap #main #area12 .group .side {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.35em;
  order: 1;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  width: 80px;
}
#wrap #main #area13 {
  background-color: #fff;
  padding: 120px 0 85px;
  text-align: center;
  position: relative;
  z-index: 2;
}
#wrap #main #area13 .ja {
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.35em;
  line-height: 1.9;
  margin: 0 auto;
  padding-bottom: 45px;
  position: relative;
}
#wrap #main #area13 .en {
  font-family: "VentiCF-Demibold", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.48;
}
#wrap #main #area14 {
  background-color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
#wrap #main #area14:before {
  background-color: #fff;
  content: "";
  display: block;
  display: none;
  height: calc(100% + 150px);
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
#wrap #main #area14 > .header {
  align-items: center;
  background-color: #d1d1d1;
  color: #000;
  display: flex;
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 28px;
  font-weight: bold;
  height: 360px;
  letter-spacing: 0.25em;
  margin-bottom: 110px;
  padding: 0 90px;
  width: 100%;
}
#wrap #main #area14 .group {
  border-bottom: 1px solid #808081;
  border-top: 1px solid #808081;
}
#wrap #main #area14 .group .slick-list {
  padding-right: 140px;
}
#wrap #main #area14 .group .block .inner {
  display: flex;
  border-right: 1px solid #808081;
  padding: 65px 90px 90px 0;
}
#wrap #main #area14 .group .block .inner .header {
  text-align: center;
  width: 20%;
}
#wrap #main #area14 .group .block .inner .header h4 {
  font-family: "VentiCF-Demibold", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.25em;
  margin: auto auto 180px;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
#wrap #main #area14 .group .block .inner .header .num {
  font-family: "Futura";
  font-size: 40px;
}
#wrap #main #area14 .group .block .inner .desc {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2.6;
  padding: 0;
  width: 80%;
}
#wrap #main #area14 .group .slick-dots {
  bottom: -50px;
}
#wrap #main #area14 .group .slick-dots li {
  height: 10px;
  width: 10px;
}
#wrap #main #area14 .group.slick-slider {
  margin-bottom: 120px;
}
#wrap #main #area15 {
  background-color: #fff;
  margin-bottom: 150px;
  height: 388px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
#wrap #main #area15:before {
  background-color: #fff;
  content: "";
  display: block;
  height: calc(100% + 150px);
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
#wrap #main #area16 {
  background-color: #fff;
  padding: 0 65px 80px;
  position: relative;
  z-index: 2;
}
#wrap #main #area16 > .header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
#wrap #main #area16 > .header h2 {
  align-items: center;
  background: #000;
  color: #fff;
  font-size: 20px;
  display: flex;
  font-weight: bold;
  height: 45px;
  justify-content: center;
  letter-spacing: 0.75em;
  margin: 6px auto 30px 0;
  padding-left: 0.75vw;
  width: 144px;
}
#wrap #main #area16 > .header .line {
  background: #000;
  height: 1px;
  margin: 28px 18px auto auto;
  width: 18px;
}
#wrap #main #area16 > .header h3 {
  font-family: "VentiCF-Meduim", sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#wrap #main #area16 > .header h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.3em;
  width: 100%;
}
#wrap #main #area16 .group .block {
  margin-bottom: 30px;
  position: relative;
}
#wrap #main #area16 .group .block .question {
  background-image: url(../images/area16-02@2x.png);
  background-position: right 18px;
  background-repeat: no-repeat;
  background-size: 12px;
  border-bottom: 1px solid #929293;
  cursor: pointer;
  font-size: 20px;
  letter-spacing: 0.18em;
  line-height: 2;
  margin-bottom: 27px;
  padding-bottom: 27px;
}
#wrap #main #area16 .group .block .question.open {
  background-image: url(../images/area16-03@2x.png);
}
#wrap #main #area16 .group .block .answer {
  display: none;
  margin-bottom: 60px;
  position: relative;
}
#wrap #main #area16 .group .block .answer:before {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  left: 6px;
  position: absolute;
  bottom: 5px;
  width: 36px;
}
#wrap #main #area16 .group .block .answer .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#wrap #main #area16 .group .block .answer .inner .header {
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.25em;
  position: relative;
  padding: 10px 0 0;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
#wrap #main #area16 .group .block .answer .inner .header:before {
  background: #000;
  bottom: 5px;
  content: "";
  display: block;
  height: calc(100% - 80px);
  left: 6px;
  position: absolute;
  width: 1px;
  z-index: -1;
}
#wrap #main #area16 .group .block .answer .inner .header:after {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  left: 24px;
  position: absolute;
  top: 18px;
  width: 22px;
}
#wrap #main #area16 .group .block .answer .inner .right {
  width: calc(100% - 95px);
}
#wrap #main #area16 .group .block .answer .inner .right .desc {
  font-size: 19px;
  letter-spacing: 0.2em;
  line-height: 2.2;
  margin-bottom: 40px;
}
#wrap #main #area16 .group .block .answer .inner .right .close {
  cursor: pointer;
  width: 90px;
}
#wrap #main #area17 {
  background-color: #d2d2d3;
  max-height: 885px;
  overflow: hidden;
  padding: 130px 0 90px;
  position: relative;
  z-index: 2;
}
#wrap #main #area17 > .header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 65px 35px;
}
#wrap #main #area17 > .header h2 {
  align-items: center;
  background: #000;
  color: #fff;
  font-size: 20px;
  display: flex;
  font-weight: bold;
  height: 45px;
  justify-content: center;
  letter-spacing: 0.15em;
  margin: 6px 0 30px 0;
  padding: 0 16px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area17 > .header .line {
  background: #000;
  height: 1px;
  margin: 28px 0 auto 0;
  width: 18px;
}
#wrap #main #area17 > .header h3 {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#wrap #main #area17 > .header h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.3em;
  width: 100%;
}
#wrap #main #area17 .group01,
#wrap #main #area17 .group02 {
  height: 243px;
}
#wrap #main #area18 {
  padding: 130px 0 140px;
  position: relative;
  z-index: 2;
}
#wrap #main #area18 > .header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 65px 65px;
}
#wrap #main #area18 > .header h2 {
  align-items: center;
  background: #000;
  color: #fff;
  font-size: 20px;
  display: flex;
  font-weight: bold;
  height: 45px;
  justify-content: center;
  letter-spacing: 0.25em;
  margin: 6px auto 30px 0;
  padding: 0 16px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area18 > .header .line {
  background: #000;
  height: 1px;
  margin: 28px 18px auto auto;
  width: 18px;
}
#wrap #main #area18 > .header h3 {
  font-family: "VentiCF-Meduim", sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#wrap #main #area18 > .header h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.2em;
  width: 100%;
}
#wrap #main #area18 .group {
  padding: 0 0 0 47px;
}
#wrap #main #area18 .group .slick-list {
  padding-right: 0;
}
#wrap #main #area18 .group .block {
  padding: 0 18px 70px;
}
#wrap #main #area18 .group .block .image {
  padding-bottom: 36px;
}
#wrap #main #area18 .group .block .txt .date {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.25em;
  padding-bottom: 25px;
}
#wrap #main #area18 .group .block .txt .title a {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 1.7;
}
#wrap #main #area18 .cart01 {
  padding: 0 0 0 110px;
}
#wrap #main #area18 .cart01 li {
  align-items: center;
  display: flex;
  padding-bottom: 15px;
}
#wrap #main #area18 .cart01 li a {
  align-items: center;
  background-color: #cacacb;
  border: 1px solid #000;
  color: #000;
  display: flex;
  font-family: "VentiCF-Black", sans-serif;
  font-size: 18px;
  font-weight: 700;
  height: 68px;
  justify-content: center;
  letter-spacing: 0.15em;
  padding: 0 30px;
  width: 385px;
}
#wrap #main #area18 .cart01 li .line {
  background: #000;
  display: block;
  height: 1px;
  margin-left: -40px;
  width: 80px;
}
#wrap #main #area18 .cart01 li .circle {
  background: #000;
  border-radius: 8px;
  display: block;
  height: 8px;
  width: 8px;
  animation-name: blink;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
#wrap #main #area19 {
  padding: 0 0 80px;
  position: relative;
  z-index: 2;
}
#wrap #main #area19 > .header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 65px 55px;
}
#wrap #main #area19 > .header h2 {
  align-items: center;
  background: #000;
  color: #fff;
  font-size: 20px;
  display: flex;
  font-weight: bold;
  height: 45px;
  justify-content: center;
  letter-spacing: 0.15em;
  margin: 6px auto 30px 0;
  padding: 0 16px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area19 > .header .line {
  background: #000;
  height: 1px;
  margin: 28px 18px auto auto;
  width: 18px;
}
#wrap #main #area19 > .header h3 {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#wrap #main #area19 > .header h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.2em;
  white-space: nowrap;
  width: 100%;
}
#wrap #main #area19 h5 {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.25em;
  padding-bottom: 20px;
  text-align: center;
}
#wrap #main #area19 ul {
  display: flex;
  justify-content: center;
  padding-bottom: 50px;
}
#wrap #main #area19 ul li {
  margin: 0 15px;
  width: 43px;
}
#wrap #main #area20 {
  background-image: url(../images/area20-01@2x.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  max-height: 1152px;
  overflow: hidden;
  padding: 120px 50px 70px;
  text-align: center;
  position: relative;
  z-index: 2;
}
#wrap #main #area20 h2 {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 22px;
  font-weight: bold;
  height: 51px;
  letter-spacing: 0.35em;
  margin: 0 auto;
  padding-bottom: 12px;
  position: relative;
  text-align: center;
}
#wrap #main #area20 h3 {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 55px;
  font-weight: bold;
  height: 115px;
  letter-spacing: 0.25em;
  margin: 0 auto;
  padding-bottom: 40px;
  position: relative;
  text-align: center;
}
#wrap #main #area20 .desc {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 2.5;
  padding-bottom: 65px;
}
#wrap #main #area20 .line01 {
  background: #000;
  height: 50px;
  margin: auto auto 15px;
  width: 1px;
}
#wrap #main #area20 h4 {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.35em;
  line-height: 1.5;
  padding-bottom: 30px;
  text-align: center;
}
#wrap #main #area20 .num {
  font-family: "VentiCF-Bold", sans-serif;
  font-size: 140px;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 20px;
}
#wrap #main #area20 .salon {
  border-bottom: 1px solid #000;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.35em;
  margin: 0 auto 40px;
  padding: 0 0 3px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area20 .line02 {
  background: #000;
  height: 50px;
  margin: auto auto 15px;
  width: 1px;
}
#wrap #main #area21 {
  background: #000;
  color: #fff;
  padding: 110px 0 80px;
  position: relative;
  z-index: 2;
}
#wrap #main #area21 h2 {
  padding: 0 0 35px 85px;
}
#wrap #main #area21 h2 img {
  width: 325px;
}
#wrap #main #area21 .desc {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 2.1;
  padding: 0 0 85px 85px;
}
#wrap #main #area21 .image img {
  width: 100%;
}
#wrap #main #area22 {
  background-image: url(../images/area22-03@2x.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 85px 50px 30px;
  position: relative;
  z-index: 2;
}
#wrap #main #area22 h2 {
  font-size: 29px;
  font-weight: bold;
  height: 156px;
  letter-spacing: 0.25em;
  line-height: 2;
  padding-bottom: 40px;
}
#wrap #main #area22 .desc {
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 2.5;
  padding-bottom: 110px;
}
#wrap #main #area22 .group .block {
  padding-bottom: 70px;
  text-align: center;
}
#wrap #main #area22 .group .block h3 {
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 0 0 18px;
  text-align: center;
}
#wrap #main #area22 .group .block .line {
  background: #000;
  height: 17px;
  margin: 0 auto;
  width: 1px;
}
#wrap #main #area22 .group .block .inner {
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid #000;
  padding-bottom: 50px;
}
#wrap #main #area22 .group .block .inner h4 {
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.15em;
  padding: 30px 10px;
  text-align: center;
}
#wrap #main #area22 .group .block .inner .desc {
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 2;
  padding: 45px 10px 30px;
}
#wrap #main #area22 .group .block .inner .link a {
  display: block;
  margin: auto;
  width: 300px;
}
#wrap #main #area22 .group .block.block01 .inner {
  background-color: #fff;
}
#wrap #main #area22 .group .block.block01 .inner h4 {
  background: #000;
  color: #fff;
}
#wrap #main #area22 .group .block.block01 .inner .desc {
  color: #000;
}
#wrap #main #area22 .group .block.block02 .inner h4 {
  background-color: #cfcfd0;
}
#wrap #main #area23 {
  background-color: #e0e0e1;
  border: 28px solid #fff;
  padding: 58px 28px 30px;
  position: relative;
  z-index: 2;
}
#wrap #main #area23 .image {
  margin: auto;
  padding-bottom: 5px;
  text-align: center;
  width: 47px;
}
#wrap #main #area23 h2 {
  font-family: "VentiCF-Black", sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 20px;
  letter-spacing: 0.05em;
  text-align: center;
}
#wrap #main #area23 h3 {
  border-bottom: 1px solid #000;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin: 0 auto 35px;
  padding-bottom: 5px;
  width: -moz-fit-content;
  width: fit-content;
}
#wrap #main #area23 .desc {
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 1.45;
  padding-bottom: 20px;
}
#wrap #main #area23 .back a {
  display: block;
  margin: auto;
  width: 95px;
}
#wrap #side-right {
  align-items: center;
  display: flex;
  height: 100vh;
  height: 100svh;
  justify-content: center;
  margin-left: 28px;
  position: relative;
  width: calc((100% - 600px) / 2 - 28px);
}
#wrap #side-right:before {
  background-image: url(../images/bg02@2x.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  width: calc((100% - 600px) / 2 - 28px);
  z-index: -1;
}
#wrap #side-right .inner {
  width: -moz-fit-content;
  width: fit-content;
  position: fixed;
}
#wrap #side-right .inner h1 {
  font-size: 1.3vw;
  font-size: clamp(10px, 1.3vw, 26px);
  font-weight: 900;
  letter-spacing: 0.15em;
  padding-bottom: 0.5vw;
}
#wrap #side-right .inner .catch {
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  padding-bottom: 2.2vw;
}
#wrap #side-right .inner h2 {
  font-size: 1.67vw;
  font-size: clamp(13px, 1.67vw, 32px);
  font-weight: 100;
  letter-spacing: 0.05em;
  padding-bottom: 2.7vw;
}
#wrap #side-right .inner .cart01 {
  padding-bottom: 0.3vw;
}
#wrap #side-right .inner .cart01 li {
  align-items: center;
  display: flex;
  padding-bottom: 1.5vw;
}
#wrap #side-right .inner .cart01 li a {
  align-items: center;
  background-color: #000;
  border: 1px solid #000;
  color: #fff;
  display: flex;
  font-size: 0.73vw;
  font-size: clamp(8px, 0.73vw, 14px);
  font-weight: 700;
  height: 2.6vw;
  letter-spacing: 0.25em;
  padding: 0 1.5vw;
  width: 13.5vw;
}
#wrap #side-right .inner .cart01 li .line {
  background: #000;
  display: block;
  height: 1px;
  width: 1.6vw;
}
#wrap #side-right .inner .cart01 li .circle {
  background: #000;
  border-radius: 4px;
  display: block;
  height: 4px;
  width: 4px;
  animation-name: blink;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
#wrap #side-right .inner .cart01 li:hover a {
  background-color: #fff;
  color: #000;
}
#wrap #side-right .inner #contact {
  margin-bottom: 2.5vw;
}
#wrap #side-right .inner #contact a {
  align-items: center;
  display: flex;
  font-size: 0.73vw;
  font-size: clamp(8px, 0.73vw, 14px);
  font-weight: 900;
  letter-spacing: 0.1em;
  position: relative;
}
#wrap #side-right .inner #contact a:after {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  margin-left: 0.2vw;
  width: 3.5vw;
}
#wrap #side-right .inner #business a {
  border-bottom: 1px solid #000;
  font-size: 0.625vw;
  font-size: clamp(8px, 0.625vw, 12px);
  letter-spacing: 0.25em;
  padding-bottom: 0.3vw;
  width: -moz-fit-content;
  width: fit-content;
}

.home #loader-bg {
  background-image: url(../images/loading01@2x.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 1999;
}
.home #loader {
  display: none;
  position: relative;
  z-index: 2000;
}
.home #loader .catch {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 180px;
}

@media screen and (max-width: 767px) {
  img {
    height: auto;
    max-width: 100%;
  }
  #wrap #side-left,
  #wrap #side-right {
    display: none;
  }
  #wrap #main {
    background-color: #fff;
    position: relative;
    width: 100%;
  }
  #wrap #main .notice01 {
    background-color: #000;
    height: 33px;
    margin: 0 auto;
    padding: 5px;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 200;
  }
  #wrap #main .notice01 a {
    align-items: center;
    border-bottom: 1px solid #fff;
    color: #fff;
    display: flex;
    height: 19px;
    justify-content: center;
    padding-bottom: 1px;
    margin: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main .notice01 a .icon {
    background-image: url(../images/notice01@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 19px;
    margin-right: 10px;
    width: 19px;
  }
  #wrap #main .notice01 a .txt {
    font-size: 14px;
    letter-spacing: 0.35em;
  }
  #wrap #main .side-btn {
    bottom: 0;
    right: 0;
    position: fixed;
    width: 45px;
    z-index: 20;
  }
  #wrap #main .side-btn ul li a {
    display: block;
  }
  #wrap #main > .logo01 {
    align-items: center;
    aspect-ratio: 1200/190;
    background-color: #fff;
    display: flex;
    justify-content: center;
    margin-top: 33px;
    position: relative;
    z-index: 2;
  }
  #wrap #main > .logo01 img {
    margin: auto;
    width: 61%;
  }
  #wrap #main > .label01 {
    position: absolute;
    right: 15px;
    top: 60px;
    width: 50px;
    z-index: 3;
  }
  #wrap #main #fv {
    aspect-ratio: 1200/3800;
    background-image: url(../images/fv02@2x.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 2;
  }
  #wrap #main #fv .catch {
    font-size: 18px;
    letter-spacing: 0.45em;
    line-height: 1.77;
    padding: 90px 0 130vw 66px;
  }
  #wrap #main #area01 {
    align-items: start;
    font-size: 16px;
    justify-content: center;
    letter-spacing: 0.15em;
    line-height: 2.2;
    max-width: none !important;
    width: 100% !important;
  }
  #wrap #main #area01 .desc {
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area02 .header h3 {
    font-size: 25px;
    letter-spacing: 0.35em;
    line-height: 1.89;
    padding: 85px 0 20px 62px;
  }
  #wrap #main #area02 .header h3 span {
    font-size: 9px;
  }
  #wrap #main #area02 .header .notice {
    font-size: 8px;
    padding: 0 0 26px 62px;
  }
  #wrap #main #area03 .label01 {
    position: absolute;
    right: 15vw;
    top: 55vw;
    width: 11vw;
    z-index: 3;
  }
  #wrap #main #area03 .header {
    padding: 31vw 0 10vw 11vw;
  }
  #wrap #main #area03 .header h2 {
    width: 67%;
    padding-bottom: 13px;
  }
  #wrap #main #area03 .header h3 {
    font-family: "VentiCF-Medium", sans-serif;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 1.7;
    padding-bottom: 12.8vw;
  }
  #wrap #main #area03 .header .line {
    width: 90px;
  }
  #wrap #main #area03 > .desc {
    font-size: 15px;
    letter-spacing: 0.12em;
    line-height: 2.5;
    padding: 0 5px 20vw 11vw;
    white-space: nowrap;
  }
  #wrap #main #area03 .en {
    font-size: 6px;
    letter-spacing: 0.12em;
    line-height: 2.4;
    padding: 0 0 17vw 11vw;
  }
  #wrap #main #area03 .image {
    aspect-ratio: 272/705;
    background-image: url(../images/area02-11@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 30px;
    top: 116vw;
    width: 90px;
  }
  #wrap #main #area03 .group01 {
    padding-bottom: 48px;
    position: relative;
  }
  #wrap #main #area03 .group01 h3 {
    margin-left: 12vw;
    padding: 0 0 15vw;
    width: 36.5vw;
  }
  #wrap #main #area03 .group01 h3 img {
    width: 100%;
  }
  #wrap #main #area03 .group01 .tag {
    position: absolute;
    right: 9vw;
    top: 0;
    width: 11vw;
  }
  #wrap #main #area03 .group01 .itemwrap {
    margin: 0 auto 25px;
    position: relative;
    width: 206px;
  }
  #wrap #main #area03 .group01 .itemwrap .item {
    margin: 0 auto 0 55px;
    width: 72px;
  }
  #wrap #main #area03 .group01 .itemwrap .item img {
    width: 100%;
  }
  #wrap #main #area03 .group01 .itemwrap .item.active {
    animation: area0301 0.5s 1;
  }
  #wrap #main #area03 .group01 .itemwrap .circle {
    left: 0;
    text-align: center;
    top: 45px;
    margin: 0 auto;
    width: 206px;
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active {
    /***************************************************
    * Generated by SVG Artista on 4/16/2025, 5:53:27 PM
    * MIT license (https://opensource.org/licenses/MIT)
    * W. https://svgartista.net
    **************************************************/
  }
  @keyframes animate-svg-stroke-sp-1 {
    0% {
      stroke-dashoffset: 496.3610199689px;
      stroke-dasharray: 496.3610199689px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 496.3610199689px;
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-1 {
    animation: animate-svg-stroke-sp-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
  }
  @keyframes animate-svg-stroke-sp-2 {
    0% {
      stroke-dashoffset: 21.0990524292px;
      stroke-dasharray: 21.0990524292px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 21.0990524292px;
    }
  }
  @keyframes animate-svg-fill-2 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-2 {
    animation: animate-svg-stroke-sp-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
  }
  @keyframes animate-svg-stroke-sp-3 {
    0% {
      stroke-dashoffset: 22.1943035126px;
      stroke-dasharray: 22.1943035126px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 22.1943035126px;
    }
  }
  @keyframes animate-svg-fill-3 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-3 {
    animation: animate-svg-stroke-sp-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
  }
  @keyframes animate-svg-stroke-sp-4 {
    0% {
      stroke-dashoffset: 24.9942626953px;
      stroke-dasharray: 24.9942626953px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 24.9942626953px;
    }
  }
  @keyframes animate-svg-fill-4 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-4 {
    animation: animate-svg-stroke-sp-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
  }
  @keyframes animate-svg-stroke-sp-5 {
    0% {
      stroke-dashoffset: 23.0252323151px;
      stroke-dasharray: 23.0252323151px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0252323151px;
    }
  }
  @keyframes animate-svg-fill-5 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-5 {
    animation: animate-svg-stroke-sp-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
  }
  @keyframes animate-svg-stroke-sp-6 {
    0% {
      stroke-dashoffset: 25.3369483948px;
      stroke-dasharray: 25.3369483948px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 25.3369483948px;
    }
  }
  @keyframes animate-svg-fill-6 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-6 {
    animation: animate-svg-stroke-sp-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
  }
  @keyframes animate-svg-stroke-sp-7 {
    0% {
      stroke-dashoffset: 15.7279624939px;
      stroke-dasharray: 15.7279624939px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 15.7279624939px;
    }
  }
  @keyframes animate-svg-fill-7 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-7 {
    animation: animate-svg-stroke-sp-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
  }
  @keyframes animate-svg-stroke-sp-8 {
    0% {
      stroke-dashoffset: 23.0229492188px;
      stroke-dasharray: 23.0229492188px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0229492188px;
    }
  }
  @keyframes animate-svg-fill-8 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-8 {
    animation: animate-svg-stroke-sp-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
  }
  @keyframes animate-svg-stroke-sp-9 {
    0% {
      stroke-dashoffset: 26.8154907227px;
      stroke-dasharray: 26.8154907227px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 26.8154907227px;
    }
  }
  @keyframes animate-svg-fill-9 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-9 {
    animation: animate-svg-stroke-sp-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both, animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
  }
  @keyframes animate-svg-stroke-sp-10 {
    0% {
      stroke-dashoffset: 25.5719547272px;
      stroke-dasharray: 25.5719547272px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 25.5719547272px;
    }
  }
  @keyframes animate-svg-fill-10 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-10 {
    animation: animate-svg-stroke-sp-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both, animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
  }
  @keyframes animate-svg-stroke-sp-11 {
    0% {
      stroke-dashoffset: 33.9610729218px;
      stroke-dasharray: 33.9610729218px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 33.9610729218px;
    }
  }
  @keyframes animate-svg-fill-11 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-11 {
    animation: animate-svg-stroke-sp-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both, animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
  }
  @keyframes animate-svg-stroke-sp-12 {
    0% {
      stroke-dashoffset: 23.0228748322px;
      stroke-dasharray: 23.0228748322px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0228748322px;
    }
  }
  @keyframes animate-svg-fill-12 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-12 {
    animation: animate-svg-stroke-sp-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.32s both, animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
  }
  @keyframes animate-svg-stroke-sp-13 {
    0% {
      stroke-dashoffset: 26.8109436035px;
      stroke-dasharray: 26.8109436035px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 26.8109436035px;
    }
  }
  @keyframes animate-svg-fill-13 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-13 {
    animation: animate-svg-stroke-sp-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both, animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
  }
  @keyframes animate-svg-stroke-sp-14 {
    0% {
      stroke-dashoffset: 21.7640762329px;
      stroke-dasharray: 21.7640762329px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 21.7640762329px;
    }
  }
  @keyframes animate-svg-fill-14 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-14 {
    animation: animate-svg-stroke-sp-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both, animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
  }
  @keyframes animate-svg-stroke-sp-15 {
    0% {
      stroke-dashoffset: 17.9668827057px;
      stroke-dasharray: 17.9668827057px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 17.9668827057px;
    }
  }
  @keyframes animate-svg-fill-15 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-15 {
    animation: animate-svg-stroke-sp-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both, animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
  }
  @keyframes animate-svg-stroke-sp-16 {
    0% {
      stroke-dashoffset: 32.0865840912px;
      stroke-dasharray: 32.0865840912px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 32.0865840912px;
    }
  }
  @keyframes animate-svg-fill-16 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-16 {
    animation: animate-svg-stroke-sp-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both, animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
  }
  @keyframes animate-svg-stroke-sp-17 {
    0% {
      stroke-dashoffset: 23.0228672028px;
      stroke-dasharray: 23.0228672028px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0228672028px;
    }
  }
  @keyframes animate-svg-fill-17 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-17 {
    animation: animate-svg-stroke-sp-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both, animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
  }
  @keyframes animate-svg-stroke-sp-18 {
    0% {
      stroke-dashoffset: 50.7400016785px;
      stroke-dasharray: 50.7400016785px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 50.7400016785px;
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-18 {
    animation: animate-svg-stroke-sp-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both, animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
  }
  @keyframes animate-svg-stroke-sp-19 {
    0% {
      stroke-dashoffset: 55.1899871826px;
      stroke-dasharray: 55.1899871826px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 55.1899871826px;
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-19 {
    animation: animate-svg-stroke-sp-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both, animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
  }
  @keyframes animate-svg-stroke-sp-20 {
    0% {
      stroke-dashoffset: 32.1008167267px;
      stroke-dasharray: 32.1008167267px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 32.1008167267px;
    }
  }
  @keyframes animate-svg-fill-20 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-20 {
    animation: animate-svg-stroke-sp-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both, animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
  }
  @keyframes animate-svg-stroke-sp-21 {
    0% {
      stroke-dashoffset: 12.0353555679px;
      stroke-dasharray: 12.0353555679px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 12.0353555679px;
    }
  }
  @keyframes animate-svg-fill-21 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-21 {
    animation: animate-svg-stroke-sp-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both, animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
  }
  @keyframes animate-svg-stroke-sp-22 {
    0% {
      stroke-dashoffset: 20.8502311707px;
      stroke-dasharray: 20.8502311707px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 20.8502311707px;
    }
  }
  @keyframes animate-svg-fill-22 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-22 {
    animation: animate-svg-stroke-sp-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both, animate-svg-fill-22 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s both;
  }
  @keyframes animate-svg-stroke-sp-23 {
    0% {
      stroke-dashoffset: 16.4610624313px;
      stroke-dasharray: 16.4610624313px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 16.4610624313px;
    }
  }
  @keyframes animate-svg-fill-23 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-23 {
    animation: animate-svg-stroke-sp-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.64s both, animate-svg-fill-23 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
  }
  @keyframes animate-svg-stroke-sp-24 {
    0% {
      stroke-dashoffset: 16.4610624313px;
      stroke-dasharray: 16.4610624313px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 16.4610624313px;
    }
  }
  @keyframes animate-svg-fill-24 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-24 {
    animation: animate-svg-stroke-sp-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.76s both, animate-svg-fill-24 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
  }
  @keyframes animate-svg-stroke-sp-25 {
    0% {
      stroke-dashoffset: 17.969203949px;
      stroke-dasharray: 17.969203949px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 17.969203949px;
    }
  }
  @keyframes animate-svg-fill-25 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-25 {
    animation: animate-svg-stroke-sp-25 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.88s both, animate-svg-fill-25 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s both;
  }
  @keyframes animate-svg-stroke-sp-26 {
    0% {
      stroke-dashoffset: 21.8285331726px;
      stroke-dasharray: 21.8285331726px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 21.8285331726px;
    }
  }
  @keyframes animate-svg-fill-26 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-26 {
    animation: animate-svg-stroke-sp-26 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both, animate-svg-fill-26 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s both;
  }
  @keyframes animate-svg-stroke-sp-27 {
    0% {
      stroke-dashoffset: 23.0206890106px;
      stroke-dasharray: 23.0206890106px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0206890106px;
    }
  }
  @keyframes animate-svg-fill-27 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-27 {
    animation: animate-svg-stroke-sp-27 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.12s both, animate-svg-fill-27 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s both;
  }
  @keyframes animate-svg-stroke-sp-28 {
    0% {
      stroke-dashoffset: 24.760219574px;
      stroke-dasharray: 24.760219574px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 24.760219574px;
    }
  }
  @keyframes animate-svg-fill-28 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-28 {
    animation: animate-svg-stroke-sp-28 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.24s both, animate-svg-fill-28 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both;
  }
  @keyframes animate-svg-stroke-sp-29 {
    0% {
      stroke-dashoffset: 23.0206775665px;
      stroke-dasharray: 23.0206775665px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0206775665px;
    }
  }
  @keyframes animate-svg-fill-29 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-29 {
    animation: animate-svg-stroke-sp-29 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.36s both, animate-svg-fill-29 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both;
  }
  @keyframes animate-svg-stroke-sp-30 {
    0% {
      stroke-dashoffset: 22.1990470886px;
      stroke-dasharray: 22.1990470886px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 22.1990470886px;
    }
  }
  @keyframes animate-svg-fill-30 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-30 {
    animation: animate-svg-stroke-sp-30 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.48s both, animate-svg-fill-30 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both;
  }
  @keyframes animate-svg-stroke-sp-31 {
    0% {
      stroke-dashoffset: 16.4610042572px;
      stroke-dasharray: 16.4610042572px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 16.4610042572px;
    }
  }
  @keyframes animate-svg-fill-31 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-31 {
    animation: animate-svg-stroke-sp-31 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both, animate-svg-fill-31 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
  }
  @keyframes animate-svg-stroke-sp-32 {
    0% {
      stroke-dashoffset: 21.8307781219px;
      stroke-dasharray: 21.8307781219px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 21.8307781219px;
    }
  }
  @keyframes animate-svg-fill-32 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-32 {
    animation: animate-svg-stroke-sp-32 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.72s both, animate-svg-fill-32 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9s both;
  }
  @keyframes animate-svg-stroke-sp-33 {
    0% {
      stroke-dashoffset: 24.9895515442px;
      stroke-dasharray: 24.9895515442px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 24.9895515442px;
    }
  }
  @keyframes animate-svg-fill-33 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-33 {
    animation: animate-svg-stroke-sp-33 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.84s both, animate-svg-fill-33 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
  }
  @keyframes animate-svg-stroke-sp-34 {
    0% {
      stroke-dashoffset: 24.6440238953px;
      stroke-dasharray: 24.6440238953px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 24.6440238953px;
    }
  }
  @keyframes animate-svg-fill-34 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-34 {
    animation: animate-svg-stroke-sp-34 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.96s both, animate-svg-fill-34 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
  }
  @keyframes animate-svg-stroke-sp-35 {
    0% {
      stroke-dashoffset: 16.4566764832px;
      stroke-dasharray: 16.4566764832px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 16.4566764832px;
    }
  }
  @keyframes animate-svg-fill-35 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-35 {
    animation: animate-svg-stroke-sp-35 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.08s both, animate-svg-fill-35 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
  }
  @keyframes animate-svg-stroke-sp-36 {
    0% {
      stroke-dashoffset: 23.0206756592px;
      stroke-dasharray: 23.0206756592px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 23.0206756592px;
    }
  }
  @keyframes animate-svg-fill-36 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-36 {
    animation: animate-svg-stroke-sp-36 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both, animate-svg-fill-36 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both;
  }
  @keyframes animate-svg-stroke-sp-37 {
    0% {
      stroke-dashoffset: 21.1031455994px;
      stroke-dasharray: 21.1031455994px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 21.1031455994px;
    }
  }
  @keyframes animate-svg-fill-37 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-37 {
    animation: animate-svg-stroke-sp-37 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.32s both, animate-svg-fill-37 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
  }
  @keyframes animate-svg-stroke-sp-38 {
    0% {
      stroke-dashoffset: 16.4566688538px;
      stroke-dasharray: 16.4566688538px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 16.4566688538px;
    }
  }
  @keyframes animate-svg-fill-38 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-38 {
    animation: animate-svg-stroke-sp-38 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.44s both, animate-svg-fill-38 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
  }
  @keyframes animate-svg-stroke-sp-39 {
    0% {
      stroke-dashoffset: 50.7400016785px;
      stroke-dasharray: 50.7400016785px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 50.7400016785px;
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-39 {
    animation: animate-svg-stroke-sp-39 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.56s both, animate-svg-fill-39 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
  }
  @keyframes animate-svg-stroke-sp-40 {
    0% {
      stroke-dashoffset: 55.1899871826px;
      stroke-dasharray: 55.1899871826px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 55.1899871826px;
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-40 {
    animation: animate-svg-stroke-sp-40 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.68s both, animate-svg-fill-40 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
  }
  @keyframes animate-svg-stroke-sp-41 {
    0% {
      stroke-dashoffset: 14.6292024674px;
      stroke-dasharray: 14.6292024674px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 14.6292024674px;
    }
  }
  @keyframes animate-svg-fill-41 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-41 {
    animation: animate-svg-stroke-sp-41 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both, animate-svg-fill-41 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both;
  }
  @keyframes animate-svg-stroke-sp-42 {
    0% {
      stroke-dashoffset: 14.6292024674px;
      stroke-dasharray: 14.6292024674px;
    }
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 14.6292024674px;
    }
  }
  @keyframes animate-svg-fill-42 {
    0% {
      fill: transparent;
    }
    100% {
      fill: rgb(35, 24, 21);
    }
  }
  #wrap #main #area03 .group01 .itemwrap .circle.active .svg-elem02-42 {
    animation: animate-svg-stroke-sp-42 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.92s both, animate-svg-fill-42 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
  }
  #wrap #main #area03 .group01 dl {
    align-items: center;
    display: flex;
    padding: 0 8vw 0 14vw;
  }
  #wrap #main #area03 .group01 dl dt {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 67px;
    font-weight: bold;
    margin-right: 5vw;
  }
  #wrap #main #area03 .group01 dl dd {
    font-family: "VentiCF-Regular", sans-serif;
    font-size: 8px;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  #wrap #main #area03 .image01 {
    padding: 0 36px 100px 46px;
  }
  #wrap #main #area03 .links {
    padding: 0 43px 5.6vw;
  }
  #wrap #main #area03 .links .block {
    padding-bottom: 14.4vw;
    text-align: center;
  }
  #wrap #main #area03 .links .block h4 {
    font-family: "VentiCF-Extrabold", sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.15em;
    padding-bottom: 24px;
  }
  #wrap #main #area03 .links .block .link a {
    align-items: center;
    border: 1px solid #000;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    height: 80px;
    justify-content: center;
    position: relative;
    width: 100%;
  }
  #wrap #main #area03 .links .block .link a h5 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.15em;
    padding-bottom: 2px;
    width: 100%;
  }
  #wrap #main #area03 .links .block .link a .desc {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: 100%;
  }
  #wrap #main #area03 .links .block .link a:before {
    background: #000;
    content: "";
    display: block;
    height: 13px;
    left: 50%;
    position: absolute;
    top: -13px;
    width: 1px;
  }
  #wrap #main #area03 .links .block:last-child .link a {
    background-color: #fff;
    color: #000;
  }
  #wrap #main #area04 {
    background-color: #aaa;
    background-size: 180px;
    height: 770px;
    z-index: 2;
  }
  #wrap #main #area04 .desc {
    font-size: 16px;
  }
  #wrap #main #area04 .desc.desc01 {
    left: auto;
    top: 110px;
    right: 50px;
  }
  #wrap #main #area04 .desc.desc02 {
    bottom: 95px;
    left: 60px;
  }
  #wrap #main #area04 .en {
    font-size: 9px;
  }
  #wrap #main #area04 .en.en01 {
    left: 48px;
    top: 60px;
  }
  #wrap #main #area04 .en.en02 {
    bottom: 75px;
    right: 54px;
  }
  #wrap #main #area05 {
    aspect-ratio: 1200/1900;
    background-image: url(../images/area05-01@2x.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    padding: 112px 0 0 66px;
    width: 100%;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area05 h3 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 2.2;
  }
  #wrap #main #area06 {
    aspect-ratio: 1200/1050;
    background-image: url(../images/area06-01@2x.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    padding: 35px 43px;
    width: 100%;
  }
  #wrap #main #area06 h3 {
    font-size: 22px;
    letter-spacing: 0.35em;
    margin: 0 0 0 auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area06 h3 span {
    border-bottom: 1px solid #fff;
    display: block;
    margin: 0px 0 7px;
    padding: 0 0 2px;
  }
  #wrap #main #area07 {
    padding-top: 29vw;
    position: relative;
  }
  #wrap #main #area07 .tag {
    left: 7vw;
    position: absolute;
    top: 20vw;
    width: 12vw;
  }
  #wrap #main #area07 .carb {
    left: 25vw;
    position: absolute;
    top: 36vw;
    width: 38vw;
  }
  #wrap #main #area07 .txt {
    background-color: #aaa;
    padding: 22vw 7vw 0 7vw;
    text-align: center;
  }
  #wrap #main #area07 .txt h3 {
    font-size: 19px;
    font-weight: bold;
    letter-spacing: 0.45em;
    padding-bottom: 3vw;
  }
  #wrap #main #area07 .txt h4 {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.025em;
    padding-bottom: 6vw;
  }
  #wrap #main #area07 .txt .desc {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.25em;
    line-height: 2.2;
    padding-bottom: 21vw;
  }
  #wrap #main #area07 .txt h5 {
    font-size: 19px;
    font-weight: bold;
    letter-spacing: 0.45em;
    padding-bottom: 9vw;
  }
  #wrap #main #area07 .point {
    background-color: #aaa;
    padding: 0 8vw 24vw;
  }
  #wrap #main #area07 .point .image01 {
    margin: 0 auto 5vw;
    opacity: 0;
    width: 100%;
  }
  #wrap #main #area07 .point .image01.active {
    animation: area0701 1s 1;
    opacity: 1;
  }
  #wrap #main #area07 .point .arrow {
    margin: 0 auto 7vw;
    width: 1vw;
  }
  #wrap #main #area07 .point > .desc {
    font-size: 14px;
    letter-spacing: 0.21em;
    padding-bottom: 5vw;
    text-align: center;
  }
  #wrap #main #area07 .point ul li {
    align-items: center;
    background-image: url(../images/area07-07@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    font-size: 15px;
    font-weight: bold;
    height: 9.4vw;
    justify-content: center;
    letter-spacing: 0.45em;
    margin: 0 auto 3.3vw;
    text-align: center;
    width: 54vw;
  }
  #wrap #main #area08 {
    margin-top: -1px;
  }
  #wrap #main #area08 .image {
    min-height: 103lvh;
    margin-bottom: 50vh;
  }
  #wrap #main #area08 .image .inner .en {
    bottom: auto;
    font-family: "VentiCF-Meduim", sans-serif;
    font-size: 8px;
    letter-spacing: 0.2em;
    left: 19%;
    line-height: 1.8;
    position: absolute;
    top: calc(100vh - 55px);
    top: calc(100lvh - 55px);
  }
  #wrap #main #area08 .image01 {
    justify-content: center;
    padding: 0 0 0 0;
  }
  #wrap #main #area08 .image01:after {
    background-image: url(../images/area08-21@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 607px;
    left: 25px;
    position: absolute;
    top: 50%;
    width: 28px;
  }
  #wrap #main #area08 .image01 .inner {
    width: 100%;
  }
  #wrap #main #area08 .image01 .inner > .header {
    background-image: url(../images/area08-11@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
    font-size: 13px;
    height: 74px;
    letter-spacing: 0.25em;
    line-height: 1.4;
    margin: 0 auto 26px;
    padding: 14px 0 0 0;
    text-align: center;
    width: 214px;
  }
  #wrap #main #area08 .image01 .inner h2 {
    font-size: 13px;
    letter-spacing: 0.12em;
    padding-bottom: 18px;
    text-align: center;
  }
  #wrap #main #area08 .image01 .inner .photo01 {
    margin: 0 auto 21px;
    width: 214px;
  }
  #wrap #main #area08 .image01 .inner .photo02 {
    margin: 0 auto 18px;
    width: 214px;
  }
  #wrap #main #area08 .image01 .inner .txt {
    text-align: center;
  }
  #wrap #main #area08 .image01 .inner .txt h3 {
    font-size: 13px;
    letter-spacing: 0.12em;
    padding-bottom: 9px;
  }
  #wrap #main #area08 .image01 .inner .txt .desc {
    font-size: 21px;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: linear-gradient(transparent 80%, #d2d3d3 80%, #d2d3d3 100%, transparent 100%);
    display: inline-block;
    margin: 0 auto;
    padding-bottom: 6px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area08 .image01 .inner.active {
    transform: translateX(-50%);
    position: fixed;
    top: 0;
    left: 50%;
    margin: 0 auto;
    width: 100%;
    z-index: 10;
  }
  #wrap #main #area08 .image02 {
    padding: 0 0 0 0;
    text-align: center;
  }
  #wrap #main #area08 .image02:after {
    background-image: url(../images/area08-22@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 607px;
    left: 25px;
    position: absolute;
    top: 50%;
    width: 28px;
  }
  #wrap #main #area08 .image02 .inner h2 {
    font-size: 17px;
    letter-spacing: 0.18em;
    line-height: 1.6;
    padding-bottom: 15px;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area08 .image02 .inner .line {
    background-color: #fff;
    height: 27px;
    margin: 0 auto 12px;
    width: 1px;
  }
  #wrap #main #area08 .image02 .inner h3 {
    font-size: 17px;
    letter-spacing: 0.14em;
    padding-bottom: 13px;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area08 .image02 .inner .desc {
    font-size: 50px;
    font-weight: bold;
    letter-spacing: 0.14em;
    margin: 0 auto 33px;
    padding-bottom: 3px;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area08 .image02 .inner .desc span {
    font-size: 34px;
  }
  #wrap #main #area08 .image02 .inner .desc:before {
    background-color: rgba(255, 255, 255, 0.2);
    bottom: 0;
    content: "";
    display: block;
    height: 12px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  #wrap #main #area08 .image02 .inner .photo01 {
    margin: 0 auto;
    width: 63%;
  }
  #wrap #main #area08 .image02 .inner .en {
    text-align: left;
  }
  #wrap #main #area08 .image02 .inner.active {
    transform: translateX(-50%);
    position: fixed;
    top: 0;
    left: 50%;
    margin: 0 auto;
    width: 100%;
    z-index: 10;
    animation-name: stick01;
    animation-duration: 0.2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #wrap #main #area08 .image02 .inner.active h2,
  #wrap #main #area08 .image02 .inner.active h3,
  #wrap #main #area08 .image02 .inner.active .line,
  #wrap #main #area08 .image02 .inner.active .photo01 {
    animation-name: stick02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    transition: 0.5s;
  }
  #wrap #main #area08 .image03 {
    justify-content: center;
    padding: 0 0 0 0;
    text-align: center;
  }
  #wrap #main #area08 .image03:after {
    background-image: url(../images/area08-22@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 607px;
    left: 25px;
    position: absolute;
    top: 50%;
    width: 28px;
  }
  #wrap #main #area08 .image03 .inner h2 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.23em;
    line-height: 2.2;
    padding-bottom: 46px;
    text-align: center;
  }
  #wrap #main #area08 .image03 .inner h3 {
    align-items: center;
    display: flex;
    font-size: 24px;
    height: 206px;
    justify-content: center;
    letter-spacing: 0.18em;
    line-height: 1.6;
    margin: 0 auto;
    position: relative;
    width: 206px;
  }
  #wrap #main #area08 .image03 .inner h3:before {
    background-image: url(../images/area08-24@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  #wrap #main #area08 .image03 .inner .en {
    text-align: left;
  }
  #wrap #main #area08 .image03 .inner.active {
    transform: translateX(-50%);
    position: fixed;
    top: 0;
    left: 50%;
    margin: 0 auto;
    width: 100%;
    z-index: 10;
    animation-name: stick01;
    animation-duration: 0.2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #wrap #main #area08 .image03 .inner.active h2 {
    animation-name: stick02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    transition: 0.5s;
  }
  #wrap #main #area08 .image04 {
    margin-bottom: 0;
    justify-content: center;
    padding: 0 0 0 0;
    text-align: center;
  }
  #wrap #main #area08 .image04:after {
    background-image: url(../images/area08-23@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 607px;
    left: 25px;
    position: absolute;
    top: 50%;
    width: 28px;
  }
  #wrap #main #area08 .image04 .inner h2 {
    font-size: 16px;
    letter-spacing: 0.28em;
    line-height: 1.7;
    padding-bottom: 33px;
    text-align: center;
  }
  #wrap #main #area08 .image04 .inner .itemwrap {
    margin: 0 auto 31px;
    position: relative;
    width: 214px;
  }
  #wrap #main #area08 .image04 .inner .itemwrap .item {
    margin: auto 0 auto 62px;
    width: 72px;
  }
  #wrap #main #area08 .image04 .inner .itemwrap .item.active {
    animation: area0301 0.5s 1;
  }
  #wrap #main #area08 .image04 .inner .itemwrap .circle {
    left: 0;
    position: absolute;
    top: 42px;
    width: 100%;
  }
  #wrap #main #area08 .image04 .inner .itemwrap .circle.active {
    opacity: 1;
  }
  #wrap #main #area08 .image04 .inner h3 {
    font-size: 21px;
    letter-spacing: 0.15em;
    line-height: 1.6;
    margin: auto;
    padding-bottom: 13px;
    position: relative;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area08 .image04 .inner .desc {
    font-family: "VentiCF-Meduim", sans-serif;
    font-size: 8px;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-align: center;
  }
  #wrap #main #area08 .image04 .inner .en {
    text-align: left;
  }
  #wrap #main #area08 .image04 .inner.active {
    transform: translateX(-50%);
    position: fixed;
    top: 0;
    left: 50%;
    margin: 0 auto;
    width: 100%;
    z-index: 10;
    animation-name: stick01;
    animation-duration: 0.2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #wrap #main #area08 .image04 .inner.active h2,
  #wrap #main #area08 .image04 .inner.active .desc,
  #wrap #main #area08 .image04 .inner.active .itemwrap {
    animation-name: stick02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    transition: 0.5s;
  }
  #wrap #main #area08 .image05 {
    justify-content: center;
    padding: 80px 0 240px 0;
    text-align: center;
  }
  #wrap #main #area08 .image05:after {
    background-image: url(../images/area08-23@2x.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 607px;
    left: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
  }
  #wrap #main #area08 .image05:before {
    background-image: url(../images/area08-06@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 47px;
    content: "";
    display: block;
    display: none;
    height: 143px;
    position: absolute;
    right: 30px;
    width: 30px;
  }
  #wrap #main #area08 .image05 .inner {
    padding: 0 17vw 0 23vw;
  }
  #wrap #main #area08 .image05 .inner .label {
    margin-left: -4vw;
    width: 15vw;
  }
  #wrap #main #area08 .image05 .inner h2 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1;
    padding-bottom: 4vw;
    text-align: center;
  }
  #wrap #main #area08 .image05 .inner h3 {
    font-size: 15px;
    letter-spacing: 0.28em;
    font-weight: normal;
    line-height: 1;
    padding-bottom: 4vw;
    text-align: center;
  }
  #wrap #main #area08 .image05 .inner h4 {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1;
    padding-bottom: 6vw;
    text-align: center;
  }
  #wrap #main #area08 .image05 .inner h4 span {
    font-size: 16px;
  }
  #wrap #main #area08 .image05 .inner .en {
    text-align: left;
  }
  #wrap #main #area08 .image05 .inner .photo01 {
    margin: 0 auto 7vw;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area08 .image05 .inner .desc {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.28em;
    margin: 0 auto;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area08 .image05 .inner .desc .desc01 {
    padding-bottom: 2vw;
  }
  #wrap #main #area08 .image05 .inner .desc .desc02 {
    padding: 3vw 0 3.1vw;
  }
  #wrap #main #area08 .image05 .inner .desc .line02 {
    background-color: #000;
    height: 1px;
    width: 100%;
  }
  #wrap #main #area08 .image05 .inner .desc .desc03 {
    padding: 5vw 0 0;
  }
  #wrap #main #area08 .image05 .inner .desc .desc03 span {
    display: block;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  #wrap #main #area08 .image05 .inner.active {
    transform: translateX(-50%);
    position: fixed;
    top: 0;
    left: 50%;
    margin: 0 auto;
    width: 600px;
    z-index: 10;
    animation-name: stick01;
    animation-duration: 0.2s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #wrap #main #area08 .image05 .inner.active h2 {
    animation-name: stick02;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    transition: 0.5s;
  }
  #wrap #main #area08 .image07 {
    background-color: #aaa;
    background-image: none;
    color: #000;
    height: 100svh;
  }
  #wrap #main #area08 .image07 .point {
    position: relative;
    width: 100%;
  }
  #wrap #main #area08 .image07 .point .pointimage {
    width: 100%;
  }
  #wrap #main #area08 .image07 .point .pointimage svg {
    height: auto;
    width: 100%;
  }
  #wrap #main #area08 .image07 .point .desc {
    font-size: 14px !important;
    line-height: 1.7;
    white-space: nowrap;
  }
  #wrap #main #area08 .image07 .point ul li {
    align-items: center;
    background-image: url(../images/area07-07@2x.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    font-weight: bold;
    justify-content: center;
    letter-spacing: 0.45em;
    margin: 0 auto 13px;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area08 .image06 {
    background-image: none;
    min-height: initial;
    margin-bottom: 0;
  }
  #wrap #main #area08 .image08 {
    background-color: #fff;
    min-height: initial;
    margin-bottom: 0;
  }
  #wrap #main #area09 {
    padding: 80px 16px 16px;
    position: relative;
  }
  #wrap #main #area09:before {
    background: #000;
    content: "";
    display: block;
    height: 132px;
    left: 50%;
    position: absolute;
    top: 0;
    width: 1px;
    z-index: 2;
  }
  #wrap #main #area09 .inner {
    background-color: #fff;
    padding: 14px 18px;
    position: relative;
    z-index: 3;
  }
  #wrap #main #area09 .inner .block .image {
    margin-bottom: 40px;
    position: relative;
  }
  #wrap #main #area09 .inner .block .image .badge {
    bottom: -83px;
    position: absolute;
    right: 14px;
    width: 130px;
  }
  #wrap #main #area09 .inner .block .image .badge span {
    display: block;
    letter-spacing: -0.05em;
    transform: scaleX(0.8);
    padding: 5px 45px 0 0;
  }
  #wrap #main #area09 .inner .block .image .badge {
    align-items: center;
    color: #fff;
    display: flex;
    font-family: "futura", sans-serif;
    font-size: 35px;
    font-weight: 500;
    justify-content: center;
  }
  #wrap #main #area09 .inner .block h3 {
    margin-bottom: 12px;
    padding: 0 0 0 26px;
    position: relative;
    width: 40vw;
  }
  #wrap #main #area09 .inner .block h3:before {
    background: #000;
    content: "";
    display: block;
    height: 1px;
    left: -18px;
    position: absolute;
    top: 12px;
    width: 23px;
  }
  #wrap #main #area09 .inner .block .name {
    font-size: 10px;
    letter-spacing: 0.15em;
    margin: 0;
    padding: 0 0 17px 26px;
    text-align: left;
  }
  #wrap #main #area09 .inner .block .tag {
    align-items: center;
    border: 1px solid #000;
    border-radius: 100px;
    display: flex;
    font-size: 11px;
    height: 20px;
    justify-content: center;
    letter-spacing: 0.15em;
    margin: 0 0 8px 26px;
    padding: 0 17px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area09 .inner .block h4 {
    font-size: 16px;
    letter-spacing: 0.18em;
    line-height: 1.3;
    padding: 0 0 13px 26px;
  }
  #wrap #main #area09 .inner .block .desc {
    font-size: 11px;
    letter-spacing: 0.15em;
    line-height: 1.48;
    padding: 0 0 30px 26px;
  }
  #wrap #main #area09 .inner .block .price {
    font-size: 11px;
    padding: 0 0 20px 26px;
  }
  #wrap #main #area09 .inner .block .price span {
    font-size: 9px;
  }
  #wrap #main #area09 .inner .block .cart01 {
    padding: 0 0 0 26px;
  }
  #wrap #main #area09 .inner .block .cart01 li {
    align-items: center;
    display: flex;
    padding-bottom: 10px;
  }
  #wrap #main #area09 .inner .block .cart01 li a {
    align-items: center;
    background-color: #000;
    border: 1px solid #000;
    color: #fff;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    height: 45px;
    letter-spacing: 0.25em;
    padding: 0 20px;
    width: 254px;
  }
  #wrap #main #area09 .inner .block .cart01 li .line {
    background: #000;
    display: block;
    height: 1px;
    margin-left: -26px;
    width: 53px;
  }
  #wrap #main #area09 .inner .block .cart01 li .circle {
    background: #000;
    border-radius: 2.8px;
    display: block;
    height: 2.8px;
    width: 2.8px;
  }
  #wrap #main #area09 .inner .block .cart01 li:first-child a {
    background-color: #fff;
    color: #000;
  }
  #wrap #main #area09 .inner .block .cart01 li:last-child a {
    background-color: #e6dbd6;
    color: #000;
  }
  #wrap #main #area09 .inner .block .notice {
    font-size: 8px;
    letter-spacing: 0.2em;
    line-height: 1.8;
    padding: 0 0 14px 26px;
  }
  #wrap #main #area09 .inner .block .tsumekae {
    font-size: 9px;
    padding: 0 0 28px 26px;
  }
  #wrap #main #area10 {
    background-color: #fff;
    padding-bottom: 50px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area10 .image01 {
    margin-bottom: 66px;
    position: relative;
  }
  #wrap #main #area10 .image01:after {
    background-color: #fff;
    bottom: 0;
    content: "";
    display: block;
    height: 24px;
    left: 0;
    position: absolute;
    width: 264px;
    z-index: 2;
  }
  #wrap #main #area10 .image01 .catch {
    bottom: -66px;
    position: absolute;
    right: 42px;
    width: 48px;
  }
  #wrap #main #area10 .txt {
    padding: 0 33px;
  }
  #wrap #main #area10 .txt h2 {
    color: #000;
    font-size: 18px;
    letter-spacing: 0.22em;
    line-height: 1.7;
    padding: 0 0 20px;
  }
  #wrap #main #area10 .txt h3 {
    border-bottom: 1px solid #000;
    margin-bottom: 21px;
    width: 259px;
  }
  #wrap #main #area10 .txt h3 img {
    width: 211px;
  }
  #wrap #main #area10 .txt .desc {
    font-family: "VentiCF-Meduim", sans-serif;
    font-size: 9px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding-bottom: 46px;
  }
  #wrap #main #area10 .group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 33px;
  }
  #wrap #main #area10 .group .block {
    padding-bottom: 36px;
    width: 44.5%;
  }
  #wrap #main #area10 .group .block .num {
    font-family: "futura";
    font-size: 41px;
    font-weight: 300;
    padding-bottom: 7px;
  }
  #wrap #main #area10 .group .block h4 {
    align-items: center;
    border: 1px solid #000;
    border-radius: 26px;
    display: flex;
    font-size: 12px;
    height: 26px;
    justify-content: center;
    letter-spacing: 0.1em;
    margin-bottom: 13px;
    width: 100%;
  }
  #wrap #main #area10 .group .block .desc {
    font-size: 12px;
    letter-spacing: 0.12em;
    line-height: 1.6;
    padding-bottom: 10px;
    white-space: nowrap;
  }
  #wrap #main #area10 .group .block h5 {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding-bottom: 13px;
    white-space: nowrap;
  }
  #wrap #main #area10 .group .block.block03 h4 span {
    transform: scale(0.8, 1);
    white-space: nowrap;
  }
  #wrap #main #area11 {
    background-color: #d1d1d1;
    padding: 109px 0 0 0;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area11 h2 {
    color: #fff;
    font-size: 16px;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.65;
    padding-bottom: 17px;
    text-align: center;
  }
  #wrap #main #area11 h3 {
    margin: auto auto 71px;
    text-align: center;
    width: 223px;
  }
  #wrap #main #area11 .group {
    display: flex;
  }
  #wrap #main #area11 .group .left {
    background-color: #fff;
    padding: 0 40px 59px 0;
    width: 343px;
  }
  #wrap #main #area11 .group .left .image01 {
    margin: -38px auto 47px 0;
    width: 100%;
  }
  #wrap #main #area11 .group .left .tabs {
    display: flex;
    padding: 0 40px 25px 40px;
  }
  #wrap #main #area11 .group .left .tabs li {
    align-items: center;
    background: #000;
    border: 1px solid #000;
    border-radius: 29px;
    color: #fff;
    display: flex;
    font-size: 13px;
    letter-spacing: 0.03em;
    height: 29px;
    justify-content: center;
    margin-right: 13px;
    padding: 0 18px;
    white-space: nowrap;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area11 .group .left .tabs li:last-child {
    margin-right: 0;
  }
  #wrap #main #area11 .group .left .image02 {
    padding: 0 0 35px 40px;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area11 .group .left .image02 img {
    width: 100%;
  }
  #wrap #main #area11 .group .left .desc {
    font-size: 13px;
    letter-spacing: 0.25em;
    line-height: 2.5;
    padding: 0 0 26px 40px;
  }
  #wrap #main #area11 .group .left .desc span {
    background: linear-gradient(transparent 55%, #d2d3d3 55%, #d2d3d3 85%, transparent 85%);
    display: inline-block;
  }
  #wrap #main #area11 .group .left .link {
    padding: 0 0 0 40px;
  }
  #wrap #main #area11 .group .left .link a {
    align-items: center;
    background-color: #e0e0e0;
    border: 1px solid #000;
    display: flex;
    font-size: 12px;
    height: 46px;
    justify-content: center;
    letter-spacing: 0.35em;
    line-height: 1.8;
    position: relative;
    width: 222px;
  }
  #wrap #main #area11 .group .left .link a:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: -26px;
    top: 23px;
    width: 53px;
  }
  #wrap #main #area11 .group .left .link a:after {
    background: #000;
    border-radius: 3px;
    content: "";
    display: block;
    height: 3px;
    position: absolute;
    top: 22px;
    right: -26px;
    width: 3px;
  }
  #wrap #main #area11 .group .side {
    align-items: center;
    color: #000;
    display: flex;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.35em;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    width: 53px;
  }
  #wrap #main #area12 {
    background-color: #d1d1d1;
    padding: 53px 0 59px 0;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area12 .group {
    display: flex;
  }
  #wrap #main #area12 .group .left {
    background-color: #fff;
    order: 2;
    padding: 0 0 59px 32px;
    width: 100%;
  }
  #wrap #main #area12 .group .left .image01 {
    margin: -53px auto 47px 0;
    width: 100%;
  }
  #wrap #main #area12 .group .left .tabs {
    display: flex;
    padding: 0 10vw 25px 0;
  }
  #wrap #main #area12 .group .left .tabs li {
    align-items: center;
    background: #000;
    border: 1px solid #000;
    border-radius: 29px;
    color: #fff;
    display: flex;
    font-size: 13px;
    letter-spacing: 0.05em;
    height: 29px;
    justify-content: center;
    margin-right: 5px;
    padding: 0 10px;
    white-space: nowrap;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area12 .group .left .tabs li:last-child {
    margin-right: 0;
  }
  #wrap #main #area12 .group .left .tabs li span {
    transform: scale(1, 1);
    white-space: nowrap;
  }
  #wrap #main #area12 .group .left h5 {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.25em;
    padding-bottom: 16px;
  }
  #wrap #main #area12 .group .left .image02 {
    padding: 0 10vw 35px 0;
    text-align: center;
    width: 100%;
  }
  #wrap #main #area12 .group .left .image02 img {
    width: 100%;
  }
  #wrap #main #area12 .group .left .image03 {
    padding-bottom: 43px;
  }
  #wrap #main #area12 .group .left .desc {
    font-size: 13px;
    letter-spacing: 0.25em;
    line-height: 2.5;
    padding: 0 0 26px 0;
  }
  #wrap #main #area12 .group .left .desc span {
    background: linear-gradient(transparent 55%, #d2d3d3 55%, #d2d3d3 85%, transparent 85%);
    display: inline-block;
  }
  #wrap #main #area12 .group .left .link {
    padding: 0;
  }
  #wrap #main #area12 .group .left .link a {
    align-items: center;
    background-color: #d2d3d3;
    border: 1px solid #000;
    display: flex;
    font-size: 12px;
    height: 46px;
    justify-content: center;
    letter-spacing: 0.35em;
    line-height: 1.8;
    position: relative;
    width: 222px;
  }
  #wrap #main #area12 .group .left .link a:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: -26px;
    top: 23px;
    width: 53px;
  }
  #wrap #main #area12 .group .left .link a:after {
    background: #000;
    border-radius: 3px;
    content: "";
    display: block;
    height: 3px;
    position: absolute;
    top: 22px;
    right: -26px;
    width: 3px;
  }
  #wrap #main #area12 .group .side {
    align-items: center;
    color: #000;
    display: flex;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.35em;
    order: 1;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    width: 53px;
  }
  #wrap #main #area13 {
    padding: 79px 0 56px;
    text-align: center;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area13 .ja {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.35em;
    line-height: 1.9;
    padding-bottom: 30px;
  }
  #wrap #main #area13 .en {
    font-family: "VentiCF-Demibold", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.48;
  }
  #wrap #main #area14 {
    height: 717px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area14 > .header {
    align-items: center;
    background-color: #d2d2d3;
    color: #000;
    display: flex;
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 18px;
    font-weight: bold;
    height: 238px;
    letter-spacing: 0.25em;
    margin-bottom: 73px;
    padding: 0 59px;
    width: 100%;
  }
  #wrap #main #area14 .group {
    border-bottom: 1px solid #808081;
    border-top: 1px solid #808081;
    height: auto;
  }
  #wrap #main #area14 .group .slick-list {
    padding-right: 92px;
  }
  #wrap #main #area14 .group .block .inner {
    display: flex;
    border-right: 1px solid #808081;
    padding: 43px 59px 59px 0;
  }
  #wrap #main #area14 .group .block .inner .header {
    text-align: center;
    width: 20%;
  }
  #wrap #main #area14 .group .block .inner .header h4 {
    font-family: "VentiCF-Demibold", sans-serif;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0.25em;
    margin: auto auto 119px;
    writing-mode: vertical-rl;
    text-orientation: sideways;
  }
  #wrap #main #area14 .group .block .inner .header .num {
    font-family: "Futura";
    font-weight: 300;
    font-size: 26px;
  }
  #wrap #main #area14 .group .block .inner .desc {
    font-size: 11px;
    letter-spacing: 0.1em;
    line-height: 2.6;
    padding: 0;
    width: 80%;
  }
  #wrap #main #area14 .group .slick-dots {
    bottom: -33px;
  }
  #wrap #main #area14 .group .slick-dots li {
    height: 7px;
    width: 7px;
  }
  #wrap #main #area14 .group.slick-slider {
    margin-bottom: 79px;
  }
  #wrap #main #area15 {
    margin-bottom: 0px;
    height: 260px;
    overflow: hidden;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area16 {
    padding: 0 43px 53px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area16 > .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 26px;
  }
  #wrap #main #area16 > .header h2 {
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 13px;
    display: flex;
    font-weight: bold;
    height: 30px;
    justify-content: center;
    letter-spacing: 0.75em;
    margin: 4px auto 20px 0;
    padding-left: 0.75vw;
    width: 95px;
  }
  #wrap #main #area16 > .header .line {
    background: #000;
    height: 1px;
    margin: 18px 12px auto auto;
    width: 12px;
  }
  #wrap #main #area16 > .header h3 {
    font-family: "VentiCF-Meduim", sans-serif;
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  #wrap #main #area16 > .header h4 {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3em;
    width: 100%;
  }
  #wrap #main #area16 .group .block {
    margin-bottom: 20px;
    position: relative;
  }
  #wrap #main #area16 .group .block .question {
    background-image: url(../images/area16-02@2x.png);
    background-position: right 12px;
    background-repeat: no-repeat;
    background-size: 8px;
    border-bottom: 1px solid #929293;
    cursor: pointer;
    font-size: 13px;
    letter-spacing: 0.18em;
    line-height: 2;
    margin-bottom: 18px;
    padding-bottom: 18px;
  }
  #wrap #main #area16 .group .block .question.open {
    background-image: url(../images/area16-03@2x.png);
  }
  #wrap #main #area16 .group .block .answer {
    display: none;
    margin-bottom: 40px;
    position: relative;
  }
  #wrap #main #area16 .group .block .answer:before {
    background: #000;
    content: "";
    display: block;
    height: 1px;
    left: 4px;
    position: absolute;
    bottom: 3px;
    width: 24px;
  }
  #wrap #main #area16 .group .block .answer .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #wrap #main #area16 .group .block .answer .inner .header {
    font-size: 7px;
    font-weight: bold;
    letter-spacing: 0.25em;
    position: relative;
    padding: 7px 0 0;
    writing-mode: vertical-rl;
    text-orientation: sideways;
  }
  #wrap #main #area16 .group .block .answer .inner .header:before {
    background: #000;
    bottom: 3px;
    content: "";
    display: block;
    height: calc(100% - 53px);
    left: 4px;
    position: absolute;
    width: 1px;
    z-index: -1;
  }
  #wrap #main #area16 .group .block .answer .inner .header:after {
    background: #000;
    content: "";
    display: block;
    height: 1px;
    left: 16px;
    position: absolute;
    top: 12px;
    width: 15px;
  }
  #wrap #main #area16 .group .block .answer .inner .right {
    width: calc(100% - 68px);
  }
  #wrap #main #area16 .group .block .answer .inner .right .desc {
    font-size: 13px;
    letter-spacing: 0.2em;
    line-height: 2.2;
    margin-bottom: 26px;
  }
  #wrap #main #area16 .group .block .answer .inner .right .close {
    cursor: pointer;
    width: 59px;
  }
  #wrap #main #area17 {
    background-color: #aaaaaa;
    max-height: 763px;
    overflow: hidden;
    padding: 86px 0 59px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area17 > .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 43px 23px;
  }
  #wrap #main #area17 > .header h2 {
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 13px;
    display: flex;
    font-weight: bold;
    height: 30px;
    justify-content: center;
    letter-spacing: 0.05em;
    margin: 4px auto 20px 0;
    padding: 0 8px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area17 > .header .line {
    background: #000;
    height: 1px;
    margin: 18px 12px auto auto;
    width: 12px;
  }
  #wrap #main #area17 > .header h3 {
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  #wrap #main #area17 > .header h4 {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3em;
    width: 100%;
  }
  #wrap #main #area18 {
    padding: 86px 0 92px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area18 > .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 43px 43px;
  }
  #wrap #main #area18 > .header h2 {
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 13px;
    display: flex;
    font-weight: bold;
    height: 30px;
    justify-content: center;
    letter-spacing: 0.25em;
    margin: 4px auto 20px 0;
    padding: 0 11px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area18 > .header .line {
    background: #000;
    height: 1px;
    margin: 18px 12px auto auto;
    width: 12px;
  }
  #wrap #main #area18 > .header h3 {
    font-family: "VentiCF-Meduim", sans-serif;
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  #wrap #main #area18 > .header h4 {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2em;
    width: 100%;
  }
  #wrap #main #area18 .group {
    padding: 0 0 0 31px;
  }
  #wrap #main #area18 .group .slick-list {
    padding-right: 0;
  }
  #wrap #main #area18 .group .block {
    padding: 0 12px 46px;
  }
  #wrap #main #area18 .group .block .image {
    padding-bottom: 24px;
  }
  #wrap #main #area18 .group .block .txt .date {
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.25em;
    padding-bottom: 17px;
  }
  #wrap #main #area18 .group .block .txt .title a {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.7;
  }
  #wrap #main #area18 .cart01 {
    padding: 0 0 0 73px;
  }
  #wrap #main #area18 .cart01 li {
    align-items: center;
    display: flex;
    padding-bottom: 10px;
  }
  #wrap #main #area18 .cart01 li a {
    align-items: center;
    background-color: #cacacb;
    border: 1px solid #000;
    color: #000;
    display: flex;
    font-family: "VentiCF-Black", sans-serif;
    font-size: 12px;
    font-weight: 700;
    height: 45px;
    justify-content: center;
    letter-spacing: 0.15em;
    padding: 0 20px;
    width: 254px;
  }
  #wrap #main #area18 .cart01 li .line {
    background: #000;
    display: block;
    height: 1px;
    margin-left: -26px;
    width: 53px;
  }
  #wrap #main #area18 .cart01 li .circle {
    background: #000;
    border-radius: 3px;
    display: block;
    height: 3px;
    width: 3px;
  }
  #wrap #main #area19 {
    padding: 0 0 80px;
    position: relative;
    z-index: 2;
  }
  #wrap #main #area19 > .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 43px 36px;
  }
  #wrap #main #area19 > .header h2 {
    align-items: center;
    background: #000;
    color: #fff;
    font-size: 13px;
    display: flex;
    font-weight: bold;
    height: 30px;
    justify-content: center;
    letter-spacing: 0.15em;
    margin: 4px auto 20px 0;
    padding: 0 11px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area19 > .header .line {
    background: #000;
    height: 1px;
    margin: 18px 12px auto auto;
    width: 12px;
  }
  #wrap #main #area19 > .header h3 {
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  #wrap #main #area19 > .header h4 {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2em;
    white-space: nowrap;
    width: 100%;
  }
  #wrap #main #area19 h5 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.25em;
    padding-bottom: 13px;
    text-align: center;
  }
  #wrap #main #area19 ul {
    display: flex;
    justify-content: center;
    padding-bottom: 33px;
  }
  #wrap #main #area19 ul li {
    margin: 0 10px;
    width: 28px;
  }
  #wrap #main #area20 {
    background-image: url(../images/area20-01@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 777px;
    padding: 79px 33px 46px;
    text-align: center;
  }
  #wrap #main #area20 h2 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 15px;
    font-weight: bold;
    height: 39px;
    letter-spacing: 0.35em;
    padding-bottom: 8px;
  }
  #wrap #main #area20 h3 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 36px;
    font-weight: bold;
    height: 80px;
    letter-spacing: 0.25em;
    padding-bottom: 26px;
  }
  #wrap #main #area20 .desc {
    font-size: 13px;
    letter-spacing: 0.15em;
    line-height: 2.5;
    padding-bottom: 43px;
  }
  #wrap #main #area20 .line01 {
    background: #000;
    height: 33px;
    margin: auto auto 10px;
    width: 1px;
  }
  #wrap #main #area20 h4 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.35em;
    line-height: 1.5;
    padding-bottom: 13px;
  }
  #wrap #main #area20 .num {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 85px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 17px;
  }
  #wrap #main #area20 .salon {
    border-bottom: 1px solid #000;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.35em;
    margin: 0 auto 26px;
    padding: 0 0 2px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area20 .line02 {
    background: #000;
    height: 33px;
    margin: auto auto 10px;
    width: 1px;
  }
  #wrap #main #area21 {
    background: #000;
    color: #fff;
    padding: 73px 0 53px;
  }
  #wrap #main #area21 h2 {
    padding: 0 0 5.6vw 59px;
    width: 54vw;
  }
  #wrap #main #area21 .desc {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 2.1;
    padding: 0 0 56px 56px;
  }
  #wrap #main #area21 .image img {
    width: 100%;
  }
  #wrap #main #area22 {
    background-image: url(../images/area22-03@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 56px 33px 20px;
  }
  #wrap #main #area22 h2 {
    font-size: 19px;
    font-weight: bold;
    height: 102px;
    letter-spacing: 0.25em;
    line-height: 2;
    padding-bottom: 26px;
  }
  #wrap #main #area22 .desc {
    font-size: 13px;
    letter-spacing: 0.15em;
    line-height: 2.5;
    padding-bottom: 73px;
  }
  #wrap #main #area22 .group .block {
    padding-bottom: 46px;
    text-align: center;
  }
  #wrap #main #area22 .group .block h3 {
    font-family: "VentiCF-Extrabold", sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.2em;
    padding: 0 0 12px;
  }
  #wrap #main #area22 .group .block .line {
    background: #000;
    height: 11px;
    margin: 0 auto;
    width: 1px;
  }
  #wrap #main #area22 .group .block .inner {
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid #000;
    padding-bottom: 33px;
  }
  #wrap #main #area22 .group .block .inner h4 {
    font-size: 15px;
    letter-spacing: 0.15em;
    padding: 20px 7px;
  }
  #wrap #main #area22 .group .block .inner .desc {
    font-size: 11px;
    letter-spacing: 0.15em;
    line-height: 2;
    padding: 30px 7px 20px;
  }
  #wrap #main #area22 .group .block .inner .link a {
    display: block;
    margin: auto;
    width: 50vw;
  }
  #wrap #main #area22 .group .block.block02 .inner h4 {
    background-color: #cfcfd0;
  }
  #wrap #main #area23 {
    background-color: #e0e0e1;
    border: 18px solid #fff;
    padding: 38px 18px 20px;
  }
  #wrap #main #area23 .image {
    margin: auto;
    padding-bottom: 5px;
    text-align: center;
    width: 31px;
  }
  #wrap #main #area23 h2 {
    font-family: "VentiCF-Black", sans-serif;
    font-size: 12px;
    font-weight: bold;
    padding-bottom: 13px;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #wrap #main #area23 h3 {
    border-bottom: 1px solid #000;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin: 0 auto 23px;
    padding-bottom: 3px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #wrap #main #area23 .desc {
    font-size: 11px;
    letter-spacing: 0.15em;
    line-height: 1.45;
    padding-bottom: 13px;
  }
  #wrap #main #area23 .back a {
    display: block;
    margin: auto;
    width: 63px;
  }
}
@media screen and (min-width: 768px) {
  #main .side-btn {
    margin: 0 auto;
    width: 50px;
    position: fixed;
    bottom: 0;
    right: calc(50% - 300px);
    z-index: 20;
  }
  #main .side-btn ul {
    width: 100%;
    margin: auto 0 0 auto;
    height: -moz-fit-content;
    height: fit-content;
  }
}
#wrap #main .wrap01 {
  position: relative;
}
#wrap #main .wrap01 .bg {
  top: 50%;
  left: 50%;
  position: fixed;
  width: 600px;
  height: 100vh;
  margin-top: -50vh;
  margin-left: -300px;
  z-index: 0;
}

.js-area08 {
  background-image: url(../images/area08-19@2x.jpg?1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.js-area08 .js-wrap {
  background-color: #aaa;
}
.js-area08 .js-wrap .js-sticky {
  position: sticky;
  top: 0;
}
.js-area08 .js-wrap .js-sticky.image07 {
  background-color: #aaa !important;
  background-image: none !important;
  color: #000 !important;
  display: flex;
  height: auto !important;
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .inner {
  align-items: center;
  background-color: #aaa;
  display: flex;
  height: 100vh !important;
  height: 100lvh !important;
  justify-content: center;
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .point {
  background-color: #aaa;
  justify-content: center;
  padding: 0 50px;
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage {
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active {
  /***************************************************
  * Generated by SVG Artista on 5/14/2025, 1:27:35 AM
  * MIT license (https://opensource.org/licenses/MIT)
  * W. https://svgartista.net
  **************************************************/
}
@keyframes animate-svg-stroke-ab-1 {
  0% {
    stroke-dashoffset: 587.7185343353px;
    stroke-dasharray: 587.7185343353px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 587.7185343353px;
  }
}
@keyframes animate-svg-fill-ab-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-1 {
  animation: animate-svg-stroke-ab-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-ab-1 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both;
}
@keyframes animate-svg-stroke-ab-2 {
  0% {
    stroke-dashoffset: 202.3103027344px;
    stroke-dasharray: 202.3103027344px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 202.3103027344px;
  }
}
@keyframes animate-svg-fill-ab-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-2 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-3 {
  0% {
    stroke-dashoffset: 69.9723205566px;
    stroke-dasharray: 69.9723205566px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 69.9723205566px;
  }
}
@keyframes animate-svg-fill-ab-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-3 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-4 {
  0% {
    stroke-dashoffset: 151.7821350098px;
    stroke-dasharray: 151.7821350098px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 151.7821350098px;
  }
}
@keyframes animate-svg-fill-ab-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-4 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-5 {
  0% {
    stroke-dashoffset: 79.057762146px;
    stroke-dasharray: 79.057762146px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.057762146px;
  }
}
@keyframes animate-svg-fill-ab-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-5 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-6 {
  0% {
    stroke-dashoffset: 94.1002807617px;
    stroke-dasharray: 94.1002807617px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 94.1002807617px;
  }
}
@keyframes animate-svg-fill-ab-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-6 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-7 {
  0% {
    stroke-dashoffset: 89.8487701416px;
    stroke-dasharray: 89.8487701416px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 89.8487701416px;
  }
}
@keyframes animate-svg-fill-ab-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-7 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-8 {
  0% {
    stroke-dashoffset: 39.9116210938px;
    stroke-dasharray: 39.9116210938px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 39.9116210938px;
  }
}
@keyframes animate-svg-fill-ab-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-8 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-9 {
  0% {
    stroke-dashoffset: 100.1572952271px;
    stroke-dasharray: 100.1572952271px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 100.1572952271px;
  }
}
@keyframes animate-svg-fill-ab-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-9 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-10 {
  0% {
    stroke-dashoffset: 92.0953521729px;
    stroke-dasharray: 92.0953521729px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 92.0953521729px;
  }
}
@keyframes animate-svg-fill-ab-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-10 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-11 {
  0% {
    stroke-dashoffset: 39.9116210938px;
    stroke-dasharray: 39.9116210938px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 39.9116210938px;
  }
}
@keyframes animate-svg-fill-ab-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-11 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-12 {
  0% {
    stroke-dashoffset: 79.1023254395px;
    stroke-dasharray: 79.1023254395px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 79.1023254395px;
  }
}
@keyframes animate-svg-fill-ab-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-12 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-13 {
  0% {
    stroke-dashoffset: 30.6097164154px;
    stroke-dasharray: 30.6097164154px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 30.6097164154px;
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-13 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-14 {
  0% {
    stroke-dashoffset: 587.7185343353px;
    stroke-dasharray: 587.7185343353px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 587.7185343353px;
  }
}
@keyframes animate-svg-fill-ab-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-14 {
  animation: animate-svg-stroke-ab-14 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.26s both, animate-svg-fill-ab-14 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
}
@keyframes animate-svg-stroke-ab-15 {
  0% {
    stroke-dashoffset: 24.4938033997px;
    stroke-dasharray: 24.4938033997px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 24.4938033997px;
  }
}
@keyframes animate-svg-fill-ab-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-15 {
  animation: animate-svg-stroke-ab-15 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.28s both, animate-svg-fill-ab-15 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}
@keyframes animate-svg-stroke-ab-16 {
  0% {
    stroke-dashoffset: 66.9940795898px;
    stroke-dasharray: 66.9940795898px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 66.9940795898px;
  }
}
@keyframes animate-svg-fill-ab-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-16 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-17 {
  0% {
    stroke-dashoffset: 49.7075309753px;
    stroke-dasharray: 49.7075309753px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 49.7075309753px;
  }
}
@keyframes animate-svg-fill-ab-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-17 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-18 {
  0% {
    stroke-dashoffset: 84.1540603638px;
    stroke-dasharray: 84.1540603638px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 84.1540603638px;
  }
}
@keyframes animate-svg-fill-ab-18 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-18 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-19 {
  0% {
    stroke-dashoffset: 49.416557312px;
    stroke-dasharray: 49.416557312px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 49.416557312px;
  }
}
@keyframes animate-svg-fill-ab-19 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-19 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-20 {
  0% {
    stroke-dashoffset: 83.2426376343px;
    stroke-dasharray: 83.2426376343px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 83.2426376343px;
  }
}
@keyframes animate-svg-fill-ab-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-20 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-21 {
  0% {
    stroke-dashoffset: 67.3466033936px;
    stroke-dasharray: 67.3466033936px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 67.3466033936px;
  }
}
@keyframes animate-svg-fill-ab-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-21 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-22 {
  0% {
    stroke-dashoffset: 71.6196289063px;
    stroke-dasharray: 71.6196289063px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 71.6196289063px;
  }
}
@keyframes animate-svg-fill-ab-22 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-22 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-23 {
  0% {
    stroke-dashoffset: 75.8834381104px;
    stroke-dasharray: 75.8834381104px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 75.8834381104px;
  }
}
@keyframes animate-svg-fill-ab-23 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-23 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-24 {
  0% {
    stroke-dashoffset: 73.267616272px;
    stroke-dasharray: 73.267616272px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 73.267616272px;
  }
}
@keyframes animate-svg-fill-ab-24 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-24 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-25 {
  0% {
    stroke-dashoffset: 93.8764801025px;
    stroke-dasharray: 93.8764801025px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 93.8764801025px;
  }
}
@keyframes animate-svg-fill-ab-25 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-25 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-26 {
  0% {
    stroke-dashoffset: 215.097442627px;
    stroke-dasharray: 215.097442627px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 215.097442627px;
  }
}
@keyframes animate-svg-fill-ab-26 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-26 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-27 {
  0% {
    stroke-dashoffset: 111.1028366089px;
    stroke-dasharray: 111.1028366089px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 111.1028366089px;
  }
}
@keyframes animate-svg-fill-ab-27 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-27 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-28 {
  0% {
    stroke-dashoffset: 72.6121826172px;
    stroke-dasharray: 72.6121826172px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 72.6121826172px;
  }
}
@keyframes animate-svg-fill-ab-28 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-28 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-29 {
  0% {
    stroke-dashoffset: 39.9116210938px;
    stroke-dasharray: 39.9116210938px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 39.9116210938px;
  }
}
@keyframes animate-svg-fill-ab-29 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-29 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-30 {
  0% {
    stroke-dashoffset: 95.6925735474px;
    stroke-dasharray: 95.6925735474px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.6925735474px;
  }
}
@keyframes animate-svg-fill-ab-30 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-30 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-31 {
  0% {
    stroke-dashoffset: 95.8999938965px;
    stroke-dasharray: 95.8999938965px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 95.8999938965px;
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-31 {
  animation: animate-svg-stroke-ab-31 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-ab-31 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
}
@keyframes animate-svg-stroke-ab-32 {
  0% {
    stroke-dashoffset: 587.7185343353px;
    stroke-dasharray: 587.7185343353px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 587.7185343353px;
  }
}
@keyframes animate-svg-fill-ab-32 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-32 {
  animation: animate-svg-stroke-ab-32 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.62s both, animate-svg-fill-ab-32 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s both;
}
@keyframes animate-svg-stroke-ab-33 {
  0% {
    stroke-dashoffset: 24.4938033997px;
    stroke-dasharray: 24.4938033997px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 24.4938033997px;
  }
}
@keyframes animate-svg-fill-ab-33 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-33 {
  animation: animate-svg-stroke-ab-33 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.64s both, animate-svg-fill-ab-33 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s both;
}
@keyframes animate-svg-stroke-ab-34 {
  0% {
    stroke-dashoffset: 198.0899658203px;
    stroke-dasharray: 198.0899658203px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 198.0899658203px;
  }
}
@keyframes animate-svg-fill-ab-34 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-34 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-35 {
  0% {
    stroke-dashoffset: 119.8392562866px;
    stroke-dasharray: 119.8392562866px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 119.8392562866px;
  }
}
@keyframes animate-svg-fill-ab-35 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-35 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-36 {
  0% {
    stroke-dashoffset: 216.6946716309px;
    stroke-dasharray: 216.6946716309px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 216.6946716309px;
  }
}
@keyframes animate-svg-fill-ab-36 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-36 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-37 {
  0% {
    stroke-dashoffset: 178.7125396729px;
    stroke-dasharray: 178.7125396729px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 178.7125396729px;
  }
}
@keyframes animate-svg-fill-ab-37 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-37 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-38 {
  0% {
    stroke-dashoffset: 213.54347229px;
    stroke-dasharray: 213.54347229px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 213.54347229px;
  }
}
@keyframes animate-svg-fill-ab-38 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-38 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-39 {
  0% {
    stroke-dashoffset: 224.5898895264px;
    stroke-dasharray: 224.5898895264px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 224.5898895264px;
  }
}
@keyframes animate-svg-fill-ab-39 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-39 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-40 {
  0% {
    stroke-dashoffset: 222.9140472412px;
    stroke-dasharray: 222.9140472412px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 222.9140472412px;
  }
}
@keyframes animate-svg-fill-ab-40 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-40 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-41 {
  0% {
    stroke-dashoffset: 36.862953186px;
    stroke-dasharray: 36.862953186px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 36.862953186px;
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-41 {
  animation: animate-svg-stroke-ab-41 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both, animate-svg-fill-ab-41 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
}
@keyframes animate-svg-stroke-ab-42 {
  0% {
    stroke-dashoffset: 587.7185343353px;
    stroke-dasharray: 587.7185343353px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 587.7185343353px;
  }
}
@keyframes animate-svg-fill-ab-42 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-42 {
  animation: animate-svg-stroke-ab-42 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.82s both, animate-svg-fill-ab-42 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
}
@keyframes animate-svg-stroke-ab-43 {
  0% {
    stroke-dashoffset: 24.4938033997px;
    stroke-dasharray: 24.4938033997px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 24.4938033997px;
  }
}
@keyframes animate-svg-fill-ab-43 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(170, 170, 170);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-43 {
  animation: animate-svg-stroke-ab-43 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill-ab-43 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both;
}
@keyframes animate-svg-stroke-ab-44 {
  0% {
    stroke-dashoffset: 134.9196929932px;
    stroke-dasharray: 134.9196929932px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 134.9196929932px;
  }
}
@keyframes animate-svg-fill-ab-44 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-44 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-45 {
  0% {
    stroke-dashoffset: 204.6320953369px;
    stroke-dasharray: 204.6320953369px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 204.6320953369px;
  }
}
@keyframes animate-svg-fill-ab-45 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-45 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-46 {
  0% {
    stroke-dashoffset: 75.8834533691px;
    stroke-dasharray: 75.8834533691px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 75.8834533691px;
  }
}
@keyframes animate-svg-fill-ab-46 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-46 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-47 {
  0% {
    stroke-dashoffset: 73.2676086426px;
    stroke-dasharray: 73.2676086426px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 73.2676086426px;
  }
}
@keyframes animate-svg-fill-ab-47 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-47 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-48 {
  0% {
    stroke-dashoffset: 93.8764877319px;
    stroke-dasharray: 93.8764877319px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 93.8764877319px;
  }
}
@keyframes animate-svg-fill-ab-48 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-48 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-49 {
  0% {
    stroke-dashoffset: 234.3325042725px;
    stroke-dasharray: 234.3325042725px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 234.3325042725px;
  }
}
@keyframes animate-svg-fill-ab-49 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-49 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-50 {
  0% {
    stroke-dashoffset: 217.0447235107px;
    stroke-dasharray: 217.0447235107px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 217.0447235107px;
  }
}
@keyframes animate-svg-fill-ab-50 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-50 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-51 {
  0% {
    stroke-dashoffset: 102.0511169434px;
    stroke-dasharray: 102.0511169434px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 102.0511169434px;
  }
}
@keyframes animate-svg-fill-ab-51 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-51 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-52 {
  0% {
    stroke-dashoffset: 173.9633178711px;
    stroke-dasharray: 173.9633178711px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 173.9633178711px;
  }
}
@keyframes animate-svg-fill-ab-52 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-52 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-53 {
  0% {
    stroke-dashoffset: 120.1650772095px;
    stroke-dasharray: 120.1650772095px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 120.1650772095px;
  }
}
@keyframes animate-svg-fill-ab-53 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-53 {
  fill: rgb(35, 24, 21);
}
@keyframes animate-svg-stroke-ab-54 {
  0% {
    stroke-dashoffset: 106.5px;
    stroke-dasharray: 106.5px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 106.5px;
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-54 {
  animation: animate-svg-stroke-ab-54 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.06s both, animate-svg-fill-ab-54 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 5.4s both;
}
@keyframes animate-svg-stroke-ab-55 {
  0% {
    stroke-dashoffset: 33.0389354175px;
    stroke-dasharray: 33.0389354175px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 33.0389354175px;
  }
}
@keyframes animate-svg-fill-ab-55 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(35, 24, 21);
  }
}
.js-area08 .js-wrap .js-sticky.image07 .point .pointimage.active .svg-elem11-55 {
  animation: animate-svg-stroke-ab-55 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both, animate-svg-fill-ab-55 0.1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}
.js-area08 .js-wrap .js-sticky.image07 .point .arrow {
  margin: 0 auto 30px;
  width: 7px;
  display: none;
}
.js-area08 .js-wrap .js-sticky.image07 .point > .desc {
  font-size: 20px;
  letter-spacing: 0.21em;
  padding: 30px 0;
  text-align: center;
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .point ul {
  width: 100%;
}
.js-area08 .js-wrap .js-sticky.image07 .point ul li {
  align-items: center;
  background-image: url(../images/area07-07@2x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  font-size: 23px;
  font-weight: bold;
  height: 57px;
  justify-content: center;
  letter-spacing: 0.45em;
  margin: 0 auto 13px;
  text-align: center;
  width: 326px;
}
.js-area08 .js-wrap .js-sticky.image07:after {
  display: none !important;
}

@media screen and (max-width: 767px) {
  #wrap #main .wrap01 {
    position: relative;
  }
  #wrap #main .wrap01:before {
    content: "";
    background-image: url(../images/bg03@2x.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100lvh;
    z-index: 1;
  }
  #wrap #main .wrap01 .fiximg {
    display: none;
    height: 100vh;
    height: 100lvh;
    position: fixed;
    clip-path: inset(0);
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1;
  }
  #wrap #main .wrap01 .fiximg img {
    -o-object-fit: cover;
       object-fit: cover;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  #wrap #main .wrap01 .fiximg {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .detail {
    color: #000 !important;
  }
  .detail .u-text--body {
    color: #000 !important;
  }
  .detail #main #area51 {
    aspect-ratio: 600/468;
    background-image: url(../images/area51-02@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #000;
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1.7;
    padding: 52px 0 0 52px;
    text-align: center;
  }
  .detail #main #area51 h2 {
    margin: auto;
    width: 39%;
  }
  .detail #main #area52 {
    background-image: url(../images/area52-01@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 59px 40px 0;
  }
  .detail #main #area52 h3 {
    font-size: 16px;
    letter-spacing: 0.25em;
    margin: 0 auto 23px;
    text-align: center;
  }
  .detail #main #area52 h4 {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.35em;
    line-height: 1.6;
    margin: 0 auto 40px;
    text-align: center;
  }
  .detail #main #area52 .line {
    background: #000;
    height: 1px;
    margin: 0 auto 40px;
    width: 60px;
  }
  .detail #main #area52 > .desc01 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 2.1;
    margin: 0 auto 23px;
    text-align: center;
    white-space: nowrap;
  }
  .detail #main #area52 .desc02 {
    font-size: 13px;
    letter-spacing: 0.25em;
    margin: 0 auto 63px;
    text-align: center;
    white-space: nowrap;
  }
  .detail #main #area52 .label {
    align-items: center;
    background: #000;
    border-radius: 29px;
    color: #fff;
    display: flex;
    font-family: "VentiCF-Medium", sans-serif;
    font-size: 12px;
    height: 29px;
    justify-content: center;
    letter-spacing: 0.15em;
    line-height: 1;
    margin: 0 auto 42px;
    width: 100%;
  }
  .detail #main #area52 .block h5 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 26px;
    text-align: center;
  }
  .detail #main #area52 .block .image01 {
    margin: 0 auto 32px;
    text-align: center;
  }
  .detail #main #area52 .block .desc {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.15em;
    line-height: 2.1;
    text-align: center;
    position: relative;
  }
  .detail #main #area52 .block .desc span {
    border-bottom: 4px solid #fff;
    display: inline-block;
    line-height: 0.8;
  }
  .detail #main #area52 .block .desc.desc01 {
    margin: 0 auto 37px;
  }
  .detail #main #area52 .block .image02 {
    margin: 0 auto 37px;
    text-align: center;
    width: 90%;
  }
  .detail #main #area52 .block .desc02 {
    margin: 0 auto 27px;
  }
  .detail #main #area52 .block .point {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 59px;
  }
  .detail #main #area52 .block .point li {
    align-items: center;
    aspect-ratio: 1/1;
    background-color: #d9d9da;
    border-radius: 90px;
    display: flex;
    font-size: 13px;
    font-weight: bold;
    justify-content: center;
    letter-spacing: 0.2em;
    line-height: 1.4;
    margin: 0 1px 3px;
    text-align: center;
    width: 32%;
  }
  .detail #main #area52 .block.block01 {
    position: relative;
  }
  .detail #main #area52 .block.block01:after {
    background: #000;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    margin: 60px auto 52px;
    position: relative;
    width: 61vw;
  }
  .detail #main #area52 .block.block02 {
    padding-bottom: 45px;
  }
  .detail #main #area52 .block.block02 h5 {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.25em;
    margin: 0 auto 8px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 h6 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 24px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 .image {
    margin: 0 auto 45px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 .desc01 {
    margin: 0 auto 32px;
  }
  .detail #main #area52 .block.block02 .image01 {
    margin: 0 auto 32px;
    text-align: center;
    width: 65%;
  }
  .detail #main #area53 {
    padding: 78px 9.1% 50px;
  }
  .detail #main #area53 .block .label {
    align-items: center;
    background: #000;
    border-radius: 29px;
    color: #fff;
    display: flex;
    font-family: "VentiCF-Medium", sans-serif;
    font-size: 12px;
    height: 29px;
    justify-content: center;
    letter-spacing: 0.15em;
    line-height: 1;
    margin: 0 auto 38px;
    width: 100%;
  }
  .detail #main #area53 .block h3 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 38px;
    text-align: center;
  }
  .detail #main #area53 .block .image01 {
    margin: 0 auto 50px;
    text-align: center;
  }
  .detail #main #area53 .block h4 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: 0 auto 23px;
    text-align: center;
  }
  .detail #main #area53 .block .desc {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.15em;
    line-height: 2.1;
    text-align: center;
    position: relative;
    white-space: nowrap;
  }
  .detail #main #area53 .block .desc span {
    border-bottom: 5px solid #d9d9da;
    display: inline-block;
    line-height: 0.8;
  }
  .detail #main #area53 .block .desc.desc01 {
    margin: 0 auto 46px;
  }
  .detail #main #area53 .block .image02 {
    margin: 0 auto 50px;
    text-align: center;
  }
  .detail #main #area53 .block .catch {
    align-items: center;
    border: 1px solid #000;
    display: flex;
    font-size: 13px;
    font-weight: 500;
    height: 49px;
    justify-content: center;
    letter-spacing: 0.075em;
    margin: 0 auto 11px;
    width: 100%;
  }
  .detail #main #area53 .block .desc02 {
    margin: 0 auto 65px;
  }
  .detail #main #area53 .block.block02 h3 {
    font-size: 19px;
    font-weight: bold;
    text-align: center;
  }
  .detail #main #area53 .block.block02 .label {
    margin: 0 auto 52px;
  }
  .detail #main #area54 {
    background-color: #b6b6b6;
    padding: 0 38px;
  }
  .detail #main #area54 .block {
    align-items: center;
    display: flex;
    margin: 0 auto;
    padding: 51px 0;
  }
  .detail #main #area54 .block .header {
    width: 36%;
  }
  .detail #main #area54 .block .header h4 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 5px;
  }
  .detail #main #area54 .block .header h5 {
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  .detail #main #area54 .block .contents {
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 2.3;
    white-space: nowrap;
    width: 64%;
  }
  .detail #main #area54 .block .contents dl {
    display: flex;
    width: 100%;
  }
  .detail #main #area54 .block .contents dl dt {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    width: 38%;
  }
  .detail #main #area54 .block .contents dl dd {
    font-size: 12px;
    letter-spacing: 0.05em;
    width: 62%;
  }
  .detail #main #area54 .block.block01 {
    border-bottom: 1px solid #000;
  }
  .detail #main #area54 .block.block02 {
    border-bottom: 1px solid #000;
  }
  .detail #main #area09 {
    background-color: #fff !important;
    padding: 70px 15px 35px !important;
  }
  .detail #main #area09 .inner {
    border: 1px solid #000;
  }
  .detail #main #area09 .inner .image {
    width: 100%;
  }
  .detail #main #area09 .inner .image img {
    width: 100%;
  }
  .detail #main .back a {
    align-items: center;
    background-color: #e1e2e4;
    display: flex;
    font-size: 15px;
    font-weight: bold;
    height: 60px;
    justify-content: center;
    letter-spacing: 0.25em;
    margin: 0 auto 50px;
    width: 69%;
  }
  .detail #main .back a span {
    font-size: 12px;
    margin-right: 12px;
  }
  .detail #main .back a:hover {
    background: #000;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .detail {
    color: #000 !important;
  }
  .detail .u-text--body {
    color: #000 !important;
  }
  .detail #main #area51 {
    aspect-ratio: 600/468;
    background-image: url(../images/area51-02@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #000;
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 31px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1.3;
    padding: 80px 0 0 0;
    text-align: center;
  }
  .detail #main #area51 h2.catch {
    margin: auto;
    width: 39%;
  }
  .detail #main #area52 {
    background-image: url(../images/area52-01@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 50px 0;
  }
  .detail #main #area52 h3 {
    font-size: 25px;
    letter-spacing: 0.25em;
    margin: 0 auto 30px;
    text-align: center;
  }
  .detail #main #area52 h4 {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: 0.35em;
    line-height: 1.6;
    margin: 0 auto 56px;
    text-align: center;
  }
  .detail #main #area52 .line {
    background: #000;
    height: 1px;
    margin: 0 auto 56px;
    width: 91px;
  }
  .detail #main #area52 > .desc01 {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.35em;
    line-height: 2.1;
    margin: 0 auto 34px;
    text-align: center;
  }
  .detail #main #area52 .desc02 {
    font-size: 21px;
    letter-spacing: 0.3em;
    margin: 0 auto 90px;
    text-align: center;
  }
  .detail #main #area52 .label {
    align-items: center;
    background: #000;
    border-radius: 44px;
    color: #fff;
    display: flex;
    font-family: "VentiCF-Medium", sans-serif;
    font-size: 20px;
    height: 44px;
    justify-content: center;
    letter-spacing: 0.15em;
    margin: 0 auto 60px;
    width: 460px;
  }
  .detail #main #area52 .block h5 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 38px;
    text-align: center;
  }
  .detail #main #area52 .block .image01 {
    margin: 0 auto 48px;
    text-align: center;
  }
  .detail #main #area52 .block .desc {
    font-size: 19px;
    font-weight: 300;
    letter-spacing: 0.15em;
    line-height: 2.1;
    text-align: center;
    position: relative;
  }
  .detail #main #area52 .block .desc span {
    border-bottom: 7px solid #fff;
    display: inline-block;
    line-height: 0.8;
  }
  .detail #main #area52 .block .desc.desc01 {
    margin: 0 auto 55px;
  }
  .detail #main #area52 .block .image02 {
    margin: 0 auto 55px;
    text-align: center;
  }
  .detail #main #area52 .block .desc02 {
    margin: 0 auto 40px;
  }
  .detail #main #area52 .block .point {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 85px;
  }
  .detail #main #area52 .block .point li {
    align-items: center;
    background-color: #d9d9da;
    border-radius: 141px;
    display: flex;
    font-size: 20px;
    font-weight: bold;
    height: 141px;
    justify-content: center;
    letter-spacing: 0.2em;
    line-height: 1.4;
    margin: 0 12px 6px;
    text-align: center;
    width: 141px;
  }
  .detail #main #area52 .block.block01 {
    position: relative;
  }
  .detail #main #area52 .block.block01:after {
    background: #000;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    margin: 88px auto 76px;
    position: relative;
    width: 366px;
  }
  .detail #main #area52 .block.block02 {
    padding-bottom: 148px;
  }
  .detail #main #area52 .block.block02 h5 {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.25em;
    margin: 0 auto 12px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 h6 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 36px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 .image {
    margin: 0 auto 66px;
    text-align: center;
  }
  .detail #main #area52 .block.block02 .desc01 {
    margin: 0 auto 48px;
  }
  .detail #main #area52 .block.block02 .image01 {
    margin: 0 auto 48px;
    text-align: center;
    width: 53%;
  }
  .detail #main #area53 {
    padding: 120px 0 90px;
  }
  .detail #main #area53 .block .label {
    align-items: center;
    background: #000;
    border-radius: 44px;
    color: #fff;
    display: flex;
    font-family: "VentiCF-Medium", sans-serif;
    font-size: 20px;
    height: 44px;
    justify-content: center;
    letter-spacing: 0.15em;
    margin: 0 auto 50px;
    width: 460px;
  }
  .detail #main #area53 .block h3 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.18em;
    margin: 0 auto 50px;
    text-align: center;
  }
  .detail #main #area53 .block .image01 {
    margin: 0 auto 65px;
    text-align: center;
  }
  .detail #main #area53 .block h4 {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: 0 auto 30px;
    text-align: center;
  }
  .detail #main #area53 .block .desc {
    font-size: 19px;
    font-weight: 300;
    letter-spacing: 0.15em;
    line-height: 2.1;
    text-align: center;
    position: relative;
  }
  .detail #main #area53 .block .desc span {
    border-bottom: 7px solid #d9d9da;
    display: inline-block;
    line-height: 0.8;
  }
  .detail #main #area53 .block .desc.desc01 {
    margin: 0 auto 60px;
  }
  .detail #main #area53 .block .image02 {
    margin: 0 auto 66px;
    text-align: center;
  }
  .detail #main #area53 .block .catch {
    align-items: center;
    border: 1px solid #000;
    display: flex;
    font-size: 20px;
    font-weight: 500;
    height: 64px;
    justify-content: center;
    letter-spacing: 0.075em;
    margin: 0 auto 15px;
    width: 450px;
  }
  .detail #main #area53 .block .desc02 {
    margin: 0 auto 85px;
  }
  .detail #main #area53 .block.block02 h3 {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
  }
  .detail #main #area54 {
    background-color: #b6b6b6;
    padding: 0 50px;
  }
  .detail #main #area54 .block {
    align-items: center;
    display: flex;
    margin: 0 auto;
    padding: 67px 0;
  }
  .detail #main #area54 .block .header {
    width: 36%;
  }
  .detail #main #area54 .block .header h4 {
    font-family: "VentiCF-Bold", sans-serif;
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 7px;
  }
  .detail #main #area54 .block .header h5 {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
  .detail #main #area54 .block .contents {
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2.3;
    width: 64%;
  }
  .detail #main #area54 .block .contents dl {
    display: flex;
    width: 100%;
  }
  .detail #main #area54 .block .contents dl dt {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    width: 36%;
  }
  .detail #main #area54 .block .contents dl dd {
    font-size: 18px;
    letter-spacing: 0.05em;
    width: 64%;
  }
  .detail #main #area54 .block.block01 {
    border-bottom: 1px solid #000;
  }
  .detail #main #area54 .block.block02 {
    border-bottom: 1px solid #000;
  }
  .detail #main #area09 {
    background-color: #fff !important;
    padding: 120px 0 60px !important;
  }
  .detail #main #area09 .inner {
    border: 1px solid #000;
  }
  .detail #main #area09 .inner .image {
    width: 100%;
  }
  .detail #main #area09 .inner .image img {
    width: 100%;
  }
  .detail #main .back a {
    align-items: center;
    background-color: #e1e2e4;
    display: flex;
    font-size: 20px;
    font-weight: bold;
    height: 78px;
    justify-content: center;
    letter-spacing: 0.25em;
    margin: 0 auto 65px;
    width: 420px;
  }
  .detail #main .back a span {
    font-size: 16px;
    margin-right: 16px;
  }
  .detail #main .back a:hover {
    background: #000;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  #area15 {
    max-height: 228px;
    overflow: hidden;
  }
  #area17 {
    max-height: 884px;
    overflow: hidden;
  }
}/*# sourceMappingURL=style12.css.map */