@charset 'UTF-8';
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
ul,
var,
video
{
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: 0 0;
}
h1,
h2,
h3,
h4,
h5
{
    font-weight: 400;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary
{
    display: block;
}
ol,
ul
{
    list-style: none;
}
blockquote,
q
{
    quotes: none;
}
blockquote::after,
blockquote::before,
q::after,
q::before
{
    content: '';
    content: none;
}
a
{
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    background: 0 0;
}
del
{
    text-decoration: line-through;
}
cite
{
    font-style: normal;
}
legend
{
    display: none;
}
.about h2,
.etc__group,
.extend__inline-block,
.extend__sprite-image,
.footer ul li,
.header__main-image h1,
.header__main-image:after,
.headline__img a,
.headline__social li,
.section--responsive__image,
.update h2
{
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

#emg {clear:both; text-align:center;}
#emg br {display:none;}
#emg table {margin:10px auto 10px auto !important; overflow:auto !important;min-width:500px !important;}
#emg table table{margin:0 !important;}
#emg th, #emg td{padding: 2px !important;}

.main
{
    width: 950px;
    background-color: #fff;
}
.MainTit
{
    width: 950px;
    background-color: #fff;
}
.detailImg
{
    margin: 18px auto 18px !important;
    text-align: center;
}
.detailImg img
{
    width: auto;
    max-width: 60%;
}

.header__main-image,
.headline--inner
{
    width: 950px;
    margin: auto;
    background-color: #fff;
}
.about h2,
.extend__sprite-image,
.header__main-image h1,
.header__main-image:after,
.headline__img a,
.section--responsive__image,
.update h2
{
    line-height: 1;
    overflow: hidden;
    text-indent: -9999px;
    *text-indent: 0;
    *font-size: 0;
    *line-height: 0;
}

body
{
    font-family: 'Meiryo','メイリオ',Hiragino,'ヒラギノ角ゴ Pro W6',Hiragino Kaku Gothic Pro,'ＭＳ Ｐゴシック',sans-serif;

    margin: 0;
    padding: 0;
    text-align: center;
    color: #505050;
    background-color: #f0f0f0;
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
}

p{
		line-height:1.4rem;
}

.main
{
    margin: auto auto 50px;
    padding-top: 22px;
    text-align: left;
}

.main.TimeLimit
{
    padding-bottom: 0 !important;
}

.MainTit
{
    margin: auto auto;
    text-align: left;
    background: #fff;
}

.section
{
    line-height: 1.4;
    padding: 0 24px 100px;
}

.section h2
{
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #005394;
}

.section a
{
    color: #0077d7;
}

/* Title */

h1
{
    font-size: 240%;
    padding: 24px 0 20px 20px;
    text-align: left;
    color: #464646;
    background-color: #e1edf3;
}

h2.tit
{
    font-size: 200%;
    padding: .6em 10px .4em 20px;
    text-align: left;
    color: #fff;
    background-color: #0f96f8;
}

h6
{
    font-weight: bold;
    padding: 1.4em 0 0 30px;
}

.exNote
{
    font-size: 84%;
    margin: .6em 0 0;
}

.NonStyleList
{
    margin: .5em 0 .5em 1em;
}

.MainTit p, .main.TimeLimit p,.main p, box02 p,box03 p
{
    margin: .6em 0 .6em;
}

.TimeLimit p.bottomAdjust
{
    margin: .6em 0 0;
}
.main p.topAdjust
{
    margin: 0 0 .6em;
}


.main
{
    font-size: 100%;
    width: 890px;
    margin: 0 auto 0;
    padding: 0 30px 30px;
    color: #464646;
    background-color: #fff;
}

.main h3
{
    font-size: 190%;
    padding: 1.4em 0 .6em;
    text-align: left;
    color: #06c;
}

.main p:first-child
{
    padding-top: 30px;
}


/* box02 */
.box02
{
    margin-top: 30px;
    padding: 0 0 20px;
    border: solid 1px #e1edf3;
}
.box02 h4
{
    font-size: 120%;
    padding: .6em 1em .6em;
    background-color: #e1edf3;
}
.box02 p
{
    margin-top: 20px;
    padding: 0 30px 0;
}

.box02 ul
{
    margin: 20px 0 .8em 50px;
		line-height:1.1rem;
}

.box02 li
{
    margin: .8em 0 0;
}
.box02 .InfoList
{
    margin-bottom: 40px;
}

/* box03 */
.box03
{
    margin-top: 30px;
    padding: 0 0 20px;
    border: solid 1px #0f96f8;
}

.box03 h4
{
    font-size: 120%;
    margin: 10px 0 10px;
    padding: .6em 1em .6em;
    letter-spacing: 1px;
    color: #fff;
    background-color: #0f96f8;
}
.box03 h4:first-child
{
    margin-top: 0;
}

.box03 h5
{
    font-size: 120%;
    margin: 1.6em 20px 1em;
    padding: 0 10px 0;
    border-left: solid 9px #0f96f8;
}

.box03 h6
{
    padding: 1.4em 30px 0;
}

.box03 p
{
    padding: 0 30px 0;
}

.box03 p.boxTxt
{
    padding-top: .8em;
}

.box03 ul
{
    margin: 20px 0 .8em 30px;
    padding: 0 20px 0 30px;
}

.box03 li
{
    margin: .8em 0 0;
}

.box03 .subTit
{
    margin-top: 20px;
    padding: 0 20px 0 1em;
}

.box03 .rotationImg
{
    padding: 0 20px 0;
}

.box03 .rotationImg li
{
    padding-left: 0;
    text-indent: 0;
}

.box03 .rotationImg .right
{
    float: right;

    width: 204px;
}
.box03 .rotationImg .left
{
    float: left;

    width: 640px;
}
.box03 .rotationImg .left p
{
    margin: 0 10px 0 24px;
    padding: 0;
}
.box03 .rotationImg:after
{
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: '.';
}

.commentary
{
    margin: 14px 40px 14px;
    padding: 22px;
    background-color: #e1edf3;
}

.commentary p
{
    margin-bottom: 1em;
    padding: 0;
}

.commentary p:last-child
{
    margin-bottom: 0;
}

.commentary p.tit
{
    font-size: 105%;
    font-weight: bold;
}

.section--responsive
{
    position: relative;
    overflow: hidden;
}
.section--responsive__image
{
    position: absolute;
    top: 30px;
    right: 25px;
}
@media (max-width:950px)
{
    .extend__main-layout,
    .header__main-image,
    .headline--inner,
    .main
    {
        width: auto !important;
        max-width: 950px !important;
        padding: 0 10px 30px !important;
    }
    .MainTit
    {
        width: auto!important;
        max-width: 950px!important;
    }

    .section--responsive
    {
        padding-right: 0 !important;
    }
		
    .section--responsive__image
    {
        position: static;
        float: right;
        margin-right: 20px;
        margin-left: 10px;
    }
}
@media (max-width:700px)
{
    .main .section
    {
        padding-right: 10px!important;
        padding-bottom: 60px;
        padding-left: 10px!important;
    }
    .main .section h2
    {
        line-height: 1.3;
        display: block;
        overflow: normal;
        width: auto;
        height: auto;
        margin-bottom: 20px;
        white-space: normal;
        text-indent: 0;
        background: 0 0;
    }
    .section--responsive__image
    {
        display: none;
    }
    .MainTit h1
    {
        font-size: 160%;
    }
    .MainTit h2.Tit
    {
        font-size: 140%;
    }
    .main h3
    {
        font-size: 130%;
    }
}
@media (max-width:540px)
{
    .main .section h2
    {
        text-align: center;
    }
    .detailImg img
    {
        width: auto;
        max-width: 90%;
    }

    h1
    {
        font-size: 140% !important;
        padding: 24px 10px 20px;
    }
    h2.tit
    {
        font-size: 120% !important;
        padding: 10px 10px 8px;
    }
    h3
    {
        font-size: 120% !important;
        padding: 1.4em 10px .6em;
    }


    /*box02*/
    .box02 h4
    {
        font-size: 100%;
        padding: .6em;
    }
		
    .box02 p
    {
        padding: 0 10px 0;
    }
		
    .box02 ul
    {
        margin: 20px 18px 1em 30px;
    }
		
    /*box03*/
    .box03 h4
    {
        font-size: 100%;
        padding: .6em;
    }
    .box03 p
    {
        padding: 0 10px 0;
    }

    .box03 p.boxTxt
    {
        padding: .8em 10px 0;
    }

    .box03 ul
    {
        margin: 20px 0 .8em 20px;
        padding: 0 10px 0;
    }

    .box03 h5
    {
        margin: 1.6em 10px .6em;
    }
    .box03 h6
    {
        padding: 1.4em 10px 0;
    }
}

.header
{
    padding-top: 65px;
}
.header__main-image
{
    line-height: 0;
    position: relative;
    overflow: hidden;
    height: 170px;
    background-color: #e1edf3;
}

@media (max-width:970px)
{
    .header__main-image
    {
        height: 129.7709923664px;
    }
    .header__main-image:after
    {
        width: 290.0763358779px;
        height: 129.7709923664px;
        background-position: 0 -578.6259541985px;
        background-size: 1293.1297709924px 916.0305343511px;
    }
    .header__main-image h1
    {
        top: 10px;
        left: 36%;
        width: 497.7099236641px;
        height: 103.0534351145px;
        margin-left: -248.8549618321px;
        background-position: 0 -287.0229007634px;
        background-size: 1293.1297709924px 916.0305343511px;
    }
}
@media (max-width:750px)
{
    .header__main-image:after
    {
        margin-right: -380px;
    }
    .header__main-image h1
    {
        position: static;
        margin-top: 12px;
        margin-left: 0;
    }
}
@media (max-width:540px)
{
    .header
    {
        padding-top: 42px;
    }
    .header__main-image
    {
        height: 89.4736842105px;
    }
    .header__main-image h1
    {
        width: 343.1578947368px;
        height: 71.0526315789px;
        margin-top: 8px;
        background-position: 0 -197.8947368421px;
        background-size: 891.5789473684px 631.5789473684px;
    }
}

@media (max-width:780px)
{
    .judge__module__name,
    .judge__module__result
    {
        float: none;
        width: auto;
        text-align: center;
    }
    .judge__module__name h3,
    .judge__module__result h3
    {
        margin-top: 20px;
    }
    .icon__arrow_r
    {
        display: none;
    }
    .judge__module__info
    {
        padding: 10px 35px;
    }
}

.footer
{
    font-size: 14px;
    padding: 10px 20px 40px;
    text-align: center;
    background-color: #f0f0f0;
}
.footer small
{
    font-size: 12px;
}
.footer ul
{
    margin: 20px 0 20px;
}
.footer ul li.footer__list-last:after
{
    display: none;
}
.footer ul li:after
{
    margin: 0 4px;
}
.footer ul.footer__list--separate li:after
{
    content: '|';
}
.footer ul.footer__list--connect li:after
{
    content: '-';
}
.headline
{
    line-height: 0;
    text-align: left;
    background-color: #fff;
}

.headline__social
{
    float: right;
    margin: -10px 10px 0 0;
}
.headline__social li
{
    margin: 20px 0 0 10px;
    vertical-align: middle;
}
@media (max-width:540px)
{
    .headline
    {
        height: 42px;
    }
    .headline__img
    {
        padding: 7px 0 0 5px;
    }
    .headline__img a
    {
        width: 113px;
        height: 28px;
    }
    .headline__social
    {
        margin-top: 0;
    }
    .headline__social li
    {
        margin: 10px 5px 0;
    }
    .headline__social li.twitter_btn
    {
        overflow: hidden;
        width: 68px;
    }
}

/* ///////////////////////////// */

ul li,
ol li
{
    list-style: disc;
}

table
{
    font-size: 100%;
    margin: 0;
    padding: 0;
}
caption
{
    text-align: left;
}
table,
pre,
code,
select,
textarea,
kbd,
var,
ins,
del,
samp
{
    font-size: 100%;
}
address,
cite,
dfn,
em,
strong,
var,
th,
ins,
del,
samp
{
    font-weight: normal;
    font-style: normal;
}
a img
{
    border: 0;
}
hr.separation
{
    display: none;
}
fieldset
{
    border: none;
}
header,
section,
nav,
aside,
footer,
article
{
    display: block;
}

body
{
    background-color: #f0f0f0;
}
#header
{
    width: 100%;
}

.headerCenter
{
    width: 950px;
    height: 65px;
    margin: 0 auto 0;
    background-color: #fff;
}
.headerCenter img
{
    margin: 14px 0 0 10px;
}

.headerCenter.relative
{
    position: relative;
    width: 950px;
}