#rule article { background-color: #F7EFE2; }
#rule .pagetit .mainimg p.lead { text-align: center; position: absolute; width: 100%; top: 5%; left: 0; font-size: 16px; line-height: 2em; text-shadow: 1px 1px 1px white, -1px -1px 1px white, 1px -1px 1px white, -1px 1px 1px white, 0px 0px 3px white; -moz-text-shadow: 1px 1px 1px white, -1px -1px 1px white, 1px -1px 1px white, -1px 1px 1px white, 0px 0px 3px white; -webkit-text-shadow: 1px 1px 1px white, -1px -1px 1px white, 1px -1px 1px white, -1px 1px 1px white, 0px 0px 3px white; z-index: 3; font-weight: 700; }
#rule .pagetit .mainimg p.lead span { width: 240px; position: absolute; right: 10%; bottom: -100px; }
#rule .pagetit .mainimg p.lead span img { display: block; vertical-align: bottom; width: 100%; }
.tit_lead{
	width: 100%;
}
@media screen and (max-width: 584px) { #rule .pagetit .mainimg p.lead { text-align: center; position: relative; width: 100%; top: auto; left: auto; font-size: 14px; text-shadow: none; -moz-text-shadow: none; -webkit-text-shadow: none; margin-bottom: 10px; } }
#rule .sec1a { position: relative; width: 100%; max-width: 360px; margin-bottom: 15px; }
#rule .sec1a img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec1b { position: relative; width: 50%; float: left; margin-bottom: 20px; z-index: 10; }
#rule .sec1b figure { position: relative; margin-right: -70px; }
#rule .sec1b img { display: block; vertical-align: bottom; width: 100%; }
@media screen and (max-width: 584px) { #rule .sec1b { width: 100%; float: none; margin-bottom: 10px; }
  #rule .sec1b figure { margin-right: 0px; } }
#rule .sec1c { position: relative; width: 50%; float: right; z-index: 5; }
#rule .sec1c img { display: block; vertical-align: bottom; width: 100%; }
@media screen and (max-width: 584px) { #rule .sec1c { width: 100%; float: none; margin-bottom: 20px; } }
#rule .sec1d { position: relative; width: 100%; max-width: 320px; margin-left: auto; margin-right: auto; margin-bottom: 60px; }
#rule .sec1d img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec2 { position: relative; }
#rule .sec2 .secin { position: absolute; width: 100%; max-width: 100%; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-color: rgba(255, 255, 255, 0.8); text-align: center; }
#rule .sec2 .secin h3 { position: relative; }
#rule .sec2 .secin h3 .h3t { position: absolute; left: 50%; top: 0; font-size: 24px; color: #E50012; text-align: center; margin: 0; max-width: 100%; line-height: 1em; }
@media screen and (max-width: 584px) { #rule .sec2 .secin h3 .h3t { display: block; position: relative; left: auto; top: auto; font-size: 20px; margin-bottom: 10px; } }
#rule .sec2 .secin h3 p { position: relative; text-align: center; width: 100%; max-width: 92px; margin-left: auto; margin-right: auto; display: inline-block; }
#rule .sec2 .secin h3 p img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec2 .secin h3 p span { position: absolute; left: -20px; top: -20px; }
#rule .sec2 .secin h3 p span.ty2 { display: block; text-align: center; color: #DC4F1D; font-size: 20px; line-height: 1em; margin-top: 10px; margin-bottom: 15px; }
#rule .sec2 .secin h3 p span.ty3 { display: block; text-align: center; font-size: 62px; line-height: 1em; }
#rule .sec2 .secin h3 p span.ty4 { display: block; text-align: center; font-size: 38px; line-height: 1em; }
@media screen and (max-width: 584px) { #rule .sec2 .secin h3 p span { width: 50px; left: -10px; top: -10px; } }
@media screen and (max-width: 584px) { #rule .sec2 .secin h3 { margin-bottom: 0; }
  #rule .sec2 .secin h3 span.ty3 { font-size: 23px; } }
@media screen and (max-width: 584px) and (max-width: 584px) { #rule .sec2 .secin h3 span.ty3 { display: inline-block; } }
@media screen and (max-width: 584px) { #rule .sec2 .secin h3 span.ty4 { font-size: 16px; }
  #rule .sec2 .secin h3 span.ty2 { margin-top: 5px; margin-bottom: 10px; font-size: 14px; }
  #rule .sec2 .secin h3 p { max-width: 40px; } }
@media screen and (max-width: 584px) { #rule .sec2 .secin { padding-top: 10px; padding-bottom: 10px; }
  #rule .sec2 .secin p.lead { margin-top: 16px; line-height: 1.4em; text-align: left; }
  #rule .sec2 .secin p.lead br { display: none; } }
#rule .sec2 img.bg { display: block; vertical-align: bottom; width: 100%; }
#rule .secrrr0 { position: relative; }
#rule .secrrr0 span.ico { overflow: visible; position: absolute; width: 160px; height: 240px; left: 18%; top: -2%; z-index: 1; background-size: 100% auto; background-repeat: no-repeat; background-position: center bottom; opacity: 1; }
#rule .secrrr0 span.ico.s1 { width: 140px; background-image: url("../images/rule/img_17.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s1 { width: 120px; left: auto; right: 0; top: -12%; } }
#rule .secrrr0 span.ico.s2 { left: auto; right: 25%; top: auto; bottom: -10%; width: 120px; background-image: url("../images/rule/img_18.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s2 { width: 100px; left: auto; right: 0; bottom: -7%; } }
#rule .secrrr0 span.ico.s3 { left: auto; right: 0%; top: -15%; width: 120px; background-image: url("../images/rule/img_19.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s3 { width: 100px; left: auto; right: 0; top: 20%; } }
#rule .secrrr0 span.ico.s4 { top: auto; bottom: -15%; left: 2%; background-image: url("../images/rule/img_29.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s4 { bottom: -3%; left: -5%; width: 120px; } }
#rule .secrrr0 span.ico.s5 { left: auto; right: 35%; top: -20%; width: 120px; background-image: url("../images/rule/img_30.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s5 { top: -12%; width: 80px; right: 5%; } }
#rule .secrrr0 span.ico.s6 { left: auto; right: 0%; top: auto; bottom: -5%; width: 120px; background-image: url("../images/rule/img_31.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s6 { bottom: -4%; width: 100px; } }
#rule .secrrr0 span.ico.s7 { top: -4%; left: 25%; background-image: url("../images/rule/img_32.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s7 { top: -13%; left: auto; right: 0; width: 100px; } }
#rule .secrrr0 span.ico.s8 { left: auto; right: 5%; top: auto; bottom: -10%; background-image: url("../images/rule/img_33.png"); }
@media screen and (max-width: 584px) { #rule .secrrr0 span.ico.s8 { bottom: -4%; } }
#rule .secrrr { position: relative; magin-bottom: 10px; height: auto; }
#rule .secrrr.row2 { text-align: center; }
#rule .secrrr.row2 li { max-width: 460px; width: 46.5%; float: none; display: inline-block; }
#rule .secrrr.row2 li:nth-child(2) { margin-right: 0; }
#rule .secrrr.row2 li figure { max-width: 311px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 584px) { #rule .secrrr.row2 li { position: relative; box-sizing: border-box; padding-left: 0px; width: 100%; float: none; margin: 0; margin-bottom: 10px; } }
#rule .secrrr li { width: 31%; margin-right: 3.5%; float: left; position: relative; box-sizing: border-box; z-index: 5; }
#rule .secrrr li:nth-child(3) { margin-right: 0; }
#rule .secrrr li h4 { text-align: left; }
#rule .secrrr li h4 img { height: 30px; display: block; margin-left: auto; margin-right: auto; }
#rule .secrrr li h3 { text-align: left; font-size: 20px; line-height: 1.7em; margin-bottom: 20px; }
#rule .secrrr li h3 img { max-width: 140px; margin-bottom: 10px; }
@media screen and (max-width: 584px) { #rule .secrrr li h3 img { max-width: 100px; } }
#rule .secrrr li h3 span.sy2 { color: #DC4F1D; font-size: 16px; line-height: 1.5em; display: block; margin-bottom: 10px; }
@media screen and (max-width: 584px) { #rule .secrrr li h3 span.sy2 br { display: none; } }
@media screen and (max-width: 584px) { #rule .secrrr li h3 { font-size: 18px; } }
#rule .secrrr li p { font-size: 14px; line-height: 1.7em; }
#rule .secrrr li p span { text-align: right; display: block; width: 100%; margin-bottom: 16px; }
#rule .secrrr li .simg { position: absolute; right: 0; top: 0; max-width: 360px; }
@media screen and (max-width: 584px) { #rule .secrrr li .simg { max-width: 120px; } }
@media screen and (max-width: 584px) { #rule .secrrr li { position: relative; box-sizing: border-box; padding-left: 0px; width: 100%; float: none; margin: 0; margin-bottom: 10px; } }
#rule .sec3 { z-index: 30; overflow: visible; padding-bottom: 60px; position: relative; width: 100%; margin: 0; padding: 0; display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
#rule .sec3 .sec3a { position: relative; box-sizing: border-box; padding-left: 50px; }
#rule .sec3 .sec3a h3 { font-size: 32px; line-height: 1.3em; margin-bottom: 20px; }
#rule .sec3 .sec3a h3 img { max-width: 190px; margin-bottom: 10px; }
#rule .sec3 .sec3a h3 span.sy2 { color: #DC4F1D; font-size: 16px; line-height: 1.5em; display: block; margin-bottom: 10px; }
#rule .sec3 .sec3a p { font-size: 15px; max-width: 360px; }
#rule .sec3 .sec3a .simg { position: absolute; right: 0; top: 0; max-width: 360px; }
@media screen and (max-width: 584px) { #rule .sec3 .sec3a .simg { max-width: 120px; } }
@media screen and (max-width: 584px) { #rule .sec3 .sec3a { position: relative; box-sizing: border-box; padding-left: 0px; } }
#rule .sec3 .sec3b { position: relative; float: right; box-sizing: border-box; padding-right: 50px; }
#rule .sec3 .sec3b h3 { font-size: 32px; line-height: 1.3em; margin-bottom: 20px; }
#rule .sec3 .sec3b h3 img { max-width: 190px; margin-bottom: 10px; }
#rule .sec3 .sec3b h3 span.sy2 { color: #DC4F1D; font-size: 16px; line-height: 1.5em; display: block; margin-bottom: 10px; }
#rule .sec3 .sec3b p { font-size: 15px; max-width: 360px; }
#rule .sec3 .sec3b .simg { position: absolute; left: 0; top: 0; max-width: 260px; }
#rule .sec3 .sec3c { position: relative; box-sizing: border-box; padding-left: 50px; }
#rule .sec3 .sec3c h3 { font-size: 32px; line-height: 1.3em; margin-bottom: 20px; }
#rule .sec3 .sec3c h3 img { max-width: 190px; margin-bottom: 10px; }
#rule .sec3 .sec3c h3 span.sy2 { color: #DC4F1D; font-size: 16px; line-height: 1.5em; display: block; margin-bottom: 10px; }
#rule .sec3 .sec3c p { font-size: 15px; max-width: 360px; }
#rule .sec3 .sec3c .simg { position: absolute; right: 0; bottom: 0; max-width: 400px; }
@media screen and (max-width: 584px) { #rule .sec3 .sec3c { padding-left: 0px; } }
#rule .sec3 .sec3d { max-width: 400px; float: right; margin-top: 20px; margin-right: 20px; }
#rule .sec3 .sec3d img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec3 .sec3j { max-width: 400px; float: right; margin-top: 20px; margin-right: 20px; box-sizing: border-box; margin-right: 60px; }
#rule .sec3 .sec3k { max-width: 460px; float: left; margin-top: 60px; box-sizing: border-box; }
@media screen and (max-width: 584px) { #rule .sec3 .sec3k { max-width: 180px; margin-top: 20px; } }
#rule .sec3 .sec3f { max-width: 180px; position: absolute; left: 40px; box-sizing: border-box; }
#rule .sec3 .sec3f figure { margin-left: -80px; }
#rule .sec3 .sec3f img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec3 .sec3g { width: 100%; text-align: center; position: relative; box-sizing: border-box; }
#rule .sec3 .sec3g figure { width: 100%; max-width: 400px; margin-left: auto; margin-right: auto; }
#rule .sec3 .sec3g figure img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec3 .sec3g .simg { position: absolute; right: 0; bottom: -50px; max-width: 300px; }
@media screen and (max-width: 584px) { #rule .sec3 .sec3g .simg { bottom: 180px; max-width: 120px; } }
#rule .sec3 .sec3h { max-width: 150px; left: 0; position: absolute; box-sizing: border-box; margin-top: 20px; }
#rule .sec3 .sec3i { width: 100%; position: relative; box-sizing: border-box; }
#rule .sec3 .sec3i figure { width: 100%; max-width: 400px; margin-left: 10%; }
#rule .sec3 .sec3i figure img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec3 .sec3i .simg { position: absolute; right: 0; bottom: -50px; max-width: 260px; }
@media screen and (max-width: 584px) { #rule .sec3 .sec3i .simg { bottom: 100px; max-width: 120px; } }
@media screen and (max-width: 584px) { #rule .sec3 { padding-bottom: 40px; } }
#rule .sec4 { position: relative; }
#rule .sec4 p.lead { font-size: 24px; line-height: 2em; }
@media screen and (max-width: 584px) { #rule .sec4 p.lead { font-size: 15px; line-height: 2em; text-align: left; }
  #rule .sec4 p.lead br { display: none; } }
#rule .sec4 .sec4ab { position: relative; width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; margin-bottom: 20px; }
#rule .sec4 .sec4a { position: relative; width: 100%; margin-left: auto; margin-right: auto; margin-bottom: 20px; }
#rule .sec4 .sec4a ul { text-align: center; font-size: 0; position: relative; }
#rule .sec4 .sec4a ul li { width: 48%; max-width: 400px; display: inline-block; margin-right: 2%; vertical-align: middle; }
#rule .sec4 .sec4a ul li:nth-child(2) { margin-right: 0; margin-left: 2%; }
#rule .sec4 .sec4a ul li .mapn { display: none; position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
@media screen and (max-width: 584px) { #rule .sec4 .sec4a ul li .mapn { display: block; opacity: 0; } }
#rule .sec4 .sec4a ul li .mapn0 { position: absolute; width: 240px; height: 352px; left: 0; top: 0; display: none; z-index: 5; }
@media screen and (max-width: 584px) { #rule .sec4 .sec4a ul li .mapn0 { display: block; } }
#rule .sec4 .sec4a ul li .rulea p { margin-bottom: 30px; }
#rule .sec4 .sec4a ul li .rulea h4 { margin: 0; margin-top: 10px; text-align: left; font-size: 16px; font-size: 20px; line-height: 1.7em; }
#rule .sec4 .sec4a ul li .rulea figure { max-width: 260px; margin-top: 20px; margin-left: 0; }
#rule .sec4 .sec4a ul li .rulea figure p { width: 30px; height: 30px; display: inline-block; vertical-align: top; text-align: center; margin: 0; line-height: 30px; box-sizing: border-box; font-size: 20px; margin-right: 10px; position: relative; }
#rule .sec4 .sec4a ul li .rulea figure p img { display: block; vertical-align: bottom; width: 100%; }
#rule .sec4 .sec4a ul li .rulea figure img { width: calc(100% - 40px); margin-left: auto; margin-right: 0; }
@media screen and (max-width: 584px) { #rule .sec4 .sec4a ul li { width: 100%; margin: 0; }
  #rule .sec4 .sec4a ul li figure { max-width: 240px; } }
#rule .stab { position: relative; z-index: 60; margin-bottom: 0px; height: 50px; display: none; width: 95%; max-width: 1024px; margin-left: auto; margin-right: auto; margin-bottom: 20px; }
#rule .stab li { position: relative; width: 32.6666%; margin-right: 1%; float: left; height: 100%; background-color: #E7CFB3; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#rule .stab li::before { position: absolute; bottom: -15px; margin: auto; content: ""; vertical-align: middle; left: 44%; box-sizing: border-box; width: 8px; height: 6px; border: 8px solid transparent; border-left: 8px solid #DA5024; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#rule .stab li::after { content: ""; position: absolute; width: 100%; height: 36px; left: 0; top: 50%; background-size: auto 100%; background-repeat: no-repeat; background-position: center center; background-image: url("../images/rule/stabo_01.png"); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#rule .stab li:nth-child(2)::after { background-image: url("../images/rule/stabo_02.png"); }
#rule .stab li:nth-child(3)::after { background-image: url("../images/rule/stabo_03.png"); }
#rule .stab li:nth-child(3n) { margin-right: 0; }
#rule .stab li.act, #rule .stab li:hover { background-color: #DA5024; }
#rule .stab li a { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 7; }
#rule .stab li img { height: 36px; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) translateY(-50%); -moz-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); opacity: 1; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
#rule .stab li:hover::before, #rule .stab li.act::before, #rule .stab li:hover::after, #rule .stab li.act::after { opacity: 1; }
#rule .stab.vtr li::before { position: absolute; bottom: auto; top: -15px; margin: auto; content: ""; vertical-align: middle; left: 44%; box-sizing: border-box; width: 8px; height: 6px; border: 8px solid transparent; border-left: 8px solid #DA5024; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
@media screen and (max-width: 584px) { #rule .stab { display: block; } }
@media screen and (max-width: 584px) { #rule .sec3 .sec3j, #rule .sec3 .sec3h, #rule .sec3 .sec3d, #rule .sec3 .sec3f { display: none; }
  #rule .sec3 .sec3c h3, #rule .sec3 .sec3b h3, #rule .sec3 .sec3a h3 { font-size: 22px; line-height: 1.3em; margin-bottom: 10px; }
  #rule .sec3 .sec3c h3 span.sy2, #rule .sec3 .sec3b h3 span.sy2, #rule .sec3 .sec3a h3 span.sy2 { font-size: 14px; }
  #rule .sec3 .sec3c h3 img, #rule .sec3 .sec3b h3 img, #rule .sec3 .sec3a h3 img { max-width: 150px; } }

#rule.nm24_1 .sec4 .sec4a ul li .mapn.nm24_1, #rule.nm24_2 .sec4 .sec4a ul li .mapn.nm24_2, #rule.nm24_3 .sec4 .sec4a ul li .mapn.nm24_3, #rule.nm26_1 .sec4 .sec4a ul li .mapn.nm26_1, #rule.nm26_2 .sec4 .sec4a ul li .mapn.nm26_2, #rule.nm26_3 .sec4 .sec4a ul li .mapn.nm26_3, #rule.nm28_1 .sec4 .sec4a ul li .mapn.nm28_1, #rule.nm28_2 .sec4 .sec4a ul li .mapn.nm28_2 { opacity: 1; }

.popw { display: none; position: fixed; z-index: 330; left: 0; bottom: 0; height: auto; box-sizing: border-box; padding: 10px; background-color: rgba(255, 255, 255, 0.9); border-top: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF; }
.popw .cls { position: absolute; right: 0; top: 0; z-index: 21; border: 1px solid #fff; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; -o-border-radius: 50%; -ms-border-radius: 50%; width: 24px; height: 24px; background-color: #000; }
.popw .cls p { color: #fff; font-size: 24px; text-align: center; line-height: 24px; }
.popw .popin { box-sizing: border-box; padding: 5px; position: relative; }
.popw .popin h4 { text-align: center; margin-top: 5px; margin-bottom: 5px; }
.popw .popin p { font-size: 12px; }
.popw .popin figure p { display: none; }
.popw .popin figure img { display: block; width: 100%; max-width: 200px; margin-left: auto !important; margin-right: auto !important; }
.popopen .popw { display: block; }
