@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&family=Zen+Old+Mincho:wght@400;700;900&display=swap");
@-webkit-keyframes animation-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animation-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes animation-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 15px);
            transform: translate(0, 15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes animation-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 15px);
            transform: translate(0, 15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes animation-fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate(-25px, 0);
            transform: translate(-25px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes animation-fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate(-25px, 0);
            transform: translate(-25px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes animation-square01 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(110px, 110px);
            transform: translate(110px, 110px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes animation-square01 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(110px, 110px);
            transform: translate(110px, 110px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes animation-square02 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-210px, 200px);
            transform: translate(-210px, 200px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes animation-square02 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-210px, 200px);
            transform: translate(-210px, 200px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes animation-square04 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-150px, 135px);
            transform: translate(-150px, 135px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes animation-square04 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-150px, 135px);
            transform: translate(-150px, 135px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes animation-square05 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(130px, -110px);
            transform: translate(130px, -110px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes animation-square05 {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    -webkit-transform: translate(130px, -110px);
            transform: translate(130px, -110px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes animation-squareLine {
  0% {
    background-size: 1px 0, 0 1px, 1px 0, 0 1px;
  }
  25% {
    background-size: 1px 100%, 0 1px, 1px 0, 0 1px;
  }
  50% {
    background-size: 1px 100%, 100% 1px, 1px 0, 0 1px;
  }
  75% {
    background-size: 1px 100%, 100% 1px, 1px 100%, 0 1px;
  }
  100% {
    background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
  }
}
@keyframes animation-squareLine {
  0% {
    background-size: 1px 0, 0 1px, 1px 0, 0 1px;
  }
  25% {
    background-size: 1px 100%, 0 1px, 1px 0, 0 1px;
  }
  50% {
    background-size: 1px 100%, 100% 1px, 1px 0, 0 1px;
  }
  75% {
    background-size: 1px 100%, 100% 1px, 1px 100%, 0 1px;
  }
  100% {
    background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
  }
}
#rhythm-2024winter {
  font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #666666;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
#rhythm-2024winter .fcEN {
  font-family: "EB Garamond", serif;
}
#rhythm-2024winter img {
  max-width: 100%;
}
#rhythm-2024winter .iv, #rhythm-2024winter .ivo, #rhythm-2024winter .inview {
  visibility: hidden;
}
#rhythm-2024winter .fadeIn {
  -webkit-animation: animation-fadeIn 1s ease-in 0.5s both;
          animation: animation-fadeIn 1s ease-in 0.5s both;
}
#rhythm-2024winter .fadeInUp {
  -webkit-animation: animation-fadeInUp 1s ease-in-out 1s both;
          animation: animation-fadeInUp 1s ease-in-out 1s both;
}
#rhythm-2024winter .fadeInLft {
  -webkit-animation: animation-fadeInLeft 1s ease-in-out 2s both;
          animation: animation-fadeInLeft 1s ease-in-out 2s both;
}
#rhythm-2024winter .fadeInBR {
  -webkit-animation: animation-fadeInBR 0.5s ease-in 1s both;
          animation: animation-fadeInBR 0.5s ease-in 1s both;
}
#rhythm-2024winter .square01 {
  -webkit-animation: animation-square01 1s ease-in 2s both;
          animation: animation-square01 1s ease-in 2s both;
}
#rhythm-2024winter .square02 {
  -webkit-animation: animation-square02 1s ease-in 2s both;
          animation: animation-square02 1s ease-in 2s both;
}
#rhythm-2024winter .square04 {
  -webkit-animation: animation-square04 1s ease-in 2s both;
          animation: animation-square04 1s ease-in 2s both;
}
#rhythm-2024winter .square05 {
  -webkit-animation: animation-square05 1s ease-in 2s both;
          animation: animation-square05 1s ease-in 2s both;
}
#rhythm-2024winter .squareLine {
  -webkit-animation: 1.5s animation-squareLine 0.5s linear forwards;
          animation: 1.5s animation-squareLine 0.5s linear forwards;
}
#rhythm-2024winter .c-outer {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
#rhythm-2024winter .c-inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
#rhythm-2024winter p {
  margin: 0;
}
#rhythm-2024winter a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#rhythm-2024winter a:hover {
  opacity: 0.7;
}
#rhythm-2024winter .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#rhythm-2024winter .flexbox.-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#rhythm-2024winter .mv {
  width: 100%;
  text-align: center;
}
#rhythm-2024winter .lead {
  margin-top: 80px;
}
#rhythm-2024winter .lead__txt {
  font-size: 16px;
  line-height: 3.7;
  letter-spacing: 0.05em;
  text-align: center;
  z-index: 1;
  margin-top: 66px;
}
#rhythm-2024winter .code {
  margin-top: 95px;
  padding-bottom: 80px;
}
#rhythm-2024winter .code--number01 {
  color: #fff;
  background: #063d71;
}
#rhythm-2024winter .code--number03 {
  color: #fff;
  background: #a3a18f;
  margin-top: 0;
}
#rhythm-2024winter .code--number05 {
  color: #fff;
  background: #17293a;
  margin-top: 0;
}
#rhythm-2024winter .code__title {
  width: 470px;
}
#rhythm-2024winter .code__title--right {
  margin: 0 0 0 auto;
}
#rhythm-2024winter .code__lead {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.2em;
  text-align: left;
  padding-left: 0.2em;
  margin: 100px auto 0;
}
#rhythm-2024winter .code__lead--center {
  text-align: center;
}
#rhythm-2024winter .code__lead--column4 {
  width: 790px;
}
#rhythm-2024winter .code__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 40px auto 0;
}
#rhythm-2024winter .code__img--column1 {
  width: 529px;
}
#rhythm-2024winter .code__img--column2 {
  width: 900px;
}
#rhythm-2024winter .code__img--column2 p {
  width: 440px;
}
#rhythm-2024winter .code__img--column3 {
  position: relative;
}
#rhythm-2024winter .code__img--column3 p {
  width: 496px;
}
#rhythm-2024winter .code__img--column3 p:first-of-type {
  width: 450px;
}
#rhythm-2024winter .code__img--column3 p:last-of-type {
  position: absolute;
  bottom: 0;
  right: 0;
}
#rhythm-2024winter .code__img--column4 {
  width: 790px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#rhythm-2024winter .code__img--column4 p {
  width: 385px;
}
#rhythm-2024winter .code__img--column4 p:nth-of-type(n+3) {
  margin-top: 20px;
}
#rhythm-2024winter .code__body {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 43px;
}
#rhythm-2024winter .code__credit {
  font-size: 12px;
  line-height: 1.33;
  margin-top: 95px;
}
#rhythm-2024winter .code__credit--left {
  text-align: left;
}
#rhythm-2024winter .code__credit--right {
  text-align: right;
}
#rhythm-2024winter .code__link {
  display: inline-block;
  font-size: 12px;
  color: inherit;
  margin-top: 1.1em;
  text-decoration: underline;
}
#rhythm-2024winter .foot {
  color: #fff;
  background: #a1aeb1;
  text-align: center;
  padding-top: 75px;
  padding-bottom: 105px;
}
#rhythm-2024winter .foot__logo {
  width: 180px;
  margin: 0 auto 15px;
}
#rhythm-2024winter .foot__season {
  font-size: 13px;
  text-align: center;
  margin: 40px auto 0;
}
#rhythm-2024winter .foot__staff {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.66;
  margin-top: 20px;
}
#rhythm-2024winter .foot__note {
  font-size: 14px;
  margin: 70px 0 50px;
}
#rhythm-2024winter .foot__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  width: 100%;
  max-width: 568px;
  height: 44px;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #999;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin-left: auto;
  margin-right: auto;
}
#rhythm-2024winter .foot__btn:hover {
  opacity: 0.8;
}