<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
.campaign {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .campaign {
    padding-bottom: 80px;
    padding-top: 80px;
    width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .campaign {
    padding-bottom: 40px;
    padding-top: 40px;
    width: 300px;
  }
}

.campaign__heading {
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .campaign__heading {
    text-align: center;
  }
}

.campaign__heading .en {
  color: #666666;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .08em;
}

@media screen and (min-width: 768px) {
  .campaign__heading .en {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .campaign__heading .en {
    font-size: 13px;
  }
}

.campaign__heading .jp {
  color: #333333;
  font-size: 12px;
  letter-spacing: .15em;
  padding-right: 21px;
  position: relative;
}

.campaign__heading .jp:after {
  content: '＞';
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
}

@media screen and (min-width: 768px) {
  .campaign__inner {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .campaign__inner {
    margin: 16px calc(50% - 50vw) 0;
    overflow: scroll;
    width: 100vw;
  }
  .campaign__inner::-webkit-scrollbar {
    display: none;
  }
}

.campaignGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .campaignGroup {
    padding: 0 37.5px;
  }
}

.campaignCard {
  position: relative;
}

@media screen and (min-width: 768px) {
  .campaignCard {
    margin: 0 auto;
    width: 330px;
  }
  .campaignCard:nth-of-type(n + 2) {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .campaignCard {
    width: 275px;
  }
  .campaignCard:last-of-type {
    margin-right: 0;
  }
}

.campaignCard__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (min-width: 768px) {
  .campaignCard__link:hover {
    opacity: .7;
  }
}

.campaignCard__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.campaignCard--mod {
  width: 100%;
}

.campaignCard--mod:first-of-type {
  background: none;
}

.conceptSect {
  color: #91765d;
}

@media screen and (min-width: 768px) {
  .conceptSect {
    margin: 0 auto;
    width: 842px;
  }
}

.conceptSect__intro {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .conceptSect__intro {
    gap: 161px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 69px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__intro {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 40px;
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__intro + .conceptSect__bottom {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__intro + .conceptSect__bottom {
    margin-top: 48px;
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__heading {
    width: 71px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__heading {
    width: 48px;
  }
}

.conceptSect__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .conceptSect__cont {
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__cont {
    gap: 32px;
  }
}

.conceptSect__txt {
  line-height: 1.7;
  letter-spacing: .13em;
}

.conceptSect__txt:before {
  content: '';
  margin-top: calc((1 - 1.7) * .5em);
}

.conceptSect__txt:after {
  margin-bottom: calc((1 - 1.7) * .5em);
}

.conceptSect__txt:before, .conceptSect__txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .conceptSect__txt {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__txt {
    font-size: 11px;
  }
}

.conceptSect__lead {
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .conceptSect__lead {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__lead {
    font-size: 13px;
  }
}

.conceptSect__lead .border {
  background-color: currentColor;
  display: inline-block;
  height: 1px;
  vertical-align: super;
}

@media screen and (min-width: 768px) {
  .conceptSect__lead .border {
    margin: 0 8px;
    width: 30px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__lead .border {
    margin: 0 4px;
    width: 26px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__bottom {
    padding: 0 27.5px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__usp {
    padding: 0 24px;
  }
}

.guidanceArea {
  color: #ffffff;
  position: relative;
  z-index: 1;
}

.guidanceArea__bg {
  background-attachment: fixed;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  inset: 0;
  position: absolute;
}

.guidanceArea__inner {
  inset: 0;
  position: absolute;
}

.guidanceArea__inner &gt; * {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}

.guidanceArea__wrap {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}

.guidanceArea__item {
  height: 300vh;
  opacity: 0;
  pointer-events: none;
  position: relative;
  -webkit-transition: .8s ease;
  transition: .8s ease;
  -webkit-transition-property: opacity,visibility;
  transition-property: opacity,visibility;
  width: 100%;
}

.guidanceArea__item.is-active {
  opacity: 1;
  pointer-events: auto;
}

.guidanceArea__item.is-active.guidanceArea__item:last-child {
  background-attachment: fixed;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.guidanceArea__item.is-end .guidanceArea__wrap {
  bottom: 0;
  position: absolute;
  top: auto;
}

@media screen and (min-width: 768px) {
  .guidanceArea__item--01 .guidanceTtl {
    width: 330px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--01 .guidanceTtl {
    width: 212px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceArea__item--02 .guidanceTtl {
    width: 245px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--02 .guidanceTtl {
    width: 163px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceArea__item--03 .guidanceTtl {
    width: 430px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--03 .guidanceTtl {
    width: 283px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceArea__item--04 .guidanceTtl {
    width: 319px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--04 .guidanceTtl {
    width: 213px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--04 .guidanceCard {
    background-color: rgba(0, 0, 0, 0.6);
  }
}

@media screen and (min-width: 768px) {
  .guidanceArea__item--05 .guidanceTtl {
    width: 237px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--05 .guidanceTtl {
    width: 157px;
  }
}

.guidanceCard {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.guidanceCard__link {
  color: #ffffff;
  display: block;
}

@media screen and (min-width: 768px) {
  .guidanceCard__link {
    max-width: 406px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__link:hover .guidanceCard__dir .arrow {
    -webkit-transform: scaleX(1.02);
            transform: scaleX(1.02);
  }
  .guidanceCard__link:hover .guidanceCard__dir .inner .t {
    -webkit-animation: dirAnimation 1s ease;
            animation: dirAnimation 1s ease;
  }
}

@media (hover: hover) and (pointer: fine) {
  .guidanceCard__link:hover .guidanceCard__dir .arrow {
    -webkit-transform: scaleX(1.02);
            transform: scaleX(1.02);
  }
  .guidanceCard__link:hover .guidanceCard__dir .inner .t {
    -webkit-animation: dirAnimation 1s ease;
            animation: dirAnimation 1s ease;
  }
}

.guidanceCard__lead {
  line-height: 1.5;
  color: #ffffff;
  letter-spacing: .1em;
}

.guidanceCard__lead:before {
  content: '';
  margin-top: calc((1 - 1.5) * .5em);
}

.guidanceCard__lead:after {
  margin-bottom: calc((1 - 1.5) * .5em);
}

.guidanceCard__lead:before, .guidanceCard__lead:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .guidanceCard__lead {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__lead {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__lead + .guidanceCard__heading {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__lead + .guidanceCard__heading {
    margin-top: 24px;
  }
}

.guidanceCard__heading {
  line-height: 1.5;
  color: #beb098;
  font-weight: 300;
  letter-spacing: -.01em;
}

.guidanceCard__heading:before {
  content: '';
  margin-top: calc((1 - 1.5) * .5em);
}

.guidanceCard__heading:after {
  margin-bottom: calc((1 - 1.5) * .5em);
}

.guidanceCard__heading:before, .guidanceCard__heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .guidanceCard__heading {
    font-size: 34px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__heading {
    font-size: 28px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__heading + .guidanceCard__txt {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__heading + .guidanceCard__txt {
    margin-top: 40px;
  }
}

.guidanceCard__heading .strong {
  display: inline-block;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .guidanceCard__heading .strong {
    font-size: 50px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__heading .strong {
    font-size: 42px;
  }
}

.guidanceCard__txt {
  line-height: 2;
  color: #ffffff;
  letter-spacing: .13em;
}

.guidanceCard__txt:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.guidanceCard__txt:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.guidanceCard__txt:before, .guidanceCard__txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .guidanceCard__txt {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__txt {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__txt + .guidanceCard__dir {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__txt + .guidanceCard__dir {
    margin-top: 64px;
  }
}

.guidanceCard__dir {
  position: relative;
}

@media screen and (max-width: 768px) {
  .guidanceCard__dir {
    width: 260px;
  }
}

.guidanceCard__dir .inner {
  color: #ffffff;
  display: inline-block;
  font-family: "Marcellus", "Cormorant Garamond", serif;
  left: 0;
  letter-spacing: .05em;
  line-height: 1;
  overflow: hidden;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .guidanceCard__dir .inner {
    bottom: 8px;
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__dir .inner {
    bottom: 11px;
    font-size: 16px;
  }
}

.guidanceCard__dir .inner .t {
  display: inline-block;
  line-height: .7;
}

.guidanceCard__dir .inner .t--blank {
  padding-right: .5rem;
}

.guidanceCard__dir .arrow {
  display: block;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
}

.guidanceCard.is-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}

.guidanceVisual {
  height: 100vh;
  left: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  -webkit-transition: .8s ease;
  transition: .8s ease;
  -webkit-transition-property: opacity,visibility;
  transition-property: opacity,visibility;
  visibility: hidden;
  width: calc(100vw - var(--scrollbar));
  z-index: 1;
}

.guidanceVisual__bg {
  -webkit-filter: blur(8px) brightness(1.3);
          filter: blur(8px) brightness(1.3);
  height: 100%;
  overflow: hidden;
  -webkit-transition: -webkit-filter 1.4s ease;
  transition: -webkit-filter 1.4s ease;
  transition: filter 1.4s ease;
  transition: filter 1.4s ease, -webkit-filter 1.4s ease;
}

.guidanceVisual__bg .photo__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: -webkit-transform 1.4s ease;
  transition: -webkit-transform 1.4s ease;
  transition: transform 1.4s ease;
  transition: transform 1.4s ease, -webkit-transform 1.4s ease;
}

.guidanceVisual.is-active {
  opacity: 1;
  visibility: visible;
}

.guidanceVisual.is-active .guidanceVisual__bg {
  -webkit-filter: blur(0) brightness(1);
          filter: blur(0) brightness(1);
}

.guidanceVisual.is-active .guidanceVisual__bg .photo__image {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.guidanceVisual.is-end {
  bottom: 0;
  position: absolute;
  top: auto;
}

.infoBox {
  background-color: #ffffff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .infoBox {
    bottom: 0;
    height: 40px;
    max-width: 700px;
    position: absolute;
  }
}

@media screen and (max-width: 768px) {
  .infoBox {
    height: 40px;
    width: 100%;
  }
}

.infoBox__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333333;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-transition: .3s;
  transition: .3s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .infoBox__link {
    padding: 10px 65px;
  }
  .infoBox__link:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 768px) {
  .infoBox__link {
    padding: 5px 20px;
  }
}

.infoBox__link:after {
  color: #ffffff;
  content: '＞';
  font-size: 12px;
  line-height: 1;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.infoBox__icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media screen and (min-width: 768px) {
  .infoBox__icon {
    left: 15px;
  }
}

@media screen and (max-width: 768px) {
  .infoBox__icon {
    font-size: 20px;
    height: 25px;
    left: 20px;
    width: 25px;
  }
}

.infoBox__txt {
  -webkit-box-orient: vertical;
  color: #eeeeee;
  display: -webkit-box;
  letter-spacing: .15em;
  -webkit-line-clamp: 1;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .infoBox__txt {
    font-size: 14px;
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .infoBox__txt {
    font-size: 12px;
    line-height: calc(36 / 24);
    padding-left: 40px;
  }
}

.mainVisual {
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.mainVisual__bg {
  height: 100vh;
}

.mainVisual__slider {
  height: 100%;
  position: relative;
  width: 100%;
}

.mainVisual__scene {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
  width: 100%;
  z-index: 1;
}

.mainVisual__scene.is-active {
  opacity: 1;
  z-index: 2;
}

.mainVisual__scene.is-animating {
  -webkit-transition: none;
  transition: none;
  z-index: 3;
}

.mainVisual__scene .photo,
.mainVisual__scene .photo__pic {
  height: 100%;
  width: 100%;
}

.mainVisual__scene img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform .5s ease-out, -webkit-filter .5s ease-out;
  transition: -webkit-transform .5s ease-out, -webkit-filter .5s ease-out;
  transition: transform .5s ease-out, filter .5s ease-out;
  transition: transform .5s ease-out, filter .5s ease-out, -webkit-transform .5s ease-out, -webkit-filter .5s ease-out;
  width: 100%;
}

.mainVisual__scene:first-child img {
  -webkit-animation: softDreamyReveal 3s cubic-bezier(0.4, 0, 0.2, 1) forwards, mysteriousBreathing 6s cubic-bezier(0.4, 0, 0.6, 1) infinite 2s;
          animation: softDreamyReveal 3s cubic-bezier(0.4, 0, 0.2, 1) forwards, mysteriousBreathing 6s cubic-bezier(0.4, 0, 0.6, 1) infinite 2s;
  position: relative;
  -webkit-transition: -webkit-filter 2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-filter 2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 2s cubic-bezier(0.4, 0, 0.2, 1);
}

.mainVisual__scene:first-child::before {
  -webkit-animation: naturalLightGlow 6s cubic-bezier(0.4, 0.1, 0.6, 0.9) forwards, lightFlicker 12s cubic-bezier(0.3, 0, 0.7, 1) infinite 6s;
          animation: naturalLightGlow 6s cubic-bezier(0.4, 0.1, 0.6, 0.9) forwards, lightFlicker 12s cubic-bezier(0.3, 0, 0.7, 1) infinite 6s;
  background: radial-gradient(ellipse 70% 35% at 38% 28%, rgba(255, 251, 240, 0.18) 0%, rgba(255, 248, 225, 0.06) 45%, rgba(255, 245, 215, 0.02) 70%, transparent 85%), radial-gradient(ellipse 35% 55% at 62% 72%, rgba(255, 253, 245, 0.12) 0%, rgba(255, 250, 230, 0.04) 35%, transparent 65%), radial-gradient(ellipse 45% 25% at 25% 65%, rgba(255, 249, 235, 0.08) 0%, transparent 50%);
  bottom: 0;
  content: '';
  left: 0;
  mix-blend-mode: soft-light;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  will-change: opacity, transform;
  z-index: 3;
}

.mainVisual__scene:first-child:after {
  -webkit-animation: naturalLightSweep 10s cubic-bezier(0.3, 0.2, 0.7, 0.8) forwards;
          animation: naturalLightSweep 10s cubic-bezier(0.3, 0.2, 0.7, 0.8) forwards;
  background: linear-gradient(43deg, transparent 30%, rgba(255, 255, 255, 0.08) 45%, rgba(255, 250, 235, 0.15) 48%, rgba(255, 253, 245, 0.12) 50%, rgba(255, 250, 235, 0.15) 52%, rgba(255, 255, 255, 0.08) 55%, transparent 70%), linear-gradient(47deg, transparent 35%, rgba(255, 252, 240, 0.06) 47%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 252, 240, 0.06) 53%, transparent 65%);
  bottom: -25%;
  content: '';
  left: -25%;
  mix-blend-mode: overlay;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: -25%;
  top: -25%;
  -webkit-transform: rotate(44deg) translateX(-150%);
          transform: rotate(44deg) translateX(-150%);
  will-change: opacity, transform;
  z-index: 4;
}

.mainVisual__scene:first-child.is-active img {
  -webkit-filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
          filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
}

.mainVisual__scene:not(:first-child) img {
  -webkit-filter: brightness(1) contrast(1) saturate(1);
          filter: brightness(1) contrast(1) saturate(1);
  -webkit-transition: -webkit-filter .8s ease-out;
  transition: -webkit-filter .8s ease-out;
  transition: filter .8s ease-out;
  transition: filter .8s ease-out, -webkit-filter .8s ease-out;
}

.mainVisual__scene--end .photo__capIn {
  z-index: 1;
}

.mainVisual__scene--end:after {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(19%, rgba(0, 0, 0, 0.1)), color-stop(48.6%, rgba(0, 0, 0, 0.3)), color-stop(73%, rgba(0, 0, 0, 0.6)), color-stop(90.7%, rgba(0, 0, 0, 0.8)), to(black));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 19%, rgba(0, 0, 0, 0.3) 48.6%, rgba(0, 0, 0, 0.6) 73%, rgba(0, 0, 0, 0.8) 90.7%, black 100%);
  bottom: 0;
  content: '';
  height: 176px;
  left: 0;
  position: absolute;
  width: 100%;
}

.mainVisual__scene .firstTtl,
.mainVisual__scene .firstTxt {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .mainVisual__scene .firstTtl,
  .mainVisual__scene .firstTxt {
    -webkit-filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__scene .firstTtl,
  .mainVisual__scene .firstTxt {
    -webkit-filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__scene .firstTtl {
    width: calc(315 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__scene .firstTtl {
    width: 192px;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__scene .firstTxt {
    width: calc(80 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__scene .firstTxt {
    width: 64px;
  }
}

.mainVisual__scene .mainVisual__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  position: relative;
  width: 100%;
}

.mainVisual__scene .mainVisual__column .photo {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .mainVisual__scene .mainVisual__column .photo {
    width: 25%;
  }
  .mainVisual__scene .mainVisual__column .photo:nth-child(2) .photo__capIn {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__scene .mainVisual__column .photo {
    height: 50%;
    width: 50%;
  }
  .mainVisual__scene .mainVisual__column .photo:nth-child(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .mainVisual__scene .mainVisual__column .photo:nth-child(2) .photo__capIn {
    display: block;
  }
  .mainVisual__scene .mainVisual__column .photo:nth-child(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .mainVisual__scene .mainVisual__column .photo:nth-child(4) .photo__capIn {
    display: none;
  }
}

.mainVisual__scene .mainVisual__column .photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

@-webkit-keyframes lightGlowReveal {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  30% {
    opacity: .2;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  60% {
    opacity: .5;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    opacity: .3;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes lightGlowReveal {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  30% {
    opacity: .2;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  60% {
    opacity: .5;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    opacity: .3;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-webkit-keyframes lightSweep {
  0% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(-140%);
            transform: rotate(45deg) translateX(-140%);
  }
  25% {
    opacity: .2;
    -webkit-transform: rotate(45deg) translateX(-80%);
            transform: rotate(45deg) translateX(-80%);
  }
  50% {
    opacity: .6;
    -webkit-transform: rotate(45deg) translateX(-20%);
            transform: rotate(45deg) translateX(-20%);
  }
  75% {
    opacity: .8;
    -webkit-transform: rotate(45deg) translateX(20%);
            transform: rotate(45deg) translateX(20%);
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(100%);
            transform: rotate(45deg) translateX(100%);
  }
}

@keyframes lightSweep {
  0% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(-140%);
            transform: rotate(45deg) translateX(-140%);
  }
  25% {
    opacity: .2;
    -webkit-transform: rotate(45deg) translateX(-80%);
            transform: rotate(45deg) translateX(-80%);
  }
  50% {
    opacity: .6;
    -webkit-transform: rotate(45deg) translateX(-20%);
            transform: rotate(45deg) translateX(-20%);
  }
  75% {
    opacity: .8;
    -webkit-transform: rotate(45deg) translateX(20%);
            transform: rotate(45deg) translateX(20%);
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(100%);
            transform: rotate(45deg) translateX(100%);
  }
}

@-webkit-keyframes softDreamyReveal {
  0% {
    -webkit-filter: brightness(0.7) contrast(0.6) saturate(0.3) blur(4px) grayscale(0.8);
            filter: brightness(0.7) contrast(0.6) saturate(0.3) blur(4px) grayscale(0.8);
  }
  40% {
    -webkit-filter: brightness(0.85) contrast(0.75) saturate(0.6) blur(3px) grayscale(0.5);
            filter: brightness(0.85) contrast(0.75) saturate(0.6) blur(3px) grayscale(0.5);
  }
  70% {
    -webkit-filter: brightness(1.1) contrast(0.95) saturate(1.1) blur(1px) grayscale(0.1);
            filter: brightness(1.1) contrast(0.95) saturate(1.1) blur(1px) grayscale(0.1);
  }
  100% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0) grayscale(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0) grayscale(0);
  }
}

@keyframes softDreamyReveal {
  0% {
    -webkit-filter: brightness(0.7) contrast(0.6) saturate(0.3) blur(4px) grayscale(0.8);
            filter: brightness(0.7) contrast(0.6) saturate(0.3) blur(4px) grayscale(0.8);
  }
  40% {
    -webkit-filter: brightness(0.85) contrast(0.75) saturate(0.6) blur(3px) grayscale(0.5);
            filter: brightness(0.85) contrast(0.75) saturate(0.6) blur(3px) grayscale(0.5);
  }
  70% {
    -webkit-filter: brightness(1.1) contrast(0.95) saturate(1.1) blur(1px) grayscale(0.1);
            filter: brightness(1.1) contrast(0.95) saturate(1.1) blur(1px) grayscale(0.1);
  }
  100% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0) grayscale(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0) grayscale(0);
  }
}

@-webkit-keyframes gentleColorShift {
  0% {
    -webkit-filter: brightness(0.95) contrast(0.85) saturate(0.8) blur(2px) sepia(0.25) hue-rotate(-5deg);
            filter: brightness(0.95) contrast(0.85) saturate(0.8) blur(2px) sepia(0.25) hue-rotate(-5deg);
  }
  100% {
    -webkit-filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
            filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
  }
}

@keyframes gentleColorShift {
  0% {
    -webkit-filter: brightness(0.95) contrast(0.85) saturate(0.8) blur(2px) sepia(0.25) hue-rotate(-5deg);
            filter: brightness(0.95) contrast(0.85) saturate(0.8) blur(2px) sepia(0.25) hue-rotate(-5deg);
  }
  100% {
    -webkit-filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
            filter: brightness(1.08) contrast(0.92) saturate(1.22) blur(0.3px) sepia(0.08) hue-rotate(3deg);
  }
}

@-webkit-keyframes vignetteReveal {
  0% {
    background: radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.45) 100%);
  }
  100% {
    background: radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.45) 100%);
  }
}

@keyframes vignetteReveal {
  0% {
    background: radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.45) 100%);
  }
  100% {
    background: radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.45) 100%);
  }
}

@-webkit-keyframes lightReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes lightReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes lightReflectionReveal {
  0% {
    -webkit-filter: blur(3px) brightness(0.8);
            filter: blur(3px) brightness(0.8);
    opacity: 0;
  }
  30% {
    -webkit-filter: blur(2px) brightness(1.2);
            filter: blur(2px) brightness(1.2);
    opacity: .3;
  }
  60% {
    -webkit-filter: blur(1px) brightness(1.5);
            filter: blur(1px) brightness(1.5);
    opacity: .8;
  }
  100% {
    -webkit-filter: blur(1px) brightness(1.3);
            filter: blur(1px) brightness(1.3);
    opacity: .6;
  }
}

@keyframes lightReflectionReveal {
  0% {
    -webkit-filter: blur(3px) brightness(0.8);
            filter: blur(3px) brightness(0.8);
    opacity: 0;
  }
  30% {
    -webkit-filter: blur(2px) brightness(1.2);
            filter: blur(2px) brightness(1.2);
    opacity: .3;
  }
  60% {
    -webkit-filter: blur(1px) brightness(1.5);
            filter: blur(1px) brightness(1.5);
    opacity: .8;
  }
  100% {
    -webkit-filter: blur(1px) brightness(1.3);
            filter: blur(1px) brightness(1.3);
    opacity: .6;
  }
}

@-webkit-keyframes lightStreakAnimation {
  0% {
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(-150%);
            transform: rotate(45deg) translateX(-150%);
  }
  20% {
    -webkit-filter: blur(3px);
            filter: blur(3px);
    opacity: .4;
    -webkit-transform: rotate(45deg) translateX(-100%);
            transform: rotate(45deg) translateX(-100%);
  }
  40% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: .8;
    -webkit-transform: rotate(45deg) translateX(-50%);
            transform: rotate(45deg) translateX(-50%);
  }
  60% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 1;
    -webkit-transform: rotate(45deg) translateX(0%);
            transform: rotate(45deg) translateX(0%);
  }
  80% {
    -webkit-filter: blur(3px);
            filter: blur(3px);
    opacity: .6;
    -webkit-transform: rotate(45deg) translateX(50%);
            transform: rotate(45deg) translateX(50%);
  }
  100% {
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(100%);
            transform: rotate(45deg) translateX(100%);
  }
}

@keyframes lightStreakAnimation {
  0% {
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(-150%);
            transform: rotate(45deg) translateX(-150%);
  }
  20% {
    -webkit-filter: blur(3px);
            filter: blur(3px);
    opacity: .4;
    -webkit-transform: rotate(45deg) translateX(-100%);
            transform: rotate(45deg) translateX(-100%);
  }
  40% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: .8;
    -webkit-transform: rotate(45deg) translateX(-50%);
            transform: rotate(45deg) translateX(-50%);
  }
  60% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 1;
    -webkit-transform: rotate(45deg) translateX(0%);
            transform: rotate(45deg) translateX(0%);
  }
  80% {
    -webkit-filter: blur(3px);
            filter: blur(3px);
    opacity: .6;
    -webkit-transform: rotate(45deg) translateX(50%);
            transform: rotate(45deg) translateX(50%);
  }
  100% {
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
    -webkit-transform: rotate(45deg) translateX(100%);
            transform: rotate(45deg) translateX(100%);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .mainVisual__scene:first-child img {
    -webkit-filter: brightness(1.06) contrast(0.94) saturate(1.18) blur(0.6px) sepia(0.12) hue-rotate(3deg);
            filter: brightness(1.06) contrast(0.94) saturate(1.18) blur(0.6px) sepia(0.12) hue-rotate(3deg);
  }
  .mainVisual .mainVisual__scene:first-child img:before {
    -webkit-animation-duration: 15s;
            animation-duration: 15s;
    background: radial-gradient(ellipse at center, transparent 30%, rgba(0, 0, 0, 0.12) 70%, rgba(0, 0, 0, 0.28) 100%);
  }
  .mainVisual .mainVisual__scene:first-child img:after {
    -webkit-animation-duration: 18s;
            animation-duration: 18s;
  }
}

.mainVisual.is-paused .mainVisual__scene:first-child img,
.mainVisual.is-paused .mainVisual__scene:first-child img:before {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.mainVisual__controls {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #beb098;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  -webkit-transition: opacity .5s ease;
  transition: opacity .5s ease;
  z-index: 98;
}

@media screen and (min-width: 768px) {
  .mainVisual__controls {
    bottom: 20px;
    left: 20px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__controls {
    bottom: 16px;
    height: 30px;
    left: 16px;
  }
}

.mainVisual__skip-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: 0;
  border-right: 1px solid rgba(190, 176, 152, 0.3);
  color: #beb098;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Marcellus", "Cormorant Garamond", serif;
  line-height: .7;
  padding: 0;
  white-space: nowrap;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .mainVisual__skip-btn {
    cursor: pointer;
    font-size: 16px;
    gap: 8px;
    height: 24px;
    padding: 8px 16px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__skip-btn {
    font-size: 13px;
    gap: 8px;
    padding: 8px 16px;
  }
}

.mainVisual__skip-btn .mainVisual__icon--skip {
  display: block;
}

@media screen and (min-width: 768px) {
  .mainVisual__skip-btn .mainVisual__icon--skip svg {
    height: 6px;
    width: 12px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__skip-btn .mainVisual__icon--skip svg {
    height: 6px;
    width: 12px;
  }
}

.mainVisual__play-pause-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  color: #ffffff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: none;
  transition: none;
}

@media screen and (min-width: 768px) {
  .mainVisual__play-pause-btn {
    padding: 8px 20px;
    width: 6px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__play-pause-btn {
    padding: 8px 20px;
    width: 6px;
  }
}

.mainVisual__play-pause-btn:hover, .mainVisual__play-pause-btn:focus {
  background: transparent !important;
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  outline: none !important;
}

.mainVisual__play-pause-btn:active {
  background: transparent !important;
  border: none !important;
  outline: none !important;
}

.mainVisual__play-pause-btn .mainVisual__icon--play svg,
.mainVisual__play-pause-btn .mainVisual__icon--pause svg {
  height: auto;
}

@media screen and (min-width: 768px) {
  .mainVisual__play-pause-btn .mainVisual__icon--play svg {
    width: 8px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__play-pause-btn .mainVisual__icon--play svg {
    width: 8px;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__play-pause-btn .mainVisual__icon--pause svg {
    width: 8px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__play-pause-btn .mainVisual__icon--pause svg {
    width: 8px;
  }
}

.mainVisual__play-pause-btn .mainVisual__play-icon {
  display: block;
}

.mainVisual__play-pause-btn .mainVisual__pause-icon {
  display: none;
}

.mainVisual__play-pause-btn[aria-pressed='true'] {
  background: transparent !important;
}

.mainVisual__play-pause-btn[aria-pressed='true'] .mainVisual__play-icon {
  display: none;
}

.mainVisual__play-pause-btn[aria-pressed='true'] .mainVisual__pause-icon {
  display: block;
}

.mainVisual__play-pause-btn[aria-pressed='true']:hover, .mainVisual__play-pause-btn[aria-pressed='true']:focus {
  background: transparent !important;
  border: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  outline: none !important;
}

.mainVisual__play-pause-btn[aria-pressed='true']:active {
  background: transparent !important;
  border: none !important;
  outline: none !important;
}

.mainVisual__ttl {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 50;
}

@media screen and (min-width: 768px) {
  .mainVisual__ttl {
    width: calc(315 / 1440 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__ttl {
    width: 193px;
  }
}

.mainVisual__lead {
  position: absolute;
  z-index: 50;
}

@media screen and (min-width: 768px) {
  .mainVisual__lead {
    right: calc(166 / 1440 * 100%);
    top: calc(124 / 800 * 100%);
    width: calc(18 / 1440 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__lead {
    right: 42px;
    top: 139px;
    width: 18px;
  }
}

.mainVisual__desc {
  inset: 0;
  position: absolute;
  z-index: 50;
}

.mainVisual.is-paused .mainVisual__scene {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.mainVisual.is-skipped .mainVisual__scene {
  -webkit-animation: none !important;
          animation: none !important;
  opacity: 1;
}

.mainVisual .mainTtl {
  display: block;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), filter 1s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), filter 1s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .mainVisual .mainTtl {
    -webkit-filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
    width: calc(315 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .mainTtl {
    -webkit-filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
    width: 192px;
  }
}

.mainVisual .subCopy01,
.mainVisual .subCopy02 {
  opacity: 0;
  position: absolute;
  z-index: 15;
}

@media screen and (min-width: 768px) {
  .mainVisual .subCopy01,
  .mainVisual .subCopy02 {
    -webkit-filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
    right: calc(100 / 1440 * 100vw);
    top: calc(123 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .subCopy01,
  .mainVisual .subCopy02 {
    -webkit-filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5));
    right: 42px;
    top: 100px;
  }
}

.mainVisual .subCopy01.is-visible,
.mainVisual .subCopy02.is-visible {
  opacity: 1;
}

.mainVisual .subCopy01 {
  height: auto;
}

@media screen and (min-width: 768px) {
  .mainVisual .subCopy01 {
    width: calc(60 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .subCopy01 {
    width: 50px;
  }
}

.mainVisual .subCopy02 {
  height: auto;
}

@media screen and (min-width: 768px) {
  .mainVisual .subCopy02 {
    width: calc(22 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .subCopy02 {
    width: 18px;
  }
}

.mainVisual.is-ended .mainVisual__controls {
  opacity: 0;
  pointer-events: none;
}

.endSummary {
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 20;
}

@media screen and (min-width: 768px) {
  .endSummary {
    bottom: 56px;
    width: calc(814 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .endSummary {
    bottom: 40px;
    max-width: 95vw;
    width: 90vw;
  }
}

.endSummary svg {
  height: auto;
  width: 100%;
}

@-webkit-keyframes mysteriousBreathing {
  0% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0);
  }
  25% {
    -webkit-filter: brightness(1.4) contrast(1.03) saturate(1.08) blur(0.4px);
            filter: brightness(1.4) contrast(1.03) saturate(1.08) blur(0.4px);
  }
  50% {
    -webkit-filter: brightness(1.7) contrast(1.06) saturate(1.15) blur(0.6px);
            filter: brightness(1.7) contrast(1.06) saturate(1.15) blur(0.6px);
  }
  75% {
    -webkit-filter: brightness(1.4) contrast(1.04) saturate(1.1) blur(0.3px);
            filter: brightness(1.4) contrast(1.04) saturate(1.1) blur(0.3px);
  }
  100% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0);
  }
}

@keyframes mysteriousBreathing {
  0% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0);
  }
  25% {
    -webkit-filter: brightness(1.4) contrast(1.03) saturate(1.08) blur(0.4px);
            filter: brightness(1.4) contrast(1.03) saturate(1.08) blur(0.4px);
  }
  50% {
    -webkit-filter: brightness(1.7) contrast(1.06) saturate(1.15) blur(0.6px);
            filter: brightness(1.7) contrast(1.06) saturate(1.15) blur(0.6px);
  }
  75% {
    -webkit-filter: brightness(1.4) contrast(1.04) saturate(1.1) blur(0.3px);
            filter: brightness(1.4) contrast(1.04) saturate(1.1) blur(0.3px);
  }
  100% {
    -webkit-filter: brightness(1) contrast(1) saturate(1) blur(0);
            filter: brightness(1) contrast(1) saturate(1) blur(0);
  }
}

@-webkit-keyframes naturalLightGlow {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.08) rotate(0.2deg);
            transform: scale(1.08) rotate(0.2deg);
  }
  20% {
    opacity: .15;
    -webkit-transform: scale(1.05) rotate(-0.1deg);
            transform: scale(1.05) rotate(-0.1deg);
  }
  45% {
    opacity: .35;
    -webkit-transform: scale(1.02) rotate(0.3deg);
            transform: scale(1.02) rotate(0.3deg);
  }
  70% {
    opacity: .45;
    -webkit-transform: scale(1.01) rotate(-0.2deg);
            transform: scale(1.01) rotate(-0.2deg);
  }
  100% {
    opacity: .25;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@keyframes naturalLightGlow {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.08) rotate(0.2deg);
            transform: scale(1.08) rotate(0.2deg);
  }
  20% {
    opacity: .15;
    -webkit-transform: scale(1.05) rotate(-0.1deg);
            transform: scale(1.05) rotate(-0.1deg);
  }
  45% {
    opacity: .35;
    -webkit-transform: scale(1.02) rotate(0.3deg);
            transform: scale(1.02) rotate(0.3deg);
  }
  70% {
    opacity: .45;
    -webkit-transform: scale(1.01) rotate(-0.2deg);
            transform: scale(1.01) rotate(-0.2deg);
  }
  100% {
    opacity: .25;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@-webkit-keyframes naturalLightSweep {
  0% {
    opacity: 0;
    -webkit-transform: rotate(44deg) translateX(-160%) scale(0.95);
            transform: rotate(44deg) translateX(-160%) scale(0.95);
  }
  20% {
    opacity: .08;
    -webkit-transform: rotate(43.5deg) translateX(-120%) scale(0.98);
            transform: rotate(43.5deg) translateX(-120%) scale(0.98);
  }
  40% {
    opacity: .25;
    -webkit-transform: rotate(44.2deg) translateX(-70%) scale(1.02);
            transform: rotate(44.2deg) translateX(-70%) scale(1.02);
  }
  60% {
    opacity: .45;
    -webkit-transform: rotate(43.8deg) translateX(-20%) scale(1);
            transform: rotate(43.8deg) translateX(-20%) scale(1);
  }
  75% {
    opacity: .5;
    -webkit-transform: rotate(44.1deg) translateX(20%) scale(0.99);
            transform: rotate(44.1deg) translateX(20%) scale(0.99);
  }
  85% {
    opacity: .35;
    -webkit-transform: rotate(43.9deg) translateX(50%) scale(0.98);
            transform: rotate(43.9deg) translateX(50%) scale(0.98);
  }
  95% {
    opacity: .15;
    -webkit-transform: rotate(44deg) translateX(80%) scale(0.97);
            transform: rotate(44deg) translateX(80%) scale(0.97);
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(44deg) translateX(120%) scale(0.95);
            transform: rotate(44deg) translateX(120%) scale(0.95);
  }
}

@keyframes naturalLightSweep {
  0% {
    opacity: 0;
    -webkit-transform: rotate(44deg) translateX(-160%) scale(0.95);
            transform: rotate(44deg) translateX(-160%) scale(0.95);
  }
  20% {
    opacity: .08;
    -webkit-transform: rotate(43.5deg) translateX(-120%) scale(0.98);
            transform: rotate(43.5deg) translateX(-120%) scale(0.98);
  }
  40% {
    opacity: .25;
    -webkit-transform: rotate(44.2deg) translateX(-70%) scale(1.02);
            transform: rotate(44.2deg) translateX(-70%) scale(1.02);
  }
  60% {
    opacity: .45;
    -webkit-transform: rotate(43.8deg) translateX(-20%) scale(1);
            transform: rotate(43.8deg) translateX(-20%) scale(1);
  }
  75% {
    opacity: .5;
    -webkit-transform: rotate(44.1deg) translateX(20%) scale(0.99);
            transform: rotate(44.1deg) translateX(20%) scale(0.99);
  }
  85% {
    opacity: .35;
    -webkit-transform: rotate(43.9deg) translateX(50%) scale(0.98);
            transform: rotate(43.9deg) translateX(50%) scale(0.98);
  }
  95% {
    opacity: .15;
    -webkit-transform: rotate(44deg) translateX(80%) scale(0.97);
            transform: rotate(44deg) translateX(80%) scale(0.97);
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(44deg) translateX(120%) scale(0.95);
            transform: rotate(44deg) translateX(120%) scale(0.95);
  }
}

@-webkit-keyframes lightFlicker {
  0% {
    opacity: .15;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  20% {
    opacity: .22;
    -webkit-transform: scale(1.005) rotate(0.05deg);
            transform: scale(1.005) rotate(0.05deg);
  }
  40% {
    opacity: .18;
    -webkit-transform: scale(0.998) rotate(-0.05deg);
            transform: scale(0.998) rotate(-0.05deg);
  }
  60% {
    opacity: .25;
    -webkit-transform: scale(1.008) rotate(0.08deg);
            transform: scale(1.008) rotate(0.08deg);
  }
  80% {
    opacity: .2;
    -webkit-transform: scale(1.002) rotate(-0.03deg);
            transform: scale(1.002) rotate(-0.03deg);
  }
  100% {
    opacity: .15;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@keyframes lightFlicker {
  0% {
    opacity: .15;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  20% {
    opacity: .22;
    -webkit-transform: scale(1.005) rotate(0.05deg);
            transform: scale(1.005) rotate(0.05deg);
  }
  40% {
    opacity: .18;
    -webkit-transform: scale(0.998) rotate(-0.05deg);
            transform: scale(0.998) rotate(-0.05deg);
  }
  60% {
    opacity: .25;
    -webkit-transform: scale(1.008) rotate(0.08deg);
            transform: scale(1.008) rotate(0.08deg);
  }
  80% {
    opacity: .2;
    -webkit-transform: scale(1.002) rotate(-0.03deg);
            transform: scale(1.002) rotate(-0.03deg);
  }
  100% {
    opacity: .15;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

.news {
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .news {
    margin-top: 120px;
    width: 840px;
  }
}

@media screen and (max-width: 768px) {
  .news {
    padding-bottom: 40px;
    padding-top: 40px;
    width: 300px;
  }
}

.news__heading {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .news__heading {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

.news__heading .en {
  color: #666666;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .08em;
}

@media screen and (min-width: 768px) {
  .news__heading .en {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .news__heading .en {
    font-size: 13px;
  }
}

.news__heading .jp {
  color: #333333;
  letter-spacing: .15em;
  position: relative;
}

@media screen and (min-width: 768px) {
  .news__heading .jp {
    bottom: 100%;
    display: none;
    font-size: 14px;
    padding-bottom: 10px;
    padding-right: 20px;
    position: absolute;
    right: -2px;
  }
}

@media screen and (max-width: 768px) {
  .news__heading .jp {
    font-size: 12px;
    padding-right: 21px;
  }
}

.news__heading .jp:after {
  content: '＞';
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
}

@media screen and (min-width: 768px) {
  .news__inner {
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  .news__inner {
    margin: 16px calc(50% - 50vw) 0;
    overflow: scroll;
    width: 100vw;
  }
  .news__inner::-webkit-scrollbar {
    display: none;
  }
}

.news--mod {
  pointer-events: none;
}

.news--mod .news__heading .jp {
  display: none;
}

.newsGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .newsGroup {
    margin: 0 0 0 auto;
    width: 700px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup {
    padding: 0 37.5px;
  }
}

.newsGroup .noticeCard {
  position: relative;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard {
    -webkit-transition: .3s;
    transition: .3s;
    width: 100%;
  }
  .newsGroup .noticeCard:nth-of-type(n + 4) {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard {
    width: 143px;
  }
}

.newsGroup .noticeCard:before {
  background-color: #cccccc;
  content: '';
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard:before {
    height: 1px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard:before {
    height: 1px;
  }
}

.newsGroup .noticeCard:last-of-type {
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard:has(.noticeCard__body) .noticeCard__link.is-active, .newsGroup .noticeCard:has(.noticeCard__body) .noticeCard__link:hover {
    background-color: #eeeeee;
  }
}

.newsGroup .noticeCard__link {
  display: block;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__link {
    padding: 20px 0;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__link {
    padding: 16px 0 20px;
  }
}

.newsGroup .noticeCard__link .statusIcon {
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon {
    height: 20px;
    width: 20px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon {
    display: none;
  }
}

.newsGroup .noticeCard__link .statusIcon:before, .newsGroup .noticeCard__link .statusIcon:after {
  background-color: #333333;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
}

.newsGroup .noticeCard__link .statusIcon:before {
  -webkit-transform: translate(-50%, -50%) scale(1, 1);
          transform: translate(-50%, -50%) scale(1, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon:before {
    height: 100%;
    width: 1px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon:before {
    height: 15px;
    width: 1px;
  }
}

.newsGroup .noticeCard__link .statusIcon:after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon:after {
    height: 1px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__link .statusIcon:after {
    height: 1px;
    width: 15px;
  }
}

.newsGroup .noticeCard__link.is-active .statusIcon:before {
  -webkit-transform: translate(-50%, -50%) scale(1, 0);
          transform: translate(-50%, -50%) scale(1, 0);
}

.newsGroup .noticeCard__body {
  max-height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
}

.newsGroup .noticeCard__body.is-open {
  max-height: 1000px;
  -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
          transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__inner {
    padding: 20px 100px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__inner {
    padding: 16px 10px 26px;
  }
}

.newsGroup .noticeCard__inner .txt {
  color: #666666;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__inner .txt {
    font-size: 14px;
    width: 571px;
    line-height: 1.71429;
  }
  .newsGroup .noticeCard__inner .txt:before {
    content: '';
    margin-top: calc((1 - 1.71429) * .5em);
  }
  .newsGroup .noticeCard__inner .txt:after {
    margin-bottom: calc((1 - 1.71429) * .5em);
  }
  .newsGroup .noticeCard__inner .txt:before, .newsGroup .noticeCard__inner .txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__inner .txt {
    font-size: 11px;
    line-height: 1.90909;
  }
  .newsGroup .noticeCard__inner .txt:before {
    content: '';
    margin-top: calc((1 - 1.90909) * .5em);
  }
  .newsGroup .noticeCard__inner .txt:after {
    margin-bottom: calc((1 - 1.90909) * .5em);
  }
  .newsGroup .noticeCard__inner .txt:before, .newsGroup .noticeCard__inner .txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard__inner .txt + .btn-view {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard__inner .txt + .btn-view {
    margin-top: 25px;
  }
}

.newsGroup .noticeCard .btn-view {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #666666;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard .btn-view {
    font-size: 14px;
    height: 30px;
    width: 221px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard .btn-view {
    font-size: 15px;
    height: 30px;
    width: 100%;
  }
}

.newsGroup .noticeCard .btn-view:after {
  content: '＞';
  font-family: "Noto Serif JP", serif;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.newsGroup .noticeCard--mod {
  width: 100%;
}

.newsGroup .noticeCard--mod:first-of-type {
  background: none;
}

.newsGroup .noticeCard--mod .newsCard__link {
  pointer-events: none;
}

.newsGroup .noticeCard--mod .newsDetail {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.newsGroup .noticeCard--mod .newsDetail__desc {
  -webkit-line-clamp: unset;
  margin-top: 0;
  overflow: visible;
}

@media screen and (min-width: 768px) {
  .newsGroup .noticeCard--mod .newsDetail__desc {
    width: 531px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .noticeCard--mod .newsDetail__desc {
    width: 220.5px;
  }
}

.newsGroup .newsDetail {
  text-align: left;
}

.newsGroup .newsDetail__term {
  color: #666666;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .08em;
  line-height: .9;
}

@media screen and (min-width: 768px) {
  .newsGroup .newsDetail__term {
    font-size: 12px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .newsDetail__term {
    font-size: 13px;
  }
}

.newsGroup .newsDetail__desc {
  -webkit-box-orient: vertical;
  color: #333333;
  display: -webkit-box;
  letter-spacing: .15em;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .newsGroup .newsDetail__desc {
    font-size: 14px;
    -webkit-line-clamp: 1;
    margin-left: 100px;
    width: 540px;
  }
}

@media screen and (max-width: 768px) {
  .newsGroup .newsDetail__desc {
    font-size: 12px;
    -webkit-line-clamp: 2;
    margin-top: 10px;
    line-height: 1.5;
  }
  .newsGroup .newsDetail__desc:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .newsGroup .newsDetail__desc:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .newsGroup .newsDetail__desc:before, .newsGroup .newsDetail__desc:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.infoMenu {
  background-color: #ffffff;
  height: 100vh;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  z-index: 9999;
}

@media screen and (min-width: 768px) {
  .infoMenu {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu {
    width: 350px;
  }
}

.infoMenu__back {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  z-index: 99;
}

@media screen and (min-width: 768px) {
  .infoMenu__back {
    height: 50px;
    left: 0;
    top: 40px;
    width: 50px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__back {
    height: 40px;
    left: 27.5px;
    top: 25px;
    width: 40px;
  }
}

.infoMenu__back:before {
  content: '＜';
  line-height: 1;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
}

@media screen and (min-width: 768px) {
  .infoMenu__back:before {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__back:before {
    font-size: 20px;
  }
}

.infoMenu__inner {
  height: 100%;
  overflow: scroll;
}

.infoMenu__inner::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .infoMenu__inner {
    margin: 0 auto;
    padding-bottom: 120px;
    padding-top: 120px;
    position: relative;
    width: 800px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__inner {
    padding: 112.5px 27.5px;
  }
}

.infoMenu__heading {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .infoMenu__heading {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__heading {
    margin-bottom: 60px;
  }
}

.infoMenu__heading .en {
  color: #666666;
  display: block;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .08em;
  line-height: .75;
}

@media screen and (min-width: 768px) {
  .infoMenu__heading .en {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__heading .en {
    font-size: 13px;
  }
}

.infoMenu__heading .jp {
  color: #333333;
  display: block;
  letter-spacing: .15em;
  line-height: 1;
  position: relative;
}

@media screen and (min-width: 768px) {
  .infoMenu__heading .jp {
    font-size: 18px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .infoMenu__heading .jp {
    font-size: 17px;
    margin-top: 15px;
  }
}

.infoMenu {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: .6s;
  transition: .6s;
}

@media screen and (min-width: 768px) {
  .infoMenu {
    opacity: 0;
  }
}

.infoMenu.is-visible {
  -webkit-box-shadow: 0 0 40px 0 rgba(8, 1, 3, 0.4);
          box-shadow: 0 0 40px 0 rgba(8, 1, 3, 0.4);
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media screen and (min-width: 768px) {
  .infoMenu.is-visible {
    opacity: 1;
  }
}

.infoGroup .noticeCard__link {
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
}

.infoGroup .noticeCard__link.is-active {
  background-color: #f6f6f6;
}

.infoGroup .noticeCard__link.is-active .statusIcon:before {
  -webkit-transform: translate(-50%, -50%) scale(1, 0);
          transform: translate(-50%, -50%) scale(1, 0);
}

.infoGroup .noticeCard .newsDetail {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .newsDetail {
    padding: 10px;
  }
  .infoGroup .noticeCard .newsDetail:hover {
    background-color: #f6f6f6;
    -webkit-transition: .3s;
    transition: .3s;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .newsDetail {
    padding: 12.5px 10px 12.5px 20px;
    -webkit-transition: 1.8s;
    transition: 1.8s;
  }
}

.infoGroup .noticeCard .newsDetail:before {
  background-color: #cccccc;
  content: '';
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .newsDetail:before {
    height: 1px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .newsDetail:before {
    height: 1px;
  }
}

.infoGroup .noticeCard .newsDetail__term {
  font-family: "Cormorant Infant", serif;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .newsDetail__term {
    font-size: 12px;
    left: 0;
    letter-spacing: .12em;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .newsDetail__term {
    display: none;
  }
}

.infoGroup .noticeCard .newsDetail__desc {
  letter-spacing: .12em;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .newsDetail__desc {
    font-size: 14px;
    padding-left: 90px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .newsDetail__desc {
    font-size: 12px;
    width: 200px;
    line-height: 1.5;
  }
  .infoGroup .noticeCard .newsDetail__desc:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .infoGroup .noticeCard .newsDetail__desc:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .infoGroup .noticeCard .newsDetail__desc:before, .infoGroup .noticeCard .newsDetail__desc:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.infoGroup .noticeCard .statusIcon {
  border: 1px solid #cccccc;
  border-radius: 50%;
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-180deg);
          transform: translate(0, -50%) rotate(-180deg);
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .statusIcon {
    height: 50px;
    width: 50px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .statusIcon {
    height: 40px;
    width: 40px;
  }
}

.infoGroup .noticeCard .statusIcon:before, .infoGroup .noticeCard .statusIcon:after {
  background-color: #333333;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
}

.infoGroup .noticeCard .statusIcon:before {
  -webkit-transform: translate(-50%, -50%) scale(1, 1);
          transform: translate(-50%, -50%) scale(1, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .statusIcon:before {
    height: 20px;
    width: 1px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .statusIcon:before {
    height: 15px;
    width: 1px;
  }
}

.infoGroup .noticeCard .statusIcon:after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .statusIcon:after {
    height: 1px;
    width: 20px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .statusIcon:after {
    height: 1px;
    width: 15px;
  }
}

.infoGroup .noticeCard__body {
  max-height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition-duration: .8s;
          transition-duration: .8s;
}

.infoGroup .noticeCard__body.is-open {
  max-height: 1000px;
  -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
          transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard__inner {
    padding: 20px 100px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard__inner {
    padding: 16px 10px 26px;
  }
}

.infoGroup .noticeCard__inner .txt {
  color: #666666;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard__inner .txt {
    font-size: 14px;
    width: 571px;
    line-height: 1.71429;
  }
  .infoGroup .noticeCard__inner .txt:before {
    content: '';
    margin-top: calc((1 - 1.71429) * .5em);
  }
  .infoGroup .noticeCard__inner .txt:after {
    margin-bottom: calc((1 - 1.71429) * .5em);
  }
  .infoGroup .noticeCard__inner .txt:before, .infoGroup .noticeCard__inner .txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard__inner .txt {
    font-size: 11px;
    line-height: 1.90909;
  }
  .infoGroup .noticeCard__inner .txt:before {
    content: '';
    margin-top: calc((1 - 1.90909) * .5em);
  }
  .infoGroup .noticeCard__inner .txt:after {
    margin-bottom: calc((1 - 1.90909) * .5em);
  }
  .infoGroup .noticeCard__inner .txt:before, .infoGroup .noticeCard__inner .txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard__inner .txt + .btn-view {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard__inner .txt + .btn-view {
    margin-top: 25px;
  }
}

.infoGroup .noticeCard .btn-view {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #666666;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .infoGroup .noticeCard .btn-view {
    font-size: 14px;
    height: 30px;
    width: 221px;
  }
}

@media screen and (max-width: 768px) {
  .infoGroup .noticeCard .btn-view {
    font-size: 15px;
    height: 30px;
    width: 100%;
  }
}

.infoGroup .noticeCard .btn-view:after {
  content: '＞';
  font-family: "Noto Serif JP", serif;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.noticeModal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transition: .9s;
  transition: .9s;
  visibility: hidden;
  width: 100vw;
  z-index: 9999;
  -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
          transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
}

.noticeModal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.noticeModal .modalContent {
  height: 100%;
  max-height: 80vh;
  position: relative;
}

.noticeModal .modalContent__inner {
  height: 100%;
  overflow: scroll;
  position: relative;
  z-index: 9;
}

.noticeModal .modalContent__inner::-webkit-scrollbar {
  display: none;
}

.noticeModal .modalContent__close {
  cursor: pointer;
  position: absolute;
  right: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .noticeModal .modalContent__close {
    bottom: calc(100% + 20px);
    height: 30px;
    width: 50px;
  }
}

@media screen and (max-width: 768px) {
  .noticeModal .modalContent__close {
    bottom: calc(100% + 10px);
    height: 15px;
    width: 25px;
  }
}

.noticeModal .modalContent__close:before, .noticeModal .modalContent__close:after {
  background-color: #ffffff;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 110%;
}

@media screen and (max-width: 768px) {
  .noticeModal .modalContent__close:before, .noticeModal .modalContent__close:after {
    height: 1px;
  }
}

.noticeModal .modalContent__close:before {
  top: 0;
  -webkit-transform: rotate(30.6deg);
          transform: rotate(30.6deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}

.noticeModal .modalContent__close:after {
  bottom: 0;
  -webkit-transform: rotate(-30.6deg);
          transform: rotate(-30.6deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

.noticeModal.is-visible {
  opacity: 1;
  visibility: visible;
}

.registration {
  background-color: #ffffff;
}

@media screen and (min-width: 768px) {
  .registration {
    padding: 60px 100px;
    width: 800px;
  }
}

@media screen and (max-width: 768px) {
  .registration {
    padding: 30px;
    width: 335px;
  }
}

.registration__title {
  color: #333333;
  font-weight: 700;
  letter-spacing: .15em;
}

@media screen and (min-width: 768px) {
  .registration__title {
    font-size: 32px;
    margin-bottom: 50px;
    line-height: 1.25;
  }
  .registration__title:before {
    content: '';
    margin-top: calc((1 - 1.25) * .5em);
  }
  .registration__title:after {
    margin-bottom: calc((1 - 1.25) * .5em);
  }
  .registration__title:before, .registration__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .registration__title {
    font-size: 15px;
    margin-bottom: 25px;
    line-height: 1.66667;
  }
  .registration__title:before {
    content: '';
    margin-top: calc((1 - 1.66667) * .5em);
  }
  .registration__title:after {
    margin-bottom: calc((1 - 1.66667) * .5em);
  }
  .registration__title:before, .registration__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.registration__txt {
  color: #666666;
  letter-spacing: .15em;
}

@media screen and (min-width: 768px) {
  .registration__txt {
    font-size: 14px;
    line-height: calc(24 / 14);
  }
}

@media screen and (max-width: 768px) {
  .registration__txt {
    font-size: 11px;
    line-height: calc(42 / 22);
  }
}

.registrationDetail {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #666666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  letter-spacing: .15em;
}

@media screen and (min-width: 768px) {
  .registrationDetail {
    font-size: 14px;
    line-height: calc(24 / 14);
  }
}

@media screen and (max-width: 768px) {
  .registrationDetail {
    font-size: 11px;
    line-height: calc(42 / 22);
  }
}

@media screen and (min-width: 768px) {
  .registrationDetail + .registration__txt {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .registrationDetail + .registration__txt {
    margin-top: 20px;
  }
}

.registrationList {
  color: #666666;
  letter-spacing: .15em;
}

@media screen and (min-width: 768px) {
  .registrationList {
    font-size: 14px;
    line-height: calc(32 / 14);
  }
}

@media screen and (max-width: 768px) {
  .registrationList {
    font-size: 11px;
    line-height: calc(42 / 22);
  }
}

.registrationList--necessary {
  counter-reset: num;
}

.registrationList--necessary .registrationList__item {
  counter-increment: num;
  position: relative;
}

@media screen and (min-width: 768px) {
  .registrationList--necessary .registrationList__item {
    padding-left: 30px;
  }
}

@media screen and (max-width: 768px) {
  .registrationList--necessary .registrationList__item {
    padding-left: 17.5px;
  }
}

.registrationList--necessary .registrationList__item:before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #666666;
  border-radius: 50%;
  content: counter(num);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: 0;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .registrationList--necessary .registrationList__item:before {
    font-size: 12px;
    height: 20px;
    top: 4px;
    width: 20px;
  }
}

@media screen and (max-width: 768px) {
  .registrationList--necessary .registrationList__item:before {
    font-size: 10px;
    height: 15px;
    top: 4px;
    width: 15px;
  }
}

.registrationList--condition {
  counter-reset: num;
}

.registrationList--condition .registrationList__item {
  counter-increment: num;
  position: relative;
}

@media screen and (min-width: 768px) {
  .registrationList--condition .registrationList__item {
    padding-left: 30px;
  }
}

@media screen and (max-width: 768px) {
  .registrationList--condition .registrationList__item {
    padding-left: 20px;
  }
}

.registrationList--condition .registrationList__item:before {
  content: "(" counter(num) ")";
  left: 0;
  position: absolute;
  top: 0;
}

@media screen and (min-width: 768px) {
  .registrationList + .registration__txt {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .registrationList + .registration__txt {
    margin-top: 20px;
  }
}

.topCV {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #ffffff;
  bottom: 70px;
  height: 40px;
  position: fixed;
  right: 10px;
  -webkit-transform: translate(0, 350%);
          transform: translate(0, 350%);
  -webkit-transition: .6s;
  transition: .6s;
  width: 330px;
  z-index: 9;
}

@media screen and (max-width: 768px) {
  .topCV {
    display: none;
  }
}

.topCV__button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  color: #333333;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: .3s;
  transition: .3s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .topCV__button {
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 13px 3px rgba(8, 1, 3, 0.3);
            box-shadow: 0 0 13px 3px rgba(8, 1, 3, 0.3);
    padding: 0;
  }
  .topCV__button:hover {
    opacity: .7;
  }
}

.topCV__button:focus:not(:focus-visible) {
  outline: 0;
}

.topCV__button:after {
  color: #333333;
  content: '＞';
  font-size: 10px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.topCV .topCV-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
  text-align: left;
}

.topCV .topCV-title:before {
  background-color: #eb6877;
  border-radius: 50%;
  content: '';
  height: 6px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-10px, 0);
          transform: translate(-10px, 0);
  width: 6px;
}

.topCV .topCV-title__txt {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
}

.topCV .topCV-title__txt:not(:last-of-type) {
  margin-right: 5px;
}

.topCV .topCV-title__txt:not(:last-of-type):after {
  content: ' / ';
}

.topCV__logo {
  margin-left: 12px;
  width: 98px;
}

.topCV.is-new .topCV-title:before {
  opacity: 1;
}

.topCV.is-visible {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media screen and (min-width: 768px) {
  .site-theme-black .topCV__button {
    background-color: #333333;
  }
}

@media screen and (max-width: 768px) {
  .site-theme-black .topCV__button {
    background-color: #333333;
  }
}

.site-theme-black .topCV .topCV-title__txt {
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .top-concept {
    padding: 80px 0;
  }
}

@media screen and (max-width: 768px) {
  .top-concept {
    padding: 80px 0;
  }
}
</pre></body></html>