@charset "UTF-8";
:root {
  --ff-noto-sans: "Noto Sans JP", sans-serif;
  --ff-noto-serif: "Noto Serif JP", serif;
  --ff-montenegrin: "Montenegrin Gothic One", sans-serif;
  --ff-montserrat: "Montserrat", sans-serif;
}

img:where(.ob-p-main *) {
  height: auto;
}

@media (width > 768px) {
  .r2-main.oshibra .r2-breadcrumb {
    padding-inline: 3.90625%;
  }
}
@media (width > 1280px) {
  .r2-main.oshibra .r2-breadcrumb {
    padding-inline: 50px;
  }
}

.ob-p-main {
  display: grid;
  grid-template-columns: 1fr min(480px, 100%) 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: "left main right";
  overflow: clip;
  background-color: #FBF6F6;
  color: #444;
  font-family: var(--ff-noto-sans);
}

.ob-p-leftContents {
  position: relative;
  container-type: inline-size;
  container-name: leftContents;
  grid-area: left;
}
.ob-p-leftContents img {
  width: 100%;
  height: auto;
}
.ob-p-leftContents__inner {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "logo";
}
.ob-p-leftContents__inner-logo {
  display: grid;
  place-items: center;
  grid-area: logo;
  height: 100dvh;
  transition: opacity 0.1s 0s linear;
}
.ob-p-leftContents__inner-logo img {
  width: 58cqw;
}
@media (width < 1024px) {
  .ob-p-leftContents__inner-logo {
    opacity: 0;
  }
}

.ob-p-mainContents {
  container-type: inline-size;
  container-name: mainContents;
  grid-area: main;
}

.ob-p-rightContents {
  container-type: inline-size;
  container-name: rightContents;
  grid-area: right;
}
.ob-p-rightContents img {
  width: 100%;
  height: auto;
}
.ob-p-rightContents__inner {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  display: grid;
  overflow: clip;
  gap: 3cqw;
  grid-template-columns: 1fr auto auto 1fr;
  grid-template-areas: ". anime01 anime02 .";
  justify-content: center;
}
.ob-p-rightContents__inner-anime01 {
  display: grid;
  gap: 3cqw;
  grid-area: anime01;
  width: 28cqw;
  transition: opacity 0.1s 0s linear;
}
@media (width < 1024px) {
  .ob-p-rightContents__inner-anime01 {
    opacity: 0;
  }
}
.ob-p-rightContents__inner-anime02 {
  display: grid;
  gap: 3cqw;
  grid-area: anime02;
  width: 28cqw;
  transition: opacity 0.1s 0s linear;
}
@media (width < 1024px) {
  .ob-p-rightContents__inner-anime02 {
    opacity: 0;
  }
}

/* -----------------------------------------------------------------------
## MARK: KV ##################################################
----------------------------------------------------------------------- */
.ob-p-kv {
  position: relative;
  overflow: clip;
  height: calc(600/375 * 100cqw);
  background-color: #FBE1E4;
  background-image: url(../img/260825/bg-kv.png), url(../img/260825/bg01.png);
  background-repeat: no-repeat, repeat;
  background-position: top center;
  background-size: 100cqw auto;
}
@media (width >= 768px) {
  .ob-p-kv {
    height: 578px;
  }
}
.ob-p-kv::before {
  content: "";
  position: absolute;
  top: calc(23/375 * 100cqw);
  left: 50%;
  translate: -50% 0;
  width: calc(162/375 * 100cqw);
  height: calc(39/375 * 100cqw);
  background: url(../img/260825/logo-wacoal.png) no-repeat center/contain;
}
.ob-p-kv__title {
  position: absolute;
  top: calc(69/375 * 100cqw);
  left: 50%;
  translate: -50% 0;
  width: calc(292/375 * 100cqw);
  height: calc(303/375 * 100cqw);
}
.ob-p-kv__title img {
  position: absolute;
  display: block;
}
.ob-p-kv__title img:first-child {
  left: calc(129/375 * 100cqw);
  top: calc(27/375 * 100cqw);
  width: calc(34/375 * 100cqw);
}
.ob-p-kv__title img:last-child {
  left: calc(46/375 * 100cqw);
  top: calc(78/375 * 100cqw);
  width: calc(200/375 * 100cqw);
}
.ob-p-kv__text {
  position: absolute;
  right: calc(16/375 * 100cqw);
  top: calc(106/375 * 100cqw);
  width: calc(64/375 * 100cqw);
}
.ob-p-kv__text img {
  width: 100%;
}
.ob-p-kv__date {
  position: absolute;
  left: calc(54/375 * 100cqw);
  top: calc(385/375 * 100cqw);
  display: flex;
  align-items: center;
  gap: calc(4/375 * 100cqw);
  font-family: var(--ff-montenegrin);
  color: #F16C6F;
}
.ob-p-kv__date-day {
  font-size: calc(24/375 * 100cqw);
  line-height: 0.6;
}
.ob-p-kv__date-time {
  font-size: calc(18/375 * 100cqw);
  line-height: 0.6;
}
.ob-p-kv__date-dayName {
  display: grid;
  place-items: center;
  width: calc(16/375 * 100cqw);
  height: calc(16/375 * 100cqw);
  border-radius: 50%;
  background-color: #F16C6F;
  font-family: var(--ff-noto-sans);
  font-weight: bold;
  font-size: calc(8/375 * 100cqw);
  color: #fff;
}
.ob-p-kv__arrow {
  width: calc(16/375 * 100cqw);
  height: calc(9/375 * 100cqw);
}
.ob-p-kv__anime {
  display: flex;
  width: max-content;
}
.ob-p-kv__anime img {
  width: calc(1144/375 * 100cqw);
  flex-shrink: 0;
  animation: obKvAnimeMarquee 60s linear 0s infinite normal none running;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-kv__anime img {
    animation: none;
  }
}
.ob-p-kv .ob-u-spBlock {
  position: absolute;
  top: calc(420/375 * 100cqw);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: calc(1/375 * 100cqw);
  width: calc(374/375 * 100cqw);
}
.ob-p-kv .ob-u-upperCase {
  font-family: var(--ff-montenegrin);
  font-size: calc(14/375 * 100cqw);
  color: #333;
  letter-spacing: 0.04em;
}

@keyframes obKvAnimeMarquee {
  to {
    translate: -100% 0;
  }
}
/* -----------------------------------------------------------------------
## MARK: OVERVIEW ##################################################
----------------------------------------------------------------------- */
.ob-p-overview {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(24/375 * 100cqw, 24px);
  padding: min(88/375 * 100cqw, 98px) calc(40/375 * 100cqw) min(65/375 * 100cqw, 65px);
  background: #FBF6F6 url(../img/260825/bg02.png) repeat center/contain;
}
.ob-p-overview::before {
  content: "";
  position: absolute;
  left: calc(24.5/375 * 100cqw);
  top: min(56/375 * 100cqw, 56px);
  width: calc(328/375 * 100cqw);
  height: calc(191/375 * 100cqw);
  background: url(../img/260825/bg-overview.svg) no-repeat center/contain;
  pointer-events: none;
}
.ob-p-overview__title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8/375 * 100cqw);
  width: calc(295/375 * 100cqw);
}
.ob-p-overview__titleSub {
  width: calc(161/375 * 100cqw);
}
.ob-p-overview__titleMain {
  width: 100%;
}
.ob-p-overview__text {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: calc(3/375 * 100cqw) calc(12/375 * 100cqw) calc(3/375 * 100cqw) calc(14/375 * 100cqw);
  border-radius: calc(100/375 * 100cqw);
  background-color: #333;
  color: #fff;
  font-size: min(12/375 * 100cqw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.ob-p-overview__text strong {
  font-weight: bold;
}
.ob-p-overview__text > span:nth-of-type(1) {
  font-size: min(14/375 * 100cqw, 18px);
  font-weight: normal;
}
.ob-p-overview__text > span:nth-of-type(2) {
  font-family: var(--ff-montserrat);
  font-size: min(16/375 * 100cqw, 20px);
  font-weight: bold;
}
.ob-p-overview__text > span:nth-of-type(3) {
  font-size: min(14/375 * 100cqw, 18px);
  font-weight: normal;
}
.ob-p-overview__details {
  position: relative;
  text-align: center;
  font-size: min(16/375 * 100cqw, 18px);
  line-height: 1.4;
  color: #333;
  padding-left: calc(15/375 * 100cqw);
  letter-spacing: 0.04em;
}
@media (width >= 768px) {
  .ob-p-overview__details {
    padding-left: 10px;
  }
}
.ob-p-overview__details::before, .ob-p-overview__details::after {
  position: absolute;
  width: calc(16/375 * 100cqw);
  height: calc(16/375 * 100cqw);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}
.ob-p-overview__details::before {
  left: calc(-5/375 * 100cqw);
  top: 0;
  background-image: url(../img/260825/icon-overview-quote.svg);
  rotate: 180deg;
}
@media (width >= 768px) {
  .ob-p-overview__details::before {
    left: -22px;
  }
}
.ob-p-overview__details::after {
  right: calc(-5/375 * 100cqw);
  bottom: 0;
  background-image: url(../img/260825/icon-overview-quote.svg);
}
@media (width >= 768px) {
  .ob-p-overview__details::after {
    right: -22px;
  }
}
.ob-p-overview__num {
  font-family: var(--ff-montserrat);
  color: #F16C6F;
  font-size: min(20/375 * 100cqw, 24px);
  font-weight: bold;
}
.ob-p-overview__num .ob-p-overview__large {
  font-size: min(24/375 * 100cqw, 30px);
}
.ob-p-overview__icons {
  width: calc(148/375 * 100cqw);
  margin-inline: auto;
}
.ob-p-overview__announce {
  position: relative;
  text-align: center;
  font-size: min(14/375 * 100cqw, 16px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
}
.ob-p-overview__announce span {
  font-family: var(--ff-montserrat);
  font-size: min(18/375 * 100cqw, 23px);
  font-weight: bold;
}
.ob-p-overview__button {
  position: relative;
  display: block;
  width: min(269/375 * 100cqw, 300px);
  height: min(61/375 * 100cqw, 80px);
  margin-block-start: calc(8/375 * 100cqw);
}
.ob-p-overview__button::before {
  content: "";
  position: absolute;
  inset: calc(5/375 * 100cqw) 0 0 calc(5/375 * 100cqw);
  background-color: #F16C6F;
  border: 1px solid #333;
}
.ob-p-overview__buttonFace {
  position: absolute;
  inset: 0 calc(5/375 * 100cqw) calc(5/375 * 100cqw) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(9/375 * 100cqw);
  background-color: #fff;
  border: 1px solid #333;
}
.ob-p-overview__buttonLabel {
  font-size: min(14/375 * 100cqw, 16px);
  font-weight: bold;
  letter-spacing: 0.04em;
  color: #F16C6F;
}
.ob-p-overview__buttonFace img {
  width: calc(16/375 * 100cqw);
  height: calc(16/375 * 100cqw);
}

/* -----------------------------------------------------------------------
## MARK: ENTRY ##################################################
----------------------------------------------------------------------- */
.ob-p-entry {
  display: grid;
  justify-items: center;
  gap: calc(55/375 * 100cqw);
  padding: min(64/375 * 100cqw, 64px) calc(40/375 * 100cqw);
  background: #FFD3D3 url(../img/260825/bg01.png) repeat center/contain;
}
.ob-p-entry__header {
  display: grid;
  justify-items: center;
  gap: calc(5/375 * 100cqw);
}
.ob-p-entry__heading {
  display: grid;
  grid-template-columns: calc(12/375 * 100cqw) auto calc(12/375 * 100cqw);
  align-items: center;
}
.ob-p-entry__heading img:first-child,
.ob-p-entry__heading img:last-child {
  position: relative;
  width: 100%;
}
.ob-p-entry__heading img:first-child {
  left: calc(-10/375 * 100cqw);
}
.ob-p-entry__heading img:last-child {
  right: calc(-6/375 * 100cqw);
}
@media (width >= 768px) {
  .ob-p-entry__heading img:last-child {
    right: -1px;
  }
}
.ob-p-entry__heading span {
  line-height: 1;
  font-family: var(--ff-montenegrin);
  font-size: calc(48/375 * 100cqw);
  color: #F7ED8D;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 2px #333;
}
.ob-p-entry__subheading {
  font-family: var(--ff-noto-sans);
  font-size: min(14/375 * 100cqw, 16px);
  color: #333;
  letter-spacing: 0.04em;
}
.ob-p-entry__list {
  display: grid;
  gap: calc(65/375 * 100cqw);
  width: calc(295/375 * 100cqw);
}
.ob-p-entry__item {
  position: relative;
}
.ob-p-entry__no {
  position: absolute;
  top: calc(-20/375 * 100cqw);
  left: 50%;
  z-index: 2;
  translate: -50% 0;
  width: calc(88/375 * 100cqw);
  height: calc(56/375 * 100cqw);
  margin: 0;
  padding-block-start: calc(10/375 * 100cqw);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-family: var(--ff-montenegrin);
  font-size: calc(18/375 * 100cqw);
  font-weight: normal;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}
@media (width >= 768px) {
  .ob-p-entry__no {
    top: -36px;
  }
}
.ob-p-entry__no span {
  font-size: calc(24/375 * 100cqw);
}
.ob-p-entry__item[data-no="1"] .ob-p-entry__no {
  background-image: url(../img/260825/icon-entry-no01.svg);
}
.ob-p-entry__item[data-no="2"] .ob-p-entry__no {
  background-image: url(../img/260825/icon-entry-no02.svg);
}
.ob-p-entry__item[data-no="3"] .ob-p-entry__no {
  background-image: url(../img/260825/icon-entry-no03.svg);
}
.ob-p-entry__item[data-no="4"] .ob-p-entry__no {
  background-image: url(../img/260825/icon-entry-no04.svg);
}
.ob-p-entry__card {
  position: relative;
  display: grid;
  justify-items: center;
  gap: min(19/375 * 100cqw, 20px);
  width: calc(295/375 * 100cqw);
  padding: 0 calc(20/375 * 100cqw) calc(32/375 * 100cqw);
  background-color: #fff;
  border: 1px solid #333;
}
.ob-p-entry__image {
  position: relative;
  width: calc(256/375 * 100cqw);
  height: calc(224/375 * 100cqw);
}
.ob-p-entry__image a {
  display: block;
}
.ob-p-entry__spot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (any-hover: hover) {
  .ob-p-entry__spot:is(:has(a:hover) *) {
    scale: 1.1;
  }
}
.ob-p-entry__photo {
  position: absolute;
  left: calc(48/375 * 100cqw);
  top: calc(64/375 * 100cqw);
  width: calc(160/375 * 100cqw);
  height: calc(140/375 * 100cqw);
  object-fit: contain;
}
.ob-p-entry__info {
  display: grid;
  justify-items: center;
  gap: min(10/375 * 100cqw, 10px);
  text-align: center;
  color: #333;
}
.ob-p-entry__names {
  display: grid;
  gap: calc(4/375 * 100cqw);
}
.ob-p-entry__brand {
  font-size: min(12/375 * 100cqw, 14px);
  letter-spacing: 0.04em;
}
.ob-p-entry__name {
  font-size: min(18/375 * 100cqw, 18px);
  font-weight: bold;
  letter-spacing: 0.04em;
}
.ob-p-entry__desc {
  font-size: min(12/375 * 100cqw, 16px);
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.ob-p-entry__price {
  font-size: min(10/375 * 100cqw, 12px);
  letter-spacing: 0.04em;
}
.ob-p-entry__priceNum {
  font-family: var(--ff-montserrat);
  font-size: min(16/375 * 100cqw, 20px);
  font-weight: bold;
}
.ob-p-entry__more {
  position: relative;
  display: block;
  width: min(145/375 * 100cqw, 180px);
  height: calc(44/375 * 100cqw);
  margin-block-start: calc(5/375 * 100cqw);
}
.ob-p-entry__more::before {
  content: "";
  position: absolute;
  inset: calc(4/375 * 100cqw) 0 0 calc(4/375 * 100cqw);
  background-color: #fff;
  border: 1px solid #333;
}
.ob-p-entry__moreFace {
  position: absolute;
  inset: 0 calc(4/375 * 100cqw) calc(4/375 * 100cqw) 0;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  gap: calc(8/375 * 100cqw);
  background-color: #333;
  border: 1px solid #333;
  color: #fff;
  font-size: min(12/375 * 100cqw, 14px);
  letter-spacing: 0.04em;
}
.ob-p-entry__moreFace img {
  width: calc(14/375 * 100cqw);
  height: calc(14/375 * 100cqw);
  rotate: -90deg;
}

/* -----------------------------------------------------------------------
## MARK: APPLICATION ##################################################
----------------------------------------------------------------------- */
.ob-p-application {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(24/375 * 100cqw, 24px);
  padding: min(64/375 * 100cqw, 60px) calc(40/375 * 100cqw);
  background: #FBF6F6 url(../img/260825/bg02.png) repeat center/contain;
}
.ob-p-application__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(4/375 * 100cqw);
}
.ob-p-application__label {
  font-family: var(--ff-montenegrin);
  font-size: calc(16/375 * 100cqw);
  color: #F16C6F;
  letter-spacing: 0.04em;
}
.ob-p-application__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(2/375 * 100cqw);
}
.ob-p-application__title {
  width: calc(256/375 * 100cqw);
}
.ob-p-application__title img {
  width: 100%;
}
.ob-p-application__subtitle {
  font-family: var(--ff-noto-sans);
  font-size: min(24/375 * 100cqw, 28px);
  color: #333;
}
.ob-p-application__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(24/375 * 100cqw);
  width: calc(295/375 * 100cqw);
  padding: min(32/375 * 100cqw, 30px) calc(24/375 * 100cqw);
  background-color: #fff;
  border: 1px solid #333;
}
.ob-p-application__lead {
  text-align: center;
  font-size: min(16/375 * 100cqw, 18px);
  line-height: 1.62;
  letter-spacing: 0.04em;
  color: #333;
}
.ob-p-application__mono {
  font-family: var(--ff-montserrat);
  font-weight: 600;
}
.ob-p-application__quote {
  color: #F16C6F;
  font-size: min(24/375 * 100cqw, 30px);
  font-weight: bold;
}
.ob-p-application__num {
  font-family: var(--ff-montserrat);
  color: #F16C6F;
  letter-spacing: 1px;
  font-size: min(24/375 * 100cqw, 30px);
  font-weight: bold;
}
.ob-p-application__num span {
  font-family: var(--ff-noto-sans);
  font-size: min(20/375 * 100cqw, 24px);
}
.ob-p-application__icons {
  width: calc(148/375 * 100cqw);
  margin-inline: auto;
}
.ob-p-application__announce {
  text-align: center;
  font-size: min(14/375 * 100cqw, 16px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
}
.ob-p-application__announce span {
  font-family: var(--ff-montserrat);
  font-size: min(18/375 * 100cqw, 23px);
  font-weight: bold;
}
.ob-p-application__button {
  position: relative;
  display: block;
  width: calc(269/375 * 100cqw);
  height: calc(61/375 * 100cqw);
}
.ob-p-application__button::before {
  content: "";
  position: absolute;
  inset: calc(5/375 * 100cqw) 0 0 calc(5/375 * 100cqw);
  background-color: #fff;
  border: 1px solid #333;
}
.ob-p-application__buttonFace {
  position: absolute;
  inset: 0 calc(5/375 * 100cqw) calc(5/375 * 100cqw) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(9/375 * 100cqw);
  background-color: #F16C6F;
  border: 1px solid #333;
  color: #fff;
  font-size: calc(14/375 * 100cqw);
  font-weight: bold;
  letter-spacing: 0.04em;
}
.ob-p-application__buttonFace img {
  width: calc(16/375 * 100cqw);
  height: calc(16/375 * 100cqw);
  rotate: -90deg;
}

/* -----------------------------------------------------------------------
## MARK: TOPICS ##################################################
----------------------------------------------------------------------- */
.ob-p-topics {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(24/375 * 100cqw, 24px);
  padding: min(64/375 * 100cqw, 64px) calc(40/375 * 100cqw);
  background: #FFD3D3 url(../img/260825/bg01.png) repeat center/contain;
}
.ob-p-topics__header {
  display: grid;
  align-items: center;
  text-align: center;
}
.ob-p-topics__label {
  font-family: var(--ff-montenegrin);
  font-size: calc(16/375 * 100cqw);
  color: #F16C6F;
  letter-spacing: 0.04em;
}
.ob-p-topics__title {
  font-family: var(--ff-noto-sans);
  font-size: min(24/375 * 100cqw, 28px);
  color: #333;
}
.ob-p-topics__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(15/375 * 100cqw);
  width: calc(295/375 * 100cqw);
}
.ob-p-topics__list a {
  display: block;
  transition: opacity 0.2s linear;
}
.ob-p-topics__list img {
  width: 100%;
  height: calc(114/375 * 100cqw);
  object-fit: cover;
}
@media (any-hover: hover) {
  .ob-p-topics__list a:hover {
    opacity: 0.7;
  }
}

:root {
  --ob-bauce: cubic-bezier(.15,.77,.59,1.14);
}

/* -----------------------------------------------------------------------
## MARK: ページロード時 ##################################################
----------------------------------------------------------------------- */
.ob-p-leftContents,
.ob-p-rightContents {
  opacity: 0;
  transition: opacity 1s 1.5s ease-in;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-leftContents,
  .ob-p-rightContents {
    transition: none;
  }
}
.ob-p-leftContents:is(.ob-p-main.is-loaded *),
.ob-p-rightContents:is(.ob-p-main.is-loaded *) {
  opacity: 1;
}

.ob-p-kv__crown {
  opacity: 0;
  rotate: y 0;
  transition: opacity 1s 0.15s linear, rotate 2s 0.15s cubic-bezier(0.17, 0.67, 0.33, 1);
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-kv__crown {
    transition: none;
  }
}
.ob-p-kv__crown:is(.ob-p-main.is-loaded *) {
  opacity: 1;
  rotate: y 1.5turn;
}

.ob-p-kv__anime {
  opacity: 0;
  translate: 0 50px;
  transition: opacity 0.8s 0.3s linear, translate 0.8s 0.2s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-kv__anime {
    transition: none;
  }
}
.ob-p-kv__anime:is(.ob-p-main.is-loaded *) {
  opacity: 1;
  translate: 0 0;
}

/* -----------------------------------------------------------------------
## MARK: 右カラムアニメーション ##################################################
----------------------------------------------------------------------- */
@keyframes rightContentsAnimation {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc(-100% - 3cqw));
  }
}
.ob-p-rightContents__inner-anime01 img {
  animation: rightContentsAnimation 100s linear 0s infinite normal none running;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-rightContents__inner-anime01 img {
    animation: none;
  }
}

.ob-p-rightContents__inner-anime02 img {
  animation: rightContentsAnimation 100s linear 0s infinite reverse none running;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-rightContents__inner-anime02 img {
    animation: none;
  }
}

/* -----------------------------------------------------------------------
## MARK: メインカラムアニメーション ##################################################
----------------------------------------------------------------------- */
.ob-a-fadeUp > * {
  opacity: 0;
  transform: translateY(75px);
  transition: opacity 1s linear, transform 1s var(--ob-bauce);
}
@media (prefers-reduced-motion: reduce) {
  .ob-a-fadeUp > * {
    opacity: 1;
    transform: translateY(0);
    transition: none;
  }
}
.ob-a-fadeUp > *:nth-child(2) {
  transition-delay: 0s;
}
.ob-a-fadeUp > *:nth-child(2) {
  transition-delay: 0.1s;
}
.ob-a-fadeUp > *:nth-child(3) {
  transition-delay: 0.2s;
}
.ob-a-fadeUp > *:nth-child(4) {
  transition-delay: 0.3s;
}
.ob-a-fadeUp > *:nth-child(5) {
  transition-delay: 0.4s;
}
.ob-a-fadeUp.is-show > * {
  opacity: 1;
  transform: translateY(0);
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ob-a-rotation {
  animation: rotation 10s linear 0s infinite normal forwards running;
}
@media (prefers-reduced-motion: reduce) {
  .ob-a-rotation {
    animation: none;
  }
}

.ob-p-overview__button .ob-p-overview__buttonFace {
  transition: translate 0.1s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-overview__button .ob-p-overview__buttonFace {
    transition: none;
  }
}
@media (any-hover: hover) {
  .ob-p-overview__button:hover .ob-p-overview__buttonFace {
    translate: 1.3333333333cqw 1.3333333333cqw;
  }
}

.ob-p-entry__more .ob-p-entry__moreFace {
  transition: translate 0.1s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-entry__more .ob-p-entry__moreFace {
    transition: none;
  }
}
@media (any-hover: hover) {
  .ob-p-entry__more:hover .ob-p-entry__moreFace {
    translate: 1.0666666667cqw 1.0666666667cqw;
  }
}

.ob-p-application__button .ob-p-application__buttonFace {
  transition: translate 0.1s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-application__button .ob-p-application__buttonFace {
    transition: none;
  }
}
@media (any-hover: hover) {
  .ob-p-application__button:hover .ob-p-application__buttonFace {
    translate: 1.3333333333cqw 1.3333333333cqw;
  }
}

.ob-p-entry__spot {
  scale: 0 1;
  transform-origin: center bottom;
  transition: scale 0.25s 0s linear;
}
@media (prefers-reduced-motion: reduce) {
  .ob-p-entry__spot {
    transition: none;
  }
}
.ob-p-entry__spot:is(.is-show *) {
  scale: 1 1;
}

/* -----------------------------------------------------------------------
## display ##################################################
----------------------------------------------------------------------- */
.u-pcbr {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .u-pcbr {
    display: inline !important;
  }
}

.u-spbr {
  display: inline;
}
@media screen and (min-width: 769px) {
  .u-spbr {
    display: none !important;
  }
}

.u-palt {
  font-feature-settings: "palt" on !important;
}

.ob-u-spBlock {
  display: block !important;
}
@media screen and (min-width: 769px) {
  .ob-u-spBlock {
    display: none !important;
  }
}

.ob-u-upperCase {
  text-transform: uppercase !important;
}

.ob-u-textCenter {
  text-align: center !important;
}

.ob-u-weightNormal {
  font-weight: normal !important;
}

.ob-u-familyNotoSans {
  font-family: var(--ff-noto-sans) !important;
}
