:root{--viewport-height-dynamic: 100vh;--brand-primary: #00C300;--brand-secondary: #FF4500;--brand-highlight: #FFFF00;--text-primary: #333333;--background-main: #FFFFFF;--border-standard: #e5e5e5;--text-muted: #6c757d;--elevation-subtle: 0 2px 8px rgba(0, 0, 0, .1);--elevation-moderate: 0 4px 16px rgba(0, 0, 0, .15);--elevation-prominent: 0 8px 32px rgba(0, 0, 0, .2);--border-radius-small: 6px;--border-radius-medium: 8px;--border-radius-large: 12px;--border-radius-xlarge: 40px;--gap-tiny: 8px;--gap-small: 12px;--gap-medium: 16px;--gap-large: 20px;--gap-xlarge: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,游ゴシック体,YuGothic,メイリオ,Meiryo,sans-serif;line-height:1.5;color:var(--text-primary);background:var(--background-main);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.application-container{width:100%;margin:0 auto;padding-bottom:80px}.primary-content{width:100%;margin-bottom:70px;padding-bottom:10px}.primary-content img{width:100%;margin-bottom:var(--gap-medium)}.text-content{font-size:15px;line-height:1.8;text-align:center;padding:0 var(--gap-medium);margin:0 auto 20px;max-width:500px}.accent-orange{color:var(--brand-secondary)}.accent-green{color:var(--brand-primary)}.emphasized-content{background:linear-gradient(transparent 70%,var(--brand-highlight) 0%)}.course-header{font-size:110%}.legal-information{background:#f8f9fa;padding:var(--gap-xlarge) var(--gap-medium);margin-top:var(--gap-xlarge);border-top:1px solid var(--border-standard)}.legal-container{max-width:600px;margin:0 auto}.legal-heading{font-size:20px;font-weight:600;text-align:center;margin-bottom:var(--gap-xlarge);color:var(--text-primary);border-bottom:2px solid var(--brand-primary);padding-bottom:var(--gap-small)}.legal-block{margin-bottom:var(--gap-large);background:#fff;padding:var(--gap-medium);border-radius:var(--border-radius-medium);box-shadow:var(--elevation-subtle)}.legal-block h3{font-size:16px;font-weight:600;margin-bottom:var(--gap-small);color:var(--brand-primary)}.legal-block p{font-size:14px;line-height:1.6;color:var(--text-primary);margin-bottom:var(--gap-tiny)}.legal-block ul{margin:var(--gap-small) 0;padding-left:var(--gap-large)}.legal-block li{font-size:14px;line-height:1.6;color:var(--text-primary);margin-bottom:var(--gap-tiny)}.legal-footer{margin-top:var(--gap-xlarge);padding-top:var(--gap-medium);border-top:1px solid var(--border-standard);text-align:center}.revision-date{font-size:12px;color:var(--text-muted);margin-bottom:var(--gap-tiny)}.organization-name{font-size:14px;font-weight:600;color:var(--brand-primary)}.action-button-fixed{position:fixed;bottom:var(--gap-medium);left:50%;transform:translate(-50%);width:90%;max-width:500px;z-index:9999;animation:bounceEffect 1.8s infinite}.action-button-fixed img{width:100%;border-radius:var(--border-radius-xlarge);box-shadow:var(--elevation-moderate)}.action-button-fixed a{display:block;width:100%}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:appearAnimation .2s ease}.modal-container{background:#fff;border-radius:var(--border-radius-large);box-shadow:var(--elevation-prominent);width:90%;max-width:320px;animation:slideInAnimation .3s ease}.modal-title-area{padding:var(--gap-large) var(--gap-large) var(--gap-medium);border-bottom:1px solid var(--border-standard);text-align:center}.modal-title-area h3{font-size:18px;font-weight:600}.modal-message{padding:var(--gap-large);text-align:center}.modal-message p{font-size:15px;line-height:1.6;margin-bottom:var(--gap-small)}.info-notice{background:#f8f9fa;padding:var(--gap-tiny) var(--gap-small);border-radius:var(--border-radius-small);border-left:3px solid #ffc107}.info-notice small{font-size:12px;color:var(--text-muted);line-height:1.4}.modal-controls{display:flex;gap:var(--gap-small);padding:var(--gap-medium) var(--gap-large) var(--gap-large)}.control-btn{flex:1;padding:var(--gap-small) var(--gap-medium);border:none;border-radius:var(--border-radius-medium);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.dismiss-btn{background:#f8f9fa;color:var(--text-muted)}.dismiss-btn:hover{background:#e9ecef;color:#495057}.proceed-btn{background:var(--brand-primary);color:#fff}.proceed-btn:hover{background:#00a800}@keyframes bounceEffect{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes appearAnimation{0%{opacity:0}to{opacity:1}}@keyframes slideInAnimation{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){html{font-size:15px}.primary-content{margin-bottom:60px}.primary-content img{margin-bottom:10px}.text-content{font-size:14px;line-height:1.7;padding:0 var(--gap-small)}.action-button-fixed{bottom:10px;width:94%}.modal-container{width:85%;max-width:280px}.modal-title-area h3{font-size:16px}.modal-message p{font-size:14px}.control-btn{padding:10px var(--gap-small);font-size:13px}.legal-information{padding:var(--gap-medium) var(--gap-small)}.legal-heading{font-size:18px;margin-bottom:var(--gap-medium)}.legal-block{padding:var(--gap-small);margin-bottom:var(--gap-medium)}.legal-block h3{font-size:15px}.legal-block p,.legal-block li{font-size:13px}}@media (max-width: 360px){html{font-size:14px}.text-content{font-size:13px;padding:0 var(--gap-tiny)}.action-button-fixed{width:96%}.legal-information{padding:var(--gap-small) var(--gap-tiny);margin-top:var(--gap-medium)}.legal-heading{font-size:16px;margin-bottom:var(--gap-small)}.legal-block{padding:var(--gap-tiny);margin-bottom:var(--gap-small)}.legal-block h3{font-size:14px}.legal-block p,.legal-block li{font-size:12px}}@media (hover: hover){a:hover{opacity:.8}}a:active{opacity:.7}@media (prefers-reduced-motion: reduce){.action-button-fixed{animation:none}*{transition:none!important}}
