:root {
  --bg-line: #fff;
}

main, section, div, p, h1, h2, h3, h4, dl, dt, dd, ul, li, figure, span, a {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font-size: 100%;
  vertical-align: baseline;
  font-weight: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

ul, li {
  list-style: none;
}

button {
  border: none;
  background: none;
  font: inherit;
  color: inherit;
}

select {
  color: inherit;
}

a {
  cursor: pointer;
  color: inherit;
}

button {
  cursor: pointer;
  padding: 0;
  border: none;
}

body {
  padding: 0;
  margin: 0;
  color: #004056;
  font-family: "Noto Sans jp", sans-serif;
  letter-spacing: 0.025em;
  height: auto;
}
body.is-fixed {
  overflow: hidden;
}

html {
  font-size: 1.3333333333vw;
}
@media screen and (min-width: 751px) {
  html {
    font-size: 0.7320644217vw;
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 14px;
  }
}

.l-content-sp {
  margin: auto;
  background-color: #3cd4eb;
  font-weight: bold;
  position: relative;
  z-index: 2;
  height: auto;
  min-height: 100vh;
}
@media screen and (min-width: 751px) {
  .l-content-sp {
    max-width: 420px;
    font-size: 0.5769333333vw;
    box-shadow: 0 0 3em 0.6em rgba(34, 112, 125, 0.3);
    width: 75em;
  }
}
@media screen and (min-width: 980px) {
  .l-content-sp {
    font-size: 5.6px;
  }
}
.l-content-pc {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_pc.jpg) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .l-content-pc {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .l-content-pc {
    font-size: 0.5769333333vw;
  }
}
@media screen and (min-width: 980px) {
  .l-content-pc {
    font-size: 5.6px;
  }
}
.l-content-pc_inner {
  display: flex;
  height: 100%;
  justify-content: space-between;
}
.l-content-pc_cnt {
  width: calc((100% - 75em) / 2);
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-inner {
  padding: 0 2.5em;
  position: relative;
}

.c-anchor {
  scroll-margin-top: 3em;
  padding-top: 1px;
}

.f-base {
  font-size: 3em;
  line-height: 1.6666666667;
}
.f-note {
  font-size: 1.4em;
  text-align: right;
  margin-top: 0.5em;
  font-weight: 400;
  color: #000;
}
.f-marker {
  font-weight: 800;
  font-size: 1.6666666667em;
  background-color: #44daff;
  display: inline-block;
  line-height: 1.2;
  margin-top: 0.2em;
}

.l-content-pc_cnt-01 {
  flex-direction: column;
  padding: 0 4em;
}

.p-pc_present {
  margin-top: 18.9rem;
  margin-top: auto;
  width: 100%;
  position: relative;
  padding-bottom: 3rem;
  max-width: 39.3rem;
  padding-top: 10rem;
  margin-bottom: 2rem;
}
.p-pc_present_info {
  width: 22.8rem;
}
.p-pc_present_img {
  display: block;
  margin: -6rem auto 0;
  width: 21.4rem;
  position: relative;
  left: 1.5rem;
}
.p-pc_present .p-card-shadow {
  border-radius: 1rem;
  box-shadow: 0px 0px 1rem 0.2rem rgba(0, 0, 0, 0.3);
}
.p-pc_present .f-note {
  text-align: left;
  color: #fff;
  font-size: 1rem;
  text-shadow: 0px 0px 0.95rem rgba(0, 0, 0, 0.3);
}
.p-pc_check {
  display: block;
  width: 11.8rem;
  position: absolute;
  bottom: 0;
  right: 0.6rem;
}
.p-pc .l-footer_link {
  background-color: #fff;
  border: 0.2rem solid #004056;
  width: 100%;
  padding: 2.2rem 0;
  margin: auto auto 3rem;
  gap: unset;
  justify-content: space-around;
  max-width: 393px;
}
.p-pc .p-logo_sol {
  width: 30.2%;
}
.p-pc .p-logo_jasrac {
  width: 46.1%;
}

.p-menu {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.4rem;
  margin-top: 4rem;
}
.p-menu a, .p-menu button {
  font-size: clamp(16px, 2.4rem, 34px);
  font-weight: bold;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.p-menu .icon {
  display: block;
  width: 1.25em;
  height: 1.25em;
  margin-right: 0.5em;
  padding-left: 0.5em;
  margin-right: 0.5em;
}
.p-menu .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-menu-btn {
  position: fixed;
  width: 9em;
  height: 9em;
  top: 2.7em;
  right: 2.6em;
  z-index: 5;
}
.p-menu-btn button {
  display: block;
}
.p-menu-btn img {
  position: absolute;
}
.p-menu-sp {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #fff;
  display: none;
  z-index: 5;
  top: 0;
  left: 0;
  overflow-y: auto;
}
.p-menu-sp_inner {
  display: flex;
  justify-content: center;
  height: 100%;
}
.p-menu-sp .p-menu {
  margin: auto;
  gap: 6em;
  height: -moz-fit-content;
  height: fit-content;
  padding: 3em 0;
}
.p-menu-sp .p-menu a, .p-menu-sp .p-menu button {
  font-size: 4.8em;
  font-weight: 800;
  gap: 0.8rem;
}

.l-header {
  position: absolute;
  top: 2.9em;
  left: 2.7em;
  z-index: 1;
}
.l-header_logo {
  width: 21.4em;
  height: 8.5em;
}

.l-footer {
  background-color: #fff;
  padding: 9.8em 0 1em;
}
.l-footer_link {
  display: flex;
  gap: 4em;
  justify-content: center;
  margin-bottom: 6.7em;
  align-items: center;
}
.l-footer_copy {
  font-size: 2.4em;
  text-align: center;
}

.c-sec {
  padding: 4em 0 13em;
}
.c-sec_ttl {
  position: relative;
  z-index: 1;
}

.p-hero {
  position: relative;
  background: url(../img/bg_hero.jpg) top center/100% no-repeat;
  display: flex;
  flex-direction: column;
  padding-top: 15.5em;
}
@media screen and (min-width: 751px) {
  .p-hero {
    background-image: url(../img/bg_hero_pc.png);
    padding-top: 16.1em;
  }
}
.p-hero_ttl {
  width: 64.1em;
  height: 51.5em;
  margin: 0 auto;
}
.p-hero_date {
  margin-top: 57.7em;
}
@media screen and (min-width: 751px) {
  .p-hero_date {
    margin-top: 60em;
  }
}

.p-box {
  position: relative;
  background-color: #fff;
  border-radius: 9em;
  padding: 10.3em 4.2em 7.3em;
  margin-top: -7em;
  text-align: center;
}

.p-btn {
  display: block;
  width: 58.2em;
  margin: 5em auto 0;
  scroll-margin-top: 5em;
}

.p-about {
  padding-top: 6em;
  --bg-line: #f7e643;
}
.p-about .p-box {
  margin-top: -9em;
  text-align: left;
}
.p-about .p-box p {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.p-about .p-box p + p {
  margin-top: 1em;
}

.p-present {
  background-color: #f7e643;
  --bg-line: #fff;
}
.p-present_txt {
  line-height: 1.4;
}
.p-present_card {
  width: 50em;
  margin: 4em auto 0;
}

.p-card-shadow {
  box-shadow: 0px 0px 1.84em 0.46em rgba(0, 0, 0, 0.3);
  border-radius: 2.3em;
}

.p-archive {
  overflow-x: hidden;
  z-index: 2;
}
.p-archive::before {
  opacity: 0.15;
}
.p-archive_list {
  margin: 3em -2.5em 0;
  padding: 0 10.5em 5.6em;
}
.p-archive_item {
  width: 54em;
  border-radius: 2em;
  background-color: #fff;
  padding: 2.5em 4.4em 6em;
}
.p-archive_date {
  display: inline-block;
  font-size: 2.6em;
  background-color: #00e692;
  border-radius: 0.8076923077em;
  color: #fff;
  line-height: 1;
  padding: 0.28em 0.8em;
}
.p-archive_img {
  margin: 2em 0 2.7em;
}
.p-archive_music {
  font-size: 4em;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.p-archive_rm {
  color: #21bcd3;
  font-size: 2.6em;
  margin-top: 0.8em;
}
.p-archive_txt {
  font-size: 2.4em;
  font-weight: 400;
}
.p-archive_btn {
  text-decoration: underline;
  margin-left: auto;
  margin-top: 0.7em;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}

.p-logo_sol {
  width: 21.1em;
}
.p-logo_jasrac {
  width: 30.7em;
}

.c-bg-dot {
  position: relative;
}
.c-bg-dot::before {
  background-image: url(/lock/housou/assets/img/bg_dot.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  mix-blend-mode: overlay;
  content: "";
  display: block;
  width: 100%;
  height: 46.6em;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-bg-wavy-line-01 {
  position: relative;
  scroll-margin-top: 3em;
}
.c-bg-wavy-line-01::after {
  background-color: var(--bg-line);
  content: "";
  display: block;
  width: 100%;
  height: 3em;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 30.22'%3E%3Cpath d='M740.87,29.84c-21.02-2.85-33.67-24.38-54.64-28.51-41.64-8.2-47.99,25.31-78.49,28.51h-13.48C564.15,26.45,555.51,0,524.5,0c-31.84,0-41.4,27.37-67.87,29.84h-13.85c-27.12-2.9-32.17-23.5-57.55-28.51-41.53-8.2-48.07,25.32-78.49,28.51h-13.83C263.27,26.44,255,.87,224.55.02c-32.33-.9-42.21,27.32-68.91,29.82h-11.96C109.09,26.35,100.64-7.38,59.95,1.5,39.26,6.02,26.82,28.03,5.39,29.84H0v2h750v-2h-9.13Z' fill='%23000'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 30.22'%3E%3Cpath d='M740.87,29.84c-21.02-2.85-33.67-24.38-54.64-28.51-41.64-8.2-47.99,25.31-78.49,28.51h-13.48C564.15,26.45,555.51,0,524.5,0c-31.84,0-41.4,27.37-67.87,29.84h-13.85c-27.12-2.9-32.17-23.5-57.55-28.51-41.53-8.2-48.07,25.32-78.49,28.51h-13.83C263.27,26.44,255,.87,224.55.02c-32.33-.9-42.21,27.32-68.91,29.82h-11.96C109.09,26.35,100.64-7.38,59.95,1.5,39.26,6.02,26.82,28.03,5.39,29.84H0v2h750v-2h-9.13Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: bottom center;
          mask-position: bottom center;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.c-bg-wavy-line-02 {
  position: relative;
  scroll-margin-top: 3em;
}
.c-bg-wavy-line-02::after {
  background-color: var(--bg-line);
  content: "";
  display: block;
  width: 100%;
  height: 3.1em;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 30.19'%3E%3Cpath d='M206.02 26.67c3.61 1.48 7.46 1.95 10.98 3.52H84C112.94 23.82 120.82-1.32 153.55.14c26.03 1.17 32.21 18.22 52.47 26.53ZM29.73 8.96C20.75 3.19 10.8-.14 0 .19v30h67c-5.17-1.78-10.35-2.7-15.32-5.18-8.01-3.99-14.56-11.29-21.95-16.05ZM307.38.31c-34.3-3.41-42.74 22.59-72.38 29.88h133c-5.17-1.78-10.35-2.7-15.32-5.18-16.92-8.43-23.12-22.49-45.3-24.7ZM454.55.14c-32.73-1.47-40.61 23.68-69.55 30.05h133c-3.52-1.56-7.37-2.04-10.98-3.52-20.26-8.31-26.43-25.36-52.47-26.53ZM701.32 25.01c-4.97 2.48-10.15 3.4-15.32 5.18h64V.19c-21.11-1.32-32.68 16.85-48.68 24.82ZM608.38.31c-34.48-3.43-42.59 22.55-72.38 29.88h133c-5.17-1.78-10.35-2.7-15.32-5.18-16.92-8.43-23.12-22.49-45.3-24.7Z' fill='%23000'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 30.19'%3E%3Cpath d='M206.02 26.67c3.61 1.48 7.46 1.95 10.98 3.52H84C112.94 23.82 120.82-1.32 153.55.14c26.03 1.17 32.21 18.22 52.47 26.53ZM29.73 8.96C20.75 3.19 10.8-.14 0 .19v30h67c-5.17-1.78-10.35-2.7-15.32-5.18-8.01-3.99-14.56-11.29-21.95-16.05ZM307.38.31c-34.3-3.41-42.74 22.59-72.38 29.88h133c-5.17-1.78-10.35-2.7-15.32-5.18-16.92-8.43-23.12-22.49-45.3-24.7ZM454.55.14c-32.73-1.47-40.61 23.68-69.55 30.05h133c-3.52-1.56-7.37-2.04-10.98-3.52-20.26-8.31-26.43-25.36-52.47-26.53ZM701.32 25.01c-4.97 2.48-10.15 3.4-15.32 5.18h64V.19c-21.11-1.32-32.68 16.85-48.68 24.82ZM608.38.31c-34.48-3.43-42.59 22.55-72.38 29.88h133c-5.17-1.78-10.35-2.7-15.32-5.18-16.92-8.43-23.12-22.49-45.3-24.7Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-position: bottom center;
          mask-position: bottom center;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.anim {
  transition: opacity 1s ease, transform 1s ease;
  opacity: 0;
  position: relative;
}
.anim-left {
  text-align: left;
  transform: translateX(20%);
}
.anim-right {
  text-align: right;
  transform: translateX(-20%);
}
.anim-up {
  transform: translateY(3em);
}
.anim.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

.l-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 10;
  overflow-y: auto;
  display: none;
}
.l-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 64, 86, 0.84);
}
.l-modal_inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  padding: 9.4em 2.4em 4.6em;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 751px) {
  .l-modal_inner {
    max-width: 420px;
    font-size: 0.5769333333vw;
    box-shadow: 0 0 3em 0.6em rgba(34, 112, 125, 0.3);
    width: 75em;
    margin: auto;
  }
}
@media screen and (min-width: 980px) {
  .l-modal_inner {
    font-size: 5.6px;
  }
}
.l-modal_inner img {
  width: auto;
}
.l-modal_txt-01 {
  display: flex;
  flex-direction: column;
  gap: 2.4em;
}
.l-modal_txt-01 img {
  height: 17.1em;
}
.l-modal_txt-02 {
  display: flex;
  flex-direction: column;
  gap: 4.1em;
  margin-top: 6.4em;
  transition-delay: 1s;
}
.l-modal_txt-02 img {
  height: 7.7em;
}
.l-modal_txt-03 {
  margin-top: 7.2em;
  transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: 1.8s;
}
@media screen and (min-width: 751px) {
  .l-modal_txt-03 {
    margin-bottom: 15em;
  }
}
.l-modal_txt-03 img {
  height: 12.5em;
}
.l-modal_close {
  font-size: 3.4em;
  text-decoration: underline;
  margin-top: auto;
  cursor: pointer;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.swiper.swiper-initialized .swiper-pagination {
  top: auto;
  bottom: 0;
}
.swiper.swiper-initialized .swiper-pagination-bullet-active {
  background: #004056;
}
.swiper.swiper-initialized .swiper-pagination-bullet {
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.9em;
}

@media screen and (max-width: 750px) {
  .only-pc {
    display: none !important;
  }
}
@media screen and (min-width: 751px) {
  .only-sp {
    display: none !important;
  }
}/*# sourceMappingURL=style.css.map */