/* Japanese campaign composition: gold, deep green, bold Japanese typography. */
.masthead { min-height: 62px; padding-top: 11px; padding-bottom: 11px; background: #fffcf2; }
.brand { font-size: 22px; letter-spacing: .02em; }
.brand small { font-size: 9px; }
.deadline-bar { background: var(--green-deep); color: #fff3c9; border-bottom: 2px solid #caa44c; }
.deadline-bar > span { border-color: #c6aa69; }
.fv { padding: 0 28px 28px; background: #fff4d7; }
.fv::before { display: none; }
.hero-audience { position: relative; z-index: 3; margin: 0 -28px; padding: 13px 20px; text-align: center; font: 700 16px/1.75 var(--sans); color: #35412b; background: #fff9e9; border-bottom: 1px solid #c5a05d80; }
.hero-inner { max-width: 1120px; display: block; min-height: 595px; padding-top: 25px; }
.hero-copy { position: relative; z-index: 2; width: 66%; padding: 0; }
.hero-eyebrow { border: 0; padding: 0; color: #314735; font: 700 13px/1.7 var(--sans); margin: 0 0 5px; letter-spacing: .03em; }
.fv-lead { font: 900 49px/1.15 var(--serif); color: #283d29; letter-spacing: -.06em; margin: 0; }
.hero-topic { font-size: 139px; line-height: 1.2; letter-spacing: -.065em; color: #ab750d; background: linear-gradient(165deg, #624512 12%, #bc8d20 36%, #e1ba4d 45%, #a7740e 53%, #805718 72%, #c8a449 90%); background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 #fff6d6) drop-shadow(0 3px 0 #94742a50); }
.hero-topic-tail { font-size: 47px; margin-left: 10px; white-space: nowrap; }
.hero-order { display: inline-block; font: 900 38px/1.55 var(--sans); letter-spacing: -.07em; border-bottom: 6px solid #d2ab50; padding: 0 6px 2px 0; }
.hero-order b { font: 700 66px/1 Georgia, serif; letter-spacing: -.08em; margin-right: 3px; }
.hero-promise { color: var(--green-deep); font: 900 31px/1.5 var(--serif); letter-spacing: -.045em; margin: 18px 0 0; }
.hero-promise br { display: none; }
.hero-days { color: #997019; font: 65px/1 Georgia, serif; letter-spacing: -.07em; margin-left: 5px; white-space: nowrap; }
.hero-days small { font: 900 29px var(--serif); margin-left: 4px; }
.hero-product { text-align: left; margin: 18px 0 0; padding: 0; }
.hero-product p { color: #665427; font: 28px/1.2 Georgia, serif; letter-spacing: .025em; margin: 0; }
.hero-product small { display: block; font-size: 10px; letter-spacing: .08em; margin-top: 5px; }
.hero-jackets { display: flex; width: 525px; gap: 12px; margin: 28px 0 0; align-items: flex-end; perspective: 1200px; }
.hero-jackets img { width: calc((100% - 48px)/5); height: auto; border: 1px solid #e0bb64; box-shadow: 3px 6px 0 #8c724930, 0 12px 20px #62442735; transform: rotateY(-9deg); }
.hero-jackets img:nth-child(2), .hero-jackets img:nth-child(4) { transform: rotateY(-9deg) translateY(-5px); }
.hero-jackets img:nth-child(3) { transform: rotateY(-9deg) translateY(-10px); }
.hero-track-note { font-size: 11px; font-weight: 500; color: #4e4a2e; margin: 13px 0 0; letter-spacing: .02em; }
.hero-visual { position: absolute; inset: 0 calc((1120px - 100vw)/2); height: 100%; margin: 0; padding: 0; z-index: 0; }
.hero-person { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.hero-credit { position: absolute; display: block; left: auto; bottom: 23px; right: max(30px, calc((100vw - 1090px)/2)); padding: 9px 23px 10px; border: 1px solid #c89f4a; background: #fff8e6e8; color: var(--green-deep); min-width: 160px; }
.hero-credit > span { display: block; font-size: 10px; text-align: center; }
.hero-credit > b { display: block; font: 36px Georgia, serif; text-align: center; }
.hero-credit > small { display: block; text-align: center; font-size: 10px; margin-top: 5px; }
.hero-bottom { max-width: 1120px; position: relative; z-index: 3; display: block; margin: 0 auto; padding: 0; background: #fffbee; box-shadow: 0 4px 0 #bda263; border: 1px solid #b79a5f; }
.hero-inclusions { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 0; margin: 0; }
.hero-inclusions > span { font-size: 11px; padding: 12px 15px; margin: 0; border: 0; line-height: 1.6; }
.hero-inclusions > span + span { border-left: 1px solid var(--line); }
.hero-inclusions b { font: 900 21px/1.4 var(--serif); color: var(--green); display: block; margin: 3px 0 0; }
.hero-inclusions em { font: 39px/1 Georgia, serif; color: #9c721c; }
.fv > .cta-buttons { margin-top: 23px; }
.fv .cta-sub { font-size: 11px; }
.hero-note { font-size: 10px; }
.cta-button { border: 1px solid #0d5032; border-radius: 7px; background: linear-gradient(#258b4e, #126139); box-shadow: 0 5px 0 #083d25, 0 9px 18px #283d251c; font-weight: 900; text-shadow: 0 1px 1px #12321e70; }
.cta-button:active { box-shadow: 0 2px 0 #083d25; }
.cta-band { background: radial-gradient(ellipse at 50% 0, #fffcdb, #ecd295); border-color: #be9b4f; }
.cta-sub { color: #38412b; }
.section-title { font-weight: 900; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.55; padding-bottom: 26px; position: relative; letter-spacing: -.055em; }
.section-title::after { content: ''; position: absolute; width: 90px; height: 3px; background: linear-gradient(90deg, #b08b39, #ead593, #b08b39); bottom: 0; left: calc(50% - 45px); }
.keep { white-space: nowrap; }
.chapter-label { font: 700 12px/1.8 var(--sans); letter-spacing: .05em; color: #84651e; }
.step-title { font-family: var(--sans); font-weight: 900; letter-spacing: -.035em; }
.hl-gold { background: linear-gradient(transparent 70%, #efd98e99 70%); }
.emergency-warning .section-title::after, .warning-title::after { display: none; }
.main-problem .section-title { text-align: left; max-width: 710px; border-bottom: 1px solid var(--line); padding-bottom: 34px; }
.main-problem .section-title::after { width: 90px; left: 0; bottom: -1px; }
.main-problem .block-label, .mechanism .block-label { display: none; }
.product-snapshot, .authority, .vip { background: radial-gradient(ellipse at 85% 0, #305239, #092e23 68%); border-top: 4px solid #c09c4e; border-bottom: 4px solid #c09c4e; }
.product-snapshot .section-title, .authority .section-title, .vip .section-title { color: #f2d894; }
.product-snapshot .section-title::after, .authority .section-title::after, .vip .section-title::after { width: 140px; left: calc(50% - 70px); }
.jackets-row figure { min-width: 0; }
.jackets-row figcaption { font-size: 11px; line-height: 1.7; padding-top: 14px; }
.jackets-row figcaption b { display: block; color: #f2db9e; }
.jackets-row figcaption small { display: block; font-size: 10px; line-height: 1.7; color: #cbd6bf; padding-top: 5px; }
.pain-day .day-list { position: relative; }
.pain-day .day-list p { padding: 0 0 26px 20px; margin: 0; position: relative; font-size: 16px; }
.pain-day .day-list p::before { content: ''; position: absolute; top: 12px; left: -30px; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.authority .photo-2col { margin-bottom: 35px; }
.track-role { font-family: var(--serif); font-weight: 900; }
.bonus { background: #f1dfac; border-top: 4px solid #b39246; }
.bonus .chapter-label { display: table; margin: 0 auto 20px; padding: 7px 22px; background: var(--green); color: #fff4ce; }
.testimonial-grid .testimonial-text { background: #fffaf0; border: 1px solid #d0b675; padding: 35px 40px 30px; }
.testimonial-grid .testimonial-text::before { content: '“'; display: block; font: 52px/.65 Georgia, serif; color: var(--gold); margin-bottom: 15px; }
.stat-circle b { color: #99711a; }
.value-section { background: #f5eac9; border-top: 5px solid #b89747; }
.price-cards { align-items: stretch; }
.price-card { display: flex; flex-direction: column; }
.price-card .cta-buttons { width: 100%; margin-top: auto; padding-top: 20px; }
.price-ribbon { min-height: 40px; font-weight: 700; }
.price-name { font: 900 24px var(--sans); }
.price-card:first-child::before { content: 'まずは2曲から'; background: #e9dfc3; color: #514725; margin: -28px -23px 24px; padding: 10px; min-height: 40px; text-align: center; font-size: 12px; font-weight: 700; }
.price-card.featured { border-color: #175b3a; }
.featured .price-ribbon { background: #175b3a; }
.price-card:not(.featured) .cta-button { background: #fff9e4; color: #245037; }
.price-amount { color: #26553b; }
.price-num { font-weight: 700; }
.guarantee { background: #fffdf5; }
.seal { color: #927022; border-width: 2px; background: radial-gradient(#fffdf2 50%, #f3e4b6); }
.seal-t { color: #315239; }
.closing { background: radial-gradient(ellipse at 50% 0, #fffae8, #ead196); }
.footer .section-title { font-family: var(--sans); }
.site-footer { border-top: 2px solid #b79a55; }
@media (min-width: 768px) and (max-width: 1175px) {
  .hero-visual { left: -28px; right: -28px; }
  .hero-inner { min-height: 565px; }
  .hero-topic { font-size: 122px; }
  .hero-topic-tail { font-size: 39px; }
  .hero-order { font-size: 32px; }
  .hero-promise { font-size: 25px; }
  .hero-days { font-size: 56px; }
  .hero-jackets { width: 460px; }
  .hero-product p { font-size: 25px; }
  .hero-credit { right: 25px; }
}
@media (max-width: 767px) {
  .masthead { min-height: 56px; padding: 10px 20px; }
  .brand { font-size: 19px; }
  .fv { padding: 0 18px 24px; }
  .hero-audience { margin: 0 -18px; padding: 11px 20px; font-size: 11px; line-height: 1.9; text-wrap: balance; }
  .hero-inner { padding-top: 14px; min-height: 543px; }
  .hero-copy { width: 100%; }
  .hero-eyebrow { font-size: 9px; margin-bottom: 1px; letter-spacing: 0; }
  .fv-lead { font-size: 30px; line-height: 1.15; }
  .hero-topic { font-size: clamp(87px, 26vw, 130px); line-height: 1.15; }
  .hero-topic-tail { font-size: clamp(26px, 8vw, 43px); margin-left: 6px; }
  .hero-order { font-size: clamp(23px, 6.8vw, 35px); line-height: 1.5; border-bottom-width: 4px; padding-bottom: 1px; }
  .hero-order b { font-size: 46px; }
  .hero-promise { font-size: 24px; line-height: 1.55; margin-top: 21px; width: 66%; text-shadow: 0 1px #fff9; }
  .hero-promise br { display: block; }
  .hero-days { font-size: 51px; margin-left: 2px; }
  .hero-days small { font-size: 22px; margin-left: 2px; }
  .hero-product { width: 57%; margin-top: 20px; }
  .hero-product p { font-size: 23px; line-height: 1.1; letter-spacing: .01em; }
  .hero-product small { font-size: 8px; line-height: 1.8; letter-spacing: .015em; margin-top: 6px; }
  .hero-jackets { width: 65%; gap: 5px; margin-top: 25px; }
  .hero-jackets img { width: calc((100% - 20px)/5); box-shadow: 2px 4px 7px #4835153b; }
  .hero-jackets img:nth-child(2), .hero-jackets img:nth-child(4) { transform: translateY(-3px); }
  .hero-jackets img:nth-child(3) { transform: translateY(-6px); }
  .hero-track-note { font-size: 8px; width: 64%; line-height: 1.8; margin-top: 11px; }
  .hero-visual { left: -18px; right: -18px; top: 0; height: 100%; }
  .hero-person { width: auto; max-width: none; height: 365px; top: 178px; right: -35px; object-fit: contain; mask-image: linear-gradient(180deg, transparent, #000 15%); }
  .hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #fff4d790 0, transparent 60%); }
  .hero-credit { z-index: 1; min-width: 111px; bottom: 19px; right: 9px; padding: 7px 9px; background: #fff7e3eb; }
  .hero-credit > span { font-size: 8px; }
  .hero-credit > b { font-size: 25px; }
  .hero-credit > small { font-size: 8px; }
  .hero-inclusions { grid-template-columns: 1fr 1fr 1.2fr; }
  .hero-inclusions > span { font-size: 8px; line-height: 1.65; padding: 11px 5px; letter-spacing: -.03em; }
  .hero-inclusions b { font-size: 12px; margin-top: 5px; }
  .hero-inclusions em { font-size: 26px; }
  .hero-inclusions > span:last-child b { font-size: 11px; }
  .fv .cta-sub { font-size: 10px; }
  .hero-note { font-size: 9px; }
  .section-title { font-size: 29px; line-height: 1.6; }
  .section-text { font-size: 15px; line-height: 2.05; }
  .step-title { font-size: 23px; }
  .jackets-row { grid-template-columns: 1fr 1fr; gap: 25px 16px; margin-left: 0; margin-right: 0; }
  .jackets-row figure:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 16px; }
  .jackets-row figure:last-child figcaption { padding-top: 0; }
  .main-problem .section-title { font-size: 29px; }
  .pain-day .day-list p { font-size: 14px; padding-left: 12px; }
  .pain-day .day-list p::before { left: -20px; }
  .price-card:first-child::before { margin-left: -27px; margin-right: -27px; }
  .testimonial-grid .testimonial-text { padding: 30px 23px 25px; }
  .offer-table th { font-size: 10.5px; font-weight: 900; }
}
@media (max-width: 360px) {
  .hero-inner { min-height: 515px; }
  .hero-topic { font-size: 80px; }
  .hero-topic-tail { font-size: 23px; }
  .hero-promise { font-size: 21px; }
  .hero-days { font-size: 45px; }
  .hero-days small { font-size: 19px; }
  .hero-product p { font-size: 21px; }
  .hero-credit { min-width: 96px; right: 5px; padding: 7px 5px; }
  .hero-order { font-size: 22px; }
  .offer-table th { font-size: 9px; }
}
