@charset "UTF-8";
/* ==============================================================================================
 Reset
================================================================================================= */
html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
color: #000;
background: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
button,
p,
blockquote,
th,
td,
header,
footer,
main,
nav,
aside,
section {
margin: 0;
padding: 0;
}

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

fieldset,
img {
border: 0;
}

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

li {
list-style: none;
}

caption,th {
text-align: left;
}

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

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

abbr,
acronym {
font-variant: normal;
border: 0;
}

sup {
vertical-align: text-top;
}

sub {
vertical-align: text-bottom;
}

input,
textarea,
select,
button {
font-weight: inherit;
font-size: inherit;
font-family: inherit;
}

legend {
color: #000;
}

img {
vertical-align: bottom;
}

body {
font-family: "ＭＳ Ｐゴシック", Arial, sans-serif;
color: #000;
background: #fff;
}

@media screen and (max-width: 767px) {
body {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
}
}
a,
a:active,
a:link,
a:visited {
color: #004fa2;
text-decoration: none;
outline: none;
}

a:hover {
color: #007cff;
text-decoration: underline;
}

/* ==============================================================================================
 Header
================================================================================================= */
/* header
----------------------------------------------------------- */
header {
width: 950px;
margin: 0 auto 7px;
padding: 20px 0 9px;
font-size: 68.75%;
}

#popup header {
width: 480px;
font-size: 87.5%;
}

header #logo {
float: left;
}

#popup header .close {
float: right;
margin-top: 5px;
font-weight: bold;
}

#popup header .close a {
padding-left: 1.2em;
background: url("/products/common/images/v2/icn_close_01.gif") no-repeat left center;
}

header #menu-btn {
display: none;
}

/* ==============================================================================================
 Nav
================================================================================================= */
/* nav
----------------------------------------------------------- */
nav {
margin-bottom: 7px;
background: url("/common/images/v2/bg_nav_01.gif") repeat-x 0 0;
}

nav > ul {
position: relative;
width: 950px;
margin: 0 auto;
}

nav > ul > li {
float: left;
}

nav > ul > li > a > span {
display: none;
}

/* dropdown
----------------------------------------------------------- */
nav .dropdown {
position: absolute;
left: -2px;
z-index: 100;
display: none;
width: 940px;
padding: 10px 7px 7px;
background: url("/common/images/v2/bg_dropdown_01.png") no-repeat 0 100%;
}

nav .dropdown p {
margin-bottom: 10px;
padding: 0 0 10px 22px;
font-weight: bold;
background: url("/common/images/v2/icn_arrow_02.gif") no-repeat 5px .1em;
border-bottom: #ccc 1px solid;
}

nav .dropdown ul {
padding-left: 10px;
font-size: 87.5%;
}

nav .dropdown ul li {
float: left;
width: 154px;
margin: 0 20px 8px 0;
padding-left: 10px;
}

nav .dropdown ul li.head-child {
width: 120px;
padding-left: 20px;
background-position: 10px .3em;
}

@media screen and (max-width: 970px) {
header,
nav > ul {
width: 100%;
}

header {
box-sizing: border-box;
padding: 20px 10px 9px;
}

nav {
padding: 0 10px;
background-image: -webkit-linear-gradient(#fbfbfb, #d1d1d1);
background-image: linear-gradient(#fbfbfb, #d1d1d1);
border-top: 1px solid #dcdcdc;
border-bottom: 1px solid #13439c;
}

nav > ul > li > a {
font-size: .8125rem;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, sans-serif;
color: #333 !important;
text-align: center;
}

nav > ul > li > a:hover,
nav > ul > li > a:active,
nav > ul > li.current > a {
color: #007cff !important;
text-decoration: none;
}

nav > ul > li > a > img {
display: none;
}

nav > ul > li > a > span {
display: block;
padding: 5px 10px;
}

nav > ul > li > a > img.active + span {
color: #fff;
background: #004fa2;
}

nav .dropdown {
top: 102%;
box-sizing: border-box;
width: 100%;
background: none #fff;
border-radius: 0 0 3px 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, .1);
}

nav .dropdown ul {
padding-left: 10px;
font-size: .8175rem;
}

nav .dropdown ul li.head-child {
width: 130px;
padding-left: 10px;
background-position: 0 .3em;
}

nav .dropdown p {
font-size: .875rem;
}
}
@media screen and (max-width: 767px) {
header {
position: relative;
margin-bottom: 0;
padding-bottom: 15px;
border-top: 3px solid #004fa2;
border-bottom: 1px solid #a6a6a6;
}

header #menu-btn {
position: absolute;
top: 0;
right: 0;
display: block;
}

header #menu-btn.static {
display: none;
}

header #menu-btn button {
position: relative;
box-sizing: border-box;
width: 56px;
height: 56px;
padding: 0 0 0 1px;
text-align: center;
background-image: -webkit-linear-gradient(#eee, #afafaf);
background-image: linear-gradient(#eee, #afafaf);
border: none;
cursor: pointer;
}

header #menu-btn button:before,
header #menu-btn.closed button:before {
position: absolute;
top: 0;
right: 0;
display: block;
width: 55px;
height: 100%;
background-image: -webkit-linear-gradient(#eee, white);
background-image: linear-gradient(#eee, white);
content: "";
}

header #menu-btn.closed button:before {
background-image: -webkit-linear-gradient(white, #eee);
background-image: linear-gradient(white, #eee);
}

header #menu-btn.closed button:after,
header #menu-btn span:after,
header #menu-btn.closed span:after {
position: absolute;
top: 24px;
left: 50%;
display: block;
width: 25px;
height: 4px;
margin-left: -11.5px;
background: #5f5f5f;
border-radius: 2px;
content: "";
}

header #menu-btn.closed button:after {
margin-left: -11.2px;
}

header #menu-btn span {
position: relative;
z-index: 1;
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
padding-top: 35px;
font-size: .9em;
}

header #menu-btn span:before,
header #menu-btn.closed span:before {
position: absolute;
top: 7px;
left: 50%;
display: block;
width: 4px;
height: 25px;
margin-left: -2px;
background: #5f5f5f;
border-radius: 2px;
content: "";
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

header #menu-btn.closed span:before {
top: 10px;
width: 25px;
height: 4px;
margin-left: -11.5px;
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}

header #menu-btn span:after,
header #menu-btn.closed span:after {
top: 17px;
margin-left: -12px;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

header #menu-btn.closed span:after {
margin-left: -11.5px;
}

header #menu-btn.closed span:after {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}

nav {
margin: 0;
padding: 0;
border: none;
}

nav > ul {
box-sizing: border-box;
padding: 15px 10px 0;
background: #b1b3b5;
}

nav > ul > li {
width: 100%;
margin-bottom: 8px;
}

nav > ul > li > a {
display: none;
}

nav .dropdown {
position: static;
display: block;
padding: 0;
border: 1px solid #a6a6a6;
border-radius: 0;
box-shadow: none;
}

nav .dropdown p {
margin-bottom: 0;
padding: 0;
font-size: .8175rem;
background: none;
border-bottom: 1px solid #a6a6a6;
}

nav .dropdown.no-child p {
border-bottom: none;
}

nav .dropdown a {
position: relative;
display: block;
padding: 15px 20px 15px 13px;
}

nav .dropdown p a {
display: block;
}

nav .dropdown.no-child a {
background-image: -webkit-linear-gradient(white, #ddd);
background-image: linear-gradient(white, #ddd);
}

nav .dropdown a:after {
position: absolute;
top: 22px;
right: 10px;
display: block;
border-width: 3px 4px;
border-style: solid;
border-color: transparent transparent transparent #004fa2;
content: "";
}

nav .dropdown ul {
margin-bottom: -1px;
padding-left: 0;
}

nav .dropdown ul li {
box-sizing: border-box;
width: 50% !important;
margin: 0;
padding: 0 !important;
background: none;
border-bottom: 1px solid #a6a6a6;
}

nav .dropdown ul li:nth-child(odd) {
border-right: 1px solid #a6a6a6;
}
}
/* nav-utility
----------------------------------------------------------- */
#header-content .nav-utility {
position: relative;
width: 950px;
margin: 0 auto;
}

#header-content .nav-utility ul {
position: absolute;
top: -73px;
right: 0;
width: auto;
font-size: 68.75%;
}

#header-content .nav-utility ul li {
float: left;
margin: 5px 0 0 12px;
padding-left: 8px;
background: none;
}

#header-content .nav-utility ul li.form {
margin-top: 0;
}

#header-content .nav-utility ul li form {
float: right;
padding-left: 2px;
}

#header-content .nav-utility ul li form .input-text {
height: 13px;
padding: 4px 4px 0;
vertical-align: top;
background-color: #f7f7f7;
border-top: #bfbfbf 1px solid;
border-right: 0 none;
border-bottom: 0 none;
border-left: #bfbfbf 1px solid;
}

#header-content .nav-utility ul li form .input-text + button {
position: relative;
width: 50px;
height: 18px;
background: url("/common/images/v2/btn_search_01.gif") no-repeat left top;
border: none;
cursor: pointer;
}

#header-content .nav-utility ul li form .input-text + button span {
position: relative;
z-index: -1;
}

@media screen and (max-width: 970px) {
#header-content .nav-utility {
width: 100%;
}

#header-content .nav-utility ul {
right: 10px;
}
}
@media screen and (max-width: 767px) {
#header-content .nav-utility {
padding-bottom: 15px;
background: #b1b3b5;
border-bottom: 1px solid #737576;
}

#header-content .nav-utility ul {
position: static;
padding: 0 10px;
font-size: .8125rem;
}

#header-content .nav-utility ul li {
box-sizing: border-box;
width: 49%;
margin: 2% 0 0 0;
padding: 0;
}

#header-content .nav-utility ul li:nth-child(odd) {
margin-right: 2%;
}

#header-content .nav-utility ul li.form {
width: 100%;
margin: 15px 0 0;
}

#header-content .nav-utility ul li a {
display: block;
padding: 15px 20px 15px 13px;
background: #fff;
border-radius: 3px;
}

#header-content .nav-utility ul li form {
float: none;
padding-left: 0;
}

#header-content .nav-utility ul li form .input-text {
box-sizing: border-box;
width: 75%;
height: 39px;
background: #fff;
}

#header-content .nav-utility ul li form .input-text + button {
box-sizing: border-box;
width: 25%;
height: 39px;
padding: 7px 16px;
font-weight: bold;
color: #fff;
background: #004fa2;
border-top: #bfbfbf 1px solid;
}

#header-content .nav-utility ul li form .input-text + button span {
z-index: 0;
}
}
/* arrow
----------------------------------------------------------- */
nav .dropdown a,
nav .dropdown ul li,
#header-content .nav-utility ul li,
#header-content .nav-utility ul li a {
position: relative;
line-height: 1.4;
}

nav .dropdown a:after,
nav .dropdown ul li:before,
#header-content .nav-utility ul li:before,
#header-content .nav-utility ul li a:after {
position: absolute;
top: 22px;
right: 10px;
display: block;
border-width: 3px 3px;
border-style: solid;
border-color: transparent transparent transparent #004fa2;
content: "";
}

nav .dropdown a:after,
#header-content .nav-utility ul li.form:before,
#header-content .nav-utility ul li a:after {
display: none;
}

nav .dropdown ul li:before,
#header-content .nav-utility ul li:before {
top: 3px;
right: inherit;
left: 0;
}

@media screen and (max-width: 767px) {
nav .dropdown a:after,
#header-content .nav-utility ul li a:after {
top: 21px;
display: block;
border-width: 3px 4px;
}

nav .dropdown.no-child a:after {
top: 50%;
right: 14px;
width: 4px;
height: 4px;
margin-top: -4px;
border-width: 2px;
border-color: #004fa2 #004fa2 transparent transparent;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

nav .dropdown ul li:before,
#header-content .nav-utility ul li:before {
display: none;
}
}
/* ==============================================================================================
 Clearfix
================================================================================================= */
header:after,
#header-content .nav-utility ul:after,
nav ul:after {
display: block;
clear: both;
content: "";
}

/* ==============================================================================================
 Footer
================================================================================================= */
/* footer
----------------------------------------------------------- */
footer {
padding-top: 5px;
font-size: 75%;
background: #eee url("/common/images/v2/bg_footer_01.gif") repeat-x 0 0;
}

#popup footer {
width: 480px;
margin: 0 auto;
background: none;
}

/* nav-site
----------------------------------------------------------- */
footer #nav-site {
position: relative;
width: 940px;
margin: 0 auto;
padding: 20px 5px 10px;
}

footer #nav-site .column {
float: left;
width: 172px;
margin-right: 20px;
}

footer #nav-site .column-r {
float: left;
width: 172px;
}

footer #nav-site .column p,
footer #nav-site .column-r p {
margin-bottom: 10px;
padding-left: 20px;
font-weight: bold;
font-size: 116.67%;
background: url("/common/images/v2/icn_arrow_03.gif") no-repeat 0 0;
}

footer #nav-site .column ul,
footer #nav-site .column-r ul {
padding-bottom: 25px;
font-size: 100%;
}

footer #nav-site .column ul li,
footer #nav-site .column-r ul li {
margin-bottom: 10px;
padding-left: 14px;
background: url("/common/images/v2/icn_arrow_01.gif") no-repeat 5px .3em;
}

footer #nav-site .column ul li a,
footer #nav-site .column-r ul li a {
padding-bottom: 1px;
}

/* list-social
----------------------------------------------------------- */
#nav-site .list-social {
position: relative;
}

#nav-site .list-social {
position: absolute;
right: 0;
bottom: 20px;
}

#nav-site .list-social li {
float: left;
margin-right: 10px;
}

/* tool-important
----------------------------------------------------------- */
footer #tool-important {
background-color: #fff;
}

footer #tool-important .nav-utility {
width: 940px;
margin: 0 auto;
padding: 10px 5px 0;
}

footer #tool-important .nav-utility li {
float: left;
margin-left: 8px;
padding-left: 8px;
border-left: #666 1px solid;
}

footer #tool-important .nav-utility li.first-child {
margin-left: 0;
padding-left: 0;
border-left: 0 none;
}

footer #tool-important #copyright {
width: 940px;
margin: -1em auto 10px;
padding: 0 5px;
color: #666;
text-align: right;
}

#popup footer #copyright {
padding: 10px 0;
color: #666;
border-top: 2px solid #e4e4e4;
}

@media screen and (max-width: 970px) {
footer #tool-important {
padding: 0 10px;
}

footer #nav-site,
footer #tool-important .nav-utility,
footer #tool-important #copyright {
box-sizing: border-box;
width: 100%;
}

footer #tool-important .nav-utility {
margin-bottom: 10px;
padding: 15px 5px 0;
text-align: center;
}

footer #tool-important .nav-utility li {
display: inline-block;
float: none;
margin-bottom: 10px;
}

footer #tool-important #copyright {
margin: 0 0 10px;
padding-top: 10px;
text-align: center;
border-top: 1px solid #cacaca;
}

footer #tool-important #copyright small {
font-size: .75rem;
}

footer #nav-site .column,
footer #nav-site .column-r {
width: 18%;
margin-right: 2.5%;
}

footer #nav-site .column-r {
margin-right: 0;
}
}
@media screen and (max-width: 767px) {
footer {
margin-top: -5px;
}

footer #nav-site {
padding: 15px 5px 12px;
}

footer #nav-site .column,
footer #nav-site .column-r {
display: none;
}

#nav-site .list-social {
position: static;
text-align: center;
}

#nav-site .list-social li {
display: inline-block;
float: none;
}
}
/* ==============================================================================================
 Clearfix
================================================================================================= */
footer #nav-site:after,
footer #tool-important .nav-utility:after {
display: block;
clear: both;
content: "";
}
