@font-face{font-family:FontAwesomeRegular;font-style:normal;font-weight:400;src:url(/fonts/fa-regular-400.woff2?v=7.2.0)format("woff2")}@font-face{font-family:FontAwesomeSolid;font-style:normal;font-weight:400;src:url(/fonts/fa-solid-900.woff2?v=7.2.0)format("woff2")}@font-face{font-family:FontAwesomeBrands;font-style:normal;font-weight:400;src:url(/fonts/fa-brands-400.woff2?v=7.2.0)format("woff2")}@media screen,print{body{margin:0;font-family:Noto Sans JP,sans-serif;line-height:1.75}main{display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}header.large{text-align:center;padding:64px 0;& *{color:inherit}}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.25}h1 em,h2 em,h3 em,h4 em{font-style:normal;display:inline-block}hgroup{text-align:center;letter-spacing:.2ex;& .subtitle{opacity:.5;text-transform:uppercase;letter-spacing:.5ex;margin:8px 0 0;font-size:1rem;font-weight:400;line-height:1.25}& .subtitle.small{font-size:.875rem}&+.fas.circle{text-align:center;margin:16px 0;font-size:.75rem;display:block}}address{font-style:normal}ul{margin:16px 0;padding:0 0 0 24px}li{margin:8px 0;padding:0}figure{text-align:center;margin:0 auto}figcaption{font-size:.875rem}figure>:not(:first-child){margin-top:16px}img{vertical-align:top}iframe{vertical-align:top;border:0}a{text-decoration:none;transition:all .3s}.far,.fas,.fab{line-height:1}.far:first-child,.fas:first-child,.fab:first-child{margin-right:.5em}.far:last-child,.fas:last-child,.fab:last-child{margin-left:.5em}.far{font-family:FontAwesomeRegular;&.envelope:before{content:""}&.paper-plane:before{content:""}}.fas{font-family:FontAwesomeSolid;&.angle-down:before{content:""}&.angle-left:before{content:""}&.angle-right:before{content:""}&.arrow-down:before{content:""}&.arrow-right:before{content:""}&.bars:before{content:""}&.circle:before{content:""}&.rss:before{content:""}&.tag:before{content:""}&.times:before{content:""}}.fab{font-family:FontAwesomeBrands;&.facebook:before{content:""}&.twitter:before{content:""}}article.box{& header{position:relative}& figure+header{margin-top:0}& time{color:#858585}& [itemprop=author]{& .avatar{vertical-align:bottom;border-radius:50%;width:48px;height:48px;display:inline-block;overflow:hidden}& [itemprop=name]{margin:8px;line-height:100%;display:inline-block}}}article{& figure{margin:16px auto}& img{width:100%;height:auto}}}@media screen{html{font-size:16px}body{color:#353c48;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background-color:#fff;background-position:50% 80px;background-repeat:no-repeat;background-size:1080px 280px;&.overlay-visible{overflow:hidden}}header.large{background-color:#f3f5f8;background-position:bottom;background-repeat:no-repeat;background-size:contain}a{&:link,&:visited{color:#be1b51}&:hover,&:focus,&:active{color:#a51d3c}}img.can-zoom{cursor:zoom-in}.outer{overflow:hidden;&.highlight{& h2{color:inherit}& .inner{margin:48px auto;position:relative}}}.inner{margin:0 auto}.col{width:calc(100% - 32px);margin:0 16px}#header{background-color:#fff;border:0 solid #a51d3c;border-bottom-width:5px;flex-direction:column-reverse;width:100%;display:flex;& .outer{background-color:#f9f7fb;overflow:visible}& .col{flex-direction:row;align-items:center;height:80px;display:flex;position:relative}& nav{display:flex;&.primary{flex:auto;justify-content:center;height:100%;& li{align-items:center;padding:0 4px;display:flex;position:relative}& li a{z-index:2;align-items:center;height:100%;font-weight:700;display:flex}& li.current>a{color:#fff!important}& li.current:after{z-index:1;content:"";background-image:linear-gradient(#be1b51,#a51d3c);width:100%;height:100%;position:absolute;top:0;left:0;transform:skew(-12deg)}}&.secondary{flex:none}}& a{color:inherit;&:hover,&:focus,&:active{color:#a51d3c;outline:0}}& h1{flex:none;margin:0;& a{text-indent:-9999px;width:201px;height:50px;display:block;position:relative;overflow:hidden;&:before{content:"";background:url(/images/template/logo-wordmark.svg) 50%/contain no-repeat;width:100%;height:100%;position:absolute;top:0;left:0}}}& nav{&>ul{margin:0;padding:0;list-style:none;display:flex;&>li{margin:0;padding:0;font-size:1rem;line-height:1;position:relative}}& li.parent{& ul{z-index:2;box-sizing:border-box;background-color:#f9f7fb;border-bottom:5px solid #a51d3c;min-width:100%;margin:0;padding:8px 0;display:none;position:absolute;top:100%;left:-8px;overflow:hidden;box-shadow:0 4px 4px #0003}&:hover ul{display:block}& ul li{margin:8px 16px;padding:0}& ul a{box-sizing:border-box;white-space:nowrap;width:100%;padding:8px 24px;display:block}}}& [data-section=contact] a{background-color:#fff;border-color:#353c48;flex:none;margin:0;padding:8px 24px;font-weight:700;display:block;&:hover,&:focus,&:active{border-color:#a51d3c}}& .current[data-section=contact] a{background-color:#a51d3c;border-color:#a51d3c;color:#fff!important}}#breadcrumbs{& .col{text-overflow:ellipsis;white-space:nowrap;margin:16px;font-size:.875rem;overflow:hidden}& a{color:inherit;margin:0 4px}& .col>a{margin-left:0}& a:hover,& a:focus,& a:active{color:#a51d3c}}#main-feature{position:relative;& header{text-align:center;margin:40px 0}& hgroup{color:#a51d3c;margin-bottom:32px}& p:not(.subtitle){max-width:800px;margin:16px auto 0;& span{display:inline-block}}}#footer{color:#353c48;background-color:#f9f7fb;border-top:1px solid #ccc;& section{margin:32px 0}& h1 a{text-align:left;width:240px;margin-bottom:8px;font-size:1rem;display:block;&:before{content:"";background:url(/images/template/logo-wordmark.svg) 0 0/201px 50px no-repeat;height:50px;margin-bottom:16px;display:block}}& p,& ul{margin:0;padding:0;line-height:1.5;list-style:none}& nav{font-size:.875rem;&.primary,&.social{margin:0 -16px;overflow:hidden}& ul{margin:0;overflow:hidden}&>ul>li{margin:0 16px 8px}&.primary>ul>li.parent{float:left;width:calc(33.3333% - 32px);margin-bottom:0}&.secondary>ul>li{margin:0 0 8px}&>ul{&>li>a{font-weight:700}&>li>ul{margin:0}&>li>ul>li{margin:8px 0}&>li:last-child,&>li>ul>li:last-child{margin-bottom:0}}}& a{color:inherit;&:hover,&:focus,&:active{color:#a51d3c}}& nav.social{& .twitter *{color:#000!important}& .facebook *{color:#0866ff!important}& .feed *{color:#d87335!important}}& #copyright{color:#fff;text-align:center;background-color:#a51d3c;font-size:.875rem;& p{margin:16px 0}& a{white-space:nowrap;margin:0 8px;color:inherit!important}}}.headlines{border-top:1px solid #ccc;margin:32px 0}article.news.headline{border-bottom:1px solid #ccc;padding:16px 0;& h3{font-size:inherit;text-align:left;flex:auto;font-weight:400;line-height:1.75}& time{color:#858585;flex:none;margin:2px 0;font-size:.875rem;display:block}}article.summary{display:flex;& header{padding-top:48px;& time{position:absolute;top:8px;right:0}& [itemprop=author]{position:absolute;top:-16px;left:0}}}article.box>a{box-sizing:border-box;background-color:#fff;border:1px solid #ccc;border-radius:8px;overflow:hidden}article.summary{&>a{width:100%;height:100%;color:inherit;padding:15px;display:block;overflow:hidden}& h3{transition:all .3s}& a{&:hover,&:focus,&:active{border-color:#a51d3c;outline:0}&:hover h3,&:focus h3,&:active h3{color:#a51d3c}}& figure{margin:-16px -16px 0;& img{aspect-ratio:16/9;object-fit:cover}}& time{color:#858585;text-align:right;font-size:.875rem;display:block}& h3{text-align:left;margin:8px 0}& p{margin:0}& .more{float:right;color:#858585;font-size:.75rem;line-height:28px}& a:hover .more,& a:focus .more,& a:active .more{color:#a51d3c}}article.box [itemprop=author] .avatar{border:2px solid #fff;box-shadow:0 0 2px #333}#promo{background-color:#f4f0f7;& .row.header,& h3{position:absolute;left:-99999px}& a{box-sizing:border-box;background-color:#fff;border:1px solid #ccc;border-radius:8px;display:block;overflow:hidden;&:hover,&:focus,&:active{border-color:#a51d3c;outline:0}}& img{width:100%;height:100%;display:block}& p:not(.subtitle){text-align:center;margin:8px 16px 0;font-size:.875rem}}#contact-callout{color:#fff;text-align:center;background-image:linear-gradient(#5e697b,#353c48);& .inner{margin:32px auto;display:flex}& a.cta{color:#444;background-color:#fff;&.large:hover,&.large:focus,&.large:active{color:#fff;background-color:#a51d3c}}& h2{position:absolute;left:-99999px}& p{max-width:800px;margin:32px auto}}.cta-outer{text-align:center}a.cta{color:inherit;background-color:#fff;border:2px solid #353c48;border-radius:40px;padding:8px 32px;font-weight:700;display:inline-block;&:hover,&:focus,&:active{color:#a51d3c;border-color:#a51d3c;outline:0}}.cta.large{border:0;border-radius:8px;min-width:240px;padding:16px 32px}.image-zoom-base{z-index:10000;cursor:zoom-out;background:#fff0;width:100%;height:100%;transition:all .5s;position:fixed;top:0;left:0;&.active{background:#fffffff2}& div{justify-content:center;align-items:center;transition:all .5s;display:flex;position:absolute}&.active div{width:90%!important;height:90%!important;top:5%!important;left:5%!important}& div img{object-fit:contain;flex:auto;width:100%;height:100%;display:block}}#fullstack-promo{text-align:center;margin:32px 0;& a{margin:0 16px;display:inline-block}& img{border-radius:8px;width:352px;max-width:100%;height:auto}}}@media screen and (width>=1440px){.inner{width:1392px}.col.s1{width:200px}.col.s2{width:432px}.col.s3{width:664px}.col.s4{width:896px}.col.s5{width:1128px}#header nav.primary li a{padding:0 32px}}@media screen and (width>=1280px) and (width<=1439px){.inner{width:1152px}.col.s1{width:160px}.col.s2{width:352px}.col.s3{width:544px}.col.s4{width:736px}.col.s5{width:928px}#header nav.primary li a{padding:0 16px}}@media screen and (width<=1279px){#header nav.primary li a{padding:0 8px}}@media screen and (width>=1024px) and (width<=1279px){.inner{width:960px}.col.s1{width:128px}.col.s2{width:288px}.col.s3{width:448px}.col.s4{width:608px}.col.s5{width:768px}}@media screen and (width>=1024px){.row{display:flex;&.tiles{flex-wrap:wrap}&.reverse{flex-direction:row-reverse}&.grid{margin:32px auto}}}@media screen and (width<=1023px){#header nav.secondary{display:none}}@media screen and (width>=768px) and (width<=1023px){.inner{width:720px}#header{& .col{justify-content:space-between}& h1 a{width:150px}& nav.primary{margin:0}& nav li.parent ul a{padding:8px 16px}}#footer .row{flex-wrap:wrap;display:flex;& .col.s2{width:100%;margin-bottom:16px}& .col.s3{width:508px}& .col.s1{width:148px}}.row.grid{flex-wrap:wrap;justify-content:center;display:flex;&{margin:16px 0}& .col.s2{width:328px;margin:16px auto}}}@media screen and (width>=768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.mobile{display:none}#blog .col.s2{display:flex}}@media screen and (width<=767px){html{scroll-padding-top:80px}body{background-position:50% 56px;padding-top:60px;position:relative;&.menu-expanded{width:100%;height:100%;position:fixed;overflow:hidden}}header.large{padding:32px 0}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}img{max-width:100%;height:auto}#header{z-index:100;padding:0;position:fixed;top:0;& .col{width:100%;height:56px;margin:0}}.mobile{width:56px;height:56px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;display:flex;position:absolute;top:0;left:0;& *{pointer-events:none}}#header{& h1{margin:0 auto;& a{height:36px}}& nav{display:none}}#breadcrumbs{display:none}#footer{border:0}#drawer{z-index:101;pointer-events:none;background-color:#0000;width:100%;height:100%;transition:all .5s;position:fixed;top:0;left:0;&,& *{pointer-events:none}& .inner{visibility:hidden;background:#fff;width:320px;padding:40px 0 0;transition:transform .5s,visibility 0s .5s;position:absolute;top:0;bottom:0;left:0;overflow:hidden auto;transform:translate(-100%)}& section{margin:0}&[data-expanded]{background-color:#00000080;&,& *{pointer-events:auto}& .inner{visibility:visible;transition:transform .5s;transform:translate(0%)}}& header{display:none}& nav{font-size:1rem;margin:32px 0!important;& ul{margin:0!important}& li{width:auto!important;margin:0!important}& a{padding:8px;display:inline-block}&.primary>ul>li{float:none!important}}}.row.grid .col.s2{margin:16px auto}.cta.large{min-width:0}}@media print{html{font-size:12px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}a{color:inherit}#header,#breadcrumbs,#footer,main article footer,main article~footer,#contact-callout,.cta-outer{display:none}#main-feature{text-align:center;margin:0 0 40px}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
