@charset "UTF-8";
main {
  padding-top: 0;
}

.kv_inr {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .kv_inr {
    width: 110rem;
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_inr {
    width: 67rem;
  }
}

.kv {
  background: url(/assets/images/tabisakiannaijo/kv_bg.svg) repeat-x;
}
@media screen and (min-width: 769px) {
  .kv {
    padding-top: 3rem;
    background-position: 0 45.2rem;
    background-size: 352.8rem;
    animation: kv_bgPc 150s linear infinite;
  }
}
@media screen and (max-width: 768px) {
  .kv {
    padding-top: 15.4rem;
    background-position: 0 66rem;
    background-size: 352.8rem;
    animation: kv_bgSp 150s linear infinite;
  }
}

@keyframes kv_bgPc {
  100% {
    background-position: 352.8rem 45.2rem;
  }
}
@keyframes kv_bgSp {
  100% {
    background-position: 352.8rem 66rem;
  }
}
.kv_ttl {
  opacity: 0;
  animation: animeFadeUp 1s 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@media screen and (min-width: 769px) {
  .kv_ttl {
    width: 102.8rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .kv_ttl {
    width: 64rem;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px) {
  .kv_character {
    width: 53.4rem;
    margin: -0.6rem auto 0;
  }
}
@media screen and (max-width: 768px) {
  .kv_character {
    width: 61rem;
    margin: 5rem auto 0;
  }
}

.kv_feature {
  opacity: 0;
  background-color: #ffe830;
  border: solid #000;
  transform-origin: 50% 0;
  animation: animeFadeIn 0.5s 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@media screen and (min-width: 769px) {
  .kv_feature {
    position: absolute;
    top: 45rem;
    right: -4rem;
    width: 18.8rem;
    padding: 1rem 1rem 2rem;
    border-width: 0.5rem;
    rotate: 10deg;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature {
    width: 37.2rem;
    margin: 2.5rem auto 0;
    padding: 1.5rem 2rem 1.5rem 1.5rem;
    border-width: 0.5rem;
    rotate: 3deg;
  }
}
.kv_feature::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -55%;
  border: solid #000;
  border-radius: 100vmax;
  background-color: #e5202e;
}
@media screen and (min-width: 769px) {
  .kv_feature::before {
    width: 2rem;
    height: 2rem;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature::before {
    width: 2.3rem;
    height: 2.3rem;
    border-width: 0.5rem;
  }
}
.kv_feature:hover {
  rotate: 15deg;
}

.kv_feature_head {
  text-align: center;
  font-family: "Pattaya";
}
@media screen and (min-width: 769px) {
  .kv_feature_head {
    line-height: 1.79em;
    font-size: 3.8rem;
  }
  .kv_feature_head > p {
    line-height: inherit;
    font: inherit;
  }
  .kv_feature_head > p:first-of-type {
    margin-top: -0.394em;
  }
  .kv_feature_head > p:last-of-type {
    margin-bottom: -0.394em;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature_head {
    line-height: 1.75em;
    font-size: 3.2rem;
  }
  .kv_feature_head > p {
    line-height: inherit;
    font: inherit;
  }
  .kv_feature_head > p:first-of-type {
    margin-top: -0.375em;
  }
  .kv_feature_head > p:last-of-type {
    margin-bottom: -0.375em;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature_head + div {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1rem;
  }
}

.kv_feature_figure {
  background-color: #e6e6e6;
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .kv_feature_figure {
    margin-top: 0.5rem;
    border-width: 0.5rem;
    aspect-ratio: 154/116;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature_figure {
    flex-shrink: 0;
    width: 16rem;
    border-width: 0.5rem;
    aspect-ratio: 160/120;
  }
}

.kv_feature_ttl {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .kv_feature_ttl {
    margin-top: 1.2rem;
    line-height: 1.429em;
    font-size: 1.4rem;
  }
  .kv_feature_ttl > p {
    line-height: inherit;
    font: inherit;
  }
  .kv_feature_ttl > p:first-of-type {
    margin-top: -0.214em;
  }
  .kv_feature_ttl > p:last-of-type {
    margin-bottom: -0.214em;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature_ttl {
    line-height: 1.334em;
    font-size: 2.4rem;
  }
  .kv_feature_ttl > p {
    line-height: inherit;
    font: inherit;
  }
  .kv_feature_ttl > p:first-of-type {
    margin-top: -0.166em;
  }
  .kv_feature_ttl > p:last-of-type {
    margin-bottom: -0.166em;
  }
}
.kv_feature_ttl > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .kv_feature_ttl > p {
    -webkit-line-clamp: 2;
  }
}
@media screen and (max-width: 768px) {
  .kv_feature_ttl > p {
    -webkit-line-clamp: 3;
  }
}

.kv_cloud_01,
.kv_cloud_02,
.kv_cloud_03 {
  position: absolute;
  animation: cloudX 3s ease-in-out infinite alternate;
}
.kv_cloud_01 img,
.kv_cloud_02 img,
.kv_cloud_03 img {
  animation: cloudY 4s ease-in-out infinite alternate;
}

@media screen and (min-width: 769px) {
  .kv_cloud_01 {
    top: -6.5rem;
    left: 14.8rem;
    width: 9.8rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_cloud_01 {
    top: -20.3rem;
    left: 25.2rem;
    width: 12.1rem;
  }
}

@media screen and (min-width: 769px) {
  .kv_cloud_02 {
    top: 0.5rem;
    right: -9rem;
    width: 12.8rem;
    animation-delay: 1500ms;
  }
}
@media screen and (max-width: 768px) {
  .kv_cloud_02 {
    top: -11.8rem;
    right: 2.2rem;
    width: 15.8rem;
    animation-delay: 1500ms;
  }
}
.kv_cloud_02 img {
  animation-delay: 1500ms;
}

.kv_cloud_03 {
  animation-delay: 100ms;
}
@media screen and (min-width: 769px) {
  .kv_cloud_03 {
    top: 28.4rem;
    left: -16.8rem;
    width: 16.5rem;
  }
}
@media screen and (max-width: 768px) {
  .kv_cloud_03 {
    top: 30.3rem;
    left: -6.8rem;
    width: 16.1rem;
  }
}

@keyframes cloudX {
  0% {
    transform: translate(0);
  }
  50% {
    transform: translate(-8px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cloudY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
  100% {
    transform: translateY(0);
  }
}
.news_cont {
  position: relative;
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .news_cont {
    width: 110rem;
    margin: 10rem auto 0;
    padding: 2.4rem 0 0;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .news_cont {
    width: 67rem;
    margin: 13rem auto 0;
    padding: 5rem 0 0;
    border-width: 0.5rem;
  }
}
@media screen and (min-width: 769px) {
  .news_cont:has(.news_more[style*="display: none"]) {
    padding-bottom: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .news_cont:has(.news_more[style*="display: none"]) {
    padding-bottom: 2rem;
  }
}

.news_head {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -80%;
}
@media screen and (min-width: 769px) {
  .news_head {
    width: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .news_head {
    width: 12rem;
  }
}

@media screen and (min-width: 769px) {
  .news_list_item {
    width: 99rem;
    margin: 0 auto;
    padding: 1.8rem 0;
  }
}
@media screen and (max-width: 768px) {
  .news_list_item {
    width: 59.4rem;
    margin: 0 auto;
    padding: 1.8rem 2rem;
  }
}
.news_list_item:not(:has(a)) {
  display: flex;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .news_list_item:not(:has(a)) {
    align-items: center;
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .news_list_item:not(:has(a)) {
    flex-wrap: wrap;
  }
}
.news_list_item + .news_list_item {
  border-top: 0.2rem solid #000;
}
.news_list_item > a {
  position: relative;
  display: flex;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .news_list_item > a {
    align-items: center;
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .news_list_item > a {
    flex-wrap: wrap;
  }
}
.news_list_item > a:hover {
  color: #0050c8;
  font-weight: 900;
}
.news_list_item > a::before {
  content: "";
  position: absolute;
  background: url(/assets/images/tabisakiannaijo/news_arrow.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .news_list_item > a::before {
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 2.3rem;
    height: 1.9rem;
  }
}
@media screen and (max-width: 768px) {
  .news_list_item > a::before {
    bottom: 0.5rem;
    right: 2rem;
    width: 2.3rem;
    height: 1.9rem;
  }
}

.news_tag {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
  border-radius: 100vmax;
}
@media screen and (min-width: 769px) {
  .news_tag {
    width: 8rem;
    height: 3rem;
    line-height: 1;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_tag {
    width: 8rem;
    height: 3rem;
    margin-right: 1.8rem;
    line-height: 1;
    font-size: 2rem;
  }
}
.news_tag.news {
  background-color: #e5202e;
}
.news_tag.event {
  background-color: #0050c8;
}

.news_date {
  display: flex;
  align-items: center;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
}
@media screen and (min-width: 769px) {
  .news_date .num {
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_date .num {
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 769px) {
  .news_date .day {
    line-height: 1;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .news_date .day {
    line-height: 1;
    font-size: 1.8rem;
  }
}

.news_ttl {
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  overflow: hidden;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .news_ttl {
    line-height: 1.091em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_ttl {
    width: 90%;
    margin-top: 1.5rem;
    line-height: 1.417em;
    font-size: 2.4rem;
  }
}

.news_more {
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: solid #000;
  background-color: #ffe830;
  cursor: pointer;
  font-family: "Pattaya";
}
@media screen and (min-width: 769px) {
  .news_more {
    gap: 1rem;
    margin-top: 2rem;
    padding: 1rem;
    border-top-width: 0.5rem;
    line-height: 1;
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .news_more {
    gap: 0.5rem;
    margin-top: 2rem;
    padding: 1rem;
    border-top-width: 0.5rem;
    line-height: 1;
    font-size: 3rem;
  }
}
.news_more:hover {
  background-color: #000;
  color: #fff;
}
.news_more:hover .icon {
  border-color: #fff;
}
.news_more:hover .icon::before, .news_more:hover .icon::after {
  background-color: #fff;
}
.news_more.is-open .icon::after {
  rotate: 90deg;
}
.news_more .icon {
  position: relative;
  border: solid #000;
  border-radius: 100vmax;
}
@media screen and (min-width: 769px) {
  .news_more .icon {
    width: 2.2rem;
    height: 2.2rem;
    border-width: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_more .icon {
    width: 2.2rem;
    height: 2.2rem;
    border-width: 0.2rem;
  }
}
.news_more .icon::before, .news_more .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-color: #000;
  transition: transform 0.5s;
}
@media screen and (min-width: 769px) {
  .news_more .icon::before {
    width: 2rem;
    height: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_more .icon::before {
    width: 2rem;
    height: 0.2rem;
  }
}
@media screen and (min-width: 769px) {
  .news_more .icon::after {
    width: 0.2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .news_more .icon::after {
    width: 0.2rem;
    height: 2rem;
  }
}

.whatsnew {
  position: relative;
  border-top: solid #000;
  background-color: #ffffff;
  background-position: 0 0;
}
@media screen and (min-width: 769px) {
  .whatsnew {
    margin-top: 12rem;
    padding: 7.7rem 0 7.2rem;
    border-top-width: 0.5rem;
    background-image: radial-gradient(circle, #ffe830 0.26rem, transparent 0.26rem), radial-gradient(circle, #ffe830 0.26rem, transparent 0.26rem);
    background-size: 1.3rem 1.3rem;
    background-position: 0 0, 0.7rem 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew {
    margin-top: 11.2rem;
    padding: 9.4rem 0 9.4rem 4rem;
    border-top-width: 0.5rem;
    background-image: radial-gradient(circle, #ffe830 0.26rem, transparent 0.26rem), radial-gradient(circle, #ffe830 0.26rem, transparent 0.26rem);
    background-size: 1.3rem 1.3rem;
    background-position: 0 0, 0.7rem 0.7rem;
  }
}

.whatsnew_head {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}
@media screen and (min-width: 769px) {
  .whatsnew_head {
    width: 21rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_head {
    width: 21rem;
  }
}

@media screen and (min-width: 769px) {
  .whatsnew_cont {
    width: 106.8rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont {
    width: 71.2rem;
  }
}

.whatsnew_cont_list {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    row-gap: 2.8rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont_list {
    padding-top: 1.1rem;
  }
}
.whatsnew_cont_list > li {
  position: relative;
  background-color: #fff;
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list > li {
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont_list > li {
    border-width: 0.5rem;
  }
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list > li:not(:has(a)) {
    padding: 2rem 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont_list > li:not(:has(a)) {
    padding: 2rem 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list > li:has(a):hover {
    transform-origin: 50% 0;
    rotate: 3deg;
  }
}
.whatsnew_cont_list > li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  border: solid #000;
  border-radius: 100vmax;
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list > li::after {
    width: 2rem;
    height: 2rem;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont_list > li::after {
    width: 2.2rem;
    height: 2.2rem;
    border-width: 0.5rem;
  }
}
.whatsnew_cont_list > li:nth-child(odd)::after {
  background-color: #ffe830;
}
.whatsnew_cont_list > li:nth-child(even)::after {
  background-color: #e5202e;
}
.whatsnew_cont_list > li > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .whatsnew_cont_list > li > a {
    gap: 0.8rem;
    padding: 2rem 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .whatsnew_cont_list > li > a {
    gap: 1rem;
    padding: 2rem 1.5rem 1.8rem;
  }
}

.article_tag {
  display: flex;
}
.article_tag > span {
  color: #fff;
  background-color: #000;
  border-radius: 100vmax;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .article_tag > span {
    padding: 0.5rem 1rem 0.5rem;
    line-height: 1;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .article_tag > span {
    padding: 0.5rem 1rem 0.5rem;
    line-height: 1;
    font-size: 2rem;
  }
}

.article_date {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
}
@media screen and (min-width: 769px) {
  .article_date {
    gap: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .article_date {
    gap: 0.2rem;
  }
}
@media screen and (min-width: 769px) {
  .article_date .num {
    line-height: 1;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 768px) {
  .article_date .num {
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 769px) {
  .article_date .day {
    line-height: 1;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .article_date .day {
    line-height: 1;
    font-size: 2rem;
  }
}

.article_ttl {
  font-weight: 700;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .article_ttl {
    line-height: 1.41em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .article_ttl {
    line-height: 1.375em;
    font-size: 2.4rem;
  }
}

/* タイトルの字間を狭く（イレギュラー対応） */
.narrowly {
  letter-spacing: -0.05em;
}

.about {
  display: grid;
  grid-template-columns: repeat(3, auto);
  border-top: solid #000;
}
@media screen and (min-width: 769px) {
  .about {
    grid-auto-columns: 34.4rem 69.5rem 34.4rem;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about {
    grid-auto-columns: 10.4rem 54rem 10.4rem;
    border-width: 0.5rem;
  }
}

.about_side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.about_side_item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
}
.about_side_item + .about_side_item {
  border-top: solid #000;
}
@media screen and (min-width: 769px) {
  .about_side_item + .about_side_item {
    border-top-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about_side_item + .about_side_item {
    border-top-width: 0.5rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_01 {
    width: 10.1rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_01 {
    width: 7.1rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_02 {
    width: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_02 {
    width: 6.3rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_03 {
    width: 9.7rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_03 {
    width: 6.9rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_04 {
    width: 9.7rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_04 {
    width: 6.9rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_05 {
    width: 7.6rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_05 {
    width: 5.4rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_06 {
    width: 10.9rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_06 {
    width: 7.6rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_07 {
    width: 12.4rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_07 {
    width: 8.7rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_08 {
    width: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_08 {
    width: 7.4rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_09 {
    width: 10.7rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_09 {
    width: 7.6rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_10 {
    width: 11.9rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_10 {
    width: 8.3rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_11 {
    width: 11.6rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_11 {
    width: 8.1rem;
  }
}

@media screen and (min-width: 769px) {
  .about_icon_12 {
    width: 10.2rem;
  }
}
@media screen and (max-width: 768px) {
  .about_icon_12 {
    width: 7.2rem;
  }
}

.about_center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: solid #000;
  border-left: solid #000;
}
@media screen and (min-width: 769px) {
  .about_center {
    padding-top: 9rem;
    padding-bottom: 12rem;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about_center {
    padding-top: 4.8rem;
    padding-bottom: 8rem;
    border-width: 0.5rem;
  }
}

.about_head {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .about_head {
    width: 56.6rem;
  }
}
@media screen and (max-width: 768px) {
  .about_head {
    width: 41.4rem;
  }
}

.about_img {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .about_img {
    width: 36.5rem;
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .about_img {
    width: 33.4rem;
    margin-top: 3.2rem;
  }
}

.about_lead {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.18em;
}
@media screen and (min-width: 769px) {
  .about_lead {
    margin-top: 6rem;
    line-height: 2.584em;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .about_lead {
    margin-top: 4rem;
    line-height: 2em;
    font-size: 2.8rem;
  }
}
.about_lead .txtRed {
  color: #e5202e;
}
@media screen and (min-width: 769px) {
  .about_lead .txtRed {
    line-height: 2.297em;
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .about_lead .txtRed {
    line-height: 1.807em;
    font-size: 3.1rem;
  }
}

.guidance {
  position: relative;
  border-top: solid #000;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .guidance {
    border-top-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance {
    border-top-width: 0.5rem;
  }
}

.guidance_inr {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .guidance_inr {
    width: 110rem;
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_inr {
    width: 67rem;
    padding-top: 2.7rem;
  }
}

.guidance_bg_01 {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .guidance_bg_01 {
    width: 22.4rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_bg_01 {
    width: 22.4rem;
  }
}

.guidance_cont_wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .guidance_cont_wrap {
    padding-bottom: 9.5rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_cont_wrap {
    padding-bottom: 9.5rem;
  }
}
.guidance_cont_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  height: 90%;
  border-left: solid #000;
  border-right: solid #000;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .guidance_cont_wrap::before {
    width: 1.7rem;
    border-left-width: 0.4rem;
    border-right-width: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_cont_wrap::before {
    width: 2.2rem;
    border-left-width: 0.6rem;
    border-right-width: 0.6rem;
  }
}
.guidance_cont_wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: url(/assets/images/tabisakiannaijo/guidance_bg_02.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .guidance_cont_wrap::after {
    width: 22.2rem;
    height: 9.6rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_cont_wrap::after {
    width: 22.2rem;
    height: 9.7rem;
  }
}

.page_cloud {
  position: absolute;
  animation: cloudX 3s ease-in-out infinite alternate;
}
.page_cloud img {
  animation: cloudY 4s ease-in-out infinite alternate;
}

@media screen and (min-width: 769px) {
  .page_cloud_01 {
    width: 15.5rem;
    top: 5.5rem;
    left: 9.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_01 {
    width: 15.5rem;
    top: 3.5rem;
    left: -6.5rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_02 {
    width: 10.8rem;
    top: 15rem;
    left: 35.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_02 {
    width: 9.3rem;
    top: 17rem;
    left: 12rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_03 {
    width: 14.4rem;
    top: 8.5rem;
    left: 112.2rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_03 {
    width: 14.4rem;
    top: 6rem;
    right: 3.6rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_04 {
    width: 15.1rem;
    top: 46rem;
    left: -5.5rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_05 {
    width: 15.2rem;
    top: 69rem;
    right: -4.2rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_05 {
    width: 15.5rem;
    top: 58.2rem;
    right: -8.7rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_06 {
    width: 15.1rem;
    top: 95.3rem;
    left: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_06 {
    width: 14.4rem;
    top: 86rem;
    left: -8.7rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_07 {
    width: 10.4rem;
    top: 133.3rem;
    right: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_07 {
    width: 9.3rem;
    top: 149.8rem;
    right: -2.2rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_08 {
    width: 11.6rem;
    top: 170.5rem;
    left: -2rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_08 {
    width: 12.5rem;
    top: 198.6rem;
    left: -2.2rem;
  }
}

@media screen and (min-width: 769px) {
  .page_cloud_09 {
    width: 16.6rem;
    top: 183.5rem;
    right: -3.4rem;
  }
}
@media screen and (max-width: 768px) {
  .page_cloud_09 {
    width: 13.7rem;
    top: 222rem;
    right: -7rem;
  }
}

@media screen and (max-width: 768px) {
  .page_cloud_10 {
    width: 13.7rem;
    top: 274.7rem;
    left: -5.6rem;
  }
}

.komedia {
  position: relative;
  background-color: #ffe830;
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .komedia {
    border-width: 0.5rem;
    border-radius: 3rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia {
    border-width: 0.5rem;
    border-radius: 3rem;
    padding-bottom: 3rem;
  }
}

.komedia_head_en {
  position: absolute;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 769px) {
  .komedia_head_en {
    top: 2.6rem;
    left: 1.7rem;
    line-height: 1;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_head_en {
    top: 2.6rem;
    left: 1.7rem;
    line-height: 1;
    font-size: 2rem;
  }
}

@media screen and (min-width: 769px) {
  .komedia_cont {
    width: 60.5rem;
    padding-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_cont {
    padding-top: 4.5rem;
  }
}

@media screen and (min-width: 769px) {
  .komedia_head_jp {
    width: 24.5rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .komedia_head_jp {
    width: 29.5rem;
    margin: 0 auto;
  }
}

.komedia_lead {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.205em;
}
@media screen and (min-width: 769px) {
  .komedia_lead {
    margin-top: 3rem;
    line-height: 1.867em;
    font-size: 1.5rem;
  }
  .komedia_lead > p {
    line-height: inherit;
    font: inherit;
  }
  .komedia_lead > p:first-of-type {
    margin-top: -0.433em;
  }
  .komedia_lead > p:last-of-type {
    margin-bottom: -0.433em;
  }
}
@media screen and (max-width: 768px) {
  .komedia_lead {
    margin-top: 4.5rem;
    line-height: 1.731em;
    font-size: 2.6rem;
  }
  .komedia_lead > p {
    line-height: inherit;
    font: inherit;
  }
  .komedia_lead > p:first-of-type {
    margin-top: -0.365em;
  }
  .komedia_lead > p:last-of-type {
    margin-bottom: -0.365em;
  }
}

.komedia_txt {
  position: relative;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.23em;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .komedia_txt {
    margin-top: 1.8rem;
    line-height: 1.364em;
    font-size: 2.2rem;
  }
  .komedia_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .komedia_txt > p:first-of-type {
    margin-top: -0.181em;
  }
  .komedia_txt > p:last-of-type {
    margin-bottom: -0.181em;
  }
}
@media screen and (max-width: 768px) {
  .komedia_txt {
    margin-top: 2rem;
    line-height: 1.367em;
    font-size: 3rem;
  }
  .komedia_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .komedia_txt > p:first-of-type {
    margin-top: -0.183em;
  }
  .komedia_txt > p:last-of-type {
    margin-bottom: -0.183em;
  }
}
.komedia_txt::before {
  content: "";
  position: absolute;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .komedia_txt::before {
    height: 0.9rem;
    left: -0.8rem;
    right: 0rem;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .komedia_txt::before {
    height: 1.2rem;
    left: -0.8rem;
    right: 0rem;
    bottom: 0;
  }
}
.komedia_txt > p {
  position: relative;
}

@media screen and (min-width: 769px) {
  .komedia_character {
    position: absolute;
    top: 4.7rem;
    right: 7rem;
    width: 45.6rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_character {
    width: 40.8rem;
    margin: 4rem auto 0;
  }
}

@media screen and (min-width: 769px) {
  .komedia_slider_wrap {
    margin-top: 3.5rem;
    margin-left: 4.8rem;
    padding: 0.7rem 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_slider_wrap {
    margin-top: 1rem;
    margin-left: 1.3rem;
    padding: 1.2rem 0.4rem;
  }
}

.komedia_slider_item {
  background: url(/assets/images/tabisakiannaijo/komedia_slider_item_bg.svg) no-repeat 0 0;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .komedia_slider_item {
    width: 27rem;
    height: 37.6rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_slider_item {
    width: 28.2rem;
    height: 39.3rem;
  }
}
.komedia_slider_item:has(a):hover {
  scale: 1.0303030303;
}
.komedia_slider_item > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .komedia_slider_item > a {
    gap: 0.8rem;
    padding: 6rem 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .komedia_slider_item > a {
    gap: 0.8rem;
    padding: 6rem 3rem 0;
  }
}
.komedia_slider_item figure {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .komedia_slider_item figure {
    border-radius: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_slider_item figure {
    border-radius: 1.6rem;
  }
}

@media screen and (min-width: 769px) {
  .komedia_comingsoon {
    width: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .komedia_comingsoon {
    width: 16rem;
  }
}

.quiz {
  display: flex;
  position: relative;
  background-color: #fff;
  border: solid #000;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .quiz {
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz {
    flex-direction: column;
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .quiz_kv {
    width: 49.7rem;
    border-right: solid #000 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_kv {
    border-bottom: solid #000 0.5rem;
  }
}

.quiz_cont {
  position: relative;
  flex-grow: 1;
}
@media screen and (min-width: 769px) {
  .quiz_cont {
    padding: 4rem 6rem 0;
  }
}
@media screen and (max-width: 768px) {
  .quiz_cont {
    padding: 3rem 0rem 4rem;
  }
}

.quiz_head_en {
  position: absolute;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 769px) {
  .quiz_head_en {
    top: 2.5rem;
    right: 0.5rem;
    line-height: 1;
    font-size: 2rem;
  }
}

.quiz_head_jp {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .quiz_head_jp {
    width: 39.8rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_head_jp {
    width: 48rem;
  }
}

.quiz_sholder {
  position: relative;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.23em;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .quiz_sholder {
    margin-top: 2rem;
    line-height: 1.364em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_sholder {
    margin-top: 3rem;
    line-height: 1;
    font-size: 3rem;
  }
}
.quiz_sholder::before {
  content: "";
  position: absolute;
  background-color: #ffe830;
}
@media screen and (min-width: 769px) {
  .quiz_sholder::before {
    height: 0.9rem;
    left: -0.8rem;
    right: 0rem;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .quiz_sholder::before {
    height: 1.2rem;
    left: -0.8rem;
    right: 0rem;
    bottom: 0;
  }
}
.quiz_sholder > p {
  position: relative;
}

.quiz_txt {
  text-align: center;
  font-weight: 700;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
}
@media screen and (min-width: 769px) {
  .quiz_txt {
    margin-top: 1.8rem;
    line-height: 1.867em;
    font-size: 1.5rem;
    letter-spacing: 0.203em;
  }
  .quiz_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .quiz_txt > p:first-of-type {
    margin-top: -0.433em;
  }
  .quiz_txt > p:last-of-type {
    margin-bottom: -0.433em;
  }
}
@media screen and (max-width: 768px) {
  .quiz_txt {
    margin-top: 2.5rem;
    line-height: 1.731em;
    font-size: 2.6rem;
    letter-spacing: 0.1em;
  }
  .quiz_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .quiz_txt > p:first-of-type {
    margin-top: -0.365em;
  }
  .quiz_txt > p:last-of-type {
    margin-bottom: -0.365em;
  }
}
@media screen and (min-width: 769px) {
  .quiz_txt .small {
    line-height: 2.154em;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_txt .small {
    line-height: 1.875em;
    font-size: 2.4rem;
  }
}

.quiz_list {
  display: flex;
}
@media screen and (min-width: 769px) {
  .quiz_list {
    gap: 1.2rem;
    justify-content: center;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_list {
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    margin-top: 2.5rem;
  }
}

.quiz_list_item {
  display: flex;
  border: solid #000;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .quiz_list_item {
    flex-direction: column;
    border-radius: 0.6rem;
    border-width: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_list_item {
    width: 46rem;
    margin: 0 auto;
    border-radius: 0.7rem;
    border-width: 0.2rem;
  }
}

.quiz_list_head {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
}
@media screen and (min-width: 769px) {
  .quiz_list_head {
    line-height: 1;
    font-size: 1.3rem;
    padding: 0.5rem 0;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem;
    border-bottom: solid #000;
    border-bottom-width: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_list_head {
    flex-shrink: 0;
    line-height: 1;
    font-size: 2rem;
    width: 10.5rem;
    padding: 1.5rem 0;
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
    border-right: solid #000;
    border-right-width: 0.2rem;
  }
}
.item01 .quiz_list_head {
  background-color: #e5202e;
}
.item02 .quiz_list_head {
  background-color: #0050c8;
}
.item03 .quiz_list_head {
  background-color: #00a269;
}

.quiz_list_cont {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .quiz_list_cont {
    padding: 0.6rem 0;
    line-height: 1.177em;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_list_cont {
    padding: 1.2rem 0;
    line-height: 1.179em;
    font-size: 2.8rem;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .quiz_list_cont .small {
    line-height: 1.334em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .quiz_list_cont .small {
    line-height: 1.375em;
    font-size: 2.4rem;
  }
}

.toreka {
  display: flex;
  align-items: center;
  position: relative;
  background-color: #fff;
  border: solid #000;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 769px) {
  .toreka {
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
    background-image: url(/assets/images/tabisakiannaijo/bg_toreka_pc.jpg);
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  .toreka {
    flex-direction: column;
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
    padding-bottom: 6rem;
    background-image: url(/assets/images/tabisakiannaijo/bg_toreka_sp.jpg);
    background-size: contain;
  }
}

@media screen and (min-width: 769px) {
  .toreka_kv {
    width: 61.3rem;
  }
}

.toreka_txt {
  color: #fff;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .toreka_txt {
    font-size: 1.5rem;
    line-height: 2.8rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_txt {
    font-size: 2.6rem;
    line-height: 4.4rem;
  }
}
@media screen and (min-width: 769px) {
  .toreka_txt .lead {
    font-size: 2rem;
    line-height: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_txt .lead {
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
}
.toreka_txt h2 {
  color: #ffe830;
}
@media screen and (min-width: 769px) {
  .toreka_txt h2 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_txt h2 {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .toreka_txt p + h2 {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_txt p + h2 {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .toreka_txt h2 + p {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_txt h2 + p {
    padding-top: 3rem;
  }
}

.toreka_cont .toreka_btn {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .toreka_cont .toreka_btn {
    width: 28rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_cont .toreka_btn {
    width: 33.2rem;
    margin-top: 3rem;
  }
}
.toreka_cont .toreka_btn > a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100vmax;
  border: solid #000;
  background: #fff;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .toreka_cont .toreka_btn > a {
    gap: 0.8rem;
    padding: 0.9rem 0;
    border-width: 0.4rem;
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_cont .toreka_btn > a {
    gap: 1rem;
    padding: 1.2rem 0;
    border-width: 0.5rem;
    line-height: 1;
    font-size: 2.8rem;
  }
}
.toreka_cont .toreka_btn > a::after {
  content: "";
  display: block;
  background: url(/assets/images/tabisakiannaijo/toreka_arrow_bk.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .toreka_cont .toreka_btn > a::after {
    width: 1.9rem;
    height: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .toreka_cont .toreka_btn > a::after {
    width: 2.3rem;
    height: 1.8rem;
  }
}
.toreka_cont .toreka_btn > a:hover {
  background-color: #000;
  color: #fff;
}
.toreka_cont .toreka_btn > a:hover::after {
  background-image: url(/assets/images/tabisakiannaijo/toreka_arrow_w.svg);
}

.bg_star {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .bg_star {
    width: 4.8rem;
    right: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .bg_star {
    bottom: 4rem;
  }
}

.yellow {
  color: #ffe830;
}

.guidance_cont_coming {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: solid #000;
  background-color: #0050c8;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .guidance_cont_coming {
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
    padding: 14.5rem 0 15.5rem;
  }
}
@media screen and (max-width: 768px) {
  .guidance_cont_coming {
    border-width: 0.5rem;
    border-radius: 3rem;
    margin-top: 4rem;
    padding: 15.6rem 0 18.4rem;
  }
}

.coming_head_jp {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.25em;
}
@media screen and (min-width: 769px) {
  .coming_head_jp {
    line-height: 1;
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 768px) {
  .coming_head_jp {
    line-height: 1;
    font-size: 2.8rem;
  }
}

.coming_head_en {
  text-align: center;
  font-family: "Pattaya";
}
@media screen and (min-width: 769px) {
  .coming_head_en {
    margin-top: 2.5rem;
    line-height: 1;
    font-size: 11.2rem;
  }
}
@media screen and (max-width: 768px) {
  .coming_head_en {
    margin-top: 2.5rem;
    line-height: 1;
    font-size: 8.2rem;
  }
}

.coming_figure {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .coming_figure {
    right: 4.4rem;
    bottom: 0;
    width: 15.8rem;
  }
}
@media screen and (max-width: 768px) {
  .coming_figure {
    right: 5rem;
    bottom: 0;
    width: 25.6rem;
  }
}

.trip {
  border: solid #000;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .trip {
    border-width: 0.5rem;
    width: 110rem;
    margin-top: 5.5rem;
  }
}
@media screen and (max-width: 768px) {
  .trip {
    border-width: 0.5rem;
    width: 67rem;
    margin-top: 5.5rem;
  }
}

.trip_head {
  background-color: #e5202e;
  border-bottom: solid #000;
}
@media screen and (min-width: 769px) {
  .trip_head {
    border-bottom-width: 0.5rem;
    padding: 1.2rem 0;
  }
}
@media screen and (max-width: 768px) {
  .trip_head {
    border-bottom-width: 0.5rem;
    padding: 1.2rem 0;
  }
}
.trip_head > * {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .trip_head > * {
    width: 38.2rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_head > * {
    width: 38.2rem;
  }
}

.trip_inr {
  display: flex;
}
@media screen and (max-width: 768px) {
  .trip_inr {
    flex-direction: column;
  }
}

.trip_img {
  flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .trip_img {
    border-right: solid #000;
    border-width: 0.5rem;
    width: 28.4rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_img {
    border-bottom: solid #000;
    border-width: 0.5rem;
    width: 100%;
  }
}

.trip_cont {
  flex-grow: 1;
}
@media screen and (min-width: 769px) {
  .trip_cont {
    padding: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_cont {
    padding: 3.5rem 3rem;
  }
}

.trip_lead {
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .trip_lead {
    line-height: 1.5em;
    font-size: 2.8rem;
  }
  .trip_lead > p {
    line-height: inherit;
    font: inherit;
  }
  .trip_lead > p:first-of-type {
    margin-top: -0.25em;
  }
  .trip_lead > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media screen and (max-width: 768px) {
  .trip_lead {
    line-height: 1.563em;
    font-size: 3.2rem;
  }
  .trip_lead > p {
    line-height: inherit;
    font: inherit;
  }
  .trip_lead > p:first-of-type {
    margin-top: -0.281em;
  }
  .trip_lead > p:last-of-type {
    margin-bottom: -0.281em;
  }
}

.trip_txt {
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .trip_txt {
    margin-top: 1.8rem;
    line-height: 2em;
    font-size: 1.6rem;
  }
  .trip_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .trip_txt > p:first-of-type {
    margin-top: -0.5em;
  }
  .trip_txt > p:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 768px) {
  .trip_txt {
    margin-top: 2rem;
    line-height: 1.731em;
    font-size: 2.6rem;
  }
  .trip_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .trip_txt > p:first-of-type {
    margin-top: -0.365em;
  }
  .trip_txt > p:last-of-type {
    margin-bottom: -0.365em;
  }
}

.trip_btn {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .trip_btn {
    width: 29rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_btn {
    width: 33.2rem;
    margin-top: 4rem;
  }
}
.trip_btn > a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100vmax;
  border: solid #000;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .trip_btn > a {
    gap: 0.8rem;
    padding: 0.7rem 0;
    border-width: 0.4rem;
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_btn > a {
    gap: 1rem;
    padding: 1.2rem 0;
    border-width: 0.5rem;
    line-height: 1;
    font-size: 2.8rem;
  }
}
.trip_btn > a::after {
  content: "";
  display: block;
  background: url(/assets/images/tabisakiannaijo/trop_arrow_bk.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .trip_btn > a::after {
    width: 1.3rem;
    height: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .trip_btn > a::after {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.trip_btn > a:hover {
  background-color: #000;
  color: #fff;
}
.trip_btn > a:hover::after {
  background-image: url(/assets/images/tabisakiannaijo/trop_arrow_w.svg);
}

.info {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .info {
    width: 110rem;
    margin-top: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .info {
    width: 67.8rem;
    margin-top: 7rem;
  }
}
@media screen and (min-width: 769px) {
  .info + .info {
    margin-top: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .info + .info {
    margin-top: 8rem;
  }
}

.info_cont {
  position: relative;
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .info_cont {
    border-width: 0.5rem;
    border-radius: 2rem;
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .info_cont {
    border-width: 0.5rem;
    border-radius: 2rem;
    padding-top: 5.6rem;
  }
}
@media screen and (min-width: 769px) {
  .event .info_cont {
    padding-bottom: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .event .info_cont {
    padding-bottom: 16rem;
  }
}
@media screen and (min-width: 769px) {
  .area .info_cont {
    padding-bottom: 6.5rem;
  }
}
@media screen and (max-width: 768px) {
  .area .info_cont {
    padding-bottom: 6.5rem;
  }
}
.info_cont::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: -53.5% -50%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .info_cont::before {
    translate: -48.7% -50%;
  }
}
@media screen and (min-width: 769px) {
  .event .info_cont::before {
    background-image: url(/assets/images/tabisakiannaijo/event_bg_clip_pc.svg);
    width: 10.4rem;
    height: 91.683991684%;
  }
}
@media screen and (max-width: 768px) {
  .event .info_cont::before {
    background-image: url(/assets/images/tabisakiannaijo/event_bg_clip_sp.svg);
    width: 8rem;
    height: 65.4rem;
  }
}
@media screen and (min-width: 769px) {
  .area .info_cont::before {
    background-image: url(/assets/images/tabisakiannaijo/area_bg_clip_pc.svg);
    width: 10.2rem;
    height: 91.1025145068%;
  }
}
@media screen and (max-width: 768px) {
  .area .info_cont::before {
    top: 10rem;
    translate: -55% 0;
    background-image: url(/assets/images/tabisakiannaijo/area_bg_clip_sp.svg);
    width: 9.8rem;
    height: 184rem;
  }
}
.info_cont::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 1;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .event .info_cont::after {
    background-image: url(/assets/images/tabisakiannaijo/event_bg_pen_pc.svg);
    top: 41rem;
    right: -9.4rem;
    width: 18.5rem;
    height: 40rem;
    scale: -1 1;
  }
}
@media screen and (max-width: 768px) {
  .event .info_cont::after {
    background-image: url(/assets/images/tabisakiannaijo/event_bg_pen_sp.svg);
    bottom: -5rem;
    right: 12.8rem;
    width: 40.3rem;
    height: 17.2rem;
  }
}
@media screen and (min-width: 769px) {
  .area .info_cont::after {
    background-image: url(/assets/images/tabisakiannaijo/area_bg_pen_pc.svg);
    top: 51rem;
    right: -9.4rem;
    width: 18.5rem;
    height: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .area .info_cont::after {
    background-image: url(/assets/images/tabisakiannaijo/area_bg_pen_sp.svg);
    bottom: -9.2rem;
    right: 2.8rem;
    width: 40.3rem;
    height: 17.2rem;
  }
}

.info_head_en {
  position: absolute;
  writing-mode: vertical-rl;
  font-family: "Pattaya";
}
@media screen and (min-width: 769px) {
  .info_head_en {
    top: 3rem;
    right: 1rem;
    line-height: 1;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .info_head_en {
    top: 2.5rem;
    right: 1rem;
    line-height: 1;
    font-size: 2rem;
  }
}

.info_head_jp {
  text-align: center;
  font-weight: 700;
}
.info_head_jp .sholder {
  letter-spacing: 0.2em;
}
@media screen and (min-width: 769px) {
  .info_head_jp .sholder {
    line-height: 1;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .info_head_jp .sholder {
    line-height: 1;
    font-size: 2.2rem;
  }
}
.info_head_jp .txt {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .info_head_jp .txt {
    margin-top: 2.5rem;
    line-height: 1;
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 768px) {
  .info_head_jp .txt {
    margin-top: 1.5rem;
    line-height: 1.25em;
    font-size: 4.8rem;
  }
}

.info_list_wrap {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .info_list_wrap {
    width: 104.5rem;
    height: 78rem;
  }
}
@media screen and (max-width: 768px) {
  .info_list_wrap {
    height: 125rem;
  }
}
.area .info_list_wrap {
  height: auto;
}

@media screen and (min-width: 769px) {
  .info_list_slide {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .info_list_slide {
    height: 100%;
    padding-bottom: 3.5rem;
  }
}

.info_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .info_list {
    -moz-column-gap: 7rem;
         column-gap: 7rem;
    row-gap: 5rem;
    width: 96rem;
    padding: 0 9.25rem;
  }
}
@media screen and (max-width: 768px) {
  .info_list {
    -moz-column-gap: 1.8rem;
         column-gap: 1.8rem;
    row-gap: 3.8rem;
    width: 59rem;
    padding: 0 6.1rem 0 8.1rem;
  }
}
@media screen and (min-width: 769px) {
  .event .info_list {
    margin-top: 8rem;
    padding: 0 5rem;
  }
}
@media screen and (max-width: 768px) {
  .event .info_list {
    margin-top: 5rem;
  }
}
#area .info_list {
  position: relative;
}
@media screen and (min-width: 769px) {
  #area .info_list {
    margin-top: 3.4rem;
    row-gap: 0;
  }
}
@media screen and (max-width: 768px) {
  #area .info_list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (min-width: 769px) {
  #area .info_list:has(> :nth-child(4)) .info_list_item::after {
    content: "";
    position: absolute;
    bottom: 0rem;
    height: 1px;
    background-color: #dedede;
  }
  #area .info_list:has(> :nth-child(4)) .info_list_item:nth-child(1)::after {
    left: 0;
    width: 27.5rem;
  }
  #area .info_list:has(> :nth-child(4)) .info_list_item:nth-child(2)::after {
    left: -3.5rem;
    width: 31rem;
  }
  #area .info_list:has(> :nth-child(4)) .info_list_item:nth-child(3)::after {
    right: 0;
    width: 27.5rem;
  }
}

.info_list_item {
  position: relative;
}
@media screen and (min-width: 769px) {
  #area .info_list_item {
    min-height: 35.3rem;
    padding-top: 1.6rem;
    padding-bottom: 3rem;
  }
  #area .info_list_item:not(:nth-child(3n+1))::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -3.5rem;
    width: 1px;
    height: 34.5rem;
    background-color: #dedede;
  }
  #area .info_list_item:nth-of-type(n + 4) {
    padding-top: 3.3rem;
  }
  #area .info_list_item:nth-of-type(n + 4)::before {
    top: 0rem;
  }
}

.info_link {
  position: relative;
}
.info_link:hover::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .info_link:hover::after {
    width: 116.6666666667%;
  }
}
.event .info_link:hover::after {
  top: 0;
  left: 50%;
  translate: -50% 0;
  background-image: url(/assets/images/tabisakiannaijo/event_check.svg);
}
@media screen and (min-width: 769px) {
  .event .info_link:hover::after {
    top: -13%;
    width: 20.1rem;
    height: 20.3rem;
    margin-top: -3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .event .info_link:hover::after {
    margin-top: -2.5rem;
  }
}
.area .info_link:hover::after {
  background-image: url(/assets/images/tabisakiannaijo/area_check.svg);
}
@media screen and (min-width: 769px) {
  .area .info_link:hover::after {
    top: -3rem;
    left: -3rem;
    width: 29.9rem;
    height: 31.2rem;
    margin-top: 0;
  }
}

.event_link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid #000;
  letter-spacing: 0.15em;
  font-weight: 700;
  background: #0050c8;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .event_link {
    border-width: 0.5rem;
    border-radius: 3rem;
    padding: 4rem 0;
    line-height: 1;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 768px) {
  .event_link {
    border-width: 0.5rem;
    border-radius: 2rem;
    padding: 4rem 0;
    line-height: 1;
    font-size: 2.8rem;
    color: #fff;
    background-color: #0050c8;
  }
}
.event_link:hover {
  color: #000;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .event_link:hover::after {
    width: 79.5833333333%;
  }
}
@media screen and (max-width: 768px) {
  .event_link:hover::after {
    width: 91.6666666667%;
  }
}

.info_tab {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .info_tab {
    display: flex;
    justify-content: center;
    position: absolute;
    top: -5.4rem;
    left: 0;
    right: 0;
    height: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .info_tab {
    display: grid;
    grid-template-columns: repeat(4, auto);
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
    row-gap: 1.4rem;
    width: 51.8rem;
    margin: 4rem auto 0;
    padding: 0 0 0 1rem;
  }
}

@media screen and (min-width: 769px) {
  .info_tab_item {
    width: 11rem;
    margin-left: -0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .info_tab_item {
    width: 12rem;
  }
}
.info_tab_item > button {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid #000;
  border-bottom: none;
  letter-spacing: 0.15em;
  font-weight: 700;
  width: 100%;
  height: 100%;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
}
@media screen and (min-width: 769px) {
  .info_tab_item > button {
    border-width: 0.5rem;
    border-top-right-radius: 2rem;
    border-top-left-radius: 2rem;
    padding: 0.5rem 0 0;
    line-height: 1;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .info_tab_item > button {
    border: solid #000 0.2rem;
    border-radius: 1rem;
    padding: 1.5rem 1rem;
    line-height: 1;
    font-size: 2.6rem;
  }
}
.info_tab_item > button:hover {
  color: #fff;
  cursor: pointer;
}
.area .info_tab_item > button:hover {
  background-color: #e5202e;
}
.info_tab_item > button.is-current {
  color: #fff;
}
.area .info_tab_item > button.is-current {
  background-color: #e5202e;
}

.info_link_img {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .info_link_img {
    border-radius: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .info_link_img {
    border-radius: 1.05rem;
  }
}

/* イベント情報改修版
 * .info ~ .info_link_img
.info {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  @include mq(pc) {
    width: divceil(1100, 10, rem);
    margin-top: divceil(155, 10, rem);
  }
  @include mq(sp) {
    width: divceil(678, 10, rem);
    margin-top: divceil(70, 10, rem);
  }
  + .info {
    @include mq(pc) {
      margin-top: divceil(130, 10, rem);
    }
    @include mq(sp) {
      margin-top: divceil(105, 10, rem);
    }
  }
}
.info_cont {
  position: relative;
  border: solid #000;
  @include mq(pc) {
    border-width: divceil(5, 10, rem);
    border-radius: divceil(20, 10, rem);
    padding-top: divceil(40, 10, rem);
    padding-bottom: divceil(35, 10, rem);
  }
  @include mq(sp) {
    border-width: divceil(5, 10, rem);
    border-radius: divceil(20, 10, rem);
    padding-top: divceil(56, 10, rem);
    padding-bottom: divceil(80, 10, rem);
  }
  &::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    translate: -51.7% -50%;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    z-index: 1;
    pointer-events: none;
    @include mq(sp) {
      top: 0;
      translate: -55% 0;
    }
  }
  .event & {
    &::before {
      @include mq(pc) {
        background-image: url(/assets/images/tabisakiannaijo/event_bg_clip_pc.svg);
        width: divceil(102, 10, rem);
        height: calc(942 /1034 * 100%);
      }
      @include mq(sp) {
        top: divceil(72, 10, rem);
        background-image: url(/assets/images/tabisakiannaijo/event_bg_clip_sp.svg);
        width: divceil(98, 10, rem);
        height: divceil(1840, 10, rem);
      }
    }
  }
  .area & {
    &::before {
      @include mq(pc) {
        background-image: url(/assets/images/tabisakiannaijo/area_bg_clip_pc.svg);
        width: divceil(102, 10, rem);
        height: calc(942 /1034 * 100%);
      }
      @include mq(sp) {
        top: divceil(80, 10, rem);
        background-image: url(/assets/images/tabisakiannaijo/area_bg_clip_sp.svg);
        width: divceil(98, 10, rem);
        height: divceil(1574, 10, rem);
      }
    }
  }
  &::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    z-index: 1;
    pointer-events: none;
  }
  .event & {
    &::after {
      @include mq(pc) {
        background-image: url(/assets/images/tabisakiannaijo/event_bg_pen_pc.svg);
        top: divceil(490, 10, rem);
        right: divceil(-94, 10, rem);
        width: divceil(185, 10, rem);
        height: divceil(400, 10, rem);
      }
      @include mq(sp) {
        background-image: url(/assets/images/tabisakiannaijo/event_bg_pen_sp.svg);
        bottom: divceil(-92, 10, rem);
        right: divceil(28, 10, rem);
        width: divceil(403, 10, rem);
        height: divceil(172, 10, rem);
      }
    }
  }
  .area & {
    &::after {
      @include mq(pc) {
        background-image: url(/assets/images/tabisakiannaijo/area_bg_pen_pc.svg);
        top: divceil(510, 10, rem);
        right: divceil(-94, 10, rem);
        width: divceil(185, 10, rem);
        height: divceil(400, 10, rem);
      }
      @include mq(sp) {
        background-image: url(/assets/images/tabisakiannaijo/area_bg_pen_sp.svg);
        bottom: divceil(-92, 10, rem);
        right: divceil(28, 10, rem);
        width: divceil(403, 10, rem);
        height: divceil(172, 10, rem);
      }
    }
  }
}
.info_head_en {
  position: absolute;
  writing-mode: vertical-rl;
  font-family: $pataya;
  @include mq(pc) {
    top: divceil(30, 10, rem);
    right: divceil(10, 10, rem);
    @include tbmag(20, 20);
  }
  @include mq(sp) {
    top: divceil(25, 10, rem);
    right: divceil(10, 10, rem);
    @include tbmag(20, 20);
  }
}
.info_head_jp {
  text-align: center;
  @include fw("Bold");
  .sholder {
    letter-spacing: calc(200/1000*1em);
    @include mq(pc) {
      @include tbmag(20, 20);
    }
    @include mq(sp) {
      @include tbmag(22, 22);
    }
  }
  .txt {
    letter-spacing: calc(100/1000*1em);
    @include mq(pc) {
      margin-top: divceil(15, 10, rem);
      @include tbmag(54, 54);
    }
    @include mq(sp) {
      margin-top: divceil(15, 10, rem);
      @include tbmag(48, 48);
    }
  }
}
.info_list_wrap {
  position: relative;
  margin: 0 auto;
  @include mq(pc) {
    width: divceil(1045, 10, rem);
    // height: divceil(780, 10, rem);
    // min-height: divceil(750, 10, rem);
  }
  @include mq(sp) {
    width: divceil(547, 10, rem);
    // height: divceil(1250, 10, rem);
  }
}
.info_list_slide {
  height: 100%;
}
.info_list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-left: auto;
  margin-right: auto;
  @include mq(pc) {
    column-gap: divceil(70, 10, rem);
    row-gap: 0;
    width: divceil(960, 10, rem);
    margin-top: divceil(24, 10, rem);
    padding: 0 divceil(92.5, 10, rem);
  }
  @include mq(sp) {
    grid-template-columns: repeat(2, 1fr);
    column-gap: divceil(18, 10, rem);
    row-gap: divceil(40, 10, rem);
    width: divceil(590, 10, rem);
    margin-top: divceil(40, 10, rem);
    padding: 0 divceil(20, 10, rem);
  }
  &::before {
    @include mq(pc) {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      width: divceil(860, 10, rem);
      height: 1px;
      background-color: #dedede;
    }
  }
}
.info_list_item {
  position: relative;
  // #area & {
  @include mq(pc) {
    height: divceil(366, 10, rem);
    padding-top: divceil(16, 10, rem);
    padding-bottom: divceil(30, 10, rem);
    &:nth-of-type(n + 4) {
      padding-top: divceil(33, 10, rem);
    }
    &:not(&:nth-of-type(3n)) {
      &::before {
        content: "";
        position: absolute;
        top: 0;
        right: divceil(-35, 10, rem);
        width: 1px;
        height: 100%;
        background-color: #dedede;
      }
    }
  }
  // }
}
.info_link {
  position: relative;
  &:hover {
    &::after {
      content: "";
      position: absolute;
      // aspect-ratio: 299 / 312;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: contain;
      pointer-events: none;
      @include mq(pc) {
        top: divceil(-30, 10, rem);
        left: divceil(-30, 10, rem);
        width: divceil(299, 10, rem);
        height: divceil(312, 10, rem);
        margin-top: 0;
      }
      @include mq(sp) {
        width: calc(280 / 240 * 100%);

      }
    }
  }
  .event & {
    &:hover {
      &::after {
        background-image: url(/assets/images/tabisakiannaijo/event_check.svg);
      }
    }
  }
  .area & {
    &:hover {
      &::after {
        background-image: url(/assets/images/tabisakiannaijo/area_check.svg);
      }
    }
  }
}
.event_link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid #000;
  letter-spacing: calc(150/1000*1em);
  @include fw("Bold");
  background: $blue;
  color: #fff;
  @include mq(pc) {
    border-width: divceil(5, 10, rem);
    border-radius: divceil(30, 10, rem);
    padding: divceil(40, 10, rem) 0;
    @include tbmag(28, 28);
  }
  @include mq(sp) {
    border-width: divceil(5, 10, rem);
    border-radius: divceil(20, 10, rem);
    padding: divceil(40, 10, rem) 0;
    @include tbmag(28, 28);
    color: #fff;
    background-color: $blue;
  }
  &:hover {
    color: #000;
    background-color: #fff;
    &::after {
      @include mq(pc) {
        width: calc(191 / 240 * 100%);
      }
      @include mq(sp) {
        width: calc(220 / 240 * 100%);
      }
    }
  }
}
.info_tab {
  list-style: none;
  @include mq(pc) {
    display: flex;
    justify-content: center;
    position: absolute;
    top: -5.4rem;
    left: 0;
    right: 0;
    height: divceil(50, 10, rem);
  }
  @include mq(sp) {
    display: grid;
    grid-template-columns: repeat(4, auto);
    column-gap: divceil(12, 10, rem);
    row-gap: divceil(14, 10, rem);
    width: divceil(518, 10, rem);
    margin: divceil(40, 10, rem) auto 0;
  }
  .event & {
    @include mq(sp) {
      grid-template-columns: repeat(3, auto);
      width: divceil(385, 10, rem);
    }
  }
}
.info_tab_item {
  @include mq(pc) {
    width: divceil(110, 10, rem);
    margin-left: divceil(-5, 10, rem);
  }
  @include mq(sp) {
    width: divceil(120, 10, rem);
  }
  > button {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid #000;
    border-bottom: none;
    letter-spacing: calc(150/1000*1em);
    @include fw("Bold");
    width: 100%;
    height: 100%;
    font-family: $zen;
    @include mq(pc) {
      border-width: divceil(5, 10, rem);
      border-top-right-radius: divceil(20, 10, rem);
      border-top-left-radius: divceil(20, 10, rem);
      padding: divceil(5, 10, rem) 0 0;
      @include tbmag(22, 22);
    }
    @include mq(sp) {
      border: solid #000 divceil(2, 10, rem);
      border-radius: divceil(10, 10, rem);
      padding: divceil(15, 10, rem) divceil(10, 10, rem);
      @include tbmag(26, 26);
    }
    &:hover {
      color: #fff;
      cursor: pointer;
      .info & {
        background-color: $blue;
      }
      .area & {
        background-color: $red;
      }
    }
    &.is-current {
      color: #fff;
      .info & {
        background-color: $blue;
      }
      .area & {
        background-color: $red;
      }
    }
  }
}
.info_link_img {
  overflow: hidden;
  @include mq(pc) {
    border-radius: divceil(10, 10, rem);
  }
  @include mq(sp) {
    border-radius: divceil(10.5, 10, rem);
  }
}
*/
.border_gray {
  border: 1px solid #dedede;
}

.info_link_ttl {
  font-weight: 700;
  letter-spacing: -0.02em;
}
@media screen and (min-width: 769px) {
  .info_link_ttl {
    margin-top: 1.5rem;
    line-height: 1.41em;
    font-size: 2.2rem;
  }
  .info_link_ttl > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_ttl > p:first-of-type {
    margin-top: -0.204em;
  }
  .info_link_ttl > p:last-of-type {
    margin-bottom: -0.204em;
  }
}
@media screen and (max-width: 768px) {
  .info_link_ttl {
    margin-top: 1.5rem;
    line-height: 1.308em;
    font-size: 2.6rem;
  }
  .info_link_ttl > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_ttl > p:first-of-type {
    margin-top: -0.153em;
  }
  .info_link_ttl > p:last-of-type {
    margin-bottom: -0.153em;
  }
}
.info_link_ttl > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.info_link_span {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .info_link_span {
    margin-top: 2rem;
    line-height: 1;
    font-size: 1.5rem;
  }
  .info_link_span > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_span > p:first-of-type {
    margin-top: 0em;
  }
  .info_link_span > p:last-of-type {
    margin-bottom: 0em;
  }
}
@media screen and (max-width: 768px) {
  .info_link_span {
    margin-top: 2rem;
    line-height: 1;
    font-size: 2.4rem;
  }
  .info_link_span > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_span > p:first-of-type {
    margin-top: 0em;
  }
  .info_link_span > p:last-of-type {
    margin-bottom: 0em;
  }
}
@media screen and (min-width: 769px) {
  .info_link_span small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .info_link_span small {
    font-size: 2rem;
  }
}

.info_link_txt {
  font-weight: 500;
  letter-spacing: -0.05em;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .info_link_txt {
    margin-top: 1.5rem;
    line-height: 1.563em;
    font-size: 1.6rem;
  }
  .info_link_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_txt > p:first-of-type {
    margin-top: -0.281em;
  }
  .info_link_txt > p:last-of-type {
    margin-bottom: -0.281em;
  }
}
@media screen and (max-width: 768px) {
  .info_link_txt {
    margin-top: 2rem;
    line-height: 1.334em;
    font-size: 2.4rem;
  }
  .info_link_txt > p {
    line-height: inherit;
    font: inherit;
  }
  .info_link_txt > p:first-of-type {
    margin-top: -0.166em;
  }
  .info_link_txt > p:last-of-type {
    margin-bottom: -0.166em;
  }
}
.info_link_txt > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .info_link_txt > p {
    -webkit-line-clamp: 3;
  }
}
@media screen and (max-width: 768px) {
  .info_link_txt > p {
    -webkit-line-clamp: 4;
  }
}

.andmore {
  position: absolute;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  text-indent: -9999px;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .andmore {
    right: 9.5rem;
    background-size: 21.2rem 9.6rem;
    width: 24rem;
    height: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .andmore {
    right: 0rem;
    bottom: 8.5rem;
    background-size: 21.2rem 9.7rem;
    width: 25.8rem;
    height: 34.2rem;
  }
}
.area .andmore {
  background-image: url(/assets/images/tabisakiannaijo/area_andmore.svg);
}
.andmore:hover {
  cursor: pointer;
  background-image: url(/assets/images/tabisakiannaijo/area_andmore_bk.svg);
}
.andmore a {
  display: block;
  width: 100%;
  height: 100%;
}

.info_list_buttons {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .info_list_buttons {
    top: 45%;
    right: 0;
    translate: 0% -50%;
  }
}
@media screen and (max-width: 768px) {
  .info_list_buttons {
    top: 45%;
    right: 0.8rem;
    translate: 0% -50%;
  }
}

.info_list_button {
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border-radius: 100vmax;
  border: none;
}
@media screen and (min-width: 769px) {
  .info_list_button {
    width: 5rem;
    height: 5rem;
    background-size: 1.5rem 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  .info_list_button {
    width: 5rem;
    height: 5rem;
    background-size: 1.5rem 2.3rem;
  }
}
.event .info_list_button {
  background-color: #0050c8;
}
.area .info_list_button {
  background-color: #e5202e;
}
.info_list_button:hover {
  background-color: #000;
}

.info_list_button-next {
  background-image: url(/assets/images/tabisakiannaijo/arrow_w.svg);
}

.info_list_button-prev {
  transform: scale(-1, 1);
  background-image: url(/assets/images/tabisakiannaijo/arrow_w.svg);
}

.swiper-button-disabled {
  display: none;
}

@media screen and (min-width: 769px) {
  .info_btn_more {
    width: 34rem;
    margin: 2rem auto 0;
  }
}
@media screen and (max-width: 768px) {
  .info_btn_more {
    width: 39rem;
    margin: 7rem auto 0;
  }
}
.info_btn_more .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: "Pattaya";
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 769px) {
  .info_btn_more .btn {
    gap: 1rem;
    padding: 2rem;
    font-size: 3.8rem;
    border: solid 0.5rem #000;
  }
}
@media screen and (max-width: 768px) {
  .info_btn_more .btn {
    gap: 1rem;
    padding: 2rem;
    font-size: 4.2rem;
    border: solid 0.5rem #000;
  }
}
.info_btn_more .btn::after {
  content: "";
  display: block;
  background: url(/assets/images/tabisakiannaijo/arrow_external.svg) no-repeat 0 0;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .info_btn_more .btn::after {
    width: 2.7rem;
    height: 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .info_btn_more .btn::after {
    width: 3rem;
    height: 3rem;
  }
}
.info_btn_more .btn:hover {
  background-color: #000;
}
.info .info_btn_more .btn {
  background-color: #0050c8;
}
.info .info_btn_more .btn:hover {
  background-color: #000;
}
.area .info_btn_more .btn {
  background-color: #e5202e;
}
.area .info_btn_more .btn:hover {
  background-color: #000;
}

.top_bnr {
  background: url(/assets/images/tabisakiannaijo/top_bnr_bg.jpg) repeat-x 50% 0;
}
@media screen and (min-width: 769px) {
  .top_bnr {
    background-size: auto 12rem;
  }
}
@media screen and (max-width: 768px) {
  .top_bnr {
    background-size: auto 13rem;
  }
}

.top_bnr_figure {
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .top_bnr_figure {
    width: 53rem;
  }
}
@media screen and (max-width: 768px) {
  .top_bnr_figure {
    width: 57.4rem;
  }
}

.reserve {
  border: solid #000;
}
@media screen and (min-width: 769px) {
  .reserve {
    width: 110rem;
    margin: 7.5rem auto 0;
    border-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .reserve {
    width: 67rem;
    margin: 5.4rem auto 0;
    border-width: 0.5rem;
  }
}

.reserve_head {
  text-align: center;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
  font-weight: 700;
  background-color: #ffe830;
  border-bottom: solid #000;
}
@media screen and (min-width: 769px) {
  .reserve_head {
    padding: 1.5rem;
    border-bottom-width: 0.5rem;
    line-height: 1.734em;
    font-size: 3rem;
  }
  .reserve_head > h2 {
    line-height: inherit;
    font: inherit;
  }
  .reserve_head > h2:first-of-type {
    margin-top: -0.366em;
  }
  .reserve_head > h2:last-of-type {
    margin-bottom: -0.366em;
  }
}
@media screen and (max-width: 768px) {
  .reserve_head {
    padding: 1.5rem;
    border-bottom-width: 0.5rem;
    line-height: 1.143em;
    font-size: 2.8rem;
  }
  .reserve_head > h2 {
    line-height: inherit;
    font: inherit;
  }
  .reserve_head > h2:first-of-type {
    margin-top: -0.071em;
  }
  .reserve_head > h2:last-of-type {
    margin-bottom: -0.071em;
  }
}

.reserve_lead {
  text-align: center;
  font-family: YakuHanJP, "Zen Maru Gothic", serif;
  font-weight: 700;
  border-bottom: solid #000;
}
@media screen and (min-width: 769px) {
  .reserve_lead {
    padding: 1.5rem;
    border-bottom-width: 0.5rem;
    line-height: 1.04em;
    font-size: 5rem;
  }
  .reserve_lead > h2 {
    line-height: inherit;
    font: inherit;
  }
  .reserve_lead > h2:first-of-type {
    margin-top: -0.02em;
  }
  .reserve_lead > h2:last-of-type {
    margin-bottom: -0.02em;
  }
}
@media screen and (max-width: 768px) {
  .reserve_lead {
    padding: 2rem;
    border-bottom-width: 0.5rem;
    line-height: 1.04em;
    font-size: 5rem;
  }
  .reserve_lead > h2 {
    line-height: inherit;
    font: inherit;
  }
  .reserve_lead > h2:first-of-type {
    margin-top: -0.02em;
  }
  .reserve_lead > h2:last-of-type {
    margin-bottom: -0.02em;
  }
}

.reserve_cp_bnr {
  border-bottom: solid #000;
}
@media screen and (min-width: 769px) {
  .reserve_cp_bnr {
    border-bottom-width: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .reserve_cp_bnr {
    border-bottom-width: 0.5rem;
  }
}

.reserve_slide_cont {
  position: relative;
}

@media screen and (min-width: 769px) {
  .reserve_slide_item + .reserve_slide_item {
    border-left: solid #000 0.5rem;
    box-sizing: content-box;
  }
}
.reserve_slide_item a {
  display: block;
}

.reserve_slide_dot {
  position: absolute;
  left: 50% !important;
  translate: -50% 0;
  display: flex;
  justify-content: flex-end;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .reserve_slide_dot {
    bottom: 1rem !important;
    width: 71rem !important;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .reserve_slide_dot {
    bottom: 1.5rem !important;
    width: 100% !important;
    padding-right: 1rem;
  }
}
.reserve_slide_dot .swiper-pagination-bullet {
  background-color: #fff;
  border: solid #000;
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 769px) {
  .reserve_slide_dot .swiper-pagination-bullet {
    width: 1.6rem;
    height: 1.6rem;
    border-width: 0.3rem;
  }
}
@media screen and (max-width: 768px) {
  .reserve_slide_dot .swiper-pagination-bullet {
    width: 2rem;
    height: 2rem;
    border-width: 0.3rem;
  }
}
.reserve_slide_dot .swiper-pagination-bullet-active {
  background-color: #ffe830;
}

.top_bnr a:hover {
  opacity: 0.7;
}/*# sourceMappingURL=top.css.map */