@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
/* GENERAL
* ----------------------------------------------- */
.page-summer {
  word-break: break-all;
  color: #000;
  background-color: #f5f5f5;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "YuGothic", Meiryo, sans-serif;
  padding: 0;
  letter-spacing: 0;
}
@media (min-width: 897px) {
  .page-summer {
    padding: 0 0 80px 0;
  }
}
.page-summer .event-container {
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
@media (max-width: 896px) {
  .page-summer .event-container {
    padding: 10vw 5vw;
  }
}
@media (min-width: 897px) {
  .page-summer .event-container {
    max-width: 1188px;
    position: relative;
    padding: 45px 30px;
  }
}
.page-summer .sec-inner {
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 897px) {
  .page-summer .sec-inner {
    max-width: 990.9224011713px;
    position: relative;
    padding: 0 16.5153733529px;
  }
}
.page-summer .sp {
  display: none !important;
}
@media (max-width: 896px) {
  .page-summer .sp {
    display: block !important;
  }
}
@media (min-width: 897px) {
  .page-summer .pc {
    display: block !important;
  }
}
@media (max-width: 896px) {
  .page-summer .pc {
    display: none !important;
  }
}
.page-summer * {
  box-sizing: border-box;
}
.page-summer *:before, .page-summer *:after {
  box-sizing: border-box;
}
.page-summer ul, .page-summer p {
  padding: 0;
  margin: 0;
}
.page-summer a {
  opacity: 1;
  transition: ease 0.2s opacity;
}
@media (min-width: 897px) {
  .page-summer a:hover {
    opacity: 0.85;
    transition: ease 0.2s opacity;
    text-decoration: none;
  }
}
.page-summer img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.page-summer h3 {
  display: block;
  border: 0;
  padding: 0;
}
.page-summer .btn-cus {
  text-align: center;
}
.page-summer .btn-cus a {
  color: #fff;
  width: 503.7188872621px;
  height: 84.2284040996px;
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24.7730600293px;
  line-height: 37.1595900439px;
  letter-spacing: -0.04em;
  font-weight: 900;
  text-align: center;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  padding: 18.1669106881px 41.2884333821px;
  border-radius: 14.8638360176px;
  border: 4.1288433382px solid #fff;
  background: #000;
  text-decoration: none;
  box-shadow: 0px 4.1288433382px 9.0834553441px 0px rgba(0, 0, 0, 0.16);
}
@media (max-width: 896px) {
  .page-summer .btn-cus a {
    width: 75.6vw;
    height: 13.44vw;
    font-size: 3.6vw;
    line-height: 10.8vw;
    letter-spacing: 0;
    padding: 3.6vw 12vw;
    border-radius: 2.4vw;
    border: 0.48vw solid #fff;
    box-shadow: 0 0.72vw 1.44vw 0 rgba(0, 0, 0, 0.16);
    box-shadow: 0 1.2vw 2.64vw 0 rgba(0, 0, 0, 0.16);
  }
}
.page-summer .btn-cus .arrow {
  position: absolute;
  top: 50%;
  right: 14.8638360176px;
  width: 26.4245973646px;
  transform: translateY(-50%);
  line-height: 0;
}
@media (max-width: 896px) {
  .page-summer .btn-cus .arrow {
    right: 3.36vw;
    width: 5.76vw;
  }
}
.page-summer .btn-cus02 {
  text-align: center;
}
.page-summer .btn-cus02 a {
  color: #fff;
  width: 264.2459736457px;
  height: 61.1068814056px;
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16.5153733529px;
  line-height: 37.1595900439px;
  letter-spacing: 0.04em;
  font-weight: 900;
  text-align: center;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  padding: 14.0380673499px 41.2884333821px;
  border-radius: 14.8638360176px;
  border: 4.1288433382px solid #fff;
  background: #000;
  text-decoration: none;
  box-shadow: 0px 4.1288433382px 9.0834553441px 0px rgba(0, 0, 0, 0.16);
}
@media (max-width: 896px) {
  .page-summer .btn-cus02 a {
    width: 75.84vw;
    height: 13.92vw;
    font-size: 3.84vw;
    line-height: 10.8vw;
    letter-spacing: 0.04em;
    padding: 3.36vw 12vw;
    border-radius: 2.4vw;
    border: 0.72vw solid #fff;
    box-shadow: 0 1.2vw 2.64vw 0 rgba(0, 0, 0, 0.16);
  }
}
.page-summer .btn-cus02 .arrow {
  position: absolute;
  top: 50%;
  right: 14.0380673499px;
  width: 26.4245973646px;
  transform: translateY(-50%) rotate(90deg);
  line-height: 0;
}
@media (max-width: 896px) {
  .page-summer .btn-cus02 .arrow {
    right: 3.84vw;
    width: 5.76vw;
  }
}
.page-summer {
  /* KV
  * ----------------------------------------------- */
}
.page-summer .kv-sec {
  background: url("../img/kv_bg.jpg") no-repeat center center;
  background-size: cover;
  padding: 33.0307467057px 0 218.8286969253px 0;
  margin: 0 0 -86.7057101025px 0;
}
@media (max-width: 896px) {
  .page-summer .kv-sec {
    background: url("../img/kv_bg_sp.jpg") no-repeat center center;
    background-size: cover;
    padding: 19.68vw 0 38.4vw 0;
    margin: 0 0 -10.08vw 0;
  }
}
.page-summer .kv-sec .kv-img {
  margin: 0 auto 40.4626647145px auto;
  max-width: 797.6925329429px;
}
@media (max-width: 896px) {
  .page-summer .kv-sec .kv-img {
    margin: 0 auto 8.16vw auto;
    width: 86.16vw;
  }
}
.page-summer .kv-sec .kv-img img {
  width: 100%;
  max-width: none;
}
.page-summer .kv-sec .kv-note {
  font-size: 9.9092240117px;
  line-height: 13.2122986823px;
  font-weight: 700;
  max-width: 820.8140556369px;
  margin: 0 auto;
}
@media (max-width: 896px) {
  .page-summer .kv-sec .kv-note {
    font-size: 2.88vw;
    line-height: 5.04vw;
    width: 78.48vw;
    margin: 0 auto 0 7.68vw;
  }
}
.page-summer .kv-sec .kv-note .df {
  display: inline-flex;
  margin-right: 7.4319180088px;
}
@media (max-width: 896px) {
  .page-summer .kv-sec .kv-note .df {
    display: flex;
    margin-right: 0;
  }
}
.page-summer .present {
  width: 706.8579795022px;
  margin: 0 auto 33.0307467057px auto;
  background: #B9E0FF;
  border-radius: 18.9926793558px;
  border: 4.9546120059px solid #000;
  padding: 8.2576866764px 0 7.4319180088px 0;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 896px) {
  .page-summer .present {
    width: 75.84vw;
    margin: 0 auto 8.88vw auto;
    border-radius: 1.92vw;
    border: 0.96vw solid #000;
    padding: 6.48vw 0 5.28vw 0;
    flex-wrap: wrap;
  }
}
.page-summer .present-heart {
  position: absolute;
  top: -24.7730600293px;
  left: -33.8565153734px;
  width: 125.5168374817px;
}
@media (max-width: 896px) {
  .page-summer .present-heart {
    top: -7.2vw;
    left: -7.2vw;
    width: 26.88vw;
  }
}
.page-summer .present-img {
  width: 335.262079063px;
  margin: 0 -5.7803806735px 0 0;
}
@media (max-width: 896px) {
  .page-summer .present-img {
    order: -1;
    width: 59.28vw;
    margin: 0 2.88vw 0 auto;
  }
}
.page-summer .present-text {
  width: 291.4963396779px;
  margin: 26.4245973646px 0 0 66.0614934114px;
  text-align: center;
}
@media (max-width: 896px) {
  .page-summer .present-text {
    width: 57.36vw;
    margin: 1.2vw auto 0 auto;
  }
}
.page-summer .present-ttl {
  margin: 0;
}
.page-summer .present-note {
  margin: 15.6896046852px 0 0 0;
  font-size: 9.9092240117px;
  line-height: 13.2122986823px;
  font-weight: 500;
}
@media (max-width: 896px) {
  .page-summer .present-note {
    margin: 4.08vw 0 0 0;
    font-size: 2.88vw;
    line-height: 3.84vw;
  }
}
.page-summer .sec01 {
  background: url("../img/bg01.jpg") repeat top center;
  background-size: 69.364568082px;
  padding: 79.2737920937px 0 103.2210834553px 0;
  border: 6.6061493411px solid #000;
  border-radius: 66.0614934114px;
  position: relative;
  z-index: 1;
}
@media (max-width: 896px) {
  .page-summer .sec01 {
    background: url("../img/bg01_sp.jpg") repeat top center;
    background-size: 20.16vw;
    padding: 14.4vw 0 13.44vw 0;
    border: 0.96vw solid #000;
    border-radius: 5.76vw;
  }
}
.page-summer .sec01 .sec-ttl {
  margin: 0 auto 39.6368960469px auto;
  text-align: center;
}
@media (max-width: 896px) {
  .page-summer .sec01 .sec-ttl {
    margin: 0 auto 7.68vw auto;
  }
}
.page-summer .sec01 .sec-ttl img {
  width: auto;
  height: 132.1229868228px;
  margin: 0 auto;
}
@media (max-width: 896px) {
  .page-summer .sec01 .sec-ttl img {
    height: 21.12vw;
  }
}
.page-summer .sec01 .list-photo {
  display: flex;
  justify-content: center;
  gap: 13.2122986823px;
  margin: 0 auto 35.5080527086px auto;
  line-height: 0;
}
@media (max-width: 896px) {
  .page-summer .sec01 .list-photo {
    flex-wrap: wrap;
    gap: 3.6vw;
    margin: 0 auto 7.2vw auto;
  }
}
.page-summer .sec01 .list-photo .sec-img {
  width: 148.6383601757px;
}
@media (max-width: 896px) {
  .page-summer .sec01 .list-photo .sec-img {
    width: 35.52vw;
  }
}
.page-summer .sec01 .list-photo .sec-img a {
  position: relative;
  display: block;
}
.page-summer .sec01 .list-photo .sec-img a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 3.3030746706px solid #000;
  border-radius: 13.2122986823px;
}
@media (max-width: 896px) {
  .page-summer .sec01 .list-photo .sec-img a::before {
    border: 0.72vw solid #000;
    border-radius: 2.88vw;
  }
}
.page-summer .sec01 .list-photo .sec-img img {
  border-radius: 13.2122986823px;
  box-shadow: 0px 2.4773060029px 9.9092240117px 0px rgba(0, 0, 0, 0.12);
}
@media (max-width: 896px) {
  .page-summer .sec01 .list-photo .sec-img img {
    border-radius: 2.88vw;
    box-shadow: 0px 0.72vw 2.88vw 0px rgba(0, 0, 0, 0.12);
  }
}
.page-summer .sec01 .sec-txt {
  font-size: 16.5153733529px;
  line-height: 19.8184480234px;
  letter-spacing: 0.069em;
  font-weight: 500;
  text-align: center;
  margin: 42.1142020498px auto 30.5534407028px auto;
}
@media (max-width: 896px) {
  .page-summer .sec01 .sec-txt {
    font-size: 3.84vw;
    line-height: 5.76vw;
    text-align: left;
    max-width: 74.64vw;
    margin: 7.68vw auto 6.96vw auto;
  }
}
.page-summer .sec01 .btn-cus {
  margin: 0 0 94.9633967789px 0;
}
@media (max-width: 896px) {
  .page-summer .sec01 .btn-cus {
    margin: 0 0 14.88vw 0;
  }
}
.page-summer .sec01 .list-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 11.560761347px 12.3865300146px;
  max-width: 817.5109809663px;
  margin: 0 auto 0 auto;
}
@media (max-width: 896px) {
  .page-summer .sec01 .list-btn {
    justify-content: center;
    gap: 1.44vw;
    max-width: none;
    margin: 0 auto 0 auto;
  }
}
.page-summer .sec02 {
  background: url("../img/bg02.jpg") no-repeat center center;
  background-size: cover;
  padding: 151.9414348463px 0 66.0614934114px 0;
  margin: -99.0922401171px 0 0 0;
}
@media (max-width: 896px) {
  .page-summer .sec02 {
    background: url("../img/bg02_sp.jpg") no-repeat center center;
    background-size: cover;
    padding: 34.08vw 0 14.88vw 0;
    margin: -15.36vw 0 0 0;
  }
}
.page-summer .sec02 .sec-ttl {
  margin: 0 auto 28.0761346999px auto;
  text-align: center;
  width: 597.0307467057px;
}
@media (max-width: 896px) {
  .page-summer .sec02 .sec-ttl {
    margin: 0 auto 5.28vw auto;
    width: 82.56vw;
  }
}
.page-summer .area-result {
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: 74.4vw;
}
@media (min-width: 897px) {
  .page-summer .area-result {
    width: 822.4655929722px;
  }
}
.page-summer .area-result .result-ttl {
  padding: 0;
  font-size: 29.7276720351px;
  margin: 57.803806735px 0 16.5153733529px 0;
  text-align: center;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 896px) {
  .page-summer .area-result .result-ttl {
    font-size: 5.76vw;
    margin: 8.16vw 0 3.84vw;
    line-height: 1.4;
  }
}
.page-summer .area-result .result-list .item {
  background-color: #ffffff;
  border-radius: 16.5153733529px;
  padding: 20.6442166911px 37.1595900439px;
}
.page-summer .area-result .result-list .item + .item {
  margin-top: 11.560761347px;
}
@media (min-width: 897px) {
  .page-summer .area-result .result-list .item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media (max-width: 896px) {
  .page-summer .area-result .result-list .item {
    padding: 3.36vw 2.64vw 4.8vw;
    border-radius: 2.4vw;
  }
  .page-summer .area-result .result-list .item + .item {
    margin-top: 5.04vw;
  }
}
.page-summer .area-result .result-list .item .name {
  font-size: 19.8184480234px;
  line-height: 1.5;
  font-weight: bold;
  flex: 1;
  text-align: left;
  color: #231f20;
}
@media (min-width: 897px) {
  .page-summer .area-result .result-list .item .name {
    padding-right: 1.47vw;
  }
}
@media (max-width: 896px) {
  .page-summer .area-result .result-list .item .name {
    margin-bottom: 3.6vw;
    font-size: 4.32vw;
  }
}
@media (max-width: 896px) {
  .page-summer .area-result .result-list .item .navi-list .navi + .navi {
    margin-top: 2.4vw;
  }
}
@media (min-width: 897px) {
  .page-summer .area-result .result-list .item .navi-list {
    display: flex;
    justify-content: space-between;
  }
  .page-summer .area-result .result-list .item .navi-list .navi + .navi {
    margin-left: 20.6442166911px;
    width: 138.729136164px;
  }
}
.page-summer .area-result .result-list .item .navi-list a {
  display: block;
  font-size: 16.5153733529px;
  line-height: 42.1142020498px;
  font-weight: 500;
  color: #ffffff;
  border: 1.6515373353px solid #291d1b;
  background-color: #231815;
  box-sizing: border-box;
  padding: 0 31.3792093704px;
  border-radius: 23.121522694px;
  text-decoration: none;
  text-align: center;
  position: relative;
}
@media (min-width: 897px) {
  .page-summer .area-result .result-list .item .navi-list a {
    letter-spacing: 0.06em;
  }
  .page-summer .area-result .result-list .item .navi-list a:hover {
    opacity: 1;
    color: #291d1b;
    background: transparent;
    transition: background-color 0.2s, color 0.2s;
  }
  .page-summer .area-result .result-list .item .navi-list a:hover:before {
    border-color: #291d1b;
  }
}
@media (max-width: 896px) {
  .page-summer .area-result .result-list .item .navi-list a {
    font-size: 4.32vw;
    line-height: 11.04vw;
    border-radius: 5.76vw;
    border-width: 0.24vw;
  }
}
.page-summer .area-result .result-list .item .navi-list a::before {
  content: "";
  width: 8.2576866764px;
  height: 8.2576866764px;
  border: solid #ffffff;
  border-width: 1.6515373353px 1.6515373353px 0 0;
  position: absolute;
  right: 14.0380673499px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 896px) {
  .page-summer .area-result .result-list .item .navi-list a::before {
    width: 3.36vw;
    height: 3.36vw;
    border-width: 0 0.48vw 0.48vw 0;
    right: 6vw;
    transform: translateY(-50%) rotate(-45deg);
  }
}

@media (max-width: 1162px) {
  #frm-search {
    right: 0;
    margin-right: 0;
  }
  #frm-search input[type=text] {
    width: 188px;
  }
}
.menu-fixed {
  display: none !important;
}