@charset "UTF-8";
.kv {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  background: url(../img/summer/kv.jpg) no-repeat center;
  color: #fff;
  text-align: center;
  position: relative;
}
@media (max-width: 1024px) {
  .kv {
    background: url(../img/summer/kv_sp.jpg) no-repeat center;
  }
}
.kv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(24, 165, 174, 0.3) 0, rgba(0, 0, 0, 0) 30%);
  z-index: 1;
}
@media (max-width: 767px) {
  .kv::before {
    background: linear-gradient(to bottom, rgba(24, 165, 174, 0.3) 0, rgba(0, 0, 0, 0) 50%);
  }
}
.kv > * {
  position: relative;
  z-index: 2;
}
.kv .text {
  line-height: 1;
  margin-bottom: 30px;
  display: inline-block;
  filter: drop-shadow(0 0 6px #06617D) drop-shadow(0 0 6px #06617D) drop-shadow(0 0 6px #06617D);
}
@media (max-width: 767px) {
  .kv .text {
    width: 90%;
    margin: 0 auto 30px;
  }
}
.kv .text img {
  width: 245px;
}
@media (max-width: 767px) {
  .kv .text img {
    width: 178px;
  }
}
.kv .text h1 {
  font-size: 7.78rem;
  letter-spacing: 1.5rem;
}
@media (max-width: 767px) {
  .kv .text h1 {
    font-size: 5.643rem;
    letter-spacing: 0.8rem;
    text-shadow: 0 0 6px #06617D;
  }
}
.kv .text h1 span {
  display: block;
}
.kv .text .top {
  font-size: 2.47rem;
  letter-spacing: 0.6rem;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .kv .text .top {
    font-size: 1.794rem;
    text-shadow: 0 0 6px #06617D;
  }
}
.kv .text .bottom {
  font-size: 4.42rem;
  letter-spacing: 0.6rem;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .kv .text .bottom {
    font-size: 3.2rem;
    letter-spacing: 0.5rem;
    text-shadow: 0 0 6px #06617D;
  }
}
.kv .text .ribbon {
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
  font-size: 1.895rem;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  display: inline-block;
  letter-spacing: 0.2rem;
  margin: 25px 0;
  padding: 16px 30px 14px;
  position: relative;
}
@media (max-width: 767px) {
  .kv .text .ribbon {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    font-size: 1.374rem;
    padding: 12px 15px;
    margin-bottom: 20px;
    text-shadow: 0 0 6px #06617D;
  }
}
.kv .text .ribbon::before, .kv .text .ribbon::after {
  content: "";
  position: absolute;
  bottom: -12px;
  width: 41px;
  height: 54px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .kv .text .ribbon::before, .kv .text .ribbon::after {
    bottom: -10px;
    width: 30px;
    height: 39px;
  }
}
.kv .text .ribbon::before {
  left: -25px;
  background-image: url(../img/summer/kv_ribbon_l.svg);
}
@media (max-width: 767px) {
  .kv .text .ribbon::before {
    left: -20px;
  }
}
.kv .text .ribbon::after {
  right: -25px;
  background-image: url(../img/summer/kv_ribbon_r.svg);
}
@media (max-width: 767px) {
  .kv .text .ribbon::after {
    right: -20px;
  }
}
.kv .text .monday {
  font-size: 1.786rem;
  letter-spacing: 0.5rem;
}
@media (max-width: 767px) {
  .kv .text .monday {
    font-size: 1.296rem;
    letter-spacing: 0.3rem;
  }
}

@media (max-width: 767px) {
  .anchorListWrap .anchorList li {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .anchorListWrap .anchorList li span {
    text-align: center;
  }
}

.secTitle02 {
  color: #000;
}

section h2.secTitle02.white {
  background: #fff;
  text-align: center;
  padding: 22px 0;
  margin-bottom: 40px;
  text-transform: capitalize;
}
@media (max-width: 1024px) {
  section h2.secTitle02.white {
    padding: 17px 0;
    margin-bottom: 20px;
    margin-top: 0;
  }
}

section .flexBlock {
  display: flex;
  justify-content: space-between;
  gap: 45px;
}
@media (max-width: 1024px) {
  section .flexBlock {
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  section .flexBlock {
    gap: 35px;
  }
}

.photo {
  overflow: hidden;
  border-radius: 10px;
  margin: 0 0 20px;
}
@media (max-width: 767px) {
  .photo {
    margin-bottom: 15px;
  }
}
.photo img {
  height: 100%;
}

h3.secTitle02 {
  color: #000;
  margin-bottom: 10px;
}

.detailList {
  display: flex;
  flex-wrap: wrap;
  gap: 0 15px;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .detailList {
    margin-top: 8px;
  }
}
.detailList li::before {
  content: "●";
  display: inline-block;
  color: #AB8D4B;
  margin-right: 5px;
}
.detailList li span {
  display: inline-block;
}

.projectList.flexBlock {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .projectList.flexBlock {
    grid-template-columns: repeat(1, 1fr);
  }
}
.projectList.flexBlock .photo {
  aspect-ratio: 579/360;
  position: relative;
}
.projectList.flexBlock .photo p {
  position: absolute;
  bottom: 13px;
  left: 20px;
  color: #fff;
  filter: drop-shadow(0 0 4px #000);
  width: 85%;
}
@media (max-width: 767px) {
  .projectList.flexBlock .photo p {
    bottom: 10px;
  }
}

.project > .wrapper,
.experience > .wrapper {
  padding-top: 100px;
}
@media (max-width: 767px) {
  .project > .wrapper,
  .experience > .wrapper {
    padding-top: 30px;
  }
}
.project .lead,
.experience .lead {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 300;
  font-size: 1.9rem;
  text-align: center;
}
@media (max-width: 767px) {
  .project .lead,
  .experience .lead {
    font-size: 1.5rem;
  }
}
.project .lead span,
.experience .lead span {
  font-size: 1.5rem;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
  font-weight: 500;
}
@media (max-width: 767px) {
  .project .lead span,
  .experience .lead span {
    font-size: 1.3rem;
  }
}

/* =========================================================
project
========================================================= */
.project hr {
  margin-top: 65px;
  margin-bottom: 55px;
}
@media (max-width: 767px) {
  .project hr {
    display: none;
  }
}
.project h2.secTitle02.white {
  background: #F6F3ED;
}
.project .breakfast {
  text-align: center;
  margin: 0 auto;
  position: relative;
  width: 570px;
}
@media (max-width: 1024px) {
  .project .breakfast {
    width: 100%;
    margin-top: -55px;
  }
}
.project .breakfast .wrapper {
  padding: 0;
  margin: 0 auto;
  max-width: 100%;
  width: 570px;
}
@media (max-width: 767px) {
  .project .breakfast .wrapper {
    margin: -40px auto 0;
    width: 90%;
  }
}
.project .breakfast + .wrapper {
  padding-top: 60px;
}
@media (max-width: 767px) {
  .project .breakfast + .wrapper {
    padding-top: 40px;
  }
}
.project .breakfast .text {
  z-index: 1;
  position: relative;
}
.project .breakfast .text h2 {
  color: #549435;
  font-size: 7.358rem;
  font-family: "cronos-pro", sans-serif;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
}
@media (max-width: 767px) {
  .project .breakfast .text h2 {
    font-size: 4.213rem;
  }
}
.project .breakfast .text h2 .yellow {
  color: #EFB200;
}
.project .breakfast .text h2 .ff {
  letter-spacing: 0.8px;
}
.project .breakfast .text h3 {
  margin: 30px 0;
}
@media (max-width: 767px) {
  .project .breakfast .text h3 {
    margin: 18px 0;
  }
}
.project .breakfast .text .textInner {
  max-width: 500px;
  margin: 0 auto;
}
.project .breakfast .text .textInner hr {
  margin: 40px 0;
}
@media (max-width: 767px) {
  .project .breakfast .text .textInner hr {
    margin: 15px 0;
    display: block;
  }
}
.project .breakfast .text .textInner .detailList {
  text-align: left;
}
.project .breakfast .pc img {
  position: absolute;
}
.project .breakfast .pc img.buffet01 {
  min-width: 670px;
  top: 46%;
  left: -614px;
  transform: translateY(-50%);
}
.project .breakfast .pc img.buffet02 {
  min-width: 985px;
  top: 50%;
  right: -840px;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .project .heatIndex {
    margin-top: 35px;
    gap: 0;
  }
}
.project .heatIndex .photo {
  width: 27.5%;
}
@media (max-width: 1024px) {
  .project .heatIndex .photo {
    width: 100%;
  }
}
.project .heatIndex .photo + div {
  width: 70%;
}
@media (max-width: 1024px) {
  .project .heatIndex .photo + div {
    width: 100%;
  }
}

/* =========================================================
experience
========================================================= */
.experience hr {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .experience hr {
    display: none;
  }
}
.experience .fireworksImg {
  position: relative;
}
.experience .fireworksImg + .wrapper {
  padding-top: 55px;
}
.experience .fireworksImg .pic {
  display: flex;
}
@media (max-width: 1024px) {
  .experience .fireworksImg .pic {
    flex-direction: column;
  }
}
.experience .fireworksImg .pic img {
  width: 50%;
}
@media (max-width: 1024px) {
  .experience .fireworksImg .pic img {
    width: 100%;
  }
}
.experience .fireworksImg p {
  position: absolute;
  bottom: 30px;
  left: 30px;
  color: #fff;
}
@media (max-width: 1024px) {
  .experience .fireworksImg p {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 90%;
    margin: 0 auto;
    bottom: 15px;
  }
}
@media (max-width: 767px) {
  .experience .fireworksImg + .wrapper {
    padding-top: 25px;
  }
}
.experience .fireworks {
  margin-bottom: 85px;
}
@media (max-width: 767px) {
  .experience .fireworks {
    gap: 20px;
    margin-bottom: 35px;
  }
}
.experience .fireworks h3.secTitle02 {
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .experience .fireworks h3.secTitle02 {
    margin-bottom: 25px;
  }
}
.experience .fireworks .detailList li {
  width: 100%;
}
.experience .fireworks .left {
  width: 65%;
}
@media (max-width: 1024px) {
  .experience .fireworks .left {
    width: 100%;
  }
}
.experience .fireworks .right {
  margin-top: -120px;
  display: flex;
  flex-direction: column;
  width: 34%;
}
@media (max-width: 1024px) {
  .experience .fireworks .right {
    margin-top: 0;
    width: 100%;
  }
}
.experience .fireworks .right .photo {
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .experience .fireworks .right .photo {
    display: none;
  }
}
@media (max-width: 767px) {
  .experience .fireworks .right .photo + p {
    display: none;
  }
}
.experience .fireworks .right .balloon {
  background-color: #A9884A;
  color: #fff;
  border-radius: 4px;
  text-align: center;
  margin-top: auto;
  padding: 13.5px 8px;
  position: relative;
  line-height: 1.1;
}
.experience .fireworks .right .balloon::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top: 7px solid #A9884A;
}
.experience .fireworks .right .btn {
  margin-top: 18px;
}
.experience .fireworks .right .btn a {
  width: 100%;
}
@media (max-width: 1024px) {
  .experience .puzzle {
    margin-top: 30px;
    gap: 0;
    align-items: center;
  }
}
.experience .puzzle .photo {
  width: 278px;
  height: 278px;
}
@media (max-width: 767px) {
  .experience .puzzle .photo {
    width: 100%;
    height: auto;
    aspect-ratio: 331/207;
  }
}
.experience .puzzle .photo + div {
  width: 74%;
}
@media (max-width: 1024px) {
  .experience .puzzle .photo + div {
    width: 100%;
  }
}
.experience .chocolate {
  border: 1px solid #C2C2C2;
  padding: 45px;
  margin-top: 70px;
}
@media (max-width: 767px) {
  .experience .chocolate {
    padding: 25px 18px;
    margin-top: 30px;
  }
}
.experience .chocolate .text {
  width: 80%;
}
@media (max-width: 1024px) {
  .experience .chocolate .text {
    width: 100%;
  }
}
.experience .chocolate .text .flexBlock .flexBlock {
  display: block;
  width: 28%;
}
@media (max-width: 1024px) {
  .experience .chocolate .text .flexBlock .flexBlock {
    flex-direction: row;
    display: flex;
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .experience .chocolate .text .flexBlock .flexBlock p {
    width: 70%;
  }
}
.experience .chocolate .text .flexBlock .flexBlock .pop p {
  width: 92px;
}
@media (max-width: 767px) {
  .experience .chocolate .text .flexBlock .flexBlock .pop p {
    width: 67px;
  }
}
.experience .chocolate .text .detailList {
  width: 70%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .experience .chocolate .text .detailList {
    width: 100%;
  }
}
.experience .chocolate .text .detailList li {
  width: 100%;
}
.experience .chocolate .pop {
  position: relative;
  width: 170px;
  text-align: center;
}
@media (max-width: 767px) {
  .experience .chocolate .pop {
    margin-top: auto;
  }
}
.experience .chocolate .pop p {
  position: absolute;
  top: -60px;
  left: -55px;
  background-color: #A9884A;
  color: #fff;
  border-radius: 50%;
  font-weight: bold;
  width: 92px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  font-size: 1.8rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .experience .chocolate .pop p {
    width: 67px;
    height: 67px;
    font-size: 1.3rem;
    top: -55px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.experience .chocolate .pop img {
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.2));
}
.experience .dog {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .experience .dog {
    margin-top: 30px;
  }
}
.experience .dog .dogImg.pc {
  display: flex;
  margin-bottom: 45px;
}
@media (max-width: 1024px) {
  .experience .dog .dogImg.pc {
    display: none;
  }
}
.experience .dog .dogImg.pc img {
  width: 50%;
}
@media (max-width: 767px) {
  .experience .dog .dogImg.sp {
    margin-bottom: 8px;
  }
}
@media (max-width: 767px) {
  .experience .dog .dogImg.sp + .sp {
    margin-bottom: 15px;
  }
}
.experience .dog .dogDetail {
  border: 1px solid #C2C2C2;
  padding: 45px;
  margin-top: 40px;
  margin-bottom: 85px;
}
@media (max-width: 767px) {
  .experience .dog .dogDetail {
    padding: 25px 18px;
    margin-bottom: 30px;
  }
}
.experience .dog .dogDetail .detailList {
  margin-top: 0;
}
.experience .dog .detailList li {
  width: 100%;
}
@media (max-width: 1024px) {
  .experience .dog .flexBlock {
    gap: 0;
  }
}
.experience .dog .flexBlock .photo {
  width: 37%;
}
@media (max-width: 1024px) {
  .experience .dog .flexBlock .photo {
    width: 100%;
  }
}
.experience .dog .flexBlock .photo + div {
  width: 59%;
}
@media (max-width: 1024px) {
  .experience .dog .flexBlock .photo + div {
    width: 100%;
  }
}

/* =========================================================
多言語
========================================================= */
@media (max-width: 767px) {
  .lang_en .kv .text,
  .lang_fr .kv .text,
  .lang_de .kv .text,
  .lang_es .kv .text,
  .lang_it .kv .text,
  .lang_th .kv .text,
  .lang_vi .kv .text,
  .lang_id .kv .text,
  .lang_ms .kv .text,
  .lang_ru .kv .text {
    width: 85%;
  }
}
@media (max-width: 767px) {
  .lang_en .kv .text h1,
  .lang_fr .kv .text h1,
  .lang_de .kv .text h1,
  .lang_es .kv .text h1,
  .lang_it .kv .text h1,
  .lang_th .kv .text h1,
  .lang_vi .kv .text h1,
  .lang_id .kv .text h1,
  .lang_ms .kv .text h1,
  .lang_ru .kv .text h1 {
    font-size: 4rem;
  }
}
@media (max-width: 767px) {
  .lang_en .kv .text h1 .bottom,
  .lang_fr .kv .text h1 .bottom,
  .lang_de .kv .text h1 .bottom,
  .lang_es .kv .text h1 .bottom,
  .lang_it .kv .text h1 .bottom,
  .lang_th .kv .text h1 .bottom,
  .lang_vi .kv .text h1 .bottom,
  .lang_id .kv .text h1 .bottom,
  .lang_ms .kv .text h1 .bottom,
  .lang_ru .kv .text h1 .bottom {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  .lang_en .kv .text .bottom,
  .lang_fr .kv .text .bottom,
  .lang_de .kv .text .bottom,
  .lang_es .kv .text .bottom,
  .lang_it .kv .text .bottom,
  .lang_th .kv .text .bottom,
  .lang_vi .kv .text .bottom,
  .lang_id .kv .text .bottom,
  .lang_ms .kv .text .bottom,
  .lang_ru .kv .text .bottom {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .lang_en .kv .text .ribbon,
  .lang_fr .kv .text .ribbon,
  .lang_de .kv .text .ribbon,
  .lang_es .kv .text .ribbon,
  .lang_it .kv .text .ribbon,
  .lang_th .kv .text .ribbon,
  .lang_vi .kv .text .ribbon,
  .lang_id .kv .text .ribbon,
  .lang_ms .kv .text .ribbon,
  .lang_ru .kv .text .ribbon {
    padding: 12px 3px;
  }
}

.lang_de .kv .text h1 {
  word-break: break-all;
}/*# sourceMappingURL=summer.css.map */