@charset "utf-8";

/* ==================================================
   Content revision — October 2026
================================================== */

html {
  font-size:18px;
}

/*----- LOOP SHINE -----*/
@keyframes revision-shine-loop {
  0%, 12% {
    background-position:180% 0;
    opacity:0;
  }

  16% {
    opacity:1;
  }

  42% {
    background-position:-80% 0;
    opacity:1;
  }

  46%, 100% {
    background-position:-80% 0;
    opacity:0;
  }
}

@keyframes revision-icon-float {
  0%, 100% {
    transform:translateY(0);
  }

  50% {
    transform:translateY(-9px);
  }
}

#top_mv .maincopy {
  position:relative;
}

#top_mv .mv_first_label {
  width:min(165px,44%);
  margin:0 auto 4px;
  padding:0;
  line-height:0;
}

#top_mv .mv_first_label img {
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,0.5));
}

#top_mv .mv_first_label:after {
  display:none;
}

#top_mv .service_logo {
  width:min(590px,118%);
  margin-top:30px;
  align-self:center;
}

#top_mv .mv_subcopy {
  width:min(500px,100%);
  margin:24px auto 0;
  padding:8px 14px;
  background:rgba(0,0,0,0.5);
  box-sizing:border-box;
  line-height:0;
}

#top_mv .mv_subcopy img {
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,0.65));
  position:relative;
  z-index:1;
}

@media(min-width:768px) {
  #top_mv .mv_main {
    grid-template-columns:34% minmax(0,1fr);
  }

  #top_mv .copies {
    transform:translateX(80px);
  }

  #top_mv .maincopy {
    width:min(450px,92%);
    padding-left:0;
    align-self:center;
  }

  #top_mv .service_logo {
    width:min(620px,122%);
  }

  #top_mv .mv_movie {
    width:calc(100% - 130px);
    max-width:760px;
    justify-self:end;
    transform:translateX(-30px);
  }

  #top_mv .mv_subcopy {
    background:transparent;
    position:relative;
    isolation:isolate;
  }

  #top_mv .mv_subcopy:before {
    content:"";
    background:rgba(0,0,0,0.5);
    position:absolute;
    inset:0 -220px 0 -100vw;
    z-index:0;
  }
}

#top_mv .maincopy:after,
#top_movie .cta_btn_image a:after,
#application .cta_btn_image a:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,0.12) 44%,rgba(255,255,255,0.96) 50%,rgba(255,255,255,0.12) 56%,transparent 63%);
  background-size:260% 100%;
  background-repeat:no-repeat;
  background-position:180% 0;
  mix-blend-mode:screen;
  opacity:0;
  pointer-events:none;
  animation:revision-shine-loop 4.2s ease-in-out infinite;
}

#top_mv .maincopy:after {
  -webkit-mask:url('../img/maincopy-attached-v2.png') center / 100% 100% no-repeat;
  mask:url('../img/maincopy-attached-v2.png') center / 100% 100% no-repeat;
}

#top_movie .cta_btn_image a:after,
#application .cta_btn_image a:after {
  -webkit-mask:url('../img/cta_btn.png') center / 100% 100% no-repeat;
  mask:url('../img/cta_btn.png') center / 100% 100% no-repeat;
  animation-delay:0.75s;
}

#top_movie,
#application {
  background:var(--cta-section-gradient);
}

/*----- WORRY -----*/
#top_worry {
  background-color:var(--cta-deep-blue);
  background-image:
    repeating-linear-gradient(45deg, transparent 0 35px, rgba(210,190,150,0.06) 35px 36px),
    repeating-linear-gradient(-45deg, transparent 0 35px, rgba(210,190,150,0.06) 35px 36px),
    var(--outline-section-gradient);
}

#top_worry .section_heading h2 {
  margin-top:14px;
  line-height:1.2;
}

#top_benefit .section_heading h2,
#top_profile .section_heading h2,
#top_outline .section_heading h2 {
  margin-top:14px;
}

.section_label,
#top_worry .worry_label {
  width:max-content;
  margin-right:auto;
  margin-left:auto;
  color:var(--gold-light);
  font-family:var(--font-en);
  font-size:1.05rem;
  font-weight:700;
  font-style:normal;
  letter-spacing:0.06em;
  line-height:1;
  background:var(--gold-gradient-text);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.section_label span,
#top_worry .worry_label span {
  width:100%;
  height:1px;
  background:var(--gold-gradient-text);
  display:block;
}

.js-enabled .section_label span {
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
}

.js-enabled .section_heading.is-visible .section_label span,
.js-enabled .section_label.is-visible span {
  transform:scaleX(1);
}

#top_worry .worry_heading_accent {
  color:var(--gold-light);
  font:inherit;
}

#top_worry .worry_heading_accent,
#top_benefit .benefit_heading_accent,
#top_outline .outline_heading_accent {
  background:var(--gold-gradient-text);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  display:inline-block;
}

#top_outline .outline_heading_accent {
  color:var(--gold-light);
  font:inherit;
}

#top_worry .cts {
  width:min(760px, calc(100% - 48px));
}

#top_worry .worry_layout {
  display:block;
  transform:none;
}

#top_worry .worry_content {
  width:100%;
}

#top_worry .worry_emphasis {
  color:var(--logo-red);
}

#top_worry .worries li {
  border:0;
  background:#fff;
  position:relative;
}

#top_worry .worries p {
  color:var(--navy-900);
}

#top_worry .worries .icon {
  border-color:var(--logo-red);
  background:#fff;
}

#top_worry .worries .icon:after {
  border-color:var(--logo-red);
  border-right-width:1px;
  border-bottom-width:1px;
}

#top_worry .worry_message {
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}

#top_worry .worry_message p {
  color:#fff;
  font-weight:900;
}

#top_worry .worry_message_accent {
  color:var(--logo-red);
  font:inherit;
}

/*----- BENEFIT -----*/
#top_benefit {
  background:#020611 url('../img/mv_bg.jpg') center / cover no-repeat;
}

#top_benefit .cts {
  width:min(1200px, calc(100% - 48px));
}

#top_benefit:before {
  background:var(--gold-gradient-bright);
  opacity:1;
}

#top_benefit .section_heading {
  text-align:center;
}

#top_benefit .section_heading .number {
  display:none;
}

#top_benefit .section_heading h2 {
  color:#fff;
}

#top_benefit .benefit_heading_accent {
  color:var(--gold-light);
  font:inherit;
}

#top_benefit .benefit {
  min-height:0;
  height:100%;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  display:flex;
  flex-direction:column;
}

#top_benefit .benefit_number {
  color:#c39a55;
  font-family:var(--font-en);
  font-weight:400;
  text-align:center;
}

#top_benefit .benefit_number:after {
  content:"";
  width:34px;
  height:1px;
  margin:10px auto 0;
  background:#c39a55;
  display:block;
}

.js-enabled #top_benefit .benefit_number:after {
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
}

.js-enabled #top_benefit .benefit.is-visible .benefit_number:after {
  transform:scaleX(1);
}

#top_benefit .benefit_cts {
  margin-top:0;
  display:flex;
  flex:1;
  flex-direction:column;
}

#top_benefit .benefit h3 {
  color:var(--navy-900);
  text-align:center;
}

#top_benefit .benefit_title_accent {
  color:var(--logo-red);
  font:inherit;
}

#top_benefit .benefit h3:after {
  display:none;
}

#top_benefit .benefit_icon {
  width:84px;
  height:84px;
  margin:18px auto 6px;
  padding:17px;
  border:1px solid rgba(195,154,85,0.54);
  border-radius:50%;
  background:#fff;
  box-shadow:none;
  color:#c39a55;
  display:block;
  flex:0 0 auto;
  animation:revision-icon-float 3.2s ease-in-out infinite;
  will-change:transform;
}

#top_benefit .benefit:nth-child(2) .benefit_icon {
  animation-delay:0s;
}

#top_benefit .benefit:nth-child(3) .benefit_icon {
  animation-delay:0s;
}

#top_benefit .benefit_icon svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#top_benefit .benefit_cts > p {
  color:#000;
  font-weight:400;
}

/*----- PROFILE -----*/
#top_profile {
  background:#edf6f8 url('../img/profile-office-bg.png') center / cover no-repeat;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

#top_profile:before,
#top_profile:after {
  content:"";
  position:absolute;
  inset:-30px;
  pointer-events:none;
}

#top_profile:before {
  display:block;
  width:100%;
  height:4px;
  background:var(--gold-gradient-bright);
  inset:0 auto auto 0;
  z-index:2;
}

#top_profile:after {
  inset:0;
  background:rgba(247,251,252,0.36);
  z-index:-1;
}

#top_profile .cts {
  width:min(1200px, calc(100% - 48px));
  position:relative;
  z-index:1;
}

#top_profile .section_heading {
  text-align:center;
}

#top_profile .section_heading h2 {
  color:var(--navy-900);
}

#top_profile .section_heading .number {
  display:none;
}

#top_profile .profile_layout {
  display:block;
}

#top_profile .profile_identity {
  text-align:left;
}

#top_profile .profile_identity .company {
  color:#000;
  font-weight:400;
  line-height:1.6;
}

#top_profile .profile_identity h3 {
  color:#000;
  font-weight:700;
  letter-spacing:0.06em;
  line-height:1.25;
}

#top_profile .profile_visual {
  margin-right:auto;
  margin-left:auto;
  background:transparent;
  overflow:hidden;
}

#top_profile .profile_visual .photo {
  height:100%;
}

#top_profile .profile_cts {
  padding:35px 39px;
  background:#fff;
  box-shadow:0 12px 30px rgba(6,16,36,0.1);
  text-align:left;
}

#top_profile .biography {
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
}

#top_profile .biography p {
  color:#000;
  font-weight:400;
}

#top_profile .profile_books {
  margin:0 -39px -35px;
  padding-top:43px;
  overflow:hidden;
  background:#fff;
}

#top_profile .profile_books_track {
  display:flex;
  width:max-content;
  animation:profile-books-loop 120s linear infinite;
  will-change:transform;
}

#top_profile .profile_books_group {
  display:flex;
  flex:none;
  gap:0;
  padding-right:0;
}

#top_profile .profile_books img {
  display:block;
  width:auto;
  height:124px;
  flex:none;
}

@keyframes profile-books-loop {
  from {
    transform:translateX(0);
  }

  to {
    transform:translateX(-50%);
  }
}

@media (prefers-reduced-motion:reduce) {
  #top_benefit .benefit_icon {
    animation:none;
  }

  #top_profile .profile_books {
    overflow-x:auto;
  }

  #top_profile .profile_books_track {
    animation:none;
    will-change:auto;
  }

  #top_profile .profile_books_group[aria-hidden="true"] {
    display:none;
  }
}

#top_profile .biography p + p {
  margin-top:1.35em;
}

/*----- OUTLINE -----*/
#top_outline {
  background:#020611 url('../img/mv_bg.jpg') center / cover no-repeat;
  position:relative;
}

#top_outline:before {
  content:"";
  width:100%;
  height:4px;
  background:var(--gold-gradient-bright);
  position:absolute;
  top:0;
  left:0;
}

#top_outline .cts {
  width:min(860px, calc(100% - 48px));
}

#top_outline .section_heading {
  text-align:center;
}

#top_outline .section_heading h2 {
  color:#fff;
}

#top_outline .section_heading .number {
  display:none;
}

#top_outline .outline_table {
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}

#top_outline .outline_row {
  border:0;
  display:block;
}

#top_outline .outline_row + .outline_row {
  margin-top:58px;
}

#top_outline .outline_row dt {
  padding:0;
  background:transparent;
  color:var(--gold-light);
  font-size:1.08rem;
  font-weight:900;
  line-height:1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  text-align:center;
}

#top_outline .outline_row dt:before,
#top_outline .outline_row dt:after {
  content:"";
  width:50px;
  height:1px;
  background:var(--gold-light);
  display:block;
}

#top_outline .outline_row dd {
  padding:25px 0 0;
  color:#fff;
  text-align:center;
}

#top_outline .dates {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

#top_outline .dates li {
  padding:23px 10px 16px;
  border:1px solid #d6d6d6;
  background:#fff;
  text-align:center;
}

#top_outline .dates time {
  color:#363636;
  font-weight:400;
}

#top_outline .dates .date {
  padding-top:8px;
  color:var(--logo-red);
  font-size:1.35rem;
  font-weight:600;
  line-height:1.25;
  display:block;
}

#top_outline .dates .weekday {
  font-family:var(--font-jp);
  font-size:0.62em;
  font-weight:400;
}

#top_outline .dates .date_prefix,
#top_outline .dates .date_day {
  font-family:var(--font-en);
  font-style:normal;
  line-height:1;
  vertical-align:top;
  display:inline-block;
}

#top_outline .dates .date_prefix {
  font-size:1.9em;
  font-weight:400;
  transform:translateY(-0.15em);
}

#top_outline .dates .date_day {
  font-size:1.9em;
  font-weight:400;
  transform:translateY(-0.15em);
}

#top_outline .dates .time {
  margin-top:-4px;
  color:#000;
  font-family:var(--font-en);
  font-style:normal;
  font-size:0.88rem;
  font-weight:400;
  letter-spacing:0.02em;
  line-height:1.4;
  display:block;
}

#top_outline .schedule_note {
  color:#fff;
  font-weight:400;
  text-align:center;
}

#top_outline .outline_value {
  max-width:100%;
  padding:0;
  background:transparent;
  color:#fff;
  display:inline-block;
}

#top_outline .outline_boxed {
  width:min(680px, 100%);
  margin-right:auto;
  margin-left:auto;
  padding-bottom:26px;
  border-bottom:1px solid rgba(226,194,127,0.78);
  position:relative;
}

#top_outline .outline_boxed:before,
#top_outline .outline_boxed:after {
  content:"";
  width:1px;
  background:rgba(226,194,127,0.78);
  position:absolute;
  top:0.54rem;
  bottom:0;
}

#top_outline .outline_boxed:before {
  left:0;
}

#top_outline .outline_boxed:after {
  right:0;
}

#top_outline .outline_boxed dt {
  width:100%;
}

#top_outline .outline_boxed dt:before,
#top_outline .outline_boxed dt:after {
  width:auto;
  flex:1;
}

#top_outline .outline_boxed dd {
  padding:22px 24px 0;
}

#top_outline .for_women {
  border:1px solid var(--logo-red);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

#top_outline .outline_row dd strong,
#top_outline .supplement {
  color:#fff;
}

#top_outline .outline_fee dd strong {
  color:var(--logo-red);
  font-size:1.35rem;
  line-height:1;
  display:block;
}

#top_outline .outline_fee .outline_value {
  line-height:1;
}

#top_outline .outline_format_title {
  color:#fff;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.25;
  display:block;
}

#top_outline .outline_boxed .supplement {
  margin-top:6px;
  display:block;
}

#top_outline .for_women .title {
  color:var(--logo-red);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
}

#top_outline .for_women_icon {
  width:43px;
  height:50px;
  display:block;
}

#top_outline .for_women_icon img {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

#top_outline .for_women > p:last-child {
  color:#000;
  font-weight:400;
}

/*----- APPLICATION -----*/
#application {
  background:var(--cta-section-gradient);
  position:relative;
}

#application:before,
#application:after {
  content:"";
  width:100%;
  height:4px;
  background:var(--gold-gradient-bright);
  position:absolute;
  left:0;
}

#application:before {
  top:10px;
}

#application:after {
  bottom:10px;
}

#application .section_label {
  margin-bottom:24px;
}

#application .event_tags {
  margin:0 auto 20px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

#application .event_tags li {
  padding:8px 24px;
  border:0;
  border-radius:100vw;
  background:#fff;
  color:var(--navy-900);
  font-size:1rem;
  font-weight:800;
  white-space:nowrap;
  text-align:center;
}

#application .event_tags li span {
  color:var(--logo-red);
  font:inherit;
  font-weight:900;
}

#application .cta_btn_image {
  width:min(700px, 100%);
  margin:auto;
}

#application .cta_btn_image a {
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  display:block;
  overflow:visible;
}

#application .cta_btn_image a:before {
  display:none;
}

#application .cta_btn_image img {
  width:100%;
  display:block;
}

/*----- FOOTER -----*/
footer .cts {
  display:block;
  text-align:center;
}

footer {
  background:var(--navy-800);
}

footer .footer_links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 32px;
}

footer .footer_links a {
  color:rgba(255,255,255,0.8);
  font-size:0.75rem;
  font-weight:600;
  text-decoration:none;
}

footer .copyright {
  margin-top:30px;
}

@media(min-width:768px) {
  #top_worry .cts {
    width:min(1200px, calc(100% - 48px));
  }

  #top_worry .worries {
    grid-template-columns:repeat(8, minmax(0, 1fr));
    gap:28px 18px;
    padding-top:14px;
  }

  #top_worry .worries li {
    min-height:122px;
    padding:31px 16px 23px;
    display:flex;
    grid-column:span 2;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:0;
    text-align:center;
  }

  #top_worry .worries li:nth-child(5) {
    grid-column:2 / span 2;
  }

  #top_worry .worries li:nth-child(6) {
    grid-column:4 / span 2;
  }

  #top_worry .worries li:nth-child(7) {
    grid-column:6 / span 2;
  }

  #top_worry .worries .icon {
    width:28px;
    height:28px;
    flex:0 0 28px;
    position:absolute;
    top:-14px;
    left:50%;
    transform:translateX(-50%);
  }

  #top_worry .worries .icon:after {
    width:7px;
    height:13px;
    top:4px;
    left:9px;
  }

  #top_worry .worries p {
    font-size:0.94rem;
    line-height:1.6;
  }

  #top_worry .worry_message {
    max-width:none;
    margin:42px auto 0;
    padding:0;
    text-align:center;
  }

  #top_worry .worry_message p {
    font-size:2rem;
    line-height:1.65;
  }

  #top_benefit {
    padding:112px 0 124px;
  }

  #top_benefit .benefits {
    margin-top:58px;
    align-items:stretch;
  }

  #top_benefit .benefit {
    padding:31px 33px 34px;
  }

  #top_benefit .benefit_number {
    margin-bottom:18px;
    font-size:2.6rem;
  }

  #top_benefit .benefit h3 {
    min-height:4.65em;
    font-size:1.32rem;
    line-height:1.42;
  }

  #top_benefit .benefit_cts > p {
    margin-top:10px;
    font-size:0.89rem;
    line-height:1.8;
  }

  #top_profile {
    padding:88px 0 110px;
  }

  #top_profile .profile_identity {
    margin:0 0 24px;
  }

  #top_profile .profile_identity .company {
    font-size:0.86rem;
  }

  #top_profile .profile_identity h3 {
    margin-top:10px;
    font-size:1.9rem;
  }

  #top_profile .profile_layout {
    margin-top:30px;
    display:grid;
    grid-template-columns:minmax(0,1.28fr) minmax(280px,0.72fr);
    grid-template-rows:590px auto;
    gap:48px;
    row-gap:0;
    align-items:start;
    position:relative;
    z-index:0;
  }

  #top_profile .profile_layout:before {
    content:"";
    width:100vw;
    background-color:#1d5b94;
    background-image:radial-gradient(circle at center,rgba(240,220,176,0.15) 0,rgba(240,220,176,0.15) 0.5px,transparent 0.65px);
    background-size:8px 8px;
    position:absolute;
    top:590px;
    bottom:-110px;
    left:50%;
    z-index:-1;
    transform:translateX(-50%);
  }

  #top_profile .profile_visual {
    width:100%;
    min-height:590px;
    grid-column:2;
    grid-row:1;
  }

  #top_profile .profile_identity_band {
    margin:0;
    padding:32px 12px 0;
    grid-column:2;
    grid-row:2;
    position:relative;
    z-index:1;
    text-align:left;
  }

  #top_profile .profile_cts {
    width:100%;
    max-width:620px;
    padding:35px 39px;
    grid-column:1;
    grid-row:1 / span 2;
    justify-self:end;
  }

  #top_profile .biography {
    margin-top:0;
    padding:0;
  }

  #top_profile .biography p {
    font-size:0.96rem;
    line-height:1.75;
  }

  #top_outline {
    padding:112px 0 90px;
  }

  #top_outline .outline_table {
    margin-top:52px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:24px;
    row-gap:58px;
  }

  #top_outline .outline_schedule {
    grid-column:1 / -1;
  }

  #top_outline .dates {
    grid-template-columns:repeat(6, minmax(0,1fr));
  }

  #top_outline .dates li {
    grid-column:span 2;
  }

  #top_outline .dates li:nth-child(4) {
    grid-column:2 / span 2;
  }

  #top_outline .dates li:nth-child(5) {
    grid-column:4 / span 2;
  }

  #top_outline .outline_boxed {
    width:100%;
    margin:0;
  }

  #top_outline .outline_row + .outline_row {
    margin-top:0;
  }

  #top_outline .outline_row {
    display:block;
  }

  #top_outline .outline_row dt {
    padding:0;
  }

  #top_outline .outline_row dd {
    padding:25px 0 0;
  }

  #top_outline .outline_row.outline_boxed {
    padding-bottom:0;
    display:flex;
    flex-direction:column;
  }

  #top_outline .outline_boxed dd {
    min-height:92px;
    padding:18px 12px 20px;
    display:flex;
    flex:1;
    justify-content:center;
    align-items:center;
  }

  #top_outline .outline_boxed .outline_value {
    width:100%;
    display:block;
  }

  #top_outline .outline_format_title {
    font-size:1.22rem;
  }

  #top_outline .outline_boxed .supplement {
    font-size:0.72rem;
    white-space:nowrap;
  }

  #top_outline .outline_fee dd strong {
    font-size:1.55rem;
  }

  #top_outline .dates time,
  #top_outline .outline_row dd {
    font-size:1.03rem;
  }

  #top_outline .for_women {
    margin-top:58px;
    padding:34px 38px;
  }

  #application {
    padding:72px 0 84px;
  }

  #application .cta_btn {
    width:min(700px,100%);
  }

  #application .cta_btn a {
    min-height:88px;
  }

  #application .cta_btn_image a {
    min-height:0;
  }

  #application .cta_btn .label {
    font-size:1.45rem;
  }
}

@media(max-width:767px) {
  .fixed_logo {
    width:50px;
    height:50px;
    padding:3px;
  }

  #top_mv .mv_main {
    padding-top:30px;
  }

  #top_mv .service_logo {
    width:90vw;
    margin-top:18px;
  }

  #top_mv .mv_first_label {
    width:min(135px,40vw);
    margin-bottom:3px;
    padding:0;
  }

  #top_mv .maincopy {
    width:min(300px,88vw);
  }

  #top_mv .mv_subcopy {
    width:100vw;
    margin-top:18px;
    padding:20px 10px;
    position:relative;
    left:50%;
    transform:translateX(-50%);
  }

  #top_mv .mv_subcopy img {
    width:85vw;
    max-width:100%;
    margin:0 auto;
  }

  #top_mv .mv_movie {
    margin-top:0;
  }

  #top_profile:before,
  #top_outline:before {
    height:3px;
  }

  html {
    font-size:16px;
  }

  #top_worry {
    padding:58px 0 64px;
    background-image:
      repeating-linear-gradient(45deg, transparent 0 22px, rgba(210,190,150,0.06) 22px 23px),
      repeating-linear-gradient(-45deg, transparent 0 22px, rgba(210,190,150,0.06) 22px 23px),
      var(--outline-section-gradient);
  }

  #top_worry .section_heading h2 {
    margin-top:12px;
    font-size:2rem;
    line-height:1.35;
  }

  .section_label,
  #top_worry .worry_label {
    font-size:0.9rem;
    gap:7px;
  }

  #top_benefit .section_heading h2,
  #top_profile .section_heading h2,
  #top_outline .section_heading h2 {
    margin-top:12px;
  }

  #top_worry .worry_layout {
    margin-top:30px;
  }

  #top_worry .cts {
    width:calc(100% - 40px);
  }

  #top_worry .worry_content {
    margin-top:28px;
  }

  #top_worry .worries {
    gap:12px;
    padding-top:0;
  }

  #top_worry .worries li {
    min-height:0;
    padding:14px;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:12px;
    align-items:center;
    text-align:left;
  }

  #top_worry .worries .icon {
    width:22px;
    height:22px;
    position:relative;
    top:auto;
    left:auto;
    transform:none;
  }

  #top_worry .worries p {
    font-size:1rem;
    line-height:1.6;
  }

  #top_worry .worry_message {
    margin:31px 0 0;
    padding:0;
  }

  #top_worry .worry_message p {
    font-size:1.3rem;
    line-height:1.6;
  }

  #top_worry .worry_message_line {
    display:block;
    white-space:nowrap;
  }

  #top_benefit {
    padding:64px 0 30px;
  }

  #top_benefit .cts {
    width:calc(100% - 40px);
  }

  #top_benefit .section_heading h2 {
    margin-top:12px;
    font-size:2rem;
    line-height:1.35;
  }

  #top_benefit .benefits {
    margin-top:26px;
    gap:17px;
  }

  #top_benefit .benefit {
    padding:21px 25px 24px;
    display:flex;
  }

  #top_benefit .benefit_number {
    margin-bottom:5px;
    font-size:3rem;
  }

  #top_benefit .benefit h3 {
    font-size:clamp(1.05rem,5.35vw,1.3rem);
    line-height:1.42;
  }

  #top_benefit .benefit_icon {
    width:82px;
    height:82px;
    margin:20px auto 4px;
    padding:15px;
  }

  #top_benefit .benefit_cts > p {
    margin-top:9px;
    font-size:1rem;
    line-height:1.7;
  }

  #top_profile {
    padding:56px 0 30px;
  }

  #top_profile .cts,
  #top_outline .cts {
    width:calc(100% - 40px);
  }

  #top_profile .section_heading h2,
  #top_outline .section_heading h2 {
    margin-top:12px;
    font-size:2rem;
    line-height:1.35;
  }

  #top_profile .profile_identity {
    margin:0 0 18px;
  }

  #top_profile .profile_identity_side {
    margin:0;
    padding:0 8px 0 0;
    grid-column:1;
    grid-row:1;
    align-self:center;
    position:relative;
    z-index:2;
  }

  #top_profile .profile_identity .company {
    font-size:clamp(0.74rem,3.4vw,0.86rem);
    line-height:1.5;
    letter-spacing:0;
  }

  #top_profile .profile_identity_side .company span {
    display:block;
    white-space:nowrap;
  }

  #top_profile .profile_identity h3 {
    margin-top:8px;
    font-size:clamp(1.15rem,6.15vw,1.5rem);
  }

  #top_profile .profile_layout {
    margin-top:20px;
    display:grid;
    grid-template-columns:minmax(136px,42%) minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:0;
    align-items:end;
  }

  #top_profile .profile_visual {
    width:100%;
    max-width:210px;
    min-height:clamp(270px,84.6vw,330px);
    margin:0;
    position:relative;
    left:6px;
    grid-column:2;
    grid-row:1;
    justify-self:end;
  }

  #top_profile .profile_cts {
    width:100%;
    max-width:none;
    margin-top:0;
    padding:27px 25px;
    grid-column:1 / -1;
    grid-row:2;
    text-align:left;
  }

  #top_profile .profile_books {
    margin:0 -25px -27px;
    padding-top:37px;
  }

  #top_profile .profile_books img {
    height:110px;
  }

  #top_profile .biography {
    margin-top:0;
    padding:0;
  }

  #top_profile .biography p {
    font-size:1rem;
    line-height:1.55;
  }

  #top_outline {
    padding:64px 0 30px;
  }

  #top_outline .outline_table {
    margin-top:24px;
  }

  #top_outline .outline_row + .outline_row {
    margin-top:42px;
  }

  #top_outline .dates {
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }

  #top_outline .dates li {
    padding:22px 5px 11px;
  }

  #top_outline .dates .date {
    font-size:1.08rem;
  }

  #top_outline .dates .time {
    margin-top:-5px;
    font-family:var(--font-en);
    font-size:1rem;
    font-style:normal;
    font-weight:400;
    letter-spacing:0.02em;
  }

  #top_outline .outline_row {
    display:block;
    grid-template-columns:none;
  }

  #top_outline .outline_row dt {
    padding:0;
    font-size:1rem;
  }

  #top_outline .outline_row dd {
    padding:18px 0 0;
    font-size:1rem;
    line-height:1.75;
  }

  #top_outline .outline_row dd strong {
    font-size:0.9rem;
  }

  #top_outline .outline_value {
    padding:0;
  }

  #top_outline .outline_boxed {
    padding-bottom:20px;
  }

  #top_outline .outline_boxed + .outline_boxed {
    margin-top:32px;
  }

  #top_outline .outline_boxed:before,
  #top_outline .outline_boxed:after {
    top:0.45rem;
  }

  #top_outline .outline_boxed dd {
    padding:18px 14px 0;
  }

  #top_outline .dates time {
    font-size:0.8rem;
    line-height:1.65;
  }

  #top_outline .schedule_note {
    margin-top:18px;
    font-size:0.8rem;
    line-height:1.75;
  }

  #top_outline .supplement {
    font-size:0.8rem;
    white-space:nowrap;
  }

  #top_outline .for_women {
    margin:42px 0 0;
    padding:20px 17px;
  }

  #top_outline .for_women .title {
    font-size:1.1rem;
  }

  #top_outline .for_women_icon {
    width:44px;
    height:52px;
  }

  #top_outline .for_women > p:last-child {
    margin-top:8px;
    padding-top:0;
    border-top:0;
    font-size:1.05rem;
    line-height:1.85;
  }

  #application {
    padding:48px 0 58px;
  }

  #application .event_tags {
    gap:6px;
  }

  #application .event_tags li {
    padding:6px 12px;
    font-size:0.7rem;
    letter-spacing:0;
  }

  #application .cta_btn_image a {
    min-height:0;
  }
}

@media(prefers-reduced-motion:reduce) {
  #top_mv .maincopy:after,
  #top_movie .cta_btn_image a:after,
  #application .cta_btn_image a:after {
    display:none;
  }
}

/*----- PAGE BACKGROUND EXPERIMENT -----*/
html {
  background-color:#020611;
  background-image:url('../img/mv_bg.jpg');
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  background-attachment:fixed;
}

#top_mv,
#top_profile {
  background:transparent;
}

#top_benefit {
  background:var(--outline-section-gradient);
}

#top_outline {
  background:var(--outline-section-gradient);
}

#top_mv {
  background:#020611 url('../img/mv_bg.jpg') center bottom / cover no-repeat;
}

#top_profile {
  background:#edf6f8 url('../img/profile-office-bg.png') center / cover no-repeat;
}

#top_profile:after {
  display:block;
}

#top_profile .section_heading h2 {
  color:var(--navy-900);
}

#top_profile .profile_identity_band .company,
#top_profile .profile_identity_band h3 {
  color:#fff;
}

footer {
  background:var(--outline-section-gradient);
  border-top:0;
}

@media(max-width:767px) {
  footer .footer_links {
    column-gap:20px;
  }

  #top_mv {
    background:#020611;
  }

  #top_mv:before {
    content:"";
    display:block;
    background:url('../img/mv_bg.jpg') center bottom / cover no-repeat;
    position:absolute;
    inset:0 0 56.25vw;
    z-index:0;
    pointer-events:none;
  }
}
