html, body { height: 100%; }

body { font-style: normal; font-variant: normal; font-weight: normal; font-size: 1em; color: #090d3e; font-family: "Meiryo", sans-serif; margin: 0 auto; background: #4DABF7; background-image: url(images/bg.jpg); }

a { display: inline-block; font-weight: bold; }
a:link { color: #e06214; }
a:visited { color: #82390c; }
a:hover { color: #f29d68; }
a:active { color: #e06214; }
a > .button, a > .small-button { display: inline-block; color: #fff; text-align: center; font-weight: bold; font-size: 1.5em; vertical-align: top; text-shadow: -1px -1px 1px #080348, 1px -1px 1px #080348, -1px 1px 1px #080348, 1px 1px 1px #080348; padding: 0.51em 3em 0.35em; margin: 0; border-width: 3px; border-style: outset; border-radius: 0.8em; border-color: #fff; background-color: #2776d3; box-shadow: 5px 8px 5px rgba(69, 32, 6, 0.6); }
a > .button:hover, a > .small-button:hover { color: #ffeb95; border-color: #e8e8e6; background-color: #c6250e; border-style: groove; }
a > .small-button { font-size: 0.8em; text-shadow: -1px -1px 1px #710d0d, 1px -1px 1px #710d0d, -1px 1px 1px #710d0d, 1px 1px 1px #710d0d; background-color: #f89c3f; border-width: 2px; border-radius: 0.5em; }
a > .small-button:hover { background-color: #f05f13; }

#header-base-image { position: absolute; z-index: -10; top: 0; left: 0; background-image: url(images/header_bg.png); height: 392px; width: 100%; background-repeat: repeat-x; background-position: left; }

#container { position: relative; min-height: 100%; padding-top: 1em; max-width: 1024px; margin: 0 auto; }

#header { width: 100%; }
#header #logo { background-image: url(images/perfectplus_logo_common.png); width: 633px; height: 427px; background-repeat: no-repeat; background-position: center; background-size: 100%; vertical-align: top; margin: 0 auto 20px auto; }
#header #introduction { margin: 0 auto; }
#header #vpr25 { background-color: rgba(255, 255, 255, 0.8); padding: 10px; margin: 20px 0; }
#header #vpr25 p { margin: 5px; line-height: 1.0em; }
#header #vpr25 .nominate { color: #ffe23e; text-shadow: -1px -1px 1px #430503, 1px -1px 1px #430503, -1px 1px 1px #430503, 1px 1px 1px #430503; font-weight: bold; font-size: 1.2em; line-height: 1.4em; }
#header #vpr25 .nominate .point { font-size: 1.5em; color: #ff7474; }
#header #vpr25 .strong { color: #ff0000; font-weight: bold; }
#header #vpr25 .prize_medal { float: left; width: 300px; height: 300px; }
#header #vpr25 .prize_right { float: right; white-space:nowrap; }

#footer, #footer .copyright { width: 100%; clear: both; }
#footer hr, #footer .copyright hr { width: 70%; margin-top: 0.8em; margin-bottom: 0; margin-left: auto; margin-right: auto; border-width: 1px; border-style: dashed; }
#footer .copyright { margin: 0 auto; margin-top: 0.5em; font-size: 0.5em; text-align: center; line-height: 1.2em; padding: 5px 0; color: #ebebeb; background-color: #443da3; background-color: rgba(60, 74, 157, 0.5) !important; }

#content { width: 80%; margin: 0 auto; padding: 0; }

.spec { min-width: 70%; margin: 0 auto; table-layout: auto; caption-side: top; border-collapse: collapse; background-color: #f7f7f7; empty-cells: show; box-shadow: 5px 8px 5px rgba(69, 32, 6, 0.6); }
.spec th { border-width: 2px; border-style: dashed; border-color: #197de0; margin: 0; padding: 0.2em 0.5em; text-align: right; padding: 0.4em; }
.spec td { border-width: 2px; border-style: dashed; border-color: #197de0; margin: 0; padding: 0.2em 0.5em; text-align: left; }
.spec td .strong { font-weight: bold; color: #ff0000; }

.section { margin: 0.5em 0em; clear: both; width: 100%; }

.clearfix { display: inline-block; }
.clearfix:after { content: ""; display: block; clear: both; }

.section-title { display: block; font-size: 1.2em; font-weight: bold; color: #3d385d; text-align: center; text-shadow: -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, 1px 1px 1px #fff; max-width: 80%; margin: 0.5em auto; padding-top: 0.3em; padding-bottom: 0.2em; border-width: 2px; border-style: solid; border-color: #dd4f10; border-radius: 5px; background-color: #fc9235; box-shadow: 5px 8px 5px rgba(69, 32, 6, 0.6); }

.box-separator { background-image: url(images/boxicon_green.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.box-separator-green { background-image: url(images/boxicon_green.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.box-separator-yellow { background-image: url(images/boxicon_yellow.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.box-separator-purple { background-image: url(images/boxicon_purple.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.box-separator-red { background-image: url(images/boxicon_red.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.box-separator-blue { background-image: url(images/boxicon_blue.png); width: 35px; height: 35px; background-repeat: no-repeat; margin: 1em auto; }

.catchcopy { color: #333c86; text-shadow: -1px -1px 2px #efebff, 1px -1px 2px #efebff, -1px 1px 2px #efebff, 1px 1px 2px #efebff; font-size: 2em; font-weight: bold; letter-spacing: -0.08em; line-height: 1.1em; text-align: center; padding-bottom: 1em; margin: 90px auto 40px; background-color: #5de582; background-color: rgba(77, 208, 82, 0.78) !important; border-width: 10px; border-style: dotted; border-left-style: none; border-right-style: none; border-color: #f2f219; }
.catchcopy .point { color: #e61576; text-shadow: -1px -1px 0px #faeea9, 1px -1px 0px #faeea9, -1px 1px 0px #faeea9, 1px 1px 0px #faeea9, -1px -1px 5px #463c05, 1px -1px 5px #463c05, -1px 1px 5px #463c05, 1px 1px 5px #463c05; font-size: 1.2em; font-weight: bold; }
.catchcopy .head { color: #ce0d2b; text-shadow: -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, 1px 1px 1px #fff, -3px -3px 4px #f5ea94, 3px -3px 4px #f5ea94, -3px 3px 4px #f5ea94, 3px 3px 4px #f5ea94, 8px 6px 3px rgba(38, 39, 35, 0.53); font-size: 2em; font-weight: bold; position: relative; margin: 0 auto; width: 738px; height: 1em; background-image: url(images/catch_head_bg.png); background-repeat: no-repeat; background-position: center bottom; transform-origin: 10%; transform: rotate(-10deg) translate(-20%, 15%); }

.note-top-margin { margin-top: 70px; }

.note { position: relative; border-color: #6358ed; border-width: 4px; border-style: dotted; border-radius: 5px; }
.note .note-body, .note .note-body-r { background-color: #fffbe4; margin: 0 0; background-image: url(images/note_stamp_box_red.png); background-position: right bottom; background-repeat: no-repeat; box-shadow: 5px 8px 5px rgba(69, 32, 6, 0.6); border-radius: 0 0 5px 5px; }
.note .note-body .note-header, .note .note-body-r .note-header { font-weight: bold; font-size: 2em; color: #f4f3f0; text-shadow: -1px -1px 1px #2f1212, 1px -1px 1px #2f1212, -1px 1px 1px #2f1212, 1px 1px 1px #2f1212, -2px -2px 4px #771332, 2px -2px 4px #771332, -2px 2px 4px #771332, 2px 2px 4px #771332; padding-top: 10px; padding-bottom: 5px; padding-left: 80px; padding-right: 80px; background-color: #f4417f; background-image: url(images/footstep.png); background-repeat: no-repeat; background-position: 60px center; border-top-left-radius: 5px; border-top-right-radius: 5px; }
.note .note-body .note-header .align-right, .note .note-body-r .note-header .align-right { text-align: center; padding: 0; margin: auto; }
.note .note-body .note-content, .note .note-body-r .note-content { color: #13477b; font-size: 1.2em; line-height: 1.0em; letter-spacing: -0.05em; padding-top: 15px; padding-bottom: 10px; padding-left: 50px; padding-right: 65px; }
.note .note-body .note-content p, .note .note-body-r .note-content p { margin-top: 0.2em; }
.note .note-body .note-content .point, .note .note-body-r .note-content .point { font-weight: bold; color: #e21d1d; }
.note .note-body .note-content .img-left, .note .note-body-r .note-content .img-left { float: left; margin-top: 0.5em; margin-right: 1.25em; }
.note .note-body .note-content .img-right, .note .note-body-r .note-content .img-right { float: right; margin-top: 0.5em; margin-left: 1.25em; }
.note .note-body .note-content:after, .note .note-body-r .note-content:after { content: ''; clear: both; display: block; }
.note .note-body .note-header-badge1l, .note .note-body-r .note-header-badge1l { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge1l.png); width: 91px; height: 128px; top: -50px; left: -20px; }
.note .note-body .note-header-badge1r, .note .note-body-r .note-header-badge1r { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge1r.png); width: 147px; height: 150px; top: -60px; right: -50px; }
.note .note-body .note-header-badge2l, .note .note-body-r .note-header-badge2l { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge2l.png); width: 138px; height: 140px; top: -60px; left: -70px; }
.note .note-body .note-header-badge2r, .note .note-body-r .note-header-badge2r { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge2r.png); width: 93px; height: 132px; top: -40px; right: -30px; }
.note .note-body .note-header-badge3l, .note .note-body-r .note-header-badge3l { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge3l.png); width: 119px; height: 138px; top: -60px; left: -50px; }
.note .note-body .note-header-badge3r, .note .note-body-r .note-header-badge3r { display: inline-block; position: absolute; margin: 0; padding: 0; border: 0; background-image: url(images/badge3r.png); width: 131px; height: 134px; top: -80px; right: -20px; }
.note .note-body .note-content-breaker, .note .note-body-r .note-content-breaker { background: #fffbe4; background-image: url(images/note_body_breaker.png); min-height: 16px; height: 1.5em; background-repeat: no-repeat; background-position: center top; }
.note .note-body-r { background-image: url(images/note_stamp_box_red_r.png); background-position: left bottom; }

p { font-size: 1em; margin: 0; padding: 0.1em 0.5em; line-height: 1.3em; }

.centering { text-align: center; }
