@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");
:root {
  --c-wht: #fff;
  --c-blk: #000;
  --c-red: #E93829;
  --c-org: #FF8623;
  --c-fc: #124049;
  --c-low: #69C3FF;
  --c-low_l: #FFF1D6;
  --c-high: #004097;
  --c-high_l: #DDF4FF;
  --grd: linear-gradient(0deg, rgba(249, 221, 220, 1) 0%, rgba(255, 255, 255, 1) 100%);
  --sz-xl: min(110px,20vw);
  --sz-l: min(80px,13vw);
  --sz-m: min(40px,8vw);
  --sz-s: min(20px,4vw);
}

.p-summer {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-family: "Roboto", YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.p-summer p, .p-summer h2, .p-summer h3, .p-summer h4 {
  color: var(--c-fc);
}
.p-summer-main {
  max-width: 550px;
  margin-inline: auto;
}
.p-summer-main p {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-summer-main p {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor {
    padding-block: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor {
    padding-block: 66px;
  }
}
.p-summer-anchor__ttl {
  color: #124049;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__ttl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__ttl {
    margin-bottom: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__ttl {
    font-size: 21px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__ttl {
    font-size: 31px;
  }
}
.p-summer-anchor__btns {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btns {
    gap: 13px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btns {
    gap: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btns {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btns {
    padding-inline: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btns {
    font-size: 21px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btns {
    font-size: 31px;
  }
}
.p-summer-anchor__btn {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 1fr auto;
  grid-template-columns: 1fr auto;
  border-radius: 8px;
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  color: var(--c-wht);
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btn {
    border-radius: 10px;
    -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.16);
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btn {
    height: 65px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btn {
    height: 95px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btn {
    padding-inline: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btn {
    padding-inline: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-anchor__btn {
    font-size: 23px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btn {
    font-size: 34px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-summer-anchor__btn:hover {
    color: var(--c-wht);
  }
  .p-summer-anchor__btn:hover img {
    opacity: 1;
  }
}
.p-summer-anchor__btn[href*=lower] {
  background: var(--c-low);
}
.p-summer-anchor__btn[href*=high] {
  background: var(--c-high);
}
@media (hover: hover) {
  .p-summer-anchor__btn:hover {
    opacity: 0.7;
  }
}
.p-summer-anchor__btn span {
  text-align: center;
}
.p-summer-anchor__btn i {
  width: 22px;
  margin-left: auto;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .p-summer-anchor__btn i {
    width: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-grade_higher {
    margin-top: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade_higher {
    margin-top: 110px;
  }
}
.p-summer-grade__items {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-summer-grade__items {
    gap: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__items {
    gap: 110px;
  }
}
.p-summer-grade__item:has(.slick-track) {
  overflow: hidden;
}
.p-summer-grade__item .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-summer-grade__item .slick-track img {
  margin-inline: auto;
}
.p-summer-grade__ttl {
  position: relative;
  text-align: center;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-summer-grade__ttl {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__ttl {
    margin-bottom: 37px;
  }
}
div[class$=_higher] .p-summer-grade__ttl {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  div[class$=_higher] .p-summer-grade__ttl {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_higher] .p-summer-grade__ttl {
    font-size: 23px;
  }
}
.p-summer-grade__ttl i {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-summer-grade__ttl i {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__ttl i {
    margin-bottom: 22px;
  }
}
.p-summer-grade__ttl small {
  color: var(--c-fc);
}
div[class$=_lower] .p-summer-grade__ttl small {
  display: block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__ttl small {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__ttl small {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__ttl small {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__ttl small {
    font-size: 20px;
  }
}
div[class$=_lower] .p-summer-grade__ttl em {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-bottom: 2px solid var(--c-fc);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__ttl em {
    font-size: 29px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__ttl em {
    font-size: 42px;
  }
}
div[class$=_higher] .p-summer-grade__ttl em {
  color: var(--c-red);
}
@media screen and (max-width: 767px) {
  div[class$=_higher] .p-summer-grade__ttl em {
    font-size: 26px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_higher] .p-summer-grade__ttl em {
    font-size: 38px;
  }
}
.p-summer-grade__cnt {
  position: relative;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-summer-grade__cnt {
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__cnt {
    padding-bottom: 44px;
  }
}
div[class$=_lower] .p-summer-grade__cnt:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  opacity: 0.85;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(89, 205, 244)), color-stop(50%, rgba(23, 121, 236, 0.3)), to(rgba(1, 94, 233, 0)));
  background: linear-gradient(0deg, rgb(89, 205, 244) 0%, rgba(23, 121, 236, 0.3) 50%, rgba(1, 94, 233, 0) 100%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__cnt:after {
    height: 195px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__cnt:after {
    height: 285px;
  }
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__cnt:after {
    border-bottom-right-radius: 56px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__cnt:after {
    border-bottom-right-radius: 82px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-grade__txt {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__txt {
    margin-top: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-grade__txt {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__txt {
    padding-inline: 29px;
  }
}
div[class$=_lower] .p-summer-grade__txt p {
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  div[class$=_lower] .p-summer-grade__txt p {
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_lower] .p-summer-grade__txt p {
    font-size: 22px;
  }
}
div[class$=_higher] .p-summer-grade__txt p {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  div[class$=_higher] .p-summer-grade__txt p {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  div[class$=_higher] .p-summer-grade__txt p {
    font-size: 23px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-grade__price {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-grade__price {
    padding-inline: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-chara {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-chara {
    padding-inline: 29px;
  }
}
.p-summer-chara__ttl {
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-summer-chara__ttl {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-chara__ttl {
    margin-bottom: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-chara__ttl {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-chara__ttl {
    font-size: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-chara__bnr img {
    border-radius: 9px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-chara__bnr img {
    border-radius: 13px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-chara__bnr img {
    -webkit-filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 768px) {
  .p-summer-chara__bnr img {
    -webkit-filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (max-width: 767px) {
  .p-summer-point {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point {
    padding-inline: 29px;
  }
}
.p-summer-point__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.p-summer-point:has(input:checked) .p-summer-point__wrap {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}
.p-summer-point__inner {
  overflow: hidden;
}
.p-summer-point__ttl {
  position: relative;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-summer-point__ttl {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point__ttl {
    margin-bottom: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-point__ttl {
    padding-bottom: 22px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point__ttl {
    padding-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-point__ttl {
    font-size: 22px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point__ttl {
    font-size: 32px;
  }
}
.p-summer-point__ttl:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: url("/shogaku/feature/local/images/2025_summer/higher-point-ttl_bg.png") no-repeat top center;
  background-size: auto 100%;
}
@media screen and (max-width: 767px) {
  .p-summer-point__ttl:after {
    height: 17px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point__ttl:after {
    height: 25px;
  }
}
.p-summer-point p {
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-summer-point p {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point p {
    font-size: 20px;
  }
}
.p-summer-point p:not(:last-child) {
  margin-bottom: 1em;
}
.p-summer-point__btn {
  display: block;
  cursor: pointer;
  width: 100%;
  aspect-ratio: 670/203;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  background-size: 100%;
  background-repeat: no-repeat;
}
.p-summer-point:has(input:checked) .p-summer-point__btn {
  aspect-ratio: 335/52;
}
@media (hover: hover) and (pointer: fine) {
  .p-summer-point__btn:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-point__txt {
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-point__txt {
    padding-bottom: 44px;
  }
}
.p-summer-point input {
  display: none;
}
.p-summer-point--01 [class$=__ttl] {
  color: #6F5A3E;
}
.p-summer-point--01 label[class$=__btn] {
  background-image: url("/shogaku/feature/local/images/2025_summer/higher-point01-btn_off.png");
}
.p-summer-point--01:has(input:checked) label[class$=__btn] {
  background-image: url("/shogaku/feature/local/images/2025_summer/higher-point01-btn_on.png");
}
.p-summer-point--02 [class$=__ttl] {
  color: #09519F;
}
.p-summer-point--02 label[class$=__btn] {
  background-image: url("/shogaku/feature/local/images/2025_summer/higher-point02-btn_off.png");
}
.p-summer-point--02:has(input:checked) label[class$=__btn] {
  background-image: url("/shogaku/feature/local/images/2025_summer/higher-point02-btn_on.png");
}
@media screen and (max-width: 767px) {
  .p-summer-price {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price {
    padding-inline: 29px;
  }
}
.p-summer-price__ttl {
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-summer-price__ttl {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__ttl {
    margin-bottom: 44px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-price__ttl {
    font-size: 23px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__ttl {
    font-size: 34px;
  }
}
.p-summer-price__ttl em {
  color: #FF6D00;
}
@media screen and (max-width: 767px) {
  .p-summer-price__ttl em {
    font-size: 27px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__ttl em {
    font-size: 39px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-price__img {
    margin-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__img {
    margin-inline: 29px;
  }
}
.p-summer-price__btn {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn {
    margin-top: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn {
    margin-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn {
    margin-inline: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn {
    margin-inline: 15px;
  }
}
.p-summer-price__btn p {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: min(5.2vw,36px);
  padding-inline: min(6.6vw,50px);
  color: #FF4D4C;
  font-weight: 600;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn p {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn p {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn p {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn p {
    font-size: 28px;
  }
}
.p-summer-price__btn p:before, .p-summer-price__btn p:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  background: #FF4D4C;
}
.p-summer-price__btn p:before {
  left: 0;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
}
.p-summer-price__btn p:after {
  right: 0;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.p-summer-price__btn p em {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn p em {
    font-size: 29px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn p em {
    font-size: 42px;
  }
}
.p-summer-price__btn a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-inline: auto;
  background: #FF8623;
  -webkit-box-shadow: 0px 10px 0px 0px #ef6c00;
          box-shadow: 0px 10px 0px 0px #ef6c00;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn a {
    height: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn a {
    height: 88px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn a {
    border-radius: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn a {
    border-radius: 44px;
  }
}
.p-summer-price__btn a:hover {
  background: #ffa256;
}
.p-summer-price__btn a span {
  color: var(--c-wht);
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-summer-price__btn a span {
    font-size: 27px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-price__btn a span {
    font-size: 39px;
  }
}
.p-summer-price__btn a i {
  position: absolute;
  right: min(5.3vw,40px);
  top: 50%;
  width: min(6.2vw,40px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-summer-voice__ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-summer-voice__ttl {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__ttl {
    margin-bottom: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__ttl {
    font-size: 17px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__ttl {
    font-size: 25px;
  }
}
.p-summer-voice__ttl span {
  position: relative;
  display: block;
}
.p-summer-voice__ttl span:before, .p-summer-voice__ttl span:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background: var(--c-fc);
}
.p-summer-voice__ttl span:before {
  left: -15px;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.p-summer-voice__ttl span:after {
  right: -15px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.p-summer-voice__cnt {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.p-summer-voice:has(input:checked) .p-summer-voice__cnt {
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}
.p-summer-voice__inner {
  overflow: hidden;
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-summer-voice__inner {
    gap: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__inner {
    gap: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice:has(input:checked) .p-summer-voice__inner {
    padding-block: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice:has(input:checked) .p-summer-voice__inner {
    padding-block: 37px;
  }
}
.p-summer-voice__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-summer-voice__btn span {
  font-weight: 600;
  border-bottom: 2px solid var(--c-fc);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn span {
    font-size: 17px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn span {
    font-size: 24px;
  }
}
.p-summer-voice__btn span:before {
  content: "詳しくはこちら";
}
.p-summer-voice:has(input:checked) .p-summer-voice__btn span:before {
  content: "閉じる";
}
.p-summer-voice__btn i {
  position: relative;
  background: var(--c-fc);
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i {
    width: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i {
    width: 37px;
  }
}
.p-summer-voice__btn i:before, .p-summer-voice__btn i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-summer-voice:has(input:checked) .p-summer-voice__btn i:before, .p-summer-voice:has(input:checked) .p-summer-voice__btn i:after {
  width: 40%;
  height: 2px;
  background: var(--c-wht);
}
.p-summer-voice__btn i:before {
  border-style: solid;
  border-color: var(--c-wht) transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    width: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    height: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    height: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    border-top-width: 7px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    border-top-width: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    border-right-width: 5px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    border-right-width: 7px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    border-bottom-width: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    border-bottom-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-summer-voice__btn i:before {
    border-left-width: 5px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer-voice__btn i:before {
    border-left-width: 7px;
  }
}
.p-summer-voice:has(input:checked) .p-summer-voice__btn i:before {
  border: none;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.p-summer-voice:has(input:checked) .p-summer-voice__btn i:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.p-summer-voice__btn input {
  display: none;
}
.p-summer .c-list-attention li {
  color: #3E3A39;
  font-size: 11px;
}
.p-summer .u-txt-red {
  color: var(--c-red);
}
.p-summer .u-img-full {
  position: relative;
  left: 50%;
}
@media screen and (max-width: 549px) {
  .p-summer .u-img-full {
    width: 100vw;
    margin-left: -50vw;
  }
}
@media screen and (min-width: 550px) {
  .p-summer .u-img-full {
    width: 550px;
    margin-left: -275px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mt-xl {
    margin-top: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mt-xl {
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mt-l {
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mt-l {
    margin-top: 88px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mt-m {
    margin-top: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mt-m {
    margin-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mt-s {
    margin-top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mt-s {
    margin-top: 37px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mt-xs {
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mt-xs {
    margin-top: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mb-xl {
    margin-bottom: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mb-xl {
    margin-bottom: 110px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mb-l {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mb-l {
    margin-bottom: 88px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mb-m {
    margin-bottom: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mb-m {
    margin-bottom: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-mb-s {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-mb-s {
    margin-bottom: 37px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pt-xl {
    padding-top: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pt-xl {
    padding-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pt-l {
    padding-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pt-l {
    padding-top: 88px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pt-m {
    padding-top: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pt-m {
    padding-top: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pt-s {
    padding-top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pt-s {
    padding-top: 37px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pb-xl {
    padding-bottom: 75px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pb-xl {
    padding-bottom: 110px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pb-l {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pb-l {
    padding-bottom: 88px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pb-m {
    padding-bottom: 45px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pb-m {
    padding-bottom: 66px;
  }
}
@media screen and (max-width: 767px) {
  .p-summer .u-pb-s {
    padding-bottom: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-summer .u-pb-s {
    padding-bottom: 37px;
  }
}
.p-summer .slick-dots {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-top: 10px;
}
.p-summer .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0;
}
.p-summer .slick-dots button {
  width: 100%;
  height: 100%;
  padding: 0;
}
.p-summer .slick-dots button:before {
  position: static;
}

@media screen and (min-width: 768px) {
  .modal-dialog {
    width: 550px;
  }
}

.p-special-modal {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(222, 248, 215)), to(rgb(247, 247, 185)));
  background: linear-gradient(0deg, rgb(222, 248, 215) 0%, rgb(247, 247, 185) 100%);
}
@media screen and (max-width: 767px) {
  .p-special-modal {
    padding-block: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal {
    padding-block: 44px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal {
    padding-inline: 29px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__ttl {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__ttl {
    margin-bottom: 44px;
  }
}
.p-special-modal__grid {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-special-modal__grid {
    gap: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__grid {
    gap: 37px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__grid + .p-special-modal__grid {
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__grid + .p-special-modal__grid {
    margin-top: 88px;
  }
}
.p-special-modal__item {
  overflow: hidden;
  background: var(--c-wht);
}
@media screen and (max-width: 767px) {
  .p-special-modal__item {
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item {
    padding-bottom: 44px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__item {
    border-radius: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item {
    border-radius: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__item-ttl {
    margin-bottom: 23px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item-ttl {
    margin-bottom: 33px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__item-txt {
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item-txt {
    margin-top: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__item-txt {
    padding-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item-txt {
    padding-top: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal__item-txt {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal__item-txt {
    padding-inline: 29px;
  }
}
.p-special-modal__item--pink .p-special-modal__item-ttl {
  background: #E3629B;
}
.p-special-modal__item--pink .p-special-modal__item-txt {
  border-top: 1px dashed #E3629B;
}
.p-special-modal__item--blu .p-special-modal__item-ttl {
  background: #009BDD;
}
.p-special-modal__item--blu .p-special-modal__item-txt {
  border-top: 1px dashed #009BDD;
}
@media screen and (max-width: 767px) {
  .p-special-modal p {
    font-size: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal p {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-special-modal .c-list-attention {
    margin-inline: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal .c-list-attention {
    margin-inline: 15px;
  }
}
.p-special-modal .c-list-attention li {
  opacity: 1;
  color: var(--c-fc);
}
@media screen and (max-width: 767px) {
  .p-special-modal .c-list-attention li {
    font-size: 11px;
  }
}
@media screen and (min-width: 768px) {
  .p-special-modal .c-list-attention li {
    font-size: 16px;
  }
}