:root{--ink:#172b35;--paper:#f7f5ee;--lime:#daee94;--muted:#66726f;--line:#d8ddd4;--green:#4c7864}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:4px}p{margin:0 0 1.2em}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.4;margin:0;font-weight:700}h1{font-size:clamp(38px,4.6vw,68px);letter-spacing:-.04em}h1 em{font-style:normal;color:var(--green)}h2{font-size:clamp(29px,3.4vw,48px);letter-spacing:-.03em}h3{font-size:21px}small,.small{font-size:12px;color:var(--muted)}.skip{position:fixed;left:20px;top:-100px;z-index:2147483647;background:var(--lime);padding:12px}.skip:focus{top:12px}.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;padding:24px 5%;font-size:11px;color:var(--muted);letter-spacing:.04em}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;min-height:630px}.hero-copy{padding:40px 8% 64px 10%}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:22px}.hero-name{font-size:21px;font-weight:700;margin-top:27px;margin-bottom:12px}.lead{color:var(--muted);font-size:16px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border-radius:40px;background:var(--ink);color:white;padding:16px 25px;font-size:14px;font-weight:700;margin-top:12px}.button:hover{background:var(--green)}.hero-image{position:relative;margin:20px 5vw 40px 0;min-height:480px;border-radius:140px 10px 10px 10px;background:#dbe1d8;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:center;filter:brightness(.86)}.hero-image figcaption{position:absolute;left:28px;bottom:27px;color:white;font-size:10px;letter-spacing:.2em}.hero-stamp{position:absolute;right:24px;top:24px;background:var(--lime);border-radius:50%;width:126px;height:126px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:700;line-height:1.5;transform:rotate(8deg)}.ribbon{background:var(--lime);padding:20px 5%;display:flex;gap:25px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:11px;letter-spacing:.1em}.ribbon b{font-size:20px}.contents{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 18px;padding:22px 5%;border-bottom:1px solid var(--line);font-size:12px}.contents a{padding:6px 0}.contents a:hover{color:var(--green)}.source-note{max-width:1280px;margin:30px auto 0;padding:22px 28px;background:#eeeede;border-left:4px solid #9aaa75;font-size:12px}.source-note strong{font-size:14px}.source-note p{margin:6px 0 0}.source-note a,.text-link{text-decoration:underline;text-underline-offset:4px}.section{padding:80px max(5%,calc((100% - 1280px)/2));border-bottom:1px solid var(--line)}.section-heading{margin-bottom:38px;max-width:800px}.section-heading>p:last-child{margin:20px 0 0;color:var(--muted);font-size:15px;max-width:720px}.section-heading .eyebrow{color:var(--green)}.four-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.four-grid article{padding:28px 24px 24px;border:1px solid var(--line);border-radius:4px}.four-grid article>span{font-size:12px;color:var(--green)}.four-grid h3{margin:26px 0 16px}.four-grid p,.life-grid p,.course-list p{font-size:14px;color:var(--muted);margin-bottom:0}.life{background:#eef0e7}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 60px}.life-grid article{padding-bottom:30px;border-bottom:1px solid #cdd6c9}.life-grid h3{margin-bottom:15px}.life-grid a{font-size:12px;font-weight:700;display:inline-block;margin-top:20px}.life>.small{margin-top:24px}.course-list{border-top:1px solid var(--line)}.course-list article{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.course-list b{font-size:29px;color:var(--green)}.course-list h3{margin-bottom:10px}.price-section{background:#f1f2e9}.price-summary{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:25px}.price-summary>div{padding-left:18px;border-left:3px solid #a7bc76}.price-summary small{display:block}.price-summary strong{font-size:28px}.notice{font-size:13px;padding:18px 20px;background:#fff9e6;border-left:3px solid #c5a451;margin:20px 0}.table-scroll{overflow:auto;border:1px solid #ccd3c9;background:#fffef8;border-radius:5px}table{width:100%;border-collapse:collapse;min-width:660px;font-size:13px}caption{text-align:left;font-size:12px;padding:16px 20px;background:#e5eacb;font-weight:700}th{padding:15px;text-align:left;background:#233c35;color:white;font-size:12px;white-space:nowrap}td{padding:14px 15px;border-bottom:1px solid #e1e5db;vertical-align:top;white-space:pre-line}td:first-child{font-size:11px;width:15%;color:var(--green)}td:nth-child(2){width:33%;font-weight:700}td:last-child{font-weight:700;white-space:nowrap}tr:nth-child(even){background:#f3f5ed}.important,.terms{margin-top:16px;border:1px solid var(--line);border-radius:4px;background:#fffef9}.important summary,.terms summary{padding:20px 24px;font-size:15px;font-weight:700}.important[open] summary,.terms[open] summary{border-bottom:1px solid var(--line)}.important ul{padding:12px 34px 22px 45px;font-size:14px;line-height:1.9}.important li+li{margin-top:12px}.documents{background:#162d30;color:white}.documents .section-heading .eyebrow{color:var(--lime)}.documents .section-heading>p:last-child{color:#bdccc6}.slide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo{display:block;position:relative;min-width:0}.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#e8ece5;border:1px solid #d8ddd4;border-radius:4px}.photo span{display:block;font-size:10px;padding:9px 0;color:var(--muted)}.photo:hover img{outline:2px solid var(--green);outline-offset:2px}.slide img{aspect-ratio:947/497;background:#101724;border-color:#355150}.slide span{color:#c5d2cc}.album{border-bottom:1px solid var(--line)}.album summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 8px;font-size:17px;font-weight:700;list-style:none}.album summary::before{content:'＋';font-size:18px;color:var(--green)}.album[open] summary::before{content:'−'}.album summary small{margin-left:auto;white-space:nowrap}.album summary::-webkit-details-marker{display:none}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 8px 28px}.films{background:#edf0e7}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.video-frame{aspect-ratio:16/9;background:#172b35;position:relative;border-radius:6px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;border:0;width:100%;height:100%}.video-card>a{display:inline-block;margin-top:12px;font-size:12px;font-weight:700}.verbatim{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;padding:24px;max-width:960px}.terms .notice{margin:0 24px 24px}.source-links{padding:20px 45px;font-size:13px;overflow-wrap:anywhere}.source-links li{margin-bottom:10px}.original-module{border-bottom:1px solid var(--line);padding:10px 0}.original-module .source-index{font-size:10px;color:var(--green);padding:12px 24px 0;margin:0;letter-spacing:.1em}.original-module .verbatim{padding-top:8px}.original>.text-link{display:inline-block;font-size:12px;margin-top:24px}.contact-section{padding:75px 5%;background:var(--ink);color:white;text-align:center}.contact-section h2{margin-bottom:25px}.contact-section p{color:#c9d4cf}.contact-section .eyebrow{font-size:10px}.button.light{background:var(--lime);color:var(--ink)}.back{display:block;margin-top:24px;font-size:12px}footer{padding:38px 5% 45px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px}footer>a:first-child{font-size:25px;letter-spacing:-1px;font-weight:700}footer p{margin:0}dialog{border:0;padding:0;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;background:#f7f5ee;color:var(--ink);border-radius:8px;overflow:auto}dialog::backdrop{background:#0c1b20df}.dialog-bar,.dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px}.dialog-bar{position:sticky;top:0;background:var(--paper);z-index:1;border-bottom:1px solid var(--line)}.dialog-bar p{margin:0;font-size:12px}.dialog-bar button,.dialog-controls button{border:1px solid var(--line);background:white;padding:9px 13px;border-radius:30px;font-size:12px;white-space:nowrap}.dialog-controls a{font-size:12px;text-decoration:underline}#photo-full{display:block;max-width:100%;max-height:72dvh;margin:auto;object-fit:contain}body.photo-open{overflow:hidden}@media(max-width:1000px){.four-grid{grid-template-columns:1fr 1fr}.hero-image{margin-right:4vw}.hero-copy{padding-left:8%}.source-note{margin:25px 5% 0}.slide-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){html{scroll-padding-top:95px}.breadcrumb{font-size:9px;padding:20px 5%;gap:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:20px 6% 35px}.hero .eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:42px}.hero-name{font-size:19px}.hero-image{min-height:310px;height:310px;margin:0 5% 30px;border-radius:90px 8px 8px 8px}.hero-stamp{width:90px;height:90px;font-size:10px;right:20px;top:20px}.hero-image figcaption{font-size:8px;bottom:20px}.ribbon{gap:10px;font-size:8px;padding:14px 5%}.ribbon b{font-size:12px}.contents{justify-content:flex-start;gap:2px 16px;font-size:11px;padding:18px 5%}.source-note{font-size:11px;padding:17px}.source-note strong{font-size:12px}.section{padding:50px 5%}.section-heading{margin-bottom:28px}.section-heading>p:last-child{font-size:13px}.four-grid{gap:12px}.four-grid article{padding:20px 15px}.four-grid h3{font-size:18px;margin:16px 0 12px}.four-grid p{font-size:12px}.life-grid{grid-template-columns:1fr;gap:24px}.life-grid h3{font-size:20px}.course-list article{grid-template-columns:36px 1fr;gap:15px}.course-list b{font-size:23px}.course-list h3{font-size:18px}.course-list p{font-size:13px}.price-summary{gap:22px}.price-summary strong{font-size:23px}.notice{font-size:12px;padding:14px}.slide-grid{gap:16px}.photo-grid{grid-template-columns:1fr 1fr;gap:14px}.album summary{font-size:14px}.video-grid{grid-template-columns:1fr;gap:25px}.important summary,.terms summary{font-size:13px;padding:18px 16px}.important ul{font-size:12px;padding:5px 22px 20px 35px}.verbatim{font-size:12px;padding:18px 16px}.terms .notice{margin:0 16px 18px}.dialog-bar,.dialog-controls{padding:12px;gap:8px}.dialog-controls button{padding:8px}.dialog-controls a{font-size:10px}.dialog-bar p{font-size:10px}.contact-section{padding:55px 5%}.contact-section p{font-size:13px}footer{flex-direction:column;align-items:flex-start;padding-bottom:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.presentation-archive summary{padding:18px 0;border-top:1px solid #355150;color:var(--lime);font-size:14px;font-weight:700}.presentation-archive[open] summary{margin-bottom:24px}.curated-gallery{padding:0;grid-template-columns:repeat(4,minmax(0,1fr))}.curated-gallery .photo span{font-size:12px;line-height:1.6;padding:12px 0 20px}.curated-gallery+.small{margin-top:22px}@media(max-width:1000px){.curated-gallery{grid-template-columns:1fr 1fr}}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.hero-overview{font-size:13px;text-decoration:underline;text-underline-offset:5px;padding:14px 0}.hero-actions .button{min-height:48px}

.hero-support-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:430px;margin:18px 0 24px}.hero-support-links a{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:76px;padding:12px 17px;border:1px solid #b8c4cb;border-radius:8px;background:#eef1f2;color:#253d4b}.hero-support-links small{font-size:11px;color:#536775}.hero-support-links span{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700}.hero-support-links b{font-weight:400}.hero-support-links a:hover{background:#dfe6ea;border-color:#536775}@media(max-width:640px){.hero-support-links{gap:10px;margin:15px 0 22px}.hero-support-links a{min-height:72px;padding:10px 14px}}
