@charset "UTF-8";
/* Reset Stylesheet Based on - html5doctor.com Reset Stylesheet http://html5doctor.com/html-5-reset-stylesheet/ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
ul, li { list-style: none; }
/*-------------------------------------
clearfix
-------------------------------------*/
.clearfix:before,.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/*-------------------------------------
common
-------------------------------------*/
body { font: 75%/1.5 "Oswald", sans-serif, Arial, Helvetica, Verdana, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック"; font-weight: 300; letter-spacing: .05em; -webkit-text-size-adjust: 100%; }
a { text-decoration: none; cursor: pointer; color: rgb(0,120,210); }
a:hover { text-decoration: underline; }
a:focus { outline: none; }
h1 { font-size: 80px; font-weight: 700; }
h2 { font-size: 48px; font-weight: 300; }
h3 { font-size: 18px; font-weight: 300; }
h4 { font-size: 21px; font-weight: 300; }
p, dl, ul { font-size: 18px; }
table { font-size: 16px; }
input, select, table { font-size: 16px; }
.inner { width: 980px; margin: 0 auto; position: relative; }
.error { color: rgb(210,0,0); font-weight: bold; }
.red { background: rgb(210,0,0); }
.blue { background: rgb(10,90,160); }
.green { background: rgb(0,127,65); }
.black { background: rgb(0,0,0); }
.line-black { border-left: 1px solid rgb(0,0,0); box-sizing: border-box; }
.line-blue { border-left: 1px solid rgb(10,90,160); box-sizing: border-box; }
.line-green { border-left: 1px solid rgb(0,127,65); box-sizing: border-box; }

/*-------------------------------------
header
-------------------------------------*/
header { width: 100%; padding: 30px 0 60px; background: url(../images/bg0.jpg) repeat top center; background-size: cover; position: relative; }
header .flag { display: block; text-align: center; }
header .logo { text-align: center; margin-top: 30px; }
header .logo2 { position: absolute; top: -12px; right: 40px; }
header h1 { display: block; color: rgb(200,50,50); text-align: center; margin-top: 10px; line-height: 120%; }
header h2 { display: block; text-align: center; margin-top: 20px; font-size: 38px; letter-spacing: 0.1em; color: rgb(0,50,80); }
header h3 { display: block; text-align: center; margin: 10px auto; padding: 5px 0; font-size: 24px; letter-spacing: 0.1em; color: rgb(255,255,255); background: rgb(0,50,80); width: 600px; border-radius: 30px; }
header dl { width: 680px; padding: 10px 0; margin: 20px auto; border-top: 1px solid rgb(0,50,80); border-bottom: 1px solid rgb(0,50,80); color: rgb(0,50,80); }
header dt { width: 18%; padding: 10px 1%; display: block; float: left; font-size: 28px; letter-spacing: .05em; }
header dd { width: 78%; padding: 10px 1%; display: block; float: left; font-size: 28px; letter-spacing: .05em; }
header dd span { display: block; font-size: 16px; }
header p { display: block; color: rgb(0,50,80); text-align: center; font-size: 21px; }
header .button { width: 360px; margin: 20px auto 0px; }
header .button a { width: 360px; padding: 10px 0px 15px; float: left; text-align: center; font-size: 30px; font-weight: 500; color: rgb(255,255,255); border-radius: 5px; transition: all 0.1s ease-in-out 0s; }
header .button a:hover { background-color: rgb(255,210,0); border-bottom: 5px solid rgb(200,160,10); color: rgb(0,50,80); text-decoration: none; }
header .button a:active { padding: 10px 0px 5px; margin-top: 5px; background-color: rgb(255,210,0); border-bottom: 10px solid rgb(255,210,0); color: rgb(0,50,80); }
header .button-blue a { background: rgb(20,100,180); border-bottom: 5px solid rgb(0,80,140); }
header .button-red a { background: rgb(230,0,0); border-bottom: 5px solid rgba(0,50,80,.1); }
header .arrow { position: absolute; z-index: 1; bottom: 260px; right: 30px; }
header .arrow a { display: block; padding: 0px 20px 20px; margin-left: -42px; border: 2px solid rgb(0,50,80); }
header .arrow a:hover { background: rgb(255,255,255); }
header .arrow a:after{ display: block; width: 40px; height: 40px; border-bottom: 4px solid rgb(0,50,80); border-left: 4px solid rgb(0,50,80); content: ""; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }

/*-------------------------------------
contents
-------------------------------------*/
.contents { background: url(../images/bg1.png) repeat center center; }

/*-------------------------------------
footer
-------------------------------------*/
footer { width: 100%; background: rgb(0,50,80); }
footer .copyright { height: 40px; padding: 20px 0px 10px; text-align: center; color: rgb(255,255,255); }

/*-------------------------------------
form
-------------------------------------*/
label { cursor: pointer; }
label { position: relative; display: block; }
label span { display: inline-block; }
label input[type="checkbox"] + span { position: relative; padding: 0 0 0 26px; }
label input[type="radio"] + span { position: relative; padding: 0 0 0 26px; }
/* checkbox */
label input[type="checkbox"] { position: absolute; top: 0; left: 0; opacity: 0; }
label input[type="checkbox"] + span:before { position: absolute; top: 0; left: 0; display: inline-block; content: ''; box-sizing: border-box; }
label input[type="checkbox"] + span:after { position: absolute; top: 0; left: 0; display: inline-block; content: ''; box-sizing: border-box; }
label input[type="checkbox"] + span:before { z-index: 0; width: 20px; height: 20px; border: solid 1px rgb(200,200,200); border-radius: 3px; }
label input[type="checkbox"] + span::after { z-index: 1; margin: 4px 7px; width: 6px; height: 10px; }
label input[type="checkbox"]:checked + span::before { background-color: rgb(255,255,255); }
label input[type="checkbox"]:checked + span::after { border: solid 2.5px rgb(230,0,0); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); border-radius: 1px; }
/* radio */
label input[type="radio"] { position: absolute; top: 0; left: 0; opacity: 0; }
label input[type="radio"] + span::before { position: absolute; top: 0; left: 0; display: inline-block; content: ''; box-sizing: border-box; }
label input[type="radio"] + span:after { position: absolute; top: 0; left: 0; display: inline-block; content: ''; box-sizing: border-box; }
label input[type="radio"] + span:before { z-index: 0; width: 20px; height: 20px; border: solid 1px rgb(200,200,200); border-radius: 20px; }
label input[type="radio"] + span::after { z-index: 1; margin: 5px; }
label input[type="radio"]:checked + span::before { border-width: 1px; }
label input[type="radio"]:checked + span::after { border: solid 5px rgb(230,0,0); border-radius: 5px; }
/* text */
input[type="text"] { border: 0; outline: 0; }
input[type="text"] { padding: 5px; border: 1px solid rgb(235,235,235); border-radius: 3px; font-size: 13px; transition: border-color ease .2s; }
input[type="text"]:focus { border-color: rgb(95,152,225); }
/* textarea */
textarea { border: 0; outline: 0; font-family: sans-serif; }
textarea { padding: 5px; border: 1px solid rgb(235,235,235); border-radius: 3px; font-size: 13px; transition: border-color ease .2s; }
textarea:focus { border-color: rgb(95,152,225); }
/* select */
select { border: 0; outline: 0; }
select { padding: 5px; border: 1px solid rgb(235,235,235); border-radius: 3px; font-size: 13px; transition: border-color ease .2s; }
select:focus { border-color: rgb(95,152,225); }
/* submit */
input[type="submit"], button[type="submit"] { padding: 10px 60px; font-size: 14px; color: rgb(230,0,0); background: rgb(255,255,255); border: 1px solid rgb(230,0,0); border-radius: 4px; cursor: pointer; }
input[type="submit"]:hover, button[type="submit"]:hover { text-decoration: none; color: rgb(255,255,255); background: rgb(230,0,0); transition: all 0.2s ease-in-out 0s; }