@charset "UTF-8";
/*
  File Name   : top.css
  Description : Write top content styles
*/
/* TOP 共通パーツ
============================================================ */
.top .header {
  background-color: transparent;
}
@media screen {
  .top .header {
    opacity: 0;
    -webkit-animation: fadeInAnime 0.6s ease-in 0.4s forwards;
            animation: fadeInAnime 0.6s ease-in 0.4s forwards;
  }
}
.top .header.isScrolled {
  background-color: #fff;
}
.top .header:not(.isMenuOpen):not(.isScrolled) {
  position: absolute;
}
.top #lay-main > *:last-child {
  padding-bottom: 150px;
}
@media only screen and (max-width: 1024px) {
  .top #lay-main > *:last-child {
    padding-bottom: 100px;
  }
}
@media print {
  .top #lay-main > * {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
  }
}

.top-section-hl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color_main);
  font-size: 35px;
  font-weight: 800;
  line-height: 1.65em;
  letter-spacing: 0em;
  text-indent: 0em;
  -webkit-text-decoration: underline 2px;
          text-decoration: underline 2px;
  text-underline-offset: 0.25em;
}
@media only screen and (max-width: 1024px) {
  .top-section-hl {
    font-size: 28px;
  }
}
.top-section-hl > span {
  display: block;
}

.top-subSection-moreBtn {
  max-width: 320px;
}

/* SECTION GROUP 01
============================================================ */
.top-sectionGroup__01 {
  padding: var(--height-header) 0 0;
  overflow: hidden;
  background: var(--gradient_default);
}
@media only screen and (max-width: 1024px) {
  .top-sectionGroup__01 {
    padding: var(--height-header_mbl) 0 0;
  }
}

/* KV
============================================================ */
.top-kv {
  position: relative;
  z-index: 1;
}
.top-kv .top-kv-catchWrap {
  position: relative;
  display: block;
  width: 46.5625%;
  max-width: 894px;
  margin: min(3.54vw, 68px) auto 0;
  z-index: 1;
}
@media screen {
  .top-kv .top-kv-catchWrap {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
}
@media only screen and (max-width: 599px) {
  .top-kv .top-kv-catchWrap {
    width: calc(100% - (var(--sidePadding_base_mbl) * 2));
    max-width: 335px;
    margin-top: 15px;
  }
}
.top-kv .top-kv-catchWrap .top-kv-catch {
  display: block;
  width: 100%;
}
.top-kv .top-kv-slider {
  margin: max(-18px, calc(0.9375vw * -1)) 0 0;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
@media only screen and (max-width: 599px) {
  .top-kv .top-kv-slider {
    margin-top: -13px;
  }
}
.top-kv .top-kv-slider .splide__slide--pict {
  position: relative;
  display: block;
  aspect-ratio: 1100/700;
  border-radius: clamp(15px, 3.0vw, 30px);
  overflow: hidden;
}
@media only screen and (max-width: 599px) {
  .top-kv .top-kv-slider .splide__slide--pict {
    aspect-ratio: 335/420;
  }
}
.top-kv .top-kv-slider .splide__slide--pict::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#c7eaff), to(#fdced6));
  background: -webkit-linear-gradient(left, #c7eaff 0%, #fdced6 100%);
  background: linear-gradient(90deg, #c7eaff 0%, #fdced6 100%);
  opacity: 0.15;
  pointer-events: none;
}
/* ABOUT US
============================================================ */
.top-about {
  position: relative;
  padding: 120px 0 120px;
}
@media only screen and (max-width: 1024px) {
  .top-about {
    padding: 47px 0 70px;
  }
}
.top-about .top-about-content {
  position: relative;
  padding: 100px 60px 100px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 300px;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-about .top-about-content {
    border-radius: 60px;
  }
}
@media only screen and (max-width: 1024px) {
  .top-about .top-about-content {
    padding: 71px var(--sidePadding_base_mbl) 71px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-about .top-about-content {
    border-radius: 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-about .top-about-content {
    border-radius: 15px;
  }
}
.top-about .top-about-content::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 70px;
  aspect-ratio: 1/1;
  background: url(../images/common/decore_sakura.svg) no-repeat center/contain;
  top: 0;
  left: 0;
  -webkit-transform: translate(0, -35%);
          transform: translate(0, -35%);
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-about .top-about-content::after {
    height: 50px;
    -webkit-transform: translate(0, -38%);
            transform: translate(0, -38%);
  }
}
.top-about .top-about-content .top-about-hl {
  margin: 0 auto 0;
  text-align: center;
}
.top-about .top-about-content .top-about-description {
  width: 100%;
  max-width: 820px;
  font-size: 20px;
  font-weight: 500;
  line-height: 2.5em;
  letter-spacing: 0em;
  text-indent: 0em;
  text-align: center;
  margin: 31px auto 0;
}
@media only screen and (max-width: 1024px) {
  .top-about .top-about-content .top-about-description {
    font-size: 18px;
    line-height: 2.1em;
    margin-top: 28px;
  }
}
.top-about .top-about-content .top-about-moreBtn {
  margin: 38px auto 0;
}
@media only screen and (max-width: 1024px) {
  .top-about .top-about-content .top-about-moreBtn {
    font-size: 19px;
    margin-top: 33px;
    padding: 0.25em 2em;
  }
}
.top-about .decoreParts {
  position: absolute;
  display: block;
  width: min(40.0vw, 586px);
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-about .decoreParts {
    width: clamp(327px, 87.2vw, 500px);
  }
}
.top-about .decoreParts__01 {
  top: 0;
  right: calc(50% + 677px);
  -webkit-transform: translate(50%, -9%);
          transform: translate(50%, -9%);
}
@media screen and (max-width: 1919px) {
  .top-about .decoreParts__01 {
    right: auto;
    left: 0;
    -webkit-transform: translate(-2%, -9%);
            transform: translate(-2%, -9%);
  }
}
@media only screen and (max-width: 1024px) {
  .top-about .decoreParts__01 {
    right: auto;
    left: 0;
    -webkit-transform: translate(-34%, -32%);
            transform: translate(-34%, -32%);
  }
}
.top-about .decoreParts__02 {
  bottom: 0;
  right: calc(50% - 679px);
  -webkit-transform: translate(50%, 7%);
          transform: translate(50%, 7%);
}
@media screen and (max-width: 1919px) {
  .top-about .decoreParts__02 {
    right: 0;
    -webkit-transform: translate(2%, 6%);
            transform: translate(2%, 6%);
  }
}
@media only screen and (max-width: 1024px) {
  .top-about .decoreParts__02 {
    right: 0;
    -webkit-transform: translate(34%, 24%);
            transform: translate(34%, 24%);
  }
}

/* NEWS
============================================================ */
.top-news {
  padding: 0 0 100px;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .top-news {
    padding: 0 0 68px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-news .top-news-contents {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-news .top-news-contents {
    padding-left: 15px;
  }
}
.top-news .top-news-decoreSlider {
  margin: -2px 0 0;
}
.top-news .top-news-contentsInner {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#F8F7F2));
  background: -webkit-linear-gradient(#FFFFFF, #F8F7F2);
  background: linear-gradient(#FFFFFF, #F8F7F2);
  border-radius: 0 0 0 50px;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsInner {
    border-radius: 0 0 0 30px;
  }
}
.top-news .top-news-contentsInner::after {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  right: 0;
  top: 0;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#F8F7F2));
  background: -webkit-linear-gradient(#FFFFFF, #F8F7F2);
  background: linear-gradient(#FFFFFF, #F8F7F2);
  pointer-events: none;
}
.top-news .top-news-contentsContainer {
  display: grid;
  grid-template-columns: 220px 1fr;
  grid-template-rows: fit-content(100%) 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-column-gap: 50px;
  grid-row-gap: 43px;
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer {
    grid-template-columns: 100%;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-news .top-news-contentsContainer {
    padding-left: 30px;
    padding-right: 15px;
  }
}
@media only screen and (max-width: 599px) {
  .top-news .top-news-contentsContainer {
    padding-right: 0;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-news .top-news-contentsContainer .top-news-hl {
    grid-area: 1/1/2/2;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-news .top-news-contentsContainer .top-news-list-wrap {
    grid-area: 1/2/3/3;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-news .top-news-contentsContainer .top-news-moreBtnWrap {
    grid-area: 2/1/3/2;
  }
}
.top-news .top-news-contentsContainer {
  position: relative;
  padding-top: 86px;
  padding-bottom: 103px;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer {
    padding-top: 71px;
    padding-bottom: 70px;
  }
}
.top-news .top-news-contentsContainer .top-news-hl {
  margin: 30px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer .top-news-hl {
    margin: 0 auto 0;
    text-align: center;
  }
}
.top-news .top-news-contentsContainer .top-news-list-wrap {
  width: 100%;
  margin: 0 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer .top-news-list-wrap {
    margin: 21px auto 0;
  }
}
.top-news .top-news-contentsContainer .top-news-list-wrap .com-news-list {
  max-width: 851px;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer .top-news-list-wrap .com-news-list {
    max-width: initial;
    margin: 0 0 0;
  }
}
.top-news .top-news-contentsContainer .top-news-list-wrap .com-news-list > ul {
  border-top: none;
}
.top-news .top-news-contentsContainer .top-news-moreBtnWrap {
  width: 100%;
  max-width: 220px;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer .top-news-moreBtnWrap {
    max-width: 300px;
    margin: 40px auto 0;
  }
}
.top-news .top-news-contentsContainer .top-news-moreBtn {
  width: 100%;
  max-width: initial;
}
.top-news .top-news-contentsContainer .com-noneText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: 0em;
  text-indent: 0em;
  text-align: center;
  opacity: 0.7;
}
.top-news .top-news-contentsContainer .decoreParts {
  position: absolute;
  width: 116px;
  height: auto;
  aspect-ratio: 116/79;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(38%, 27%);
          transform: translate(38%, 27%);
  z-index: 1;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
@media screen and (max-width: 1379px) {
  .top-news .top-news-contentsContainer .decoreParts {
    -webkit-transform: translate(10%, 27%);
            transform: translate(10%, 27%);
  }
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-contentsContainer .decoreParts {
    width: 100px;
    -webkit-transform: translate(-1%, 39%);
            transform: translate(-1%, 39%);
  }
}

/* ATTRACTIONS
============================================================ */
.top-attractions {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-attractions .top-attractions-contents {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-attractions .top-attractions-contents {
    padding-right: 15px;
  }
}
.top-attractions .top-attractions-contentsInner {
  position: relative;
  background: var(--gradient_default);
  border-radius: 0px 50px 50px 0px;
  padding: 118px 0 118px;
}
@media only screen and (max-width: 1024px) {
  .top-attractions .top-attractions-contentsInner {
    padding: 67px 0 70px;
    border-radius: 0 30px 30px 0;
  }
}
.top-attractions .top-attractions-contentsInner::after {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  background: #FFF0F3;
  pointer-events: none;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-contentsContainer {
    padding-right: 30px;
  }
}
@media only screen and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-contentsContainer {
    padding-left: 0;
  }
}
.top-attractions .top-attractions-contents .top-attractions-hl {
  text-align: center;
  margin: 0 auto 0;
}
.top-attractions .top-attractions-contents .top-attractions-subSections {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 60px;
  margin: 43px 0 0;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections {
    gap: 12px 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections {
    grid-template-columns: 100%;
    gap: 33px 0;
    margin: 36px auto 0;
    max-width: 450px;
  }
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSectionInner {
  display: grid;
  grid-template-columns: 100%;
  justify-items: center;
  color: var(--color_font);
  text-decoration: none;
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__hl {
  position: relative;
  display: block;
  width: 100%;
  color: var(--color_accent);
  font-size: 30px;
  line-height: 1.4em;
  letter-spacing: 0em;
  text-indent: 0em;
  padding: 0 0 0 1.45em;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection__hl {
    font-size: min(3.84vw, 25px);
  }
}
@media only screen and (max-width: 599px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection__hl {
    font-size: 25px;
  }
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__hl::before {
  content: "";
  position: absolute;
  width: 1.1em;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/common/decore_sakura.svg) no-repeat center/contain;
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__pict {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: auto;
  aspect-ratio: 570/320;
  border-radius: 20px;
  margin: 14px 0 0;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection__pict {
    aspect-ratio: 320/200;
    border-radius: 10px;
    margin-top: 8px;
  }
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__pict > img {
  -webkit-transition: -webkit-transform 0.3s ease-in;
  transition: -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
  pointer-events: none;
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__description {
  position: relative;
  display: block;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0em;
  text-indent: 0em;
  border-bottom: 2px solid #D3D3D3;
  padding: 0.6em 2.25em 0.6em 0;
  margin: 0.6em 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection__description {
    font-size: 18px;
    line-height: 1.5em;
    padding: 0.6em 1.5em 0.6em 0;
    margin: 0.25em 0 0;
  }
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSection__description::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.6em;
  height: 100%;
  top: 0;
  right: 1em;
  -webkit-transition: right 0.2s ease-in;
  transition: right 0.2s ease-in;
  background: url(../images/common/arrow_accent-color.svg) no-repeat center/contain;
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection__description::after {
    width: 0.55em;
    right: 0;
  }
}
.top-attractions .top-attractions-contents .top-attractions-subSections .subSectionInner:hover {
  opacity: 1 !important;
}
@media print, screen and (min-width: 1025px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSectionInner:hover .subSection__pict > img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSectionInner:hover .subSection__description::after {
    right: 0.25em;
  }
}
@media print, screen and (min-width: 600px) {
  .top-attractions .top-attractions-contents .top-attractions-subSections .subSection:nth-child(even) {
    margin: 56px 0 0;
  }
}

/* PHOTO CONTEST
============================================================ */
.top-photoContest {
  position: relative;
  padding: 120px 0 120px;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest {
    padding: 70px 0 70px;
  }
}
.top-photoContestInner {
  position: relative;
}
.top-photoContest .top-photoContest-linkBanner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  widows: 100%;
  height: 440px;
  padding: var(--sidePadding_base);
  border-radius: 30px;
  color: var(--color_font);
  text-decoration: none;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .top-photoContest-linkBanner {
    border-radius: 20px;
    padding: var(--sidePadding_base_mbl);
  }
}
.top-photoContest .top-photoContest-linkBanner::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--gradient_default);
  z-index: 1;
  opacity: 0.25;
  pointer-events: none;
}
.top-photoContest .top-photoContest-linkBanner__picts {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.top-photoContest .top-photoContest-linkBanner__picts .pict {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  overflow: hidden;
}
.top-photoContest .top-photoContest-linkBanner__picts .pict > img {
  pointer-events: none;
}
.top-photoContest .top-photoContest-linkBanner__txt {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  max-width: 500px;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 30px;
  padding: 44px var(--sidePadding_base) 40px;
  z-index: 2;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .top-photoContest-linkBanner__txt {
    border-radius: 20px;
    padding: 40px var(--sidePadding_base_mbl) 40px;
  }
}
.top-photoContest .top-photoContest-linkBanner__txt--hl {
  display: block;
  color: var(--color_main);
  font-size: 35px;
  font-weight: 800;
  line-height: 1.3em;
  letter-spacing: 0em;
  text-indent: 0em;
  text-align: center;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .top-photoContest-linkBanner__txt--hl {
    font-size: 28px;
    line-height: 1.5em;
  }
}
.top-photoContest .top-photoContest-linkBanner__txt--description {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6em;
  letter-spacing: 0em;
  text-indent: 0em;
  text-align: center;
  margin: 1em 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .top-photoContest-linkBanner__txt--description {
    font-size: 17px;
    margin-top: 0.5em;
  }
}
.top-photoContest .top-photoContest-linkBanner__txt--dummyBtn {
  max-width: 320px;
  pointer-events: none;
  margin: 1em 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .top-photoContest-linkBanner__txt--dummyBtn {
    margin-top: 0.75em;
  }
}
@media only screen and (max-width: 599px) {
  .top-photoContest .top-photoContest-linkBanner__txt--dummyBtn {
    font-size: 20px;
    padding-left: 2em;
    padding-right: 2em;
  }
}
.top-photoContest .top-photoContest-linkBanner:hover {
  opacity: 1 !important;
}
@media print, screen and (min-width: 1025px) {
  .top-photoContest .top-photoContest-linkBanner:hover .top-photoContest-linkBanner__txt--dummyBtn {
    opacity: 0.7;
  }
  .top-photoContest .top-photoContest-linkBanner:hover .top-photoContest-linkBanner__txt--dummyBtn::after {
    right: 0.5em;
  }
}
.top-photoContest .decoreParts {
  position: absolute;
  display: block;
  width: min(40.0vw, 586px);
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .decoreParts {
    width: clamp(327px, 87.2vw, 500px);
  }
}
.top-photoContest .decoreParts__01 {
  bottom: 0;
  left: 0;
  -webkit-transform: translate(-77%, 51%);
          transform: translate(-77%, 51%);
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .decoreParts__01 {
    -webkit-transform: translate(-48%, 60%);
            transform: translate(-48%, 60%);
  }
}
.top-photoContest .decoreParts__02 {
  top: 0;
  right: 0;
  -webkit-transform: translate(75%, -57%);
          transform: translate(75%, -57%);
}
@media only screen and (max-width: 1024px) {
  .top-photoContest .decoreParts__02 {
    -webkit-transform: translate(48%, -61%);
            transform: translate(48%, -61%);
  }
}

/* PUBLICITY
============================================================ */
.top-publicity {
  position: relative;
  z-index: 1;
}
.top-publicity .top-publicity-contents {
  position: relative;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-publicity .top-publicity-contents {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-publicity .top-publicity-contents {
    padding-left: 15px;
  }
}
.top-publicity .top-publicity-contentsInner {
  position: relative;
  background: var(--gradient_default);
  border-radius: 50px 0 0 50px;
  padding: 118px 0 118px;
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contentsInner {
    padding: 70px 0 70px;
    border-radius: 30px 0 0 30px;
  }
}
.top-publicity .top-publicity-contentsInner::after {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  right: 0;
  top: 0;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  background: #eef8ff;
  pointer-events: none;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer {
    padding-right: 0;
  }
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections {
    gap: 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections {
    grid-template-columns: 100%;
  }
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection {
  position: relative;
  display: block;
  border: 2px solid var(--color_accent);
  border-radius: 20px;
  overflow: hidden;
  background-color: #FFFFFF;
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsectionInner {
  display: block;
  height: 100%;
  text-decoration: none;
  color: var(--color_font);
  padding: 40px 35px 73px;
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsectionInner {
    padding: 44px 20px 65px;
  }
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__hl {
    text-align: center;
    margin: 0 auto 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__hl {
    font-size: min(3.5vw, 28px);
  }
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__description {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0em;
  text-indent: 0em;
  margin: 1.25em 0 0;
  text-align: justify;
}
@media only screen and (max-width: 1024px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__description {
    font-size: 17px;
    line-height: 1.6em;
  }
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__dummyBtn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  bottom: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2.55em;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1em;
  padding: 0.35em 2.5em 0.25em 1em;
  background-color: var(--color_accent);
  border-radius: 20px 0 0 0;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection__dummyBtn::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.4em;
  height: 100%;
  top: 0;
  right: 1.25em;
  background: url(../images/common/arrow_small_white.svg) no-repeat center/contain;
  -webkit-transition: right 0.2s ease-in;
  transition: right 0.2s ease-in;
}
.top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection .subsectionInner:hover {
  opacity: 1 !important;
}
@media print, screen and (min-width: 1025px) {
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection .subsectionInner:hover .subsection__dummyBtn {
    opacity: 0.8;
  }
  .top-publicity .top-publicity-contents .top-publicity-contentsContainer .top-publicity-subSections .subsection .subsectionInner:hover .subsection__dummyBtn::after {
    right: 0.5em;
  }
}
.top-publicity .decoreParts {
  position: absolute;
  width: 116px;
  height: auto;
  aspect-ratio: 116/79;
  bottom: 0;
  left: 0;
  -webkit-transform: translate(49%, 45%) scale(-1, 1);
          transform: translate(49%, 45%) scale(-1, 1);
  z-index: 1;
}
@media only screen and (max-width: 1024px) {
  .top-publicity .decoreParts {
    width: 100px;
    -webkit-transform: translate(5%, 48%) scale(-1, 1);
            transform: translate(5%, 48%) scale(-1, 1);
  }
}

/* LINK BANNERS
============================================================ */
.top-linkBanners {
  padding: 120px 0 120px;
}
@media only screen and (max-width: 1024px) {
  .top-linkBanners {
    padding: 70px 0 70px;
  }
}
.top-linkBanners .top-linkBanners-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 30px;
  width: 100%;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-linkBanners .top-linkBanners-list {
    gap: 15px 10px;
  }
}
@media only screen and (max-width: 599px) {
  .top-linkBanners .top-linkBanners-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 10px;
  }
}
.top-linkBanners .top-linkBanners-list > li {
  display: block;
  width: 100%;
}
.top-linkBanners .top-linkBanners-list > li > * {
  display: block;
  width: 100%;
  aspect-ratio: 380/110;
}
.top-linkBanners .top-linkBanners-list > li img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}