<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-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;
}

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

@media screen and (min-width: 768px) {
  .conceptArea {
    padding: 196px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea {
    padding: calc(240 / 750 * 100vw) 0 0;
  }
}

.conceptArea__head {
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .conceptArea__head {
    padding: 0 20px;
    width: 100%;
  }
}

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

@media screen and (min-width: 768px) {
  .conceptArea__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.conceptArea__ttl {
  color: #6b6a67;
  font-weight: 600;
  line-height: 1;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

@media screen and (min-width: 768px) {
  .conceptArea__ttl {
    font-size: 53px;
    letter-spacing: .48em;
    padding: 0 200px 0 190px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__ttl {
    font-size: calc(80 / 750 * 100vw);
    letter-spacing: .3em;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.conceptArea__ttl .t {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateZ(-60px);
          transform: translateZ(-60px);
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.conceptArea__ttl .t:nth-child(1) {
  -webkit-transition-delay: .32s;
          transition-delay: .32s;
}

.conceptArea__ttl .t:nth-child(2) {
  -webkit-transition-delay: .44s;
          transition-delay: .44s;
}

.conceptArea__ttl .t:nth-child(3) {
  -webkit-transition-delay: .56s;
          transition-delay: .56s;
}

.conceptArea__ttl .t:nth-child(4) {
  -webkit-transition-delay: .68s;
          transition-delay: .68s;
}

.conceptArea__ttl.sai-animate .t {
  opacity: 1;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.conceptArea__ttl .bracket {
  left: .7em;
  opacity: 0;
  position: relative;
  top: -.7em;
  -webkit-transform: translateZ(-60px);
          transform: translateZ(-60px);
  -webkit-transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s, -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s, -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s, transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
  transition: opacity 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s, transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s, -webkit-transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
}

.sai-animate .conceptArea__ttl .bracket {
  opacity: 1;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

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

@media screen and (max-width: 768px) {
  .conceptArea__headingUnit {
    margin-top: calc(74 / 750 * 100vw);
    text-align: center;
  }
}

.conceptArea__heading {
  color: #6b6a67;
  white-space: nowrap;
  line-height: 1.63636;
}

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

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

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

@media screen and (min-width: 768px) {
  .conceptArea__heading {
    font-size: 28px;
    letter-spacing: .38em;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__heading {
    font-size: calc(44 / 750 * 100vw);
    letter-spacing: .3em;
  }
}

.conceptArea__txt {
  color: #6b6a67;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .conceptArea__txt {
    font-size: 14px;
    line-height: 2.64286;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__txt {
    font-size: calc(24 / 750 * 100vw);
    line-height: 2.16667;
  }
  .conceptArea__txt:before {
    content: '';
    margin-top: calc((1 - 2.16667) * .5em);
  }
  .conceptArea__txt:after {
    margin-bottom: calc((1 - 2.16667) * .5em);
  }
  .conceptArea__txt:before, .conceptArea__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__txt + .conceptArea__txt {
    margin-top: 2em;
  }
}

@media screen and (min-width: 768px) {
  .conceptArea__heading + .conceptArea__txt {
    margin-top: calc(58px - 1.3214285714em);
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__heading + .conceptArea__txt {
    margin-top: calc(98 / 750 * 100vw);
  }
}

.conceptArea__cont .photo {
  overflow: hidden;
  position: relative;
}

.conceptArea__cont .photo__image {
  opacity: 0;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: opacity 3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 3s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
}

@media screen and (min-width: 768px) {
  .conceptArea__cont .photo__capIn {
    bottom: calc(198 / 1440 * 100vw);
    right: calc(223 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__cont .photo__capIn {
    bottom: calc(206 / 750 * 100vw);
    right: calc(20 / 750 * 100vw);
  }
}

.conceptArea__cont.sai-animate .photo__image {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

@media screen and (min-width: 768px) {
  .conceptArea__head + .conceptArea__cont {
    margin-top: 112px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__head + .conceptArea__cont {
    margin-top: calc(111 / 750 * 100vw);
  }
}

.designGuide {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .designGuide {
    padding: 96px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .designGuide {
    padding: 0 0 calc(360 / 750 * 100vw);
  }
  .designGuide:before {
    background: rgba(34, 37, 23, 0.6) url("../imgs/sp/bg-dark-texture.png") no-repeat top center/cover;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(30%, rgba(34, 37, 23, 0)), color-stop(40%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
    -webkit-mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, rgba(34, 37, 23, 0) 30%, #222517 40%, #222517 80%, rgba(34, 37, 23, 0) 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(30%, rgba(34, 37, 23, 0)), color-stop(40%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
            mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, rgba(34, 37, 23, 0) 30%, #222517 40%, #222517 80%, rgba(34, 37, 23, 0) 100%);
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity 1.2s ease-in-out;
    transition: opacity 1.2s ease-in-out;
    width: 100%;
    z-index: -1;
  }
}

.designGuide .guidanceTrigger {
  bottom: calc(176 / 750 * 100vw);
  left: 40px;
  position: absolute;
  z-index: 3;
}

.designGuide__visual {
  -webkit-transform: translateZ(100px);
          transform: translateZ(100px);
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 2s ease-in-out;
  transition: -webkit-transform 2s ease-in-out;
  transition: transform 2s ease-in-out;
  transition: transform 2s ease-in-out, -webkit-transform 2s ease-in-out;
}

.designGuide__visual .photo {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.designGuide__visual .photo__image {
  -webkit-filter: brightness(1.2) blur(10px);
          filter: brightness(1.2) blur(10px);
  -webkit-transition: -webkit-filter 2s ease-in-out;
  transition: -webkit-filter 2s ease-in-out;
  transition: filter 2s ease-in-out;
  transition: filter 2s ease-in-out, -webkit-filter 2s ease-in-out;
}

@media screen and (min-width: 768px) {
  .designGuide__visual .photo__capIn {
    bottom: calc(80 / 1440 * 100vw);
    right: calc(188 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .designGuide__visual .photo__capIn {
    bottom: calc(165 / 750 * 100vw);
    right: calc(20 / 750 * 100vw);
  }
}

.designGuide__head {
  overflow: hidden;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  position: relative;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  .designGuide__head {
    padding-top: calc(352 / 750 * 100vw);
  }
}

.designGuide__head.sai-animate .designGuide__visual {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.designGuide__head.sai-animate .designGuide__visual .photo__image {
  -webkit-filter: brightness(1) blur(0);
          filter: brightness(1) blur(0);
}

.designGuide__ttl {
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .designGuide__ttl {
    top: 136px;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__ttl {
    top: 0;
  }
}

.designGuide__ttl .guidanceTtl {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .designGuide__ttl .guidanceTtl {
    width: 1200px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .designGuide__ttl .guidanceTtl {
    padding: 0 20px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__ttl .guidanceTtl {
    padding: 0 40px;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__ttl .guidanceTtl {
    padding-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .designGuide__body {
    margin-top: -360px;
    position: relative;
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__body {
    margin-top: calc(-244 / 750 * 100vw);
    max-height: calc(324 / 750 * 100vw);
    overflow: hidden;
    -webkit-transition: max-height linear 1.2s;
    transition: max-height linear 1.2s;
  }
}

.designGuide__inner {
  color: #6b6a67;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .designGuide__inner {
    padding: 304px 0 316px;
    -webkit-transition: color 1.2s ease-in-out .8s;
    transition: color 1.2s ease-in-out .8s;
  }
  .designGuide__inner:before {
    background: rgba(34, 37, 23, 0.6) url("../imgs/pc/bg-dark-texture@1.5x@.png") no-repeat top center/100% auto;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(10%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
    -webkit-mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, #222517 10%, #222517 80%, rgba(34, 37, 23, 0) 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(10%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
            mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, #222517 10%, #222517 80%, rgba(34, 37, 23, 0) 100%);
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity 1.2s ease-in-out .8s;
    transition: opacity 1.2s ease-in-out .8s;
    width: 100%;
    z-index: -1;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .designGuide__inner {
    padding: calc(304 / 1440 * 100vw) 0 calc(316 / 1440 * 100vw);
  }
  .designGuide__inner:before {
    background-size: 100% 100%;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__inner {
    padding: calc(244 / 750 * 100vw) 0 0;
    -webkit-transition: color 1.2s ease-in-out;
    transition: color 1.2s ease-in-out;
  }
}

.designGuide__inner .guidanceUnit {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .designGuide__inner .guidanceUnit {
    width: 886px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .designGuide__inner .guidanceUnit {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__inner .guidanceUnit {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(40%, transparent), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, #000000 0%, transparent 40%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(40%, transparent), to(transparent));
            mask-image: linear-gradient(to bottom, #000000 0%, transparent 40%, transparent 100%);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    padding: 0 0 0 66px;
    -webkit-transition: -webkit-mask-size linear 1.2s;
    transition: -webkit-mask-size linear 1.2s;
    transition: mask-size linear 1.2s;
    transition: mask-size linear 1.2s, -webkit-mask-size linear 1.2s;
  }
}

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

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

@media screen and (max-width: 768px) {
  .designGuide__inner .guidanceLink {
    margin-top: calc(135 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .designGuide__inner.sai-animate {
    color: #ffffff;
  }
  .designGuide__inner.sai-animate:before {
    opacity: 1;
  }
}

.designGuide__subVisual {
  -webkit-filter: brightness(1.8) blur(20px);
          filter: brightness(1.8) blur(20px);
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
  -webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
          mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
          mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
  -webkit-mask-position: 100% 50%;
          mask-position: 100% 50%;
  -webkit-mask-size: 400% 100%;
          mask-size: 400% 100%;
  -webkit-transition: ease;
  transition: ease;
  -webkit-transition-duration: 2s !important;
          transition-duration: 2s !important;
  -webkit-transition-property: -webkit-filter, -webkit-mask-position;
  transition-property: -webkit-filter, -webkit-mask-position;
  transition-property: filter, mask-position;
  transition-property: filter, mask-position, -webkit-filter, -webkit-mask-position;
  will-change: filter, mask-image;
}

@media screen and (min-width: 768px) {
  .designGuide__subVisual {
    margin-top: 94px;
    padding: 0 60px;
  }
}

@media screen and (max-width: 768px) {
  .designGuide__subVisual {
    margin-top: calc(142 / 750 * 100vw);
  }
}

.designGuide__subVisual.sai-animate {
  -webkit-filter: brightness(1) blur(0);
          filter: brightness(1) blur(0);
  -webkit-mask-position: 50% 50%;
          mask-position: 50% 50%;
}

@media screen and (max-width: 768px) {
  .designGuide.is-open:before {
    opacity: 1;
  }
  .designGuide.is-open .designGuide__body {
    max-height: 3000px;
    -webkit-transition: max-height linear 1.8s;
    transition: max-height linear 1.8s;
  }
  .designGuide.is-open .designGuide__inner {
    color: #ffffff;
  }
  .designGuide.is-open .designGuide__inner .guidanceUnit {
    -webkit-mask-size: 100% 880%;
            mask-size: 100% 880%;
  }
}

.guidanceLink__btn {
  margin-left: auto;
  margin-right: auto;
}

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

@media screen and (max-width: 768px) {
  .guidanceLink__btn {
    width: calc(590 / 750 * 100vw);
  }
}

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

@media screen and (max-width: 768px) {
  .guidanceLink__txt + .guidanceLink__btn {
    margin-top: calc(58 / 750 * 100vw);
  }
}

.guidanceLink__txt {
  letter-spacing: .2em;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .guidanceLink__txt {
    font-size: calc(30 / 750 * 100vw);
    line-height: 1.73333;
  }
  .guidanceLink__txt:before {
    content: '';
    margin-top: calc((1 - 1.73333) * .5em);
  }
  .guidanceLink__txt:after {
    margin-bottom: calc((1 - 1.73333) * .5em);
  }
  .guidanceLink__txt:before, .guidanceLink__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.guidanceTrigger {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  -webkit-box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1), 0 0 40px rgba(12, 17, 11, 0.05);
          box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1), 0 0 40px rgba(12, 17, 11, 0.05);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(130 / 750 * 100vw);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 1.2s ease-in-out;
  transition: background-color 1.2s ease-in-out;
  width: calc(130 / 750 * 100vw);
}

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

.guidanceTrigger__icon {
  height: calc(32 / 750 * 100vw);
  position: relative;
  width: calc(32 / 750 * 100vw);
  z-index: 1;
}

.guidanceTrigger__icon .iconSVG {
  display: block;
  height: auto;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform 1.2s ease-in-out;
  transition: -webkit-transform 1.2s ease-in-out;
  transition: transform 1.2s ease-in-out;
  transition: transform 1.2s ease-in-out, -webkit-transform 1.2s ease-in-out;
  width: 100%;
}

.guidanceTrigger__icon .iconSVG__path {
  -webkit-transition: fill 1.2s ease-in-out;
  transition: fill 1.2s ease-in-out;
}

.guidanceTrigger.is-open {
  background-color: rgba(0, 0, 0, 0.4);
}

.guidanceTrigger.is-open .guidanceTrigger__icon .iconSVG {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.guidanceTrigger.is-open .guidanceTrigger__icon .iconSVG__path {
  fill: #ffffff;
}

.guidanceTtl .jp {
  color: #333331;
  display: block;
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp {
    font-size: 34px;
    letter-spacing: .3em;
    line-height: 1.67647;
  }
  .guidanceTtl .jp:before {
    content: '';
    margin-top: calc((1 - 1.67647) * .5em);
  }
  .guidanceTtl .jp:after {
    margin-bottom: calc((1 - 1.67647) * .5em);
  }
  .guidanceTtl .jp:before, .guidanceTtl .jp:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp {
    font-size: calc(38 / 750 * 100vw);
    letter-spacing: .1em;
    line-height: 1.89474;
  }
  .guidanceTtl .jp:before {
    content: '';
    margin-top: calc((1 - 1.89474) * .5em);
  }
  .guidanceTtl .jp:after {
    margin-bottom: calc((1 - 1.89474) * .5em);
  }
  .guidanceTtl .jp:before, .guidanceTtl .jp:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp .narrow {
    letter-spacing: .25em;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp .narrow {
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: .02em;
  }
}

.guidanceTtl .jp .en,
.guidanceTtl .jp .num {
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  line-height: .8;
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp .num {
    font-size: 54px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp .num {
    font-size: calc(66 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp .small {
    font-size: 26px;
    letter-spacing: .19em;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp .small {
    font-size: calc(34 / 750 * 100vw);
    letter-spacing: .06em;
  }
}

.guidanceTtl .jp sup {
  display: inline-block;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp sup {
    font-size: 10px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp sup {
    font-size: calc(20 / 750 * 100vw);
  }
}

.guidanceTtl .jp .en {
  color: #333331;
}

@media screen and (min-width: 768px) {
  .guidanceTtl .jp .en {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .jp .en {
    font-size: calc(52 / 750 * 100vw);
  }
}

.guidanceTtl .en {
  color: #6b6a67;
  display: block;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .15em;
  line-height: .8;
}

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

@media screen and (max-width: 768px) {
  .guidanceTtl .en {
    font-size: calc(20 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceTtl .en + .jp {
    margin-top: 44px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceTtl .en + .jp {
    margin-top: calc(46 / 750 * 100vw);
  }
}

.guidanceUnit__ttl {
  letter-spacing: .2em;
}

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

@media screen and (max-width: 768px) {
  .guidanceUnit__ttl {
    font-size: calc(30 / 750 * 100vw);
    line-height: 1.73333;
  }
  .guidanceUnit__ttl:before {
    content: '';
    margin-top: calc((1 - 1.73333) * .5em);
  }
  .guidanceUnit__ttl:after {
    margin-bottom: calc((1 - 1.73333) * .5em);
  }
  .guidanceUnit__ttl:before, .guidanceUnit__ttl:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.guidanceUnit__txt {
  letter-spacing: .1em;
}

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

@media screen and (max-width: 768px) {
  .guidanceUnit__txt {
    font-size: calc(26 / 750 * 100vw);
    line-height: 2;
  }
  .guidanceUnit__txt:before {
    content: '';
    margin-top: calc((1 - 2) * .5em);
  }
  .guidanceUnit__txt:after {
    margin-bottom: calc((1 - 2) * .5em);
  }
  .guidanceUnit__txt:before, .guidanceUnit__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.guidanceUnit__txt sup {
  font-size: 10px;
}

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

@media screen and (max-width: 768px) {
  .guidanceUnit__ttl + .guidanceUnit__txt {
    margin-top: calc(82 / 750 * 100vw);
  }
}

.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;
  }
}

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

@media screen and (min-width: 768px) {
  .informationArea {
    margin-top: -300px;
    padding: 425px 0 290px;
  }
}

@media screen and (max-width: 768px) {
  .informationArea {
    margin-top: calc(-100 / 750 * 100vw);
    padding: calc(203 / 750 * 100vw) 0;
  }
}

.informationArea:before {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .informationArea:before {
    background: url("../imgs/pc/bg-information-01@1.5x.jpg") top no-repeat;
    background-size: 100% auto;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, transparent), color-stop(10%, #000000), color-stop(88%, #000000), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, transparent 3%, #000000 10%, #000000 88%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, transparent), color-stop(10%, #000000), color-stop(88%, #000000), to(transparent));
            mask-image: linear-gradient(to bottom, transparent 3%, #000000 10%, #000000 88%, transparent 100%);
  }
}

@media screen and (max-width: 768px) {
  .informationArea:before {
    background: url("../imgs/sp/bg-information-01.jpg") top no-repeat;
    background-size: 100% auto;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, transparent), color-stop(7%, #000000), color-stop(80%, #000000), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, transparent 3%, #000000 7%, #000000 80%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, transparent), color-stop(7%, #000000), color-stop(80%, #000000), to(transparent));
            mask-image: linear-gradient(to bottom, transparent 3%, #000000 7%, #000000 80%, transparent 100%);
  }
}

.mainVisual {
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}

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

@media screen and (max-width: 768px) {
  .mainVisual {
    max-height: calc(1334 / 750 * 100vw);
  }
}

.mainVisual__picture {
  height: 100%;
  width: 100%;
}

.mainVisual__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
  width: 100%;
}

.mainVisual__replay, .mainVisual__skip {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(102, 102, 102, 0.8);
  color: #ffffff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .mainVisual__replay, .mainVisual__skip {
    bottom: 80px;
    height: 26px;
    right: 40px;
    width: 90px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__replay, .mainVisual__skip {
    height: calc(40 / 750 * 100vw);
    right: calc(20 / 750 * 100vw);
    top: calc(180 / 750 * 100vw);
    width: calc(120 / 750 * 100vw);
  }
}

.mainVisual__replay .t, .mainVisual__skip .t {
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .15em;
  line-height: 1;
}

.mainVisual__replay .t:before, .mainVisual__skip .t:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.mainVisual__replay .t:after, .mainVisual__skip .t:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.mainVisual__replay .t:before, .mainVisual__replay .t:after, .mainVisual__skip .t:before, .mainVisual__skip .t:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .mainVisual__replay .t, .mainVisual__skip .t {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__replay .t, .mainVisual__skip .t {
    font-size: calc(24 / 750 * 100vw);
  }
}

.mainVisual__replay.is-hidden, .mainVisual__skip.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.news {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.news__wrapper {
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .news__wrapper {
    padding: 0 20px;
    width: 100%;
  }
}

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

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

@media screen and (min-width: 768px) {
  .news__heading {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

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

.news__heading .en {
  color: #6b6a67;
  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 {
    margin: 0 auto;
    overflow: hidden;
    width: 710px;
  }
}

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

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

@media screen and (max-width: 768px) {
  .news__heading + .news__inner {
    margin-top: calc(40 / 750 * 100vw);
  }
}

.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;
}

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

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

@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: "YakuHanMP", "Shippori Mincho B1", 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__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;
}

.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: "YakuHanMP", "Shippori Mincho B1", 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;
  }
}

.planGuide {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .planGuide {
    padding-bottom: calc(360 / 750 * 100vw);
  }
  .planGuide:before {
    background: rgba(34, 37, 23, 0.6) url("../imgs/sp/bg-dark-texture.png") no-repeat top center/cover;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(30%, rgba(34, 37, 23, 0)), color-stop(40%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
    -webkit-mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, rgba(34, 37, 23, 0) 30%, #222517 40%, #222517 80%, rgba(34, 37, 23, 0) 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(30%, rgba(34, 37, 23, 0)), color-stop(40%, #222517), color-stop(80%, #222517), to(rgba(34, 37, 23, 0)));
            mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, rgba(34, 37, 23, 0) 30%, #222517 40%, #222517 80%, rgba(34, 37, 23, 0) 100%);
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity 1.2s ease-in-out;
    transition: opacity 1.2s ease-in-out;
    width: 100%;
    z-index: -1;
  }
}

.planGuide .guidanceTrigger {
  bottom: calc(173 / 750 * 100vw);
  left: 40px;
  position: absolute;
  z-index: 3;
}

.planGuide__head {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__head {
    padding: 0 20px;
    width: 100%;
  }
}

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

@media screen and (min-width: 768px) {
  .planGuide__ttl {
    margin: 0 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__ttl .guidanceTtl .jp {
    letter-spacing: .15em;
  }
}

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

@media screen and (max-width: 768px) {
  .planGuide__visual {
    margin: calc(100 / 750 * 100vw) -40px 0;
  }
}

@media screen and (min-width: 768px) {
  .planGuide__visual .usableList__inner {
    gap: 56px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__visual .usableList__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__visual .usableList__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(80 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .planGuide__visual .usableList__item:nth-child(1) {
    width: 415px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__visual .usableList__item:nth-child(1) {
    width: calc(415 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .planGuide__visual .usableList__item:nth-child(1) {
    width: calc(483 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .planGuide__visual .usableList__item:nth-child(2) {
    margin-top: 60px;
    width: 729px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__visual .usableList__item:nth-child(2) {
    width: calc(729 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .planGuide__visual .usableList__item:nth-child(2) {
    margin: 0 0 0 auto;
    width: calc(619 / 750 * 100vw);
  }
}

.planGuide__body {
  color: #333331;
  position: relative;
  will-change: color;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .planGuide__body {
    margin-top: -472px;
    padding-bottom: 492px;
    padding-top: 612px;
    -webkit-transition: color 1.2s ease-in-out .8s;
    transition: color 1.2s ease-in-out .8s;
  }
  .planGuide__body:before {
    background: rgba(34, 37, 23, 0.6) url("../imgs/pc/bg-dark-texture@1.5x@.png") no-repeat top center/100% auto;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(20%, #222517), color-stop(60%, #222517), to(rgba(34, 37, 23, 0)));
    -webkit-mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, #222517 20%, #222517 60%, rgba(34, 37, 23, 0) 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(34, 37, 23, 0)), color-stop(20%, #222517), color-stop(60%, #222517), to(rgba(34, 37, 23, 0)));
            mask-image: linear-gradient(to bottom, rgba(34, 37, 23, 0) 0%, #222517 20%, #222517 60%, rgba(34, 37, 23, 0) 100%);
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity 1.2s ease-in-out .8s;
    transition: opacity 1.2s ease-in-out .8s;
    width: 100%;
    z-index: -1;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__body {
    padding-bottom: calc(492 / 1440 * 100vw);
  }
  .planGuide__body:before {
    background-size: 100% 100%;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__body {
    margin-top: calc(144 / 750 * 100vw);
    max-height: calc(120 / 750 * 100vw);
    overflow: hidden;
    -webkit-transition: color 1.2s ease-in-out;
    transition: color 1.2s ease-in-out;
    -webkit-transition: max-height linear 1.2s;
    transition: max-height linear 1.2s;
  }
}

@media screen and (min-width: 768px) {
  .planGuide__body.sai-animate {
    color: #ffffff;
  }
  .planGuide__body.sai-animate:before {
    opacity: 1;
  }
}

.planGuide__inner {
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__inner {
    padding: 0 20px;
    width: 100%;
  }
}

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

@media screen and (min-width: 768px) {
  .planGuide__inner .guidanceUnit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 90px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__inner .guidanceUnit {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #000000), color-stop(20%, transparent), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, #000000 10%, transparent 20%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #000000), color-stop(20%, transparent), to(transparent));
            mask-image: linear-gradient(to bottom, #000000 10%, transparent 20%, transparent 100%);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    padding: 0 20px;
    -webkit-transition: -webkit-mask-size linear 1.2s;
    transition: -webkit-mask-size linear 1.2s;
    transition: mask-size linear 1.2s;
    transition: mask-size linear 1.2s, -webkit-mask-size linear 1.2s;
  }
}

@media screen and (min-width: 768px) {
  .planGuide__inner .guidanceUnit__ttl {
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__inner .guidanceUnit__ttl {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .planGuide__inner .guidanceUnit__txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 0;
    min-width: 510px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__inner .guidanceUnit__txt {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .planGuide__inner .guidanceLink {
    margin-top: 140px;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__inner .guidanceLink {
    margin-top: calc(140 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .planGuide.is-open:before {
    opacity: 1;
  }
  .planGuide.is-open .planGuide__body {
    max-height: 3000px;
    -webkit-transition: max-height linear 1.8s;
    transition: max-height linear 1.8s;
  }
  .planGuide.is-open .planGuide__inner {
    color: #ffffff;
  }
  .planGuide.is-open .planGuide__inner .guidanceUnit {
    -webkit-mask-size: 100% 880%;
            mask-size: 100% 880%;
  }
}

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

@media screen and (min-width: 768px) {
  .positionGuide {
    padding: 240px 0 300px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide {
    padding: calc(120 / 750 * 100vw) 0 calc(360 / 750 * 100vw);
  }
}

.positionGuide:before {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .positionGuide:before {
    background: url("../common/imgs/pc/bg-sky-01@1.5x.jpg") repeat-y top center/100% auto;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #000000), color-stop(10%, #000000), color-stop(88%, #000000), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, #000000 3%, #000000 10%, #000000 88%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #000000), color-stop(10%, #000000), color-stop(88%, #000000), to(transparent));
            mask-image: linear-gradient(to bottom, #000000 3%, #000000 10%, #000000 88%, transparent 100%);
  }
}

@media screen and (max-width: 768px) {
  .positionGuide:before {
    background: url("../common/imgs/sp/bg-sky-01.jpg") repeat-y top center/100% auto;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #000000), color-stop(7%, #000000), color-stop(95%, #000000), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, #000000 3%, #000000 7%, #000000 95%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #000000), color-stop(7%, #000000), color-stop(95%, #000000), to(transparent));
            mask-image: linear-gradient(to bottom, #000000 3%, #000000 7%, #000000 95%, transparent 100%);
  }
}

.positionGuide .guidanceTrigger {
  bottom: calc(173 / 750 * 100vw);
  left: 40px;
  position: absolute;
  z-index: 3;
}

.positionGuide__head {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__head {
    padding: 0 20px;
    width: 100%;
  }
}

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

@media screen and (min-width: 768px) {
  .positionGuide__ttl {
    padding-left: 156px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__ttl {
    padding-left: calc(156 / 1440 * 100vw);
  }
}

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

@media screen and (max-width: 768px) {
  .positionGuide__visual {
    margin-top: calc(100 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .positionGuide__visual .usableList__inner {
    gap: 55px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__visual .usableList__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(80 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .positionGuide__visual .usableList__item:nth-child(1) {
    width: 572px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__visual .usableList__item:nth-child(1) {
    width: calc(572 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__visual .usableList__item:nth-child(1) {
    margin: 0 auto 0 -40px;
    width: calc(619 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .positionGuide__visual .usableList__item:nth-child(2) {
    margin-top: 160px;
    width: 573px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__visual .usableList__item:nth-child(2) {
    width: calc(573 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__visual .usableList__item:nth-child(2) {
    margin: 0 -40px 0 auto;
    width: calc(590 / 750 * 100vw);
  }
}

.positionGuide__body {
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__body {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .positionGuide__body {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body {
    margin-top: calc(142 / 750 * 100vw);
    max-height: calc(84 / 750 * 100vw);
    overflow: hidden;
    padding: 0 40px;
    -webkit-transition: max-height linear 1.2s;
    transition: max-height linear 1.2s;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__inner .guidanceUnit {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(30%, transparent), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, #000000 0%, transparent 30%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(30%, transparent), to(transparent));
            mask-image: linear-gradient(to bottom, #000000 0%, transparent 30%, transparent 100%);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    padding: 0 20px;
    -webkit-transition: -webkit-mask-size linear 1.2s;
    transition: -webkit-mask-size linear 1.2s;
    transition: mask-size linear 1.2s;
    transition: mask-size linear 1.2s, -webkit-mask-size linear 1.2s;
  }
}

.positionGuide__inner .guidanceUnit__ttl {
  color: #333331;
}

.positionGuide__inner .guidanceUnit__txt {
  color: #6b6a67;
}

@media screen and (min-width: 768px) {
  .positionGuide__inner .guidanceLink {
    margin-top: 98px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__inner .guidanceLink {
    margin-top: calc(140 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .positionGuide__inner .guidanceLink__btn {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide.is-open .positionGuide__body {
    max-height: 3000px;
    -webkit-transition: max-height linear 1.2s;
    transition: max-height linear 1.2s;
  }
  .positionGuide.is-open .positionGuide__inner .guidanceUnit {
    -webkit-mask-size: 100% 880%;
            mask-size: 100% 880%;
  }
}

.sceneWrap {
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.sceneWrap__inner {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 2;
}

.sceneIntro {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.sceneIntro__ttl {
  color: #ffffff;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .sceneIntro__ttl {
    font-size: calc(40 / 1440 * 100vw);
    left: 50%;
    letter-spacing: .44em;
    text-shadow: 0 0 38px rgba(28, 87, 148, 0.7), 1px 1px 38px rgba(28, 87, 148, 0.7);
    top: 169px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

@media screen and (max-width: 768px) {
  .sceneIntro__ttl {
    font-size: calc(60 / 750 * 100vw);
    left: 50%;
    letter-spacing: .3em;
    top: calc(280 / 750 * 100vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.sceneIntro__ttl .bracket {
  left: .7em;
  position: relative;
  top: -.7em;
}

.sceneIntro__ttl .t {
  opacity: 0;
  visibility: hidden;
}

.sceneIntro__bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.sceneIntro__bg .photo {
  height: 100%;
  width: 100%;
}

.sceneIntro__bg .photo__pic, .sceneIntro__bg .photo__image {
  height: 100%;
  width: 100%;
}

.sceneIntro__bg .photo__image {
  -webkit-filter: brightness(1.2) blur(10px);
          filter: brightness(1.2) blur(10px);
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(2.4);
          transform: scale(2.4);
  will-change: transform, filter, object-position;
}

@media screen and (min-width: 768px) {
  .sceneIntro__bg .photo__image {
    -o-object-position: 100% 50%;
       object-position: 100% 50%;
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
}

@media screen and (max-width: 768px) {
  .sceneIntro__bg .photo__image {
    -o-object-position: 100% 100%;
       object-position: 100% 100%;
    -webkit-transform-origin: 100% 70%;
            transform-origin: 100% 70%;
  }
}

.sceneEnd {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.sceneEnd__ttl {
  color: #ffffff;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .sceneEnd__ttl {
    font-size: calc(40 / 1440 * 100vw);
    left: calc(240 / 1440 * 100vw);
    letter-spacing: .44em;
    text-shadow: 0 0 38px rgba(28, 87, 148, 0.7), 1px 1px 38px rgba(28, 87, 148, 0.7);
    top: 169px;
  }
}

@media screen and (max-width: 768px) {
  .sceneEnd__ttl {
    font-size: calc(60 / 750 * 100vw);
    left: 50%;
    letter-spacing: .3em;
    top: calc(280 / 750 * 100vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.sceneEnd__ttl .bracket {
  left: .7em;
  position: relative;
  top: -.7em;
}

.sceneEnd__ttl .t {
  opacity: 0;
  visibility: hidden;
}

.sceneEnd__bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.sceneEnd__bg .photo {
  height: 100%;
  width: 100%;
}

.sceneEnd__bg .photo__pic, .sceneEnd__bg .photo__image {
  height: 100%;
  width: 100%;
}

.sceneEnd__bg .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  opacity: 0;
  visibility: hidden;
}

.sceneEnd__bg .photo__capIn {
  opacity: 1;
  -webkit-transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
  transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
  visibility: visible;
}

.sceneEnd__bg.is-hidden .photo__capIn {
  opacity: 0;
  visibility: hidden;
}

.sceneUSP {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  opacity: 0;
  position: relative;
  visibility: hidden;
  width: 100%;
  z-index: 1;
}

.sceneUSP__list {
  width: 100%;
  margin: 0 auto;
}

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

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .sceneUSP__list {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .sceneUSP__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 36px;
    padding-bottom: calc(44 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneUSP__list {
    padding: 0 calc(40 / 750 * 100vw) calc(56 / 750 * 100vw);
  }
}

.sceneUSP__item {
  color: #333331;
  letter-spacing: .1em;
  line-height: 1;
}

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

@media screen and (max-width: 768px) {
  .sceneUSP__item {
    text-shadow: 0 0 9px rgba(244, 249, 188, 0.7), 1px 1px 9px rgba(244, 249, 188, 0.7), -1px -1px 9px rgba(244, 249, 188, 0.7), 1px -1px 9px rgba(244, 249, 188, 0.7), -1px 1px 9px rgba(244, 249, 188, 0.7), 1px 1px 9px rgba(244, 249, 188, 0.7), -1px -1px 9px rgba(244, 249, 188, 0.7), -1px 1px 9px rgba(244, 249, 188, 0.7);
  }
}

@media screen and (max-width: 768px) {
  .sceneUSP__item:not(:first-child) {
    margin-top: calc(30 / 750 * 100vw);
  }
}

.sceneUSP__item .small {
  display: block;
  letter-spacing: .02em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .sceneUSP__item .small {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .sceneUSP__item .small {
    font-size: calc(20 / 750 * 100vw);
  }
}

.sceneUSP__item .station {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .sceneUSP__item .station {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .sceneUSP__item .station {
    font-size: calc(36 / 750 * 100vw);
  }
}

.sceneUSP__item .num {
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  line-height: .8;
}

@media screen and (min-width: 768px) {
  .sceneUSP__item .num {
    font-size: 48px;
  }
}

@media screen and (max-width: 768px) {
  .sceneUSP__item .num {
    font-size: calc(64 / 750 * 100vw);
  }
}

.topCV {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #ffffff;
  bottom: 10px;
  height: 40px;
  position: fixed;
  right: 10px;
  -webkit-transform: translate(0, 200%);
          transform: translate(0, 200%);
  -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: 8px;
  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;
}

.mainVisual {
  background-color: #ffffff;
  position: relative;
  width: 100%;
  z-index: 1;
}

.mainVisual__inner {
  position: relative;
}

.mainVisual__image {
  width: 100%;
}

.mainVisual__capIn {
  bottom: 5px;
  position: absolute;
  right: 5px;
}

@media screen and (max-width: 768px) {
  .mainVisual__capIn {
    color: #666666;
    text-shadow: #ffffff 3px 3px 10px, #ffffff -3px 3px 10px, #ffffff 3px -3px 10px, #ffffff -3px -3px 10px, #ffffff 3px 3px 10px, #ffffff -3px 3px 10px, #ffffff 3px -3px 10px, #ffffff -3px -3px 10px, #ffffff 3px 3px 10px, #ffffff -3px 3px 10px, #ffffff 3px -3px 10px, #ffffff -3px -3px 10px, #ffffff 3px 3px 10px, #ffffff -3px 3px 10px, #ffffff 3px -3px 10px, #ffffff -3px -3px 10px;
  }
}

.contentGuide {
  overflow: hidden;
  padding: 70px 0;
}

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

.guidanceBlock {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}

.guidanceBlock:not(:last-of-type) {
  margin-bottom: 140px;
}

.guidanceBlock:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.guidanceBlock:nth-of-type(2n) .guidanceBlock__introduction {
  margin-right: 100px;
}

.guidanceBlock:nth-of-type(2n) .guidanceVisual__bg {
  left: 230px;
  right: unset;
}

.guidanceBlock__introduction {
  margin-left: 100px;
  width: 380px;
}

.guidanceBlock__introduction .introSection {
  color: #ffffff;
}

.guidanceBlock__introduction .introSection__title {
  font-size: 14px;
  letter-spacing: .09em;
  line-height: 2;
}

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

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

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

.guidanceBlock__introduction .introSection__heading {
  font-size: 24px;
  letter-spacing: .03em;
  margin-top: 10px;
  line-height: 1.5;
}

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

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

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

.guidanceBlock__introduction .introSection__txt {
  font-size: 14px;
  letter-spacing: 0;
  margin-top: 35px;
  line-height: 1.71429;
}

.guidanceBlock__introduction .introSection__txt:before {
  content: '';
  margin-top: calc((1 - 1.71429) * .5em);
}

.guidanceBlock__introduction .introSection__txt:after {
  margin-bottom: calc((1 - 1.71429) * .5em);
}

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

.guidanceBlock__introduction .introSection__txt + .btn-view {
  margin-top: 35px;
}

.guidanceBlock__introduction .btn-view {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #cccccc;
  border: 1px solid #cccccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  height: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .guidanceBlock__introduction .btn-view:hover {
    background-color: #333333;
    color: #cccccc;
  }
}

.guidanceBlock__introduction .btn-view:after {
  content: '＞';
  font-family: "YakuHanMP", "Shippori Mincho B1", serif;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.guidanceBlock.sai-animate .guidanceVisual__heroImg {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.guidanceVisual {
  display: inline-block;
  padding: 80px 0;
  position: relative;
  width: 560px;
  z-index: 1;
}

.guidanceVisual__inner {
  overflow: hidden;
  position: relative;
}

.guidanceVisual__heroImg {
  -webkit-transform: translate(0, -5%) scale(1.1);
          transform: translate(0, -5%) scale(1.1);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -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;
}

.guidanceVisual__capIn {
  position: absolute;
  right: 10px;
  top: 10px;
}

.guidanceVisual__bg {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  position: absolute;
  right: 130px;
  top: 0;
  width: 560px;
  z-index: -1;
}

.guidanceVisual__bgImg {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  height: 100%;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  width: 100%;
}

.guideCard {
  -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);
  overflow: hidden;
  position: relative;
}

.guideCard:not(:last-of-type) {
  margin-bottom: 40px;
}

.guideCard__head {
  background-color: #333333;
  overflow: hidden;
  padding-bottom: 37.5px;
  position: relative;
}

.guideCard__head .capIn {
  position: absolute;
  right: 5px;
  top: 5px;
}

.guideCard__introduction {
  bottom: 0;
  left: 0;
  padding: 20px 30px 0;
  position: absolute;
  width: 100%;
}

.guideCard__introduction .introSection {
  color: #ffffff;
}

.guideCard__introduction .introSection__heading {
  display: block;
  font-size: 15px;
  letter-spacing: .03em;
  margin-top: 10px;
  text-align: center;
  line-height: 1.66667;
}

.guideCard__introduction .introSection__heading:before {
  content: '';
  margin-top: calc((1 - 1.66667) * .5em);
}

.guideCard__introduction .introSection__heading:after {
  margin-bottom: calc((1 - 1.66667) * .5em);
}

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

.guideCard__introduction .introSection__txt {
  font-size: 11px;
  letter-spacing: 0;
  margin-top: 25px;
  line-height: 1.90909;
}

.guideCard__introduction .introSection__txt:before {
  content: '';
  margin-top: calc((1 - 1.90909) * .5em);
}

.guideCard__introduction .introSection__txt:after {
  margin-bottom: calc((1 - 1.90909) * .5em);
}

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

.guideCard__body {
  background: #2f2f2f;
  color: #ffffff;
  overflow: hidden;
  position: relative;
}

.guideCard__body--00 {
  max-height: 0;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  will-change: transform;
}

.guideCard__inner {
  padding: 30px 30px 65px;
}

.guideCard__inner .detailSection:not(:last-of-type) {
  margin-bottom: 40px;
}

.guideCard__inner .detailSection__heading {
  font-size: 14px;
  letter-spacing: .09em;
  margin-top: 31px;
  line-height: 1.64286;
}

.guideCard__inner .detailSection__heading:before {
  content: '';
  margin-top: calc((1 - 1.64286) * .5em);
}

.guideCard__inner .detailSection__heading:after {
  margin-bottom: calc((1 - 1.64286) * .5em);
}

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

.guideCard__inner .detailSection__txt {
  color: #cccccc;
  font-size: 11px;
  letter-spacing: .14em;
  margin-top: 20px;
  line-height: 1.90909;
}

.guideCard__inner .detailSection__txt:before {
  content: '';
  margin-top: calc((1 - 1.90909) * .5em);
}

.guideCard__inner .detailSection__txt:after {
  margin-bottom: calc((1 - 1.90909) * .5em);
}

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

.guideCard__inner .detailSection + .btn-view {
  margin-top: 40px;
}

.guideCard__close {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333333;
  bottom: 0;
  -webkit-box-shadow: 0 -15px 8px 0 #333333;
          box-shadow: 0 -15px 8px 0 #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  height: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: absolute;
  width: 100%;
}

.guideCard__close .arrowSVG {
  -webkit-transition: .3s;
  transition: .3s;
  width: 15.5px;
}

.guideCard .photo {
  position: relative;
}

.guideCard .photo__capIn, .guideCard .photo__capOut {
  position: absolute;
}

.guideCard .photo__capIn {
  bottom: 5px;
  right: 5px;
}

.guideCard .photo__capOut {
  right: 0;
  top: 100%;
}

.guideArea .guideCard__head .introSection__heading, .guideArea .guideCard__head .introSection__txt {
  opacity: 0;
  -webkit-transform: translate(0, 30%);
          transform: translate(0, 30%);
}

.guideArea .guideCard__head .introSection__heading {
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
  -webkit-transition-duration: .9s;
          transition-duration: .9s;
  -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;
}

.guideArea .guideCard__head .introSection__txt {
  -webkit-transition-delay: .6s;
          transition-delay: .6s;
  -webkit-transition-duration: .9s;
          transition-duration: .9s;
  -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;
}

.guideArea .guideCard__heroImg {
  -webkit-transform: translate(0, -5%) scale(1.1);
          transform: translate(0, -5%) scale(1.1);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -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;
}

.guideArea .guideCard__close {
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -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;
}

.guideArea .guideCard.sai-animate .guideCard__head .introSection__heading, .guideArea .guideCard.sai-animate .guideCard__head .introSection__txt {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.guideArea .guideCard.sai-animate .guideCard__heroImg {
  -webkit-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1);
}

.guideArea .guideCard.is-open .guideCard__close {
  background-color: #000000;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.guideArea .guideCard.is-open .guideCard__close .arrowSVG {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}

.guideArea .guideCard.is-open .guideCard__body {
  max-height: 3000px;
  -webkit-transition-duration: 1.8s;
          transition-duration: 1.8s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.guideArea .btn-view {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #cccccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
  height: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
}

.guideArea .btn-view:after {
  content: '＞';
  font-family: "YakuHanMP", "Shippori Mincho B1", serif;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translate(0, -50%) scale(0.6, 1);
          transform: translate(0, -50%) scale(0.6, 1);
}

.contentArea {
  position: relative;
  z-index: 1;
}
</pre></body></html>