/* -----------------------------------------------
  Variables
--------------------------------------------------*/
:root {
  --color-text: #000;
  --color-bg: #fff;
  --color-base: #0091d7;
  --color-link: #176ca9;
  --color-hover: rgb(36.5, 183.8604651163, 255);
  --color-visited: #176ca9;
  --color-error: #dd0000;
  --swiper-theme-color: #0091d7;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.keyvisual {
  animation: fadeIn 0.6s ease-in 1.5s both;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.keyvisual__wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
}
.keyvisual .kv-cover {
  position: relative;
  flex: 1;
  height: 51.8518518519vw;
  background: black;
  overflow: hidden;
  transition: 0.6s ease-in-out;
}
.keyvisual .kv-cover__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  opacity: 0.8;
  transition: 0.6s ease-in-out;
}
.keyvisual .kv-cover__div {
  text-align: center;
  margin-top: -11.8518518519vw;
  z-index: 1;
}
.keyvisual .kv-cover__div .c-icon {
  fill: #fff;
  width: 2.962962963vw;
  height: 2.962962963vw;
  transform: translateY(-2.2222222222vw);
}
.keyvisual .kv-cover__heading {
  font-size: 1.3333333333vw;
  margin-block: 0 0.7407407407vw;
  transition: 0.6s ease-in-out;
}
.keyvisual .kv-cover__title {
  font-family: "Funnel Display", sans-serif;
  font-size: 3.5555555556vw;
  font-weight: 500;
  line-height: 1.05;
}
.keyvisual .kv-cover__title span {
  display: block;
  transition: 0.6s ease-in-out;
}
.keyvisual .kv-cover__title .sm {
  opacity: 0;
}
.keyvisual .kv-cover__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
}
.keyvisual .kv-cover.is-camp {
  animation: stretch-camp 1.8s ease 1.5s 1 both;
}
@keyframes stretch-camp {
  0% {
    max-width: 50%;
  }
  100% {
    max-width: 100%;
  }
}
.keyvisual .kv-cover.is-commute:hover {
  flex: 0 0 74.0740740741vw;
}
.keyvisual .kv-cover.is-commute:hover + .is-camp {
  flex: 1;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link {
  color: #0d9be5;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .kv-cover__div {
  mix-blend-mode: multiply;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .kv-cover__heading {
  font-size: 2.2222222222vw;
  margin-bottom: 0.3703703704vw;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .kv-cover__title .lg {
  font-size: 7.4074074074vw;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .kv-cover__title .sm {
  font-size: 4.4444444444vw;
  opacity: 1;
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .c-icon {
  fill: #0d9be5;
  transform: translateY(1.8518518519vw);
}
.keyvisual .kv-cover.is-commute:hover .kv-cover__link .kv-cover__bg {
  opacity: 1;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp {
  flex: 0 0 74.0740740741vw;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link {
  color: #0d9be5;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .kv-cover__div {
  mix-blend-mode: multiply;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .kv-cover__heading {
  font-size: 2.2222222222vw;
  margin-bottom: 0.3703703704vw;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .kv-cover__title .lg {
  font-size: 7.4074074074vw;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .kv-cover__title .sm {
  font-size: 4.4444444444vw;
  opacity: 1;
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .c-icon {
  fill: #0d9be5;
  transform: translateY(1.8518518519vw);
}
.keyvisual .kv-cover.is-commute:not(:hover) + .is-camp .kv-cover__link .kv-cover__bg {
  opacity: 1;
}

.top-notice {
  width: min(115rem, 85.1851851852vw);
  margin-inline: auto;
  text-align: center;
  background: rgba(255, 255, 255, 0.25);
  padding: 1em;
  margin-top: calc(min(5rem, 3.7037037037vw) * -1);
  margin-bottom: min(5rem, 3.7037037037vw);
  border-radius: 3px;
}

.content-upper {
  background: url("/themes/main/top/images/new/bg_news.webp") no-repeat top center/cover;
}

.news {
  position: relative;
  background: url("/themes/main/top/images/new/bg_news.webp") no-repeat top center/cover;
  margin-top: calc(2.5925925926vw * -1);
  padding-top: min(16rem, 11.8518518519vw);
  padding-bottom: min(15rem, 11.1111111111vw);
  -webkit-mask-image: url("/themes/main/top/images/new/mask_news.svg");
          mask-image: url("/themes/main/top/images/new/mask_news.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.news__inner {
  width: min(115rem, 85.1851851852vw);
  margin-inline: auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.news .section__div {
  flex: 1;
}
.news .section__div:first-child {
  flex: 0 0 min(23rem, 17.037037037vw);
  max-width: min(23rem, 17.037037037vw);
  display: flex;
  flex-flow: wrap column;
  justify-content: space-between;
}
.news .section__title h2 {
  font-family: "Funnel Display", sans-serif;
  font-size: min(4rem, 2.962962963vw);
  font-weight: 300;
  margin-block: 0;
}
.news .section__link {
  color: var(--color-text);
  font-size: min(1.6rem, 1.1851851852vw);
  text-decoration: none;
  margin-bottom: min(2rem, 1.4814814815vw);
  display: inline-flex;
  align-items: center;
}
.news .section__link .c-icon {
  fill: #8c8f99;
  width: min(2.5rem, 1.8518518519vw);
  height: min(2.5rem, 1.8518518519vw);
  margin-inline: 0 min(0.5rem, 0.3703703704vw);
}
.news .section__link:hover {
  text-decoration: underline;
}
.news .article {
  font-size: min(1.6rem, 1.1851851852vw);
}
.news .article__link {
  color: var(--color-text);
  text-decoration: none;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  column-gap: min(3rem, 2.2222222222vw);
  padding-bottom: min(2rem, 1.4814814815vw);
  border-bottom: 1px solid #5e6270;
}
.news .article__link .c-icon {
  flex-shrink: 0;
  margin-left: auto;
  margin-right: min(1rem, 0.7407407407vw);
  fill: #8c8f99;
  opacity: 0;
}
.news .article__link:hover .c-icon {
  opacity: 1;
}
.news .article:not(:first-child) {
  padding-top: min(2rem, 1.4814814815vw);
}
.news .article__date {
  flex-shrink: 0;
  letter-spacing: min(0.1rem, 0.0740740741vw);
}
.news .article__title {
  font-size: min(1.6rem, 1.1851851852vw);
  line-height: 1.5;
  margin-block: 0;
}

.info {
  position: relative;
  height: min(44.6rem, 33.037037037vw);
}
.info .bg-info {
  position: absolute;
  object-fit: cover;
  object-position: bottom;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-inline: auto;
  -webkit-mask-image: url("/themes/main/top/images/new/mask_info.svg");
          mask-image: url("/themes/main/top/images/new/mask_info.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.info__inner {
  width: min(125rem, 92.5925925926vw);
  margin-inline: auto;
}
.info__wrapper {
  position: relative;
  top: calc(min(5rem, 3.7037037037vw) * -1);
  width: min(85rem, 62.962962963vw);
  margin-left: auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  column-gap: min(5rem, 3.7037037037vw);
  z-index: 1;
}
.info__div {
  flex: 0 0 min(40rem, 29.6296296296vw);
}
.info__title {
  position: absolute;
  inset: 0;
  margin: auto;
  font-size: min(2rem, 1.4814814815vw);
  background: #fff;
  padding-inline: min(3rem, 2.2222222222vw);
  width: 100%;
  height: min(6rem, 4.4444444444vw);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  transition: 0.3s;
}
.info__title .c-en {
  font-size: min(1.3rem, 0.962962963vw);
}
.info__title .c-ja {
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
}
.info__title .c-icon {
  fill: #8c8f99;
  width: min(1.6rem, 1.1851851852vw);
  height: min(1.1rem, 0.8148148148vw);
}
.info__link {
  position: relative;
  display: flex;
  align-items: center;
}
.info__link img {
  filter: drop-shadow(0 0 7px rgba(43, 62, 77, 0.2));
}
.info__link:any-link {
  color: var(--color-text);
}
.info__link:hover .info__title {
  color: #fff;
  background: #757a8a;
}
.info__link:hover .info__title .c-icon {
  fill: #fff;
}

.banners {
  padding-block: min(10rem, 7.4074074074vw);
}
.banners__item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}