@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
.txt-center {
  text-align: center;
}

.text_eng {
  font-family: "Roboto Condensed", sans-serif;
}

.text_yuimin {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

body.active {
  position: fixed;
  top: 0;
  width: 100%;
}

.no-scroll {
  overflow: hidden;
}

.page_top {
  color: #333434;
}

.text-color01 {
  color: #586cd7;
}

.text-color02 {
  color: #fb4441;
}

.text-color03 {
  color: #fa6f45;
}

.text-color04 {
  color: #12b88f;
}

.text-color05 {
  color: #dd9fd7;
}

.text-color06 {
  color: #fe4885;
}

.text-color07 {
  color: #5082d5;
}

.text-color08 {
  color: #f2cb02;
}

.text-color09 {
  color: #4abdd9;
}

.text-color10 {
  color: #ff539a;
}

.text-color11 {
  color: #ec7176;
}

.text-color12 {
  color: #f67245;
}

.text-color13 {
  color: #06b2d2;
}

.text-color14 {
  color: #f13d23;
}

.text-color15 {
  color: #323c94;
}

.text-color16 {
  color: #02aa80;
}

.text-color17 {
  color: #f24885;
}

#contMain {
  overflow-x: clip;
  position: relative;
}
#contMain_inner {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #004831;
  position: relative;
  overflow-x: hidden;
}
#contMain a.link_text, #contMain a.link_mail {
  font-family: "Noto Sans CJK JP", sans-serif;
  color: #333;
}
#contMain a.link_text:hover, #contMain a.link_mail:hover {
  text-decoration: underline;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
.contMain_inner {
  position: relative;
}

.local_news {
  width: 44.66%;
  max-width: 268px;
}
@media screen and (max-width: 1250px) {
  .local_news {
    font-size: 1.3rem;
    display: block;
    text-align: left;
  }
}
@media screen and (min-width: 1251px) {
  .local_menu .nav ul {
    display: flex;
    align-items: center;
    background: #fff;
    border: solid 1px #ddd;
    border-radius: 10px;
    padding: 1.3rem 2rem 0.7rem;
  }
  .local_menu .nav ul a {
    font-size: 1.4rem;
    font-weight: 600;
    color: #000;
    letter-spacing: 0;
    transition: 0.3s ease;
    display: block;
  }
  .local_menu .nav ul a span {
    position: relative;
    display: flex;
    align-items: center;
  }
  .local_menu .nav ul a span img {
    margin-right: 5px;
  }
  .local_menu .nav ul a.nav_btn {
    background: #c4d700;
    border-radius: 30px;
    font-size: 1.8rem;
    padding: 0.4em 2em 0.4em 1.5em;
  }
  .local_menu .nav ul a.nav_btn span:before {
    content: "";
    position: absolute;
    top: 20%;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: solid 1px #004831;
    border-right: solid 1px #004831;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .local_menu .nav ul li {
    text-align: center;
  }
  .local_menu .nav ul li + li {
    margin-left: 2em;
  }
  .local_menu .nav ul li:nth-child(1) span img {
    width: 83px;
  }
  .local_menu .nav ul li:nth-child(2) span img {
    width: 32px;
    margin-top: 0.4rem;
  }
  .local_menu .nav ul li:nth-child(3) span img {
    width: 50px;
  }
}
@media screen and (max-width: 1250px) {
  .local_menu .nav {
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #7c7c7c;
    z-index: 999;
    opacity: 0;
    transition: opacity 0.5s ease-out, transform 0s ease 0.5s;
    overflow: hidden;
  }
  .local_menu .nav:before {
    position: absolute;
    top: 0;
    left: -25vw;
    width: 150vw;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    content: "";
  }
  .local_menu .nav.on {
    transition: opacity 0.3s ease-out, transform 0s;
    opacity: 1;
    left: 0;
  }
  .local_menu .nav.on:before {
    transition: background 0.8s ease-out 0.2s;
    background-color: #f5f9e6;
  }
  .local_menu .nav ul {
    position: relative;
    box-sizing: border-box;
    top: 0;
    left: 0;
    width: 100%;
    padding: 75px 0;
  }
  .local_menu .nav li {
    position: relative;
    font-size: 1.2rem;
    margin-bottom: 4em;
    line-height: 1;
    padding-left: 2.5em;
  }
  .local_menu .nav li + li {
    margin-top: 10px;
  }
  .local_menu .nav li:nth-child(1) span img {
    width: 83px;
  }
  .local_menu .nav li:nth-child(2) span img {
    width: 32px;
  }
  .local_menu .nav li:nth-child(3) span img {
    width: 50px;
  }
  .local_menu .nav li a {
    font-size: 1.6rem;
    font-weight: 600;
    color: #004831;
    letter-spacing: 0;
    transition: 0.3s ease;
    display: block;
  }
  .local_menu .nav li a span {
    position: relative;
    padding-left: 1.5em;
    display: inline-block;
    text-align: left !important;
    line-height: 1.3;
  }
  .local_menu .nav li a span img {
    margin-right: 1rem;
  }
  .local_menu .nav li a span:before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 10px;
    height: 10px;
    border-top: solid 1px #004831;
    border-right: solid 1px #004831;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}
.local_menu .nav strong {
  color: #c93030;
  font-weight: 600;
  margin-left: 1em;
}
@media screen and (max-width: 1250px) {
  .local_news {
    display: none;
  }
}

.fv {
  position: relative;
}
.fv #custom-cursor {
  position: absolute;
  width: 150px;
  height: 150px;
  background: url(../img/index/cursor.png) no-repeat center/contain;
  pointer-events: none; /* クリックを邪魔しない */
  display: none;
  z-index: 2;
  transform: scale(0);
  transition: transform 0.5s ease;
}
.fv #custom-cursor.active {
  transform: scale(1);
}
.fv iframe {
  pointer-events: none;
}
.fv_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fv_container {
  position: relative;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  height: 100%;
  max-height: 864px;
  background: #000;
}
.fv_container .loading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fbfbf9 url(../img/index/bg.jpg) no-repeat center top;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 1s ease-in-out;
}
.fv_container .loading img {
  width: 42%;
  max-width: 880px;
  transform: translate(-2%, 4%);
}
.fv_container .loading.hidden {
  opacity: 0;
  pointer-events: none;
}
.fv_container iframe {
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: calc(100% + 120px);
}
.fv_container video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1920px;
}
.fv #youtube-background {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 100vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.fv #bnr_btn {
  position: absolute;
  bottom: 60px;
  right: 65px;
  width: 18.3%;
  max-width: 320px;
  z-index: 2;
}
@media screen and (max-width: 1250px) {
  .fv #bnr_btn {
    z-index: 3;
  }
}
@media screen and (max-width: 1024px) {
  .fv #btn_play--sp {
    position: absolute;
    bottom: 16px;
    right: 50%;
    transform: translateX(50%);
    width: 62.666%;
    max-width: 470px;
    height: 52px;
    background: url(../img/index/cursor_sp.png) no-repeat center/contain;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .fv {
    margin-bottom: 35vw;
  }
  .fv_container {
    min-width: inherit;
    height: inherit;
    min-height: inherit;
    padding-top: 0;
  }
  .fv_container .loading {
    background-size: cover;
  }
  .fv_container .loading img {
    width: 87.52%;
  }
  .fv #youtube-background {
    width: 100vh;
    height: 177.78vh;
  }
  .fv #bnr_btn {
    position: absolute;
    bottom: -45vw;
    right: 0;
    width: 72.666%;
    max-width: none;
    z-index: 1;
  }
}

.idx-news {
  padding-top: 154px;
  padding-bottom: 80px;
}
.idx-news--inner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.idx-news .news_container {
  width: 48%;
  max-width: 575px;
  display: flex;
  flex-direction: column;
}
.idx-news .news_container h2 {
  text-align: center;
  width: 156px;
  margin: 0 auto;
  display: block;
}
.idx-news .news_container h2 img {
  width: 100%;
}
.idx-news .news_container h2.report {
  width: 208px;
}
.idx-news .news_container--list {
  margin-bottom: 70px;
}
.idx-news .news_container--list li {
  color: #333;
  font-size: 1.8rem;
  font-weight: 500;
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-top: 45px;
}
.idx-news .news_container--list li + li {
  margin-top: 30px;
}
.idx-news .news_container--list li:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1.5rem;
  width: 100%;
  height: 2px;
  background: url(../img/top/news_line.png) no-repeat left bottom;
  background-size: cover;
}
.idx-news .news_container--list li span {
  color: #0e7356;
  font-size: 1.6rem;
  width: 12rem;
  padding-top: 4px;
  letter-spacing: 2px;
}
.idx-news .news_container--list li a, .idx-news .news_container--list li p {
  color: #333;
  width: calc(100% - 16rem);
  font-size: 1.7rem;
  letter-spacing: -1px;
}
@media screen and (max-width: 767px) {
  .idx-news .news_container--list li a, .idx-news .news_container--list li p {
    font-size: 1.4rem;
  }
}
.idx-news .news_container--list li a {
  position: relative;
  display: block;
}
.idx-news .news_container--list li a:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: url(../img/top/news_icon.png) no-repeat center center;
  background-size: contain;
  width: 11px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .idx-news {
    padding-top: 109px;
    padding-bottom: 50px;
  }
  .idx-news--inner {
    flex-direction: column;
    padding-inline: 0;
  }
  .idx-news .news_container {
    width: 91.466%;
    margin: 0 auto;
  }
  .idx-news .news_container + .news_container {
    margin-top: 72px;
  }
  .idx-news .news_container h2 {
    width: 36.32%;
  }
  .idx-news .news_container h2.report {
    width: 52.32%;
  }
  .idx-news .news_container--list {
    margin-bottom: 45px;
  }
  .idx-news .news_container--list li {
    font-size: 1.4rem;
    flex-wrap: wrap;
    flex-direction: column;
    padding: 0 7px 0 10px;
  }
  .idx-news .news_container--list li span {
    font-size: 1.3rem;
    padding: 0;
    width: 100%;
  }
  .idx-news .news_container--list li a, .idx-news .news_container--list li p {
    width: calc(100% - 4rem);
  }
}
.idx-news .news_container--list li .news_container--link {
  display: flex;
  width: 100%;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .idx-news .news_container--list li .news_container--link {
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.idx-news .news_container--list li a {
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .idx-news .news_container--list li a:hover {
    opacity: 0.7;
  }
}
.idx-news .news_container--btn {
  display: flex;
  justify-content: center;
  margin-top: auto;
}

.idx-about {
  background-image: url(../img/top/bg_about.webp);
  background-position: center top;
  background-size: cover;
  background-repeat: repeat-x;
  background-color: #fbfbf9;
  width: 100%;
  margin: 0 auto;
  padding-top: 261px;
  padding-bottom: 104px;
  position: relative;
  overflow: hidden;
}
.idx-about__inner {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  min-width: 1570px;
  height: 100%;
  /* 配置場所変更になったので移動 */
}
.idx-about__inner > .decoration_about--1pc,
.idx-about__inner > .decoration_about--2,
.idx-about__inner > .decoration_about--3,
.idx-about__inner > .decoration_about--4,
.idx-about__inner > .decoration_about--star2 {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transform-origin: top center;
}
@media screen and (max-width: 1025px) {
  .idx-about {
    background-image: url(../img/top/bg_about_sp.webp);
    background-size: contain;
    padding-top: 25%;
    padding-bottom: 44%;
  }
}
@media screen and (max-width: 767px) {
  .idx-about {
    padding-top: 109px;
    padding-bottom: 24vw;
  }
}
.idx-about .show {
  opacity: 1;
  transform: translateY(0);
}
.idx-about .decoration_about--1pc .show {
  transform: translateY(0) translateX(50%);
}
.idx-about .swing {
  animation: swing 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}
.idx-about .about_container {
  width: 972px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.idx-about .about_container h2 + p {
  text-align: center;
  margin-top: 30px;
}
.idx-about .about_container h2 + p img {
  width: 574px;
  display: inline-block;
}
@media screen and (max-width: 1025px) {
  .idx-about .about_container {
    width: 91.466%;
  }
}
@media screen and (max-width: 767px) {
  .idx-about .about_container {
    width: 91.466%;
  }
  .idx-about .about_container h2 {
    width: 276px;
    margin-left: 13px;
  }
  .idx-about .about_container h2 + p {
    padding: 0 15px;
    margin-top: 15px;
  }
}
.idx-about .about_container--box {
  width: 100%;
  background: url(../img/index/bg_about_box.svg) no-repeat center top;
  background-size: cover;
  margin-top: 145px;
  padding: 15% 10% 12% 11%;
}
.idx-about .about_container--box h3 {
  width: 165px;
  margin-bottom: 30px;
}
.idx-about .about_container--box p {
  color: #f4ffd5;
  font-weight: 400;
  font-size: 2rem;
  line-height: 2.15;
}
.idx-about .about_container--box p + p {
  margin-top: 2rem;
}
@media screen and (max-width: 1025px) {
  .idx-about .about_container--box {
    background: none;
    padding: 59px 0% 8.5% 6%;
    margin-top: 160px;
  }
  .idx-about .about_container--box h3 {
    width: 124px;
    margin-bottom: 30px;
  }
  .idx-about .about_container--box p {
    font-size: 1.6rem;
  }
}
.idx-about .about_container--btn {
  margin-top: 6rem;
}
.idx-about .about_container--btn a {
  display: inline-block;
  border-radius: 50px;
  border: solid 2px #fbf2ca;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 1.8rem 2.5rem 2rem;
  width: 280px;
  position: relative;
  line-height: 1;
  transition: 0.5s;
}
.idx-about .about_container--btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 10px;
  height: 17px;
  background: url(../img/common/icon_btn.svg) no-repeat center center;
  background-size: 100%;
}
.idx-about .about_container--btn a:hover {
  border: solid 2px #9ca1d0;
  background: #646baf;
}
@media screen and (max-width: 1025px) {
  .idx-about .about_container--btn {
    text-align: right;
  }
  .idx-about .about_container--btn a {
    padding: 1.3rem 2.5rem 1.6rem;
    width: 73%;
  }
}
.idx-about .about_container--start {
  text-align: center;
  margin-top: 100px;
}
.idx-about .about_container--start img {
  width: 62%;
  max-width: 591px;
}
@media screen and (max-width: 1025px) {
  .idx-about .about_container--start {
    margin-top: 15%;
  }
  .idx-about .about_container--start img {
    width: 90%;
  }
}
.idx-about .about_container--footer {
  text-align: center;
  margin-top: 50px;
}
.idx-about .about_container--footer img {
  width: 78%;
  max-width: 758px;
}
@media screen and (max-width: 1025px) {
  .idx-about .about_container--footer {
    margin-top: 11%;
  }
  .idx-about .about_container--footer img {
    width: 100%;
  }
}
.idx-about .decoration_about > div {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transform-origin: top center;
}
.idx-about .decoration_about .show {
  opacity: 1;
  transform: translateY(0);
}
.idx-about .decoration_about .swing {
  animation: swing 3s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}
.idx-about .decoration_about--1pc {
  position: absolute;
  top: -12%;
  right: 4%;
  width: 42.9%;
  max-width: 417px;
}
.idx-about .decoration_about--1sp {
  display: none;
}
.idx-about .decoration_about--2 {
  position: absolute;
  top: -9.8%;
  left: -4%;
  width: 29.9%;
  max-width: 288px;
}
.idx-about .decoration_about--3 {
  position: absolute;
  top: -22.7%;
  left: -1.5%;
  width: 37.9%;
  max-width: 380px;
  z-index: 2;
}
.idx-about .decoration_about--4 {
  position: absolute;
  top: 0;
  right: 1%;
  width: 22.9%;
  max-width: 221px;
}
.idx-about .decoration_about--5 {
  position: absolute;
  top: -10%;
  left: -5%;
  width: 30.9%;
  max-width: 105px;
}
.idx-about .decoration_about--6 {
  position: absolute;
  top: 16.7%;
  right: -6.5%;
  width: 22.9%;
  max-width: 216px;
}
.idx-about .decoration_about--star1 {
  position: absolute;
  top: 5%;
  left: -23.5%;
  width: 36px;
}
.idx-about .decoration_about {
  /*
  		&--star2 {
  			position: absolute;
  			top: 39%;
  			left: -11%;
  			width: 37px;
  			z-index: 3;
  		}
   */
}
.idx-about .decoration_about--star2 {
  position: absolute;
  top: 34.8%;
  left: 14%;
  width: 37px;
  z-index: 3;
}
.idx-about .decoration_about--star3 {
  position: absolute;
  top: 69.5%;
  left: -7%;
  width: 34px;
}
.idx-about .decoration_about--star4 {
  position: absolute;
  top: 5.3%;
  right: -28%;
  width: 38px;
}
.idx-about .decoration_about--star5 {
  position: absolute;
  top: 14.7%;
  right: 14%;
  width: 34px;
}
.idx-about .decoration_about--star6 {
  position: absolute;
  top: 70%;
  right: -10%;
  width: 34px;
}
@media screen and (max-width: 1740px) {
  .idx-about .decoration_about--3 {
    left: -5%;
  }
}
@media screen and (max-width: 1700px) {
  .idx-about .decoration_about--4 {
    top: -9%;
  }
}
@media screen and (max-width: 1630px) {
  .idx-about .decoration_about--3 {
    left: -8%;
  }
  .idx-about .decoration_about--2 {
    left: -7%;
  }
}
@media screen and (max-width: 1350px) {
  .idx-about .decoration_about--1pc {
    right: -1%;
  }
  .idx-about .decoration_about--2 {
    left: -12.5%;
  }
  .idx-about .decoration_about--3 {
    left: -11.5%;
  }
  .idx-about .decoration_about--star2 {
    left: 8%;
  }
}
@media screen and (max-width: 1230px) {
  .idx-about .decoration_about--1pc {
    right: -8%;
  }
  .idx-about .decoration_about--2 {
    left: -16.5%;
  }
  .idx-about .decoration_about--3 {
    left: -16.5%;
  }
}
@media screen and (max-width: 1160px) {
  .idx-about .decoration_about--1pc {
    right: -11%;
  }
  .idx-about .decoration_about--2 {
    display: none;
  }
  .idx-about .decoration_about--3 {
    left: -19.5%;
  }
  .idx-about .decoration_about--4 {
    display: none;
  }
  .idx-about .decoration_about--star2 {
    left: 5%;
  }
}
@media screen and (max-width: 1120px) {
  .idx-about .decoration_about--3 {
    display: none;
  }
  .idx-about .decoration_about--star2 {
    display: none;
  }
}
@media screen and (max-width: 1025px) {
  .idx-about .decoration_about--1pc {
    display: none;
  }
  .idx-about .decoration_about--1sp {
    display: block;
    position: absolute;
    top: -24%;
    right: -15%;
    width: 59.9%;
    max-width: 417px;
  }
  .idx-about .decoration_about--6 {
    display: none;
  }
}
@media screen and (max-width: 1025px) {
  .idx-about .decoration_about--1sp {
    top: -26%;
  }
}
@media screen and (max-width: 767px) {
  .idx-about .decoration_about--1sp {
    top: -13%;
  }
  .idx-about .decoration_about--5 {
    top: -3.8%;
    left: -6%;
  }
}
@media screen and (max-width: 620px) {
  .idx-about .decoration_about--1sp {
    top: -10%;
  }
}
@media screen and (max-width: 599px) {
  .idx-about .decoration_about--5 {
    top: -3%;
  }
}
@media screen and (max-width: 510px) {
  .idx-about .decoration_about--1sp {
    top: -7%;
  }
}
@media screen and (max-width: 400px) {
  .idx-about .decoration_about--1sp {
    top: -4%;
  }
}
@media screen and (max-width: 375px) {
  .idx-about .decoration_about--5 {
    top: -3.5%;
  }
}

@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(1deg);
  }
  50% {
    transform: rotate(-1deg);
  }
  75% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.idx-faq {
  padding-top: 168px;
}
@media screen and (max-width: 767px) {
  .idx-faq {
    padding-top: 53px;
  }
}
.idx-faq .faq_container {
  width: 60%;
  max-width: 1035px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.idx-faq .faq_container h2 {
  color: #333;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 3px;
  line-height: 1.4;
}
.idx-faq .faq_container h2 img {
  width: 132px;
}
.idx-faq .faq_container h2 span {
  display: block;
  text-align: center;
  margin-top: 10px;
}
.idx-faq .faq_container--box {
  margin-top: 67px;
}
.idx-faq .faq_container--box dl {
  background: #fbfbf9;
  border: solid 3px #8ece80;
  border-radius: 20px;
  font-size: clamp(16px, 12.8716904277px + 0.4073319756vw, 20px);
  font-weight: 400;
}
.idx-faq .faq_container--box dl + dl {
  margin-top: 24px;
}
.idx-faq .faq_container--box dl dt {
  cursor: pointer;
  padding: 3rem 8rem 3rem 10.5rem;
  position: relative;
}
.idx-faq .faq_container--box dl dt:before {
  content: "";
  position: absolute;
  top: 2.5rem;
  left: 3.8rem;
  width: 33px;
  height: 42px;
  background: url(../img/index/icon_faq_q_odd.svg) no-repeat center top;
  background-size: contain;
}
.idx-faq .faq_container--box dl dt:after {
  content: "";
  position: absolute;
  top: 2.5rem;
  right: 2rem;
  width: 38px;
  height: 38px;
  background: url(../img/common/icon_plus.png) no-repeat center center;
  background-size: contain;
}
.idx-faq .faq_container--box dl dt.active:after {
  background: url(../img/common/icon_minus.png) no-repeat center center;
  background-size: contain;
}
.idx-faq .faq_container--box dl dd {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  padding: 0;
}
.idx-faq .faq_container--box dl dd .dd-inner {
  padding: 0 3rem 4rem 4rem;
}
.idx-faq .faq_container--box dl:nth-child(even) {
  border: solid 3px #62c7ab;
}
.idx-faq .faq_container--box dl:nth-child(even) dt:before {
  background: url(../img/index/icon_faq_q_even.svg) no-repeat center top;
  background-size: contain;
}
.idx-faq .faq_container--start {
  text-align: center;
  margin-top: 148px;
}
.idx-faq .faq_container--start img {
  width: 62%;
  max-width: 591px;
}
@media screen and (max-width: 767px) {
  .idx-faq .faq_container--start {
    margin-top: 45px;
  }
  .idx-faq .faq_container--start img {
    width: 90%;
  }
}
.idx-faq .decoration_faq--1 {
  position: absolute;
  top: -222px;
  left: -27%;
  width: 239px;
  z-index: -1;
}
.idx-faq .decoration_faq--2 {
  position: absolute;
  top: -202px;
  right: -22%;
  width: 230px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .idx-faq .faq_container {
    width: 91.466%;
  }
  .idx-faq .faq_container h2 {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .idx-faq .faq_container h2 img {
    width: 105px;
  }
  .idx-faq .faq_container--box {
    margin-top: 45px;
  }
  .idx-faq .faq_container--box dl {
    font-size: 1.6rem;
  }
  .idx-faq .faq_container--box dl + dl {
    margin-top: 13px;
  }
  .idx-faq .faq_container--box dl dt {
    padding: 1.3rem 5rem 1.3rem 7.5rem;
    min-height: 8rem;
    display: flex;
    align-items: center;
  }
  .idx-faq .faq_container--box dl dt:before {
    top: 50%;
    transform: translateY(-50%);
    left: 1.8rem;
    width: 28px;
    height: 37px;
  }
  .idx-faq .faq_container--box dl dt:after {
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    width: 28px;
    height: 28px;
  }
  .idx-faq .faq_container--box dl dd .dd-inner {
    padding: 0 1.8rem 2.5rem 1.8rem;
  }
  .idx-faq .decoration_faq--1 {
    top: -101px;
    left: -12.5%;
    width: 35.9%;
  }
}
.idx-faq .faq_container--btn {
  margin-top: 45px;
  display: flex;
  justify-content: center;
}

.contact {
  padding: 107px 0 60px;
  position: relative;
}
.contact_container {
  box-sizing: border-box !important;
  max-width: 922px;
  aspect-ratio: 1714/678;
  background: url("../img/contact_bg_pc.png") left top no-repeat;
  background-size: contain;
  margin-left: auto;
  margin-right: auto;
  padding-top: 167px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
}
@media screen and (max-width: 940px) {
  .contact_container {
    padding-top: 18vw;
  }
}
.contact_title {
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}
.contact_title span {
  position: relative;
}
.contact_title span:before, .contact_title span:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 2px;
  background: #004831;
}
.contact_title span:before {
  left: -25px;
}
.contact_title span:after {
  right: -25px;
}
.contact_inner {
  background: #fff;
  border-radius: 5px;
  text-align: center;
  padding: 20px 10px 10px;
}
.contact_mail {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: bold;
  text-align: center;
  position: relative;
}
.contact_mail:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 65%;
  max-width: 580px;
  height: 16px;
  background: url(../img/top/line_mail.png) no-repeat center center;
  background-size: 100%;
}
.contact_text {
  font-size: clamp(9px, 1.1vw, 11px);
  font-weight: 400;
  width: 64%;
  margin: 18px auto 0;
}
.contact_text.head {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.contact_text strong {
  font-size: 1.8rem;
  font-weight: 700;
}
.contact_text strong.time {
  font-weight: 500;
}
.contact_text small {
  font-size: clamp(1rem, 1.5vw, 1.4rem);
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 60px 0 43px;
  }
  .contact_container {
    max-width: 100%;
    aspect-ratio: 686/439;
    background: url("../img/contact_bg_sp.png") left top no-repeat;
    background-size: contain;
    padding-top: 98px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .contact_title {
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 10px;
  }
  .contact_title span:before, .contact_title span:after {
    content: none;
  }
  .contact_inner {
    padding: 10px;
  }
  .contact_mail {
    font-size: 1.5rem;
    position: relative;
  }
  .contact_mail:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 4px;
    background: url(../img/top/line_mail_sp.png) no-repeat center center;
    background-size: cover;
  }
  .contact_text {
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 20px;
  }
  .contact_text.head {
    font-size: 1.2rem;
  }
  .contact_text strong {
    font-size: 1.3rem;
  }
  .contact_text small {
    font-size: 0.9rem;
  }
}

.bgFV {
  position: relative;
  background: url(../img/index/bg.jpg) no-repeat center top;
}
@media screen and (max-width: 767px) {
  .bgFV {
    background-color: #fbfbf9;
  }
  .bgFV:after {
    content: none;
  }
}

.bg01 {
  position: relative;
}
.bg01:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/top/bg01.jpg") repeat-y;
  background-size: 100%;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .bg01 {
    background: url("../img/top/bg01_sp.jpg") repeat-y;
  }
  .bg01:after {
    content: none;
  }
}

.bg02 {
  position: relative;
  background-image: url(../img/concept/bg_side_left.png), url(../img/concept/bg_side_right.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 422px auto, 557px auto;
  background-position: left -250px, right -160px;
  background-color: #fbfbf9;
}
@media screen and (max-width: 767px) {
  .bg02 {
    background: url(../img/concept/bg_sp.jpg) no-repeat center top;
    background-size: cover;
    background-color: #fbfbf9;
  }
}

.bg_deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.decoration {
  position: absolute;
}
.decoration--1 {
  top: 6%;
  left: 8%;
  width: 6.3%;
  max-width: 111px;
}
.decoration--2 {
  top: 17%;
  left: 41%;
  width: 6.3%;
  max-width: 112px;
}
.decoration--3 {
  top: 27%;
  left: 87%;
  width: 9.3%;
  max-width: 164px;
}
.decoration--4 {
  top: 34%;
  left: 51%;
  width: 2.9%;
  max-width: 51px;
}
.decoration--5 {
  top: 39%;
  left: 54%;
  width: 1.9%;
  max-width: 34px;
}
.decoration--6 {
  top: 41%;
  left: 3%;
  width: 5.3%;
  max-width: 94px;
}
.decoration--7 {
  top: 45%;
  left: 92%;
  width: 6.1%;
  max-width: 108px;
}
.decoration--8 {
  top: 69%;
  left: 88%;
  width: 7.2%;
  max-width: 127px;
}
.decoration--9 {
  top: 75%;
  left: 36%;
  width: 6.1%;
  max-width: 108px;
}
.decoration--10 {
  bottom: -6%;
  left: 54%;
  width: 10.7%;
  max-width: 188px;
  z-index: 0;
}
.decoration--11 {
  top: 17%;
  left: 3%;
  width: 13%;
  max-width: 229px;
}
.decoration--11.animate {
  animation: childEffect1 2s ease forwards;
}
.decoration--12 {
  bottom: -15%;
  right: 2%;
  width: 9.79%;
  max-width: 172px;
  z-index: 0;
}
.decoration--12.animate02 {
  animation: childEffect2 2s ease forwards;
}
.decoration--13 {
  top: -4%;
  left: -17%;
  width: 19.1%;
  max-width: 78px;
}
.decoration--14 {
  top: -7%;
  left: 4%;
  width: 18.8%;
  max-width: 77px;
}
.decoration--15 {
  top: -4%;
  left: -3%;
  width: 26.4%;
  max-width: 108px;
}
.decoration--16 {
  top: -15%;
  left: 25%;
  width: 26.4%;
  max-width: 46px;
  transform-origin: bottom left;
}
.decoration--17 {
  top: -11%;
  left: 19%;
  width: 19.6%;
  max-width: 80px;
}
.decoration--18 {
  top: 6%;
  left: -3%;
  width: 19.1%;
  max-width: 78px;
}
.decoration--19 {
  bottom: 0;
  left: 7%;
  width: 11.7%;
  max-width: 206px;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(50px);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 1s;
}
.decoration--19.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 0s;
}
.decoration--20 {
  bottom: 0;
  right: 12%;
  width: 14.8%;
  max-width: 261px;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(50px);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 1s;
}
.decoration--20.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 0s;
}
.decoration--21 {
  bottom: 0;
  right: 12%;
  width: 14.8%;
  max-width: 261px;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(50px);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 1s;
}
.decoration--21.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity 1s ease, transform 1s ease, visibility 0s 0s;
}
@media screen and (max-width: 1024px) {
  .decoration--11 {
    top: 2%;
    left: -4%;
    width: 13%;
    max-width: 229px;
  }
}
@media screen and (max-width: 767px) {
  .decoration--1 {
    top: 6%;
    left: 80%;
    width: 14.3%;
    max-width: 111px;
  }
  .decoration--2 {
    top: 47%;
    left: 2%;
    width: 9.3%;
    max-width: 112px;
  }
  .decoration--3 {
    top: 55%;
    left: 79%;
    width: 17.3%;
    max-width: 164px;
  }
  .decoration--4 {
    top: 10%;
    left: 66%;
    width: 6.9%;
    max-width: 51px;
  }
  .decoration--5 {
    top: 11%;
    left: 74%;
    width: 3%;
    max-width: 34px;
  }
  .decoration--6 {
    top: 2%;
    left: 12%;
    width: 10.3%;
    max-width: 94px;
  }
  .decoration--7 {
    top: 34%;
    left: 79%;
    width: 12.5%;
    max-width: 108px;
    transform: rotate(15deg);
  }
  .decoration--8 {
    top: 65%;
    left: 0%;
    width: 12.5%;
    max-width: 127px;
  }
  .decoration--9 {
    top: auto;
    bottom: 10%;
    left: 10%;
    width: 11.5%;
    max-width: 108px;
  }
  .decoration--10 {
    bottom: -2.5%;
    left: 63%;
    width: 25.7%;
    max-width: 188px;
    z-index: 0;
  }
  .decoration--11 {
    top: 7%;
    left: 2%;
    width: 24%;
    max-width: 229px;
  }
  .decoration--12 {
    bottom: -19%;
    right: 3%;
    width: 19.79%;
    max-width: 172px;
    z-index: 0;
  }
  .decoration--13 {
    top: 6%;
    left: -3%;
    width: 19.1%;
    max-width: 78px;
    transform: rotate(35deg);
  }
  .decoration--14 {
    top: -9%;
    left: 14%;
    width: 18.8%;
    max-width: 77px;
  }
  .decoration--15 {
    top: 8%;
    left: -3%;
    width: 20.4%;
    max-width: 108px;
    transform: rotate(15deg);
  }
  .decoration--16 {
    top: 8%;
    left: -11%;
    width: 7.4%;
    max-width: 108px;
  }
  .decoration--17 {
    top: 2%;
    left: 8%;
    width: 13.6%;
    max-width: 80px;
  }
  .decoration--18 {
    top: 14%;
    left: 83%;
    width: 13.1%;
    max-width: 78px;
  }
  .decoration--19 {
    bottom: 0;
    left: 2%;
    width: 24.7%;
    max-width: 206px;
    z-index: 0;
  }
  .decoration--20 {
    bottom: 0;
    right: 3%;
    width: 34.8%;
    max-width: 261px;
    z-index: 0;
  }
}

@keyframes floatEffect {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px); /* 上下運動 */
  }
}
@keyframes childEffect1 {
  0%, 20% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(180deg); /* Y軸を基準に半回転 */
  }
  80%, 100% {
    transform: rotateY(360deg); /* Y軸を基準に1回転 */
  }
}
@keyframes childEffect2 {
  0%, 20% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-20px);
  }
  80%, 100% {
    transform: translateX(0);
  }
}
@keyframes moveUp {
  0% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(-10px, -10px);
  }
  20% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(-20px, -20px);
  }
  40% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes writeEffect {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(50px, -50px) rotate(-30deg);
  }
  90% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes bookEffect {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
.item.from-left {
  transform: translateX(-20%);
}

.item.from-right {
  transform: translateX(20%);
}

.item.drop-in {
  transform: translateY(-20px); /* 上から落ちる */
}

.fade-in {
  opacity: 1;
  transform: translateY(0);
}

a[href^="mailto:"] {
  font-family: "Noto Sans CJK JP", sans-serif;
}

.modal_container__comment {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px); /* Safari対応 */
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 5000;
}
.modal_container__comment:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal_container__comment.active {
  opacity: 1;
  visibility: visible;
}

.modal_body__comment {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 1117px;
  width: 90%;
}

.modal_close__comment {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -30px;
  right: -30px;
  width: 20px;
  height: 20px;
  color: #004831;
  cursor: pointer;
  font-size: 28px;
  font-weight: 700;
  z-index: 1;
}
.modal_close__comment:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50px;
  width: 38px;
  height: 38px;
  border: solid 1px rgba(0, 72, 49, 0.3);
  background: #fff;
  z-index: -1;
}
.modal_close__comment:hover:before {
  background: rgba(0, 72, 49, 0.3);
}
@media screen and (max-width: 767px) {
  .modal_close__comment {
    top: -40px;
    right: -10px;
  }
}

.modal_content__comment {
  box-shadow: 0 0 20px #999;
  border-radius: 10px;
}
.modal_content__comment .modal_movie {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.modal_content__comment iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pagetop {
  position: fixed;
  bottom: 14px;
  right: 43px;
  width: 108px;
  height: 114px;
  background: url(../img/common/btn_pagetop.png) no-repeat center center;
  background-size: contain;
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.34, 1.86, 0.64, 1);
  transform: scale(0.5);
  transform-origin: center bottom;
  z-index: 4;
}
.pagetop.show {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.pagetop.absolute {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 14px !important;
    right: 14px !important;
    width: 54px;
    height: 57px;
  }
}

footer {
  overflow: hidden;
}

.local_menu {
  display: flex;
  align-items: center;
  gap: 9px;
  pointer-events: auto;
}
.local_menu .nav ul a span {
  flex-direction: column;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.local_menu .nav ul {
  gap: 1.5em;
}
.local_menu .nav ul li + li {
  margin-left: 0;
}

.local_menu_logo {
  margin: 0 !important;
}
.local_menu_logo.local_menu_logo_top {
  width: 34px !important;
}
.local_menu_logo.local_menu_logo_concept {
  width: 83px !important;
}
.local_menu_logo.local_menu_logo_reading {
  width: 80px !important;
}
.local_menu_logo.local_menu_logo_facility {
  width: 58px !important;
}
.local_menu_logo.local_menu_logo_guide {
  width: 44px !important;
}
.local_menu_logo.local_menu_logo_story {
  width: 45px !important;
}
.local_menu_logo.local_menu_logo_report {
  width: 58px !important;
}
.local_menu_logo.local_menu_logo_faq {
  width: 26px !important;
}
.local_menu_logo.local_menu_logo_news {
  width: 38px !important;
}
@media screen and (max-width: 1250px) {
  .local_menu_logo {
    margin-right: 10px !important;
  }
}

@media screen and (max-width: 1250px) {
  .local_entry, .local_first-time {
    display: none;
  }
}

.local_entry_fixed, .local_first-time_fixed {
  position: fixed;
  top: 28px;
  z-index: 102;
  transform: translateY(calc(-101% - 80px));
}
@media screen and (max-width: 767px) {
  .local_entry_fixed, .local_first-time_fixed {
    top: 15px;
  }
}
.local_entry_fixed.is-hidden, .local_first-time_fixed.is-hidden {
  animation: fixedSlideOut 0.3s ease-out forwards;
}
.local_entry_fixed.is-show, .local_first-time_fixed.is-show {
  animation: fixedBoundIn 0.3s ease-out forwards;
}
.local_entry_fixed.on, .local_first-time_fixed.on {
  transform: translateY(0);
}

.local_entry_fixed {
  right: 270px;
}
@media screen and (max-width: 767px) {
  .local_entry_fixed {
    right: 210px;
  }
}

.local_first-time_fixed {
  right: 98px;
}
@media screen and (max-width: 767px) {
  .local_first-time_fixed {
    right: 58px;
  }
}

.local_entry_btn {
  color: #fff;
  padding: 6px 0;
  width: 155px;
  border-radius: 100vmax;
  border: 1px solid #ffed8b;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 1.2;
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  transition: opacity 0.5s ease-out;
  font-feature-settings: "palt";
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .local_entry_btn {
    font-size: 11px;
    letter-spacing: 0.01em;
    width: 150px;
    line-height: 1.4;
    padding: 2px 0;
  }
}
.local_entry_btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg_local_entry.png") no-repeat center/cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 100vmax;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .local_entry_btn::before {
    background: url("../img/common/bg_local_entry_sp.png") no-repeat center/cover;
  }
}
.local_entry_btn .is-wrap {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
}
.local_entry_btn .is-wrap::before, .local_entry_btn .is-wrap::after {
  content: "";
  position: absolute;
}
.local_entry_btn .is-wrap::before {
  width: 21px;
  height: 20px;
  bottom: 7px;
  left: 5px;
  background: url("../img/common/icon_local_entry1.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .local_entry_btn .is-wrap::before {
    width: 17px;
    height: 16px;
  }
}
.local_entry_btn .is-wrap::after {
  width: 16px;
  height: 28px;
  bottom: 3px;
  right: 5px;
  background: url("../img/common/icon_local_entry2.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .local_entry_btn .is-wrap::after {
    width: 14px;
    height: 24px;
    bottom: 5px;
    right: 9px;
    rotate: 10deg;
  }
}
.local_entry_btn .is-accent {
  font-size: 1.5rem;
  letter-spacing: -0.08em;
  font-weight: 700;
  color: #ffee93;
}
@media screen and (max-width: 767px) {
  .local_entry_btn .is-accent {
    font-size: 1.4rem;
    letter-spacing: -0.01em;
  }
}
@media (hover: hover) {
  .local_entry_btn:hover {
    opacity: 0.8;
  }
}

.local_first-time_btn {
  color: #fff;
  padding: 6px 0;
  width: 155px;
  border-radius: 100vmax;
  border: 1px solid #ffed8b;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 1.2;
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  transition: opacity 0.5s ease-out;
}
@media screen and (max-width: 767px) {
  .local_first-time_btn {
    font-size: 11px;
    width: 148px;
    line-height: 1.4;
    padding: 2px 0;
  }
}
.local_first-time_btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg_local_first-time.png") no-repeat center/cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 100vmax;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .local_first-time_btn::before {
    background: url("../img/common/bg_local_first-time_sp.png") no-repeat center/cover;
  }
}
.local_first-time_btn .is-wrap {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
}
.local_first-time_btn .is-wrap::before, .local_first-time_btn .is-wrap::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 15px;
  background: url("../img/common/icon_local_first-time.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .local_first-time_btn .is-wrap::before, .local_first-time_btn .is-wrap::after {
    width: 14px;
    height: 13px;
  }
}
.local_first-time_btn .is-wrap::before {
  bottom: 4px;
  left: 19px;
}
.local_first-time_btn .is-wrap::after {
  bottom: 4px;
  right: 20px;
}
.local_first-time_btn .is-accent {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ffee93;
}
@media screen and (max-width: 767px) {
  .local_first-time_btn .is-accent {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .local_first-time_btn:hover {
    opacity: 0.8;
  }
}

.local_news {
  width: 44.66%;
  max-width: 195px;
}
@media screen and (max-width: 1250px) {
  .local_news {
    display: block;
    width: 51.66%;
  }
}

.local_logo {
  width: 100%;
  height: 87px;
  position: absolute;
  top: 0;
  left: 0;
  padding: 15px 18px 15px 25px;
  z-index: 4;
}
@media screen and (max-width: 1250px) {
  .local_logo {
    padding: 0;
    position: relative;
    height: auto;
  }
}

.local_inner {
  max-width: 1240px;
  padding-inline: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  margin-inline: auto;
}

#local-navi {
  position: sticky;
  z-index: 5;
  top: 0;
  pointer-events: none;
}

.local_navi {
  width: 100%;
  position: relative;
  padding: 15px 18px 15px 25px;
  z-index: 4;
}
.local_navi + * {
  margin-top: -75px;
}
@media screen and (max-width: 1250px) {
  .local_navi {
    padding: 0;
  }
  .local_navi + * {
    margin-top: 0;
  }
}
.local_navi.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
}

.local_navi_inner {
  max-width: 1240px;
  padding-inline: 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}

.local_navi + * {
  margin-top: -94px;
}
@media screen and (max-width: 1250px) {
  .local_navi + * {
    margin-top: -44px;
  }
}
@media screen and (max-width: 460px) {
  .local_navi + * {
    margin-top: -29px;
  }
}

@media screen and (max-width: 1250px) {
  .bg02_concept {
    margin-top: -49px;
  }
}

.page_top {
  position: relative;
  z-index: 1;
}

.top_btn {
  width: 278px;
  height: 65px;
  background: url("../img/top/bg_btn.png") no-repeat center/cover;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.025em;
  border-radius: 100vmax;
  position: relative;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .top_btn {
    background: url("../img/top/bg_btn_sp.png") no-repeat center/cover;
  }
}
@media (hover: hover) {
  .top_btn:hover {
    opacity: 0.8;
  }
}
.top_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  background: url("../img/top/icon_btn.svg") no-repeat center/cover;
  width: 11px;
  height: 9px;
}
.top_btn.accent {
  color: #ffee93;
}
.top_btn.btn-small, .top_btn.btn-pc-small {
  width: 250px;
  height: 59px;
  background: url("../img/top/bg_btn_small.png") no-repeat center/cover;
}
.top_btn.btn-small::before, .top_btn.btn-pc-small::before {
  right: 15px;
}
@media screen and (max-width: 767px) {
  .top_btn.btn-pc-small {
    width: 278px;
    height: 65px;
    background: url("../img/top/bg_btn.png") no-repeat center/cover;
  }
  .top_btn.btn-pc-small::before {
    right: 30px;
  }
}
.top_btn.top_btn_old_bg {
  background: url("../img/top/bg_btn_old.png") no-repeat center/cover;
}

.about_container--can {
  margin-top: 200px;
  margin-inline: calc(50% - 50vw);
}
.about_container--can hgroup h3, .about_container--can hgroup p {
  text-align: center;
}
.about_container--can hgroup p {
  margin-top: 10px;
}
.about_container--can .cando_container--box {
  margin: 65px auto 58px;
  max-width: 1240px;
  padding-inline: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about_container--can .cando_container--box .items {
  width: 30.8333333333%;
  color: #eefa7f;
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
}
.about_container--can .cando_container--box .items img {
  width: 100%;
}
.about_container--can .cando_container--box .items .pic {
  opacity: 0;
  transform: scale(0.5) translateY(20px); /* 左下からスケールアップ */
  transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform-origin: bottom right;
}
.about_container--can .cando_container--box .items.show .pic {
  opacity: 1;
  transform: scale(1) translateY(0); /* 左下からスムーズにスケールアップ */
  animation: bounceIn_cando 0.6s forwards;
}
.about_container--can .cando_container--box .items.show p {
  opacity: 1;
}
.about_container--can .cando_container--box .items p {
  text-align: center;
  opacity: 0;
  transition: opacity 0.6s ease-out 0.6s; /* 文字は1秒後にフェードイン */
}
.about_container--can .cando_container--box .items .item_heading {
  margin-top: 9px;
  text-align: center;
  font-size: clamp(20px, 2.6vw, 33px);
  font-weight: 700;
  color: #f4ffd5;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .about_container--can .cando_container--box .items .item_heading {
    font-size: 28px;
  }
}
.about_container--can .cando_container--box .items .item_heading::before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 158px;
  height: 15px;
  background: url("../img/top/line_about_cando1.png") no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about_container--can .cando_container--box .items .item_heading::before {
    width: 147px;
    height: 13px;
    background: url("../img/top/line_about_cando1_sp.png") no-repeat center/contain;
  }
}
.about_container--can .cando_container--box .items:nth-child(2) .item_heading::before {
  width: 339px;
  background: url("../img/top/line_about_cando2.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .about_container--can .cando_container--box .items:nth-child(2) .item_heading::before {
    width: 325px;
    background: url("../img/top/line_about_cando2_sp.png") no-repeat center/contain;
  }
}
.about_container--can .cando_container--box .items:nth-child(3) .item_heading::before {
  width: 179px;
  background: url("../img/top/line_about_cando3.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .about_container--can .cando_container--box .items:nth-child(3) .item_heading::before {
    width: 162px;
    background: url("../img/top/line_about_cando3_sp.png") no-repeat center/contain;
  }
}
.about_container--can .cando_container--box .items .item_text {
  text-align: center;
  margin-top: 20px;
  color: #fff;
  font-size: clamp(16px, 2vw, 18px);
  letter-spacing: 0;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .about_container--can .cando_container--box .items .item_text {
    font-size: 14px;
  }
}
.about_container--can .cando_container--box .items .item_text img {
  width: 17%;
  max-width: 264px;
  display: inline-block;
}
.about_container--can .cando_container--btn {
  margin-top: 68px;
  text-align: center;
}
.about_container--can .cando_container--btn a {
  display: inline-block;
  border-radius: 50px;
  border: solid 3px #cce1c7;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  padding: 1.8rem 2.5rem 1.5rem;
  width: 280px;
  position: relative;
}
.about_container--can .cando_container--btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 10px;
  height: 17px;
  background: url(../img/common/icon_btn.svg) no-repeat center center;
  background-size: 100%;
}
.about_container--can .about_container--btn {
  display: flex;
  justify-content: center;
  margin-inline: auto;
  margin-top: 0;
  max-width: 420px;
}
@media screen and (max-width: 767px) {
  .about_container--can .about_container--btn a {
    padding: 23px 22px 22px;
    width: 81% !important;
  }
}
@media screen and (max-width: 767px) {
  .about_container--can {
    margin-top: 70px;
    margin-inline: auto;
    max-width: 400px;
  }
  .about_container--can hgroup h3 {
    width: 314px;
    margin-inline: auto;
  }
  .about_container--can hgroup p {
    margin-top: 10px;
    width: 145px;
    margin-inline: auto;
  }
  .about_container--can .cando_container .item_heading {
    font-size: 3.4rem;
    text-align: left;
    padding: 0 15px;
    line-height: 1.48;
  }
  .about_container--can .cando_container .item_text {
    text-align: left;
    padding: 0 15px;
    margin-top: 10px;
  }
  .about_container--can .cando_container .item_text img {
    width: 65%;
  }
  .about_container--can .cando_container--box {
    flex-direction: column;
    padding-inline: 0;
    margin: 45px auto 52px;
    row-gap: 40px;
  }
  .about_container--can .cando_container--box .items {
    width: 97.084548105%;
    margin: 0 !important;
    margin-inline: auto !important;
    font-size: 2rem;
  }
  .about_container--can .cando_container--box .items + .items {
    margin-top: 45px;
  }
  .about_container--can .cando_container--box .items:nth-child(2) {
    margin-left: -3%;
  }
  .about_container--can .cando_container--btn {
    margin-top: 34px;
  }
  .about_container--can .cando_container--btn a {
    padding: 1.5rem 2.5rem 1.2rem;
    width: 73%;
  }
}

.idx-about .about_container .about_container--btn a {
  border-color: #cce1c7;
}
@media screen and (max-width: 767px) {
  .idx-about .about_container .about_container--btn a {
    padding: 23px 22px 22px;
    width: 86%;
  }
}

.top_cta {
  background: url("../img/top/bg_cta.jpg") no-repeat center/cover;
  padding-block: 98px 100px;
}
@media screen and (max-width: 767px) {
  .top_cta {
    background: url("../img/top/bg_cta_sp.jpg") no-repeat center/cover;
    padding-block: 98px 64px;
  }
}

.top_cta_inner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
}

.top_cta_title {
  width: 100%;
  max-width: 545px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .top_cta_title {
    max-width: 564px;
    width: 282px;
  }
}

.top_cta_deco {
  position: absolute;
  top: -43px;
  left: -25px;
  width: 179px;
  height: 314px;
}
@media screen and (max-width: 1024px) {
  .top_cta_deco {
    left: -50px;
  }
}
@media screen and (max-width: 767px) {
  .top_cta_deco {
    display: none;
  }
}

.top_cta_btn_wrap {
  margin-top: 47px;
  max-width: 837px;
  padding-inline: 60px;
  margin-inline: auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .top_cta_btn_wrap {
    flex-direction: column;
    align-items: center;
    margin-top: 35px;
    padding-inline: 0;
    gap: 27px;
  }
}

.top_cta_text {
  font-size: 18px;
  font-weight: 500;
  color: #3c4279;
  text-align: center;
  margin-bottom: 12px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .top_cta_text {
    margin-bottom: 8px;
  }
}

.top_cooperation {
  padding-block: 70px 153px;
  background-color: #fbfbf9;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top_cooperation {
    padding-block: 44px 48px;
  }
}
.top_cooperation::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/top/bg_cooperation.png") no-repeat center/cover;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top_cooperation::before {
    background: url("../img/top/bg_cooperation_sp.png") no-repeat center/cover;
  }
}

.top_cooperation_inner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  z-index: 3;
}

.top_cooperation_title {
  font-size: 32px;
  font-weight: 700;
  color: #fd6730;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top_cooperation_title {
    font-size: 30px;
  }
}

.top_cooperation_list {
  margin-top: 63px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .top_cooperation_list {
    margin-top: 17px;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 15px;
  }
}

.top_cooperation_item img {
  border-radius: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top_cooperation_item img {
    border-radius: 13px;
  }
}
.top_cooperation_item p {
  margin-top: 4px;
  text-align: center;
  font-size: clamp(8px, 1vw, 14px);
  line-height: 1.75;
  letter-spacing: 0.03em;
  color: #000;
}

.top_cooperation_text {
  margin-top: 50px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top_cooperation_text {
    margin-top: 30px;
    font-size: 16px;
    margin-bottom: 40px;
  }
}

.js-right-move {
  opacity: 0;
  transform: translate(-20%, -50%) !important;
  transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.js-right-move.show {
  opacity: 1;
  transform: translate(-50%, -50%) !important;
}

.js-left-move {
  opacity: 0;
  transform: translate(-80%, -50%) !important;
  transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.js-left-move.show {
  opacity: 1;
  transform: translate(-50%, -50%) !important;
}

.idx-pickup {
  background: url("../img/top/bg_pickup.jpg") no-repeat center/cover;
  padding-block: 78px 206px;
  color: #333;
}
@media screen and (max-width: 767px) {
  .idx-pickup {
    background: url("../img/top/bg_pickup_sp.jpg") no-repeat center/cover;
    overflow: hidden;
    padding-block: 65px 55px;
  }
}

.pickup-inner {
  max-width: 1640px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .pickup-inner {
    max-width: 79.2%;
    padding-inline: 0;
  }
}

.pickup-title {
  width: 244px;
  height: auto;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .pickup-title {
    width: 199px;
  }
}

.pickup-wrap {
  margin-top: 55px;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .pickup-wrap {
    margin-top: 60px;
    padding-bottom: 93px;
  }
}
.pickup-wrap.is-initialized:not(.is-active) .splide__list {
  display: grid;
  gap: min(3vw, 52px);
  grid-template-columns: repeat(4, 1fr);
}
.pickup-wrap .splide__track {
  overflow: visible;
}
.pickup-wrap .splide__pagination {
  bottom: 0;
  padding: 0;
}
.pickup-wrap .splide__pagination__page {
  background: url("../img/top/pickup_pagination.png") no-repeat center/contain;
  width: 20px;
  height: 20px;
  margin: 0 19px;
  opacity: 1;
  border-radius: 0;
}
.pickup-wrap .splide__pagination__page.is-active {
  transform: scale(1);
  background: url("../img/top/pickup_pagination_active.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .pickup-wrap .splide__pagination__page {
    margin: 0 10px;
  }
}

.pickup-link {
  display: block;
  color: #333;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .pickup-link:hover {
    opacity: 0.8;
  }
}

.pickup-img {
  width: 100%;
  height: auto;
  aspect-ratio: 365/258;
}
.pickup-img img {
  width: 100%;
}

.pickup-category {
  margin-top: 13px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  color: #6673c9;
  padding-inline: 8px;
}
@media screen and (max-width: 767px) {
  .pickup-category {
    font-size: 10px;
    margin-top: 10px;
  }
}

.top_contents_bg {
  padding-top: 112px;
  background: url("../img/top/bg_top.jpg") no-repeat center top/cover;
}
@media screen and (max-width: 767px) {
  .top_contents_bg {
    padding-top: 95px;
  }
}

.pickup-detail-title {
  margin-top: 2px;
  font-size: clamp(14px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.4761904762;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  word-break: break-all;
  padding-inline: 10px;
}
@media screen and (max-width: 767px) {
  .pickup-detail-title {
    font-size: 17px;
  }
}

.idx-schedule .schedule-inner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule-inner {
    padding-inline: 6px;
  }
}
.idx-schedule .schedule_title_en {
  width: min(35vw, 37.2rem);
  height: auto;
  aspect-ratio: 372/51;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_title_en {
    width: max(29.3rem, 50vw);
    aspect-ratio: 293/40;
  }
}
.idx-schedule .schedule_title_ja {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.1;
  margin-top: 32px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_title_ja {
    font-size: 1.6rem;
    margin-top: 14px;
  }
}
.idx-schedule .schedule_calendar {
  margin-top: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_calendar {
    max-width: 520px;
    margin-inline: auto;
    margin-top: 14px;
  }
}
.idx-schedule .calendar_date {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-align: center;
  line-height: 1.24;
  color: #404690;
  font-feature-settings: "palt";
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .idx-schedule .calendar_date {
    font-size: 2.5rem;
  }
}
.idx-schedule .calendar_date span {
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .idx-schedule .calendar_date span {
    font-size: 3.4rem;
  }
}
.idx-schedule .calendar_img {
  margin-top: 0.4rem;
}
@media screen and (max-width: 767px) {
  .idx-schedule .calendar_img {
    margin-top: 0;
  }
}
.idx-schedule .schedule_note {
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  color: #e53f27;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_note {
    font-size: 1.4rem;
    margin-top: 20px;
  }
}
.idx-schedule .schedule_btn {
  margin-top: 43px;
  display: flex;
  justify-content: center;
  gap: min(7.2441742655vw, 143px);
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_btn {
    margin-top: 50px;
    flex-direction: column;
    gap: 53px;
    align-items: center;
  }
}
.idx-schedule .schedule_btn .btn-calendar {
  width: 191px;
  height: 45px;
  font-size: 18px;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.08em;
}
.idx-schedule .schedule_btn .btn-calendar .is-small {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_btn .btn-calendar .is-small {
    font-size: 13px;
    letter-spacing: 0.025em;
  }
}
.idx-schedule .schedule_btn.next {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
}
.idx-schedule .schedule_btn.next .btn-calendar:before {
  right: 18px;
}
.idx-schedule .schedule_btn.prev {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
}
.idx-schedule .schedule_btn.prev .btn-calendar:before {
  transform: translateY(-50%) rotate(180deg);
  left: 18px;
  right: inherit;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_btn .btn-calendar {
    width: 92px;
    height: 36px;
    font-size: 13px;
  }
  .idx-schedule .schedule_btn .top_btn:before {
    width: 8px;
    height: 7px;
  }
  .idx-schedule .schedule_btn.next .btn-calendar {
    padding-right: 1.2rem;
  }
  .idx-schedule .schedule_btn.next .btn-calendar:before {
    right: 8px;
  }
  .idx-schedule .schedule_btn.prev .btn-calendar {
    padding-left: 1.2rem;
  }
  .idx-schedule .schedule_btn.prev .btn-calendar:before {
    left: 8px;
  }
}
.idx-schedule .schedule_summer {
  background: rgba(111, 223, 255, 0.21);
  border-radius: 10px;
  color: #3c4279;
  letter-spacing: 1px;
  line-height: 210%;
  padding: 13px 13px 18px;
  margin-top: 10px;
}
.idx-schedule .schedule_summer.index {
  display: none;
}
.idx-schedule .schedule_summer a {
  color: #1b7ce8;
  text-decoration: underline;
}
.idx-schedule .schedule_summer_title {
  color: #1b7ce8;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 0.5rem;
}
.idx-schedule .schedule_summer_text {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .idx-schedule .schedule_summer {
    letter-spacing: 0;
    line-height: 140%;
    padding: 18px 13px;
  }
  .idx-schedule .schedule_summer_title {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }
  .idx-schedule .schedule_summer_text {
    font-size: 1.2rem;
  }
}

.contact_container {
  background: url("../img/top/bg_contact.png") no-repeat center/contain;
  padding-top: 161px;
}
@media screen and (max-width: 940px) {
  .contact_container {
    padding-top: 17vw;
  }
}
@media screen and (max-width: 767px) {
  .contact_container {
    background: url("../img/top/bg_contact_sp.png") no-repeat center/contain;
    padding-top: 24vw;
  }
}
@media screen and (max-width: 400px) {
  .contact_container {
    padding-top: 86px;
  }
}
@media screen and (max-width: 342px) {
  .contact_container {
    padding-top: 72px;
  }
}

@media screen and (max-width: 767px) {
  .contact_mail {
    font-size: clamp(15px, 3vw, 25px);
  }
}
@media screen and (max-width: 374px) {
  .contact_mail {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .contact_text {
    margin-top: 28px;
    width: fit-content;
    padding: 0 2rem;
    font-size: clamp(9px, 1.5vw, 13px);
  }
}
@media screen and (max-width: 500px) {
  .contact_text {
    margin-top: 10px;
    width: 90%;
  }
}
@media screen and (max-width: 374px) {
  .contact_text {
    margin-top: 6px;
    font-size: 8px;
  }
}

.decoration_contact--start {
  padding-block: 0 40px;
  position: relative;
  width: 100%;
  margin-inline: auto;
  max-width: 1035px;
}
@media screen and (max-width: 767px) {
  .decoration_contact--start {
    padding-block: 27px 195px;
  }
}
.decoration_contact--start .start_text {
  text-align: center;
}
.decoration_contact--start .start_text img {
  width: 100%;
  max-width: 591px;
}
@media screen and (max-width: 767px) {
  .decoration_contact--start .start_text img {
    max-width: 305px;
  }
}
.decoration_contact--start .decoration_contact--1 {
  position: absolute;
  top: -33%;
  left: -14%;
  width: 173px;
}
@media screen and (max-width: 1300px) {
  .decoration_contact--start .decoration_contact--1 {
    left: -7%;
    width: 150px;
  }
}
.decoration_contact--start .decoration_contact--1 img {
  width: 100%;
}
.decoration_contact--start .decoration_contact--2 {
  position: absolute;
  top: -39%;
  right: -21.5%;
  width: 331px;
}
@media screen and (max-width: 1300px) {
  .decoration_contact--start .decoration_contact--2 {
    right: -8%;
    width: 260px;
  }
}
@media screen and (max-width: 767px) {
  .decoration_contact--start .decoration_contact--2 {
    top: auto;
    bottom: -6px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 45.9%;
    max-width: 171px;
  }
}
.decoration_contact--start .decoration_contact--2 img {
  width: 100%;
}
.decoration_contact--start .decoration_contact--3 {
  position: absolute;
  top: -171%;
  right: 0;
  width: 100%;
}

#fixed-menu {
  display: none;
}
@media screen and (max-width: 1250px) {
  #fixed-menu {
    display: block;
  }
}

.fixed_menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
  width: 704px;
  height: 332px;
  background-image: url("../img/common/bg_fixed_menu.png");
  background-color: #fffcdf;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transition: transform 0.3s ease-out;
  border-radius: 0 0 0 25px;
}
@media screen and (min-width: 768px) {
  .fixed_menu {
    transform: translateX(101%);
  }
  .fixed_menu.is-open {
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .fixed_menu {
    display: block;
    width: 100%;
    max-height: 604px;
    height: 100%;
    overflow-y: auto;
    background-image: url("../img/common/bg_fixed_menu_sp.png");
    transform: translateY(-101%);
    border-radius: 0 0 0 25px;
    padding: 90px 14px 50px;
  }
  .fixed_menu.show {
    animation: boundIn 0.5s forwards ease-out;
  }
  .fixed_menu.close {
    animation: slideOut 0.3s forwards ease-out;
  }
}
@media screen and (max-height: 700px) and (max-width: 1250px) {
  .fixed_menu {
    max-height: 502px;
    padding-bottom: 20px;
  }
}

@keyframes boundIn {
  0% {
    transform: translateY(-101%);
  }
  60% {
    transform: translateY(0);
  }
  80% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideOut {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-101%);
  }
}
@keyframes fixedBoundIn {
  0% {
    transform: translateY(calc(-101% - 80px));
  }
  50% {
    transform: translateY(0);
  }
  80% {
    transform: translateY(40%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fixedSlideOut {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc(-101% - 80px));
  }
}
.fixed_menu_inner {
  padding: 43px 20px 43px 42px;
}
@media screen and (max-width: 767px) {
  .fixed_menu_inner {
    max-width: 375px;
    margin-inline: auto;
    overflow-y: auto;
    height: 100%;
    padding: 0;
  }
}

.fixed_menu_head {
  display: flex;
  align-items: center;
  padding-left: 6px;
}
.fixed_menu_head .local_news {
  margin-right: 35px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .fixed_menu_head .local_news {
    margin-inline: auto;
    max-width: 265px;
    width: 100%;
  }
}
.fixed_menu_head .local_news a {
  display: block;
}

.fixed_menu_btn {
  border: none;
  position: fixed;
  top: 24px;
  right: 20px;
  width: 56px;
  height: 56px;
  background-color: #f2e787;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.35s, background-color 0.3s;
  flex-grow: 0;
  z-index: 102;
  transform: translateY(calc(-101% - 80px));
}
@media screen and (max-width: 767px) {
  .fixed_menu_btn {
    top: 13px;
    right: 8px;
    width: 45px;
    height: 45px;
  }
}
.fixed_menu_btn.is-hidden {
  animation: fixedSlideOut 0.3s ease-out forwards;
}
.fixed_menu_btn.is-show {
  animation: fixedBoundIn 0.3s ease-out forwards;
}
.fixed_menu_btn.is-open {
  background-color: #fff;
  pointer-events: auto;
}
.fixed_menu_btn.is-open .fixed_bar:nth-of-type(1) {
  transform: rotate(45deg) translate(10px, 7px);
}
@media screen and (max-width: 767px) {
  .fixed_menu_btn.is-open .fixed_bar:nth-of-type(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
}
.fixed_menu_btn.is-open .fixed_bar:nth-of-type(2) {
  opacity: 0;
}
.fixed_menu_btn.is-open .fixed_bar:nth-of-type(3) {
  transform: rotate(-45deg) translate(6px, -8px);
}
@media screen and (max-width: 767px) {
  .fixed_menu_btn.is-open .fixed_bar:nth-of-type(3) {
    transform: rotate(-45deg) translate(4px, -7px);
  }
}

.fixed_menu_btn__inner {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 33px;
  height: 27px;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media screen and (max-width: 767px) {
  .fixed_menu_btn__inner {
    width: 24px;
    height: 18px;
  }
}

.fixed_bar {
  display: block;
  width: 100%;
  height: 5px;
  background-color: #646bae;
  border-radius: 100vmax;
  transition: transform 0.3s, opacity 0.3s;
  transform-origin: top;
}
@media screen and (max-width: 767px) {
  .fixed_bar {
    height: 3px;
  }
}

.fixed_menu_list {
  margin-top: 39px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px 11px;
}
@media screen and (max-width: 767px) {
  .fixed_menu_list {
    margin-top: 18px;
    gap: 9px 7px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.fixed_menu_list li:nth-child(1) .fixed_menu_link {
  border-color: #5752e0;
}
.fixed_menu_list li:nth-child(2) .fixed_menu_link {
  border-color: #ff4700;
}
.fixed_menu_list li:nth-child(3) .fixed_menu_link {
  border-color: #5d76f3;
}
.fixed_menu_list li:nth-child(4) .fixed_menu_link {
  border-color: #05ce05;
}
.fixed_menu_list li:nth-child(5) {
  display: none;
}
.fixed_menu_list li:nth-child(5) .fixed_menu_link {
  border-color: #ff0606;
}
.fixed_menu_list li:nth-child(6) .fixed_menu_link {
  border-color: #06cade;
}
.fixed_menu_list li:nth-child(7) .fixed_menu_link {
  border-color: #ff00ca;
}
.fixed_menu_list li:nth-child(8) .fixed_menu_link {
  border-color: #85350f;
}

.fixed_menu_link {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 10px;
  border-width: 2px;
  border-style: solid;
  height: 85px;
  gap: 11px;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_link {
    height: 93px;
    gap: 0;
  }
}
@media screen and (max-height: 700px) and (max-width: 1250px) {
  .fixed_menu_link {
    height: 70px;
  }
}
@media (hover: hover) {
  .fixed_menu_link:hover {
    opacity: 0.7;
  }
}

.fixed_menu_icon {
  display: block;
}
.fixed_menu_icon img {
  vertical-align: bottom;
}
.fixed_menu_icon.top {
  width: 34px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.top {
    width: 38px;
    margin-right: 13px;
    margin-left: -11px;
  }
}
.fixed_menu_icon.facility {
  width: 34px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.facility {
    width: 39px;
    margin-right: 16px;
  }
}
.fixed_menu_icon.guide {
  width: 45px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.guide {
    width: 46px;
    margin-right: 8px;
    margin-left: -11px;
  }
}
.fixed_menu_icon.story {
  width: 32px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.story {
    width: 34px;
    margin-right: 10px;
    margin-left: -11px;
  }
}
.fixed_menu_icon.reading {
  width: 34px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.reading {
    width: 35px;
    margin-right: 10px;
    margin-left: -19px;
  }
}
.fixed_menu_icon.report {
  width: 40px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.report {
    width: 42px;
    margin-right: 11px;
    margin-left: -11px;
  }
}
.fixed_menu_icon.faq {
  width: 22px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.faq {
    width: 20px;
    margin-right: 16px;
    margin-left: 6px;
  }
}
.fixed_menu_icon.news {
  width: 44px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_icon.news {
    width: 46px;
    margin-right: 14px;
    margin-left: -22px;
  }
}

.fixed_menu_detail {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  color: #333;
  font-feature-settings: "palt";
}
@media screen and (max-width: 1250px) {
  .fixed_menu_detail {
    font-size: 15px;
    gap: 3px;
  }
}

.fixed_menu_text {
  display: block;
}
.fixed_menu_text img {
  vertical-align: bottom;
}
.fixed_menu_text.top {
  width: 28px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.top {
    width: 30px;
  }
}
.fixed_menu_text.facility {
  width: 55px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.facility {
    width: 61px;
  }
}
.fixed_menu_text.guide {
  width: 41px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.guide {
    width: 45px;
  }
}
.fixed_menu_text.story {
  width: 41px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.story {
    width: 49px;
  }
}
.fixed_menu_text.reading {
  width: 60px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.reading {
    width: 68px;
  }
}
.fixed_menu_text.report {
  width: 53px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.report {
    width: 57px;
  }
}
.fixed_menu_text.faq {
  width: 28px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.faq {
    width: 27px;
  }
}
.fixed_menu_text.news {
  width: 38px;
}
@media screen and (max-width: 1250px) {
  .fixed_menu_text.news {
    width: 43px;
  }
}

.program_btn_entry {
  color: #fffef9;
  padding: 12px 0;
  width: 304px;
  border-radius: 17px;
  border: 1px solid #ffed8b;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  transition: opacity 0.5s ease-out;
  font-feature-settings: "palt";
  box-shadow: 8px 8px 0 rgba(72, 139, 222, 0.18);
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .program_btn_entry {
    font-size: 21px;
    padding: 7px 0 9px;
    box-shadow: 0 8px 0 rgba(72, 139, 222, 0.18);
  }
}
.program_btn_entry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg_btn_program.png") no-repeat center/cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 17px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .program_btn_entry::before {
    background: url("../img/common/bg_btn_program_sp.png") no-repeat center/cover;
  }
}
.program_btn_entry .is-wrap {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
}
.program_btn_entry .is-wrap::before, .program_btn_entry .is-wrap::after {
  content: "";
  position: absolute;
}
.program_btn_entry .is-wrap::before {
  width: 57px;
  height: 107px;
  bottom: -7px;
  left: 2px;
  background: url("../img/common/icon_btn_program1.png") no-repeat center/contain;
}
.program_btn_entry .is-wrap::after {
  width: 74px;
  height: 100px;
  bottom: -5px;
  right: -19px;
  background: url("../img/common/icon_btn_program2.png") no-repeat center/contain;
}
.program_btn_entry .is-accent {
  font-size: 3.2rem;
  font-weight: 700;
  text-shadow: 2px 2px 0 rgba(72, 139, 222, 0.18);
}
@media screen and (max-width: 767px) {
  .program_btn_entry .is-accent {
    font-size: 2.9rem;
  }
}
@media (hover: hover) {
  .program_btn_entry:hover {
    opacity: 0.8;
  }
}

.food_btn_entry {
  color: #fffef9;
  padding: 12px 0;
  width: 304px;
  border-radius: 17px;
  border: 1px solid #ffed8b;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  transition: opacity 0.5s ease-out;
  font-feature-settings: "palt";
  box-shadow: 8px 8px 0 rgba(72, 139, 222, 0.18);
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .food_btn_entry {
    font-size: 21px;
    padding: 7px 0 9px;
    box-shadow: 0 8px 0 rgba(72, 139, 222, 0.18);
  }
}
.food_btn_entry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg_btn_food.png") no-repeat center/cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 17px;
  pointer-events: none;
}
.food_btn_entry .is-wrap {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
}
.food_btn_entry .is-wrap::before, .food_btn_entry .is-wrap::after {
  content: "";
  position: absolute;
}
.food_btn_entry .is-wrap::before {
  width: 51px;
  height: 113px;
  bottom: -13px;
  left: 7px;
  background: url("../img/common/icon_btn_food1.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .food_btn_entry .is-wrap::before {
    width: 49px;
    height: 109px;
    bottom: -7px;
    left: 11px;
  }
}
.food_btn_entry .is-wrap::after {
  width: 57px;
  height: 120px;
  bottom: -13px;
  right: -5px;
  background: url("../img/common/icon_btn_food2.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .food_btn_entry .is-wrap::after {
    width: 56px;
    height: 116px;
    bottom: -8px;
    right: 3px;
  }
}
.food_btn_entry .is-accent {
  font-size: 3.2rem;
  font-weight: 700;
  text-shadow: 2px 2px 0 rgba(72, 139, 222, 0.18);
}
@media screen and (max-width: 767px) {
  .food_btn_entry .is-accent {
    font-size: 2.9rem;
  }
}
@media (hover: hover) {
  .food_btn_entry:hover {
    opacity: 0.8;
  }
}

.wide-sp-only {
  display: none;
}
@media screen and (max-width: 1250px) {
  .wide-sp-only {
    display: block;
  }
}

.calendar_color {
  margin-top: 1.6rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .calendar_color {
    margin-top: 2.9rem;
  }
}

.calendar_color_btn {
  width: 23.5rem;
  height: 6.3rem;
  border-radius: 1rem;
  background-color: #fdf5e2;
  box-shadow: 0.4rem 0.4rem 0 rgba(244, 139, 3, 0.25);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  color: #404690;
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  align-items: center;
  gap: 2.1rem;
  padding-left: 2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .calendar_color_btn {
    margin-inline: auto;
    width: 18.9rem;
    height: 5.1rem;
    font-size: 1.6rem;
    gap: 1.5rem;
    padding-left: 1.7rem;
  }
}
.calendar_color_btn::before {
  content: "";
  display: block;
  width: 5rem;
  height: 5rem;
  background: url("../img/common/icon_program_exclamation.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_btn::before {
    width: 4.1rem;
    height: 4.1rem;
  }
}

.calendar_color_wrap {
  background-color: #fff;
  width: 45rem;
  height: 38.3rem;
  border-radius: 1rem;
  padding: 3rem 2rem;
  position: absolute;
  top: -22.1rem;
  left: -34.5%;
  border: 0.3rem solid #dde928;
  z-index: 1;
  cursor: default;
  pointer-events: none;
  opacity: 0;
  scale: 0;
  visibility: hidden;
  transition: opacity 0.3s, scale 0.3s, visibility 0.3s;
  transform-origin: 50% 66%;
}
@media screen and (max-width: 1370px) {
  .calendar_color_wrap {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .calendar_color_wrap {
    width: 35.4rem;
    height: 36.6rem;
    top: -12.2rem;
    left: -8.2rem;
    transform-origin: 50% 40%;
    padding: 2.5rem 1.6rem 1.8rem;
  }
}
.calendar_color_wrap.is-show {
  pointer-events: auto;
  animation: fadeInScale 0.3s forwards;
}
.calendar_color_wrap.is-hide {
  pointer-events: none;
  animation: fadeOutScale 0.3s forwards;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    scale: 0;
    visibility: hidden;
  }
  50% {
    opacity: 1;
    scale: 1.1;
    visibility: visible;
  }
  100% {
    opacity: 1;
    scale: 1;
    visibility: visible;
  }
}
@keyframes fadeOutScale {
  0% {
    opacity: 1;
    scale: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    scale: 0;
    visibility: hidden;
  }
}
.calendar_color_title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #404690;
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (max-width: 767px) {
  .calendar_color_title {
    font-size: 1.4rem;
  }
}
.calendar_color_title::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1.5rem;
  background: url("../img/common/icon_color_title.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_title::before {
    width: 2.8rem;
    height: 1.1rem;
    background: url("../img/common/icon_color_title_sp.png") no-repeat center/contain;
  }
}

.calendar_color_list {
  margin-top: 2.7rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem 2rem;
}
@media screen and (max-width: 767px) {
  .calendar_color_list {
    margin-top: 2rem;
    gap: 0.5rem 1.4rem;
  }
}

.calendar_color_item {
  height: 5.9rem;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #404690;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding-left: 8.6rem;
}
@media screen and (max-width: 767px) {
  .calendar_color_item {
    font-size: 1.3rem;
    padding-left: 6.7rem;
    height: 4.6rem;
  }
}
.calendar_color_item:nth-child(2n) {
  padding-left: 7.8rem;
}
@media screen and (max-width: 767px) {
  .calendar_color_item:nth-child(2n) {
    padding-left: 6rem;
  }
}
.calendar_color_item::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.calendar_color_item.is-reading::before {
  background: url("../img/common/btn_color_reading.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-reading::before {
    background: url("../img/common/btn_color_reading_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-science::before {
  background: url("../img/common/btn_color_science.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-science::before {
    background: url("../img/common/btn_color_science_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-food::before {
  background: url("../img/common/btn_color_food.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-food::before {
    background: url("../img/common/btn_color_food_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-finance {
  letter-spacing: 0.12em;
}
.calendar_color_item.is-finance::before {
  background: url("../img/common/btn_color_finance.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-finance::before {
    background: url("../img/common/btn_color_finance_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-art::before {
  background: url("../img/common/btn_color_art.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-art::before {
    background: url("../img/common/btn_color_art_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-digital::before {
  background: url("../img/common/btn_color_digital.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-digital::before {
    background: url("../img/common/btn_color_digital_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-music::before {
  background: url("../img/common/btn_color_music.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-music::before {
    background: url("../img/common/btn_color_music_sp.png") no-repeat center/contain;
  }
}
.calendar_color_item.is-other::before {
  background: url("../img/common/btn_color_other.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .calendar_color_item.is-other::before {
    background: url("../img/common/btn_color_other_sp.png") no-repeat center/contain;
  }
}

.calendar_color_close {
  margin-top: 2.1rem;
  width: 4.5rem;
  height: 4.5rem;
  border: none;
  background: transparent;
  margin-inline: auto;
  display: none;
}
@media screen and (max-width: 767px) {
  .calendar_color_close {
    display: block;
  }
}

.js-dribbleIn {
  opacity: 0;
  scale: 2.5;
}
.js-dribbleIn.is-show {
  animation: dribbleIn 0.6s forwards;
}

@keyframes dribbleIn {
  0% {
    opacity: 0;
    scale: 2.5;
  }
  10% {
    opacity: 0.2;
    scale: 2.4;
  }
  20% {
    opacity: 0.5;
    scale: 2.2;
  }
  50% {
    opacity: 1;
    scale: 0.7;
  }
  60% {
    opacity: 1;
    scale: 1.2;
  }
  75% {
    opacity: 1;
    scale: 1;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}