@charset "shift_jis";
/************************************
    Brand
************************************/
.page-brand .wrapper {
  padding: 17.8117048346vw 0 0;
}
.page-brand .pagetitle__container {
  position: relative;
}
.page-brand .pagetitle__container .breadcrumbs {
  margin-bottom: 10.1781170483vw;
  padding: 0;
}
.page-brand .pagetitle__container .breadcrumbs__item {
  color: #ffffff;
}
.page-brand .pagetitle__container .breadcrumbs__item a {
  color: #ffffff;
}
.page-brand .pagetitle__container .pagetitle {
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: 7.1246819338vw;
  letter-spacing: 0.15em;
  margin-bottom: 10.1781170483vw;
}
.page-brand .pagetitle__container .pagetitle::before {
  background-color: #ffffff;
  border-radius: 50px;
  content: "";
  display: block;
  height: 6px;
  line-height: 1;
  margin-right: 2.5445292621vw;
  vertical-align: middle;
  width: 5.0890585242vw;
}
.page-brand .pagetitle__container .pagetitle__lead {
  color: #ffffff;
  font-size: 4.0712468193vw;
  line-height: 2;
}
.page-brand .pagetitle__container .mv {
  line-height: 0;
}
.page-brand .pagetitle__container .mv img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.page-brand .pagetitle__inner {
  position: absolute;
  z-index: 2;
}
@media all and (min-width: 1024px) {
  .page-brand .wrapper {
    padding: min(9.7222222222vw, 140px) 0 0;
  }
  .page-brand .pagetitle__container .breadcrumbs {
    margin-bottom: min(2.7777777778vw, 40px);
    padding: 0;
    width: 100%;
  }
  .page-brand .pagetitle__container .pagetitle {
    flex-wrap: wrap;
    font-size: min(2.2222222222vw, 32px);
    margin-bottom: min(2.7777777778vw, 40px);
  }
  .page-brand .pagetitle__container .pagetitle::before {
    margin-right: min(1.3888888889vw, 20px);
    width: min(1.3888888889vw, 20px);
  }
  .page-brand .pagetitle__container .pagetitle__lead {
    font-size: clamp(14px, 1.1111111111vw, 16px);
    margin-left: min(2.7777777778vw, 40px);
  }
  .page-brand .pagetitle__container .mv {
    height: min(27.7777777778vw, 400px);
    width: 100%;
  }
  .page-brand .pagetitle__inner {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}




/* ---------------------------
   Block 2 : Intro
--------------------------- */
.p-intro {
  position: relative;
  overflow: hidden;
  padding: 120px 0 160px;
  background: url("/assets/images/brand/bg_circle.svg") no-repeat 55% 0;
}
@media (max-width:1023px) {
  .p-intro {
    padding: 20vw 0 15vw;
    background: url("/assets/images/brand/bg_circle-sp.svg") no-repeat 0 0 / 100% auto;
  }
}

.p-intro__body {
  position: relative;
  max-width: 835px;
  margin: 0 auto 160px;
}
@media (max-width:1023px) {
  .p-intro__body {
    margin: 0 2.5vw 20vw;
  }
}

.p-intro__card {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding: 60px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .5);
  box-shadow: 0 8px 32px rgba(90, 100, 130, .30);
  gap: 40px;
}
@media (max-width:1023px) {
  .p-intro__card {
    padding: 10.2vw 8.2vw;
    border-radius: 5vw;
    gap: 8.2vw;
  }
}

.p-intro__kicker {
  display: flex;
  align-items: center;
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #0b3a7a;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-intro__kicker {
    font-size: 3vw;
  }
}

.p-intro__dot {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  transition: transform .28s ease;
  background: url("/assets/images/brand/ico_dot.svg") no-repeat center / contain;
}
.p-intro__dot--black {
  background: url("/assets/images/brand/ico_dot_black.svg") no-repeat center / contain;
}

.p-intro__title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-intro__title {
    font-size: 7.1vw;
  }
}

.p-intro__text {
  display: grid;
  gap: 12px;
}
@media (max-width:1023px) {
  .p-intro__text {
    gap: 3vw;
  }
}

.p-intro__text p {
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width:1023px) {
  .p-intro__text p {
    font-size: 4.1vw;
    line-height: 2;
  }
}

.p-intro__grid {
  display: grid;
  align-items: center;
  grid-template-columns: 1.02fr .98fr;
  gap: 80px;
}
@media (max-width:1023px) {
  .p-intro__grid {
    grid-template-columns: 1fr;
    gap: 15vw;
  }
}

.p-intro__media {
  overflow: hidden;
  border-radius: 0 20px 20px 0;
  height: 720px;
  background: url("/assets/images/brand/intro_img01.png") no-repeat center / cover;
}
@media (max-width:1023px) {
  .p-intro__media {
    margin-right: 6vw;
    border-radius: 0 5.1vw 5.1vw 0;
    height: 77vw;
  }
}

.p-intro__sloganBody {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  max-width: 540px;
  gap: 40px;
}
@media (max-width:1023px) {
  .p-intro__sloganBody {
    margin: 0 6vw;
    gap: 8.2vw;
  }
}

.p-intro__sloganKicker {
  display: flex;
  align-items: center;
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-intro__sloganKicker {
    font-size: 3.8vw;
  }
}

.p-intro__sloganTitle {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  letter-spacing: .04em;
  font-size: 56px;
  font-weight: 400;
  line-height: 1.5;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-intro__sloganTitle {
    font-size: 10.2vw;
    gap: 2vw;
  }
}


/* ---------------------------
   Block 3 : Numbers
--------------------------- */
.p-numbers__hero {
  position: relative;
  margin-bottom: -80px;
  background: url("/assets/images/brand/hero_illust.png") no-repeat 0 0 / 100% auto;
  aspect-ratio: 9 / 5;
}
@media (max-width:1023px) {
  .p-numbers__hero {
    margin-bottom: 0;
    background: url("/assets/images/brand/hero_illust-sp.png") no-repeat 0 0 / 100% auto;
    aspect-ratio: 39 / 28;
  }
}

.p-numbers__heroCard {
  position: absolute;
  top: -20px;
  left: calc(50% - 570px);
  display: flex;
  flex-direction: column;
  width: 360px;
  padding: 40px;
  border-radius: 0 0 20px 20px;
  background: #fff;
  box-shadow: 4px 4px 0 rgba(43, 44, 48, .2);
  gap: 32px;
}
@media (max-width:1023px) {
  .p-numbers__heroCard {
    position: absolute;
    z-index: 1;
    top: 66vw;
    left: 0;
    width: 94vw;
    padding: 8vw 6vw;
    border-radius: 0 5vw 5vw 0;
    gap: 4.1vw;
  }
}

.p-numbers__heroTitle {
  letter-spacing: .12em;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-numbers__heroTitle {
    font-size: 5.1vw;
  }
}

.p-numbers__heroText {
  display: grid;
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  gap: 12px;
}
@media (max-width:1023px) {
  .p-numbers__heroText {
    font-size: 3.6vw;
    gap: 2vw;
  }
}

.p-numbers__container {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 80px calc(50% - 570px) 0;
  border-radius: 80px 80px 0 0;
  background: rgba(246, 246, 246, .8);
  gap: 20px;
  backdrop-filter: blur(40px);
}
@media (max-width:1023px) {
  .p-numbers__container {
    z-index: -1;
    padding: 60vw 2.5vw 0;
    border-radius: 0;
  }
}

.p-numbers__title {
  margin: 0 0 18px;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-numbers__title {
    font-size: 7.18vw;
  }
}

.p-numbers__gridTop {
  display: grid;
  justify-content: space-between;
  grid-template-columns: 325px 325px 450px;
  gap: 20px;
}

.p-numbers__gridWide {
  display: grid;
  margin-bottom: 80px;
  grid-template-columns: 560px 560px;
  gap: 20px;
}
@media (max-width:1023px) {
  .p-numbers__gridTop,
  .p-numbers__gridWide {
    justify-content: stretch;
    grid-template-columns: 1fr;
  }
  .p-numbers__gridWide {
    margin-bottom: 0;
  }
}

.p-stat {
  overflow: hidden;
  height: 345px;
  padding: 30px;
  border-radius: 20px;
}

.p-numbers__gridWide .p-stat {
  height: 300px;
  padding: 40px 50px;
}
@media (max-width:1023px) {
  .p-stat,
  .p-numbers__gridWide .p-stat {
    height: auto;
    padding: 5.1vw;
    border-radius: 2vw;
  }
}

.p-stat__label {
  position: relative;
  margin-bottom: 15px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-stat__label {
    font-size: 4.6vw;
  }
}

.p-stat__thumb {
  width: auto;
  margin-bottom: 15px;
  text-align: center;
}

.p-stat__value {
  display: flex;
  align-items: flex-end;
  margin: 0 0 6px;
  margin-bottom: 15px;
  letter-spacing: .03em;
  line-height: 1;
  color: #0b3a7a;
  gap: 5px;
}
@media (max-width:1023px) {
  .p-stat__value {
    margin-bottom: 2vw;
    gap: 1vw;
  }
}

.p-stat__text {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: #0b3a7a;
}

.p-stat__text--20 {
  font-size: 20px;
}
@media (max-width:1023px) {
  .p-stat__text {
    font-size: 5.1vw;
  }
  .p-stat__text--20 {
    font-size: 4.1vw;
  }
}

.p-stat__num {
  letter-spacing: -.04em;
  font-family: 'Jost';
  font-size: 64px;
  font-weight: 500;
  line-height: .7;
}
@media (max-width:1023px) {
  .p-stat__num {
    font-size: 11.2vw;
  }
}

.p-stat__num--50 {
  font-size: 50px;
}

.p-stat__num--80 {
  font-size: 80px;
}

.p-stat__unit {
  font-size: 24px;
  font-weight: 700;
}
@media (max-width:1023px) {
  .p-stat__unit {
    font-size: 5.1vw;
  }
}

.p-stat__note {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-stat__note {
    font-size: 2.7vw;
  }
}

.p-stat--white {
  background: #fff;
}

.p-stat--grad {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), linear-gradient(136.45deg, #CEDEF4 23.6%, #FAB597 137.38%);
}



.p-stat--navy {
  color: #fff;
  background: #0b3a7a;
}

.p-stat--navy .p-stat__value,
.p-stat--navy .p-stat__unit,
.p-stat--navy .p-stat__text {
  color: #fff;
}

@media (min-width:1024px) {
  .p-stat--01 .p-stat__icon {
    width: 186px;
  }
  .p-stat--02 .p-stat__thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 145px;
  }
  .p-stat--02 .p-stat__icon {
    width: 175px;
  }
  .p-stat--03 .p-stat__thumb {
    position: absolute;
    top: 30px;
    left: 30px;
  }
  .p-stat--03 .p-stat__label {
    margin-bottom: 40px;
  }
  .p-stat--03 .p-stat__label,
  .p-stat--03 .p-stat__value,
  .p-stat--03 .p-stat__note {
    margin-left: 200px;
  }
  .p-stat--04 .p-stat__thumb {
    position: absolute;
    top: 40px;
    right: 50px;
  }
  .p-stat--05 .p-stat__label,
  .p-stat--05 .p-stat__value,
  .p-stat--05 .p-stat__note {
    margin-right: 230px;
  }
  .p-stat--05 .p-stat__thumb {
    position: absolute;
    top: 40px;
    right: 50px;
  }
  .p-stat--06 .p-stat__label,
  .p-stat--06 .p-stat__value,
  .p-stat--06 .p-stat__note {
    margin-right: 230px;
  }
  .p-stat--06 .p-stat__thumb {
    position: absolute;
    top: 40px;
    right: 50px;
  }
  .p-stat--06 .p-stat__icon {
    width: 234px;
  }
  .p-stat--07 .p-stat__label,
  .p-stat--07 .p-stat__value,
  .p-stat--07 .p-stat__note {
    margin-right: 230px;
  }
  .p-stat--07 .p-stat__thumb {
    position: absolute;
    top: 40px;
    right: 50px;
  }
  .p-stat--07 .p-stat__icon {
    width: 239px;
  }
}
@media (max-width:1023px) {
  .p-stat--01 .p-stat__label,
  .p-stat--01 .p-stat__value,
  .p-stat--01 .p-stat__note {
    margin-left: 36vw;
  }
  .p-stat--01 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    left: 5vw;
  }
  .p-stat--01 .p-stat__icon {
    width: 28vw;
  }
  .p-stat--02 .p-stat__label,
  .p-stat--02 .p-stat__value,
  .p-stat--02 .p-stat__note {
    margin-right: 36vw;
  }
  .p-stat--02 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    right: 5vw;
  }
  .p-stat--02 .p-stat__icon {
    width: 39vw;
  }
  .p-stat--03 .p-stat__label,
  .p-stat--03 .p-stat__value,
  .p-stat--03 .p-stat__note {
    margin-left: 36vw;
  }
  .p-stat--03 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    left: 5vw;
  }
  .p-stat--03 .p-stat__icon {
    width: 30vw;
  }
  .p-stat--04 .p-stat__label,
  .p-stat--04 .p-stat__value,
  .p-stat--04 .p-stat__note {
    margin-right: 36vw;
  }
  .p-stat--04 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    right: 5vw;
  }
  .p-stat--04 .p-stat__icon {
    width: 40vw;
  }
  .p-stat--05 .p-stat__label,
  .p-stat--05 .p-stat__value,
  .p-stat--05 .p-stat__note {
    margin-left: 40vw;
  }
  .p-stat--05 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    left: 5vw;
  }
  .p-stat--05 .p-stat__icon {
    width: 36vw;
  }
  .p-stat--06 .p-stat__label,
  .p-stat--06 .p-stat__value,
  .p-stat--06 .p-stat__text,
  .p-stat--06 .p-stat__note {
    margin-right: 36vw;
  }
  .p-stat--06 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    right: 5vw;
  }
  .p-stat--06 .p-stat__icon {
    width: 37vw;
  }
  .p-stat--07 .p-stat__label,
  .p-stat--07 .p-stat__value,
  .p-stat--07 .p-stat__text,
  .p-stat--07 .p-stat__note {
    margin-left: 40vw;
  }
  .p-stat--07 .p-stat__thumb {
    position: absolute;
    top: 5vw;
    left: 5vw;
  }
  .p-stat--07 .p-stat__icon {
    width: 39vw;
  }
}


/* ---------------------------
   Block 4 : Domain
--------------------------- */
.p-domain {
  display: grid;
  align-items: center;
  margin: 80px 0;
  grid-template-columns: 1.1fr .9fr;
  gap: 80px;
}
@media (max-width:1023px) {
  .p-domain {
    margin: 10vw 0 0;
    grid-template-columns: 1fr;
    gap: 10vw;
  }
}

.p-domain__body {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  max-width: 540px;
  gap: 30px;
}
@media (max-width:1023px) {
  .p-domain__body {
    margin: 0;
    gap: 8.2vw;
  }
}

.p-domain__title {
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-domain__title {
    font-size: 7.1vw;
  }
}

.p-domain__text {
  letter-spacing: .04em;
  font-size: 18px;
  line-height: 2;
}
@media (max-width:1023px) {
  .p-domain__text {
    font-size: 4.1vw;
  }
}


/* ---------------------------
   Block 3 : Feature
--------------------------- */
.p-feature {
  position: relative;
  margin-bottom: 200px;
}
@media (max-width:1023px) {
  .p-feature {
    margin-bottom: 10vw;
  }
}

.p-featureCard {
  overflow: hidden;
  width: 880px !important;
  padding: 40px 60px;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(90, 100, 130, .30);
}
@media (max-width:1023px) {
  .p-featureCard {
    width: 82vw !important;
    padding: 5vw;
    border-radius: 5vw;
  }
}

.p-featureCard--01 {
  background: linear-gradient(135deg, rgba(244, 180, 161, .2) 0%, #fff 60%);
}
.p-featureCard--02 {
  background: linear-gradient(135deg, rgba(180, 232, 208, .2) 0%, #fff 60%);
}
.p-featureCard--03 {
  background: linear-gradient(135deg, rgba(189, 215, 240, .2) 0%, #fff 60%);
}
.p-featureCard--04 {
  background: linear-gradient(135deg, rgba(237, 237, 119, .2) 0%, #fff 60%);
}
.p-featureCard--05 {
  background: linear-gradient(135deg, rgba(193, 168, 236, .2) 0%, #fff 60%);
}
@media (max-width:1023px) {
  .p-featureCard--01 {
    background: linear-gradient(0deg, rgba(244, 180, 161, .3) 0%, #fff 60%);
  }
  .p-featureCard--02 {
    background: linear-gradient(0deg, rgba(180, 232, 208, .3) 0%, #fff 60%);
  }
  .p-featureCard--03 {
    background: linear-gradient(0deg, rgba(189, 215, 240, .3) 0%, #fff 60%);
  }
  .p-featureCard--04 {
    background: linear-gradient(0deg, rgba(237, 237, 119, .3) 0%, #fff 60%);
  }
  .p-featureCard--05 {
    background: linear-gradient(0deg, rgba(193, 168, 236, .3) 0%, #fff 60%);
  }
}

.p-featureCard__inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
@media (max-width:1023px) {
  .p-featureCard__inner {
    flex-direction: column-reverse;
    gap: 5vw;
    padding-bottom: 20vw;
  }
}

.p-featureCard__content {
  display: flex;
  flex-direction: column;
  order: 1;
  width: 410px;
  gap: 30px;
}
@media (max-width:1023px) {
  .p-featureCard__content {
    width: auto;
    gap: 5vw;
  }
}

.p-featureCard__kicker {
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-featureCard__kicker {
    font-size: 3vw;
  }
}

.p-featureCard__title {
  display: grid;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
  gap: 4px;
}
@media (max-width:1023px) {
  .p-featureCard__title {
    font-size: 7.1vw;
  }
}

.p-featureCard__text {
  letter-spacing: .04em;
  font-size: 16px;
  line-height: 2;
}
@media (max-width:1023px) {
  .p-featureCard__text {
    font-size: 4.1vw;
  }
}

.p-featureCard__button {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 15px 20px;
  transition: background .2s ease;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  border: 1px solid #333;
  border-radius: 4px;
  gap: 40px;
  cursor: pointer;
}
@media (max-width:1023px) {
  .p-featureCard__button {
    padding: 2.5vw 4vw;
    font-size: 3vw;
    border-radius: 4px;
    gap: 5vw;
    position: absolute;
    bottom: 10vw;
  }
}

.p-featureCard__buttonIcon {
  width: 23px;
  height: 23px;
  transition: transform .2s ease;
  transform: rotate(0deg);
  background: url("/assets/images/brand/ico_plus.svg") no-repeat center / contain;
}
@media (max-width:1023px) {
  .p-featureCard__buttonIcon {
    width: 4.4vw;
    height: 4.4vw;
  }
}

.p-featureCard__button:hover {
  background: #ebf0f7;
}

.p-featureCard__button:hover .p-featureCard__buttonIcon {
  transform: rotate(-90deg);
}


.p-featureCard__image {
  order: 2;
}

.p-featureCard__image img {
  display: block;
  width: 100%;
  height: auto;
}

.p-featureModal {
  display: none;
}

#colorbox .p-featureModal {
  display: block;
}

.p-featureModal__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 1000px;
  padding: 28px 50px 40px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 32px rgba(0, 0, 0, .15);
  gap: 32px;
}
@media (max-width:1023px) {
  .p-featureModal__inner {
    padding: 5vw;
    border-radius: 5vw;
    gap: 7vw;
  }
}

.p-featureModal__box1 {
  display: grid;
  align-items: center;
  grid-template-columns: 210px auto;
  gap: 32px;
}
@media (max-width:1023px) {
  .p-featureModal__box1 {
    grid-template-columns: 1fr;
    gap: 7vw;
  }
  .p-featureModal__image {
    width: 60vw;
    margin: auto;
  }
}

.p-featureModal__title {
  display: grid;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-featureModal__title {
    font-size: 7.1vw;
  }
}

.p-featureModal__kicker {
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 700;
}
@media (max-width:1023px) {
  .p-featureModal__kicker {
    font-size: 3vw;
  }
  .p-featureModal__text {
    font-size: 4.1vw;
  }
}

.p-featureModal__box2 {
  display: grid;
  align-items: center;
  grid-template-columns: auto 460px;
  gap: 40px;
}
@media (max-width:1023px) {
  .p-featureModal__box2 {
    grid-template-columns: 1fr;
    gap: 7vw;
  }
}

.p-featureModal__body {
  display: grid;
  gap: 10px;
}
@media (max-width:1023px) {
  .p-featureModal__body {
    gap: 3vw;
  }
}

.p-featureModal__head {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
@media (max-width:1023px) {
  .p-featureModal__head {
    gap: 3vw;
  }
}

.p-featureModal__num {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}
@media all and (max-width: 1023px) {
  .p-featureModal__num {
    font-size: 4.1vw;
  }
}

.p-featureModal__lead {
  letter-spacing: .04em;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
}
@media all and (max-width: 1023px) {
  .p-featureModal__lead {
    font-size: 4.6vw;
  }
}

.p-featureModal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
  border: 0;
  background: none;
}
@media all and (max-width: 1023px) {
  .p-featureModal__close {
    width: 10vw;
    height: 10vw;
  }
}


/* ---------------------------
   Block 4 : Media
--------------------------- */
.p-media {
  position: relative;
  padding-bottom: 150px;
}
@media (max-width:1023px) {
  .p-media {
    padding-bottom: 0;
  }
}

.p-media__hero {
  position: relative;
  margin: 0 auto;
  background: url("/assets/images/brand/media_illust.png") no-repeat 50% 0 / 100% auto;
  aspect-ratio: 9 / 5;
}
@media (max-width:1023px) {
  .p-media__hero {
    z-index: 1;
    margin-bottom: 10vw;
    background: url("/assets/images/brand/media_illust-sp.png") no-repeat 0 0 / 100% auto;
    aspect-ratio: 39 / 28;
  }
}

.p-media__heroCard {
  position: absolute;
  top: -20px;
  right: calc(50% - 570px);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  width: 265px;
  padding: 40px;
  border-radius: 0 0 20px 20px;
  background: #fff;
  box-shadow: 4px 4px 0 rgba(43, 44, 48, .2);
  gap: 32px;
}
@media (max-width:1023px) {
  .p-media__heroCard {
    position: absolute;
    z-index: 1;
    top: 66vw;
    right: 0;
    width: 94vw;
    padding: 8vw 6vw;
    border-radius: 5vw 0 0 5vw;
    gap: 4.1vw;
  }
}

.p-media__heroTitle {
  letter-spacing: .12em;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-media__heroTitle {
    letter-spacing: .04em;
    font-size: 5.1vw;
    font-weight: 700;
  }
}

.p-media__heroText {
  display: grid;
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  gap: 12px;
}
@media (max-width:1023px) {
  .p-media__heroText {
    font-size: 3.6vw;
    gap: 2vw;
  }
}

.p-media__container {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: -80px;
  padding: 80px 0 0;
  border-radius: 80px 80px 0 0;
  background: rgba(246, 246, 246, .8);
  gap: 20px;
  backdrop-filter: blur(40px);
}
@media (max-width:1023px) {
  .p-media__container {
    top: 0;
    padding: 60vw 2.5vw 0;
    border-radius: 0;
  }
}

.p-mediaVideo {
  position: relative;
}

.p-mediaVideo .contentslider__inner {
  margin-left: calc(50% - 570px);
}
@media (max-width:1023px) {
  .p-mediaVideo .contentslider__inner {
    margin-left: 2.5vw;
  }
}

.p-mediaVideo__title {
  max-width: 1140px;
  margin: 0 auto 30px;
  letter-spacing: .04em;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-mediaVideo__title {
    margin: 0 2.5vw 5vw;
    font-size: 5.1vw;
  }
}

.p-mediaThumb {
  flex: 0 0 340px;
  text-decoration: none;
}
@media (max-width:1023px) {
  .p-mediaThumb {
    flex: 0 0 20vw;
  }
}

.p-mediaThumb__img {
  display: block;
  overflow: hidden;
  margin-bottom: 8px;
}

.p-mediaThumb__img img {
  width: 100%;
  height: 200px;
  transition: transform .28s ease;
  object-fit: cover;
}

.p-mediaThumb__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-mediaThumb__label {
  font-size: 16px;
}

.p-mediaThumb__icon {
  position: relative;
  overflow: hidden;
  width: 14px;
  height: 14px;
}

.p-mediaThumb__icon::before,
.p-mediaThumb__icon::after {
  position: absolute;
  content: "";
  transition: transform .35s ease, opacity .35s ease;
  background: url("/assets/images/brand/ico_arrowup.svg") no-repeat center / contain;
  inset: 0;
}

.p-mediaThumb__icon::before {
  transform: translate(-200%, 200%);
}

.p-mediaThumb__icon::after {
  transform: translate(0, 0);
}
@media (hover:hover) {
  .p-mediaThumb:hover .p-mediaThumb__icon::before {
    transform: translate(0, 0);
  }

  .p-mediaThumb:hover .p-mediaThumb__icon::after {
    transform: translate(200%, -200%);
  }
}
@media (hover:hover) {
  .p-mediaThumb__img:hover img {
    transform: scale(1.1);
  }
}

.p-mediaVideo__cta {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 1140px;
  margin: 40px auto 80px;
}
@media (max-width:1023px) {
  .p-mediaVideo__cta {
    align-items: flex-start;
    flex-direction: column;
    margin: 4vw 0 10vw 2.5vw;
    gap: 4vw;
  }
}


.p-mediaLinks {
  display: grid;
  margin-bottom: 80px;
  grid-template-columns: 1fr;
  gap: 40px;
}
@media (max-width:1023px) {
  .p-mediaLinks {
    margin-bottom: 0;
    grid-template-columns: 1fr;
  }
}

.p-linkCard {
  display: grid;
  align-items: center;
  padding: 14px;
  text-decoration: none;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 24px rgba(0, 0, 0, .10);
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
@media (max-width:1023px) {
  .p-linkCard {
    grid-template-columns: 1fr;
  }
}

.p-linkCard__media img {
  width: 100%;
  height: 120px;
  border-radius: 12px;
  object-fit: cover;
}

.p-linkCard__kicker {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  color: #0b3a7a;
}

.p-linkCard__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.p-marquee {
  overflow: hidden;
  width: 100%;
  margin-bottom: 120px;
  white-space: nowrap;
}
@media (max-width:1023px) {
  .p-marquee {
    margin-bottom: 15vw;
  }
}

.p-marquee__track {
  display: inline-flex;
  animation: p-marquee 18s linear infinite;
  gap: 48px;
  will-change: transform;
}

.p-marquee__text {
  animation: p-marquee-gradient 6s linear infinite;
  white-space: nowrap;
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  background: linear-gradient(90deg, #cedef4 0%, #fab597 50%, #cedef4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-fill-color: transparent;
}
@media (max-width:1023px) {
  .p-marquee__text {
    font-size: 10vw;
  }
}
@keyframes p-marquee-gradient {
  0% {
    background-position: 0 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
@keyframes p-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.p-gallery {
  display: grid;
  margin: 0;
  padding: 60px calc(50% - 570px) 220px;
  border-radius: 20px;
  background: linear-gradient(0deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .5)), linear-gradient(136.45deg, #cedef4 23.6%, #fab597 137.38%);
  grid-template-columns: 1fr 2fr;
  gap: 18px;
}
@media (max-width:1023px) {
  .p-gallery {
    padding: 10vw 2.5vw 25vw;
    grid-template-columns: 1fr;
    gap: 12vw;
  }
}

.p-gallery__lead {
  display: flex;
  flex-direction: column;
  padding: 60px 40px;
  border-radius: 8px;
  background: #fff;
}
@media (max-width:1023px) {
  .p-gallery__lead {
    padding: 0 5vw;
    background: none;
  }
}

.p-gallery__lead>*:last-child {
  align-self: flex-start;
  width: auto;
  margin-top: auto;
}

.p-gallery__title {
  margin: 0 0 10px;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width:1023px) {
  .p-gallery__title {
    font-size: 7.1vw;
  }
}

.p-gallery__text {
  margin: 0 0 14px;
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width:1023px) {
  .p-gallery__text {
    font-size: 4.1vw;
    line-height: 2;
  }
}

.p-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width:1023px) {
  .p-gallery__grid {
    gap: 2.5vw;
  }
}

.p-gallery__bnr {
  margin: -120px auto 0;
}
@media (max-width:1023px) {
  .p-gallery__bnr {
    margin: -12vw 5vw 12vw;
  }
}

.p-tile {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 24px rgba(0, 0, 0, .12);
}
@media (max-width:1023px) {
  .p-tile {
    border-radius: 2vw;
    height: 66vw;
  }
}

.p-tile__img {
  width: 100%;
  height: 100%;
  transition: transform .35s ease;
  transform: scale(1);
  object-fit: cover;
}

.p-tile__label {
  position: absolute;
  right: 40px;
  bottom: 12px;
  left: 12px;
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  color: #fff;
}
@media (max-width:1023px) {
  .p-tile__label {
    font-size: 3.8vw;
    line-height: 1.5;
  }
}

.p-tile__icon {
  position: absolute;
  right: 20px;
  bottom: 20px;
  overflow: hidden;
  width: 14px;
  height: 14px;
}
@media (max-width:1023px) {
  .p-tile__icon {
    width: 3.4vw;
    height: 3.4vw;
  }
}

.p-tile__icon::before,
.p-tile__icon::after {
  position: absolute;
  content: "";
  transition: transform .35s ease, opacity .35s ease;
  background: url("/assets/images/brand/ico_arrowup_w.svg") no-repeat center / contain;
  inset: 0;
}

.p-tile__icon::before {
  transform: translate(-200%, 200%);
}

.p-tile__icon::after {
  transform: translate(0, 0);
}
@media (hover:hover) {
  .p-tile:hover .p-tile__icon::before {
    transform: translate(0, 0);
  }

  .p-tile:hover .p-tile__icon::after {
    transform: translate(200%, -200%);
  }
}

.p-tile::before {
  position: absolute;
  content: "";
  transition: opacity .25s ease;
  opacity: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, .0) 40%, rgba(0, 0, 0, .35) 100%);
  inset: 0;
}
@media (hover:hover) {
  .p-tile:hover::before {
    opacity: .9;
  }
  .p-tile:hover .p-tile__img {
    transform: scale(1.1);
  }
}


/* ---------------------------
   Block 5 : Closing
--------------------------- */
.p-closing {
  margin: 150px 0 0;
}
@media (max-width:1023px) {
  .p-closing {
    margin: 0;
    padding: 100vw 0 0;
    background: url("/assets/images/brand/bg_circle-sp.svg") no-repeat 0 0 / 100% auto;
  }
}

.p-closing__hero {
  position: relative;
  margin: 0 0 -80px;
  background: url("/assets/images/brand/closing_illust.png") no-repeat 50% 0 / 100% auto;
  aspect-ratio: 9 / 5;
}
@media (max-width:1023px) {
  .p-closing__hero {
    margin: 0 0 -5.1vw;
    background: url("/assets/images/brand/closing_illust-sp.png") no-repeat 0 0 / 100% auto;
    aspect-ratio: 39 / 28;
  }
}

.p-closing__card {
  position: absolute;
  z-index: 1;
  top: -150px;
  right: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  max-width: 865px;
  margin: auto;
  padding: 60px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .5);
  box-shadow: 0 8px 32px rgba(90, 100, 130, .30);
  gap: 40px;
  backdrop-filter: blur(40px);
}
@media (max-width:1023px) {
  .p-closing__card {
    top: -100vw;
    margin: 0 2.5vw;
    padding: 10vw 9vw;
    gap: 8.2vw;
  }
}

.p-closing__kicker {
  display: flex;
  align-items: center;
  letter-spacing: .08em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #0b3a7a;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-closing__kicker {
    font-size: 3vw;
  }
}

.p-closing__dot {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  transition: transform .28s ease;
  background: url("/assets/images/brand/ico_dot.svg") no-repeat center / contain;
}

.p-closing__title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin: 0 0 16px;
  letter-spacing: .04em;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
  gap: 8px;
}
@media (max-width:1023px) {
  .p-closing__title {
    font-size: 7.1vw;
  }
}

.p-closing__text {
  display: grid;
  gap: 12px;
}
@media (max-width:1023px) {
  .p-closing__text p {
    gap: 3vw;
  }
}

.p-closing__text p {
  letter-spacing: .04em;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width:1023px) {
  .p-closing__text p {
    font-size: 4.1vw;
    line-height: 2;
  }
}

.p-closing__container {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 80px calc(50% - 570px);
  border-radius: 80px 80px 0 0;
  background: rgba(246, 246, 246, .9);
  gap: 20px;
  backdrop-filter: blur(40px);
}
@media (max-width:1023px) {
  .p-closing__container {
    padding: 10vw 5.1vw 15vw;
    border-radius: 5.1vw 5.1vw 0 0;
    background: rgba(246, 246, 246, .4);
    gap: 3vw;
  }
}

.p-closingLinks {
  display: grid;
  margin-top: 18px;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
@media (max-width:1023px) {
  .p-closingLinks {
    grid-template-columns: 1fr;
  }
}



[data-js-elem="brandFeatureSlider"] {
  overflow: visible;
  width: 100%;
  height: auto;
}

[data-js-elem="brandFeatureSlider"] .swiper-wrapper {
  align-items: stretch;
}

[data-js-elem="brandMovieSlider"] .swiper-slide {
  max-width: 340px;
  margin-right: 32px;
}
@media (max-width:1023px) {
  [data-js-elem="brandMovieSlider"] .swiper-slide {
    max-width: 75vw;
  }
}

[data-js-elem="brandFeatureSlider"] .swiper-slide {
  width: 1140px;
  transition: transform .2s ease;
  transform: scale(.9);
  height: auto;
}

[data-js-elem="brandFeatureSlider"] .swiper-slide-active {
  transform: scale(1);
}

[data-js-elem="brandMovieSlider"]+.swiper-ui {
  position: absolute;
  top: 0;
  right: calc(50% - 570px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 150px;
  height: 65px;
}

[data-js-elem="brandFeatureSlider"]+.swiper-ui {
  position: absolute;
  right: calc(50% - 570px);
  bottom: -95px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 150px;
  height: 65px;
}

@media (max-width:1023px) {
  [data-js-elem="brandFeatureSlider"]+.swiper-ui {
    display: none;
  }
}

[data-js-elem="brandMovieSlider"]+.swiper-ui .swiper-button-prev,
[data-js-elem="brandFeatureSlider"]+.swiper-ui .swiper-button-prev {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  display: block;
  width: 65px;
  height: 65px;
  background: url("/assets/images/btn_slider-prev.svg") no-repeat center / contain;
}

[data-js-elem="brandMovieSlider"]+.swiper-ui .swiper-button-prev::after,
[data-js-elem="brandFeatureSlider"]+.swiper-ui .swiper-button-prev::after {
  display: none;
}

[data-js-elem="brandMovieSlider"]+.swiper-ui .swiper-button-next,
[data-js-elem="brandFeatureSlider"]+.swiper-ui .swiper-button-next {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  display: block;
  width: 65px;
  height: 65px;
  background: url("/assets/images/btn_slider-next.svg") no-repeat center / contain;
}

[data-js-elem="brandMovieSlider"]+.swiper-ui .swiper-button-next::after,
[data-js-elem="brandFeatureSlider"]+.swiper-ui .swiper-button-next::after {
  display: none;
}

[data-js-elem="brandMovieSlider"].is-destroy .swiper-ui,
[data-js-elem="brandFeatureSlider"].is-destroy .swiper-ui {
  display: none;
}

[data-js-elem="brandMovieSlider"]+.swiper-ui .swiper-pagination,
[data-js-elem="brandFeatureSlider"]+.swiper-ui .swiper-pagination {
  font-size: 3.5623409669vw;
}

[data-js-elem="brandMovieSlider"].is-destroy .swiper-slide,
[data-js-elem="brandFeatureSlider"].is-destroy .swiper-slide {
  margin-right: auto;
  margin-left: auto;
}


body.is-modal-open{
  overflow: hidden;
  touch-action: none;
}
#cboxLoadedContent{
  max-height: 90vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border: none;
  border-radius: 20px;
}
#cboxContent {
  background: none;
}
#cboxOverlay {
  background: rgba(0,0,0,0.75);
}
#cboxCurrent {
  display: none !important;
}

