@charset "UTF-8";
/*
NIKKEI
第17回全中国選抜日本語スピーチコンテスト
WE WORKS 2024.04 STYLE.CSS
*/

/* web fonts */
/* Brandon Grotesque */
@import url("https://use.typekit.net/wcq3xmq.css");
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
.brandon { font-family: "brandon-grotesque", sans-serif; }
.bebas { font-family: 'Bebas Neue', sans-serif; }
.notosans { font-family: "Noto Sans JP", sans-serif; }





/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing: border-box; }
html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; overflow-x: hidden; font-size: 16px; }
body { margin: 0; padding: 0; height: 100%; font-family: "Noto Sans JP", "brandon-grotesque", "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif; color:　#000; line-height: 1.5; background-color: #fff; }
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure { margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; }
div { position: relative; font-size: 14px; color:　#000; line-height: 1.5; }

/* font-size */
h1, h2, h3, h4, h5, h6 { text-align: left; line-height: 1.5; line-break: strict; font-weight: bold; color: #000; word-wrap: break-word; margin-bottom: 1.0em; letter-spacing: 0; }
h1 { font-size: 48px; }
h2 { font-size: 36px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }
p { font-size: 14px; line-height: 1.5; font-weight: normal; color: #000; margin-bottom: 1.0em; letter-spacing: 0; }
@media(max-width:768px) {
h1 { font-size: 3.2rem; }
h2 { font-size: 2.8rem; }
h3 { font-size: 2.4rem; }
h4 { font-size: 1.8rem; }
h5 { font-size: 1.6rem; }
h6 { font-size: 14px; }
p { font-size: 1.4rem; }
}

/* text */
strong { font-weight: bold; }
b { color:#000; font-weight: bold; }
em, i { font-style: italic; }
.normal { font-weight:normal!important; }
.txt-center { text-align: center!important; }
.txt-left { text-align: left!important; }
.txt-right { text-align: right!important; }
@media(max-width:768px) {
}

/* clearfx */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after{ clear: both; }
.cf { zoom: 1; } /* For IE 6/7 */

/* 非表示 ============================================== */
.no_display { display: none!important; }

/* list-style */
ul { margin-bottom: 0; list-style: none outside; text-align: left; }
ol { margin-bottom: 0; list-style: decimal; margin-left: 2.0em; text-align: left; }
ul.square,
ul.disk,
ul.circle,
ul.minus { margin-left: 1.5em; margin-top: 4px; margin-bottom: 5px; }
ul.square li { list-style: square outside; }
ul.disk li { list-style: disc outside; }
ul.circle li { list-style: circle outside; }
ul.minus li { list-style: none outside; }
ul.minus li { position: relative; }
ul.minus li::before {
display: block;
content: '';
position: absolute;
top: 0.8em;
left: -1.25em;
width: 8px;
height: 1px;
background-color: #666;
}
@media(max-width:768px) {
ul.square,
ul.disk,
ul.circle,
ul.minus { margin-left: 1.5em; }
}

/* hr */
hr { border-width: 1px 0 0 0; border-style: solid; border-color: #999; height: 1px; margin: 1.5em 0; }
hr.dot { border-width: 1px 0 0 0; border-style: dotted; border-color: #999; height: 1px; }
hr.dash { border-width: 1px 0 0 0; border-style: dashed; border-color: #999; height: 1px; }


/* margin */
.mgn-btm0 { margin-bottom: 0!important; }
.mgn-btm5 { margin-bottom: 5px!important; }
.mgn-btm10 { margin-bottom: 10px!important; }
.mgn-btm20 { margin-bottom: 20px!important; }
.mgn-btm30 { margin-bottom: 30px!important; }
.mgn-btm40 { margin-bottom: 40px!important; }
.mgn-top0 { margin-top: 0!important; }
.mgn-top10 { margin-top: 10px!important; }
.mgn-top20 { margin-top: 20px!important; }
.mgn-top30 { margin-top: 30px!important; }
.mgn-top40 { margin-top: 40px!important; }


/* link */
a { color: #0c5a92; text-decoration: underline; }
a:hover { text-decoration: underline; }


/* PC-SP */
.disp-pc { display: block!important; }
.disp-sp { display: none!important; }
@media(max-width:768px) { 
.disp-pc { display: none!important; }
.disp-sp { display: block!important; }
}


/* image */
img { display: block; margin: 0 auto; padding: 0; border: 0; max-width: 100%; }
img.center { display: block; margin: 0 auto; }
img.left { float: left; margin: 0 20px 0 0; border: 0; }
img.right { float: right; margin: 0 0 0 20px; border: 0; }
a img { transition: all .2s ease-in-out; }



/* common */
main { display: block; margin: 0; padding: 0; background: #fff; background-size: contain; width: 100%; }
section { position: relative; width: 100%; margin: 0; padding: 60px 0; overflow: hidden; background: #fff; }
section.gray { background: #efefef; }
section.darkblue { background-color: #212f3a!important; }
.container { position: relative; width: 80%; margin: 0 auto; }
@media(max-width:768px) {
main { padding-top: 40px;}
section { }
.container { width: 90%; margin: 0 auto; }
}



/* table */
.container table { margin: 0 auto 20px; border: 0; border-collapse: collapse; width: 100%; }
.container table th,
.container table td { padding: 10px; border: 1px solid #999; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.5; color: #000; background-color: inherit; }
.container table th { width: auto; font-weight: normal; background-color: #ddd; }
.container table td { width: auto; color: #000; background-color: #fff; }
.container table td:first-child { width: 32%; }
.container table td:nth-child(2) { width: 32%; }
.container table td:last-child { width: 36%; }

.container table td a { color: #369; text-decoration: underline; }
@media(max-width:768px) {
}


/* responsive table */
.table-res { margin: 0 auto 40px; border: 0; border-bottom:  1px solid #999; border-collapse: collapse; width: 100%; }
.table-res th,
.table-res td { padding: 10px 5px; border: 0; border-top: 1px solid #999; border-collapse: collapse; text-align: left; font-size: 1.4rem; line-height: 1.5; color: #000; background-color: inherit; }
.table-res th { width: 30%; font-weight: normal; padding: 15px 20px; }
.table-res td { width: 70%; color: #333; }
.table-res td a { color: #f39800; text-decoration: underline; }
@media(max-width:768px) {
.table-res th { display: block; width: 100%; padding: 12px 10px; background-color: #efefef; font-size: 1.4rem; }
.table-res td { display: block; width: 100%; padding: 12px 10px; font-size: 1.4rem; }
}



/* ふりがな設定 */
ruby { ruby-overhang: center; }
rt { position: relative; top: 0em; transform: translateY(0em); letter-spacing: -0.1em; text-align: center; }
rt.small { font-size: 40%; }



/* safari */
::-webkit-full-page-media, :future, :root .class_name{
rt { position: relative; top: 0.5em; transform: translateY(0.5em); }
}
/* firefox */
@-moz-document url-prefix(){
rt { position: relative; top: 0.5em; transform: translateY(0.5em); }
}



















