.inner_wrapper {
  max-width: min(calc(1020 * var(--window-width)), 1020px);
  margin: auto;
}

.main_container {
  padding: min(calc(100 * var(--window-width)), 100px) 0 min(calc(240 * var(--window-width)), 240px);
  display: flex;
  flex-direction: column;
  gap: min(calc(200 * var(--window-width)), 200px);
}

.main_head_mv {
  aspect-ratio: 1280/375;
  width: 100%;
  height: auto;
}

.is_sp {
  display: none;
}

@media screen and (max-width: 800px) {
  .is_sp {
    display: block;
  }
  .is_pc {
    display: none;
  }
  .main_container {
    padding: calc(50 * var(--window-width)) 0 calc(140 * var(--window-width));
    gap: calc(150 * var(--window-width));
  }
}

/* ---------------------------
            main
---------------------------- */
.main {
  width: 100%;
  height: 100vh;
  color: #fff;
  background: #000;
  position: relative;
  padding-top: calc(80 * var(--window-width));
}

.main .container {
  width: 100%;
  height: calc(100vh - calc(80 * var(--window-width)));
  background: url(/img/bg1-pc.jpg) top center / auto 100% no-repeat;
  transition: background 0.5s ease-in-out;
}

.main .logo_group {
  aspect-ratio: 538.27/318.76;
  width: calc(538.27 * var(--window-width));
  position: absolute;
  top: calc(126 * var(--window-width));
  left: calc(68 * var(--window-width));
  margin: auto; 
}

.main .koike,
.main .masaya {
  width: auto;
  height: calc(98 * var(--window-width));
  display: block;
}

.main .masaya {
  margin-top: calc(48 * var(--window-width));
}

.main .official_site {
  width: auto;
  height: calc(26 * var(--window-width));
  margin-top: calc(45 * var(--window-width));
}

.main .circle_line {
  width: min(calc(15 * var(--window-width)), 15px);
  position: absolute;
  bottom: 30px;
  right: calc(60 * var(--window-width));
}

@media screen and (max-width: 800px) {
  .main {
    padding-top: calc(40 * var(--window-width));
  }
  .main .container {
    height: calc(100vh - calc(40 * var(--window-width)));
    background: url(/img/bg1-sp.jpg) center bottom / 100% auto no-repeat;
  }
  .main .logo_group {
    width: calc(319 * var(--window-width));
    top: calc(89 * var(--window-width));
    right: auto;
    left: calc(25 * var(--window-width));
    margin: auto;
  }
  .main .koike,
  .main .masaya {
    height: calc(65 * var(--window-width));
  }

  .main .masaya {
    margin-top: calc(24 * var(--window-width));
  }

  .main .official_site {
    height: calc(17.5 * var(--window-width));
    margin-top: calc(26 * var(--window-width));
  }

  .main .circle_line {
    width: calc(10 * var(--window-width));
    right: calc(20 * var(--window-width));
    bottom: calc(20 * var(--window-width));
  }
}

/* ---------------------------
            news
---------------------------- */
.news_section {
  position: relative;
}

.news_section::before {
  content: '';
  aspect-ratio: 84/234;
  width: calc(84 * var(--window-width));
  height: calc(234 * var(--window-width));
  background: url(/img/sec_title_news.svg) center center / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.news_section .section_container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.news_section .slider_container {
  width: calc(100% - min(calc(310 * var(--window-width)), 310px) - min(calc(45 * var(--window-width)), 45px));
  height: min(calc(597 * var(--window-width)), 597px);
  background-color: #000;
}

.news_section .slider_item {
  display: block;
  width: min(calc(597 * var(--window-width)), 597px);
  height: min(calc(597 * var(--window-width)), 597px);
  margin: auto;
}

.news_section .news_container {
  width: min(calc(310 * var(--window-width)), 310px);
}

.news_section .slider_item .img {
  object-fit: contain;
  margin: auto;
  height: 100%;
}

.news_section .list {
  display: flex;
  flex-direction: column;
  gap: min(calc(34 * var(--window-width)), 34px);
}

.news_section .item {
  width: 100%;
  padding-top: min(calc(23 * var(--window-width)), 23px);
  border-top: solid 0.5px #000;
  display: block;
  text-decoration: none;
  line-height: 1;
  color: #000;
  font-size: min(calc(18 * var(--window-width)), 18px);
  font-weight: bold;
}

.news_section .item:first-child {
  border-top: solid 1.5px #000;
}

.news_section .item:last-child {
  border-bottom: solid 0.5px #000;
  padding-bottom: min(calc(34 * var(--window-width)), 34px);
}

.news_section .item .detail {
  line-height: 1.78;
  margin-top: min(calc(15 * var(--window-width)), 15px);
}

.news_section .item .area {
  font-size: min(calc(14 * var(--window-width)), 14px);
  font-weight: normal;
  margin-top: min(calc(26 * var(--window-width)), 26px);
}

.news_section .primary_btn {
  display: flex;
  margin: min(calc(60 * var(--window-width)), 60px) auto 0;
}

@media screen and (max-width: 800px){
  .news_section .inner_wrapper {
    width: calc(290 * var(--window-width));
    margin: auto;
  }
  .news_section .slider_container {
    width: calc(290 * var(--window-width));
    height: calc(260 * var(--window-width));
    background-color: #000;
  }
  .news_section .slider_item {
    width: calc(290 * var(--window-width));
    height: calc(260 * var(--window-width));
  }
  .news_section .slider_item .img {
    height: 100%;
    width: auto;
    margin: auto;
  }
  .news_section .section_container {
    flex-direction: column;
    gap: calc(48 * var(--window-width));   
  }
  .news_section .news_container {
    width: 100%;
  }
  .news_section::before {
    width: auto;
    height: calc(105 * var(--window-width));
  }
}

/* ---------------------------
            profile
---------------------------- */
.profile_section {
  position: relative;
}

.profile_section::before {
  content: '';
  aspect-ratio: 84/342;
  width: calc(84 * var(--window-width));
  height: calc(342 * var(--window-width));
  background: url(/img/sec_title_profile.svg) center center / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.profile_section .section_container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.profile_section .img_wrapper {
  width: min(calc(310 * var(--window-width)), 310px);
}

.profile_section .detail {
  width: calc(100% - min(calc(310 * var(--window-width)), 310px) - min(calc(45 * var(--window-width)), 45px));
}

.profile_section .detail .head_group {
  padding-bottom: min(calc(35 * var(--window-width)), 35px);
  border-bottom: solid 0.5px #000;
  line-height: 1;
}

.profile_section .detail .head_group .artist {
  font-size: min(calc(18 * var(--window-width)), 18px);
}


.profile_section .detail .head_group .name {
  font-family: var(--libre);
  font-size: min(calc(38 * var(--window-width)), 38px);
  font-weight: bold;
  margin-top: min(calc(30 * var(--window-width)), 30px);
}

.profile_section .detail .text {
  font-size: min(calc(14 * var(--window-width)), 14px);
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: min(calc(40 * var(--window-width)), 40px);
}

.profile_section .btn_wrapper {
  margin-top: min(calc(40 * var(--window-width)), 40px);
  justify-content: flex-start;
}

@media screen and (max-width: 800px) {
  .profile_section .inner_wrapper {
    width: calc(290 * var(--window-width));
    margin: auto;
  }
  .profile_section .section_container {
    flex-direction: column;
    gap: calc(35 * var(--window-width));
  }
  .profile_section::before {
    width: auto;
    height: calc(154.31 * var(--window-width));
  }
  .profile_section .img_wrapper {
    width: 100%;
  }
  .profile_section .detail {
    width: 100%;
  }
} 

/* ---------------------------
            team
---------------------------- */
.team_section {
  position: relative;
  scroll-margin-top: 120px;
}

.team_section::before {
  content: '';
  aspect-ratio: 81.3/224.7;
  width: calc(81.3 * var(--window-width));
  height: calc(224.7 * var(--window-width));
  background: url(/img/sec_title_team.svg) center center / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.team_section .team_list {
  width: min(calc(1020 * var(--window-width)), 1020px);
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: min(calc(150 * var(--window-width)), 150px);
}

.team_section .team_list .img_wrapper {
  width: 100%;
}

.team_section .team_item {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: min(calc(45 * var(--window-width)), 45px);
}

.team_section .team_item:nth-child(even) {
  flex-direction: row-reverse;
}

.team_section .team_item .img {
  aspect-ratio: 665/300;
  width: min(calc(665 * var(--window-width)), 665px);
  height: auto;
}

.team_section .team_item .text {
  font-size: min(calc(15 * var(--window-width)), 15px);
  letter-spacing: 0.03em;
  margin-top: min(calc(30 * var(--window-width)), 30px);
}

.team_section .team_item .detail {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.team_section .team_item .detail .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 170/28;
  width: min(calc(170 * var(--window-width)), 170px);
  font-size: min(calc(15 * var(--window-width)), 15px);
  line-height: 1;
  text-decoration: none;
  color: #000;
  border: solid 1px #000;
  box-sizing: border-box;
  margin: auto 0 0 auto;
}

.team_section .slider_wrapper {
  width: 100%;
  overflow: hidden;
}

.team_section .slider_line {
  width: auto;
  /* height: calc(234 * var(--window-width)); */
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  margin-top: min(calc(150 * var(--window-width)), 150px);
  box-sizing: content-box;
}

.slider_line .slider_item {
  aspect-ratio: 355/234;
  width: calc(355 * var(--window-width));
  height: calc(234 * var(--window-width));
  pointer-events: none;
}

.slider_line .slider_item .img {
  width: calc(355 * var(--window-width));
  height: calc(234 * var(--window-width));
}

@media screen and (max-width: 800px) {
  .team_section .team_list {
    width: 100%;
    min-width: auto;
    gap: calc(80 * var(--window-width));
  }
  .team_section::before {
    width: auto;
    height: calc(105.03 * var(--window-width));
  }
  .team_section .team_item {
    flex-direction: column;
    gap: 0;
    position: relative;
  }
  .team_section .team_item:nth-child(even) {
    flex-direction: column;
  }
  .team_section .team_item .img {
    width: calc(340 * var(--window-width));
    height: auto;
  }
  .team_section .team_item:nth-child(odd) .img {
    margin: 0 0 0 auto;
  }
  .team_section .team_item .detail {
    width: calc(290 * var(--window-width));
    margin: auto;
  }
  .team_section .team_item .detail .logo {
    width: calc(145 * var(--window-width));
    height: calc(66 * var(--window-width));
    position: absolute;
    top: calc(124 * var(--window-width));
    left: 0;
  }
  .team_section .team_item:nth-child(odd) .detail .logo {
    left: auto;
    right: 0;
  }
  .team_section .team_item .text {
    font-size: calc(15 * var(--window-width));
    line-height: 1.86;
    margin-top: calc(56 * var(--window-width));
  }
  .team_section .team_item .detail .btn {
    width: auto;
    height: calc(28 * var(--window-width));
    margin: calc(40 * var(--window-width)) auto 0;
  }
  .team_section .slider_line {
    width: auto;
    height: calc(180 * var(--window-width));
    margin-top: calc(100 * var(--window-width));
  }
  .slider_line .slider_item {
    width: calc(271 * var(--window-width));
    height: calc(180 * var(--window-width));
  }
  .slider_line .slider_item .img {
    width: calc(271 * var(--window-width));
    height: calc(180 * var(--window-width));
  }
}


/* ---------------------------
          contact
---------------------------- */
.contact_section {
  position: relative;
  scroll-margin-top: 120px;
}

.contact_section::before {
  content: '';
  aspect-ratio: 84/377.6;
  width: calc(84 * var(--window-width));
  height: calc(377.6 * var(--window-width));
  background: url(/img/sec_title_contact.svg) center center / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.contact_section .inner_wrapper {
  width: min(100%, 665px);
  margin: auto;
}

.contact_section .form_container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px 0;
  margin-top: 50px;
}

.contact_section .input_box .label {
  font-size: 15px;
  line-height: 1;
  position: relative;
}

.contact_section .input_box .label::after {
  content: '※';
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  color: #f00;
  position: absolute;
  top: 0;
  right: -13px;
}

.contact_section .input_box .input {
  width: 100%;
  margin-top: 5px;
}

.contact_section .input_box .input._select {
  height: 30px;
}

.contact_section .input_box .input._textarea {
  resize: none;
}

.contact_section .check_box {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.contact_section .check_box .checkbox {
  width: 20px;
  height: 20px;
}

.contact_section .error-message {
  font-size: 12px;
  line-height: 1;
  color: #f00;
  margin-top: 4px;
}

.contact_section .submit_btn {
  aspect-ratio: 120/28;
  width: 120px;
  box-sizing: border-box;
  background-color: #000;
  font-size: 15px;
  color: #fff;
  border-style: none;
  padding-block: 0;
  padding-inline: 0;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.contact_section .submit_btn:hover {
  opacity: 0.7;
}
.contact_section .submit_btn:disabled {
  background-color: #666;
  cursor: default;
  pointer-events: none;
}

.contact_section .thanks_message {
  font-size: 14px;
  margin-top: 50px;
  display: none;
}

@media screen and (max-width: 800px) {
  .contact_section .inner_wrapper {
    width: calc(290 * var(--window-width));
    margin: auto;
  }
  .contact_section::before {
    width: auto;
    height: calc(170.62 * var(--window-width));
  }
}

/* --------------------------
        privacy_policy
---------------------------- */
.privacy_policy_page {
  background-color: #C9C9C9;
  padding: 210px 0 150px;
}

.privacy_policy_page .inner_wrapper {
  max-width: 660px;
  margin: auto;
}

.privacy_policy_page .item {
  width: 100%;
  padding-top: min(calc(40 * var(--window-width)), 40px);
  border-top: solid 0.5px #000;
  display: block;
  text-decoration: none;
  line-height: 1;
  color: #000;
  font-size: min(calc(18 * var(--window-width)), 18px);
  font-weight: bold;
  cursor: default;
}

.privacy_policy_page .item:hover {
  opacity: 1;
}

.privacy_policy_page .item .detail {
  font-size: min(calc(15 * var(--window-width)), 15px);
  font-weight: normal;
  line-height: 1.86;
  margin-top: 0;
}

.privacy_policy_page .item:first-child {
  border-top: solid 1.5px #000;
}

.privacy_policy_page .head_title {
  font-family: var(--libre);
  font-size: min(calc(38 * var(--window-width)), 38px);
  line-height: 1;
  margin-bottom: min(calc(50 * var(--window-width)), 50px);
}

.privacy_policy_page .primary_btn {
  display: flex;
  margin: min(calc(60 * var(--window-width)), 60px) auto 0;
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 800px) {
  .privacy_policy_page {
    background-color: #C9C9C9;
    padding: 150px 0 100px;
  }

  .privacy_policy_page .inner_wrapper {
    width: calc(290 * var(--window-width));
  }

  .privacy_policy_page .head_title {
    font-family: var(--libre);
    font-size: calc(22 * var(--window-width));
    line-height: 1.8;
    margin-bottom: calc(40 * var(--window-width));
  }
}

