:root{color:#103133;background:#fff;font-family:Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:#086c68}img{max-width:100%;height:auto}button{font:inherit}
.site-header{height:75px;background:#205652;display:flex;align-items:center;justify-content:center;position:relative;color:#fff}
.brand{display:block;line-height:0}.brand img{width:135px;height:auto}.menu{position:absolute;left:8px;top:0;z-index:2}.menu summary{list-style:none;cursor:pointer;height:75px;display:flex;align-items:center;gap:13px;color:#fff;font-weight:700;font-size:13px}.menu summary::-webkit-details-marker{display:none}.menu summary:before{content:"☰";font-size:30px;font-weight:300;line-height:1}.menu nav{position:absolute;left:-8px;top:75px;background:#205652;padding:16px 24px;width:240px;box-shadow:0 8px 14px #0002}.menu nav a{display:block;padding:9px 0;color:#fff;text-decoration:none}
main{max-width:1100px;margin:auto}h1{font-size:30px;line-height:1.3;margin:24px 16px 32px;font-weight:700;letter-spacing:.015em}.date{display:none}.hero{display:block;width:100%;aspect-ratio:1024/470;object-fit:cover;object-position:center 48%}
.article-body{padding:0 16px 40px;font-size:16px;line-height:1.63;color:#163133}.article-body p{margin:12px 0 17px}.article-body h2{font-size:27px;line-height:1.4;margin:36px 0 16px}.article-body h3{font-size:21px;margin:24px 0 12px}.article-body figure{margin:26px 0;text-align:center}.article-body figure img{display:block;margin:auto}.toc{border:1px solid #eee;margin:18px -16px 28px}.toc summary{padding:13px 10px;cursor:pointer;font-size:19px;list-style:none}.toc summary:after{content:"☷";float:right;border:1px solid #ccd3d3;border-radius:3px;font-size:17px;line-height:24px;padding:0 6px}.toc summary::-webkit-details-marker{display:none}.toc ol{margin:0;padding:3px 24px 18px 40px}.toc li{margin:7px 0}.toc a{text-decoration:none}
.promo{margin:0 -16px 32px;padding:24px 20px;background:#edf2f2;text-align:center}.promo h2{font-size:27px;margin:0 0 20px}.promo ul{text-align:left;padding-left:28px}.promo li{margin:10px 0}.promo img{display:none}.button{display:inline-block;background:#e27b4b;color:#fff;font-weight:700;text-decoration:none;border-radius:4px;padding:13px 24px;margin:20px 0}.end-cta{display:table;margin:32px auto}.video{display:flex;align-items:center;justify-content:center;gap:15px;width:min(100%,640px);aspect-ratio:16/9;margin:24px auto;border:0;background:#122425;color:white;cursor:pointer}.video .play{background:#e23834;border-radius:12px;padding:10px 19px;font-size:24px}.video iframe{width:100%;height:100%;border:0}.author{border-top:1px solid #ddd;margin-top:35px;padding-top:25px;text-align:center}.author h2{font-size:20px}.author img{display:block;margin:auto}footer{background:#205652;color:white;padding:25px 16px;text-align:center;font-size:14px}footer a{color:white}
@media(min-width:768px){.site-header{height:82px}.menu summary{height:82px}.menu nav{top:82px}.brand img{width:160px}h1{font-size:44px;margin:45px 0 6px}.date{display:block;color:#6c7777;font-size:13px;margin:0 0 20px}.hero{aspect-ratio:1024/500}.article-body{max-width:920px;margin:auto;padding:8px 24px 60px;font-size:19px;line-height:1.7}.article-body p{margin:17px 0 24px}.article-body h2{font-size:31px}.toc{margin:22px 0 32px}.promo{margin:0 0 38px;display:grid;grid-template-columns:1.3fr 1fr;text-align:left;align-items:center;padding:34px}.promo img{display:block}.promo h2{text-align:left}}
.article-body>iframe{display:block;width:min(100%,640px);aspect-ratio:16/9;height:auto;margin:24px auto;border:0}
@media(max-width:480px){h1{margin:32px 16px 34px}.menu summary{font-size:0}.hero{aspect-ratio:auto;height:290px}.article-body{font-size:16px}.toc{margin-top:13px;margin-bottom:16px}.toc summary{font-size:20px}}
.menu nav{max-height:calc(100vh - 75px);overflow:auto}.menu nav strong{display:block;margin:13px 0 2px;font-size:13px}.updated{margin:0 16px 25px;font-size:14px;color:#6c7777}.next-post{padding:18px 16px;border-top:1px solid #d7e0e0;text-align:right}.next-post a{text-decoration:none}.sidebar{background:#edf2f2;text-align:center;padding:28px 16px}.sidebar h2{font-size:24px;margin:0 0 12px}.sidebar .button{margin:0}.footer-inner{max-width:1100px;margin:auto;display:grid;gap:25px;text-align:left}.footer-inner nav a{display:block;margin:5px 0;text-decoration:none}.footer-inner h2{color:#fff;font-size:17px;margin:0 0 10px}.footer-brand{color:white;font-weight:700;text-decoration:none;font-size:30px}.copyright{max-width:1100px;margin:35px auto 0;text-align:left;border-top:1px solid #ffffff44;padding-top:20px}
@media(min-width:768px){.footer-inner{grid-template-columns:2fr repeat(4,1fr)}.sidebar{margin:0 auto 40px}.updated{margin-left:0}.next-post{padding-right:0}}
.smart-banner{min-height:95px;display:flex;align-items:center;gap:12px;padding:8px 14px;background:#eaeaea;color:#183333;font:14px/1.3 Arial,sans-serif}.smart-banner[hidden]{display:none}.smart-banner small{display:block;font-size:12px}.smart-banner button{border:0;background:transparent;color:#555;padding:8px;cursor:pointer}.smart-banner .smart-icon{display:grid;place-items:center;flex:0 0 55px;height:55px;border-radius:12px;background:#205652;color:#fff;font:bold 32px Arial}.smart-banner a{margin-left:auto;white-space:nowrap;color:#20a98b;text-decoration:none}.header-actions{display:none}.menu-social{border-top:1px solid #ffffff44;margin-top:10px;padding-top:10px}.menu-social span{display:block;font-size:12px}.menu-social a{font-size:13px}.course-bar{display:none}.share-section{text-align:center;border-top:1px solid #e4e4e4;padding:24px 0}.share-section h2{font-size:20px}.shareaholic-canvas{min-height:40px}.sidebar>img{max-width:250px;display:block;margin:0 auto 12px}.app-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px}.app-badges img{width:145px}.footer-social{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:1100px;margin:22px auto}.footer-social a{text-decoration:none}
@media(min-width:768px){.header-actions{display:flex;gap:10px;position:absolute;right:20px}.header-actions a{border:1px solid #fff;border-radius:3px;padding:8px 14px;color:#fff;text-decoration:none;font-size:13px}.header-actions a:last-child{background:#e27b4b;border-color:#e27b4b}.course-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f1f5f4;padding:12px max(20px,calc((100vw - 1260px)/2));font-size:13px}.course-bar p{margin:3px 0}.course-bar>a{background:#e27b4b;color:white;padding:10px 18px;text-decoration:none;white-space:nowrap}.course-topics{display:flex;gap:15px}.course-topics span{display:flex;align-items:center;gap:4px;white-space:nowrap}.course-topics img{width:36px;height:36px;object-fit:cover;border-radius:50%}.sidebar{max-width:300px}.footer-inner nav:last-child{min-width:180px}}
.menu-social img{width:34px;height:32px}.menu-social a{display:inline-block!important;padding:6px!important}.footer-social img{width:34px;height:32px}.footer-bottom{max-width:1100px;margin:25px auto 0;border-top:1px solid #ffffff44;padding-top:20px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.footer-bottom p{margin:0}.footer-bottom nav{margin-left:auto;display:flex;gap:15px}.footer-bottom a{text-decoration:none}.smart-banner .smart-icon{display:block;flex:0 0 60px;width:60px;height:60px;border-radius:12px;object-fit:cover;background:none}.smart-close img{display:block;width:20px;height:20px}

.crp_related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none}.crp_related figure{margin:0 0 10px}.crp_related a{font-size:16px}.next-post{display:flex;justify-content:space-between;gap:20px}@media(max-width:600px){.crp_related ul{grid-template-columns:1fr}}
