@charset "UTF-8";
/* ==============================================================
*  base
* ============================================================ */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: inherit;
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  word-wrap: break-word;
}

section, main {
  display: block;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
}

i, em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
  line-height: 0;
}

* {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

/* ==============================================================
*  contents
* ============================================================ */
/* common.scss
============================== */
html,
body {
  height: 100%;
}

body {
  word-wrap: break-word;
  background-color: #F2FAE7;
  height: auto;
}
@media screen and (min-width: 961px) {
  body {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.9;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  body {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.6;
    font-feature-settings: "palt";
    letter-spacing: 0.01em;
  }
}
body.color-change01 .section--benefit .section-tit .roop--tit .tit--txt {
  color: #e9f9d3;
}
body.color-change01 .section--benefit .section-tit .roop--tit .benefit--tit--parts {
  fill: #e9f9d3;
}
body.color-change02 .section--event .section-tit .roop--tit .tit--txt {
  color: #DF602F;
}
body.color-change02 .section--event .section-tit .roop--tit .benefit--tit--parts {
  fill: #DF602F;
}
body.color-change02 .benefit--item:nth-child(7),
body.color-change02 .benefit--item:nth-child(8),
body.color-change02 .benefit--item:last-child {
  opacity: 0;
}

.ph,
.thumb {
  position: relative;
}

.ph::after,
.thumb::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.flex--container {
  display: flex;
}

/* delighter */
.delighter {
  opacity: 0;
}

.delighter.started {
  transform: translate(0);
  opacity: 1;
}

/* indent */
.small--indent {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.middle--indent {
  padding-left: 1em;
  text-indent: -1em;
}

/* jacket */
.jacket--a--color {
  fill: #DF602F;
  stroke-width: 0px;
}

.jacket--b--color {
  fill: #63A53B;
  stroke-width: 0px;
}

.jacket--regular--color {
  fill: #FDFFFA;
  stroke-width: 0px;
}

.benefit--color {
  fill: #63A53B;
  stroke-width: 0px;
}

/* OS */
.windows .section--product .block--detail .detail--category,
.android .section--product .block--detail .detail--category {
  padding: 0.3em 1em 0;
}
.windows .section--event .event--contents .term,
.windows .section--event .event--contents .award,
.android .section--event .event--contents .term,
.android .section--event .event--contents .award {
  padding: 0.1em 1em 0;
}

/* loading */
.spinning {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#loading img,
.spinning img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: initial;
  animation: spin 10s linear infinite;
}

#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 200;
  top: 0;
  left: 0;
  overflow: hidden;
  background: #F2FAE7;
  background-size: 100%;
  animation: bg_gradation 4s infinite;
  transition: none;
}

#loading svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 73px;
  margin: -40px 0 0 -36px;
  fill: #DF602F;
  animation: logo-anim 1s linear infinite;
}

img {
  width: 100%;
}

/* 
============================== */
body {
  position: relative;
}
body .section--hero {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow-x: hidden;
}
body .section--hero .kv {
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/hero/kv.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.8;
  -webkit-clip-path: circle(0 at 50% 0);
  clip-path: circle(0 at 50% 0);
  filter: blur(15px);
  transition: transform 2s, opacity 1s, filter 1s cubic-bezier(0, 0, 0.3, 1);
}
body .section--track {
  margin: 0 auto;
  background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/track/track-background.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
body .section--track.delighter {
  transform: translateY(100px) scale(0.95);
}
body .section--track.delighter.started {
  transform: translateY(0) scale(1);
}
body .section--track::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.8;
  background: repeat top left url("/static/twice/official/feature/5th_album_kohwq403/img/track/noise.png");
  background-size: 30%;
}
body .section--track::after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #DF602F;
  opacity: 0.2;
  mix-blend-mode: overlay;
  z-index: 6;
}
body .section--track .block--track {
  background-color: #DF602F;
  z-index: 7;
}
body .section--track .track--area {
  color: #E0F5C3;
  position: relative;
  width: 100%;
  height: 100%;
}
body .section--track .section-tit,
body .section--track .sub-txt {
  text-align: center;
}
body .section--track .section-tit,
body .section--track .number {
  font-family: "ivymode", sans-serif;
  letter-spacing: 0.1em;
}
body .section--track .section-tit {
  font-weight: 600;
}
body .section--track .track--list li:first-child .number {
  letter-spacing: 0.2em;
}
body .section--track .number {
  font-weight: 700;
  margin-right: 0.8em;
}
body .section--track .list--txt {
  display: inline-block;
  font-weight: 100;
}
body .section--product .section-tit,
body .section--benefit .section-tit,
body .section--event .section-tit {
  color: #DF602F;
  overflow-x: hidden;
}
body .section--product .section-tit ul,
body .section--benefit .section-tit ul,
body .section--event .section-tit ul {
  white-space: nowrap;
}
body .section--product .section-tit .roop--tit,
body .section--benefit .section-tit .roop--tit,
body .section--event .section-tit .roop--tit {
  display: inline-block;
  animation: text-flow 10s linear infinite;
}
body .section--product .section-tit .roop--tit .tit--txt,
body .section--benefit .section-tit .roop--tit .tit--txt,
body .section--event .section-tit .roop--tit .tit--txt {
  font-family: "ivymode", sans-serif;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: inline-block;
  transition: all 0.5s;
  letter-spacing: 0.06em;
}
body .section--product .section-tit .roop--tit div,
body .section--benefit .section-tit .roop--tit div,
body .section--event .section-tit .roop--tit div {
  display: inline-block;
}
body .section--product .section-tit .roop--tit div .benefit--tit--parts,
body .section--benefit .section-tit .roop--tit div .benefit--tit--parts,
body .section--event .section-tit .roop--tit div .benefit--tit--parts {
  fill: #e0602f;
  stroke-width: 0px;
  transition: all 0.55s;
}
body .section--product .block--detail.jacket--a .btn--middle a:hover {
  border: 1px solid #E0F5C3;
}
body .section--product .block--detail.jacket--a .btn--middle a:hover p {
  color: #E0F5C3;
}
body .section--product .block--detail.jacket--b .flex--item.second--item {
  background-color: #63A53B;
}
body .section--product .block--detail.jacket--b .flex--item.second--item .detail__block--head {
  border-bottom: 1px solid #E0F5C3;
  padding-bottom: 30px;
}
body .section--product .block--detail.jacket--b .detail--category {
  color: #63A53B;
}
body .section--product .block--detail.jacket--b .btn--middle a {
  color: #63A53B;
  background-color: #F2FAE7;
}
body .section--product .block--detail.jacket--b .btn--middle a:hover {
  border: 1px solid #E0F5C3;
}
body .section--product .block--detail.jacket--b .btn--middle a:hover p {
  color: #E0F5C3;
}
body .section--product .block--detail.jacket--regular .flex--item.second--item {
  background-color: #FDFFFA;
  color: #DF602F;
}
body .section--product .block--detail.jacket--regular .detail--category {
  color: #FDFFFA;
  background-color: #DF602F;
}
body .section--product .block--detail.jacket--regular .attention--box {
  border: 1px solid #DF602F;
}
body .section--product .block--detail.jacket--regular .attention--box .attention--list {
  margin-bottom: 1em;
}
body .section--product .block--detail.jacket--regular .attention--box dl {
  font-size: 13px;
  font-weight: 100;
}
body .section--product .block--detail.jacket--regular .btn--middle a {
  color: #FDFFFA;
  background-color: #DF602F;
}
body .section--product .block--detail.jacket--regular .btn--middle a:hover {
  border: 1px solid #DF602F;
}
body .section--product .block--detail.jacket--regular .btn--middle a:hover p {
  color: #DF602F;
}
body .section--product .block--detail .version--name {
  font-family: "area-extended", sans-serif;
}
body .section--product .block--detail .detail--category {
  font-family: "area-extended", sans-serif;
  padding: 0.2em 1em;
  -webkit-text-size-adjust: 100%;
  vertical-align: middle;
}
body .section--product .block--detail .jacket--image {
  overflow: hidden;
}
body .section--product .block--detail .jacket--image img {
  vertical-align: top;
}
body .section--product .block--detail .product__add--image {
  border-radius: 8px;
  overflow: hidden;
}
body .section--product .block--detail .product__add--image img {
  vertical-align: middle;
}
body .section--product .block--detail .flex--item.second--item {
  background-color: #DF602F;
  color: #E0F5C3;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
body .section--product .block--detail .detail__block--head {
  margin-bottom: 30px;
}
body .section--product .block--detail .head--name {
  line-height: 1;
}
body .section--product .block--detail .detail--category {
  background-color: #E0F5C3;
  color: #DF602F;
  border-radius: 30px;
}
body .section--product .block--detail .price {
  font-family: "area-extended", sans-serif;
}
body .section--product .block--detail .middle--name {
  font-weight: 600;
}
body .section--product .block--detail .track--list .number {
  font-family: "ivymode", sans-serif;
  letter-spacing: 0.1em;
  font-style: italic;
  font-weight: 600;
  display: inline-block;
  margin-right: 0.8em;
}
body .section--product .block--detail .track--list .list--txt {
  font-weight: 100;
  display: inline-block;
}
body .section--product .block--detail .attention--box {
  border: 1px solid #E0F5C3;
}
body .section--product .block--detail .attention--box .attention--list {
  font-weight: 100;
}
body .section--product .block--detail .btn--middle {
  text-align: center;
  position: relative;
  overflow: hidden;
}
body .section--product .block--detail .btn--middle a {
  text-align: center;
  background: #E0F5C3;
  color: #DF602F;
  font-weight: 500;
  padding: 20px 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  border: none;
  position: relative;
  border-radius: 50px;
  text-decoration: none;
  overflow: hidden;
  transition: all 1s cubic-bezier(0.1, 1, 0.7, 1);
  border: 1px solid transparent;
}
body .section--product .block--detail .btn--middle a p {
  transition: all 1s cubic-bezier(0.1, 1, 0.7, 1);
  position: relative;
  z-index: 10;
}
body .section--product .block--detail .btn--middle a:hover p {
  z-index: 10;
}
body .section--product .block--detail .btn--middle a:hover svg {
  transform: translate(-3%, -30%);
}
body .section--product .block--detail .btn--middle svg {
  position: absolute;
  width: 270%;
  top: 0;
  left: 0;
  transform: translate(-3%, 60%);
  transition: all 2.2s cubic-bezier(0.1, 1, 0.7, 1);
}
body .section--benefit .block--benefit {
  margin: 0 auto;
}
body .section--benefit .benefit--item .item--img {
  aspect-ratio: 1/1;
}
body .section--benefit .benefit--item .sub--txt {
  text-align: center;
  font-weight: 300;
  line-height: 1.4;
  color: #E0F5C3;
}
body .section--benefit .benefit--item .tit {
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
  color: #E0F5C3;
}
body .section--benefit .benefit--item dt, body .section--benefit .benefit--item dd {
  font-weight: 600;
}
body .section--benefit .benefit--item dt,
body .section--benefit .benefit--item dd,
body .section--benefit .benefit--item .attention--txt {
  color: #E0F5C3;
}
body .section--benefit .benefit--item dl {
  text-align: center;
}
body .section--benefit .benefit--item dt {
  border: 1px solid;
  border-radius: 30px;
  display: inline-block;
  padding: 0.1em 0;
  text-align: center;
}
body .section--benefit .benefit--item .attention--txt {
  font-weight: 100;
}
body .section--benefit .benefit--item .btn--small {
  text-align: center;
  position: relative;
  overflow: hidden;
}
body .section--benefit .benefit--item .btn--small a {
  text-align: center;
  background: #F2FAE7;
  font-size: 14px;
  color: #63A53B;
  font-weight: 500;
  padding: 15px 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  border: none;
  position: relative;
  border-radius: 50px;
  text-decoration: none;
  border: 1px solid transparent;
  overflow: hidden;
}
body .section--benefit .benefit--item .btn--small a p {
  transition: all 1s cubic-bezier(0.1, 1, 0.7, 1);
  position: relative;
  z-index: 10;
}
body .section--benefit .benefit--item .btn--small a:hover {
  border: 1px solid #F2FAE7;
}
body .section--benefit .benefit--item .btn--small a:hover p {
  z-index: 10;
  color: #F2FAE7;
}
body .section--benefit .benefit--item .btn--small a:hover svg {
  transform: translate(-3%, -30%);
}
body .section--benefit .benefit--item .btn--small svg {
  position: absolute;
  width: 270%;
  top: 0;
  left: 0;
  transform: translate(-3%, 60%);
  transition: transform 2.5s cubic-bezier(0.1, 1, 0.7, 1);
}
body .section--event .block--event {
  margin: 0 auto;
}
body .section--event .section-tit {
  color: #e9f9d3;
}
body .section--event .section-tit .roop--tit div .benefit--tit--parts {
  fill: #e9f9d3;
  stroke-width: 0px;
  transition: all 0.55s;
}
body .section--event .event--date,
body .section--event .event--contents {
  background-color: #DF602F;
  color: #E0F5C3;
  margin: 0 auto 10px;
}
body .section--event .event--contents .contents--txt {
  border-bottom: 1px solid;
  margin-bottom: 30px;
}
body .section--event .event--contents .term,
body .section--event .event--contents .award {
  font-weight: 600;
}
body .section--event .event--contents .term {
  display: inline-block;
  background-color: #F2FAE7;
  color: #DF602F;
  border-radius: 50px;
  padding: 0.2em 1em;
  margin-bottom: 10px;
}
body .section--event .event--contents .definition--list.goods {
  border: 1px solid #e9f9d3;
  margin-bottom: 0;
}
body .section--event .event--contents .definition--list.goods .term {
  display: block;
  background: none;
  color: #E0F5C3;
  border-bottom: 1px solid #E0F5C3;
  border-radius: 0;
}
body .footer {
  background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/footer/footer-background.webp");
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
body .footer::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  pointer-events: none;
  mix-blend-mode: soft-light;
  opacity: 0.8;
  background: repeat top left url("/static/twice/official/feature/5th_album_kohwq403/img/track/noise.png");
  background-size: 30%;
}
body .footer .block--support {
  position: relative;
  z-index: 6;
}
body .footer .support__inner {
  text-align: center;
}
body .footer .footer__logo {
  margin: 0 auto;
}
body .footer .area--link {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -35%);
  width: 90%;
}
body .footer .area--link.delighter {
  transform: translate(-50%, -35%);
  transition: opacity 0.4s linear 0.3s, transform 0.4s linear 0.3s;
}
body .footer .area--link.delighter.started {
  transform: translate(-50%, -50%);
}
body .footer .block--link {
  text-decoration: none;
  color: #DF602F;
}
body .footer .block--link .support--link {
  text-align: center;
}
body .footer .block--link .support--link:last-child {
  margin-bottom: 0;
}
body .footer .block--link .support--link a {
  font-family: "ivymode", sans-serif;
  letter-spacing: 0.1em;
  color: #DF602F;
  text-decoration: none;
  font-weight: 600;
}
body .footer .copyright {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(60%);
  font-family: "ivymode", sans-serif;
  letter-spacing: 0.1em;
  color: #DF602F;
}
body .footer .copyright.delighter {
  transform: translateX(-50%) translateY(60%);
  transition: opacity 0.4s linear 0.3s, transform 0.4s linear 0.3s;
}
body .footer .copyright.delighter.started {
  transform: translateX(-50%) translateY(0);
}

@keyframes logo-anim {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes text-flow {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes mask-circle {
  0% {
    -webkit-clip-path: circle(0 at 50% 0);
    clip-path: circle(0 at 50% 0);
  }
  100% {
    -webkit-clip-path: circle(200% at 50% 0);
    clip-path: circle(200% at 50% 0);
  }
}
@media screen and (min-width: 961px) {
  .sp {
    display: none !important;
  }
  /* contents
  ============================== */
  body {
    transition: all 0.5s;
  }
  body main {
    margin-bottom: 180px;
  }
  body .delighter {
    transform: translateY(50px);
    transition: opacity 0.3s linear, transform 0.4s linear;
  }
  body.safari.color-change01 {
    background-color: initial;
  }
  body.safari.color-change02 {
    background-color: #F2FAE7;
  }
  body.safari .background--texture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/static/twice/official/feature/5th_album_kohwq403/img/benefit/background--pc--safari.webp);
    background-size: contain;
    z-index: -1;
    background-repeat: repeat;
    opacity: 0;
    transition: all 0.5s;
    mix-blend-mode: initial;
    transform: translateZ(0);
  }
  body.safari .left--ornament .loop--wave,
  body.safari .right--ornament .loop--wave {
    margin-top: -2vh;
  }
  body.loadedA .section--hero .hero__roop--logo.pc {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    filter: blur(0);
  }
  body.loadedB .section--hero .kv {
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
    opacity: 1;
    animation: mask-circle 2s cubic-bezier(0.4, 0, 0.25, 1) forwards;
  }
  body.color-change01 {
    background-color: #63A53B;
  }
  body.color-change01 .background--texture {
    opacity: 0.5;
  }
  body.color-change01.safari .background--texture {
    opacity: 1;
  }
  body.color-change02 {
    background-color: #F2FAE7;
  }
  body.color-change02 .background--texture {
    opacity: 0;
  }
  body.color-change02.safari .background--texture {
    opacity: 0;
  }
  body .background--texture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/track/noise.png");
    background-size: cover;
    z-index: -1;
    background-size: 20% 5%;
    mix-blend-mode: soft-light;
    background-repeat: repeat;
    opacity: 0;
    transition: all 0.5s;
  }
  body .section--hero .hero__roop--logo {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0;
    transition: all 1.5s;
    filter: blur(20px);
  }
  body .left--ornament .flex--container,
  body .right--ornament .flex--container {
    display: block;
  }
  body .left--ornament .loop--wave,
  body .right--ornament .loop--wave {
    animation: wave-flow 18s linear infinite;
    margin-top: -1px;
  }
  body .left--ornament .loop--wave img,
  body .right--ornament .loop--wave img {
    vertical-align: bottom;
  }
  body .left--ornament {
    position: fixed;
    top: 50%;
    left: 0;
    width: 3.5%;
    height: 110vh;
    transform: translate(-50%, -50%);
    z-index: 6;
  }
  body .right--ornament {
    position: fixed;
    top: 50%;
    right: 0;
    width: 3.5%;
    height: 110vh;
    transform: translate(50%, -50%);
    z-index: 6;
  }
  body .section--hero {
    margin-bottom: 50px;
  }
  body .section--hero .kv {
    position: absolute;
    z-index: 5;
    width: 77vh;
    max-width: 800px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -45%) scale(1);
  }
  body .section--hero .hero__roop--logo {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.7);
  }
  body .section--hero .roop--logo {
    width: 34vw;
    padding-right: 10vw;
    animation: text-flow 10s linear infinite;
  }
  body .section--track {
    width: 84vw;
    max-width: 1800px;
    border-radius: 15px;
    aspect-ratio: 1300/820;
    margin: 0 auto 110px;
  }
  body .section--track.delighter.started .block--track--list {
    animation: track-pc 0.4s linear 0.3s forwards;
  }
  body .section--track .block--track {
    width: 53%;
    max-width: 800px;
    min-width: 450px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1/1;
    border-radius: 100%;
  }
  body .section--track .block--track--list {
    position: absolute;
    top: 57%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 53%;
  }
  body .section--track .section-tit {
    font-size: clamp(24px, 2.2vw, 36px);
    margin-bottom: 10px;
  }
  body .section--track .track--list li {
    margin-bottom: 0.3em;
  }
  body .section--track .sub-txt {
    margin-bottom: 20px;
  }
  body .section--track .number {
    font-size: clamp(14px, 1.1vw, 20px);
  }
  body .section--track .list--txt {
    font-size: clamp(12px, 1.05vw, 16px);
  }
  body .section--product .section-tit,
  body .section--benefit .section-tit,
  body .section--event .section-tit {
    margin-bottom: 110px;
  }
  body .section--product .roop--tit,
  body .section--product .tit--txt,
  body .section--benefit .roop--tit,
  body .section--benefit .tit--txt,
  body .section--event .roop--tit,
  body .section--event .tit--txt {
    padding-right: 3vw;
  }
  body .section--product .roop--tit .tit--txt,
  body .section--benefit .roop--tit .tit--txt,
  body .section--event .roop--tit .tit--txt {
    font-size: 5vw;
  }
  body .section--product .roop--tit div,
  body .section--benefit .roop--tit div,
  body .section--event .roop--tit div {
    width: 7vw;
    vertical-align: 1.3vw;
  }
  body .section--product .block--detail {
    width: 84vw;
    max-width: 1800px;
    margin: 0 auto 90px;
    justify-content: space-between;
  }
  body .section--product .block--detail.jacket--b {
    flex-direction: row-reverse;
  }
  body .section--product .block--detail.jacket--regular {
    margin: 0 auto 130px;
  }
  body .section--product .block--detail .flex--item {
    width: 48.5%;
  }
  body .section--product .block--detail .jacket--image,
  body .section--product .block--detail .flex--item.second--item {
    border-radius: 8px;
  }
  body .section--product .block--detail .jacket--image {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
  }
  body .section--product .block--detail .product__add--image {
    margin-top: 30px;
  }
  body .section--product .block--detail .flex--item.second--item {
    padding: 4% 3%;
    position: relative;
  }
  body .section--product .block--detail .version--name {
    position: absolute;
    top: 3%;
    right: 3%;
    font-size: 11px;
    text-align: right;
  }
  body .section--product .block--detail .detail--title {
    margin-bottom: 25px;
  }
  body .section--product .block--detail .head--name {
    font-size: 24px;
    font-weight: 300;
    margin-right: 0.5em;
  }
  body .section--product .block--detail .detail--category {
    font-size: 11px;
  }
  body .section--product .block--detail .price-number {
    display: inline-block;
  }
  body .section--product .block--detail .price {
    font-size: 18px;
  }
  body .section--product .block--detail .tax {
    font-size: 11px;
  }
  body .section--product .block--detail .product--number {
    font-size: 12px;
    display: inline-block;
    margin-left: 1em;
  }
  body .section--product .block--detail .middle--name {
    font-size: 14px;
    margin-bottom: 15px;
  }
  body .section--product .block--detail .track--list {
    margin-bottom: 30px;
  }
  body .section--product .block--detail .track--list .number {
    font-size: 16px;
  }
  body .section--product .block--detail .track--list .list--txt {
    font-size: 15px;
  }
  body .section--product .block--detail .attention--box {
    padding: 8% 6%;
    border-radius: 24px;
  }
  body .section--product .block--detail .attention--box .attention--list {
    font-size: 13px;
  }
  body .section--product .block--detail .btn--middle a {
    max-width: 350px;
    width: 70%;
    font-size: 18px;
  }
  body .section--benefit {
    padding-bottom: 14%;
    margin-bottom: 130px;
  }
  body .section--benefit .section-tit {
    margin-bottom: 110px;
  }
  body .section--benefit .block--benefit {
    width: 84vw;
    max-width: 1800px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%;
  }
  body .section--benefit .benefit--item .item--img {
    border-radius: 8px;
    margin-bottom: 25px;
  }
  body .section--benefit .benefit--item .benefit--detail .sub--txt {
    font-size: 15px;
    margin-bottom: 15px;
  }
  body .section--benefit .benefit--item .benefit--detail .sub--txt .supplement {
    font-size: 12px;
  }
  body .section--benefit .benefit--item .benefit--detail dl.definition-list.first {
    margin-bottom: 30px;
  }
  body .section--benefit .benefit--item .benefit--detail dl.definition-list.second {
    margin-bottom: 10px;
  }
  body .section--benefit .benefit--item .benefit--detail dt {
    font-size: 12px;
    width: 140px;
    margin-bottom: 5px;
  }
  body .section--benefit .benefit--item .benefit--detail dd {
    font-size: 15px;
  }
  body .section--benefit .benefit--item .benefit--detail .attention--txt {
    font-size: 12px;
    margin-bottom: 20px;
  }
  body .section--benefit .benefit--item .benefit--detail .btn--small a {
    width: 80%;
    max-width: 320px;
    min-width: 240px;
    font-size: clamp(12px, 1vw, 14px);
  }
  body .section--benefit .benefit--item .benefit--detail .tit {
    font-size: 15px;
    margin-bottom: 25px;
  }
  body .section--benefit .benefit--item .benefit--detail .tit .supplement {
    font-size: 12px;
  }
  body .section--event .block--event {
    width: 70vw;
    max-width: 1800px;
  }
  body .section--event .event--date,
  body .section--event .event--contents {
    border-radius: 8px;
    padding: 4% 8%;
  }
  body .section--event h3 {
    font-size: 26px;
    margin-bottom: 20px;
    text-align: center;
  }
  body .section--event .event--date .date {
    text-align: center;
    font-size: 17px;
  }
  body .section--event .event--contents .contents--txt {
    font-size: 20px;
    padding-bottom: 40px;
    margin-bottom: 40px;
    text-align: center;
  }
  body .section--event .event--contents .attention--list {
    font-size: 12px;
  }
  body .section--event .event--contents .definition--list {
    margin-bottom: 30px;
  }
  body .section--event .event--contents .definition--list.group--photo .description--winning {
    margin-bottom: 20px;
  }
  body .section--event .event--contents .definition--list .description--contents,
  body .section--event .event--contents .definition--list .description--winning {
    font-size: 15px;
  }
  body .section--event .event--contents .award--b--initial {
    margin-bottom: 40px;
  }
  body .section--event .event--contents .term,
  body .section--event .event--contents .award {
    font-size: 16px;
  }
  body .section--event .event--contents .definition--list.goods {
    padding: 30px 10%;
    border-radius: 30px;
  }
  body .section--event .event--contents .definition--list.goods .term {
    font-size: 20px;
    padding: 0 0 25px 0;
    margin-bottom: 25px;
    text-align: center;
  }
  body .section--event .event--contents .definition--list.goods .description .goods--ttl {
    font-size: 21px;
    margin-bottom: 20px;
    text-align: center;
  }
  body .section--event .event--contents .definition--list.goods .description ul {
    width: 50%;
    margin: 0 auto;
    min-width: 400px;
    font-size: 14px;
  }
  body .section--event .event--contents .definition--list.goods .description ul li span {
    margin-left: 1em;
  }
  body .footer {
    aspect-ratio: 700/491;
    background-position-y: 25%;
  }
  body .footer .block--support {
    width: 40%;
    min-width: 450px;
    max-width: 800px;
    aspect-ratio: 1/1;
    background-color: #F2FAE7;
    border-radius: 10000px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  body .footer .block--support .block--link .support--link {
    margin-bottom: 0.4em;
  }
  body .footer .block--support .block--link .support--link a {
    font-size: 14px;
    transition: opacity 0.5s;
  }
  body .footer .block--support .block--link .support--link a:hover {
    opacity: 0.6;
  }
  body .footer .block--support .footer__logo {
    width: 25%;
    margin-bottom: 20px;
  }
  body .footer .block--support .copyright {
    bottom: 12%;
    font-size: 12px;
  }
  @keyframes wave-flow {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(-100%);
    }
  }
  @keyframes track-pc {
    from {
      top: 57%;
    }
    to {
      top: 50%;
    }
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  /* common.scss
  ============================== */
  .pc {
    display: none !important;
  }
  body main {
    margin-bottom: 70px;
  }
  body .delighter {
    transform: translateY(60px);
    transition: opacity 0.3s linear, transform 0.4s linear;
  }
  body .background--texture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/benefit/background--sp.webp");
    background-size: contain;
    z-index: -1;
    background-repeat: repeat;
    opacity: 0;
    transition: all 0.5s;
  }
  body.loadedA .section--hero .kv {
    opacity: 1;
    filter: blur(0);
    transform: translate(0) scale(1);
    animation: mask-circle 2.3s cubic-bezier(0.4, 0, 0.25, 1) forwards;
  }
  body.loadedB .section--hero .hero__roop--logo {
    opacity: 1;
    filter: blur(0);
  }
  body.color-change01 .background--texture {
    opacity: 1;
  }
  body.color-change02 .background--texture {
    opacity: 0;
  }
  body .left--ornament .loop--wave,
  body .right--ornament .loop--wave {
    width: clamp(100px, 760vw, 2500px);
    animation: wave-flow-sp 150s linear infinite;
  }
  body .left--ornament img,
  body .right--ornament img {
    vertical-align: middle;
  }
  body .left--ornament {
    position: fixed;
    top: 0;
    left: 0;
    transform: translateY(-50%);
    z-index: 10;
  }
  body .right--ornament {
    position: fixed;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
    z-index: 10;
  }
  body .section--hero {
    padding: 0 8%;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100svh;
  }
  body .section--hero .kv {
    width: 100%;
    margin-bottom: 5svh;
    transform: translateY(20%) scale(1);
    transition: transform 1s, opacity 1.5s, filter 1s cubic-bezier(0, 0, 0.3, 1);
  }
  body .section--hero .hero__roop--logo {
    width: 80%;
    margin: 0 auto;
    filter: blur(10px);
    opacity: 0;
    transition: opacity 1.5s, filter 1s cubic-bezier(0, 0, 0.3, 1);
  }
  body .section--track {
    width: 90%;
    max-width: 650px;
    padding: 15% 8%;
    border-radius: 15px;
    aspect-ratio: 347/587;
    margin: 0 auto 60px;
  }
  body .section--track.delighter.started .track--area {
    animation: track-sp 0.4s linear 0.3s forwards;
  }
  body .section--track .block--track {
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    border-radius: 500px;
    padding: 30% 5%;
    z-index: 5;
    position: relative;
  }
  body .section--track .block--track .track--area {
    top: 20px;
  }
  body .section--track .block--track--list {
    text-align: center;
  }
  body .section--track .track--list {
    display: inline-block;
    text-align: left;
  }
  body .section--track .track--list li {
    margin-bottom: 0.5em;
  }
  body .section--track .section-tit {
    font-size: clamp(25px, 8vw, 40px);
    margin-bottom: 4px;
  }
  body .section--track .sub-txt {
    font-size: 12px;
    margin-bottom: 20px;
  }
  body .section--track .number {
    font-size: clamp(11px, 3vw, 16px);
  }
  body .section--track .list--txt {
    font-size: clamp(12px, 3.1vw, 17px);
  }
  body .section--product .roop--tit,
  body .section--product .tit--txt,
  body .section--benefit .roop--tit,
  body .section--benefit .tit--txt,
  body .section--event .roop--tit,
  body .section--event .tit--txt {
    padding-right: 7vw;
  }
  body .section--product .roop--tit .tit--txt,
  body .section--benefit .roop--tit .tit--txt,
  body .section--event .roop--tit .tit--txt {
    font-size: 16vw;
  }
  body .section--product .roop--tit div,
  body .section--benefit .roop--tit div,
  body .section--event .roop--tit div {
    width: 25vw;
    vertical-align: 3.3vw;
  }
  body .section--product .section-tit {
    margin-bottom: 60px;
  }
  body .section--product .block--detail {
    width: 90%;
    max-width: 650px;
    margin: 0 auto 60px;
    display: block;
  }
  body .section--product .block--detail.jacket--b {
    flex-direction: row-reverse;
  }
  body .section--product .block--detail.jacket--b .block--tit .tit--sp,
  body .section--product .block--detail.jacket--b .block--tit .version--name--sp {
    color: #63A53B;
  }
  body .section--product .block--detail.jacket--regular {
    margin: 0 auto 60px;
  }
  body .section--product .block--detail .block--tit {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
  }
  body .section--product .block--detail .block--tit .tit--sp,
  body .section--product .block--detail .block--tit .version--name--sp {
    color: #DF602F;
  }
  body .section--product .block--detail .block--tit .tit--sp {
    font-size: 20px;
    font-weight: 600;
  }
  body .section--product .block--detail .block--tit .version--name--sp {
    font-family: "area-extended", sans-serif;
    font-size: 10px;
  }
  body .section--product .block--detail .flex--item {
    width: 100%;
  }
  body .section--product .block--detail .flex--item.first--item {
    margin-bottom: 10px;
  }
  body .section--product .block--detail .jacket--image,
  body .section--product .block--detail .flex--item.second--item {
    border-radius: 8px;
  }
  body .section--product .block--detail .jacket--image {
    margin-bottom: 10px;
  }
  body .section--product .block--detail .product__add--image {
    margin-bottom: 10px;
  }
  body .section--product .block--detail .flex--item.second--item {
    padding: 10% 5%;
    position: relative;
  }
  body .section--product .block--detail .version--name {
    position: absolute;
    top: 3%;
    right: 3%;
    font-size: 11px;
    text-align: right;
  }
  body .section--product .block--detail .detail--title {
    margin-bottom: 15px;
    justify-content: space-between;
  }
  body .section--product .block--detail .head--name {
    font-size: 16px;
    font-weight: 600;
  }
  body .section--product .block--detail .detail--category {
    font-size: 9px;
  }
  body .section--product .block--detail .price-number {
    display: inline-block;
  }
  body .section--product .block--detail .price {
    font-size: 14px;
  }
  body .section--product .block--detail .tax {
    font-size: 10px;
  }
  body .section--product .block--detail .product--number {
    font-size: 10px;
    display: inline-block;
    margin-left: 1em;
  }
  body .section--product .block--detail .middle--name {
    font-size: 12px;
    margin-bottom: 15px;
  }
  body .section--product .block--detail .track--list {
    margin-bottom: 30px;
  }
  body .section--product .block--detail .track--list li {
    margin-bottom: 0.4em;
  }
  body .section--product .block--detail .track--list .number {
    font-size: 12px;
  }
  body .section--product .block--detail .track--list .list--txt {
    font-size: 13px;
  }
  body .section--product .block--detail .attention--box {
    border-radius: 8px;
    padding: 6% 5%;
  }
  body .section--product .block--detail .attention--box .attention--list {
    font-size: 13px;
  }
  body .section--product .block--detail .btn--middle a {
    max-width: 350px;
    min-width: 280px;
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 600;
  }
  body .section--benefit {
    margin-bottom: 10px;
  }
  body .section--benefit .section-tit {
    margin-bottom: 30px;
  }
  body .section--benefit .benefit--item {
    width: 100%;
    padding: 50px 10%;
    position: relative;
  }
  body .section--benefit .benefit--item:last-child::after {
    display: none;
  }
  body .section--benefit .benefit--item::after {
    content: " ";
    position: absolute;
    width: 100%;
    height: 1%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/benefit/wave-line-sp.svg");
    background-size: 100%;
    background-repeat: no-repeat;
  }
  body .section--benefit .benefit--item .item--img {
    border-radius: 8px;
    margin-bottom: 25px;
  }
  body .section--benefit .benefit--item .benefit--detail .sub--txt {
    font-size: 14px;
    margin-bottom: 15px;
    font-weight: 400;
  }
  body .section--benefit .benefit--item .benefit--detail .sub--txt .supplement {
    font-size: 12px;
  }
  body .section--benefit .benefit--item .benefit--detail dl.definition-list.first {
    margin-bottom: 30px;
  }
  body .section--benefit .benefit--item .benefit--detail dl.definition-list.second {
    margin-bottom: 10px;
  }
  body .section--benefit .benefit--item .benefit--detail dt {
    font-size: 12px;
    width: 140px;
    margin-bottom: 5px;
  }
  body .section--benefit .benefit--item .benefit--detail dd {
    font-size: 15px;
  }
  body .section--benefit .benefit--item .benefit--detail .attention--txt {
    font-size: 12px;
    margin-bottom: 20px;
  }
  body .section--benefit .benefit--item .benefit--detail .btn--small a {
    width: 100%;
    max-width: 300px;
    font-weight: 600;
  }
  body .section--benefit .benefit--item .benefit--detail .tit {
    font-size: 15px;
    margin-bottom: 25px;
  }
  body .section--benefit .benefit--item .benefit--detail .tit .supplement {
    font-size: 12px;
  }
  body .section--event .block--event {
    margin: 0 auto;
    width: 90%;
    max-width: 650px;
  }
  body .section--event .section-tit {
    margin-bottom: 60px;
  }
  body .section--event .event--date,
  body .section--event .event--contents {
    padding: 10% 5%;
    border-radius: 8px;
  }
  body .section--event h3 {
    font-size: 17px;
    margin-bottom: 20px;
  }
  body .section--event .event--contents {
    padding-bottom: 30px;
  }
  body .section--event .event--contents .contents--txt {
    font-size: 15px;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  body .section--event .event--contents .attention--list {
    font-size: 11px;
  }
  body .section--event .event--contents .definition--list {
    margin-bottom: 26px;
  }
  body .section--event .event--contents .definition--list.group--photo .description--winning {
    margin-bottom: 10px;
  }
  body .section--event .event--contents .award--b--initial {
    margin-bottom: 30px;
  }
  body .section--event .event--contents .term,
  body .section--event .event--contents .award {
    font-size: 14px;
    margin-bottom: 10px;
  }
  body .section--event .event--contents .definition--list.goods {
    border-radius: 8px;
    padding: 8% 5%;
  }
  body .section--event .event--contents .definition--list.goods .term {
    font-size: 16px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    text-align: center;
  }
  body .section--event .event--contents .definition--list.goods .goods--ttl {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: center;
  }
  body .section--event .event--contents .definition--list.goods .description ul li {
    margin-bottom: 10px;
    font-weight: 600;
  }
  body .section--event .event--contents .definition--list.goods .description ul li:last-child {
    margin-bottom: 0;
  }
  body .section--event .event--contents .definition--list.goods .description ul li span {
    margin-left: 0.5em;
    font-weight: 300;
  }
  body .section--event .event--contents .definition--list.goods .description ul li .attention {
    font-weight: 300;
  }
  body .footer {
    aspect-ratio: 75/166;
    background-position-x: 25%;
  }
  body .footer::before {
    background-size: 100%;
  }
  body .footer .block--support {
    width: 80%;
    max-width: 320px;
    aspect-ratio: 94/165;
    background-color: #F2FAE7;
    border-radius: 500px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  body .footer .block--support .block--link .support--link {
    margin-bottom: 0.8em;
  }
  body .footer .block--support .block--link .support--link a {
    font-size: 14px;
  }
  body .footer .block--support .footer__logo {
    width: 45%;
    margin-bottom: 20px;
  }
  body .footer .block--support .copyright {
    bottom: 14%;
    font-size: 10px;
    font-weight: 600;
    width: 100%;
    text-align: center;
  }
  @keyframes track-sp {
    from {
      top: 20px;
    }
    to {
      top: 0;
    }
  }
  @keyframes wave-flow-sp {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }
}
@media screen and (min-width: 500px) and (max-width: 961px) {
  body main {
    margin-bottom: 20%;
  }
  body .background--texture {
    background-image: url("/static/twice/official/feature/5th_album_kohwq403/img/benefit/background--tablet.webp");
  }
  body .block--fv {
    width: 70%;
  }
  body .section--product .section-tit .roop--tit .tit--txt,
  body .section--benefit .section-tit .roop--tit .tit--txt,
  body .section--event .section-tit .roop--tit .tit--txt {
    font-size: 11vw;
  }
  body .section--product .section-tit .roop--tit div,
  body .section--benefit .section-tit .roop--tit div,
  body .section--event .section-tit .roop--tit div {
    width: 17vw;
    vertical-align: 2.3vw;
  }
  body .section--benefit {
    margin-bottom: 270px;
  }
  body .section--benefit .section-tit {
    margin-bottom: 50px;
  }
  body .section--benefit .block--benefit {
    width: 90%;
    max-width: 650px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2% 5%;
  }
  body .section--benefit .benefit--item {
    padding: 0;
  }
  body .section--benefit .benefit--item::after {
    display: none;
  }
  body .section--event .event--contents .definition--list.goods {
    padding: 30px 5%;
  }
  body .section--event .event--contents .definition--list.goods .term {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  body .footer {
    aspect-ratio: 75/90;
  }
  body .footer .block--support {
    max-width: 370px;
  }
}
@media screen and (min-width: 500px) and (max-width: 961px) and (max-width: 600px) {
  body .footer .block--support {
    max-width: 320px;
  }
}/*# sourceMappingURL=style.css.map */