@charset "UTF-8";
.section_head span {
  display: block;
}
.section_head_en {
  font-family: var(--en_sans);
  font-weight: semib;
}
.section_head_ja picture,
.section_head_ja img {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .section_block {
    padding-inline: clamp(0px, 3.513909224011713vw, 48px);
  }
  .section_head_en {
    font-size: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    margin-bottom: clamp(0px, 2.342606149341142vw, 32px);
  }
}
@media screen and (max-width: 768px) {
  .section_block {
    padding-inline: clamp(0px, 5.333333333333334vw, 20px);
  }
  .section_head_en {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    margin-bottom: clamp(0px, 8.533333333333333vw, 32px);
  }
}
.top {
  border-bottom: 1px solid;
}
.top_logo {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
}
.top_logo_img {
  display: block;
  aspect-ratio: 664/751;
}
.top_logo_img img {
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media screen and (min-width: 769px) {
  .top_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-align: start;
    -moz-box-align: start;
    -o-box-align: start;
    -ms-flex-align: start;
  }
  .top_logo,
  .top_fv {
    height: 100vh;
  }
  .top_logo {
    position: sticky;
    top: 0;
    width: clamp(0px, 33.67496339677892vw, 460px);
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    border-right: 1px solid;
  }
  .top_logo_img {
    max-width: clamp(0px, 24.30453879941435vw, 332px);
    max-height: 90%;
  }
  .top_content {
    width: 100%;
  }
  .top_lead {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: clamp(0px, 46.85212298682284vw, 640px);
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    border-top: 1px solid;
  }
  .top_lead_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -o-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -o-box-orient: horizontal;
  }
  .top_lead_head {
    width: clamp(0px, 7.833089311859444vw, 107px);
    height: clamp(0px, 35.13909224011713vw, 480px);
    margin-left: clamp(0px, 3.806734992679356vw, 52px);
  }
  .top_lead_content {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    font-size: clamp(0.625rem, 1.317715959004393vw, 1.125rem);
    line-height: clamp(0.625rem, 3.074670571010249vw, 2.625rem);
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -o-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -o-box-orient: horizontal;
  }
  .top_lead_content p {
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
  }
  .top_lead_content p +p {
    margin-right: 1em;
  }
}
@media screen and (max-width: 768px) {
  .top_logo {
    padding-block: clamp(0px, 14.933333333333335vw, 56px) clamp(0px, 10.666666666666668vw, 40px);
  }
  .top_logo_img {
    width: clamp(0px, 56.53333333333334vw, 212px);
  }
  .top_fv {
    height: clamp(0px, 104vw, 390px);
  }
  .top_lead {
    padding: clamp(0px, 21.333333333333336vw, 80px) clamp(0px, 5.333333333333334vw, 20px);
  }
  .top_lead_head {
    width: clamp(0px, 61.6vw, 231px);
    margin-bottom: clamp(0px, 11.200000000000001vw, 42px);
  }
  .top_lead_content {
    font-size: clamp(0.625rem, 4.266666666666667vw, 1rem);
    line-height: clamp(0.625rem, 8vw, 1.875rem);
  }
  .top_lead_content p {
    letter-spacing: 0.05em;
  }
  .top_lead_content p +p {
    margin-top: 1em;
  }
}
.fv {
  position: relative;
  background-size: auto 100%;
  background-position: center;
  overflow: hidden;
}
.fv_canvas {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  aspect-ratio: 906/768;
  translate: -50% 0;
}
.fv_part {
  position: absolute;
  -webkit-animation-duration: 5s;
  -moz-animation-duration: 5s;
  -o-animation-duration: 5s;
  -ms-animation-duration: 5s;
  animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.fv_part,
.fv_part img {
  will-change: rotate, translate;
}
.fv_part img {
  display: block;
  -webkit-transition-property: rotate, translate;
  -moz-transition-property: rotate, translate;
  -o-transition-property: rotate, translate;
  -ms-transition-property: rotate, translate;
  transition-property: rotate, translate;
  -webkit-transition-duration: 1s;
  -moz-transition-duration: 1s;
  -o-transition-duration: 1s;
  -ms-transition-duration: 1s;
  transition-duration: 1s;
}
.fv_picture {
  top: calc((85 / 768) * 100%);
  left: calc((-14 / 906) * 100%);
  width: calc((224 / 906) * 100%);
}
.fv_plant {
  top: calc((208 / 768) * 100%);
  left: calc((731 / 906) * 100%);
  width: calc((182 / 906) * 100%);
}
.fv_tableleg {
  top: calc((421 / 768) * 100%);
  left: calc((385 / 906) * 100%);
  width: calc((106 / 906) * 100%);
}
.fv_left {
  top: calc((150 / 768) * 100%);
  left: calc((164 / 906) * 100%);
  width: calc((253 / 906) * 100%);
}
.fv_left:hover img {
  rotate: 4deg;
}
.fv_right {
  top: calc((158 / 768) * 100%);
  left: calc((476 / 906) * 100%);
  width: calc((246 / 906) * 100%);
}
.fv_right:hover img {
  rotate: -4deg;
}
.fv_tabletop {
  top: calc((335 / 768) * 100%);
  left: calc((302 / 906) * 100%);
  width: calc((270 / 906) * 100%);
}
.fv_light {
  top: calc((0 / 768) * 100%);
  left: calc((343 / 906) * 100%);
  width: calc((189 / 906) * 100%);
}
.fv_picture,
.fv_plant,
.fv_left,
.fv_right,
.fv_light {
  -webkit-animation-name: fv_rotate;
  -moz-animation-name: fv_rotate;
  -o-animation-name: fv_rotate;
  -ms-animation-name: fv_rotate;
  animation-name: fv_rotate;
}
.fv_tabletop {
  -webkit-animation-name: fv_hop;
  -moz-animation-name: fv_hop;
  -o-animation-name: fv_hop;
  -ms-animation-name: fv_hop;
  animation-name: fv_hop;
}
.fv_left,
.fv_right,
.fv_plant,
.fv_left img,
.fv_right img,
.fv_plant img {
  -webkit-transform-origin: bottom;
  -moz-transform-origin: bottom;
  -o-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
}
.fv_plant,
.fv_right {
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  -o-animation-direction: reverse;
  -ms-animation-direction: reverse;
  animation-direction: reverse;
}
.fv_light {
  -webkit-transform-origin: top;
  -moz-transform-origin: top;
  -o-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
}
@media screen and (min-width: 769px) {
  .fv {
    background-image: url("../images/top_fv_bg.jpg");
  }
}
@media screen and (max-width: 768px) {
  .fv {
    background-image: url("../images/sp/top_fv_bg.jpg");
  }
}
.about_belt_container {
  border-bottom: 1px solid;
}
.about_copy {
  letter-spacing: 0.025em;
}
.about_content dl {
  border: 1px solid;
  overflow: hidden;
}
.about_content .about_content_kigaruni dt {
  -webkit-animation-name: about_content_kigaruni;
  -moz-animation-name: about_content_kigaruni;
  -o-animation-name: about_content_kigaruni;
  -ms-animation-name: about_content_kigaruni;
  animation-name: about_content_kigaruni;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  -ms-animation-duration: 3s;
  animation-duration: 3s;
}
.about_content .about_content_advice dt {
  -webkit-animation-name: about_content_advice;
  -moz-animation-name: about_content_advice;
  -o-animation-name: about_content_advice;
  -ms-animation-name: about_content_advice;
  animation-name: about_content_advice;
  -webkit-animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  -moz-animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  -o-animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  -ms-animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  -webkit-animation-duration: 2s;
  -moz-animation-duration: 2s;
  -o-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
}
.about_content .about_content_juunan dt {
  -webkit-animation-name: about_content_juunan;
  -moz-animation-name: about_content_juunan;
  -o-animation-name: about_content_juunan;
  -ms-animation-name: about_content_juunan;
  animation-name: about_content_juunan;
  -webkit-animation-duration: 5s;
  -moz-animation-duration: 5s;
  -o-animation-duration: 5s;
  -ms-animation-duration: 5s;
  animation-duration: 5s;
}
.about_content dt {
  text-align: center;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.about_content dt img {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .about_copy,
  .about_photo {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
  }
  .about_copy_belt,
  .about_photo_belt {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    overflow: hidden;
  }
  .about_copy:first-child,
  .about_photo:first-child {
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    -ms-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  .about_copy {
    width: clamp(0px, 132.2108345534407vw, 1806px);
    font-size: clamp(0.625rem, 1.464128843338214vw, 1.25rem);
    line-height: clamp(0.625rem, 8.199121522693996vw, 7rem);
    text-align: center;
  }
  .about_copy:first-child {
    -webkit-animation-name: about_copy;
    -moz-animation-name: about_copy;
    -o-animation-name: about_copy;
    -ms-animation-name: about_copy;
    animation-name: about_copy;
    -webkit-animation-duration: 20s;
    -moz-animation-duration: 20s;
    -o-animation-duration: 20s;
    -ms-animation-duration: 20s;
    animation-duration: 20s;
  }
  .about_copy:last-child:before {
    content: attr(data-text);
  }
  .about_photo {
    width: clamp(0px, 234.26061493411422vw, 3200px);
  }
  .about_photo_belt {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -o-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -o-box-orient: horizontal;
  }
  .about_photo:first-child {
    -webkit-animation-name: about_photo_pc;
    -moz-animation-name: about_photo_pc;
    -o-animation-name: about_photo_pc;
    -ms-animation-name: about_photo_pc;
    animation-name: about_photo_pc;
    -webkit-animation-duration: 30s;
    -moz-animation-duration: 30s;
    -o-animation-duration: 30s;
    -ms-animation-duration: 30s;
    animation-duration: 30s;
  }
  .about_inner {
    padding-block: clamp(0px, 5.856515373352855vw, 80px);
  }
  .about_head {
    margin-bottom: clamp(0px, 3.074670571010249vw, 42px);
  }
  .about_head_ja {
    height: clamp(0px, 3.22108345534407vw, 44px);
  }
  .about_lead {
    font-size: clamp(0.625rem, 1.317715959004393vw, 1.125rem);
    line-height: clamp(0.625rem, 2.342606149341142vw, 2rem);
    margin-bottom: clamp(0px, 4.392386530014641vw, 60px);
  }
  .about_content {
    margin-bottom: clamp(0px, 1.756954612005857vw, 24px);
  }
  .about_content_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
  }
  .about_content dl {
    width: calc(100% / 3);
    padding-block: clamp(0px, 3.074670571010249vw, 42px);
  }
  .about_content dl +dl {
    border-left: none;
  }
  .about_content dt {
    height: clamp(0px, 9.66325036603221vw, 132px);
    margin-bottom: clamp(0px, 1.464128843338214vw, 20px);
  }
  .about_content dd {
    width: clamp(0px, 25.25622254758419vw, 345px);
    font-size: clamp(0.625rem, 1.09809663250366vw, 0.9375rem);
    line-height: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    margin-inline: auto;
  }
  .about_note {
    font-size: clamp(0.625rem, 1.09809663250366vw, 0.9375rem);
    line-height: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
  }
}
@media screen and (max-width: 768px) {
  .about_belt_container {
    padding-block: clamp(0px, 21.333333333333336vw, 80px);
  }
  .about_copy {
    font-size: clamp(0.625rem, 4.8vw, 1.125rem);
    line-height: clamp(0.625rem, 8vw, 1.875rem);
    padding-inline: clamp(0px, 5.333333333333334vw, 20px);
    margin-bottom: clamp(0px, 9.6vw, 36px);
  }
  .about_photo {
    width: clamp(0px, 320.8vw, 1203px);
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
  }
  .about_photo_belt {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    overflow: hidden;
  }
  .about_photo_belt_sp_1 .about_photo {
    -webkit-animation-name: about_photo_sp_1;
    -moz-animation-name: about_photo_sp_1;
    -o-animation-name: about_photo_sp_1;
    -ms-animation-name: about_photo_sp_1;
    animation-name: about_photo_sp_1;
  }
  .about_photo_belt_sp_2 {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -o-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -o-box-orient: horizontal;
  }
  .about_photo_belt_sp_2 .about_photo {
    -webkit-animation-name: about_photo_sp_2;
    -moz-animation-name: about_photo_sp_2;
    -o-animation-name: about_photo_sp_2;
    -ms-animation-name: about_photo_sp_2;
    animation-name: about_photo_sp_2;
  }
  .about_photo:first-child {
    -webkit-animation-duration: 30s;
    -moz-animation-duration: 30s;
    -o-animation-duration: 30s;
    -ms-animation-duration: 30s;
    animation-duration: 30s;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    -ms-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  .about_inner {
    padding-block: clamp(0px, 21.333333333333336vw, 80px);
  }
  .about_head {
    margin-bottom: clamp(0px, 11.200000000000001vw, 42px);
  }
  .about_head_ja {
    height: clamp(0px, 20.533333333333335vw, 77px);
  }
  .about_lead {
    font-size: clamp(0.625rem, 4vw, 0.9375rem);
    line-height: clamp(0.625rem, 6.4vw, 1.5rem);
    margin-bottom: clamp(0px, 11.200000000000001vw, 42px);
  }
  .about_content {
    margin-bottom: clamp(0px, 5.333333333333334vw, 20px);
  }
  .about_content dl {
    padding-block: clamp(0px, 10.666666666666668vw, 40px);
  }
  .about_content dl +dl {
    border-top: none;
  }
  .about_content dt {
    height: clamp(0px, 29.86666666666667vw, 112px);
    margin-bottom: clamp(0px, 5.333333333333334vw, 20px);
  }
  .about_content dd {
    font-size: clamp(0.625rem, 4vw, 0.9375rem);
    line-height: clamp(0.625rem, 6.4vw, 1.5rem);
    padding-inline: clamp(0px, 6.4vw, 24px);
  }
  .about_note {
    font-size: clamp(0.625rem, 3.2vw, 0.75rem);
    line-height: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
  }
}
.flow {
  border-top: 1px solid;
}
.flow_part {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.flow_part,
.flow_part_lasting {
  opacity: 0;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 1s;
  -moz-transition-duration: 1s;
  -o-transition-duration: 1s;
  -ms-transition-duration: 1s;
  transition-duration: 1s;
}
.flow_part_label,
.flow_part_lasting {
  position: relative;
}
.flow_part_label:before,
.flow_part_lasting:before {
  position: absolute;
  display: block;
  width: 2px;
  margin: auto;
  content: "";
  scale: 1 0;
  -webkit-transform-origin: top;
  -moz-transform-origin: top;
  -o-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  -ms-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-transition-duration: 1s;
  -moz-transition-duration: 1s;
  -o-transition-duration: 1s;
  -ms-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-property: scale;
  -moz-transition-property: scale;
  -o-transition-property: scale;
  -ms-transition-property: scale;
  transition-property: scale;
}
.flow_part_label {
  font-family: var(--en_sans);
  font-weight: 700;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  letter-spacing: 0.025em;
}
.flow_part_label:before {
  border-left: 2px solid;
}
.flow_part_text {
  width: 100%;
  border-bottom: 1px solid;
}
.flow_part_text_oval {
  display: inline-block;
  border: 1px solid;
  font-family: var(--ja_serif);
  border-radius: 50%;
  vertical-align: bottom;
  background-color: #fff;
  padding-inline: 2em;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
}
.flow_part_text dt {
  font-family: var(--ja_serif);
}
.flow_part_2 .flow_part_label,
.flow_part_3 .flow_part_label {
  margin-top: -0.5lh;
}
.flow_part_3 .flow_part_label:before {
  bottom: 0;
}
.flow_part_lasting:before {
  top: 0;
  bottom: 0;
  border-left: 2px dashed;
}
.flow_part.inviewed,
.flow_part_lasting.inviewed {
  opacity: 1;
}
.flow_part.inviewed .flow_part_label:before,
.flow_part_lasting.inviewed:before {
  scale: 1;
}
@media (min-width: 769px) {
  .flow_inner {
    padding-block: clamp(0px, 5.856515373352855vw, 80px);
  }
  .flow_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-align: start;
    -moz-box-align: start;
    -o-box-align: start;
    -ms-flex-align: start;
  }
  .flow_head {
    position: sticky;
    top: clamp(0px, 5.856515373352855vw, 80px);
    width: clamp(0px, 31.478770131771594vw, 430px);
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
  }
  .flow_head_ja {
    height: clamp(0px, 2.562225475841874vw, 35px);
  }
  .flow_part_container {
    width: 100%;
  }
  .flow_part_label:before,
  .flow_part_lasting:before {
    left: clamp(0px, 2.635431918008785vw, 36px);
  }
  .flow_part_label {
    width: clamp(0px, 8.784773060029282vw, 120px);
    font-size: clamp(0.625rem, 1.464128843338214vw, 1.25rem);
  }
  .flow_part_label:before {
    top: clamp(0px, 3.22108345534407vw, 44px);
  }
  .flow_part_text {
    padding-bottom: clamp(0px, 3.660322108345535vw, 50px);
  }
  .flow_part_text_oval {
    font-size: clamp(0.625rem, 1.464128843338214vw, 1.25rem);
    line-height: clamp(0.625rem, 4.538799414348463vw, 3.875rem);
    margin-bottom: clamp(0px, 2.342606149341142vw, 32px);
  }
  .flow_part_text dt {
    font-size: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    margin-bottom: clamp(0px, 1.464128843338214vw, 20px);
  }
  .flow_part_text dd {
    font-size: clamp(0.625rem, 1.09809663250366vw, 0.9375rem);
    line-height: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
  }
  .flow_part_1 .flow_part_label:before,
  .flow_part_2 .flow_part_label:before {
    bottom: clamp(0px, 2.489019033674964vw, 34px);
  }
  .flow_part_2 .flow_part_text,
  .flow_part_3 .flow_part_text {
    padding-top: clamp(0px, 3.367496339677892vw, 46px);
  }
  .flow_part_lasting {
    padding-left: clamp(0px, 8.784773060029282vw, 120px);
  }
  .flow_part_lasting_text {
    font-size: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    line-height: clamp(0.625rem, 2.635431918008785vw, 2.25rem);
    padding-top: clamp(0px, 2.928257686676428vw, 40px);
  }
}
@media (max-width: 768px) {
  .flow_inner {
    padding-block: clamp(0px, 21.333333333333336vw, 80px);
  }
  .flow_head {
    margin-bottom: clamp(0px, 12.8vw, 48px);
  }
  .flow_head_ja {
    height: clamp(0px, 9.333333333333334vw, 35px);
  }
  .flow_part_label:before,
  .flow_part_lasting:before {
    left: clamp(0px, 8.533333333333333vw, 32px);
  }
  .flow_part_label {
    width: clamp(0px, 23.466666666666665vw, 88px);
    font-size: clamp(0.625rem, 4.8vw, 1.125rem);
  }
  .flow_part_label:before {
    top: clamp(0px, 9.6vw, 36px);
  }
  .flow_part_text {
    padding-bottom: clamp(0px, 9.6vw, 36px);
  }
  .flow_part_text_oval {
    font-size: clamp(0.625rem, 4.266666666666667vw, 1rem);
    line-height: clamp(0.625rem, 14.666666666666666vw, 3.4375rem);
    margin-bottom: clamp(0px, 6.4vw, 24px);
  }
  .flow_part_text dt {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    margin-bottom: clamp(0px, 4.266666666666667vw, 16px);
  }
  .flow_part_text dd {
    font-size: clamp(0.625rem, 4vw, 0.9375rem);
    line-height: clamp(0.625rem, 6.4vw, 1.5rem);
  }
  .flow_part_1 .flow_part_label:before,
  .flow_part_2 .flow_part_label:before {
    bottom: clamp(0px, 8vw, 30px);
  }
  .flow_part_2 .flow_part_text,
  .flow_part_3 .flow_part_text {
    padding-top: clamp(0px, 10.666666666666668vw, 40px);
  }
  .flow_part_lasting {
    padding-left: clamp(0px, 23.466666666666665vw, 88px);
  }
  .flow_part_lasting_text {
    font-size: clamp(0.625rem, 4.8vw, 1.125rem);
    line-height: clamp(0.625rem, 8vw, 1.875rem);
    padding-top: clamp(0px, 9.6vw, 36px);
  }
}
.types {
  border-top: 1px solid;
  border-bottom: 1px solid;
}
@media (min-width: 769px) {
  .types_head_container {
    padding: clamp(0px, 5.856515373352855vw, 80px) 0 0 clamp(0px, 3.513909224011713vw, 48px);
  }
  .types_head_ja {
    height: clamp(0px, 2.562225475841874vw, 35px);
  }
  .types_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -o-box-lines: multiple;
  }
  .types_box >* {
    width: calc(100% / 3);
  }
}
@media (max-width: 768px) {
  .types_head_container {
    padding: clamp(0px, 21.333333333333336vw, 80px) 0 clamp(0px, 12.8vw, 48px) clamp(0px, 5.333333333333334vw, 20px);
  }
  .types_head_ja {
    height: clamp(0px, 9.333333333333334vw, 35px);
  }
}
.type_text dt {
  font-family: var(--ja_serif);
}
@media (min-width: 769px) {
  .type {
    border-left: 1px solid;
  }
  .type:nth-child(3n+1) {
    border-left: none;
  }
  .type:nth-child(n+4) {
    border-top: 1px solid;
  }
  .type_photo {
    height: calc((303 / 1366) * 100vw);
  }
  .type_photo img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .type_text {
    padding: clamp(0px, 2.928257686676428vw, 40px);
  }
  .type_text dt {
    font-size: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    margin-bottom: clamp(0px, 1.464128843338214vw, 20px);
  }
  .type_text dd {
    font-size: clamp(0.625rem, 1.09809663250366vw, 0.9375rem);
    line-height: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
  }
}
@media (max-width: 768px) {
  .type {
    border-top: 1px solid;
  }
  .type_text {
    padding: clamp(0px, 8.533333333333333vw, 32px) clamp(0px, 5.333333333333334vw, 20px) clamp(0px, 9.6vw, 36px);
  }
  .type_text dt {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    margin-bottom: clamp(0px, 4.266666666666667vw, 16px);
  }
  .type_text dd {
    font-size: clamp(0.625rem, 4vw, 0.9375rem);
    line-height: clamp(0.625rem, 6.4vw, 1.5rem);
  }
}
.toMainsite_link {
  display: block;
}
.toMainsite_link_inner {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-box-align: end;
  -moz-box-align: end;
  -o-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
}
.toMainsite_link_en {
  width: 100%;
}
.toMainsite_link_ja picture,
.toMainsite_link_ja img {
  height: 100%;
}
.toMainsite_link_arrow {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: translate;
  -moz-transition-property: translate;
  -o-transition-property: translate;
  -ms-transition-property: translate;
  transition-property: translate;
}
.toMainsite_link_arrow .icon_arrow {
  rotate: -45deg;
}
.toMainsite_link:hover .toMainsite_link_arrow,
.toMainsite_link:focus-visible .toMainsite_link_arrow {
  translate: 10% -10%;
}
@media (min-width: 769px) {
  .toMainsite_box {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
  }
  .toMainsite_link {
    padding: clamp(0px, 5.856515373352855vw, 80px) clamp(0px, 3.513909224011713vw, 48px);
    -webkit-transition-property: background-color;
    -moz-transition-property: background-color;
    -o-transition-property: background-color;
    -ms-transition-property: background-color;
    transition-property: background-color;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    transition-duration: 0.3s;
    opacity: 1 !important;
  }
  .toMainsite_link_en {
    font-size: clamp(0.625rem, 1.756954612005857vw, 1.5rem);
    margin-bottom: clamp(0px, 2.342606149341142vw, 32px);
  }
  .toMainsite_link_ja,
  .toMainsite_link_arrow {
    height: clamp(0px, 2.489019033674964vw, 34px);
  }
  .toMainsite_link_arrow .icon_arrow {
    height: clamp(0px, 1.464128843338214vw, 20px);
  }
  .toMainsite_link:hover,
  .toMainsite_link:focus-visible {
    background-color: #fff;
  }
  .toMainsite_link_container {
    width: 50%;
  }
  .toMainsite_link_container +.toMainsite_link_container {
    border-left: 1px solid;
  }
}
@media (max-width: 768px) {
  .toMainsite_link {
    padding: clamp(0px, 12.8vw, 48px) clamp(0px, 8.533333333333333vw, 32px);
    background-color: #fff;
  }
  .toMainsite_link_en {
    font-size: clamp(0.625rem, 5.333333333333334vw, 1.25rem);
    margin-bottom: clamp(0px, 8.533333333333333vw, 32px);
  }
  .toMainsite_link_ja {
    height: clamp(0px, 18.4vw, 69px);
  }
  .toMainsite_link_arrow {
    height: clamp(0px, 9.6vw, 36px);
  }
  .toMainsite_link_arrow .icon_arrow {
    height: clamp(0px, 4.266666666666667vw, 16px);
  }
  .toMainsite_link_container +.toMainsite_link_container {
    border-top: 1px solid;
  }
}
.contact {
  background-size: cover;
  background-position: center;
  border-top: 1px solid;
}
.contact_button {
  display: block;
  opacity: 1 !important;
}
.contact_button_panel {
  border: 1px solid var(--usegray);
  color: #fff;
  background-color: #01a03d;
  -webkit-transition-property: color, background-color;
  -moz-transition-property: color, background-color;
  -o-transition-property: color, background-color;
  -ms-transition-property: color, background-color;
  transition-property: color, background-color;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.contact_button_label,
.contact_button_arrow {
  position: absolute;
  margin: auto;
  inset: 0;
}
.contact_button_label svg,
.contact_button_arrow svg {
  height: 100%;
}
.contact_button_label {
  text-align: center;
}
.contact_button_label svg {
  fill: currentColor;
}
.contact_button_arrow {
  text-align: right;
}
.contact_button:hover .contact_button_panel,
.contact_button:focus-visible .contact_button_panel {
  color: var(--usegray);
  background-color: #ffd81a;
}
@media screen and (min-width: 769px) {
  .contact {
    background-image: url("../images/contact_bg.png");
  }
  .contact_inner {
    padding-block: clamp(0px, 5.856515373352855vw, 80px);
  }
  .contact_head {
    text-align: center;
    margin-bottom: clamp(0px, 5.417276720351391vw, 74px);
  }
  .contact_head_ja {
    height: clamp(0px, 2.489019033674964vw, 34px);
  }
  .contact_button_container {
    width: clamp(0px, 31.91800878477306vw, 436px);
    margin-inline: auto;
  }
  .contact_button_board,
  .contact_button_panel,
  .contact_button_inu_karada {
    position: relative;
  }
  .contact_button_inu {
    width: clamp(0px, 6.661786237188873vw, 91px);
    inset: clamp(-52px, -3.806734992679356vw, 0px) auto auto clamp(0px, 3.074670571010249vw, 42px);
  }
  .contact_button_inu,
  .contact_button_inu_ashi {
    position: absolute;
  }
  .contact_button_inu_karada {
    top: clamp(0px, 1.903367496339678vw, 26px);
    -webkit-transition-duration: 0.1s;
    -moz-transition-duration: 0.1s;
    -o-transition-duration: 0.1s;
    -ms-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-property: top;
    -moz-transition-property: top;
    -o-transition-property: top;
    -ms-transition-property: top;
    transition-property: top;
  }
  .contact_button_inu_ashi {
    top: 0;
    z-index: 1;
    opacity: 0;
  }
  .contact_button_panel {
    height: clamp(0px, 5.856515373352855vw, 80px);
    border-radius: clamp(0px, 0.585651537335286vw, 8px);
  }
  .contact_button_label {
    height: clamp(0px, 2.489019033674964vw, 34px);
  }
  .contact_button_arrow {
    height: clamp(0px, 1.464128843338214vw, 20px);
    padding-right: clamp(0px, 3.513909224011713vw, 48px);
  }
  .contact_button:hover .contact_button_inu_karada,
  .contact_button:focus-visible .contact_button_inu_karada {
    top: 2.5px;
    -webkit-animation-name: shake;
    -moz-animation-name: shake;
    -o-animation-name: shake;
    -ms-animation-name: shake;
    animation-name: shake;
    -webkit-animation-duration: 100ms;
    -moz-animation-duration: 100ms;
    -o-animation-duration: 100ms;
    -ms-animation-duration: 100ms;
    animation-duration: 100ms;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  .contact_button:hover .contact_button_inu_ashi,
  .contact_button:focus-visible .contact_button_inu_ashi {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .contact {
    background-image: url("../images/sp/contact_bg.png");
  }
  .contact_inner {
    width: clamp(0px, 82.93333333333334vw, 311px);
    padding-block: clamp(0px, 21.333333333333336vw, 80px);
    margin-inline: auto;
  }
  .contact_head {
    margin-bottom: clamp(0px, 25.333333333333336vw, 95px);
  }
  .contact_head_ja {
    height: clamp(0px, 20.266666666666666vw, 76px);
  }
  .contact_button_board,
  .contact_button_panel {
    position: relative;
  }
  .contact_button_inu {
    position: absolute;
    z-index: 1;
    width: clamp(0px, 24.266666666666666vw, 91px);
    inset: clamp(-53px, -14.133333333333335vw, 0px) auto auto clamp(0px, 8.533333333333333vw, 32px);
  }
  .contact_button_panel {
    height: clamp(0px, 21.333333333333336vw, 80px);
    border-radius: clamp(0px, 2.133333333333333vw, 8px);
  }
  .contact_button_label {
    height: clamp(0px, 7.466666666666668vw, 28px);
  }
  .contact_button_arrow {
    height: clamp(0px, 4.8vw, 18px);
    padding-right: clamp(0px, 6.4vw, 24px);
  }
}
.cv {
  position: fixed;
  z-index: 1000;
  margin: auto;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity, visibility;
  -moz-transition-property: opacity, visibility;
  -o-transition-property: opacity, visibility;
  -ms-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
}
.cv.hidden_tl,
.cv.hidden_c {
  opacity: 0;
  visibility: hidden;
}
.cv_link {
  display: block;
}
@media screen and (min-width: 769px) {
  .cv {
    width: clamp(0px, 12.88433382137628vw, 176px);
    inset: auto clamp(0px, 2.342606149341142vw, 32px) clamp(0px, 2.342606149341142vw, 32px) auto;
    filter: drop-shadow(0 16px 16px rgba(0,0,0,0.1));
  }
  .cv_link {
    opacity: 1 !important;
  }
  .cv_link:hover .cv_inu {
    translate: 0 0;
    rotate: 0deg;
  }
  .cv_link:hover .cv_balloon {
    fill: #ffd81a;
  }
  .cv_block,
  .cv_graph {
    position: relative;
  }
  .cv_balloon {
    position: relative;
    fill: #fff;
    stroke: #313843;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: fill;
    -moz-transition-property: fill;
    -o-transition-property: fill;
    -ms-transition-property: fill;
    transition-property: fill;
  }
  .cv_label {
    fill: #313843;
  }
  .cv_inu {
    position: absolute;
    width: clamp(0px, 5.27086383601757vw, 72px);
    inset: clamp(-33px, -2.415812591508053vw, 0px) auto auto clamp(0px, 1.317715959004393vw, 18px);
    translate: 10% 100%;
    rotate: 45deg;
    -webkit-transition-property: translate, rotate;
    -moz-transition-property: translate, rotate;
    -o-transition-property: translate, rotate;
    -ms-transition-property: translate, rotate;
    transition-property: translate, rotate;
    -webkit-transition-duration: 0.1s;
    -moz-transition-duration: 0.1s;
    -o-transition-duration: 0.1s;
    -ms-transition-duration: 0.1s;
    transition-duration: 0.1s;
  }
}
@media screen and (max-width: 768px) {
  .cv {
    width: clamp(0px, 40.8vw, 153px);
    inset: auto clamp(0px, 6.4vw, 24px) clamp(0px, 3.2vw, 12px) auto;
    filter: drop-shadow(0 16px 16px rgba(0,0,0,0.1));
  }
}
body.wait_splash {
  position: fixed;
}
body.wait_splash .splash {
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: translate, visibility;
  -moz-transition-property: translate, visibility;
  -o-transition-property: translate, visibility;
  -ms-transition-property: translate, visibility;
  transition-property: translate, visibility;
}
body.done_splash {
  position: absolute;
}
body.done_splash .splash {
  translate: 0 -100%;
  visibility: hidden;
  pointer-events: none;
}
body.no_splash .splash {
  display: none;
}
body.no_splash .splash * {
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
}
.splash {
  position: fixed;
  z-index: 10001;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin: auto;
  inset: 0;
  background-color: #f8f8f8;
  background-image: url("../images/bg.jpg");
  background-size: 240px;
  background-position: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
}
.splash_logo {
  position: relative;
}
.splash_logo_part {
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  -o-animation-duration: 0.3s;
  -ms-animation-duration: 0.3s;
  animation-duration: 0.3s;
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  -ms-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  will-change: opacity, scale, rotate;
}
.splash_logo_part +.splash_logo_part {
  position: absolute;
  margin: auto;
  inset: 0;
}
.splash_logo_part_1 {
  -webkit-animation-name: splash_logo_part_1;
  -moz-animation-name: splash_logo_part_1;
  -o-animation-name: splash_logo_part_1;
  -ms-animation-name: splash_logo_part_1;
  animation-name: splash_logo_part_1;
  -webkit-transform-origin: center 33%;
  -moz-transform-origin: center 33%;
  -o-transform-origin: center 33%;
  -ms-transform-origin: center 33%;
  transform-origin: center 33%;
}
.splash_logo_part_2 {
  -webkit-animation-name: splash_logo_part_2;
  -moz-animation-name: splash_logo_part_2;
  -o-animation-name: splash_logo_part_2;
  -ms-animation-name: splash_logo_part_2;
  animation-name: splash_logo_part_2;
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  -o-animation-delay: 0.5s;
  -ms-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.splash_logo_part_3 {
  -webkit-animation-name: splash_logo_part_3;
  -moz-animation-name: splash_logo_part_3;
  -o-animation-name: splash_logo_part_3;
  -ms-animation-name: splash_logo_part_3;
  animation-name: splash_logo_part_3;
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -o-animation-delay: 1s;
  -ms-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-transform-origin: center 66%;
  -moz-transform-origin: center 66%;
  -o-transform-origin: center 66%;
  -ms-transform-origin: center 66%;
  transform-origin: center 66%;
}
@media screen and (min-width: 769px) {
  .splash_logo {
    width: clamp(0px, 17.569546120058565vw, 240px);
  }
}
@media screen and (max-width: 768px) {
  .splash_logo {
    width: clamp(0px, 52vw, 195px);
  }
}
@-moz-keyframes fv_rotate {
  0% {
    rotate: -2deg;
  }
  50% {
    rotate: 2deg;
  }
  100% {
    rotate: -2deg;
  }
}
@-webkit-keyframes fv_rotate {
  0% {
    rotate: -2deg;
  }
  50% {
    rotate: 2deg;
  }
  100% {
    rotate: -2deg;
  }
}
@-o-keyframes fv_rotate {
  0% {
    rotate: -2deg;
  }
  50% {
    rotate: 2deg;
  }
  100% {
    rotate: -2deg;
  }
}
@keyframes fv_rotate {
  0% {
    rotate: -2deg;
  }
  50% {
    rotate: 2deg;
  }
  100% {
    rotate: -2deg;
  }
}
@-moz-keyframes fv_hop {
  0% {
    translate: 0 -5%;
  }
  50% {
    translate: 0 5%;
  }
  100% {
    translate: 0 -5%;
  }
}
@-webkit-keyframes fv_hop {
  0% {
    translate: 0 -5%;
  }
  50% {
    translate: 0 5%;
  }
  100% {
    translate: 0 -5%;
  }
}
@-o-keyframes fv_hop {
  0% {
    translate: 0 -5%;
  }
  50% {
    translate: 0 5%;
  }
  100% {
    translate: 0 -5%;
  }
}
@keyframes fv_hop {
  0% {
    translate: 0 -5%;
  }
  50% {
    translate: 0 5%;
  }
  100% {
    translate: 0 -5%;
  }
}
@-moz-keyframes about_copy {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1806px, -132.2108345534407vw, 0px);
  }
}
@-webkit-keyframes about_copy {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1806px, -132.2108345534407vw, 0px);
  }
}
@-o-keyframes about_copy {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1806px, -132.2108345534407vw, 0px);
  }
}
@keyframes about_copy {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1806px, -132.2108345534407vw, 0px);
  }
}
@-moz-keyframes about_photo_pc {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-3200px, -234.26061493411422vw, 0px);
  }
}
@-webkit-keyframes about_photo_pc {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-3200px, -234.26061493411422vw, 0px);
  }
}
@-o-keyframes about_photo_pc {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-3200px, -234.26061493411422vw, 0px);
  }
}
@keyframes about_photo_pc {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-3200px, -234.26061493411422vw, 0px);
  }
}
@-moz-keyframes about_photo_sp_1 {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1203px, -320.8vw, 0px);
  }
}
@-webkit-keyframes about_photo_sp_1 {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1203px, -320.8vw, 0px);
  }
}
@-o-keyframes about_photo_sp_1 {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1203px, -320.8vw, 0px);
  }
}
@keyframes about_photo_sp_1 {
  from {
    margin-left: 0;
  }
  to {
    margin-left: clamp(-1203px, -320.8vw, 0px);
  }
}
@-moz-keyframes about_photo_sp_2 {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-1203px, -320.8vw, 0px);
  }
}
@-webkit-keyframes about_photo_sp_2 {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-1203px, -320.8vw, 0px);
  }
}
@-o-keyframes about_photo_sp_2 {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-1203px, -320.8vw, 0px);
  }
}
@keyframes about_photo_sp_2 {
  from {
    margin-right: 0;
  }
  to {
    margin-right: clamp(-1203px, -320.8vw, 0px);
  }
}
@-moz-keyframes about_content_kigaruni {
  0% {
    rotate: -3deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: -3deg;
  }
}
@-webkit-keyframes about_content_kigaruni {
  0% {
    rotate: -3deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: -3deg;
  }
}
@-o-keyframes about_content_kigaruni {
  0% {
    rotate: -3deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: -3deg;
  }
}
@keyframes about_content_kigaruni {
  0% {
    rotate: -3deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: -3deg;
  }
}
@-moz-keyframes about_content_advice {
  0% {
    scale: 0.9;
  }
  50% {
    scale: 1;
  }
  100% {
    scale: 0.9;
  }
}
@-webkit-keyframes about_content_advice {
  0% {
    scale: 0.9;
  }
  50% {
    scale: 1;
  }
  100% {
    scale: 0.9;
  }
}
@-o-keyframes about_content_advice {
  0% {
    scale: 0.9;
  }
  50% {
    scale: 1;
  }
  100% {
    scale: 0.9;
  }
}
@keyframes about_content_advice {
  0% {
    scale: 0.9;
  }
  50% {
    scale: 1;
  }
  100% {
    scale: 0.9;
  }
}
@-moz-keyframes about_content_juunan {
  0% {
    scale: 0.9;
    translate: 0 0;
  }
  25% {
    translate: 0 5%;
  }
  50% {
    scale: 1;
    translate: 0 0;
  }
  75% {
    translate: 0 5%;
  }
  100% {
    scale: 0.9;
    translate: 0 0;
  }
}
@-webkit-keyframes about_content_juunan {
  0% {
    scale: 0.9;
    translate: 0 0;
  }
  25% {
    translate: 0 5%;
  }
  50% {
    scale: 1;
    translate: 0 0;
  }
  75% {
    translate: 0 5%;
  }
  100% {
    scale: 0.9;
    translate: 0 0;
  }
}
@-o-keyframes about_content_juunan {
  0% {
    scale: 0.9;
    translate: 0 0;
  }
  25% {
    translate: 0 5%;
  }
  50% {
    scale: 1;
    translate: 0 0;
  }
  75% {
    translate: 0 5%;
  }
  100% {
    scale: 0.9;
    translate: 0 0;
  }
}
@keyframes about_content_juunan {
  0% {
    scale: 0.9;
    translate: 0 0;
  }
  25% {
    translate: 0 5%;
  }
  50% {
    scale: 1;
    translate: 0 0;
  }
  75% {
    translate: 0 5%;
  }
  100% {
    scale: 0.9;
    translate: 0 0;
  }
}
@-moz-keyframes splash_logo_part_1 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-webkit-keyframes splash_logo_part_1 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-o-keyframes splash_logo_part_1 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@keyframes splash_logo_part_1 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-moz-keyframes splash_logo_part_2 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-webkit-keyframes splash_logo_part_2 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-o-keyframes splash_logo_part_2 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@keyframes splash_logo_part_2 {
  0% {
    opacity: 0;
  }
  50% {
    rotate: -5deg;
  }
  100% {
    opacity: 1;
    rotate: 0deg;
  }
}
@-moz-keyframes splash_logo_part_3 {
  0% {
    scale: 1;
    opacity: 0;
  }
  50% {
    scale: 1.1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@-webkit-keyframes splash_logo_part_3 {
  0% {
    scale: 1;
    opacity: 0;
  }
  50% {
    scale: 1.1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@-o-keyframes splash_logo_part_3 {
  0% {
    scale: 1;
    opacity: 0;
  }
  50% {
    scale: 1.1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes splash_logo_part_3 {
  0% {
    scale: 1;
    opacity: 0;
  }
  50% {
    scale: 1.1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
