@charset "utf-8";
/* CSS Document */
.fv {
  padding-top: 74px;
  position: relative
}
@media screen and (max-width: 767px) {
  .fv {
    padding-top: 16px
  }
}
.fv-kv__wrap {
  padding-right: 20px;
  margin-right: auto;
  max-width: 1820px
}
.fv-sub__ttl {
  margin-left: auto;
  max-width: 264px
}
@media screen and (max-width: 767px) {
  .fv-sub__ttl {
    max-width: 88px
  }
}
.fv-kv {
  margin-top: 24px;
  position: relative
}
@media screen and (max-width: 767px) {
  .fv-kv {
    margin-top: 10px
  }
}
.fv-kv__caption {
  color: #fff;
  position: absolute;
  bottom: 4px;
  right: 4px;
  font-size: 12px
}
@media screen and (max-width: 767px) {
  .fv-kv__caption {
    display: block;
    color: #fff
  }
}
.fv-kv__ttl {
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 20px;
  margin-left: auto;
  margin-top: 42px
}
@media screen and (max-width: 767px) {
  .fv-kv__ttl {
    margin-top: 8px
  }
}
.fv-kv__ttl img {
  max-width: 1752px;
  width: 100%;
  height: auto
}
.fv-detail__wrap {
  margin-top: 136px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative
}
.fv-detail__wrap::before {
  position: absolute;
  content: "";
  width: 60%;
  height: 1px;
  background-color: #211815;
  top: 50%;
  right: 0
}
@media screen and (max-width: 767px) {
  .fv-detail__wrap::before {
    content: none
  }
}
@media screen and (max-width: 767px) {
  .fv-detail__wrap {
    margin-top: 22px;
    margin-right: auto
  }
}
.fv-detail__wrap img {
  max-width: 1560px;
  width: 100%;
  height: auto
}
@media screen and (max-width: 767px) {
  .fv-detail__wrap .c-width {
    padding-right: 0
  }
}
.fv-kv_accessWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 16px
}
@media screen and (max-width: 767px) {
  .fv-kv_accessWrap {
    margin-top: 8px
  }
}
.fv-kv_accessTxt {
  display: flex;
  align-items: baseline;
  gap: 16px;
  font-size: 16px
}
@media screen and (max-width: 767px) {
  .fv-kv_accessTxt {
    font-size: 12px;
    gap: 8px
  }
}
.fv-kv_accessTxt p .small {
  font-size: 14px
}
@media screen and (max-width: 767px) {
  .fv-kv_accessTxt p .small {
    font-size: 10px
  }
}
.fv-kv_accessTxt p .big {
  font-size: 20px
}
@media screen and (max-width: 767px) {
  .fv-kv_accessTxt p .big {
    font-size: 16px
  }
}
.fv-kv_accessMemo {
  font-size: 12px
}
@media screen and (max-width: 767px) {
  .fv-kv_accessMemo {
    font-size: 10px
  }
}
.s-modern {
  margin-top: 150px
}
@media screen and (max-width: 767px) {
  .s-modern {
    margin-top: 72px
  }
}
.p-modern {
  display: flex;
  justify-content: space-between;
  gap: 11%;
  padding-right: calc((100% - 1200px)/2)
}
@media screen and (max-width: 1271px) {
  .p-modern {
    padding-right: 20px
  }
}
@media screen and (max-width: 767px) {
  .p-modern {
    flex-direction: column-reverse;
    padding-right: 0
  }
}
.p-modern_txtCntr {
  max-width: 464px;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}
.p-modern_imgCntr {
  width: 57%
}
@media screen and (max-width: 767px) {
  .p-modern_imgCntr {
    width: 100%;
    margin-top: 32px
  }
}
.p-modern_txtImgWrap {
  position: relative;
  margin-top: 30px
}
@media screen and (max-width: 767px) {
  .p-modern_txtImgWrap.sp_none {
    display: none
  }
}
.p-modern_txtImgWrap.pc_none {
  display: none
}
@media screen and (max-width: 767px) {
  .p-modern_txtImgWrap.pc_none {
    display: block;
    margin-top: 32px
  }
}
.p-modern_imgWrap {
  position: relative
}
.p-modern_imgWrap + .p-modern_imgWrap {
  margin-top: 60px
}
@media screen and (max-width: 767px) {
  .p-modern_imgWrap + .p-modern_imgWrap {
    margin-top: 32px
  }
}
.p-modern_txt {
  margin-top: 30px
}
@media screen and (max-width: 767px) {
  .p-modern_txt {
    margin-top: 24px
  }
}
.s-section {
  margin-top: 54px
}
@media screen and (max-width: 767px) {
  .s-section {
    margin-top: 32px
  }
}
.p-section {
  position: relative;
  padding-left: calc((100% - 1200px)/2)
}
@media screen and (max-width: 767px) {
  .p-section {
    padding: 0;
    margin-left: 0
  }
}
@media screen and (max-width: 767px) {
  .p-section_ttl {
    text-align: center;
    font-size: 16px
  }
}
.p-section_ttlWrap {
  position: absolute;
  left: calc((100% - 1200px)/2);
  top: 20%;
  z-index: 2
}
@media screen and (max-width: 767px) {
  .p-section_ttlWrap {
    left: auto;
    right: 20px;
    position: static
  }
}
.p-section_imgWrap {
  width: 75.5%;
  margin-left: auto
}
@media screen and (max-width: 767px) {
  .p-section_imgWrap {
    width: 100%;
    margin-top: 30px
  }
}
.p-section_txt {
  margin-top: 20px
}
@media screen and (max-width: 767px) {
  .p-section_txt {
    margin-top: 0;
    position: absolute;
    bottom: 5px;
    left: 5px;
    font-size: 10px;
    z-index: 2;
    font-family: "Noto Serif JP", serif
  }
}
.s-design {
  background-color: #231815;
  padding: 80px 0
}
@media screen and (max-width: 767px) {
  .s-design {
    padding: 40px 0
  }
}
.p-design_cont {
  display: flex;
  gap: 14px;
  margin-top: 30px
}
@media screen and (max-width: 767px) {
  .p-design_cont {
    flex-direction: column
  }
}
@media screen and (max-width: 767px) {
  .p-design_ttl {
    font-size: 24px !important
  }
}
.p-design_profileWrap, .p-design_list {
  width: calc((100% - 14px)/2)
}
@media screen and (max-width: 767px) {
  .p-design_profileWrap, .p-design_list {
    width: 100%
  }
}
.p-design_profileWrap {
  display: flex;
  gap: 20px
}
@media screen and (max-width: 767px) {
  .p-design_profileWrap {
    flex-direction: column;
    gap: 30px
  }
}
.p-design_profile {
  color: #fff;
  font-size: 14px;
  line-height: 1.3
}
@media screen and (max-width: 767px) {
  .p-design_profile {
    text-align: center
  }
}
.p-design_name {
  color: #fff;
  font-size: 32px;
  margin-top: 18px
}
@media screen and (max-width: 767px) {
  .p-design_name {
    text-align: center
  }
}
.p-design_name .small {
  font-size: 20px
}
.p-design_alphabet {
  color: #fff;
  font-size: 12px
}
@media screen and (max-width: 767px) {
  .p-design_alphabet {
    text-align: center
  }
}
.p-design_profileTxt {
  color: #fff;
  font-size: 12px;
  margin-top: 18px;
  line-height: 1.3
}
@media screen and (max-width: 767px) {
  .p-design_profileTxt {
    text-align: center
  }
}
.p-design_imgWrap {
  width: 35%;
  height: -moz-fit-content;
  height: fit-content;
  flex: 1 0 auto;
  position: relative
}
@media screen and (max-width: 767px) {
  .p-design_imgWrap {
    width: 100%
  }
}
.p-design_list {
  display: flex;
  gap: 16px
}
.p-design_item {
  width: calc((100% - 16px)/2)
}
.p-design_itemTxt {
  color: #fff;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6
}
@media screen and (max-width: 767px) {
  .p-design_itemTxt {
    font-size: 10px;
    text-align: center
  }
}
.p-design_itemImgWrap {
  position: relative
}
.s-front {
  margin-top: 33px
}
@media screen and (max-width: 767px) {
  .s-front {
    margin-top: 96px
  }
}
@media screen and (max-width: 767px) {
  .s-front .p-front_ttlWrap {
    order: 1
  }
}
@media screen and (max-width: 767px) {
  .s-front .p-front_txtWrap {
    order: 3
  }
}
@media screen and (max-width: 767px) {
  .s-front .p-front_cont {
    order: 2
  }
}
@media screen and (max-width: 767px) {
  .p-front {
    display: flex;
    flex-direction: column
  }
}
.p-front_cont {
  display: flex;
  gap: 30px;
  margin-top: 150px
}
@media screen and (max-width: 767px) {
  .p-front_cont {
    flex-direction: column;
    padding: 0;
    gap: 16px;
    margin-top: 32px
  }
}
.p-front_imgWrap {
  position: relative
}
.p-front_txt {
  margin-top: 30px
}
@media screen and (max-width: 767px) {
  .p-front_txt {
    margin: 30px auto 0;
    max-width: 350px
  }
}
.p-front_txtCntr {
  width: 58%;
  flex: 1 0 auto
}
@media screen and (max-width: 767px) {
  .p-front_txtCntr {
    width: 100%;
    margin-top: 0;
    padding: 0 20px
  }
}
.p-front_txtWrap {
  margin-top: 130px
}
@media screen and (max-width: 767px) {
  .p-front_txtWrap {
    margin-top: 40px
  }
}
.p-front_txtWrap.pc_none {
  display: none
}
@media screen and (max-width: 767px) {
  .p-front_txtWrap.pc_none {
    display: block
  }
}
.p-front_txtWrap.sp_none {
  display: block
}
@media screen and (max-width: 767px) {
  .p-front_txtWrap.sp_none {
    display: none
  }
}
.p-front_list {
  display: flex;
  flex-direction: column
}
@media screen and (max-width: 767px) {
  .p-front_list {
    flex-direction: row;
    gap: 12px
  }
}
.p-front_listTtl {
  max-width: 247px;
  margin-left: auto;
  margin-bottom: 50px
}
@media screen and (max-width: 767px) {
  .p-front_listTtl {
    max-width: 120px;
    margin-bottom: 18px;
    margin-right: 20px
  }
}
.p-front_listImg {
  position: relative
}
.p-front_listItemTxt {
  font-size: 12px;
  margin-top: 15px;
  text-align: center
}
@media screen and (max-width: 767px) {
  .p-front_listItemTxt {
    font-size: 10px;
    margin-top: 8px
  }
}
@media screen and (max-width: 767px) {
  .p-front_listItem {
    width: calc((100% - 12px)/2)
  }
}
.p-front_listItem + .p-front_listItem {
  margin-top: 110px
}
@media screen and (max-width: 767px) {
  .p-front_listItem + .p-front_listItem {
    margin-top: 30%
  }
}
.p-front_kv {
  position: relative;
  margin-top: 150px
}
@media screen and (max-width: 767px) {
  .p-front_kv {
    margin-top: 32px
  }
}
.p-subTtl {
  text-align: center;
  padding-bottom: 10px;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  letter-spacing: .4em;
  font-size: 20px;
  border-bottom: 1px solid #000
}
@media screen and (max-width: 767px) {
  .p-subTtl {
    padding-bottom: 6px;
    font-size: 18px
  }
}
.s-artist {
  margin-top: 170px
}
@media screen and (max-width: 767px) {
  .s-artist {
    margin-top: 96px
  }
}
.p-artist_ttl {
  margin-top: 30px
}
@media screen and (max-width: 767px) {
  .p-artist_ttl {
    margin-top: 32px;
    font-size: 16px !important
  }
}
.p-artist_cont {
  display: flex;
  gap: 6.5%;
  margin-top: 120px
}
@media screen and (max-width: 767px) {
  .p-artist_cont {
    margin-top: 40px;
    gap: 40px;
    height: -moz-fit-content;
    height: fit-content;
    flex-direction: column
  }
}
.p-artist_hotelTtl {
  text-align: center;
  margin-top: 8px
}
.p-artist_imgcntr {
  display: flex;
  gap: 18px;
  width: 39%;
  flex: 1 0 auto
}
@media screen and (max-width: 767px) {
  .p-artist_imgcntr {
    gap: 12px;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content
  }
}
.p-artist_imgWrap {
  width: calc((100% - 18px)/2);
  position: relative;
  height: -moz-fit-content;
  height: fit-content
}
@media screen and (max-width: 767px) {
  .p-artist_imgWrap {
    width: calc((100% - 12px)/2)
  }
}
.p-artist_hotelList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px
}
.p-artist_hotelItem {
  width: calc((100% - 20px)/2)
}
.p-artist_txtWrap, .p-artist_txtImg {
  max-width: 498px
}
@media screen and (max-width: 767px) {
  .p-artist_txtWrap, .p-artist_txtImg {
    padding: 0 20px;
    max-width: 100%
  }
}
.p-artist_profileFlex {
  display: flex;
  align-items: center;
  gap: 10%;
  margin-top: 20px
}
@media screen and (max-width: 767px) {
  .p-artist_profileFlex {
    flex-direction: column;
    margin-top: 40px
  }
}
.p-artist_profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12%;
  flex: 1 0 auto;
  width: 150px
}
@media screen and (max-width: 767px) {
  .p-artist_profile {
    flex-direction: column;
    gap: 6px
  }
}
.p-artist_memo {
  font-size: 20px;
  line-height: 1.3
}
@media screen and (max-width: 767px) {
  .p-artist_memo {
    font-size: 14px;
    text-align: center
  }
}
.p-artist_name {
  font-size: 32px;
  margin-top: 20px
}
.p-artist_name .small {
  font-size: 20px
}
.p-artist_en {
  font-size: 12px
}
.p-artist_profileImg {
  position: relative;
  max-width: 200px
}
.p-artist_profileTxt {
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
  margin-top: 10px
}
@media screen and (max-width: 767px) {
  .p-artist_profileTxt {
    text-align: left;
    margin-top: 40px
  }
}
.p-artist_txtImg {
  margin-top: 20px;
  position: relative
}
.s-universal {
  margin-top: 170px
}
@media screen and (max-width: 767px) {
  .s-universal {
    margin-top: 96px
  }
}
.p-universal_ttl {
  margin-top: 32px
}
@media screen and (max-width: 767px) {
  .p-universal_ttl {
    letter-spacing: .06em
  }
}
@media screen and (max-width: 767px) {
  .p-universal_txt {
    margin-top: 16px
  }
}
@media screen and (max-width: 767px) {
  .p-universal_txt.c-txt.left {
    text-align: left
  }
}
.p-universal_list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 60px;
  padding-left: 20px;
  padding-right: 20px
}
@media screen and (max-width: 767px) {
  .p-universal_list {
    margin-top: 24px;
    flex-direction: column;
    gap: 20px
  }
}
.p-universal_item {
  width: calc((100% - 48px)/3)
}
@media screen and (max-width: 767px) {
  .p-universal_item {
    width: 100%
  }
}
.p-universal_itemimg {
  position: relative
}
.p-universal_itemTtl {
  font-size: 24px;
  text-align: center;
  margin-top: 20px;
  line-height: 1.2
}
@media screen and (max-width: 767px) {
  .p-universal_itemTtl {
    font-size: 12px;
    margin-top: 8px
  }
}
.p-universal_itemTtl .small {
  font-size: 16px
}
@media screen and (max-width: 767px) {
  .p-universal_itemTtl .small {
    font-size: 10px
  }
}
.p-universal_flex {
  margin-top: 65px;
  display: flex;
  gap: 56px
}
@media screen and (max-width: 767px) {
  .p-universal_flex {
    margin-top: 40px;
    gap: 24px;
    flex-direction: column
  }
}
.p-universal_imgWrap {
  width: 48%;
  flex: 1 0 auto;
  height: -moz-fit-content;
  height: fit-content;
  position: relative
}
@media screen and (max-width: 767px) {
  .p-universal_imgWrap {
    width: 100%
  }
}
.p-universal_subTtl {
  font-size: 20px;
  margin-top: 24px;
  text-align: center
}
@media screen and (max-width: 767px) {
  .p-universal_subTtl {
    margin-top: 0
  }
}
.p-universal_txt {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 24px
}
@media screen and (max-width: 767px) {
  .p-universal_txt {
    text-align: center
  }
}
.p-universal_logo {
  max-width: 284px;
  margin: 16px auto 0
}
@media screen and (max-width: 767px) {
  .p-universal_logo {
    max-width: 142px
  }
}
.p-universal_blockTtl {
  font-size: 20px
}
@media screen and (max-width: 767px) {
  .p-universal_blockTtl {
    font-size: 14px;
    text-align: center;
    padding: 4px 0 14px 0
  }
}
.p-universal_blockWrap {
  margin-top: 40px;
  background-color: #eee;
  padding: 4px
}
.p-universal_block {
  border: 1px solid #7a6a56;
  display: flex;
  align-items: center;
  padding: 22px 0
}
@media screen and (max-width: 767px) {
  .p-universal_block {
    flex-direction: column;
    padding: 14px
  }
}
.p-universal_blockItem {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4%
}
@media screen and (max-width: 767px) {
  .p-universal_blockItem {
    width: 100%;
    padding: 0 0 0 0
  }
}
.p-universal_blockItem + .p-universal_blockItem {
  border-left: 1px solid #7a6a56
}
@media screen and (max-width: 767px) {
  .p-universal_blockItem + .p-universal_blockItem {
    border-left: none;
    border-top: 1px solid #7a6a56;
    padding-top: 14px
  }
}
.p-universal_blockTxt {
  line-height: 1.8;
  font-size: 12px
}
.p-front_ttl {
  transform: translate(0%, -50%);
  margin: 0 auto;
  width: 52%
}
@media screen and (max-width: 767px) {
  .p-front_ttl {
    width: 90%
  }
}
.p-front_ttlWrap {
  text-align: center
}
.p-section_txt {
  font-size: 12px !important
}
@media screen and (max-width: 767px) {
  .p-section_txt {
    position: static !important;
    text-align: right !important
  }
}
@media screen and (max-width: 767px) {
  .p-section_txt.sp_none {
    display: none
  }
}
.p-section_txt.pc_none {
  display: none
}
@media screen and (max-width: 767px) {
  .p-section_txt.pc_none {
    display: block
  }
}
.p-artist_imgList {
  display: flex;
  flex-direction: column;
  gap: 5px
}


.aniFadeIn {
  opacity: 0;
  transition: opacity 2s, transform 2s;
}
.aniFadeIn.doAniFadeIn {
  opacity: 1;
  transform: translate(0) !important;
}
.aniFadeIn.fadeUp {
  transform: translateY(50px);
}
.aniFadeIn.fadeLeft {
  transform: translateX(100px);
}
.aniFadeIn.fadeDown {
  transform: translateY(-50px);
}
.aniFadeIn.fadeRight {
  transform: translateX(-100px);
}
.aniFadeIn.fadeExpand {
  transform: translateY(100px) scale(0.7);
}
.aniFadeIn.fadeExpand.action {
  transform: translateY(0) scale(1) !important;
}
.aniFadeIn.textFade .fadeTarget {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
}
.aniFadeIn.textFade .fadeTarget:nth-of-type(2n-1) {
  transform: translateY(30px);
}
.aniFadeIn.textFade .fadeTarget:nth-of-type(2n) {
  transform: translateY(-30px);
}
.aniFadeIn.textFade .fadeTarget.action {
  opacity: 1;
  transform: translate(0) !important;
}