@charset "utf-8";
 * { margin: 0; padding: 0; box-sizing: border-box;}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0; padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
img{ vertical-align: bottom;}
ul,ol { list-style: none;}
ul li,
ol li { list-style-type: none;}
figure { margin: 0;}
em{ font-style: normal;}
body { width: 100%;}
body.fixed { position: fixed;}
.backtotop-box img { height: auto;}
.backtotop-box { position: fixed; right: 150px; bottom: 42px;}
#ft .ft-info { width: 92%; margin: 0 auto; padding: 20px 0;}
#ft .ft-info ul { font-size: 0px; text-align: center;}
#ft .ft-info ul li { display: inline-block; padding: 0 20px; border-left: solid 1px #222; font-size: 14px;}
#ft .ft-info ul li:first-child{ border-left: none;}
#ft .ft-info ul li a { color: #000;}
#ft .cr { padding: 20px 0;}
#ft .cr p { font-size: 12px; text-align: center;}
#ft .cr p a { color: #000; text-decoration: underline;}
@media (max-width: 641px){
#ft .ft-info ul li { padding: 0 10px; font-size: 11px;}
}
.ttl {}
.ttl h2 { margin-bottom: 25px; text-align: center;}
.ttl h2 img { width: 100%; max-width: 960px;}
.ttl p { color: #333; font-size: 25px; font-weight: 700; text-align: center;}
@media (max-width: 641px){
.ttl p { font-size: 20px;}
}
@media (max-width: 641px){
.ttl h2 { margin-bottom: 15px;}
.ttl p { font-size: 18px;}
}
#page-ctn { width: 88%; margin: 0 auto;}
#page-ctn .inner-ctn { width: 100%; max-width: 1200px; margin: 0 auto; padding: 80px 0;}
#page-ctn .ttl { margin-bottom: 40px;}
#page-ctn .page-ttl { width: 80%; max-width: 460px; margin: 0 auto 100px; text-align: center;}
#page-ctn .page-ttl h2 { display: inline-block; padding: 18px 12px; border-top: solid 2px #495c59; border-bottom: solid 2px #495c59; color: #333; font-size: 28px; line-height: 1.2;}
@media (max-width: 801px){
#page-ctn .page-ttl { margin-bottom: 80px;}
#page-ctn .page-ttl h2 { font-size: 4.0vw;}
}
@media (max-width: 481px){
#page-ctn .inner-ctn { padding: 50px 0;}
#page-ctn .ttl { margin-bottom: 20px;}
#page-ctn .page-ttl { margin-bottom: 30px;}
#page-ctn .page-ttl h2 { padding: 12px;}
}
#page-ctn .ctn { display: flex;}
#page-ctn .ctn .box { width: 20%;}
#page-ctn .ctn .box a { display: block; width: 92%; margin: 0 auto; padding: 30px 0; border: solid 1px #b3b3b3; color: #222; text-decoration: none;}
#page-ctn .ctn .box a dl { text-align: center;}
#page-ctn .ctn .box a dl dt { margin-bottom: 30px;}
#page-ctn .ctn .box a dl dt img { width: 55%;}
#page-ctn .ctn .box a dl dd { font-size: 20px; font-weight: 700;}
#page-ctn .ctn .box a dl dd span { display: block;}
#page-ctn .ctn .box a dl dd.arw { padding-top: 30px;}
#page-ctn .ctn .box a dl dd.arw img { width: 70px;}
#page-ctn .ctn .box a:hover { opacity: 0.7; text-decoration: none;}
#page-ctn .ctn .box span.nolink { display: block; width: 92%; margin: 0 auto; padding: 30px 0; border: solid 1px #ccc; color: #ccc;}
#page-ctn .ctn .box span.nolink dl { text-align: center;}
#page-ctn .ctn .box span.nolink dl dt { margin-bottom: 30px;}
#page-ctn .ctn .box span.nolink dl dt img { width: 55%; opacity: 0.6;}
#page-ctn .ctn .box span.nolink dl dd { font-size: 20px; font-weight: 700;}
#page-ctn .ctn .box span.nolink dl dd span { display: block;}
#page-ctn .ctn .box span.nolink dl dd.arw { padding-top: 30px;}
#page-ctn .ctn .box span.nolink dl dd.arw img { width: 70px;}
@media (max-width: 641px){
#page-ctn .ctn { flex-wrap: wrap;}
#page-ctn .ctn .box { width: 50%; padding: 12px 0;}
#page-ctn .ctn .box a { padding: 20px 0;}
#page-ctn .ctn .box a dl dt { margin-bottom: 15px;}
#page-ctn .ctn .box a dl dd { font-size: 15px;}
#page-ctn .ctn .box a dl dd.arw { padding-top: 15px;}
#page-ctn .ctn .box a dl dd.arw img { width: 50px;}
#page-ctn .ctn .box span.nolink { padding: 20px 0;}
#page-ctn .ctn .box span.nolink dl dt { margin-bottom: 15px;}
#page-ctn .ctn .box span.nolink dl dd { font-size: 15px;}
#page-ctn .ctn .box span.nolink dl dd.arw { padding-top: 15px;}
#page-ctn .ctn .box span.nolink dl dd.arw img { width: 50px;}
}
#page-ctn .rules { width: 100%; padding: 20px 0 80px;}
#page-ctn .rules .bloc { padding: 30px 0;}
#page-ctn .rules .bloc h3 { margin-bottom: 20px; font-size: 23px;}
#page-ctn .rules .bloc p { font-size: 15px; letter-spacing: 0.075rem; }
#page-ctn .rules .bloc ol { padding-left: 30px;}
#page-ctn .rules .bloc ol > li { margin-bottom: 15px; list-style-type: decimal;}
#page-ctn .rules .bloc ol li:last-child { margin-bottom: 0px;}
#page-ctn .rules .bloc ul.box { margin-top: 18px; padding: 30px; background: #f3f3f3;}
#page-ctn .rules .bloc ul.box li { margin-bottom: 8px;}
#page-ctn .rules .bloc ul.box li:last-child { margin-bottom: 0px;}
#page-ctn .rules p.update { text-align: right;}
@media (max-width: 801px){
#page-ctn .rules { padding: 12px 0 80px;}
#page-ctn .rules .bloc { padding: 20px 0;}
#page-ctn .rules .bloc h3 { margin-bottom: 12px; font-size: 2.4vw;}
#page-ctn .rules .bloc p { font-size: 15px;}
#page-ctn .rules .bloc ol > li { margin-bottom: 8px;}
#page-ctn .rules .bloc p { font-size: 15px;}
}
@media (max-width: 481px){
#page-ctn .rules { padding: 0px 0 40px;}
#page-ctn .rules .bloc { padding: 14px 0;}
#page-ctn .rules .bloc h3 { margin-bottom: 6px; font-size: 16px;}
#page-ctn .rules .bloc p { font-size: 13px; letter-spacing: 0.05rem; text-align: justify;}
#page-ctn .rules .bloc ol { padding-left: 20px;}
#page-ctn .rules .bloc ol > li { margin-bottom: 8px; font-size: 13px;}
#page-ctn .rules .bloc ol li ul.box { margin-top: 10px; padding: 20px;}
#page-ctn .rules .bloc ol li ul.box li { margin-bottom: 4px;}
#page-ctn .rules p.update { font-size: 12px;}
}