@charset "UTF-8";

:root {
  --orp-navy: #020b15;
  --orp-navy-light: #0a1a2b;
  --orp-gold: #c99a43;
  --orp-gold-light: #f0d38a;
  --orp-ivory: #f9f2df;
  --orp-text: #fffaf0;
}

html { scroll-behavior: smooth; }
body.orp-page-active { margin: 0; overflow-x: hidden; background: var(--orp-navy); }
body.orp-page-active #wpadminbar { position: fixed; }
.orp-page, .orp-page * { box-sizing: border-box; }
.orp-page { min-width: 0; color: var(--orp-text); font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; }
.orp-page a { color: inherit; text-decoration: none; }
.orp-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.orp-header {
  position: relative;
  z-index: 20;
  height: 78px;
  border-bottom: 1px solid rgba(213, 169, 79, .48);
  background: linear-gradient(180deg, #061321 0%, #020a12 100%);
  box-shadow: 0 6px 28px rgba(0, 0, 0, .32);
}
.orp-header::after {
  content: "";
  position: absolute;
  inset: auto 0 -3px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #876224 15%, #efd086 50%, #876224 85%, transparent);
  opacity: .7;
}
.orp-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.orp-brand { display: inline-flex; align-items: center; gap: 13px; flex: 0 0 auto; }
.orp-brand__emblem {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: url('../orank-school-ad/img/decor-v3/doubts/shield-domain.webp') center 38% / 110% auto no-repeat;
  box-shadow: 0 0 0 1px #f2d178, 0 0 0 4px #07101a, 0 0 18px rgba(229, 180, 73, .22);
}
.orp-brand__text { color: #ead3a0; font-size: 17px; letter-spacing: .08em; line-height: 1.15; white-space: nowrap; }
.orp-brand__text small { display: block; margin-top: 5px; color: #a9894e; font-family: Georgia, serif; font-size: 8px; letter-spacing: .42em; text-align: center; }
.orp-nav { display: flex; align-items: center; gap: clamp(24px, 3.2vw, 48px); font-size: 13px; letter-spacing: .12em; }
.orp-nav a { position: relative; padding-block: 29px; color: #e7dfcf; transition: color .25s ease; }
.orp-nav a::after { content: ""; position: absolute; right: 50%; bottom: 20px; left: 50%; height: 1px; background: var(--orp-gold-light); transition: right .25s ease, left .25s ease; }
.orp-nav a:hover { color: var(--orp-gold-light); }
.orp-nav a:hover::after { right: 0; left: 0; }
.orp-nav__limited { padding: 8px 16px; border: 1px solid #98702e; color: var(--orp-gold-light); font-size: 11px; letter-spacing: .16em; }
.orp-page .orp-menu { display: none !important; width: 42px; height: 42px; padding: 10px; border: 1px solid rgba(216, 174, 88, .65); background: transparent; }
.orp-menu span { display: block; width: 100%; height: 1px; margin: 5px 0; background: #e7c976; transition: transform .25s ease, opacity .25s ease; }

.orp-hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - 78px);
  overflow: hidden;
  background: #020913 url('img/private-archive-hero.webp') center 44% / cover no-repeat;
}
.orp-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 50% 39%, rgba(4, 13, 23, .08) 0 17%, rgba(1, 7, 13, .38) 51%, rgba(0, 5, 10, .64) 100%),
    linear-gradient(180deg, rgba(0, 6, 13, .2), rgba(0, 5, 10, .03) 58%, #020912 91%);
}
.orp-hero__texture { position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E"); }
.orp-hero__inner { min-height: 770px; padding: clamp(58px, 8vh, 92px) 0 92px; text-align: center; }
.orp-seal {
  position: relative;
  width: 76px;
  height: 76px;
  margin: 0 auto 14px;
  border: 1px solid rgba(218, 172, 74, .75);
  border-radius: 50%;
  background: rgba(2, 10, 17, .64);
  box-shadow: inset 0 0 0 6px rgba(193, 142, 50, .08), 0 0 30px rgba(199, 147, 52, .12);
}
.orp-seal::before, .orp-seal::after { content: ""; position: absolute; top: 50%; width: 106px; height: 1px; background: linear-gradient(90deg, transparent, #b78637); }
.orp-seal::before { right: calc(100% + 13px); }
.orp-seal::after { left: calc(100% + 13px); transform: scaleX(-1); }
.orp-seal span { position: absolute; inset: 10px; border-radius: 50%; background: url('../orank-school-ad/img/decor-v3/doubts/shield-domain.webp') center 39% / 112% auto no-repeat; filter: sepia(.25) saturate(.8); opacity: .9; }
.orp-hero__english { margin: 0 0 24px; color: #ad8b51; font-family: Georgia, serif; font-size: 11px; letter-spacing: .52em; text-indent: .52em; }
.orp-hero__eyebrow { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 0 24px; color: var(--orp-gold-light); font-size: clamp(12px, 1.2vw, 15px); letter-spacing: .2em; }
.orp-hero__eyebrow::before, .orp-hero__eyebrow::after { content: ""; width: clamp(42px, 7vw, 90px); height: 1px; background: linear-gradient(90deg, transparent, var(--orp-gold)); }
.orp-hero__eyebrow::after { transform: scaleX(-1); }
.orp-hero h1 { margin: 0; color: #fffaf0; font-size: clamp(42px, 5.1vw, 72px); font-weight: 500; line-height: 1.48; letter-spacing: .11em; text-shadow: 0 3px 20px #000, 0 0 40px rgba(0, 0, 0, .58); }
.orp-hero__divider { display: block; width: min(320px, 72%); height: 30px; margin: 18px auto 13px; background: url('../orank-school-ad/img/learn-a/cta-divider.png') center / contain no-repeat; }
.orp-hero__lead { margin: 0; color: #d9d5cc; font-size: clamp(15px, 1.5vw, 19px); line-height: 2; letter-spacing: .11em; text-shadow: 0 2px 10px #000; }
.orp-title-break { display: block; }
.orp-lead-break { display: none; }
.orp-open { display: inline-flex; flex-direction: column; align-items: center; gap: 11px; margin-top: 41px; color: #dac58f; font-size: 13px; letter-spacing: .24em; transition: color .25s ease, transform .25s ease; }
.orp-open:hover { color: #fff1bd; transform: translateY(3px); }
.orp-open i { position: relative; width: 24px; height: 24px; border-right: 1px solid #d9b966; border-bottom: 1px solid #d9b966; transform: rotate(45deg); }
.orp-open i::after { content: ""; position: absolute; width: 7px; height: 7px; right: 7px; bottom: 7px; border-right: 1px solid #8e6a2e; border-bottom: 1px solid #8e6a2e; }

.orp-cases-section,
.orp-video-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 92px 0 100px;
  color: #10182a;
  background-color: #f7f0e2;
  background-image:
    radial-gradient(circle at 20% 20%, #a9823c12 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 74%, #9d743212 0 1px, transparent 1.5px),
    linear-gradient(120deg, #eee1c7 0%, #fffaf0 19%, #f8f1e3 57%, #ebdcc0 100%);
  background-size: 31px 27px, 37px 33px, 100% 100%;
  border-top: 1px solid #b58b45;
  border-bottom: 1px solid #b58b45;
  box-shadow: inset 0 0 80px #79551b1a;
}
.orp-video-section {
  background-image:
    radial-gradient(circle at 76% 22%, #a9823c12 0 1px, transparent 1.5px),
    radial-gradient(circle at 24% 76%, #9d743212 0 1px, transparent 1.5px),
    linear-gradient(240deg, #eee1c7 0%, #fffaf0 19%, #f8f1e3 57%, #ebdcc0 100%);
}
.orp-cases-section::before,
.orp-video-section::before,
.orp-updates-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 5px 28px;
  pointer-events: none;
  border: 64px solid transparent;
  border-image-source: url('../orank-school-ad/img/section-frame-9slice.png');
  border-image-slice: 96;
  border-image-width: 64px;
  border-image-outset: 0;
  border-image-repeat: stretch;
  opacity: .95;
}
.orp-cases-frame {
  position: relative;
  z-index: 1;
}
.orp-cases-inner,
.orp-video-inner { width: min(1100px, calc(100% - 196px)); }
.orp-cases-heading { margin-bottom: 45px; text-align: center; }
.orp-cases-heading p { margin: 0 0 11px; color: #a17631; font-family: Georgia, serif; font-size: 10px; letter-spacing: .34em; }
.orp-cases-heading h2 { margin: 0; color: #17233a; font-size: clamp(26px, 3vw, 42px); font-weight: 500; letter-spacing: .09em; }
.orp-cases-heading h2 span { font-size: .72em; }
.orp-cases-heading__divider { display: block; width: min(360px, 64%); height: 23px; margin: 17px auto 0; background: url('img/title-divider.webp') center / contain no-repeat; }
.orp-case-list { display: grid; gap: 28px; }
.orp-case {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
  min-height: 310px;
  overflow: hidden;
  border: 1px solid #c7a568;
  border-radius: 7px;
  background: rgba(255, 253, 247, .84);
  box-shadow: 0 10px 26px rgba(65, 43, 17, .11), inset 0 0 0 4px rgba(255,255,255,.65);
}
.orp-case__screen { position: relative; align-self: stretch; margin: 0; padding-top: 25px; overflow: hidden; border-right: 1px solid #d4ba86; background: #e8e5de; }
.orp-case__screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.orp-browserbar { position: absolute; z-index: 2; top: 0; right: 0; left: 0; display: flex; align-items: center; gap: 5px; height: 25px; padding-left: 12px; border-bottom: 1px solid #d4d2cc; background: #f7f7f4; }
.orp-browserbar i { width: 6px; height: 6px; border-radius: 50%; background: #c7bca7; }
.orp-case__detail { position: relative; display: flex; flex-direction: column; padding: 25px 28px 22px; }
.orp-case__detail header { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; min-height: 68px; padding-bottom: 14px; border-bottom: 1px solid #d4bc8d; }
.orp-case__number {
  align-self: start;
  display: grid;
  place-items: center;
  width: 54px;
  height: 68px;
  margin-top: -25px;
  padding: 9px 0 13px;
  clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
  background: linear-gradient(145deg, #0c2039, #02101f);
  color: #e8c56e;
  font-family: Georgia, serif;
  font-size: 23px;
  line-height: 1;
  box-shadow: inset 0 0 0 2px #b48a3a;
}
.orp-case__number small { display: block; font-size: 7px; letter-spacing: .12em; }
.orp-case__detail h3 { margin: 0 0 0 14px; color: #101a2f; font-size: clamp(22px, 2vw, 30px); font-weight: 500; letter-spacing: .16em; }
.orp-case__detail dl { margin: 13px 0 14px; }
.orp-case__detail dl div { display: grid; grid-template-columns: 92px 1fr; padding: 8px 2px; border-bottom: 1px dotted #d9c6a0; font-size: 14px; }
.orp-case__detail dt { position: relative; padding-left: 19px; color: #826430; }
.orp-case__detail dt::before { content: "◇"; position: absolute; left: 0; top: 0; color: #b58736; font-size: 12px; }
.orp-case__detail dd { margin: 0; color: #17233a; font-weight: 600; }
.orp-case__memo { position: relative; margin: 0 0 16px; padding: 40px 14px 13px; border: 1px solid rgba(183, 141, 67, .45); border-left: 3px solid #b18131; background: linear-gradient(100deg, rgba(226, 201, 149, .3), rgba(255, 253, 247, .35)); }
.orp-case__memo::after { content: ""; position: absolute; top: 5px; right: 5px; width: 10px; height: 10px; border-top: 1px solid #c29b55; border-right: 1px solid #c29b55; }
.orp-case__memo span { position: absolute; top: 12px; left: 13px; color: #926821; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.orp-case__memo span::after { content: ""; position: absolute; top: 50%; left: calc(100% + 10px); width: 18px; height: 1px; background: #b98c3d; }
.orp-case__memo p { margin: 0; color: #3f3a32; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; font-size: 12px; line-height: 1.75; }
.orp-case__button { display: flex; align-items: center; justify-content: center; gap: 19px; min-height: 47px; margin-top: auto; border: 2px solid #c09a50; outline: 1px solid #07172a; outline-offset: -5px; border-radius: 4px; background: linear-gradient(180deg, #0d2743, #031224); color: #f1d48b !important; font-size: 15px; letter-spacing: .16em; box-shadow: 0 4px 8px rgba(0,0,0,.18); transition: filter .25s ease, transform .25s ease; }
.orp-case__button i { position: relative; display: block; width: 11px; height: 20px; color: #e5bd62; font-style: normal; transition: transform .25s ease; }
.orp-case__button i::before { content: "›"; position: absolute; inset: -3px 0 auto; font-family: Georgia, serif; font-size: 24px; line-height: 1; }
.orp-case__button:hover { filter: brightness(1.16); transform: translateY(-1px); }
.orp-case__button:hover i { transform: translateX(5px); }
.orp-case__button:focus-visible { outline: 2px solid #f1d48b; outline-offset: 3px; }
.orp-cases-note { margin: 24px 0 0; color: #796746; font-size: 11px; text-align: center; }

.orp-video-frame {
  position: relative;
  z-index: 1;
}
.orp-video-heading { margin-bottom: 38px; text-align: center; }
.orp-video-heading p { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 0 0 13px; color: #17233a; font: 600 14px/1.4 Georgia, serif; letter-spacing: .2em; }
.orp-video-heading p span { color: #b18230; font-size: 8px; }
.orp-video-heading h2 { margin: 0; color: #15233c; font-size: clamp(34px, 4vw, 55px); font-weight: 500; letter-spacing: .08em; }
.orp-video-heading__divider { display: block; width: min(520px, 72%); height: auto; aspect-ratio: 8.24 / 1; margin: 13px auto 0; background: url('../orank-school-ad/img/learn-a/title-divider-v2.png') center / contain no-repeat; }
.orp-video-player {
  position: relative;
  width: min(970px, 91%);
  margin: 0 auto;
  padding: 11px;
  border: 2px solid #c29b4e;
  border-radius: 8px;
  background: linear-gradient(145deg, #102841, #03101e);
  box-shadow: inset 0 0 0 3px #061321, inset 0 0 0 4px #99712f, 0 14px 28px rgba(31, 18, 4, .2);
}
.orp-video-player::before,
.orp-video-player::after { content: ""; position: absolute; z-index: 2; top: 5px; width: 50px; height: 50px; background: url('../orank-school-ad/img/learn-a/card-corner-v2.png') left top / contain no-repeat; pointer-events: none; }
.orp-video-player::before { left: 5px; }
.orp-video-player::after { right: 5px; transform: scaleX(-1); }
.orp-video-embed { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid #775625; border-radius: 3px; background: #020b14; }
.orp-video-embed iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.orp-video-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; width: min(1080px, 96%); margin: 31px auto 0; }
.orp-video-topic {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 218px;
  padding: 22px 24px 19px;
  overflow: hidden;
  border: 1px solid #c9a86c;
  border-radius: 8px;
  background: rgba(255, 253, 247, .72);
  box-shadow: inset 0 0 0 4px #fffaf0, inset 0 0 0 5px #ead8b7, 0 9px 20px rgba(82, 55, 19, .12);
}
.orp-video-topic::before,
.orp-video-topic::after { content: ""; position: absolute; top: 5px; width: 45px; height: 45px; background: url('../orank-school-ad/img/learn-a/card-corner-v2.png') left top / contain no-repeat; opacity: .85; pointer-events: none; }
.orp-video-topic::before { left: 5px; }
.orp-video-topic::after { right: 5px; transform: scaleX(-1); }
.orp-video-topic__icon { position: relative; z-index: 1; display: block; width: 104px; height: 100px; background-position: center; background-repeat: no-repeat; background-size: 90px auto; }
.orp-video-topic--domain .orp-video-topic__icon { background-image: url('img/video-icon-domain-v1.webp'); }
.orp-video-topic--ai .orp-video-topic__icon { background-image: url('img/video-icon-ai-v1.webp'); }
.orp-video-topic--income .orp-video-topic__icon { background-image: url('img/video-icon-income-v1.webp'); }
.orp-video-topic h3 { position: relative; z-index: 1; width: 100%; margin: 3px 0 0; padding: 0 0 31px; color: #15233b; font-size: clamp(18px, 1.65vw, 24px); font-weight: 600; line-height: 1.5; letter-spacing: .04em; text-align: center; }
.orp-video-topic h3::after { content: ""; position: absolute; right: 7%; bottom: 0; left: 7%; height: 23px; background: url('../orank-school-ad/img/learn-a/cta-divider.png') center / 100% auto no-repeat; }

.orp-updates-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 88px 0 70px;
  border-top: 1px solid #c09648;
  background:
    radial-gradient(circle at 18% 48%, rgba(51, 91, 129, .28), transparent 35%),
    radial-gradient(circle at 82% 36%, rgba(101, 72, 28, .16), transparent 31%),
    linear-gradient(135deg, #061725 0%, #020b15 48%, #071827 100%);
}
.orp-updates-section::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E"); }
.orp-updates-frame { position: relative; z-index: 1; width: 100%; margin: auto; padding: 0; border: 0; }
.orp-updates-inner { display: grid; grid-template-columns: minmax(290px, .82fr) minmax(390px, 1.08fr) minmax(260px, .72fr); align-items: center; gap: clamp(22px, 3vw, 54px); width: min(1320px, calc(100% - 196px)); margin: auto; }
.orp-phone { position: relative; width: min(100%, 390px); margin-inline: auto; padding: 18px 13px 15px; border: 3px solid #7e8387; border-radius: 47px; background: linear-gradient(145deg, #252a2d, #080b0d 47%, #686b6d); box-shadow: inset 0 0 0 2px #15191c, 0 18px 42px rgba(0,0,0,.44); transform: rotate(-1deg); }
.orp-phone__speaker { position: absolute; z-index: 2; top: 13px; left: 50%; width: 112px; height: 25px; border-radius: 0 0 17px 17px; background: #080b0d; transform: translateX(-50%); }
.orp-phone__screen { display: flex; flex-direction: column; min-height: 640px; overflow: hidden; border-radius: 34px; background: linear-gradient(180deg, #c7d9ee, #aec8e5 58%, #9bb9dc); color: #1c2939; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; }
.orp-phone__bar { display: grid; grid-template-columns: 24px minmax(0,1fr) 20px; align-items: center; gap: 5px; min-height: 67px; padding: 18px 14px 8px; background: rgba(211, 226, 242, .86); border-bottom: 1px solid rgba(87, 111, 139, .28); }
.orp-phone__bar span { font-size: 26px; font-weight: 300; }
.orp-phone__bar b { overflow: hidden; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.orp-phone__bar i { font-size: 14px; font-style: normal; }
.orp-phone__date { width: max-content; margin: 12px auto 15px; padding: 3px 9px; border-radius: 12px; background: rgba(93, 119, 151, .35); color: #fff; font-size: 9px; }
.orp-phone__message { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: start; gap: 7px; padding: 0 13px; }
.orp-phone__avatar { width: 32px; height: 32px; border-radius: 50%; background: #fff url('img/oran-line-avatar-v2.webp') center 8% / 92% auto no-repeat; box-shadow: 0 0 0 1px #a57a30,0 1px 3px rgba(35,25,11,.2); }
.orp-phone__message p { position: relative; margin: 0; padding: 11px 12px; border-radius: 4px 13px 13px 13px; background: rgba(255,255,255,.92); font-size: 10px; line-height: 1.75; box-shadow: 0 2px 6px rgba(55,74,96,.1); }
.orp-phone__caption { margin: 22px 0 13px; color: #5b6f88; font-size: 9px; text-align: center; }
.orp-phone__topic { display: grid; grid-template-columns: 49px minmax(0,1fr); align-items: center; gap: 12px; margin: 0 14px 11px 52px; padding: 11px 14px; border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 2px 7px rgba(55,74,96,.13); }
.orp-phone__topic span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #d5bd7a; border-radius: 50%; background: linear-gradient(145deg,#d4b76c,#8f6725); color: #fffaf0; font: 13px Georgia,serif; box-shadow: inset 0 0 0 3px rgba(255,255,255,.22); }
.orp-phone__topic p { margin: 0; color: #1a2636; font-size: 11px; font-weight: 600; line-height: 1.55; }
.orp-phone__input { display: grid; grid-template-columns: 24px 1fr 20px; align-items: center; gap: 7px; min-height: 49px; margin-top: auto; padding: 7px 13px; border-top: 1px solid rgba(104,126,151,.28); background: rgba(240,245,249,.94); }
.orp-phone__input span { font-size: 23px; }
.orp-phone__input p { margin: 0; padding: 7px 11px; border-radius: 16px; background: #e6e9ed; color: #949ba3; font-size: 9px; }
.orp-phone__input i { font-style: normal; }
.orp-updates-copy { position: relative; z-index: 2; text-align: center; }
.orp-updates-copy__english { margin: 0 0 15px; color: #c39849; font: 11px Georgia,serif; letter-spacing: .31em; }
.orp-updates-copy h2 { margin: 0; color: #efd08a; font-size: clamp(36px, 3.75vw, 56px); font-weight: 500; line-height: 1.46; letter-spacing: .045em; text-shadow: 0 3px 20px #000; }
.orp-updates-copy h2 span { display: block; white-space: nowrap; }
.orp-updates-copy__divider { display: block; width: min(480px, 92%); height: 34px; margin: 15px auto 10px; background: url('../orank-school-ad/img/learn-a/cta-divider.png') center / 100% auto no-repeat; }
.orp-updates-copy__lead { margin: 0; color: #eee7d8; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; font-size: clamp(13px, 1.25vw, 17px); line-height: 2.05; letter-spacing: .05em; }
.orp-updates-copy__closing { margin: 35px 0 0; color: #ddb96c; font-size: clamp(21px, 2.2vw, 31px); line-height: 1.7; letter-spacing: .09em; }
.orp-updates-knight { position: relative; align-self: end; min-width: 0; margin: 0 -34px -36px -64px; }
.orp-updates-knight img { display: block; width: 100%; max-height: 720px; object-fit: contain; object-position: center bottom; filter: drop-shadow(-14px 13px 18px rgba(0,0,0,.48)); }

.orp-footer { position: relative; padding: 34px 0 26px; border-top: 1px solid #c39b4e; background-color: #040d15; background-image: url('../orank-school-ad/img/chrome-left.webp'),url('../orank-school-ad/img/chrome-right.webp'),url('../orank-school-ad/img/chrome-center.webp'); background-position: left center,right center,center center; background-size: auto 100%,auto 100%,auto 100%; background-repeat: no-repeat,no-repeat,repeat-x; box-shadow: 0 -8px 24px rgba(0,0,0,.48); }
.orp-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.orp-footer__links { display: flex; justify-content: flex-end; gap: 22px; flex-wrap: wrap; }
.orp-footer__links a { color: #d9d3c9; font: 12px "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; transition: color .2s ease; }
.orp-footer__links a:hover { color: #f0d38a; }
.orp-footer__copy { margin: 21px 0 0; color: #8f9498; font: 11px Arial,sans-serif; text-align: center; }

@media (max-width: 900px) {
  .orp-container { width: min(100% - 36px, 760px); }
  .orp-header { height: 70px; }
  .orp-brand__emblem { width: 44px; }
  .orp-brand__text { font-size: 14px; }
  .orp-page .orp-menu { display: block !important; }
  .orp-nav { position: absolute; top: 70px; right: 18px; left: 18px; display: grid; gap: 0; padding: 12px 20px 18px; border: 1px solid #88652d; background: rgba(2, 10, 18, .98); box-shadow: 0 16px 35px rgba(0, 0, 0, .48); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .22s ease, visibility .22s ease, transform .22s ease; }
  .orp-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .orp-nav a { padding: 15px 8px; border-bottom: 1px solid rgba(189, 145, 66, .2); text-align: center; }
  .orp-nav a::after { display: none; }
  .orp-nav__limited { margin-top: 12px; text-align: center; }
  .orp-menu.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .orp-menu.is-open span:nth-child(2) { opacity: 0; }
  .orp-menu.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .orp-hero { min-height: 820px; background-position: center top; }
  .orp-hero__inner { min-height: 760px; padding-top: 68px; }
  .orp-cases-section,.orp-video-section { padding: 78px 0 86px; }
  .orp-cases-section::before,.orp-video-section::before,.orp-updates-section::before { display: none; }
  .orp-cases-inner,.orp-video-inner { width: min(100% - 44px, 760px); }
  .orp-case { grid-template-columns: 1fr; }
  .orp-case__screen { border-right: 0; border-bottom: 1px solid #d4ba86; }
  .orp-case__screen img { height: auto; min-height: 0; aspect-ratio: 1200 / 630; }
  .orp-video-player { width: 96%; }
  .orp-video-topics { gap: 12px; width: 100%; }
  .orp-video-topic { min-height: 196px; padding: 18px 13px 16px; }
  .orp-video-topic__icon { width: 86px; height: 84px; background-size: 75px auto; }
  .orp-video-topic h3 { padding: 0 0 27px; font-size: 17px; }
  .orp-updates-section { padding: 72px 0 0; }
  .orp-updates-frame { padding: 0; }
  .orp-updates-inner { grid-template-columns: minmax(260px,.85fr) minmax(350px,1.15fr); width: min(100% - 44px,760px); }
  .orp-updates-knight { grid-column: 1 / -1; width: min(300px, 48%); margin: 4px auto 0; opacity: .95; }
  .orp-updates-copy { align-self: start; padding-top: 36px; }
  .orp-footer__inner { flex-direction: column; }
  .orp-footer__links { justify-content: center; }
}

@media (max-width: 600px) {
  .orp-container { width: calc(100% - 30px); }
  .orp-header { height: 64px; }
  .orp-header__inner { gap: 12px; }
  .orp-brand { gap: 9px; }
  .orp-brand__emblem { width: 38px; }
  .orp-brand__text { font-size: 11.5px; letter-spacing: .04em; }
  .orp-brand__text small { margin-top: 3px; font-size: 6px; }
  .orp-menu { width: 38px; height: 38px; }
  .orp-nav { top: 64px; right: 15px; left: 15px; }
  .orp-hero { min-height: 790px; background-image: url('img/private-archive-hero-mobile-v2.webp'); background-position: center 42%; background-size: cover; }
  .orp-hero::before { background: radial-gradient(circle at 50% 39%, transparent 0 44%, rgba(0, 5, 10, .3) 100%), linear-gradient(180deg, rgba(0, 5, 11, .12), rgba(1, 7, 14, .34) 66%, rgba(2, 9, 18, .64) 100%); }
  .orp-hero__inner { min-height: 680px; padding: 54px 0 64px; }
  .orp-seal { width: 61px; height: 61px; }
  .orp-seal::before, .orp-seal::after { width: 55px; }
  .orp-hero__english { margin-bottom: 20px; font-size: 8px; }
  .orp-hero__eyebrow { margin-bottom: 18px; font-size: 11px; }
  .orp-hero h1 { font-size: clamp(30px, 8.9vw, 38px); line-height: 1.58; letter-spacing: .04em; }
  .orp-hero__divider { width: min(270px, 78%); height: 27px; margin: 14px auto 10px; }
  .orp-hero__lead { font-size: 14px; line-height: 1.9; letter-spacing: .06em; }
  .orp-lead-break { display: block; }
  .orp-open { margin-top: 29px; font-size: 12px; }
  .orp-cases-section,.orp-video-section { padding: 68px 0 74px; }
  .orp-cases-inner { width: calc(100% - 16px); }
  .orp-cases-heading { margin-bottom: 31px; }
  .orp-cases-heading p { font-size: 7px; letter-spacing: .2em; }
  .orp-cases-heading h2 { font-size: clamp(22px, 6.9vw, 28px); line-height: 1.55; letter-spacing: .04em; }
  .orp-cases-heading h2 span { display: block; }
  .orp-cases-heading__divider { width: 78%; margin-top: 10px; }
  .orp-case-list { gap: 21px; }
  .orp-case__detail { padding: 22px 17px 17px; }
  .orp-case__detail header { grid-template-columns: 53px minmax(0, 1fr); }
  .orp-case__number { width: 50px; height: 64px; margin-top: -22px; }
  .orp-case__detail h3 { font-size: 22px; }
  .orp-case__detail dl div { grid-template-columns: 86px 1fr; font-size: 13px; }
  .orp-case__memo { padding: 42px 13px 12px; }
  .orp-case__memo span { top: 13px; left: 13px; }
  .orp-case__memo span::after { width: 32px; }
  .orp-case__button { min-height: 44px; font-size: 13px; }
  .orp-video-inner { width: calc(100% - 16px); }
  .orp-video-heading { margin-bottom: 27px; }
  .orp-video-heading p { gap: 11px; margin-bottom: 8px; font-size: 10px; }
  .orp-video-heading h2 { font-size: clamp(25px, 7.5vw, 31px); line-height: 1.5; letter-spacing: .035em; }
  .orp-video-heading__divider { width: 88%; margin-top: 8px; }
  .orp-video-player { width: 100%; padding: 7px; border-radius: 5px; }
  .orp-video-player::before,.orp-video-player::after { top: 3px; width: 32px; height: 32px; }
  .orp-video-player::before { left: 3px; }
  .orp-video-player::after { right: 3px; }
  .orp-video-topics { grid-template-columns: 1fr; gap: 11px; margin-top: 20px; }
  .orp-video-topic { min-height: 190px; padding: 18px 22px 16px; }
  .orp-video-topic__icon { width: 96px; height: 89px; background-size: 80px auto; }
  .orp-video-topic h3 { padding: 0 0 29px; font-size: 19px; }
  .orp-video-topic::before,.orp-video-topic::after { width: 37px; height: 37px; }
  .orp-updates-section { padding: 64px 0 0; }
  .orp-updates-frame { padding: 0; }
  .orp-updates-inner { display: flex; flex-direction: column; gap: 30px; width: calc(100% - 30px); }
  .orp-updates-copy { order: 1; padding: 0 5px; }
  .orp-updates-copy__english { font-size: 8px; letter-spacing: .22em; }
  .orp-updates-copy h2 { font-size: clamp(29px, 8.8vw, 36px); line-height: 1.48; letter-spacing: .025em; }
  .orp-updates-copy__divider { width: 90%; margin-top: 10px; }
  .orp-updates-copy__lead { font-size: 12.5px; line-height: 1.9; }
  .orp-updates-copy__lead br { display: none; }
  .orp-updates-copy__closing { margin-top: 25px; font-size: 22px; }
  .orp-phone { order: 2; width: min(100%, 330px); }
  .orp-phone__screen { min-height: 585px; }
  .orp-updates-knight { order: 3; width: min(270px, 78%); margin: 0 auto; }
  .orp-updates-knight img { max-height: 510px; object-position: center bottom; }
  .orp-footer { padding: 28px 0 22px; background-size: auto 100%; }
  .orp-footer__links { gap: 14px 20px; text-align: center; }
  .orp-footer__links a { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .orp-page * { transition: none !important; }
}
