@charset "utf-8";

/* =============================================

　RESET

============================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* =============================================

　BASE

============================================= */
/*─────────────────────────────────────────────────────────────────────
    Font change for REX
─────────────────────────────────────────────────────────────────────*/
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: local('NotoSansCJKjp-Regular'),
    url('/assets/fonts/NotoSansCJKjp-Regular.woff2') format('woff2'),
    url('/assets/fonts/NotoSansCJKjp-Regular.woff') format('woff'),
    url('/assets/fonts/NotoSansCJKjp-Regular.ttf') format('ttf'),
    url('/assets/fonts/NotoSansCJKjp-Regular.eot') format('eot');
}
@font-face {
  font-family: 'NotoSans';
  font-style: normal;
  font-weight: 400;
  src: local('NotoSans-Regular'),
    url('/assets/fonts/NotoSans-Regular.woff2') format('woff2'),
    url('/assets/fonts/NotoSans-Regular.woff') format('woff'),
    url('/assets/fonts/NotoSans-Regular.ttf') format('ttf'),
    url('/assets/fonts/NotoSans-Regular.eot') format('eot');
}
body{
	background: #fff;
	color: #000;
	font-family: 'NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;
	line-height: 1
}
h1{ font-size: 26px}
h2{ font-size: 18px}
h3{ font-size: 16px}
h1,h2,h3,strong,th{ font-weight:bold}

em{
	font-weight: bold;
    font-style: normal;
}
p, li, th, td, dt, dd{
	font-size: 14px;
}

/* Link and Image
---------------------------------*/
a, a:visited{
	color: #1d54a7;
}
a:hover, a:active{
    text-decoration: none;
}
a img, a:visited img{
	opacity: 1;
	filter: alpha(opacity=100)
}
a:hover img, a:active img{
	opacity: 0.8;
	filter: alpha(opacity=80)
}
img{
	vertical-align: middle;
}

/* clearfix
---------------------------------*/
div:after, ul:after, .cf:after{
	content: "";
	display: block;
	clear: both;
}

/* =============================================

　HEADER

============================================= */

.fPC{ display: block}
.fSP, .sb-slidebar{ display: none}

.header{
    padding: 30px 0 26px;
    border-top: 5px solid #bf0000;
    border-bottom: 3px solid #999;
}
.inner, .contents{
    position: relative;
    width: 950px;
    margin: 0 auto;
}
.logo{
    position: relative;
    top: 4px;
    color: #bf0000;
    font-size: 18px;
    font-weight: bold;
}
.logo img{
    position: relative;
    top: -4px;
    padding-right: 8px;
}
.header ul, .header .lang{
    position: absolute;
    top: -5px;
    right: 0;
}
.header .lang{
    top: 25px;
    font-size: 12px;
}
.header li, .sCol .fSP li{
    display: inline;
    padding-left: 30px;
    font-size: 12px;
}
.sCol .fSP li{
    padding: 0 30px 0 0;
}
.header li a, .sCol .fSP li a{
    padding-left: 15px;
    background: url(../img/bg_parts_pc.png) no-repeat 0 0.35em;
}

/* =============================================

　CONTENTS

============================================= */
.contents{
    margin-top: 50px;
}
.mCol{
    float: right;
    width: 650px;
}
.mCol h1{
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 3px solid #bf0000;
}
.mCol h2{
    margin-bottom: 25px;
    padding: 18px 20px;
    border-left: 10px solid #bf0000;
    background: #eee;
}
.mCol h3{
    margin-bottom: 15px;
    padding: 10px 20px;
    border-left: 5px solid #ababab;
}

.mCol p, .mCol li, .mCol th, .mCol td, .mCol dt, .mCol dd{
    line-height: 1.7;
}
.mCol p, .mCol ul, .mCol table{
    margin-bottom: 1.5em;
}
.mCol li{
    margin-left: 1.5em;
    list-style: square;
}
.mCol table{
    width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
    background: #fff;
}
.mCol th, .mCol td{
    padding: 15px;
    text-align: left;
    border: 1px solid #ccc;
}
.date{
    position: absolute;
    top: -40px;
    right: 0;
    text-align: right;
    line-height: 1.5 !important;
    font-size: 13px;
}
.cl1{
    background: #eee;
    font-size: 15px;
}
.cl2{
    width: 30%;
}
.sTxt{ font-size: 12px}
.liLink li, .linkIco{
    margin: 0 0 10px !important;
    padding-left: 20px;
    background: url(../img/bg_parts_pc.png) no-repeat 0 -80px;
    list-style: none;
}
.liLink li .attention {
    display: block;
    font-size: 12px;
    line-height: 1;
}
.linkIco{
    display: inline-block;
    font-weight: normal;
}
p.linkIco{
    margin-bottom: 1.5em !important;
}

.toTop{
    margin-bottom: 40px !important;
    text-align: right;
}
.toTop a{
    padding-left: 20px;
    background: url(../img/bg_parts_pc.png) no-repeat 0 -158px;
}

/* Breadcrumb list
--------------------------------*/
.bnav{
    margin-top: -35px;
}
.bnav li{
    display: inline-block;
    font-size: 12px;
    margin: 0 0 20px 0;
}
.bnav li:after{
    content: ">";
    padding: 0 5px 0 10px;
}
.bnav li:last-child:after{
    content: "";
    padding: 0;
}

/* index.html
--------------------------------*/
.liIndex{
    width: 650px;
    margin-bottom: 10px !important;
    padding-top: 10px;
}
.liIndex li{
    position: relative;
    float: left;
    width: 203px;
    margin: 0 20px 20px 0 !important;
    list-style: none !important;
    font-weight: bold;
}
.liIndex li.lastL{
    margin-right: 0 !important;
}
.liIndex a{
    display: table-cell;
    width: 203px;
    height: 70px;
    background: url(../img/bg_liIndex.png) no-repeat 100% 100% #ababab;
    color: #fff;
    text-decoration: none;
    vertical-align: middle;
    text-align: center;
}
.liIndex a span{
    display: inline-block;
    margin: 0 auto;
    margin-left: 1.3em;
    text-indent: -1.3em;
    text-align: left;
}
.liIndex a:hover{
    opacity: 0.8;
}

/* use.html
--------------------------------*/
.liIndex_use{
    margin-bottom: 40px !important;
}
.liIndex_use li{
    position: relative;
    float: left;
    width: 147px;
    margin: 0 20px 20px 0 !important;
    list-style: none !important;
    font-weight: bold;
    text-align: center;
    font-size: 13px;
    line-height: 1.4;
}
.liIndex_use li.cont4, .liIndex_use li.cont8{
    margin-right: 0 !important;
}
.liIndex_use a{
    display: block;
    width: 100%;
    height: 130px;
    padding-top: 17px;
    background: url(../img/bg_liIndex.png) no-repeat 100% 100% #9c4646;
    color: #fff;
    text-decoration: none;
}
.liIndex_use img{
    padding-bottom: 10px;
}

.mCol.use h2{
    position: relative;
    margin: 0 0 25px 20px;
    padding: 15px 15px 15px 55px;
    border-left: none;
    background: #ebdada;
}
.mCol.use h2 span span{
    position: absolute;
    top: -5px;
    left: -20px;
    display: inline-block;
    width: 35px;
    height: 35px;
    padding: 12px;
    background: url(../img/bg_h2.png) no-repeat;
}
.mCol.use h2#cont2{ background-color: #ebe0da}
.mCol.use h2#cont3{ background-color: #ebe8da}
.mCol.use h2#cont4{ background-color: #e1e6dc}
.mCol.use h2#cont5{ background-color: #dfeaeb}
.mCol.use h2#cont6{ background-color: #dbe2ea}
.mCol.use h2#cont7{ background-color: #e5deea}
.mCol.use h2#cont8{ background-color: #ecdee4}

.mCol.use h2#cont2 span span{ background-position: 0 -69px}
.mCol.use h2#cont3 span span{ background-position: 0 -138px}
.mCol.use h2#cont4 span span{ background-position: 0 -207px}
.mCol.use h2#cont5 span span{ background-position: 0 -276px}
.mCol.use h2#cont6 span span{ background-position: 0 -345px}
.mCol.use h2#cont7 span span{ background-position: 0 -414px}
.mCol.use h2#cont8 span span{ background-position: 0 -483px}

.liIndex_use li.cont2 a{ background-color: #9c6446}
.liIndex_use li.cont3 a{ background-color: #9c8b46}
.liIndex_use li.cont4 a{ background-color: #6a8252}
.liIndex_use li.cont5 a{ background-color: #5e979c}
.liIndex_use li.cont6 a{ background-color: #4b6f98}
.liIndex_use li.cont7 a{ background-color: #7f5a96}
.liIndex_use li.cont8 a{ background-color: #a05a79}

.mCol.use h2 img{
    width: 35px;
    height: 35px;
}
.cTxt{ text-align: center}

/* side menu
--------------------------------*/
.sCol{
    float: left;
    width: 250px;
}
.sCol .snav a{
    display: block;
    margin-bottom: 1px;
    padding: 18px 20px 18px 40px;
    background: url(../img/bg_parts_pc.png) no-repeat 20px -65px #eee;
    color: #000;
    text-decoration: none;
    line-height: 1.2;
}
.sCol .snav a:hover, .sCol .snav a:active{
    text-decoration: underline
}
.sCol .snav a.active{
    background-position: 20px -15px;
    background-color: #ababab;
    color: #fff;
}

/* =============================================

　FOOTER

============================================= */
.footer{
    margin-top: 10px;
    padding: 20px 0;
    background: #ddd;
    text-align: center;
}
.footer p{
    font-size: 12px !important;
}

@media screen and (max-width:800px){

body{ -webkit-text-size-adjust: 100%}

/* =============================================

　HEADER

============================================= */
.inner, .contents{
    width: 100%;
}
.logo{
    margin-left: 20px;
}
.header ul, .header .lang{
    right: 20px;
}
.header li a, .sCol .fSP li a{
    background-image: url(../img/bg_parts.png);
    background-size: 13px auto;
}

/* =============================================

　CONTENTS

============================================= */
.inner ul{
    top: -12px;
}
.inner li{
    display: block;
    float: left;
    margin-bottom: 10px;
}
.inner li:first-child{
    float:none;
}
.inner .lang {
    top: 35px;
}
.contents{
    margin-top: 10px;
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px 30px;
}
.mCol, .sCol{
    float: none;
    width: 100%;
}
p.date{
    position: relative;
    top: 0;
    margin-bottom: 0;
}
p.date span{
    display: block;
}
.liLink li, .linkIco{
    background-image: url(../img/bg_parts.png);
    background-size: 13px auto;
}
.liIndex, .liIndex_use{
    width: 560px;
    margin: 0 auto;
}
.liIndex li{
    width: 176px;
    margin: 0 15px 15px 0 !important;
}
.liIndex a{
    width: 180px;
}

/* use.html
--------------------------------*/
.liIndex_use li, .liIndex.liIndex_use li:nth-child(3n){
    width: 128px;
    margin: 0 15px 15px 0 !important;
    font-size: 12px;
}
.liIndex_use a{
    width: 100%;
}
.fixed{
    left: 0;
    width: 100%;
}

.cTxt img{
    width: 560px;
    height: auto;
    margin: 0 auto;
}
.toTop a{
    background-image: url(../img/bg_parts.png);
    background-size: 13px auto;
}
.sCol .snav a{
    background-image: url(../img/bg_parts.png);
    background-size: 13px auto;
}

/* =============================================

　Language selector

============================================= */
.langSelect {
    top: 10px;
    right: 20px;
    overflow: visible;
}

} /* @media screen 800*/
@media screen and (max-width:600px) { 

.fPC, .bnav, .toTop{ display: none}
.fSP{ display: block}

h1{
    font-size: 18px;
    margin-top:10px;
}
h2{ font-size: 14px}
h3{ font-size: 14px}
*{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
}

/* =============================================

　HEADER

============================================= */
.header{
    height: 76px;
    padding: 15px 0;
    z-index:1;
}
.logo{
    top: 2px;
    margin-left: 12px;
    font-size: 14px;
}
.logo img.subLogo{
    height: 14px;
}
.logo a img{
    width: 94px;
    height: 28px;
    margin-right: 8px;
    padding-right:0;
}

.header .lang{
    right: 10px;
    top: 32px;
}
.header .lang a{
    padding-left: 10px;
    background: url(../img/bg_parts_sp.png) 0 -70px no-repeat;
    background-size: 30px auto;
}
.sb-toggle-right{
    position: absolute;
    top: -5px;
    right: 10px;
    width: 30px;
    height: 25px;
    background: url(../img/bg_parts_sp.png) no-repeat;
    background-size: 100% auto;
}
.sb-active .sb-toggle-right{
    background-position: 0 -40px;
}
.sb-slidebar a{
    display: block;
    padding: 18px 25px 18px 15px;
    background: url(../img/bg_menu.png) no-repeat 97% 50%;
    background-size: 9px auto;
    border-bottom: 1px solid #a5a5a5;
    text-decoration: none;
    color: #000;
    line-height: 1.4;
}
.etLink a{
    font-size: 12px;
    padding-left: 35px !important;
    background: url(../img/bg_parts.png) no-repeat 15px 21px;
    background-size: 13px auto;
}

/* =============================================

　CONTENTS

============================================= */
.contents{
    padding: 0;
}
.mCol{
    padding: 0 15px 30px;
}
.mCol h2{
    width: 100%;
    display: table;
    vertical-align: middle;
    height: 60px;
    margin-bottom: 0;
    padding: 0 30px 0 10px;
    border-left: none;
    border-top: 1px solid #fff;
    background: url(../img/bg_toggle_sp.png) no-repeat 96% 20px #ababab;
    background-size: 17px auto;
    color: #fff;
}
.mCol h2.active{
    background-position: 96% -30px;
}
.mCol h2 span{
    display: table-cell;
    vertical-align: middle;
}
.mCol h3{
    margin-bottom: 10px;
    padding: 10px;
}
.content{
    display: none;
    padding: 15px 15px 1px;
    background: #eee;
}
.cl1{
    background: #ddd;
    font-size: 14px;
}

/* use.html
--------------------------------*/
.mCol.use h2{
    position: relative;
    margin: 0;
    padding: 10px 30px 10px 43px;
    border-left: none;
    background: url(../img/bg_toggle_sp.png) no-repeat 96% 20px #9c4646;
    background-size: 17px auto;
}
.mCol.use h2.active{
    background-position: 96% -30px;
}
.mCol.use h2 span span{
    width: auto;
    height: auto;
    top: 16px;
    left: 10px;
    padding: 0;
    background: none !important;
    border-radius: 0;
}
.mCol.use h2#cont2{ background-color: #9c6446}
.mCol.use h2#cont3{ background-color: #9c8b46}
.mCol.use h2#cont4{ background-color: #6a8252}
.mCol.use h2#cont5{ background-color: #5e979c}
.mCol.use h2#cont6{ background-color: #4b6f98}
.mCol.use h2#cont7{ background-color: #7f5a96}
.mCol.use h2#cont8{ background-color: #a05a79}

.use .content{
    background: #ebdada;
}
.use .content.cont2{ background-color: #ebe0da}
.use .content.cont3{ background-color: #ebe8da}
.use .content.cont4{ background-color: #e1e6dc}
.use .content.cont5{ background-color: #dfeaeb}
.use .content.cont6{ background-color: #dbe2ea}
.use .content.cont7{ background-color: #e5deea}
.use .content.cont8{ background-color: #ecdee4}

.mCol.use h2 img{
    width: 24px;
    height: 24px;
}
.cTxt img{
    width: 100%;
    height: auto;
}

/* side menu
--------------------------------*/
.sCol .fSP{
    padding: 20px 15px;
}
.sCol .fSP p a{
    display: block;
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 5px;
    background: url(../img/bg_parts_sp.png) no-repeat 98% 122% #bf0000;
    background-size: 30px auto;
    color: #fff;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
}

/* =============================================

　FOOTER

============================================= */
.footer{
    padding: 15px 0;
}

}/* @media screen 600*/
/* =============================================

　Archives

============================================= */
#archives {
    max-width: 950px;
    margin: 0 auto;
    line-height: 1.5em;
    overflow: hidden;
}
#archives h1{
    display: block;
    margin: 0 auto;
}
#archives h2{
    width: 100%;
    max-width:686px; 
    margin: 0 auto;
    padding: 4px;
    border-left: 6px solid #bf0000;
    border-bottom: 1px solid #bf0000;
    font-size: 16px;
    text-align: left;
}
#archives table {
    width: 95% !important;
    max-width: 670px !important;
}
#archives .date {
    position: relative;
    margin-top: 10px;
    top: 0;
    right: 15px;
}

/* =============================================

　Language selector

============================================= */

.header .langSelect {
    position: relative;
    overflow: visible;
}
.header .langSelect p {
    position: absolute;
    top: -5px;
    right: 0;
    padding-left: 10px;
    background: url(../img/bg_parts_sp.png) 0 -72px no-repeat;
    background-size: 30px auto;
    color: #1d54a7;
    font-size: 12px;
    text-decoration: underline;
}
.header .langSelect ul {
    display: none;
    position: absolute;
    right: 0;
    top: 7px;
    width: 150px;
    z-index: 2;
}
.header .langSelect li {
    float: none;
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ffffff;
    font-size: 14px;
}
.header .langSelect li:last-child {
    border: none;
}
.header .langSelect li a {
    display: block;
    padding: 10px 10px 10px 35px;
    text-decoration: none;
    background: url(../img/bg_parts_pc.png) no-repeat 10px -75px #eee;
    font-size: 14px;
    color: #000;
}
.header .langSelect li a.active {
    background-position: 10px -25px;
    background-color: #ababab;
    color: #fff;
}
.header .langSelect li a:hover{
    text-decoration: underline
}
.fSP .langSelect {
    top: 5px;
    right: 10px;
    overflow: visible;
}
.fSP .langSelect p{
}
.fSP .langSelect li{
    overflow: visible;
}

/* =============================================

　add style 2020

============================================= */

.numLst li{
    position: relative;
    margin-left: 3.5em;
    list-style: none;
}

.numLst p{
    padding-left: 1.5em;
}

.numLst li:before{
    position: absolute;
    margin-left: -2em;
    content: "・";
    }
.numLst .num2:before{content: "・";}
.numLst .num3:before{content: "・";}
.numLst .num4:before{content: "・";}
.numLst .num5:before{content: "・";}
.numLst .num6:before{content: "・";}
.numLst .num7:before{content: "・";}
.numLst .num8:before{content: "・";}
.numLst .num9:before{content: "・";}