@charset "utf-8";

/* stylelint-disable selector-class-pattern */
/* stylelint-disable selector-id-pattern */
/* stylelint-disable no-descending-specificity */
/* stylelint-disable declaration-no-important */

/* ---------------------------------------
    reset
---------------------------------------- */
html {
  overflow-y: scroll;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q::before,
q::after {
  content: '';
}

object,
embed {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

ul li {
  list-style-type: none;
}

a,
label {
  cursor: pointer;
}

img {
  vertical-align: bottom;
  margin: 0;
  padding: 0;
}

/* ---------------------------------------
    base
---------------------------------------- */
html.modal_opened {
  overflow: hidden;
  height: 100%;
}

html.modal_opened body {
  overflow-y: scroll;
}

body,
input,
textarea,
select,
button {
  color: black;
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

body {
  font-size: 76%;
}

a {
  color: #06c;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

a[href^='#'] {
  outline: none;
}

.nobr {
  white-space: nowrap;
}

em {
  color: #dd0020;
}

#header,
#footer {
  min-width: 1040px;
}

#header_top,
#header_bottom,
#main,
#footer_btn,
#footer_nav {
  min-width: 980px;
  max-width: 1600px;
  margin: auto;
  padding: 0 30px;
}

table.cake-sql-log {
  margin: 50px 0;
  border: 2px black solid;
}

table.cake-sql-log tr {
  border: 1px black dotted;
}

table.cake-sql-log td {
  padding: 10px;
  border: 1px black dotted;
}

table.cake-sql-log tr td:nth-of-type(2) {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

/* ----------------------------------------
    header
---------------------------------------- */
#header {
  position: relative;
  background: #e3eaf1;
}

#header::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #0c539c;
}

/*  header_top
---------------------------------------- */
#header_top {
  position: relative;
  z-index: 1;
  overflow: hidden;
  line-height: 40px;
}

#header_top a {
  color: #79a3c7;
  text-decoration: none;
}

#header_top a:hover {
  color: #fff;
}

#header_nav {
  float: left;
}

#header_nav li {
  display: inline-block;
  margin-right: 1px;
}

#header_nav li a {
  display: block;
  line-height: 40px;
  padding: 0 20px;
  color: #b0cce3;
}

#header_nav li a::before {
  content: '';
  display: inline-block;
  padding-right: 5px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  vertical-align: middle;
}

#header_nav li a:hover {
  color: #003c79;
  background: #e3eaf1;
}

#header_nav li.entrance a::before {
  width: 15px;
  height: 20px;
  background-position: -485px -840px;
}

#header_nav li.entrance a:hover::before {
  background-position: -485px -862px;
}

#header_nav li.home a::before {
  width: 20px;
  height: 16px;
  background-position: 0 -1573px;
}

#header_nav li.home a:hover::before {
  background-position: 0 -1590px;
}

#header_nav li.user a::before {
  width: 10px;
  height: 16px;
  background-position: 0 -1607px;
}

#header_nav li.user a:hover::before {
  background-position: 0 -1624px;
}

#header_nav li.document a::before {
  width: 17px;
  height: 16px;
  background-position: 0 -1507px;
}

#header_nav li.document a:hover::before {
  background-position: 0 -1524px;
}

#header_nav li.charge a::before {
  width: 18px;
  height: 13px;
  background-position: 0 -1479px;
}

#header_nav li.charge a:hover::before {
  background-position: 0 -1493px;
}

#header_nav li.help a::before {
  width: 16px;
  height: 15px;
  background-position: 0 -1541px;
}

#header_nav li.help a:hover::before {
  background-position: 0 -1557px;
}

#language {
  float: right;
  font-size: 92%;
}

#language li {
  display: inline-block;
}

#language li::before {
  content: '｜';
  display: inline-block;
  margin-left: -4px;
  color: #5886b5;
  vertical-align: middle;
}

#language li:first-child::before {
  display: none;
}

#language li.current a {
  color: #fff;
}

/*  header_bottom
---------------------------------------- */
#header_bottom {
  line-height: 27px;
  overflow: hidden;
  font-size: 92%;
}

#header_bottom a {
  color: #0c539c;
  text-decoration: none;
}

#header_bottom a:hover {
  text-decoration: underline;
}

#header_bottom h1 {
  float: left;
  color: #0c539c;
  font-weight: normal;
}

#account {
  float: right;
  color: #444;
}

/*  header_login
---------------------------------------- */
#header_login {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 40px;
  padding: 0 30px;
}

#header_login #language li::before {
  color: #ccc;
}

#header_login #language a {
  color: #ccc;
  text-decoration: none;
}

#header_login #language a:hover,
#header_login #language .current a {
  color: #06c;
}

/* ----------------------------------------
    main
---------------------------------------- */
#main {
  padding-bottom: 30px;
}

#main .circuit_id {
  display: block;
}

#main::before,
#main::after {
  content: '';
  display: table;
}

#main::after {
  clear: both;
}

/*  topic_path
---------------------------------------- */
#topic_path {
  padding: 17px 0;
  font-size: 92%;
}

#topic_path li {
  display: inline-block;
}

#topic_path li::before {
  content: '>';
  display: inline-block;
  margin-left: -4px;
  padding: 0 4px;
  color: #888;
  vertical-align: middle;
}

#topic_path li:first-child::before {
  display: none;
}

/* ----------------------------------------
    main: side_nav
---------------------------------------- */
#side_nav {
  float: left;
  width: 170px;
  line-height: 1.5;
}

#side_nav a {
  color: black;
}

#circuit_current p,
#circuit_select .category li,
#circuit_select .list li {
  position: relative;
}

#circuit_current p::before,
#circuit_select .category li::before,
#circuit_select .list li::before {
  content: '';
  background: url('/img/share/sprite.png') no-repeat 0 0;
  position: absolute;
  top: 50%;
}

#circuit_current p.housing::before,
#circuit_select .category li.housing::before,
#circuit_select .list li.housing::before {
  width: 25px;
  height: 22px;
  margin-top: -11px;
  background-position: 0 -688px;
}

#circuit_current p.connection::before,
#circuit_select .category li.connection::before,
#circuit_select .list li.connection::before {
  width: 23px;
  height: 23px;
  margin-top: -11.5px;
  background-position: 0 -556px;
}

#circuit_current p.cloud::before,
#circuit_select .category li.cloud::before,
#circuit_select .list li.cloud::before {
  width: 22px;
  height: 14px;
  margin-top: -7px;
  background-position: 0 -526px;
}

#circuit_current p.hosting::before,
#circuit_select .category li.hosting::before,
#circuit_select .list li.hosting::before {
  width: 14px;
  height: 20px;
  margin-top: -10px;
  background-position: 0 -646px;
}

/*  circuit_current
---------------------------------------- */
#circuit_current {
  border-radius: 2px;
  padding: 4px;
  background: #ee7d3e;
}

#circuit_current h2 {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 31px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  position: relative;
  line-height: 27px;
  color: #fff;
  font-weight: bold;
  font-size: 125%;
  text-align: center;
  z-index: 1;
  background-position: 0 -1942px;
}

#circuit_current h2::after {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 2;
  border: solid 7px transparent;
  border-top: solid 7px #ee7d3e;
  border-bottom: 0;
  margin-left: -7px;
}

#circuit_current p {
  background: white;
  font-size: 92%;
  padding: 13px 11px;
  word-wrap: break-word;
}

#circuit_current p::before {
  left: 11px;
}

#circuit_current p.housing {
  padding-left: 46px;
}

#circuit_current p.connection {
  padding-left: 44px;
}

#circuit_current p.cloud {
  padding-left: 43px;
}

#circuit_current p.hosting {
  padding-left: 35px;
}

#circuit_current a {
  text-decoration: none;
}

#circuit_current a:hover {
  text-decoration: underline;
}

body.en #circuit_current h2 {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1396px;
}

/*  circuit_select
---------------------------------------- */
#circuit_select {
  position: relative;
  z-index: 1001;
}

#circuit_select h2 {
  position: relative;
  z-index: 1002;
  margin: -3px -5px 5px -4px;
}

#circuit_select h2 a {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 99px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  width: 179px;
  background-position: -485px -168px;
}

#circuit_select h2 a:hover,
#circuit_select.open h2 a {
  background-position: -485px -269px;
}

#circuit_select.circuit_other h2 {
  margin-top: 6px;
}

#circuit_select.circuit_other h2 a {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 74px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  background-position: 0 -766px;
}

#circuit_select.circuit_other h2 a:hover,
#circuit_select.circuit_other.open h2 a {
  background-position: 0 -841px;
}

#circuit_select .content {
  display: none;
  position: absolute;
  top: 4px;
  left: 100%;
  z-index: 1001;
  width: 680px;
  margin-left: -4px;
  padding: 40px 70px;
  border: solid 4px #e8641b;
  border-radius: 0 7px 7px;
  background: #fff;
}

#circuit_select .content::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  border: solid 7px transparent;
  border-left: solid 7px #e8641b;
  border-right: 0;
  margin-top: -7px;
  top: 40px;
  left: 0;
}

#circuit_select.circuit_other .content::after {
  top: 30px;
}

#circuit_select form {
  position: relative;
  float: left;
  width: 395px;
}

#circuit_select form::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 30px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: 0 -1849px;
}

#circuit_select input[type='text'],
#circuit_select input[type='password'] {
  display: inline-block;
  width: 305px;
  height: 28px;
  line-height: 28px;
  margin-left: 4px;
  padding: 0 8px;
  border: solid 1px #cdcdcd;
  border-right: 0;
  border-left: 0;
  vertical-align: top;
}

#circuit_select input[type='submit'] {
  height: 0;
  overflow: hidden;
  padding-top: 30px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  display: inline-block;
  width: 70px;
  margin-left: -5px;
  border: 0;
  background-position: 0 -1880px;
  vertical-align: top;
}

#circuit_select input[type='submit']:hover {
  background-position: 0 -1911px;
}

#circuit_select .list_number {
  float: right;
  line-height: 30px;
  font-size: 109%;
}

#circuit_select .list_number .num_all {
  font-size: 106%;
}

#circuit_select .list_number .num_part {
  margin: 0 4px;
  font-size: 122%;
}

#circuit_select .category {
  clear: both;
  padding: 20px 0;
}

#circuit_select .category li {
  display: inline-block;
  line-height: 1.2;
  margin-left: 1px;
  border-radius: 2px;
  background: #b9dbf8;
  vertical-align: top;
}

#circuit_select .category li:first-child {
  margin: 0;
}

#circuit_select .category li::before {
  left: 10px;
}

#circuit_select .category a {
  display: table-cell;
  position: relative;
  z-index: 1;
  width: 131px;
  height: 48px;
  padding-top: 2px;
  text-decoration: none;
  vertical-align: middle;
}

#circuit_select .category li.all::before {
  display: none;
}

#circuit_select .category li.all a {
  text-align: center;
}

#circuit_select .category li.housing:hover::before,
#circuit_select .category li.housing.current::before {
  background-position: 0 -711px;
}

#circuit_select .category li.housing a {
  width: 91px;
  padding-left: 40px;
}

#circuit_select .category li.connection:hover::before,
#circuit_select .category li.connection.current::before {
  background-position: 0 -580px;
}

#circuit_select .category li.connection a {
  width: 93px;
  padding-left: 38px;
}

#circuit_select .category li.cloud:hover::before,
#circuit_select .category li.cloud.current::before {
  background-position: 0 -541px;
}

#circuit_select .category li.cloud a {
  width: 94px;
  padding-left: 37px;
}

#circuit_select .category li.hosting:hover::before,
#circuit_select .category li.hosting.current::before {
  background-position: 0 -667px;
}

#circuit_select .category li.hosting a {
  width: 102px;
  padding-left: 29px;
}

body.en #circuit_select .category li.hosting a {
  width: 100px;
  padding-left: 31px;
}

#circuit_select .category li:hover,
#circuit_select .category li.current {
  background: #0c539c;
}

#circuit_select .category li:hover a,
#circuit_select .category li.current a {
  color: #fff;
}

#circuit_select .category li.current::after {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 2;
  border: solid 7px transparent;
  border-top: solid 7px #0c539c;
  border-bottom: 0;
  margin-left: -7px;
}

#circuit_select .list ul::before,
#circuit_select .list ul::after {
  content: '';
  display: table;
}

#circuit_select .list ul::after {
  clear: both;
}

#circuit_select .list li {
  float: left;
  margin: -1px 0 0 -1px;
  border: solid 1px #cdcdcd;
}

#circuit_select .list li::before {
  left: 15px;
}

#circuit_select .list li:hover {
  background: #b9dbf8;
}

#circuit_select .list a {
  display: table-cell;
  position: relative;
  z-index: 1;
  width: 154px;
  line-height: 1.4;
  padding: 15px;
  padding-left: 55px;
  font-size: 104%;
  text-decoration: none;
  vertical-align: middle;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

#circuit_select .list .circuit_id {
  font-size: 85%;
}

#circuit_select .nav li {
  position: absolute;
  top: 165px;
}

#circuit_select .nav .prev {
  left: 0;
}

#circuit_select .nav .next {
  right: 0;
  margin-left: 1.71%;
}

#circuit_select .nav a {
  width: 28px;
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 56px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
}

#circuit_select .nav .prev a {
  background-position: 0 -212px;
}

#circuit_select .nav .prev a:hover {
  background-position: 0 -269px;
}

/* 重複していた .nav .next ブロックを統合済み（right と margin-left を上部で定義） */

#circuit_select .nav .next a {
  background-position: 0 -379px;
}

#circuit_select .nav .next a:hover {
  background-position: 0 -436px;
}

#circuit_select .close {
  position: absolute;
  top: 20px;
  right: 20px;
}

#circuit_select .close a {
  width: 18px;
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 18px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  background-position: 0 -1138px;
}

#circuit_select .close a:hover {
  background-position: 0 -1157px;
}

body.en #circuit_select h2 a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -152px;
}

body.en #circuit_select h2 a:hover,
body.en #circuit_select.open h2 a {
  background-position: 0 -253px;
}

body.en #circuit_select.circuit_other h2 a {
  background-position: 0 0;
}

body.en #circuit_select.circuit_other h2 a:hover,
body.en #circuit_select.circuit_other.open h2 a {
  background-position: 0 -76px;
}

body.en #circuit_select input[type='text'],
body.en #circuit_select input[type='password'] {
  width: 284px;
}

body.en #circuit_select input[type='submit'] {
  width: 91px;
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1332px;
}

body.en #circuit_select input[type='submit']:hover {
  background-position: 0 -1364px;
}

#circuit_select_bg {
  display: none;
  background: #000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.65;
  z-index: 1000;
}

/*  new_contract
---------------------------------------- */
#new_contract {
  border-radius: 2px;
  padding: 4px;
  background: #0c539c;
}

#new_contract h2 {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 31px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  position: relative;
  line-height: 27px;
  color: #fff;
  font-weight: bold;
  font-size: 125%;
  text-align: center;
  background-position: -485px -1224px;
}

#new_contract ul {
  padding-bottom: 6px;
}

#new_contract li {
  margin-top: 1px;
  text-align: center;
}

#new_contract li:first-child {
  margin: 0;
}

#new_contract li a {
  height: 0;
  overflow: hidden;
  padding-top: 59px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  display: inline-block;
  width: 149px;
  vertical-align: middle;
}

#new_contract li.estimate a {
  background-position: -485px -980px;
}

#new_contract li.state a {
  background-position: -485px -1102px;
}

#new_contract li:hover.estimate a,
#new_contract li.current.estimate a {
  background-position: -485px -1041px;
}

#new_contract li:hover.state a,
#new_contract li.current.state a {
  background-position: -485px -1163px;
}

body.en #new_contract h2 {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1462px;
}

body.en #new_contract li.estimate a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1088px;
}

body.en #new_contract li.state a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1210px;
}

body.en #new_contract li:hover.estimate a,
body.en #new_contract li.current.estimate a {
  background-position: 0 -1149px;
}

body.en #new_contract li:hover.state a,
body.en #new_contract li.current.state a {
  background-position: 0 -1271px;
}

/*  side_contact
---------------------------------------- */
#side_contact {
  margin: 7px -4px 5px -3px;
}

#side_contact a {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 57px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  width: 177px;
  background-position: -485px -370px;
}

#side_contact a:hover {
  background-position: -485px -429px;
}

body.en #side_contact a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -354px;
}

body.en #side_contact a:hover {
  background-position: 0 -413px;
}

/*  side_news_topic
---------------------------------------- */
#side_news_topic h2,
#main_contents h2 {
  position: relative;
  line-height: 1.3;
  margin-bottom: 15px;
  padding: 12px 18px;
  border-bottom: solid 2px #11579e;
}

#side_news_topic h2::before,
#main_contents h2::before {
  background: url('/img/share/sprite.png') no-repeat 0 0;
  content: '';
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  width: 12px;
  height: 12px;
  background-position: 0 -1466px;
}

#side_news_topic {
  margin-top: 15px;
}

#side_news_topic h2 {
  margin: 0;
  font-size: 133%;
}

#side_news_topic li {
  padding: 12px 0;
  border-bottom: 1px solid #c2bfb5;
}

#side_news_topic a {
  display: block;
  position: relative;
  padding-right: 16px;
  text-decoration: none;
}

#side_news_topic a::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 17px;
  top: 50%;
  right: 0;
  margin-top: -7px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: -485px -904px;
}

#side_news_topic a:hover::after {
  background-position: -485px -961px;
}

#side_news_topic a span {
  display: block;
}

#side_news_topic a span.title {
  color: #06c;
}

#side_news_topic a:hover span.title {
  text-decoration: underline;
}

#side_news_topic a span.date {
  padding-top: 3px;
  color: #444;
  font-size: 92%;
}

/*  circuit_nav
---------------------------------------- */
#circuit_nav,
#side_users_admin {
  border-radius: 2px;
  padding: 4px;
  background: #0c539c;
}

#circuit_nav h2,
#side_users_admin h2 {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 31px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  position: relative;
  line-height: 27px;
  color: #fff;
  font-weight: bold;
  font-size: 125%;
  text-align: center;
}

#circuit_nav ul,
#side_users_admin ul {
  background: #e3eaf1;
}

#circuit_nav ul li,
#side_users_admin ul li {
  position: relative;
  border-top: dotted 1px #999;
}

#circuit_nav ul li::before,
#circuit_nav ul li::after,
#side_users_admin ul li::before,
#side_users_admin ul li::after {
  content: '';
  position: absolute;
  top: -1px;
  width: 10px;
  height: 1px;
  background: #e3eaf1;
}

#circuit_nav ul li::before,
#side_users_admin ul li::before {
  left: 0;
}

#circuit_nav ul li::after,
#side_users_admin ul li::after {
  right: 0;
}

#circuit_nav ul li li:first-child,
#side_users_admin ul li li:first-child {
  border: 0;
}

#circuit_nav ul li li:first-child::before,
#circuit_nav ul li li:first-child::after,
#side_users_admin ul li li:first-child::before,
#side_users_admin ul li li:first-child::after {
  display: none;
}

#circuit_nav > ul,
#side_users_admin > ul {
  background: #e3eaf1;
  font-size: 92%;
}

#circuit_nav > ul > li:first-child,
#side_users_admin > ul > li:first-child {
  border-top-color: #e3eaf1;
}

#circuit_nav > ul > li a,
#side_users_admin > ul > li a {
  display: block;
  position: relative;
  line-height: 1.45;
  padding: 15px 10px;
  text-decoration: none;
}

#circuit_nav > ul > li > a,
#side_users_admin > ul > li > a {
  padding-left: 40px;
}

#circuit_nav > ul > li > a::before,
#side_users_admin > ul > li > a::before {
  content: '';
  background: url('/img/share/sprite.png') no-repeat 0 0;
  position: absolute;
  top: 50%;
  left: 10px;
}

#circuit_nav > ul > li:hover > a,
#circuit_nav > ul > li.current > a,
#side_users_admin > ul > li:hover > a,
#side_users_admin > ul > li.current > a {
  background: #0c539c;
  color: #fff;
}

#circuit_nav > ul > li.current > a::after,
#side_users_admin > ul > li.current > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  z-index: 2;
  border: solid 7px transparent;
  border-left: solid 7px #0c539c;
  border-right: 0;
  margin-top: -7px;
  margin-left: 4px;
}

#circuit_nav li li ul,
#side_users_admin li ul {
  display: none;
  position: absolute;
  top: -4px;
  left: 100%;
  z-index: 3;
  width: 162px;
  border-radius: 2px;
  padding: 4px;
  background: #0c539c;
}

#circuit_nav li li ul::before,
#side_users_admin li ul::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  border: solid 7px transparent;
  border-left: solid 7px #0c539c;
  border-right: 0;
  margin-top: -7px;
  top: 30px;
  left: 4px;
}

#circuit_nav li li ul li,
#side_users_admin li ul li {
  background: #e3eaf1;
}

#circuit_nav li li ul li::before,
#side_users_admin li ul li::before {
  width: 20px;
}

#circuit_nav li li ul a,
#side_users_admin li ul a {
  padding-right: 10px;
  padding-left: 20px;
  color: black;
}

#circuit_nav li li ul li:hover a,
#circuit_nav li li ul li.current a,
#side_users_admin li ul li:hover a,
#side_users_admin li ul li.current a {
  background: #3084ca;
  color: #fff;
}

#circuit_nav li li:hover > ul,
#side_users_admin li:hover > ul {
  display: block;
}

#circuit_nav h2 {
  background-position: 0 -1974px;
}

#circuit_nav > ul > li.top > a::before {
  width: 19px;
  height: 20px;
  margin-top: -10px;
  background-position: 0 -1096px;
}

#circuit_nav > ul > li.service > a::before {
  width: 18px;
  height: 20px;
  margin-top: -10px;
  background-position: 0 -1054px;
}

#circuit_nav > ul > li.request > a::before {
  width: 20px;
  height: 24px;
  margin-top: -12px;
  background-position: 0 -1004px;
}

#circuit_nav > ul > li.data > a::before {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-position: 0 -604px;
}

#circuit_nav > ul > li.procedure > a::before {
  width: 20px;
  height: 16px;
  margin-top: -8px;
  background-position: 0 -916px;
}

#circuit_nav > ul > li.report > a::before {
  width: 12px;
  height: 26px;
  margin-top: -13px;
  background-position: 0 -950px;
}

#circuit_nav > ul > li.inquiry > a::before {
  width: 20px;
  height: 15px;
  margin-top: -7.5px;
  background-position: 0 -734px;
}

#circuit_nav > ul > li.d_current > a {
  background: #3084ca;
  color: #fff;
}

#circuit_nav > ul > li:hover.top > a::before,
#circuit_nav > ul > li.current.top > a::before {
  background-position: 0 -1117px;
}

#circuit_nav > ul > li:hover.service > a::before,
#circuit_nav > ul > li.current.service > a::before {
  background-position: 0 -1075px;
}

#circuit_nav > ul > li:hover.request > a::before,
#circuit_nav > ul > li.current.request > a::before {
  background-position: 0 -1029px;
}

#circuit_nav > ul > li:hover.data > a::before,
#circuit_nav > ul > li.current.data > a::before {
  background-position: 0 -625px;
}

#circuit_nav > ul > li:hover.procedure > a::before,
#circuit_nav > ul > li.current.procedure > a::before {
  background-position: 0 -933px;
}

#circuit_nav > ul > li:hover.report > a::before,
#circuit_nav > ul > li.current.report > a::before {
  background-position: 0 -977px;
}

#circuit_nav > ul > li:hover.inquiry > a::before,
#circuit_nav > ul > li.current.inquiry > a::before {
  background-position: 0 -750px;
}

#circuit_nav > ul > li.d_current > a::before {
  background-position: 0 -625px;
}

#circuit_nav > ul > li > ul {
  position: relative;
}

#circuit_nav > ul > li > ul > li > a {
  position: relative;
  padding: 15px 20px 15px 40px;
}

#circuit_nav > ul > li > ul > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 14px;
  left: 21px;
  width: 6px;
  height: 7px;
  border: solid 1px #000;
  border-top: 0;
  border-right: 0;
}

#circuit_nav > ul > li > ul > li:hover > a,
#circuit_nav > ul > li > ul > li.current > a {
  background: #0c539c;
  color: #fff;
}

#circuit_nav > ul > li > ul > li:hover > a::before,
#circuit_nav > ul > li > ul > li.current > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 14px;
  left: 21px;
  width: 6px;
  height: 7px;
  border: solid 1px #fff;
  border-top: 0;
  border-right: 0;
}

#circuit_nav > ul > li > ul > li:hover > a::after,
#circuit_nav > ul > li > ul > li.current > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 19px;
  right: -11px;
  border: solid 7px transparent;
  border-left: solid 7px #0c539c;
  border-right: 0;
}

body.en #circuit_nav h2 {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1429px;
}

/*  side_users_admin
---------------------------------------- */
#side_users_admin {
  margin-bottom: 10px;
}

#side_users_admin h2 {
  background-position: -485px -1258px;
}

#side_users_admin > ul > li > a::before {
  background-image: url('/img/share/sprite.png');
}

#side_users_admin > ul > li.user_setting > a::before {
  width: 19px;
  height: 24px;
  margin-top: -12px;
  background-position: -820px -866px;
}

#side_users_admin > ul > li.user_add > a::before {
  width: 25px;
  height: 23px;
  margin-top: -11.5px;
  background-position: -820px -224px;
}

#side_users_admin > ul > li.record > a::before {
  width: 25px;
  height: 24px;
  margin-top: -12px;
  background-position: -820px -270px;
}

#side_users_admin > ul > li.user_info > a::before {
  width: 27px;
  height: 28px;
  margin-top: -14px;
  background-position: -820px -315px;
}

#side_users_admin > ul > li.credential > a::before {
  width: 19px;
  height: 23px;
  margin-top: -11.5px;
  background-position: -820px -369px;
}

#side_users_admin > ul > li:hover.user_setting > a::before,
#side_users_admin > ul > li.current.user_setting > a::before {
  background-position: -820px -889px;
}

#side_users_admin > ul > li:hover.user_add > a::before,
#side_users_admin > ul > li.current.user_add > a::before {
  background-position: -820px -247px;
}

#side_users_admin > ul > li:hover.record > a::before,
#side_users_admin > ul > li.current.record > a::before {
  background-position: -820px -293px;
}

#side_users_admin > ul > li:hover.user_info > a::before,
#side_users_admin > ul > li.current.user_info > a::before {
  background-position: -820px -342px;
}

#side_users_admin > ul > li:hover.credential > a::before,
#side_users_admin > ul > li.current.credential > a::before {
  background-position: -820px -391px;
}

#side_users_admin li ul::after {
  display: none;
}

body.en #side_users_admin h2 {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -1496px;
}

/* ----------------------------------------
    main: main_contents
---------------------------------------- */
#main_contents {
  margin-left: 200px;

  /* font-size: 109%; */
}

#main_contents.no_side_navigation {
  margin: 0;
}

#main_contents h2 {
  font-size: 123%;
}

#main_contents .explanation {
  margin-bottom: 25px;
}

#main_contents label {
  margin-right: 25px;
}

#main_contents input[type='text'],
#main_contents input[type='password'],
#main_contents textarea,
#main_contents select {
  font-size: 92%;
}

#main_contents input[type='text'],
#main_contents input[type='password'],
#main_contents textarea {
  width: 48%;
  padding: 4px 1%;
}

#main_contents input[type='text'].half,
#main_contents input[type='password'].half,
#main_contents textarea.half {
  width: 48%;
}

#main_contents input[type='text'].full,
#main_contents input[type='password'].full,
#main_contents textarea.full {
  width: 97.5%;
}

#main_contents input[type='text'].size10,
#main_contents input[type='password'].size10,
#main_contents textarea.size10 {
  width: 8%;
}

#main_contents input[type='text'].size20,
#main_contents input[type='password'].size20,
#main_contents textarea.size20 {
  width: 18%;
}

#main_contents input[type='text'].size30,
#main_contents input[type='password'].size30,
#main_contents textarea.size30 {
  width: 28%;
}

#main_contents input[type='text'].size40,
#main_contents input[type='password'].size40,
#main_contents textarea.size40 {
  width: 38%;
}

#main_contents input[type='text'].size50,
#main_contents input[type='password'].size50,
#main_contents textarea.size50 {
  width: 48%;
}

#main_contents input[type='text'].size60,
#main_contents input[type='password'].size60,
#main_contents textarea.size60 {
  width: 58%;
}

#main_contents input[type='text'].size70,
#main_contents input[type='password'].size70,
#main_contents textarea.size70 {
  width: 68%;
}

#main_contents input[type='text'].size80,
#main_contents input[type='password'].size80,
#main_contents textarea.size80 {
  width: 78%;
}

#main_contents input[type='text'].size90,
#main_contents input[type='password'].size90,
#main_contents textarea.size90 {
  width: 88%;
}

#main_contents input[type='text'].size100,
#main_contents input[type='password'].size100,
#main_contents textarea.size100 {
  width: 97.5%;
}

#main_contents .left input[type='text'],
#main_contents .left input[type='password'],
#main_contents .left textarea,
#main_contents .right input[type='text'],
#main_contents .right input[type='password'],
#main_contents .right textarea {
  width: 58%;
}

#main_contents input.upfile.noplaceholder {
  color: #000 !important;
}

#main_contents textarea {
  min-height: 55px;
}

#main_contents select {
  padding: 4px 4px 4px 1%;
}

#main_contents option {
  padding: 0 6px;
  color: #000;
}

#main_contents option[value=''] {
  color: #888;
}

#main_contents input.placeholder,
#main_contents textarea.placeholder,
#main_contents select.placeholder {
  color: #888;
}

#main_contents input::placeholder,
#main_contents textarea::placeholder {
  color: #888;
}

#main_contents input[type='radio'],
#main_contents input[type='checkbox'] {
  margin-right: 5px;
  vertical-align: middle;
}

#main_contents .file_wrapper {
  display: block;
  position: absolute;
  top: 15px;
  left: 50%;
  z-index: 5;
  width: 65px;
  overflow: hidden;
  margin-left: 5px;
  opacity: 0;
}

.en #main_contents .file_wrapper {
  width: 70px;
}

#main_contents .file_wrapper:hover + a,
#main_contents .file_wrapper:hover + .btn {
  color: #0c539c;
}

#main_contents .file_wrapper input[type='file'] {
  display: block;
  position: relative;
  top: -4px;
  left: -5px;
  width: 100%;
  height: 37px;
  font-size: 50px;
}

#main_contents .attached_files {
  display: inline-block;
  position: relative;
  line-height: 28px;
  padding-left: 25px;
}

#main_contents .attached_files::before {
  background: url('/img/articles/news/bg-download.png') no-repeat 0 0;
  content: '';
  display: block;
  height: 22px;
  left: 0;
  position: absolute;
  width: 18px;
  top: 0;
}

#main_contents .attached_files:hover::before {
  background-position: 0 100%;
}

#main_contents tr.even {
  background-color: #f4f4f4;
}

#main_contents span.subscript {
  font-size: 85%;
}

/*  system div
---------------------------------------- */
#title_contents {
  padding-top: 17px;
}

#top_parts {
  margin-top: 15px;
}

#top_contents,
#middle_parts,
#bottom_contents,
#bottom_parts {
  margin-top: 30px;
}

#modal_top_parts,
#modal_middle_parts,
#modal_bottom_parts {
  margin-top: 20px;
}

/*  step
---------------------------------------- */
#step {
  margin-bottom: 15px;
}

#step ul,
#step li {
  position: relative;
}

#step ul::before,
#step ul::after,
#step li::before,
#step li::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  border: solid 20px transparent;
  border-left: solid 20px #e6e6e6;
  border-right: 0;
}

#step ul {
  overflow: hidden;
  background: #e6e6e6;
}

#step ul::before,
#step ul::after {
  z-index: 10;
}

#step ul::before {
  right: 0;
  width: 2.6%;
  height: 100%;
  border: 0;
  background: #fff;
}

#step ul::after {
  right: 2.6%;
  margin-right: -20px;
}

#step ul.current_last::after {
  border-left-color: #3084ca;
}

#step li {
  display: table;
  float: left;
  line-height: 1.2;
  margin-left: -8px;
  padding: 0 5px;
  border-left: 3px solid #fff;
  background: #e6e6e6;
  font-weight: bold;
  text-align: center;
}

#step li::before,
#step li::after {
  left: 100%;
  z-index: 1;
  margin-left: -8px;
}

#step li::before {
  border-left-color: #fff;
  margin-left: -5px;
}

#step.num_3 li {
  width: 32.6%;
}

#step.num_4 li {
  width: 24.3%;
}

#step.num_5 li {
  width: 19.3%;
}

#step.num_6 li {
  width: 16%;
}

#step.num_7 li {
  width: 13.6%;
}

#step li.current {
  color: #fff;
  background: #3084ca;
}

#step li.current::after {
  border-left-color: #3084ca;
}

#step span {
  display: table-cell;
  position: relative;
  z-index: 2;
  height: 40px;
  padding: 0 3px 0 15px;
  vertical-align: middle;
}

#step li:first-child span {
  padding-left: 8px;
}

#step li:last-child span {
  padding-right: 10px;
}

/*  main_contents: common
---------------------------------------- */
.required,
.error-message,
li.warning {
  color: #dd0020;
}

.error-message {
  margin-top: 10px;
}

.upfile_button,
a.normal_button,
a.link_button,
a.large_button,
a.blank_button,
a.download_button {
  display: inline-block;
  position: relative;
  color: #000;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
}

.upfile_button:hover,
a.normal_button:hover,
a.link_button:hover,
a.large_button:hover,
a.blank_button:hover,
a.download_button:hover {
  color: #0c539c;
}

.upfile_button::before,
.upfile_button::after,
a.normal_button::before,
a.normal_button::after,
a.link_button::before,
a.link_button::after,
a.large_button::before,
a.large_button::after,
a.blank_button::before,
a.blank_button::after,
a.download_button::before,
a.download_button::after {
  content: '';
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  z-index: 1;
}

.upfile_button + .upfile_button,
a.normal_button + a.normal_button,
a.link_button + a.link_button,
a.large_button + a.large_button,
a.blank_button + a.blank_button,
a.download_button + a.download_button {
  margin-left: 10px !important;
}

.upfile_button,
a.normal_button {
  height: 37px;
  line-height: 37px;
  margin: 0 8px 0 7px;
  padding: 0 10px;
  border: 0;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -227px;
}

.upfile_button::before,
a.normal_button::before {
  width: 7px;
  left: -7px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -257px;
}

.upfile_button::after,
a.normal_button::after {
  width: 8px;
  right: -8px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -314px;
}

a.link_button {
  line-height: 30px;
  margin: 0 30px 0 10px;
  padding: 0 5px 0 20px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 0;
}

a.link_button::before,
a.link_button::after {
  background: url('/img/share/sprite.png') no-repeat;
}

a.link_button::before {
  width: 10px;
  left: -5px;
  background-position: -1076px -2376px;
}

a.link_button::after {
  width: 30px;
  right: -30px;
  background-position: -1076px -2456px;
}

a.link_button:hover::after {
  background-position: -1076px -2662px;
}

a.large_button {
  line-height: 52px;
  margin: 0 32px 0 28px;
  padding: 0 10px 0 5px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -284px;
}

a.large_button::before {
  width: 28px;
  left: -28px;
  background: url('/img/share/sprite.png') no-repeat 0 -326px;
}

a.large_button::after {
  width: 32px;
  right: -32px;
  background: url('/img/share/sprite.png') no-repeat 0 -2068px;
}

a.large_button .form_table_help::before,
a.large_button .form_table_help::after {
  background-color: #fff;
}

a.large_button:hover::after {
  background-position: 0 -2119px;
}

a.blank_button {
  line-height: 37px;
  margin: 0 7px 0 29px;
  padding: 0 5px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -170px;
}

a.blank_button::before {
  width: 29px;
  left: -29px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px 0;
}

a.blank_button::after {
  width: 7px;
  right: -7px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -114px;
}

a.blank_button:hover::before {
  background-position: -1076px -57px;
}

a.download_button {
  height: 41px;
  line-height: 41px;
  margin-left: 48px;
  margin-right: 27px;
  padding: 0 5px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x 0 -510px;
}

a.download_button::before,
a.download_button::after {
  background: url('/img/circuit_number/serviceOrders/bg-upc_1111.png') no-repeat;
}

a.download_button::before {
  left: -48px;
  width: 48px;
  background-position: 0 -224px;
}

a.download_button:hover::before {
  background-position: 0 -281px;
}

a.download_button::after {
  right: -27px;
  width: 27px;
  background-position: 0 -336px;
}

a.download_button span {
  color: #0c539c;
  font-size: 109%;
}

.button_search p {
  text-align: center;
  background: #e3eaf1;
}

.button_search a {
  display: inline-block;
  line-height: 50px;
  position: relative;
  padding: 0 58px 0 15px;
  text-decoration: none;
  color: #000;
  font-size: 125%;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -50px;
}

.button_search a:hover {
  color: #06c;
}

.button_search a::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -5px;
  width: 5px;
  height: 50px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -834px;
}

.button_search a::before {
  content: '';
  display: block;
  position: absolute;
  top: -1px;
  left: -73px;
  width: 75px;
  height: 52px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -2711px;
}

.button_search a:hover::before {
  background-position: -1076px -2811px;
}

.button_search_input {
  border: solid 1px #ccc;
  padding: 12px 50px;
  font-size: 125%;
  border-radius: 3px;
  text-align: center;
  color: #000;
  background-color: #fff;
  background-image: linear-gradient(to bottom, #fff 0%, #ddd 100%);
}

.link_button_large {
  display: inline-block;
  height: auto;
  margin: 3px 3px 0 0;
  padding: 0;
  color: #444;
  border: 1px solid #cdcdcd;
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 0 3px rgb(4 0 0 / 20%);
}

.link_button_large span {
  display: block;
  position: relative;
  height: auto;
  border: 1px solid #fff;
  border-radius: 4px;
  overflow: hidden;
  padding: 11px 20px 10px 30px;
  text-decoration: none;
  background-color: #feffff;
  background-image: linear-gradient(to bottom, #feffff 0%, #ececec 100%);
}

.link_button_large span::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 17px;
  margin-top: -2px;
  margin-left: 6px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: -485px -904px;
  vertical-align: middle;
}

.link_button_large:hover {
  color: #0c539c;
}

.link_button_large:hover span::after {
  background-position: -485px -961px;
}

.form_table {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 2px;
  background: #e3eaf1;
}

.form_table ~ .form_table,
.form_btn + .form_table {
  margin-top: 30px;
}

.form_table.only_table {
  padding: 0;
  border-radius: 0;
  background: none;
}

.form_table .more_link {
  position: absolute;
  top: 0;
  right: 0;
}

.form_table h3 {
  position: relative;
  line-height: 1.3;
  margin-bottom: 15px;
  padding: 0 18px 10px;
  border-bottom: solid 2px #3084ca;
  font-size: 123%;
}

.form_table h3::before {
  content: '';
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
  width: 11px;
  height: 3px;
  border-radius: 1px;
  background: #3084ca;
}

.form_table h3.user_add {
  position: relative;
}

.form_table h3.user_add span {
  display: block;
  position: absolute;
  width: 196px;
  height: 36px;
  top: -17px;
  right: 0;
}

.form_table h3.user_add a {
  display: block;
  width: 170px;
  height: 36px;
  padding-left: 26px;
  line-height: 36px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -820px -1805px;
  color: #000;
  font-size: 75%;
  text-decoration: none;
  font-weight: normal;
}

.form_table h3.user_add a:hover {
  background-position: -820px -1847px;
  color: #165ba0;
}

.form_table.custom h4 {
  position: relative;
  top: 30px;
  clear: both;
  line-height: 1.3;
  margin: 0 0 45px -13px;
  padding: 10px 33px;
  border-radius: 2px;
  background: #fff;
  font-weight: normal;
  font-size: 107%;
}

.form_table.custom h4::before {
  content: '';
  display: block;
  position: absolute;
  top: 17px;
  left: 15px;
  width: 11px;
  height: 3px;
  border-radius: 1px;
  background: #3084ca;
}

.form_table.custom h3 + h4 {
  top: 15px;
  margin: 0 0 30px;
}

.form_table dl {
  box-sizing: border-box;
  overflow: hidden;
  padding-left: 13px;
}

.form_table dl.left,
.form_table dl.right {
  border-bottom: dotted 1px #999;
}

.form_table dl.column-left,
.form_table dl.column-right {
  border-top: dotted 1px #999;
}

.form_table h3 + .column-left,
.form_table h3 + .column-left + .column-right {
  border-top: 0;
}

.form_table .left,
.form_table .right,
.form_table .column-left,
.form_table .column-right {
  width: 48%;
}

.form_table .column-left,
.form_table .column-right {
  position: relative;
}

.form_table .column-left.full_width,
.form_table .column-right.full_width {
  width: 50%;
}

.form_table .left,
.form_table .column-left {
  clear: both;
  float: left;
}

.form_table .right,
.form_table .column-right {
  float: right;
}

.form_table .column-right + .column-right {
  clear: both;
}

.form_table dt,
.form_table dd {
  position: relative;
  margin-top: -1px;
  padding: 15px 0;
  border-top: dotted 1px #999;
}

.form_table dt {
  clear: both;
  float: left;
  width: 30%;
}

.form_table dt::before {
  content: '';
  display: block;
  position: absolute;
  top: -1px;
  left: -14px;
  width: 13px;
  border-top: dotted 1px #999;
}

.form_table dt::after {
  content: '';
  display: block;
  position: absolute;
  top: 20px;
  left: -13px;
  width: 3px;
  height: 11px;
  border-radius: 1px;
  background: #3084ca;
}

.form_table dl.left ~ dl.left dt::before,
.form_table dl.right ~ dl.right dt::before {
  display: none;
}

.form_table dd + dd {
  margin-left: 0;
}

.form_table dd div {
  margin-top: 5px;
}

.form_table dd div:first-of-type {
  margin: 0;
}

.form_table dd label span {
  display: inline-block;
  width: 62px;
}

.form_table dt + dd {
  margin-left: 30%;
}

.form_table dl.single dt,
.form_table dl.single dd {
  line-height: 36px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

.form_table .column-full dt {
  width: 14%;
}

.form_table .column-full dd {
  margin-left: 10%;
}

.form_table dl.single dt::after {
  top: 13px;
}

#main_contents .form_table dl.single .file_wrapper {
  top: 0;
  width: 125px;
}

.form_table ul.vertical li {
  margin-top: 5px;
}

.form_table ul.vertical li:first-child {
  margin: 0;
}

.form_table .button_search {
  clear: both;
  text-align: center;
  padding-top: 15px;
}

.form_table .notice,
.form_table .password_explain {
  color: #666;
  font-size: 84.5%;
}

.form_table .caution {
  font-size: 84.5%;
}

.form_table .caution + div {
  margin-top: 5px;
}

.form_table p.notice,
.form_table p.caution {
  margin-top: 10px;
}

.form_table input + p.notice,
.form_table textarea + p.notice,
.form_table button + p.notice,
.form_table select + p.notice,
.form_table span + p.notice,
.form_table p.error + p.notice {
  margin-top: 3px;
}

.form_table .error-message {
  margin-top: 5px;
  color: #dd0020;
}

.form_table .notify {
  border-top: dotted 1px #999;
}

.form_table .notify .notify_in {
  overflow: hidden;
  margin-top: 30px;
  padding: 3%;
  border-radius: 2px;
  background: #fff;
  font-size: 92%;
  color: #666;
}

.form_table .notify dl {
  margin: 15px 0;
}

.form_table .notify dt,
.form_table .notify dd {
  margin: 0;
  padding: 0;
  border: 0;
}

.form_table .notify dt {
  width: 5%;
}

.form_table .notify dt::before,
.form_table .notify dt::after {
  display: none;
}

.en .form_table .notify dt {
  float: none;
  width: auto;
}

.form_table .notify dd {
  margin-left: 5%;
}

.en .form_table .notify dd {
  margin-left: 1em;
}

.form_table dd.error input,
.form_table dd.error textarea,
.form_table dd.error select {
  border: 1px solid #dd0020;
}

.form_table dd.error .error,
.form_table dd.error label {
  color: #dd0020;
}

.form_table dd.error .error {
  display: block;
  margin-top: 3px;
  font-size: 84.5%;
}

.form_table a.custom {
  margin-left: 10px;
  width: 162px;
  height: 33px;
  display: inline-block;
  text-decoration: none;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -171px;
  font-size: 92%;
  color: #000;
  text-align: center;
  line-height: 33px;
  padding-left: 5px;
}

.form_table a.custom:hover {
  background-position: -1076px -204px;
  color: #165ba0;
}

.form_table table {
  width: 100%;
  border: 1px solid #d6d6d6;
  background: #fff;
  font-size: 100%;
  text-align: center;
}

.form_table h3 + table {
  margin-top: 30px;
}

.form_table td,
.form_table th {
  padding: 0 3%;
  border: 1px solid #d6d6d6;
}

.form_table thead {
  font-size: 109%;
}

.form_table thead td,
.form_table thead th {
  background: #549dd9;
  color: #fff;
}

.form_table table.num_3 td,
.form_table table.num_3 th {
  width: 20%;
}

.form_table table.num_3 th {
  padding: 13px 3%;
}

.form_table table.num_3 td {
  padding: 0;
}

.form_table th {
  padding: 0 0 0 3%;
  font-weight: normal;
}

.form_table a.check {
  text-decoration: underline;
  color: #06c;
  cursor: pointer;
  margin: 0;
  padding: 0;
}

.form_table a.yes,
.form_table a.no,
.form_table p.yes,
.form_table p.no {
  display: block;
  position: relative;
  height: 46px;
  color: rgb(0 0 0 / 0%);
}

.form_table a.yes::before,
.form_table a.no::before,
.form_table p.yes::before,
.form_table p.no::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  margin-left: -8px;
  background: url('/img/share/sprite.png') no-repeat center center;
}

.form_table a.yes,
.form_table a.no {
  float: left;
  width: 49.9%;
}

.form_table a.yes::before {
  background-position: -820px -2450px;
}

.form_table a.yes:hover::before,
.form_table a.yes.active::before,
.form_table p.yes::before {
  background-position: -820px -2480px;
}

.form_table a.no,
.form_table p.no {
  margin-left: -1px;
  border-left: solid 1px rgb(0 0 0 / 7%);
}

.form_table a.no::before {
  background-position: -820px -2510px;
}

.form_table a.no:hover::before,
.form_table a.no.active::before,
.form_table p.no::before {
  background-position: -820px -2540px;
}

.form_table .selected {
  background: #fcffd5;
}

.form_table ul.notice_list {
  margin-top: 25px;
  list-style: none;
  text-align: left;
  font-size: 84.5%;
  color: #666;
}

.form_table ul.notice_list li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

.form_table ul.notice_list span.num {
  padding-right: 10px;
}

.form_table table.table_notify {
  border: 1px solid #d6d6d6;
  width: 100%;
  font-size: 92%;
  text-align: center;
  border-collapse: collapse;
  background: #fff;
}

.form_table table.table_notify thead td,
.form_table table.table_notify thead th {
  background: #549dd9;
  color: #fff;
  border: 1px solid #3085cb;
}

.form_table table.table_notify th {
  padding: 6px 0 6px 3%;
  width: 33%;
  font-weight: normal;
  border: 1px solid #d6d6d6;
}

.form_table table.table_notify td span.first {
  display: block;
}

.form_table table.table_notify thead {
  font-size: 100%;
}

.form_table table.table_notify thead td {
  padding: 0;
}

.form_table table.table_notify tbody td {
  width: 12%;
  padding: 0;
  border: 1px solid #d6d6d6;
}

.form_table table.table_notify tbody tr.all th,
.form_table table.table_notify tbody tr.all td {
  background: #549dd9;
  border: 1px solid #3085cb;
}

.form_table table.table_notify tbody tr.all th {
  padding-left: 0;
}

.form_table table.table_notify tbody tr.all th span {
  line-height: 27px;
  border-left: 10px solid #549dd9;
  padding-left: 3%;
}

.form_table table.table_notify tbody tr.all span {
  display: block;
  overflow: hidden;
  background: #fff;
  margin: 5px 0;
}

.form_table table.table_notify tbody tr.all span.last {
  border-right: 10px solid #549dd9;
}

.form_table table.table_notify tbody tr.all span a.yes,
.form_table table.table_notify tbody tr.all span a.no {
  height: 27px;
}

.form_table table.table_notify tbody tr.all .edge .no {
  position: relative;
}

.form_table table.table_notify tbody tr.all .edge .no::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 9px;
  height: 100%;
  background: #549dd9;
}

.form_table h3 ~ h3 {
  margin-top: 30px;
}

.form_table .feeting_btn {
  text-align: center;
  margin-bottom: 30px;
}

.form_table .feeting_btn::after,
.form_table .feeting_btn ul::after {
  content: '.';
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}

.form_table .feeting_btn ul.number {
  float: left;
  width: 331px;
}

.form_table .feeting_btn ul.read {
  float: right;
  width: 331px;
}

.form_table .feeting_btn ul li {
  float: left;
  display: inline-block;
}

.form_table .feeting_btn ul li.on a,
.form_table .feeting_btn ul li.can a {
  color: #888;
  display: block;
  height: 46px;
  line-height: 46px;
  text-decoration: none;
  width: 189px;
  z-index: 1;
  top: 0;
  left: 0;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -820px -2286px;
}

.form_table .feeting_btn ul li.can a span {
  padding-left: 15px;
}

.form_table .feeting_btn ul li.on a:hover,
.form_table .feeting_btn ul li.can a:hover,
.form_table .feeting_btn ul li.on a.current,
.form_table .feeting_btn ul li.can a.current {
  background-position: -820px -2240px;
}

.form_table .feeting_btn ul li.off a,
.form_table .feeting_btn ul li.not a {
  display: block;
  height: 46px;
  line-height: 48px;
  text-decoration: none;
  width: 142px;
  z-index: 1;
  top: 0;
  right: 0;
  color: #888;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -820px -2386px;
}

.form_table .feeting_btn ul li.off a:hover,
.form_table .feeting_btn ul li.not a:hover,
.form_table .feeting_btn ul li.off a.current,
.form_table .feeting_btn ul li.not a.current {
  background-position: -820px -2340px;
}

.form_table .feeting_btn ul li a:hover,
.form_table .feeting_btn ul li a.current {
  color: #000;
  text-align: center;
}

body.en .form_table .feeting_btn ul.read {
  width: auto;
}

body.en .form_table .feeting_btn ul.read li.can a {
  position: relative;
  width: auto;
  max-width: 279px;
  min-width: 189px;
  height: 38px;
  line-height: 1.3;
  margin: 0 8px;
  padding-top: 8px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -565px;
}

body.en .form_table .feeting_btn ul.read li.can a::before,
body.en .form_table .feeting_btn ul.read li.can a::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 8px;
  height: 100%;
  background: url('/img/share/sprite.png') no-repeat;
}

body.en .form_table .feeting_btn ul.read li.can a::before {
  left: -8px;
  background-position: -820px -2286px;
}

body.en .form_table .feeting_btn ul.read li.can a::after {
  right: -8px;
  background-position: -1001px -2286px;
}

body.en .form_table .feeting_btn ul.read li.can a span {
  padding: 0 25px;
}

.form_table .user_id {
  font-size: 134%;
  font-weight: bold;
  position: relative;
  padding-left: 31px;
}

.form_table .user_id::before {
  background: url('/img/share/sprite.png') no-repeat;
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 19px;
  background-position: -820px -414px;
}

.form_table .custom p.txt {
  margin: 0 0 25px -13px;
}

.form_table hr {
  display: block;
  height: 0;
  margin: 30px 0 30px -13px;
  border: 0;
  border-top: solid 1px #999;
}

.form_table hr.dot {
  border-top-style: dotted;
}

.form_table .column-left hr,
.form_table .column-right hr {
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  margin: 0;
}

.form_table .full_width {
  margin: 30px 0 10px;
}

.form_btn {
  margin-top: 27px;
  text-align: center;
}

.form_btn li {
  display: inline-block;
  vertical-align: top;
}

.form_btn li a {
  display: block;
  position: relative;
  height: 52px;
  line-height: 52px;
  padding-right: 60px;
  padding-left: 60px;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -284px;
  text-decoration: none;
}

.form_btn li a.disabled {
  background-position: 0 -356px;
  color: #444;
  cursor: default;
}

.form_btn li a::before,
.form_btn li a::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  z-index: 1;
  height: 100%;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-color: #fff;
}

.form_btn li a::before {
  left: 0;
}

.form_btn li a::after {
  right: 0;
}

.form_btn .back a {
  color: #444;
}

.form_btn .back a::before {
  width: 32px;
  background-position: 0 0;
}

.form_btn .back a::after {
  width: 32px;
  background-position: 0 -106px;
}

.form_btn .back a:hover::before {
  background-position: 0 -53px;
}

.form_btn .next {
  margin-left: 1.71%;
}

.form_btn .next a {
  border: 0;
  color: #e04b00;
  font-size: 116%;
  cursor: pointer;
}

.form_btn .next a::before {
  width: 28px;
  background-position: 0 -326px;
}

.form_btn .next a::after {
  width: 29px;
  background-position: 0 -1743px;
}

.form_btn .next a:hover::after {
  background-position: 0 -1796px;
}

.form_btn .next a.disabled::before {
  background-position: -485px -1300px;
}

.form_btn .next a.disabled::after {
  background-position: -485px -1360px;
}

.form_btn .next a.disabled:hover::after {
  background-position: -485px -1360px;
}

.button_top {
  margin: 30px 0;
  text-align: right;
}

.button_top li {
  display: inline-block;
  vertical-align: top;
}

.c_input_explain {
  width: 100%;
  margin-top: 30px;
  color: #444;
  text-align: center;
}

.link_area {
  margin-top: 30px;
  padding-bottom: 25px;
  border: 2px solid #0c539c;
  border-radius: 3px;
}

.link_area h3 {
  background: #e3eaf1;
  padding: 10px 30px;
  font-weight: normal;
  font-size: 115%;
}

.link_area ul {
  padding: 5px 30px 0;
}

.link_area li {
  padding: 10px 0;
  border-bottom: 1px dotted #999;
}

.link_area ul.column_2 {
  margin-left: -3%;
  overflow: hidden;
}

.link_area ul.column_2 li {
  float: left;
  width: 44%;
  margin-left: 5%;
  border-bottom: 1px dotted #999;
}

.link_area p {
  position: relative;
}

.link_area a {
  display: block;
  padding-right: 12px;
  text-decoration: none;
}

.link_area a:hover {
  text-decoration: underline;
}

.link_area a::after {
  background: url('/img/articles/news/bg-list.png') no-repeat 0 0;
  content: '';
  display: block;
  height: 13px;
  position: absolute;
  width: 8px;
  right: 2px;
  top: 5px;
}

.link_area a:hover::after {
  background-position: 0 100%;
  right: 0;
}

.link_area li.blank a::before {
  background: url('/img/articles/news/bg-ico_link.jpg') no-repeat 0 0;
  content: '';
  display: inline-block;
  height: 12px;
  width: 14px;
  margin-top: -2px;
  margin-right: 5px;
  vertical-align: middle;
}

.d_table_num7 {
  width: 100%;
  margin-bottom: 15px;
  border-bottom: 1px solid #d6d6d6;
  border-right: 1px solid #d6d6d6;
}

.d_table_num7 thead {
  background: #549dd9;
  color: #fff;
  font-size: 92%;
}

.d_table_num7 tbody {
  font-size: 92%;
  background: #fff;
}

.d_table_num7 tr td {
  width: 14.2%;
  padding: 10px 0;
  text-align: center;
  border: 0;
  border-top: 1px solid #d6d6d6;
  border-left: 1px solid #d6d6d6;
}

.d_table_num7 thead tr td {
  border-left-color: #3085cb;
}

.d_table_num7 thead tr td:first-child {
  border-left-color: #d6d6d6;
}

.d_table_num7.confirm tr td {
  text-align: left;
  padding-left: 1%;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.d_table_num8 {
  width: 100%;
  margin-bottom: 15px;
  border-bottom: 1px solid #d6d6d6;
  border-right: 1px solid #d6d6d6;
}

.d_table_num8 thead {
  background: #549dd9;
  color: #fff;
  font-size: 92%;
}

.d_table_num8 tbody {
  font-size: 92%;
  background: #fff;
}

.d_table_num8 tr td {
  width: 12.5%;
  padding: 10px 0;
  text-align: center;
  border: 0;
  border-top: 1px solid #d6d6d6;
  border-left: 1px solid #d6d6d6;
}

.d_table_num8 thead tr td {
  border-left-color: #3085cb;
}

.d_table_num8 thead tr td:first-child {
  border-left-color: #d6d6d6;
}

.d_table_num8.confirm tr td {
  text-align: left;
  padding-left: 1%;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.link_list {
  border: 2px solid #0c539c;
  border-radius: 2px;
}

.link_list ul,
.link_list dl {
  overflow: hidden;
  padding: 0 28px;
}

.link_list h3 {
  padding: 10px 20px;
  background: #e3eaf1;
}

.link_list li a {
  padding: 15px 0;
}

.link_list dt a,
.link_list dd {
  padding: 25px 0;
}

.link_list li {
  margin-top: -1px;
  border-top: dotted 1px #999;
}

.link_list a {
  display: inline-block;
  position: relative;
  z-index: 1;
  width: 100%;
  text-decoration: none;
}

.link_list li a::after,
.link_list dt a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  width: 14px;
  height: 17px;
  margin-top: -10px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: -485px -904px;
}

.link_list li a:hover::after,
.link_list dt a:hover::after {
  background-position: -485px -961px;
}

.link_list dt {
  padding: 0;
}

.link_list dt::before {
  display: none;
}

.link_list dt::after {
  top: 30px;
}

.link_list dt a {
  padding-right: 233.3333%;
}

.link_list dt a::before {
  content: '';
  display: inline-block;
  width: 13px;
  height: 1em;
}

.link_list dt a:hover {
  text-decoration: underline;
}

#top_help_view {
  margin-top: 20px;
}

/*  result
---------------------------------------- */
#result {
  border: 1px solid #e5e5e5;
  margin-top: 20px;
  overflow: hidden;
}

#result table {
  width: 100%;
}

#result table thead tr,
#result table tfoot tr {
  background-color: #e6e6e6;
}

#result table thead th a.mark,
#result table thead th a.markon,
#result table tfoot th a.mark,
#result table tfoot th a.markon {
  position: relative;
}

#result table thead th a.mark::before,
#result table thead th a.markon::before,
#result table tfoot th a.mark::before,
#result table tfoot th a.markon::before {
  content: '';
  display: block;
  position: absolute;
  top: 6px;
  left: -15px;
  width: 10px;
  height: 8px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
}

#result table thead th a.mark::before,
#result table tfoot th a.mark::before {
  background-position: -485px -894px;
}

#result table thead th a.markon::before,
#result table tfoot th a.markon::before {
  background-position: -485px -884px;
}

#result table thead th[colspan],
#result table tfoot th[colspan] {
  text-align: center;
}

#result table thead tr ~ tr th:first-child,
#result table thead tr ~ tr td:first-child,
#result table tfoot tr ~ tr th:first-child,
#result table tfoot tr ~ tr td:first-child {
  padding-left: 15px;
}

#result table th,
#result table td {
  padding: 15px;
}

#result table th:first-child,
#result table th.checkbox + *,
#result table td:first-child,
#result table td.checkbox + * {
  padding-left: 30px;
}

#result table td {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

#result table td.update {
  -ms-word-break: normal;
  word-break: normal;
}

#result table a.link_button {
  margin: 0 18px 0 5px;
  padding-left: 10px;
}

#result table a.link_button::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -18px;
  width: 18px;
  height: 30px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1286px -817px;
}

#result table a.link_button:hover::after {
  background-position: -1286px -1229px;
}

#result .result_top,
#result .result_bottom {
  overflow: hidden;
  padding: 10px 25px 10px 30px;
}

#result .result_button {
  float: left;
  margin: 5px 0;
  line-height: 34px;
}

#result .result_button h3 {
  display: inline-block;
  font-size: 134%;
  padding-right: 10px;
}

#result .result_button a {
  display: inline-block;
  margin-left: 30px;
  color: #000;
  text-decoration: none;
  padding: 0 10px;
  font-size: 109%;
  position: relative;
  background: url('/img/share/sprite_btn_repeat.png') repeat-x;
  background-position: 0 -120px;
  line-height: 30px;
}

#result .result_button a:hover {
  color: #06c;
}

#result .result_button a::before {
  content: '';
  display: block;
  position: absolute;
  top: -1px;
  left: -25px;
  width: 26px;
  height: 33px;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -2013px;
}

#result .result_button a:hover::before {
  background-position: -1286px -996px;
}

#result .result_button a::after {
  content: '';
  display: block;
  position: absolute;
  top: -2px;
  right: -19px;
  width: 22px;
  height: 100%;
  background: url('/img/share/sprite.png') no-repeat;
  background-position: -1076px -2172px;
}

#result .result_button .notice_red {
  display: inline-block;
  color: #dd0020;
  line-height: 150%;
  padding-left: 20px;
  width: 700px;
}

#result .result_button .qrcode_note {
  display: inline-block;
  line-height: 150%;
  margin-left: 20px;
  width: 500px;
}

.pagination {
  float: right;
  margin-top: 5px;
}

.pagination span {
  margin-top: 7px;
  float: left;
  margin-right: 5px;
}

.pagination ul {
  overflow: hidden;
  float: left;
}

.pagination li {
  float: left;
  padding: 5px;
}

.pagination a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #000;
  width: 26px;
  height: 22px;
  padding-top: 4px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: -485px -28px;
}

.pagination a:hover,
.pagination a.active {
  color: #fff;
  background-position: -485px 0;
}

.pagination li.next a {
  background-position: -485px -56px;
  text-indent: 999px;
}

.pagination li.next a:hover {
  background-position: -485px -84px;
}

.pagination li.prev a {
  background-position: -485px -112px;
  text-indent: 999px;
}

.pagination li.prev a:hover {
  background-position: -485px -140px;
}

/*  service_info
---------------------------------------- */
#service_info {
  margin-bottom: 10px;
}

#service_info table,
#service_info td {
  width: 100%;
  border: 1px solid #c6c6c6;
  padding: 15px;
  background: #fff !important;
}

#service_info table {
  margin-bottom: 15px;
}

#service_info dl {
  overflow: hidden;
}

#service_info dt {
  float: left;
  width: 20%;
}

#service_info dd {
  float: right;
  width: 80%;
}

#service_info dd::before {
  content: '：';
}

/*  form_complete
---------------------------------------- */
#form_complete,
#form_error {
  width: 600px;
  max-height: 700px;
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  margin-left: -304px;
  overflow: hidden auto;
  background: #fff;
  z-index: 10000;
  border: 4px solid #0d539b;
  border-radius: 6px;
}

#form_complete #c_sub_main,
#form_error #c_sub_main {
  width: 450px;
  margin: auto;
  padding: 30px 0;
}

#c_sub_main p.input_explain {
  margin-bottom: 10px;
}

.ico_exit {
  text-align: center;
  position: absolute;
  right: 15px;
  top: 15px;
}

.ico_exit a {
  background: url('/img/login/ico-exit.jpg') 0 100% no-repeat;
  width: 18px;
  height: 18px;
  display: block;
  text-indent: 9999px;
}

.ico_exit a:hover {
  background-position: 0 0;
}

.ico_exit_bottom {
  text-align: center;
  position: absolute;
  right: -45px;
  bottom: 10px;
}

.ico_exit_bottom a {
  background: url('/img/login/ico-exit.jpg') 0 100% no-repeat;
  width: 18px;
  height: 18px;
  display: block;
  text-indent: 9999px;
}

.ico_exit_bottom a:hover {
  background-position: 0 0;
}

#mask {
  display: none;
  background: #000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.65;
  z-index: 9999;
}

/* ----------------------------------------
    footer
---------------------------------------- */
#footer {
  position: relative;
  background: #e3eaf1;
}

#footer::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #0c539c;
}

/*  footer_btn
---------------------------------------- */
#footer_btn {
  padding-top: 27px;
  padding-bottom: 24px;
  text-align: center;
}

#footer_btn ul {
  overflow: hidden;
  margin: 0 -4px 0 -3px;
}

#footer_btn li {
  display: inline-block;
  vertical-align: top;
}

#footer_btn li a {
  width: 483px;
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 42px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
}

#footer_btn li ~ li {
  margin-left: 1.71%;
}

#footer_btn .home a {
  background-position: 0 -1348px;
}

#footer_btn .home a:hover {
  background-position: 0 -1391px;
}

#footer_btn .corporate a {
  background-position: 0 -1262px;
}

#footer_btn .corporate a:hover {
  background-position: 0 -1305px;
}

#footer_btn .num_3 a {
  width: 315px;
}

#footer_btn .num_3 .entrance a {
  background-position: -485px -576px;
}

#footer_btn .num_3 .entrance a:hover {
  background-position: -485px -620px;
}

#footer_btn .num_3 .entrance.staff a {
  background-position: -485px -664px;
}

#footer_btn .num_3 .entrance.staff a:hover {
  background-position: -485px -708px;
}

#footer_btn .num_3 .home a {
  background-position: -485px -752px;
}

#footer_btn .num_3 .home a:hover {
  background-position: -485px -796px;
}

#footer_btn .num_3 .corporate {
  margin-left: 1.71%;
}

#footer_btn .num_3 .corporate a {
  background-position: -485px -488px;
}

#footer_btn .num_3 .corporate a:hover {
  background-position: -485px -532px;
}

body.en #footer #footer_btn li a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 0;
}

body.en #footer #footer_btn .home a {
  background-position: 0 -1000px;
}

body.en #footer #footer_btn .home a:hover {
  background-position: 0 -1044px;
}

body.en #footer #footer_btn .corporate a {
  background-position: 0 -912px;
}

body.en #footer #footer_btn .corporate a:hover {
  background-position: 0 -956px;
}

body.en #footer #footer_btn .num_3 .entrance a {
  background-position: 0 -560px;
}

body.en #footer #footer_btn .num_3 .entrance a:hover {
  background-position: 0 -604px;
}

body.en #footer #footer_btn .num_3 .entrance.staff a {
  background-position: 0 -648px;
}

body.en #footer #footer_btn .num_3 .entrance.staff a:hover {
  background-position: 0 -692px;
}

body.en #footer #footer_btn .num_3 .home a {
  background-position: 0 -736px;
}

body.en #footer #footer_btn .num_3 .home a:hover {
  background-position: 0 -780px;
}

body.en #footer #footer_btn .num_3 .corporate {
  margin-left: 1.71%;
}

body.en #footer #footer_btn .num_3 .corporate a {
  background-position: 0 -472px;
}

body.en #footer #footer_btn .num_3 .corporate a:hover {
  background-position: 0 -516px;
}

/*  footer_nav
---------------------------------------- */
#footer_nav dl {
  float: left;
  width: 14.28%;
  line-height: 1.33;
  margin-left: 2.85%;
}

#footer_nav dl:first-child {
  margin-left: 0;
}

#footer_nav dt {
  border-bottom: solid 2px #0c539c;
  color: #0c539c;
  font-weight: bold;
}

body.en #footer_nav dt {
  min-height: 40px;
}

#footer_nav dd a {
  display: block;
  position: relative;
  padding: 15px 20px 15px 0;
  border-bottom: dotted 1px #ababab;
  color: #444;
  text-decoration: none;
}

#footer_nav dd a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 15px;
  height: 15px;
  margin-top: -8px;
  background: url('/img/share/sprite.png') no-repeat 0 0;
  background-position: 0 -1434px;
}

#footer_nav dd a:hover {
  text-decoration: underline;
}

#footer_nav dd a:hover::after {
  background-position: 0 -1450px;
}

#footer_nav dd span {
  display: block;
  margin-top: 5px;
  font-size: 92%;
}

#footer_nav dd span::before {
  content: '-';
  margin-right: 3px;
}

#footer_nav dd span ~ span {
  margin: 0;
}

#footer_nav > .nav {
  overflow: hidden;
  margin-bottom: 30px;
}

#footer_nav > .nav dt {
  padding-bottom: 7px;
  font-size: 125%;
}

/*  footer_circuit_current
---------------------------------------- */
#footer_circuit_current {
  clear: both;
  margin-bottom: 30px;
  padding: 30px;
  border-radius: 2px;
  background: #fff;
}

#footer_circuit_current h2 {
  color: #0c539c;
  font-weight: bold;
  font-size: 134%;
  text-align: center;
}

#footer_circuit_current .btn {
  margin: 8px 0 16px;
  text-align: center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

#footer_circuit_current .btn a {
  height: 0;
  overflow: hidden;
  padding-top: 42px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  display: inline-block;
  width: 296px;
  background-position: 0 -1176px;
  border: 0;
  border-radius: 0;
}

#footer_circuit_current .btn a:hover {
  background-position: 0 -1219px;
}

#footer_circuit_current .nav {
  overflow: hidden;
}

#footer_circuit_current dt {
  min-height: 38px;
  padding-bottom: 2px;
}

body.en #footer_circuit_current .btn a {
  background-image: url('/img/share/en/sprite_en.png');
  background-position: 0 -824px;
}

body.en #footer_circuit_current .btn a:hover {
  background-position: 0 -868px;
}

/*  copyright
---------------------------------------- */
#copyright {
  position: relative;
  z-index: 1;
  line-height: 40px;
  color: #fff;
  font-size: 92%;
  text-align: center;
}

/*  pagetop
---------------------------------------- */
#pagetop {
  display: none;
  position: fixed;
  bottom: 100px;
  right: 0;
  z-index: 1000;
}

#pagetop a {
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 50px;
  background: url('/img/share/sprite.png');
  background-repeat: no-repeat;
  width: 48px;
  background-position: 0 -1641px;
}

#pagetop a:hover {
  background-position: 0 -1692px;
}

/*  footer_login
---------------------------------------- */
#footer_login {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 50;
  height: 40px;
  background: #189acb;
}

#footer_login .inner {
  overflow: hidden;
  position: relative;
}

#copyright_login {
  width: 100%;
  text-align: center;
  line-height: 40px;
  color: #fff;
  font-size: 92%;
}

/* ---------------------------------------
    loading
---------------------------------------- */
#loading {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2100;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
}

#loading .img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2101;
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  background: url('/img/share/loading.gif') no-repeat;
}

#title_contents_error h1 {
  margin: 0;
  font-size: 150%;
}

/*
  .error_popup_message
*/
.error_popup_message {
  width: 600px;
  max-height: 700px;
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  margin-left: -304px;
  overflow: hidden auto;
  background: #fff;
  z-index: 10000;
  border: 4px solid #0d539b;
  border-radius: 6px;
}

.error_popup_message #c_sub_main {
  width: 450px;
  margin: auto;
  padding: 30px 0;
}
