@charset "utf-8";
 @import "normalize.css";
html {
    overflow-y: scroll;
    width: 100%;
}
body {
    color: #222;
    font-size: 14px;
    font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    background-color: #FFF;
    width: 100%;
}
#sb-site {
    width: 100% !important;
    text-align: center;
}
a:link, a:visited {
    color: #0067B6;
    text-decoration: none;
}
a:active, a:hover {
    color: #868686;
    text-decoration: underline;
}
*:focus {
    outline: none;
}
img.ic {
    vertical-align: middle;
    height: 14px;
    margin: 0 3px 3px;
}
.sp {
    display: none;
}
/* header */

#header_frame {
    width: 100%;
    height: 17.3vw;
    max-height: 158px;
    margin: 0 auto 10px;
    border-top: 6px solid #00549c;
    border-bottom: 1px solid #e1e1e1;
}
header {
    width: 100%;
    max-width: 960px;
    height: 13.8vw;
    max-height: 132px;
    position: relative;
    margin: 0 auto;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
#header_frame {
    height: 17.3vw;
    max-height: 159px;
}
}
header h1 {
    position: absolute;
    top: 20px;
    left: 0;
    margin: 0;
    width: 40%;
    max-width: 365px;
}
header h1 img {
    width: 100%;
}
#hnav {
    position: absolute;
    top: 13px;
    right: 0;
}
#hnav ul {
    margin: 0;
    padding: 0;
}
#hnav ul li {
    height: 17px;
    background: none;
    padding: 0 5px;
    margin: 0;
    display: inline-block;
    border-right: 1px solid #CCC;
}
#hnav ul li:last-child {
    border-right: none;
}
#hnav ul li img {
    height: 18px;
}
#hnav a:active, #hnav a:hover {
    text-decoration: none;
    opacity: 0.5;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
#search {
    position: absolute;
    top: 42px;
    right: 0;
    margin: 0;
    text-align: left;
    width: 40%;
    max-height: 50px;
    overflow: hidden;
}
#search table, #search td {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: none;
}
/* nav */

#toggle, .sb-slidebar {
    display: none;
}
nav {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
ul#menu {
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
}
ul#menu li {
    width: auto;
    margin: 0 3%;
    padding: 6px 0 3px;
    background-image: none;
    text-align: center;
    background: #FFF;
    border-bottom: 3px solid #ccfe02;
    font-weight: 600;
    position: relative;
    overflow: hidden;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
ul#menu li {
    overflow: hidden;
}
}
ul#menu li a {
    height: 15px;
    display: block;
    margin: 0;
    padding: 0;
    line-height: 15px;
    font-size: 15px;
    transition: 0.5s;
}
ul#menu li.img {
    padding: 3px 0 3px;
}
ul#menu li.img a {
    height: 17px;
    display: block;
    margin: 0;
    padding: 0 0 1px;
}
ul#menu li.img img {
    width: 28px;
}
ul#menu li a:link, ul#menu li a:visited {
    color: #4a4a4a;
    text-decoration: none;
}
ul#menu li a:active, ul#menu li a:hover {
    color: #4a4a4a;
    text-decoration: none;
    opacity: 0.5;
}
ul#menu li ul {
    position: absolute;
    top: 28px;
    left: 0;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
ul#menu li ul {
    top: 27px;
}
}
ul#menu li#menu1 ul {
    width: 176px;
    left: -50px;
}
ul#menu li#menu2 ul {
    width: 150px;
    left: -5px;
}
ul#menu li#menu3 ul {
    width: 155px;
    left: -53px;
}
ul#menu li#menu4 ul {
    width: 160px;
    left: -35px;
}
ul#menu li#menu5 ul {
    width: 150px;
    left: -50px;
}
ul#menu li#menu6 ul {
    width: 130px;
    left: -40px;
}
ul#menu li ul li {
    overflow: hidden;
    background: #fff;
    margin: 0;
    width: 100%;
    height: 0;
    border: none;
}
ul#menu li ul li a {
    padding: 3px 0 1px;
    line-height: 16px;
    font-size: 14px;
    height: auto;
}
ul#menu li:hover > ul > li {
    overflow: visible;
    height: auto;
    z-index: 9999;
    border-bottom: 3px solid #eee;
}
ul#menu li:hover {
    overflow: visible;
}
/* footer */

#links {
    width: 100%;
    border-top: 2px solid #999;
    text-align: left;
    clear: both;
    overflow: hidden;
}
#links .wrapper {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}
#links ul {
    width: calc(100%/3);
    margin: 20px 0 15px;
    padding: 0 2%;
    border-left: 1px solid #dedede;
    box-sizing: border-box;
    float: left;
    min-height: 300px;
}
#links ul:last-child {
    border-right: 1px solid #dedede;
}
#links ul a {
    text-decoration: none;
    color: #07569d;
}
#links ul a:hover {
    text-decoration: underline;
}
#links ul li {
    padding: 2px 0 3px 16px;
    background-position: 0 6px;
    background-image: url(../images/footer_li.png);
}
.feed {
    width: 25px;
    margin-right: 10px;
}
#footer_frame {
    width: 100%;
    margin: 0 auto;
    padding: 16px 0 14px;
    background: #00549c;
    color: #fff;
    text-align: left;
}
#address {
    width: 98%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1%;
    font-size: 13px;
}
.style1 {
    font-weight: 700;
    font-size: 15px;
}
footer {
    width: 98%;
    max-width: 960px;
    margin: 0 auto;
    padding: 2px 1% 0;
    font-size: 12px;
}
/* ページトップへ戻る */

#page-top {
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: 10px;
    right: 10px;
    width: 50px;
    height: 20px;
    padding: 15px 10px 10px;
    background: #000;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 20px;
    line-height: 20px;
    clear: both;
    opacity: .7;
    filter: alpha(opacity=70);
}
#page-top:hover {
    opacity: .8;
    filter: alpha(opacity=80);
}
.arrow {
    position: absolute;
    width: 15px;
    height: 15px;
    border: 2px solid #000;
    border-left-color: #FFF;
    border-top-color: #FFF;
    top: 20px;
    left: 25px;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media print {
#page-top {
    display: none;
}
}
/* main */

#main_container {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden;
}
main {
    width: 100%;
    min-height: 550px;
    text-align: left;
    margin: 0 auto;
    padding: 0 0 25px;
    float: left;
}
main h1 {
    margin: 25px auto 18px;
    padding: 0 0 20px;
    font-size: 28px;
    line-height: 30px;
    text-align: left;
    font-weight: 500;
    position: relative;
}
main h1::before {
    position: absolute;
    bottom: 5px;
    left: 0;
    content: '';
    width: 70px;
    height: 3px;
    background-color: #105ea0;
}
h2 {
    margin: 30px 1% 18px;
    padding: 10px 15px 9px;
    font-size: 18px;
    line-height: 1.2em;
    text-align: left;
    font-weight: 500;
    background: #f6f6f6;
    color: #494949;
    border: 1px solid #d1d2d2;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
h2 {
    padding: 12px 10px 5px;
}
}
h3 {
    margin: 30px 10px 15px;
    padding: 5px 12px;
    font-size: 16px;
    line-height: 1.2em;
    color: #494949;
    text-align: left;
    font-weight: 600;
    position: relative;
    clear: both;
    border-bottom: 1px dotted #d1d2d2;
    border-left: 4px solid #aae147;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
h3 {
    padding: 8px 13px 2px;
}
}
h4 {
    margin: 25px 15px 15px;
    padding: 5px 0 0;
    font-size: 15px;
    line-height: 17px;
    font-weight: 600;
}
h5 {
    margin: 15px 20px 10px;
    padding: 0;
    font-size: 14px;
    line-height: 17px;
    font-weight: 600;
}
p {
    margin: 5px 10px 15px 25px;
    padding: 0;
    text-indent: 0;
}
p.justify {
    text-align: justify;
}
/* list */

ul {
    margin: 15px 10px 15px 30px;
    padding: 0;
}
ul li {
    list-style: none;
    padding: 2px 0 2px 17px;
    background-position: 0 6px;
    background-image: url(../images/li.png);
    background-repeat: no-repeat;
    -moz-background-size: 11px 11px;
    background-size: 11px 11px;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
ul li {
    background-position: 0 4px;
}
}
li ul {
    margin: 0 0 0 5px;
}
li ul li {
    list-style: none;
    padding: 2px 0 2px 17px;
    background-position: 0 6px;
    background-image: url(../images/li.png);
    background-repeat: no-repeat;
    -moz-background-size: 11px 11px;
    background-size: 11px 11px;
}
ol {
    margin: 5px 10px 5px 50px;
    padding: 0;
}
ol li {
    margin: 0;
    padding: 2px 0;
}
ol li ul {
    margin: 2px 0 0;
}
li ol {
    margin: 5px 0 0 20px;
}
ol.cjk-ideographic {
    list-style-type: cjk-ideographic;
}
dl {
    margin: 5px 10px 5px 50px;
    padding: 0;
}
dt {
    margin: 0;
    padding: 0;
}
dd {
    margin: 0 0 8px 10px;
    padding: 0;
}
dd ul {
    margin: 0;
    padding: 0;
}
/* table */

table {
    padding: 0;
    margin: 10px 5px 10px 25px;
}
table th {
    padding: 7px 8px 5px;
    font-weight: 900;
    text-align: center;
    background-color: #caf2ff;
    color: #4b4b4b;
    border: 1px solid #fff;
}
table td {
    padding: 7px 8px 5px;
    background-color: #f0f0f0;
    border: 1px solid #fff;
}
table td.aliceblue {
    background-color: aliceblue;
}
table.center {
    margin: 10px auto;
    text-align: center;
}
table.white td, table.white th, td.white, th.white {
    background: #fff;
}
td.vtop, th.vtop {
    vertical-align: top;
}
table.simple th {
    border: 1px solid #CCC;
    padding: 7px 5px 5px;
    font-weight: normal;
    text-align: center;
    background-color: #F2F2F2;
}
table.simple td {
    border: 1px solid #CCC;
    padding: 7px 5px 5px;
    background-color: #fff;
}
table.simple_l th {
    border: 1px solid #CCC;
    padding: 7px 15px 5px;
    font-weight: normal;
    text-align: left;
    background-color: #F2F2F2;
}
table.simple_l td {
    border: 1px solid #CCC;
    padding: 7px 5px 5px;
    background-color: #fff;
}
table.white01 td, table.white01 th, td.white01, th.white01 {
    padding: 0;
    margin: 3px 5px 3px 5px;
    border: 0px;
    vertical-align: top;
    background: #fff;
}
table.white001 td, table.white001 th, td.white001, th.white001 {
    padding: 0;
    margin: 3px 5px 3px 5px;
    border: 0px;
    vertical-align: top;
    background: #fff;
    font-size: 15px;
}
/* figure */

figure {
    margin: 10px 15px;
}
figure.center {
    margin: 10px auto;
}
figure.fr {
    float: right;
    margin: 0 15px 5px 15px;
}
figure.fl {
    float: left;
    margin: 0 15px 5px 15px;
}
figure img {
    margin: 3px 0;
    max-width: 100%;
    box-sizing: border-box;
}
figcaption {
    font-size: 0.9em;
    line-height: 1.3;
    padding: 0 5px;
    text-align: center;
}
/* utility */

a.pdf {
    background: url(../images/ic_pdf.png) right no-repeat;
    padding-right: 24px;
    -moz-background-size: 20px 20px;
    background-size: 20px 20px;
}
a.blank {
    background: url(../images/ic_blank.png) right no-repeat;
    padding-right: 20px;
    -moz-background-size: 18px 17px;
    background-size: 18px 17px;
}
a.doc {
    background: url(../images/ic_doc.png) right no-repeat;
    padding-right: 24px;
    -moz-background-size: 20px 18px;
    background-size: 20px 18px;
}
a.xls {
    background: url(../images/ic_xls.png) right no-repeat;
    padding-right: 24px;
    -moz-background-size: 20px 18px;
    background-size: 20px 18px;
}
a.ppt {
    background: url(../images/ic_ppt.png) right no-repeat;
    padding-right: 24px;
    -moz-background-size: 20px 18px;
    background-size: 20px 18px;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb05 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mt05 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.w10 {
    width: 10%;
}
.w15 {
    width: 15%;
}
.w20 {
    width: 20%;
}
.w25 {
    width: 25%;
}
.w30 {
    width: 30%;
}
.w35 {
    width: 35%;
}
.w40 {
    width: 40%;
}
.w45 {
    width: 45%;
}
.w50 {
    width: 50%;
}
.w60 {
    width: 60%;
}
.w70 {
    width: 70%;
}
.w80 {
    width: 80%;
}
.w90 {
    width: 90%;
}
.w95 {
    width: 95%;
}
.w100 {
    width: 100%;
}
.clear {
    clear: both;
}
.center {
    text-align: center;
    text-indent: 0;
}
.right {
    text-align: right;
}
.left {
    text-align: left;
}
.small {
    font-size: 0.85em;
}
.large {
    font-size: 1.15em;
}
hr {
    border-top: 1px solid #8c8b8b;
    margin: 25px auto;
    clear: both;
    width: 90%;
}
blockquote {
    margin: 5px 0 5px 9px;
}
blockquote p {
    text-indent: 0;
}
.red {
    color: #F00;
}
p.button {
    text-align: center;
    margin: 10px auto;
    width: 300px;
}
p.button a {
    color: #fff;
    background: #aae147;
    text-decoration: none;
    padding: 10px 20px;
    display: block;
    border-radius: 5px;
    font-weight: 900;
    font-size: 18px;
}
p.button a:hover {
    opacity: 0.6;
}
p.border_frame {
    margin: 10px 20% 15px;
    padding: 15px 20px;
    text-indent: 0;
    border: 1px solid #333;
}
table.color {
    width: 95%;
    margin: 15px auto 25px;
    border-top: 1px dotted #9D9D9D;
}
table.color th {
    border-left: none;
    border-right: none;
    border-top: 1px dotted #9D9D9D;
    border-bottom: 1px dotted #9D9D9D;
    padding: 8px;
    font-weight: normal;
    text-align: left;
    background: #9fc3e0;
    color: #FFF;
}
table.color td {
    padding: 8px;
    border: none;
    border-bottom: 1px dotted #9D9D9D;
}
table.color tr:nth-child(odd) {
    background-color: #F9F9F9;
}
/* icon */

.new {
    width: 32px;
    height: 11px;
    margin-left: 3px;
}
.rois, a.rois {
    background-color: #0E7AC4;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.nipr, a.nipr {
    background-color: #40AAEF;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.nii, a.nii {
    background-color: #7c2edd;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.nig, a.nig {
    background-color: #74bf52;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.ism, a.ism {
    background-color: #fa1b26;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.ds, a.ds {
    background-color: #f9ca24;
    color: #fff;
    padding: 1px 0;
    font-size: 12px;
    width: 55px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
    margin-left: 5px;
    text-decoration: none;
}
.tric {
    background-color: #f9ca24;
    color: #fff;
    padding: 0;
    font-size: 12px;
    width: 50px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 3px;
    margin-left: 5px;
}
.dbcls {
    background-color: #f9ca24;
    color: #fff;
    padding: 0;
    font-size: 12px;
    width: 50px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 3px;
    margin-left: 5px;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
.rois, a.rois, .nipr, a.nipr, .nii, a.nii, .nig, a.nig, .ism, a.ism, .ds, a.ds, .tric, .dbcls {
    padding: 5px 0 0;
}
}
.icon-rois::after {
    content: '機構本部';
    background-color: #0E7AC4;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-nii::after {
    content: '情報研';
    background-color: #7c2edd;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-nig::after {
    content: '遺伝研';
    background-color: #74bf52;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-ism::after {
    content: '統数研';
    background-color: #fa1b26;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-nipr::after {
    content: '極地研';
    background-color: #40AAEF;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-ds::after {
    content: 'DS施設';
    background-color: #f9ca24;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-db::after {
    content: '統合DB';
    background-color: #f9ca24;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-sinryoiki::after {
    content: '新領域';
    background-color: #f9ca24;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 50px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-niids::after {
    content: '情報研 & DS施設';
    background-color: #FBA848;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 100px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-roisnii::after {
    content: 'ROIS & 情報研';
    background-color: #FBA848;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 100px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}
.icon-research::after {
    content: 'リサーチコモンズ';
    background-color: #FBA848;
    color: #fff;
    padding: 1px 0;
    margin-left: 10px;
    font-size: 12px;
    width: 100px;
    height: 13px;
    text-align: center;
    display: inline-block;
    position: relative;
    bottom: 1px;
}

@media all and (-ms-high-contrast:none) { /*for IE11*/
.icon-rois::after, .icon-nii::after, .icon-nig::after, .icon-nipr::after, .icon-ism::after, .icon-ds::after, .icon-db::after, .icon-sinryoiki::after, .icon-niids::after, .icon-roisnii::after, .icon-research::after {
    padding: 3px 5px 0;
    bottom: 2px;
}
}

@media only screen and (min-width: 481px) and (max-width: 959px) {
#header_frame {
    height: 16.7vw;
    border-top: 0.5vw solid #00549c;
    border-bottom: 0.1vw solid #e1e1e1;
}
header {
    height: 13.7vw;
}
#hnav {
    top: 1vw;
    min-width: 45%;
}
#hnav ul li {
    height: 2vw;
    min-height: 15px;
    padding: 0 1%;
}
#hnav ul li img {
    height: 2vw;
    min-height: 15px;
}
#search {
    top: 4vw;
}
ul#menu li {
    margin: 0 1.8%;
    padding: 0;
}
ul#menu li a {
    height: 2vw;
    line-height: 3vw;
    font-size: 2vw;
    padding: 0 0 .7vw;
}
ul#menu li.img {
    padding: 0 0 .2vw;
}
ul#menu li.img a {
    padding: 0;
    height: 2.5vw;
}
ul#menu li.img img {
    width: 3vw;
}
ul#menu li ul li a {
    font-size: 1.7vw;
    line-height: 2.5vw;
}
ul#menu li#menu1 ul {
    width: 22vw;
    left: calc(((12vw - 22vw) / 2) - 5px);
}
ul#menu li#menu2 ul {
    width: 16vw;
    left: calc(((20vw - 16vw) / 2) - 5px);
}
ul#menu li#menu3 ul {
    width: 18vw;
    left: calc(((8vw - 18vw) / 2) - 5px);
}
ul#menu li#menu4 ul {
    width: 18vw;
    left: calc(((14vw - 18vw) / 2) - 5px);
}
ul#menu li#menu5 ul {
    width: 18vw;
    left: calc(((8vw - 18vw) / 2) - 5px);
}
ul#menu li#menu6 ul {
    width: 14vw;
    left: calc(((8vw - 14vw) / 2) - 5px);
}
}
 @media only screen and (max-width: 480px) {
body {
    font-size: 13px;
}
#sb-site {
    width: 100% !important;
    background: #fff;
}
.sp {
    display: block;
}
.pc {
    display: none;
}
#header_frame {
    height: 25vw;
    margin-bottom: 8px;
    width: 100%;
}
header {
    width: 100%;
    height: auto;
    margin: 0 auto;
    border: none;
}
header h1 {
    width: 80%;
    top: 5vw;
    left: 16%;
    height: auto;
}
header h1 img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
#hnav, #search {
    display: none;
}
nav {
    display: none;
}
ul#menu {
    margin: 5px;
    display: block;
}
ul#menu li {
    width: 98%;
    margin: 0 0 0 2%;
    padding: 0;
    text-align: left;
    border: none;
}
ul#menu li a {
    height: auto;
    margin: 15px 0 0;
    padding: 0 0 6px;
    border-bottom: 3px solid #ccfe02;
}
ul#menu li ul {
    position: static;
}
ul#menu li ul li {
    border: none;
}
ul#menu li ul li a {
    margin: 3px 0 0 0;
    border: none;
}
ul#lang_sp {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
ul#lang_sp li {
    height: auto;
    margin: 10px 5px 0;
    padding: 0;
    text-align: left;
    display: block;
    background-image: none;
}
ul#lang_sp li img {
    height: 5vw;
}
#toggle {
    display: block;
    position: absolute;
    top: 9vw;
    left: 2%;
    background: #00549c;
    padding: 3px 0 2px;
    cursor: pointer;
    z-index: 9999;
}
#toggle ul {
    margin: 0;
    padding: 0;
}
#toggle ul li {
    margin: 0;
    padding: 0;
    background: none;
}
.sb-slidebar.sb-left {
    display: block;
    background: #fff !important;
    -webkit-overflow-scrolling: touch;
}
.sb-right-inner {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}
.css-bar {
    display: inline-block;
    position: relative;
    margin: 0 7px 3px;
    padding: 0;
    background: #fff;
}
.css-bar, .css-bar:before, .css-bar:after {
    width: 25px;
    height: 2px;
}
.css-bar:before, .css-bar:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    background: #fff;
}
.css-bar:before {
    margin-top: -6px;
}
.css-bar:after {
    margin-top: 4px;
}
html.sb-active #sb-site, .sb-toggle-left, .sb-toggle-right, .sb-open-left, .sb-open-right, .sb-close {
    cursor: pointer;
}
#toggle p {
    margin: 0 auto 3px;
    padding: 0;
    font-size: 10px;
    color: #fff;
    text-indent: 0;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1;
}
#links .wrapper {
    width: 100%;
}
#links ul {
    width: 94%;
    margin: 20px auto 15px;
    padding: 0 2%;
    float: none;
    min-height: inherit;
}
#links ul:last-child {
    border-right: none;
}
#footer_frame {
    width: 94%;
    height: auto;
    padding: 16px 3%;
}
#address {
    width: 100%;
}
footer {
    width: 100%;
    padding: 2vw 0 0;
}
main {
    width: 100%;
    float: none;
    min-height: 300px;
    padding: 0 0 10px;
}
aside {
    width: 100%;
    float: none;
}
#contents {
    width: 100%;
    margin: 0;
}
main h1 {
    padding: 10px 0 5px;
    font-size: 18px;
    margin: 0 1% 20px;
	line-height: 2.2;
}
main h1::before {
    top: 45px;
}
h2 {
    font-size: 16px;
    margin: 20px 1% 10px;
    padding: 6px 2% 7px;
    width: 94%;
}
h3 {
    font-size: 15px;
    margin: 15px auto;
    padding: 6px 2% 4px;
    width: 94%;
}
h4 {
    font-size: 14px;
    margin: 10px 5px;
    padding: 0;
    width: 100%;
}
h5 {
    font-size: 13px;
    margin: 10px 5px 5px;
    padding: 0;
}
p {
    margin: 5px;
}
ul {
    margin: 5px 5px 5px 10px;
}
ul li {
    background-position: 0 6px;
}
ol {
    margin: 5px 5px 5px 35px;
}
table {
    width: 95%;
    margin: 5px auto;
}
figure {
    width: 100%;
    margin: 10px auto;
}
figure.fl, figure.fr, figure.center {
    float: none;
    width: 100%;
    margin: 10px auto;
    text-align: center;
}
figure img {
    width: 100%;
    margin: 0 auto;
}
/* utility */

.mb0sp {
    margin-bottom: 0 !important;
}
.mb05sp {
    margin-bottom: 5px !important;
}
.mb10sp {
    margin-bottom: 10px !important;
}
.mb15sp {
    margin-bottom: 15px !important;
}
.mb20sp {
    margin-bottom: 20px !important;
}
.mb25sp {
    margin-bottom: 25px !important;
}
.mb30sp {
    margin-bottom: 30px !important;
}
.mt0sp {
    margin-top: 0 !important;
}
.mt05sp {
    margin-top: 5px !important;
}
.mt10sp {
    margin-top: 10px !important;
}
.mt15sp {
    margin-top: 15px !important;
}
.mt20sp {
    margin-top: 20px !important;
}
.mt25sp {
    margin-top: 25px !important;
}
.mt30sp {
    margin-top: 30px !important;
}
.w05sp {
    width: 5% !important;
}
.w10sp {
    width: 10% !important;
}
.w15sp {
    width: 15% !important;
}
.w20sp {
    width: 20% !important;
}
.w25sp {
    width: 25% !important;
}
.w30sp {
    width: 30% !important;
}
.w35sp {
    width: 35% !important;
}
.w40sp {
    width: 40% !important;
}
.w45sp {
    width: 45% !important;
}
.w50sp {
    width: 50% !important;
}
.w55sp {
    width: 55% !important;
}
.w60sp {
    width: 60% !important;
}
.w65sp {
    width: 65% !important;
}
.w70sp {
    width: 70% !important;
}
.w75sp {
    width: 75% !important;
}
.w80sp {
    width: 80% !important;
}
.w85sp {
    width: 85% !important;
}
.w90sp {
    width: 90% !important;
}
.w95sp {
    width: 95% !important;
}
.w100sp {
    width: 100% !important;
}
#page-top {
    bottom: 25px;
    right: 10px;
}
.xscroll {
    width: 100%;
    overflow-x: auto;
}
.xscroll table {
    width: 900px;
    margin: 10px;
}
.movie-wrap {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
}
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
