@charset "UTF-8";html{color:#000;font-size:100%;-webkit-text-size-adjust:100%}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,input,p,blockquote,th,td,article,aside,figure,footer,header,main,nav,section,time{margin:0;padding:0}body{overflow-wrap:break-word}table{border-collapse:collapse;border-spacing:0}img{border:0;vertical-align:top}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}small{font-size:75%}pre,code,kbd,samp{font-family:monospace}pre{white-space:pre-wrap;word-wrap:break-word}.article-body{line-height:1.7}.article-body-inner a{text-decoration:underline;overflow:hidden}.article-body-inner h1,.article-body-inner h2,.article-body-inner h3,.article-body-inner h4,.article-body-inner h5,.article-body-inner h6{font-weight:700;line-height:1.3}.article-body-inner h5{font-size:16px;margin:.7em 0}.article-body-inner h6{font-size:14px;margin:.7em 0}.article-body-inner pre,.article-body-inner dl,.article-body-inner ol{margin:1em 0}.article-body-inner dt{margin-top:.5em}.article-body-inner dd{margin:0 0 0 1em}.article-body-inner ol{padding:0 0 0 1.75em}.article-body-inner li ol,.article-body-inner li ul{margin:0}.article-body-inner blockquote,.article-body-inner blockquote p{line-height:1.5}.article-body-inner blockquote{clear:both}.article-body-inner img.pict[align=left]{margin-right:10px;margin-bottom:10px}.article-body-inner img.pict[align=right]{margin-bottom:10px;margin-left:10px}.article-body-inner table{line-height:1.2}.article-body-inner table th{background-color:#e7e7e7}.article-body-inner table th,.article-body-inner table td{border:1px solid #bbb;padding:4px 8px}.article-body-inner table caption{font-weight:700;font-size:1.17em;padding:4px 8px}ul.index-navigator,ol.paging-number,ul.article-pager,ul.archives-pager{list-style-type:none}ul.index-navigator li,ol.paging-number,ol.paging-number li{display:inline}ul.index-navigator li a,ul.index-navigator li.current span{display:inline-block;margin:0 2px}.index-navigator-outer,ul.archives-pager{text-align:center}ul.archives-pager li{display:inline}body{background-color:#fff;color:#080000;font:14px/1.2 Helvetica,Verdana,sans-serif}#wrapper{padding:20px 16px 0}#container{margin:0 auto;max-width:1010px}#content{display:grid;grid-template-columns:200px minmax(0,760px);grid-template-rows:auto 1fr;grid-template-areas:"header main" "sponsors main";column-gap:50px}#blog-header{grid-area:header}#main{grid-area:main;min-width:0}.header-company{grid-area:sponsors}a{color:#f44040;text-decoration:none}a:link{color:#f44040}a:visited{color:#970000}a:hover{color:#f44040;text-decoration:underline}#blog-title{color:#000;font-size:24px;font-weight:700;line-height:1.2;margin-bottom:15px}#blog-title a{color:#000}#blog-header>p{margin:20px 0;line-height:1.6}.btn-online ul{list-style:none}.btn-online ul li a{background:#2f3843;display:block;height:30px;line-height:30px;text-align:center;color:#fff;margin-bottom:8px;border-radius:3px}.btn-online ul li a:hover{background:#424d5b;text-decoration:none}a.sidebar-btn,a.sidebar-btn:link,a.sidebar-btn:visited{padding:10px;border:1px solid #fff;display:block;color:#fff;border-radius:3px;font-weight:700;text-align:center;line-height:20px}a.sidebar-btn:hover,a.sidebar-btn:active{color:#fff;opacity:.85;text-decoration:none}.sidebar-btn-challenge{background:#36c;margin-bottom:5px}.sidebar-btn-guideline{background:#0091c5}.header-company{text-align:center;margin-top:50px}.header-company h2{color:#666;font-weight:700;margin-top:50px;margin-bottom:15px;line-height:1}.header-company ul{list-style:none}.header-company ul li{margin-bottom:20px}.header-company ul>li{color:#666}.sponsor-operator{margin-bottom:50px}.header-company ul>li>a{display:block;padding:25px}.header-company ul>li img{width:auto;height:auto;max-width:150px;max-height:80px}.header-company h2:first-child{margin-top:0}h1.sponsor-title,h2.sponsor-title{color:#666;margin-bottom:35px;line-height:1}.twitter-section{margin:40px 0;padding:20px;background-color:#ebeff1}.twitter-section .sponsor-title{margin-top:0}.article{margin-bottom:30px}.article-header{position:relative}.article-title{padding:25px 30px;background:#2f3843}.article-title a{font-size:29px;font-weight:700;letter-spacing:1px;text-decoration:none;color:#fff;line-height:1.3;text-shadow:1px 1px 0 #000}.article-header-bottom{padding:15px 30px;background:#ebeff1;overflow:hidden}.article-date{color:#000;font-size:14px;float:left}.article-category{list-style:none;float:right;text-align:right}.article-category li{display:inline;margin-left:10px}.article-meta{padding:16px 0}.isucon-social-btn ul li{display:inline}.isucon-social-btn-top{margin-bottom:30px}.article-body .related-articles{margin:60px 0 30px;line-height:1.3}.article-body .related-articles h3{background:url(/images/site/bg_section_l.png) no-repeat 0 0;min-height:37px;padding:7px 0 5px 27px;color:#000;font-size:20px;font-weight:700;margin:0}.article-body .related-articles ul{list-style:none;margin:0;padding-left:0}.article-body .related-articles ul li{margin:4px 0 8px;padding-left:10px;font-size:14px}.article-body{color:#000;font-size:16px;padding:20px 30px 30px;border-right:1px solid #c2c5c7;border-left:1px solid #c2c5c7;border-bottom:1px solid #c2c5c7}.article-body-inner h1{min-height:37px;padding:5px 0;color:#000;font-size:37px;font-weight:700;margin:0 0 12px}.article-body-inner h2{min-height:25px;padding:5px 0;color:#000;font-size:25px;font-weight:700;margin:0 0 10px}.article-body-inner h3{min-height:20px;padding:5px 0;color:#000;font-size:20px;font-weight:700;margin:0 0 8px}.article-body-inner h4{min-height:18px;padding:5px 0;color:#000;font-size:18px;font-weight:700;margin:0 0 6px}.article-body-inner blockquote{background-color:#fafafa;border-left:3px solid #ccc;padding:10px 15px;margin:0 0 24px}.article-body-inner blockquote:before{color:#ddd}.article-body-inner p{margin:0 0 28px;line-height:1.8}.article-body-inner ul{list-style:none;margin:0 0 28px 30px;padding:0}.article-body-inner ul li{background:url(/images/site/bg_section_s.png) no-repeat 0 9px;color:#666;font-size:14px;padding:0 0 0 15px;margin:10px 0}.article-body-inner img.pict{height:auto;margin:1em 6px .5em!important;max-width:98.4%}.article-body-inner .center{text-align:center}.article-body-inner pre{background:#f8f8f8;border:1px solid #ddd;font-size:13px;line-height:1.5;overflow:auto;padding:6px 10px;border-radius:3px}.article-body-inner pre.inline{display:inline;margin:0 .5em!important;padding:2px 3px!important}.article-more{overflow:hidden;margin-top:20px}.article-more a{display:block;width:130px;height:43px;text-indent:-9999px;float:right;background:url(/images/site/readmore_btn_off.png) no-repeat 0 0}.article-more a:hover{background:url(/images/site/readmore_btn_on.png) no-repeat 0 0}ul.index-navigator{margin:0 0 15px}ul.index-navigator li a,ul.index-navigator li.current span{background-color:#ebeff1;color:#000;font-size:14px;font-weight:400;line-height:30px;padding:0 11px;transition:none}ul.index-navigator li.current span{background-color:#232a33;color:#fff;text-shadow:1px 1px 0 #000}ul.index-navigator a:hover{background-color:#dce2e6;text-decoration:none}ul.index-navigator li.paging-prev a,ul.index-navigator li.paging-next a{text-indent:-9999px;width:8px;background-repeat:no-repeat;background-position:50% 50%}ul.index-navigator li.paging-prev a{background-image:url(/images/site/pager_prev.png)}ul.index-navigator li.paging-next a{background-image:url(/images/site/pager_next.png)}ul.archives-pager{list-style-type:none;font-size:14px;margin:30px 0;padding:0}ul.archives-pager li{padding:0 25px;margin:0}ul.archives-pager li.both{border-left:1px solid #c2c5c7}ul.archives-pager li a{margin:0;padding:0 5px;color:#666;text-decoration:none;transition:none}ul.archives-pager li a:hover{background:transparent;text-decoration:underline}ul.article-pager{font-size:14px;overflow:hidden;padding:0;margin:30px 0}ul.article-pager li{float:left;width:49%;line-height:1.25;padding-top:1px;padding-bottom:100px;margin:0 0 -99px}ul.article-pager li a{display:block;margin:0;padding:0 30px;color:#666;text-decoration:none;transition:none}ul.article-pager li a:hover{background:transparent;text-decoration:underline}ul.article-pager li.prev{text-align:right}ul.article-pager li.next{text-align:left}ul.article-pager li.both{border-left:1px solid #c2c5c7}.to-pagetop{overflow:hidden;margin-bottom:15px;position:static}.to-pagetop a{background:url(/images/site/pagetop_off.png) no-repeat 0 0;display:block;width:31px;height:31px;float:right;text-indent:-9999px}.to-pagetop a:hover{background:url(/images/site/pagetop_on.png) no-repeat 0 0}.inlinePre{display:inline}.accordion{margin-bottom:5px}.accordion-hidden{display:none}.accordion-open{display:block;padding:10px;background:#2f3843;cursor:pointer;font-weight:700;text-align:center;color:#fff}.accordion-close{display:block;height:0;overflow:hidden;padding:0;opacity:0;transition:.5s}.accordion-hidden:checked+.accordion-open+.accordion-close{height:auto;opacity:1;padding-top:8px;font-weight:700}img.trim{border-radius:50%;border:3px solid #d6d6d6}.article-header-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px}.article-date,.article-category{float:none}.article-body-inner img,.article-body-inner iframe,.article-body-inner video{max-width:100%}.article-body-inner img{height:auto}.article-body-inner iframe[src*="youtube.com"]{aspect-ratio:16 / 9;height:auto}.article-body-inner .twitter-tweet,.article-body-inner span,.article-body-inner table{max-width:100%}.article-body-inner table.stats{margin-bottom:24px}.article-body-inner table.stats td[align=right],.article-body-inner table.stats th{white-space:nowrap}.article-body-inner table.stats-teams{font-size:13px}.article-body-inner table.stats-teams td:nth-child(n+3){min-width:88px}.article-body-inner table.stats-teams td:last-child{min-width:130px}.article-body-inner table.stats-members{display:table;table-layout:fixed;width:100%;font-size:14px}.article-body-inner table.stats-members th:first-child{width:72px}.article-body-inner table.stats-members td{overflow-wrap:anywhere}.article-body-inner>li,.article-body-inner :not(ul,ol)>li{margin-left:1.25em}.article-body-inner a.link-card{display:block;max-width:580px;padding:12px 16px;border:1px solid #c2c5c7;border-radius:3px;font-size:14px;line-height:1.5}@media(max-width:1040px){#content{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"header" "main" "sponsors"}#blog-header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:20px}#blog-header-inner,#blog-header>p,.accordion{grid-column:1 / -1}#blog-header>p{margin:0 0 6px}.accordion{margin-bottom:0}.btn-online ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.btn-online ul li a{margin-bottom:0}a.sidebar-btn,a.sidebar-btn:link,a.sidebar-btn:visited{display:flex;align-items:center;justify-content:center;margin-bottom:0;padding:8px;font-size:13px;line-height:18px}.header-company{margin-top:32px}.header-company h2{margin-top:28px}h2.sponsor-title{margin-bottom:12px}.header-company ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.header-company ul li{flex:0 0 calc(50% - 4px);max-width:180px;margin-bottom:0}.header-company ul>li>a{display:flex;align-items:center;justify-content:center;height:72px;padding:8px 12px;box-sizing:border-box}.header-company ul>li img{max-width:100%;max-height:52px}.sponsor-operator{margin-bottom:0}.twitter-section{margin:28px 0}}@media(max-width:640px){#wrapper{padding:12px 10px 0}#blog-title{margin-bottom:8px}#blog-title img{width:140px;height:auto}#blog-header>p{font-size:13px;line-height:1.5}.article-title{padding:16px 14px}.article-title a{font-size:21px;letter-spacing:0}.article-header-bottom{padding:10px 14px}.article-body{padding:14px;font-size:15px}.isucon-social-btn-top{margin-bottom:16px}.article-category{text-align:left}.article-category li{margin:0 10px 0 0}.article-body-inner ul{margin-left:8px}.article-body-inner h1{font-size:26px}.article-body-inner h2{font-size:21px}.article-body-inner h3{font-size:18px}.article-body-inner img[style*=margin]{margin-left:0!important;margin-right:0!important}.article-body-inner span[style*="white-space: pre"]{white-space:pre-wrap!important}.article-body-inner table{display:block;overflow-x:auto}ul.article-pager li{float:none;width:auto;padding-bottom:0;margin-bottom:12px}ul.article-pager li a{padding:0}ul.article-pager li.both{border-left:0}ul.article-pager li.prev{text-align:left}ul.article-pager li.next{text-align:right}}
