/* ===================================================================
  とらぶるツインズ
  (C)とらぶるツインズ製作委員会
=================================================================== */
/* ---------------------------------------------------------
  initialize
--------------------------------------------------------- */
body,div,dl,dt,dd,ol,ul,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,table,th,td {
  background-repeat: no-repeat;
  background-position: 0 0;
  padding: 0;
  margin: 0;
}
ol,ul,li {
  list-style-type: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img, abbr {
  border-width: 0;
}
img {
  vertical-align: text-bottom;
}
address,caption,cite,code,dfn,h1,h2,h3,h4,h5,h6,th,var {
  font-style: normal;
  font-weight: normal;
}
h1,h2,h3,h4,h5,h6,th,dt {
  font-weight: bold;
}
caption,th {
  text-align: left;
}

.dummy {
  font-weight: bold;
  color: red;
}
hr.clear {
  clear: both;
  visibility: hidden;
  height: 1px;
  padding: 0;
  margin: 0;
}
/* ---------------------------------------------------------
  base design
--------------------------------------------------------- */
body {
  font-family:  'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'Osaka', 'Verdana', 'Arial', sans-serif;
  font-size: 12px;
  padding-bottom: 20px;
}
#wrapper {
  background-color: transparent;
  width: 788px;
  height: 500px;
  margin: 20px auto;
}
#header {
  height: 80px;
}
#content {
  width: 766px;
  padding: 0 21px 10px 1px;
}
#footer {
  height: 80px;
}
h1 {
  font-size: 20px;
}
h2 {
  font-size: 16px;
}
h3 {
  font-size: 14px;
}
h4 {
  font-size: 12px;
}
table {
  font-size: 12px;
}
/* color */
body {
  color: #000;
  background: url('images/body_bg.jpg') top left repeat-x #1C87E5;
}
#header {
  background: url('images/header_bg.gif') top left no-repeat transparent;
}
#content {
  background: url('images/content_bg.gif') top left repeat-y #fff;
  line-height: 1.4;
}
#footer {
  background: url('images/footer_bg.gif') bottom left no-repeat transparent;
  padding-bottom: 20px;
}

table.list th,
table.list td {
  vertical-align: top;
  padding: 2px 4px;
}
table.list th {
  text-align: right;
  white-space: nowrap;
  padding-right: 8px;
}
/* ---------------------------------------------------------
  hedaer
--------------------------------------------------------- */
#header h1 {
  width: 374px;
  float: left;
}
/* ---------------------------------------------------------
  global_menu
--------------------------------------------------------- */
#global_menu ul {
  text-align: center;
  padding: 4px 0 10px 0;
}
#global_menu li {
  display: inline;
}
/* ---------------------------------------------------------
  footer
--------------------------------------------------------- */
#footer {
  font-size: 12px;
  text-align: center;
}
#footer .menu {
  background: url('images/footer_bg.gif') top left no-repeat transparent;
  padding-top: 2px;
  margin: 0 0 4px 0;
}
#footer .menu li {
  display: inline;
  padding: 0 6px;
  border-left: 1px solid #f66;
}
#footer .menu li.top {
  padding-left: 0;
  border-left: none;
}
#footer .banner {
  text-align: right;
  padding-right: 40px;
  margin: 2px 0;
}
#footer .copyright {
  font-size: 85%;
}
/* ---------------------------------------------------------
  top
--------------------------------------------------------- */
#p_top #content {
  overflow: auto;
}
#p_top #main {
  float: left;
  width: 512px;
  height: 320px;
}
#p_top #sub {
  float: right;
  width: 254px;
}
#p_top #sub .menu {
  padding-top: 4px;
}
#p_top .info {
  background: url('images/info_bg.gif') top left repeat;
  padding: 10px;
  border: 1px solid #ed5082;
  margin: 20px;
}
#p_top .info h2 {
  font-family:   'Verdana', 'Arial', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif;
  color: white;
  background-color: #ed5082;
  text-transform: capitalize;
  padding: 2px 10px;
  margin: -10px -10px 0 -10px;
}
#p_top #update {
  padding: 0;
}
#p_top #update h2 {
  color: white;
  background-color: #ed5082;
  text-transform: capitalize;
  padding: 2px 10px;
  margin: 0;
}
#p_top .info dl {
  padding: 10px;
}
#p_top #update.info dl {
  overflow: auto;
  height: 100px;
  max-height: 100px;
}
#p_top .info dt {
  color: #36c;
  text-transform: uppercase;
  border-bottom: 2px solid #36c;
  margin-bottom: 4px;
}
#p_top .info dt.important {
  color: #c36;
  border-bottom: 2px solid #c36;
}
#p_top .info dd {
  padding: 0 0 10px 1em;
}
#p_top #other p {
  text-align: center;
  margin: 1em 0;
}
#p_top .special {
  text-align: center;
  margin: 10px auto;
}
/* ---------------------------------------------------------
  main/sub
--------------------------------------------------------- */
#content {
  overflow: auto;
}
#main {
  float: left;
  width: 512px;
}
#sub {
  float: left;
  width: 254px;
}

#main .mbox {
  background: url('images/mbox_bg_top.jpg') top left no-repeat;
  padding-top: 27px;
}
#main .mbox_content {
  background: url('images/mbox_bg_body.jpg') top left repeat-y;
  padding: 0 16px;
}
#main .mbox_bottom {
  background: url('images/mbox_bg_bottom.jpg') top left no-repeat;
  height: 27px;
}
#main .mbox h3 {
  font-family:   'Verdana', 'Arial', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif;
  color: white;
  background-color: #ed5082;
  text-align: center;
  text-transform: capitalize;
  padding: 2px 10px;
  margin: 0 0 10px 0;
}

/* ---------------------------------------------------------
  char
--------------------------------------------------------- */
#p_char .char_menu {
  padding: 0 0 0 10px;
}
#p_char .char_menu li {
  width: 200px;
  border-bottom: 1px solid #ed5082;
}
#p_char .char_menu li.current {
  padding-left: 20px;
}
#p_char .char_menu li.last {
  border-bottom: none;
}
#p_char .char_menu li:hover {
  padding-left: 20px;
}
#p_char .char_menu li img {
  vertical-align: top;
}
#p_char .introduction {
  font-size: 14px;
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-ideograph;
  padding: 15px;
}
#p_char .introduction p {
  color: #f69;
  margin-bottom: 15px;
}
#p_char .introduction.boy p {
  color: #69f;
}

#p_char #voice {
  width: 346px;
  margin: -90px 8px 0 auto;
}
#p_char #cg_thumb {
  padding: 0 15px;
}
#p_char #cg_thumb li {
  background: url('images/cg_s_base.jpg') left top no-repeat;
  display: block;
  float: left;
  width: 106px;
  height: 84px;
  margin: 3px;
}

#p_char #inner_navi {
  height: 40px;
  padding-right: 12px;
  margin-bottom: 4px;
}
#p_char #inner_navi li {
  width: 160px;
  height: 40px;
}
#p_char #inner_navi li.left {
  float: left;
  margin-right: 10px;
}
#p_char #inner_navi li.right {
  float: right;
}

/* ---------------------------------------------------------
  story
--------------------------------------------------------- */
#p_story #content {
  text-align: center;
}

/* ---------------------------------------------------------
  cg
--------------------------------------------------------- */
#p_cg .cg_thumb {
  height: 240px;
  padding-left: 10px;
  margin: 10px 0;
}
#p_cg .cg_thumb li {
  float: left;
  text-align: center;
  background: url('images/cg_thumb_base.jpg') top left no-repeat;
  width: 228px;
  height: 210px;
  margin: 0 22px 0 4px;
}
#p_cg .cg_thumb li.last {
  margin-right: 0;
}
#p_cg .cg_thumb li a {
  display: block;
  color: black;
  text-decoration: none;
  width: 200px;
  height: 200px;
  padding: 10px 18px 0 11px;
}
#p_cg .cg_thumb li a:hover {
  background: url('images/cg_thumb_base_on.jpg') top left no-repeat;
}
#p_cg .cg_thumb li a .note {
  line-height: 2.0;
}

#p_cg #cg_stage {
  margin: auto;
}
#p_cg td {
  text-align: center;
  padding: 4px;
}
#p_cg td.image {
  background: url('images/cg_base.jpg') top left;
  text-align: center;
  padding: 11px 19px 19px 11px;
}


/* ---------------------------------------------------------
  special
--------------------------------------------------------- */
#p_special .sub_menu {
  padding: 0 0 0 10px;
}
#p_special .sub_menu li {
  width: 200px;
  margin-bottom: 4px;
}
#p_special .sub_menu li.current {
  padding-left: 20px;
}
#p_special .sub_menu li:hover {
  padding-left: 20px;
}
#p_special .sub_menu li img {
  vertical-align: top;
}
#p_special .movie_s {
  text-align: center;
  width: 320px;
  margin: 0 auto 20px auto;
}

#p_special .dl_list {
  margin: 10px auto;
}
#p_special .dl_list td {
  background-color: white;
  padding: 4px;
  border: 1px solid #ed5082;
}

#p_special .section {
  margin-top: 20px;
}
#p_special .photo {
  text-align: center;
  margin: 10px auto;
}
#p_special .comment {
  width: 90%;
  margin: auto;
}

/* ---------------------------------------------------------
  ss
--------------------------------------------------------- */
#p_ss #ss_title {
  width: 552px;
  text-align: center;
  margin: 0 auto;
}

#p_ss #menu {
  width: 384px;
  margin: 20px auto;
}
#p_ss #menu li {
  margin: 20px 0;
}
#p_ss .sub_menu {
  padding-left: 1em;
  margin: 10px 0;
}
#p_ss .sub_menu li {
  display: inline;
  padding: 0 1em;
  border-left: 1px solid #66f;
}
#p_ss .sub_menu li.top {
  padding-left: 0;
  border-left: none;
}

#p_ss .ss_frame {
  color: white;
  font-size: 16px;
  background: url('images/ss_frame02.jpg') bottom left no-repeat #9dddfe;
  width: 512px;
  height: 384px;
  padding: 0 20px 20px 20px;
  margin: auto;
}
#p_ss .ss_bg {
  background-position: top left;
  background-repeat: no-repeat;
  margin: auto;
}
#p_ss .inner {
  overflow: auto;
  width: 512px;
  height: 384px;
}
* html #p_ss .ss_bg {
  background-attachment: fixed;
}
#p_ss .ss_frame dl {
  padding: 18px;
}
#p_ss .ss_frame .name {
  font-weight: bold;
}
#p_ss .ss_frame .line {
  margin-bottom: 1em;
  text-align: justify;
  text-justify: inter-ideograph;
}
#p_ss .ss_frame .present {
  color: white;
  text-align: right;
  font-size: 12px;
  padding: 10px;
}
#p_ss .ss_frame .present a {
  color: white;
}
#p_ss .ss_frame .next {
  text-align: right;
  font-weight: bold;
  padding: 10px;
}
#p_ss .ss_frame .hero { color: #cff; }
#p_ss .ss_frame .maya { color: #fcc; }
#p_ss .ss_frame .miku { color: #fcf; }
#p_ss .ss_frame .ririka { color: #ffc; }
#p_ss .ss_frame .jun { color: #fc9; }
#p_ss .ss_frame .tomoe { color: #cfc; }
#p_ss .ss_frame .noriko { color: #f9c; }
#p_ss .ss_frame .next a { color: white; }

/* ---------------------------------------------------------
  q and a
--------------------------------------------------------- */
#p_qa .q_and_a {
  font-size: 14px;
  width: 80%;
  border: 2px solid #9ddcfb;
  margin: 20px auto;
}
#p_qa .q_and_a th {
  text-align: center;
  padding: 3px 10px;
  border-width: 2px 0 2px 0;
  border-style: solid;
  border-color: #9ddcfb;
}
#p_qa .q_and_a td {
  border-width: 2px 0 2px 0;
  border-style: solid;
  border-color: #9ddcfb;
}

#p_qa .q_and_a .userQuestion td {
	padding: 1em;
}
#p_qa .q_and_a .userQuestion strong {
	color: #ff6c6c;
}
#p_qa .q_form {
  color: #003;
  background-color: #9ddcfb;
  width: 80%;
  margin: 10px auto 20px auto;
}
#p_qa .q_form th,
#p_qa .q_form td {
  padding: 4px;
}
#p_qa .q_form th {
  text-align: right;
}

/* ---------------------------------------------------------
  support
--------------------------------------------------------- */
#p_support .sub_menu {
  padding: 0 0 0 10px;
}
#p_support .sub_menu li {
  width: 200px;
  margin-bottom: 4px;
}
#p_support .sub_menu li.current {
  padding-left: 20px;
}
#p_support .sub_menu li:hover {
  padding-left: 20px;
}
#p_support .sub_menu li img {
  vertical-align: top;
}

#p_support #main {
  text-align: left;
  font-size: 95%;
}
#p_support #main ul {
  margin-left: 1.5em;
}
#p_support #main ul li {
  list-style-type: disc;
  margin: 3px 0;
}

#p_support .form_table th {
  text-align: right;
  padding: 4px 2px;
}
#p_support .form_table td {
  padding: 4px 2px;
}
#p_support .error {
  background-color: #fff;
  padding: 4px;
  border: 3px double red;
  margin: 4px;
}


