html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  line-height: 1.5;
  letter-spacing: 0.2px;
  font-size: 12px;
  transition: all 1.6s ease 0s;
  background-color: #d8e9ef;
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 1.40625vw;
  }
}

video {
  display: block;
}
video--filter {
  filter: drop-shadow(0px 0px #000);
}

img {
  display: block;
  width: 100%;
}

a:hover {
  opacity: 0.6;
  transition: 0.6s;
}

@media screen and (min-width: 769px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .pcNone {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
  }
}

.did {
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 7.1794871795vw;
}
@media screen and (min-width: 769px) {
  .did {
    font-size: 2.8125vw;
  }
}

.did_ita {
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  font-size: 3.0769230769vw;
}

.ami {
  font-family: amita, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 15.3846153846vw;
}
@media screen and (min-width: 769px) {
  .ami {
    font-size: 7.8125vw;
  }
}

/* .btn
===================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid currentColor;
  border-radius: 999px;
  background: transparent;
  padding: 0.2564102564vw 4.1025641026vw;
  cursor: pointer;
}
.btn p {
  font-size: 3.0769230769vw;
}

/* .fv
===================================================== */
.fv {
  position: relative;
}
.fv .swiper-wrapper {
  transition-timing-function: linear;
}
.fv .fv_ttl {
  position: absolute;
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
  z-index: 10;
}
.fv .fv_ttl img {
  width: 20vw;
}
.fv .fv_ttl h1 {
  color: #fff;
}
.fv .fv_ttl p {
  color: #fff;
  font-size: 4.6153846154vw;
}
@media screen and (min-width: 769px) {
  .fv .fv_ttl p {
    font-size: 1.40625vw;
  }
}

/* PC split layout (768px+)
===================================================== */
@media screen and (min-width: 769px) {
  main {
    display: flex;
    align-items: flex-start;
  }
  .fv {
    position: sticky;
    top: 0;
    width: 33.3333333333%;
    height: 100vh;
    flex-shrink: 0;
    overflow: hidden;
  }
  .fv .swiper,
  .fv .swiper-wrapper,
  .fv .swiper-slide {
    height: 100%;
  }
  .fv .swiper-slide img {
    height: 100%;
    object-fit: cover;
  }
  .fv .fv_ttl img {
    width: 8vw;
  }
  .container {
    width: 66.6666666667%;
  }
}
/* .read
===================================================== */
.read {
  text-align: center;
  margin-top: 10vw;
}
.read h2 {
  font-size: 4.6153846154vw;
  font-weight: 600;
  margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
  .read h2 {
    font-size: 2.1875vw;
    margin-bottom: 2vw;
  }
}

/* .on_off_btn*/
@keyframes fadeInOut {
  0%, 45% {
    opacity: 1;
  }
  50%, 95% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.on_off_btn {
  position: relative;
  width: 28vw;
  margin: 8vw auto;
}
.on_off_btn .on_btn {
  animation: fadeInOut 4s ease-in-out infinite;
}
.on_off_btn .off_btn {
  position: absolute;
  top: 0;
  left: 0;
  animation: fadeInOut 4s ease-in-out infinite;
  animation-delay: -2s;
}

/* .lineup
===================================================== */
.lineup {
  margin-top: 16vw;
}
.lineup p {
  text-align: center;
}
.lineup .lineup_btn {
  display: flex;
  gap: 2vw;
  margin: 2vw;
}

/* .sec1
===================================================== */
#sec1 .sec1_ttl {
  height: 60vw;
  position: relative;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_ttl {
    height: 40vw;
  }
}
#sec1 .sec1_ttl p {
  position: absolute;
  bottom: -6vw;
  left: 12vw;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_ttl p {
    bottom: 2vw;
  }
}
#sec1 .sec1_ttl .ttl01 {
  position: absolute;
  top: 24vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_ttl .ttl01 {
    top: 13vw;
  }
}
#sec1 .sec1_ttl .ttl01 .wire_char {
  position: absolute;
  width: 3.5897435897vw;
  transform-origin: top center;
}
#sec1 .sec1_container .on_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec1 .sec1_container .on_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec1 .sec1_container .on_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 25vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 16vw;
    left: 2vw;
  }
}
#sec1 .sec1_container .on_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
  margin-bottom: 1vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .sec_name span {
    font-size: 2.1875vw;
  }
}
#sec1 .sec1_container .on_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .style_item_right {
    padding: 0 2vw;
  }
}
#sec1 .sec1_container .on_page .style_item .style_item_right img {
  width: 80%;
  margin: 0 auto;
}
#sec1 .sec1_container .on_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec1 .sec1_container .on_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec1 .sec1_container .on_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec1 .sec1_container .on_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec1 .sec1_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec1 .sec1_container .on_page .on_box {
  margin-left: 8vw;
  margin-top: 20vw;
}
#sec1 .sec1_container .on_page .on_box.on_box--right {
  margin-left: 0;
  margin-right: 8vw;
}
#sec1 .sec1_container .on_page .on_box.on_box--right .credit {
  margin-left: 0;
  margin-right: -8vw;
}
#sec1 .sec1_container .on_page .on_box .on_box_img {
  width: 45%;
  margin-bottom: -6vw;
}
#sec1 .sec1_container .on_page .on_box .on_img {
  display: flex;
  gap: 2.0512820513vw;
}
#sec1 .sec1_container .on_page .on_box .on_img .on_img_col--left,
#sec1 .sec1_container .on_page .on_box .on_img .on_img_col--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
#sec1 .sec1_container .on_page .on_box .on_img .on_img_col--left {
  margin-top: 10vw;
}
#sec1 .sec1_container .on_page .on_box .credit {
  margin-left: -8vw;
  margin-top: 10vw;
  padding: 0 10vw;
}
@media screen and (min-width: 769px) {
  #sec1 .sec1_container .on_page .on_box .credit {
    padding: 0 4vw;
  }
}
#sec1 .sec1_container .on_page .on_box .credit li {
  display: flex;
  align-items: center;
  gap: 3.0769230769vw;
  padding: 2.5641025641vw 0;
  border-top: 0.5px solid #999;
}
#sec1 .sec1_container .on_page .on_box .credit li:last-child {
  border-bottom: 0.5px solid #999;
}
#sec1 .sec1_container .on_page .on_box .credit li img {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  object-fit: cover;
  flex-shrink: 0;
}
#sec1 .sec1_container .on_page .on_box .credit li .credit_txt {
  flex: 1;
  font-family: linotype-didot, serif;
  font-style: italic;
}
#sec1 .sec1_container .on_page .on_box .credit li .credit_txt p:first-child {
  font-size: 2.8205128205vw;
}
#sec1 .sec1_container .on_page .on_box .credit li .credit_txt p:last-child {
  font-size: 2.8205128205vw;
  margin-top: 0.5128205128vw;
}
#sec1 .off_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec1 .off_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec1 .off_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 25vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 16vw;
    left: 2vw;
  }
}
#sec1 .off_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
}
#sec1 .off_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
#sec1 .off_page .style_item .style_item_right img {
  width: 80%;
  margin: 6px auto;
}
#sec1 .off_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec1 .off_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec1 .off_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec1 .off_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec1 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec1 .off_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec1 .off_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec1 .off_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 25vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 16vw;
    left: 2vw;
  }
}
#sec1 .off_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
  margin-bottom: 1vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .sec_name span {
    font-size: 2.1875vw;
  }
}
#sec1 .off_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right {
    padding: 0 2vw;
  }
}
#sec1 .off_page .style_item .style_item_right img {
  width: 80%;
  margin: 0 auto;
}
#sec1 .off_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec1 .off_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec1 .off_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec1 .off_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec1 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec1 .off_box {
  margin-left: 8vw;
  margin-top: 20vw;
}
#sec1 .off_box .off_box_img {
  width: 45%;
  margin-bottom: -6vw;
}
#sec1 .off_box .off_img {
  display: flex;
  gap: 2.0512820513vw;
}
#sec1 .off_box .off_img .off_img_col--left,
#sec1 .off_box .off_img .off_img_col--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
#sec1 .off_box .off_img .off_img_col--left {
  margin-top: 10vw;
}
#sec1 .off_box .credit {
  margin-left: -8vw;
  margin-top: 10vw;
  padding: 0 10vw;
}
@media screen and (min-width: 769px) {
  #sec1 .off_box .credit {
    padding: 0 4vw;
  }
}
#sec1 .off_box .credit li {
  display: flex;
  align-items: center;
  gap: 3.0769230769vw;
  padding: 2.5641025641vw 0;
  border-top: 0.5px solid #999;
}
#sec1 .off_box .credit li:last-child {
  border-bottom: 0.5px solid #999;
}
#sec1 .off_box .credit li img {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  object-fit: cover;
  flex-shrink: 0;
}
#sec1 .off_box .credit li .credit_txt {
  flex: 1;
  font-family: linotype-didot, serif;
  font-style: italic;
}
#sec1 .off_box .credit li .credit_txt p:first-child {
  font-size: 2.8205128205vw;
}
#sec1 .off_box .credit li .credit_txt p:last-child {
  font-size: 2.8205128205vw;
  margin-top: 0.5128205128vw;
}

/* on/off toggle buttons */
.on_page .style_item_right > img,
.on_page .on_box > img.on_box_img,
.off_page .style_item_right > img,
.off_page .off_box > img.off_box_img {
  cursor: pointer;
}

/* .sec2
===================================================== */
#sec2 .sec2_ttl {
  height: 60vw;
  position: relative;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_ttl {
    height: 40vw;
  }
}
#sec2 .sec2_ttl p {
  position: absolute;
  bottom: -6vw;
  right: -6vw;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_ttl p {
    right: 0;
  }
}
#sec2 .sec2_ttl .ttl02 {
  position: absolute;
  top: 14vw;
}
#sec2 .sec2_ttl .ttl02 .wire_char {
  position: absolute;
  width: 3.5897435897vw;
  transform-origin: top center;
}
#sec2 .sec2_container .on_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec2 .sec2_container .on_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec2 .sec2_container .on_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 22vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 14vw;
    left: 2vw;
  }
}
#sec2 .sec2_container .on_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
  margin-bottom: 1vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .sec_name span {
    font-size: 2.1875vw;
  }
}
#sec2 .sec2_container .on_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .style_item_right {
    padding: 0 2vw;
  }
}
#sec2 .sec2_container .on_page .style_item .style_item_right img {
  width: 80%;
  margin: 4vw 0 0;
}
#sec2 .sec2_container .on_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 85vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .style_item_right .style_box {
    height: 55vw;
  }
}
#sec2 .sec2_container .on_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 2vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec2 .sec2_container .on_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec2 .sec2_container .on_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec2 .sec2_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec2 .sec2_container .on_page .on_box {
  margin: 20vw 4vw 0;
}
#sec2 .sec2_container .on_page .on_box.on_box--right {
  margin-left: 0;
  margin-right: 8vw;
}
#sec2 .sec2_container .on_page .on_box.on_box--right .credit {
  margin-left: 0;
  margin-right: -8vw;
}
#sec2 .sec2_container .on_page .on_box .on_box_img {
  width: 45%;
  margin-bottom: -6vw;
}
#sec2 .sec2_container .on_page .on_box .on_img {
  display: flex;
  gap: 2.0512820513vw;
}
#sec2 .sec2_container .on_page .on_box .on_img .on_img_col--left,
#sec2 .sec2_container .on_page .on_box .on_img .on_img_col--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
#sec2 .sec2_container .on_page .on_box .on_img .on_img_col--left {
  margin-top: 10vw;
}
#sec2 .sec2_container .on_page .on_box .credit {
  margin-top: 10vw;
  padding: 0 10vw;
}
@media screen and (min-width: 769px) {
  #sec2 .sec2_container .on_page .on_box .credit {
    padding: 0;
  }
}
#sec2 .sec2_container .on_page .on_box .credit li {
  display: flex;
  align-items: center;
  gap: 3.0769230769vw;
  padding: 2.5641025641vw 0;
  border-top: 0.5px solid #999;
}
#sec2 .sec2_container .on_page .on_box .credit li:last-child {
  border-bottom: 0.5px solid #999;
}
#sec2 .sec2_container .on_page .on_box .credit li img {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  object-fit: cover;
  flex-shrink: 0;
}
#sec2 .sec2_container .on_page .on_box .credit li .credit_txt {
  flex: 1;
  font-family: linotype-didot, serif;
  font-style: italic;
}
#sec2 .sec2_container .on_page .on_box .credit li .credit_txt p:first-child {
  font-size: 2.8205128205vw;
}
#sec2 .sec2_container .on_page .on_box .credit li .credit_txt p:last-child {
  font-size: 2.8205128205vw;
  margin-top: 0.5128205128vw;
}

/* .sec3
===================================================== */
#sec3 .sec1_ttl {
  height: 60vw;
  position: relative;
}
@media screen and (min-width: 769px) {
  #sec3 .sec1_ttl {
    height: 40vw;
  }
}
#sec3 .sec1_ttl p {
  position: absolute;
  bottom: -6vw;
  left: 12vw;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  #sec3 .sec1_ttl p {
    bottom: 4vw;
  }
}
#sec3 .sec1_ttl .ttl03 {
  position: absolute;
  top: 24vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec1_ttl .ttl03 {
    top: 13vw;
  }
}
#sec3 .sec1_ttl .ttl03 .wire_char {
  position: absolute;
  width: 3.5897435897vw;
  transform-origin: top center;
}
#sec3 .sec3_container .on_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec3 .sec3_container .on_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec3 .sec3_container .on_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 20vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 13vw;
    left: 2vw;
  }
}
#sec3 .sec3_container .on_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
}
#sec3 .sec3_container .on_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
#sec3 .sec3_container .on_page .style_item .style_item_right img {
  width: 80%;
  margin: 0 auto;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec3 .sec3_container .on_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec3 .sec3_container .on_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec3 .sec3_container .on_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 20vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 13vw;
    left: 2vw;
  }
}
#sec3 .sec3_container .on_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
  margin-bottom: 1vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .sec_name span {
    font-size: 2.1875vw;
  }
}
#sec3 .sec3_container .on_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right {
    padding: 0 2vw;
  }
}
#sec3 .sec3_container .on_page .style_item .style_item_right img {
  width: 80%;
  margin: 0 auto;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec3 .sec3_container .on_page .on_box {
  margin-left: 8vw;
  margin-top: 20vw;
}
#sec3 .sec3_container .on_page .on_box.on_box--right {
  margin-left: 0;
  margin-right: 8vw;
}
#sec3 .sec3_container .on_page .on_box.on_box--right .credit {
  margin-left: 0;
  margin-right: -8vw;
}
#sec3 .sec3_container .on_page .on_box .on_box_img {
  width: 45%;
  margin-bottom: -6vw;
}
#sec3 .sec3_container .on_page .on_box .on_img {
  display: flex;
  gap: 2.0512820513vw;
}
#sec3 .sec3_container .on_page .on_box .on_img .on_img_col--left,
#sec3 .sec3_container .on_page .on_box .on_img .on_img_col--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
#sec3 .sec3_container .on_page .on_box .on_img .on_img_col--left {
  margin-top: 10vw;
}
#sec3 .sec3_container .on_page .on_box .credit {
  margin-left: -8vw;
  margin-top: 10vw;
  padding: 0 10vw;
}
@media screen and (min-width: 769px) {
  #sec3 .sec3_container .on_page .on_box .credit {
    padding: 0 4vw;
  }
}
#sec3 .sec3_container .on_page .on_box .credit li {
  display: flex;
  align-items: center;
  gap: 3.0769230769vw;
  padding: 2.5641025641vw 0;
  border-top: 0.5px solid #999;
}
#sec3 .sec3_container .on_page .on_box .credit li:last-child {
  border-bottom: 0.5px solid #999;
}
#sec3 .sec3_container .on_page .on_box .credit li img {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  object-fit: cover;
  flex-shrink: 0;
}
#sec3 .sec3_container .on_page .on_box .credit li .credit_txt {
  flex: 1;
  font-family: linotype-didot, serif;
  font-style: italic;
}
#sec3 .sec3_container .on_page .on_box .credit li .credit_txt p:first-child {
  font-size: 2.8205128205vw;
}
#sec3 .sec3_container .on_page .on_box .credit li .credit_txt p:last-child {
  font-size: 2.8205128205vw;
  margin-top: 0.5128205128vw;
}
#sec3 .off_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec3 .off_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec3 .off_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 20vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 13vw;
    left: 2vw;
  }
}
#sec3 .off_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
}
#sec3 .off_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
#sec3 .off_page .style_item .style_item_right img {
  width: 80%;
  margin: 6px auto;
}
#sec3 .off_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec3 .off_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec3 .off_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec3 .off_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec3 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec3 .off_page .style_item {
  display: flex;
  margin-top: 16vw;
}
#sec3 .off_page .style_item .sec_name_wrap {
  position: relative;
  width: 40%;
}
#sec3 .off_page .style_item .sec_name {
  writing-mode: vertical-lr;
  position: absolute;
  top: 20vw;
  left: 4vw;
  transform: translateY(-50%);
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .sec_name {
    font-size: 2.8125vw;
    top: 13vw;
    left: 2vw;
  }
}
#sec3 .off_page .style_item .sec_name span {
  font-size: 3.5897435897vw;
  margin-bottom: 1vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .sec_name span {
    font-size: 2.1875vw;
  }
}
#sec3 .off_page .style_item .style_item_right {
  width: 60%;
  padding: 0 5vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right {
    padding: 0 2vw;
  }
}
#sec3 .off_page .style_item .style_item_right img {
  width: 80%;
  margin: 0 auto;
}
#sec3 .off_page .style_item .style_item_right .style_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 80vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box {
    height: 50vw;
  }
}
#sec3 .off_page .style_item .style_item_right .style_box .style_txt {
  margin-top: 6vw;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box .style_txt {
    font-size: 1.5625vw;
  }
}
#sec3 .off_page .style_item .style_item_right .style_box .style_txt .sab_ttl {
  font-size: 4.1025641026vw;
}
#sec3 .off_page .style_item .style_item_right .style_box .item_credit {
  display: flex;
  justify-content: space-between;
}
#sec3 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .style_item .style_item_right .style_box .item_credit .item_credit_txt p {
    font-size: 1.5625vw;
  }
}
#sec3 .off_page .off_box {
  margin-left: 8vw;
  margin-top: 20vw;
}
#sec3 .off_page .off_box .off_box_img {
  width: 45%;
  margin-bottom: -6vw;
}
#sec3 .off_page .off_box .off_img {
  display: flex;
  gap: 2.0512820513vw;
}
#sec3 .off_page .off_box .off_img .off_img_col--left,
#sec3 .off_page .off_box .off_img .off_img_col--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
#sec3 .off_page .off_box .off_img .off_img_col--left {
  margin-top: 10vw;
}
#sec3 .off_page .off_box .credit {
  margin-left: -8vw;
  margin-top: 10vw;
  padding: 0 10vw;
}
@media screen and (min-width: 769px) {
  #sec3 .off_page .off_box .credit {
    padding: 0 4vw;
  }
}
#sec3 .off_page .off_box .credit li {
  display: flex;
  align-items: center;
  gap: 3.0769230769vw;
  padding: 2.5641025641vw 0;
  border-top: 0.5px solid #999;
}
#sec3 .off_page .off_box .credit li:last-child {
  border-bottom: 0.5px solid #999;
}
#sec3 .off_page .off_box .credit li img {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  object-fit: cover;
  flex-shrink: 0;
}
#sec3 .off_page .off_box .credit li .credit_txt {
  flex: 1;
  font-family: linotype-didot, serif;
  font-style: italic;
}
#sec3 .off_page .off_box .credit li .credit_txt p:first-child {
  font-size: 2.8205128205vw;
}
#sec3 .off_page .off_box .credit li .credit_txt p:last-child {
  font-size: 2.8205128205vw;
  margin-top: 0.5128205128vw;
}

/* .all_btn
===================================================== */
.all_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background-color: #333333;
  padding: 1.0256410256vw 4.1025641026vw;
  margin: 10vw auto 30vw;
  width: 70%;
}
.all_btn p {
  font-size: 4.1025641026vw;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .all_btn p {
    font-size: 2.5vw;
  }
}

/* .btm
===================================================== */
.btm {
  display: grid;
}
.btm > img,
.btm .copy {
  grid-area: 1/1;
}
.btm > img {
  width: 100%;
}
.btm .copy {
  align-self: end;
  justify-self: center;
  margin-bottom: 10vw;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .btm .copy {
    margin-bottom: 5vw;
  }
}
.btm .copy img {
  width: 30vw;
  margin: 0 auto 2vw;
  filter: brightness(0);
}
@media screen and (min-width: 769px) {
  .btm .copy img {
    width: 10vw;
    margin: 0 auto 1vw;
  }
}
.btm .copy small {
  font-size: 2.0512820513vw;
}
@media screen and (min-width: 769px) {
  .btm .copy small {
    font-size: 0.9375vw;
  }
}/*# sourceMappingURL=style.css.map */