@charset "UTF-8";
/*
Description: CSS for TESTBED.
Version: 1.0.0
*/

/* Font
**************************************************************************************/
/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);*/

/* CSS Reset
**************************************************************************************/
body {
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 14px;
    color: #333333;
}

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-style: normal;
    font-weight: normal;
    font-size: 100%;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

html {
    overflow-y: scroll;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

input, textarea {
    margin: 0;
    padding: 0;
}
/*
ol, ul {
    list-style: none;
}*/

table {
    border-collapse: collapse;
    border-spacing: 0;
    word-break: break-all;
}

caption, th {
    text-align: left;
}

a:focus {
    outline: none;
}

br {
    letter-spacing: normal;
}

hr {
    display: none;
}

img {
    vertical-align: bottom;
    font-size: 1px;
}

img a {
    border: none;
}

.container {
    max-width: 1280px;
}


/*=============================================================================
 common
=============================================================================*/
.displayBlock {
    display: block;
}

/* Float Clear
------------------------------------------*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    line-height: 0;
    font-size: 0;
}

.clearfix {
    display: inline-block;
}

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

.clear {
    clear: both;
}




/*=============================================================================
 5column
=============================================================================*/
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}

.col-xs-15 {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-15 {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-15 {
        width: 20%;
        float: left;
    }
}

@media (max-width: 991px) {
    .col-md-15 {
        width: 100%;
        float: none;
    }
}

@media (min-width: 1200px) {
    .col-lg-15 {
        width: 20%;
        float: left;
    }
}


/*=============================================================================
 layout
=============================================================================*/

body {
    /*
    display: flex;
    flex-direction: column;*/
    min-height: 100vh;
    width: 100%;
}

.inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
}

.inner::after {
    clear: both;
    content: '';
    display: block;
}


/*=============================================================================
 header
=============================================================================*/
/* 背景要素 <div class="background"></div> */
.background {
    background-position: center center;
    z-index: -3;                    /* 背景であるため最背面 */
    background-image: url(../img/sub_bg_img.jpg);   /* 平行な画像 */
    background-repeat: no-repeat;
    position: fixed;                /* fixedでないと背景がバグる */
    background-size: cover;   /* 上下トリミングで余白をなくす */
    width: 100%;
    height: 600px;
}



header {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* menu Bar
-----------------------------*/
header .menuBar {
    position: fixed;
    padding-left: 0;
    padding-right: 0;
    background-color: #05214Baa;
    z-index: 9999;
}

header .menuBarBG {
    transition: .5s;
    background-color: #05214Bdd;

}

@media (min-width: 992px) {
    header .menuBox {
        opacity: 1;
        background-color: #0D1815;
    }

}

.menuBar.hidden {
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}

.menuBar.visible {
opacity: 1;
pointer-events: auto;
transition: opacity 0.3s ease;
}

/*Logo
-----------------------------*/
@media (min-width: 992px) {
    header .logoBox {
        position: relative;
        top: 0px;
        left: 0px;
        background: #826E4C 0% 0% no-repeat padding-box;
        padding: 18px 10px;
        max-width: 400px;
        height: 100%;
    }
    header .logoBox a.logoLink {
        text-decoration: none;
    }

    header .logoBox a.logoLink:hover {
        text-decoration: none;
    }

    header .logoBox .logo_testbed {
        margin: 0px;
        text-align: center;
        opacity: 1;
        color:#ffffff;
        font-size: 0.9rem;
    }
    header .logoBox .logo_testbed img{
        max-height: 71px;
    }
    header .logoBox .logo_text {
        margin: 10px 0px 0px;
        text-align: center;
        opacity: 1;
        color:#ffffff;
        font-size: 0.9rem;
    }
}

@media (max-width: 991px) {
    header .logoBox {
        position: relative;
        top: 0px;
        left: 0px;
        background: #826E4C 0% 0% no-repeat padding-box;
        padding: 10px;
        max-width: 280px;
    }

    header .logoBox a.logoLink {
        text-decoration: none;
    }

    header .logoBox a.logoLink:hover {
        text-decoration: none;
    }
    header .logoBox .logo_testbed img{
        max-height: 30px;
    }
    header .logoBox .logo_testbed {
        margin: 0px;
        text-align: left;
        max-width: 260px;
        color:#ffffff;
        opacity: 1;
        font-size: 0.7rem;
    }
}



/*==================================================================================
mainImg
==================================================================================*/
@media (min-width: 992px) {
    .topMainImg {
        position: relative;
        width: 100%;
        height: auto;
        background: transparent url(../img/top_main_2026.jpg) center center no-repeat padding-box;
        background-size: cover;
    }

    .topMainImg .leadImg {
        margin: 180px 10% 0 auto;
        max-width: 800px;
        color: #fff;
        font-size: 2rem;
        text-align: right;
        font-weight: bold;
    }

    .subMainImg {
        position: relative;
        width: 100%;
        height: 460px;
        /*background: transparent url(../img/sub_main_img.jpg) center center no-repeat padding-box;*/
        background-size: cover;
    }

    .subMainImg .leadImg {
        margin: 200px auto 0 auto;
        max-width: 800px;
        color: #fff;
        font-size: 2rem;
    }

    .subMainImg .flexBox {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-content: flex-start;
        min-height: 170px;
    }
    .subMainImg .flexBox.inner {
        padding-left: 10px;
        padding-right: 10px;
        /* width: 1136px; */
    }
    .subMainImg .flexBox .sub-image__left {
        padding: 250px 30px 30px 10px;
        z-index: 1;
        flex-grow: 1;
    }
    .subMainImg .flexBox .sub-image__left h1 {
        opacity: 1;
        display: inline-block;
        text-align: left;
        line-height: 38px;
    }
    .subMainImg .flexBox .sub-image__left h1 span.ld {
        font-size: 1.8rem;
        font-weight: 400;
        color: #ffffff;
        padding: 10px 20px;
        background-color: #2D2D2D;
    }
}

@media (max-width: 991px) {
    .topMainImg {
        position: relative;
        width: 100%;
        min-height: 240px;
        background: transparent url(../img/top_main_img.jpg) center center no-repeat padding-box;
        background-size: cover;
    }
    .topMainImg .leadImg {
        color: #fff;
        font-size: 3.6vw;
        margin: 160px auto 0 auto;
        text-align: center;
    }
    .subMainImg {
        position: relative;
        width: 100%;
        height: 280px;
        background: transparent url(../img/sub_main_img.jpg) center center no-repeat padding-box;
        background-size: cover;
    }
    .subMainImg .leadImg {
        color: #fff;
        font-size: 3.6vw;
        margin: 130px auto 0 auto;
        height: 100px;
    }

    .subMainImg .flexBox {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-content: flex-start;
        min-height: 170px;
    }
    .subMainImg .flexBox.inner {
        padding-left: 10px;
        padding-right: 10px;
        /* width: 1136px; */
    }
    .subMainImg .flexBox .sub-image__left {
        padding: 130px 30px 30px 10px;
        z-index: 1;
        flex-grow: 1;
    }
    .subMainImg .flexBox .sub-image__left h1 {
        opacity: 1;
        display: inline-block;
        text-align: left;
        line-height: 38px;
    }
    .subMainImg .flexBox .sub-image__left h1 span.ld {
        font-size: 1.8rem;
        font-weight: 400;
        color: #ffffff;
        padding: 10px 20px;
        background-color: #2D2D2D;
    }

}


/*==================================================================================
パンくず
==================================================================================*/
@media (min-width: 992px) {
    .breadcrumbArea {
        position: absolute;
        bottom: 0;
        width: 100%;
    }

    .breadcrumbArea .breadcrumbBox {
        background: #38414D;
        padding: 14px 20px;
        color: #ffffff;
        font-size: .8rem;
    }
    .breadcrumbArea .breadcrumbBox a{
        color: #ffffff;
    }
}

@media (max-width: 991px) {
    .breadcrumbArea {
        position: absolute;
        bottom: 0;
        width: 100%;
    }
    .breadcrumbArea .breadcrumbBox {
        background: #38414D;
        padding: 14px 20px;
        color: #ffffff;
        font-size: .8rem;
    }
    .breadcrumbArea .breadcrumbBox a{
        color: #ffffff;
    }
}




/*========================================================================================
testBedIcon
=========================================================================================*/
@media (min-width: 992px) {
    /*h1タイトルエリア*/
    .topMainImg .siteTitleArea{
        position: relative;
        margin-top: 180px;
        background: #083f7b;
        background-position: right bottom;
        background-repeat: no-repeat;
        padding: 3rem;
        margin-bottom: 100px;
    }
    .topMainImg .siteTitleArea h1{
        color: #ffffff;
        font-size: 2.6rem;
        font-weight: bold;
        text-align: left;
        padding-bottom: 1rem;
    }

    /*iconエリア*/
    .topMainImg .iconArea{
        position: relative;
        margin-top: 30px;
        margin-bottom: 20px;
        background: url(../img/news_bg.svg), #ffffff;
        background-repeat: no-repeat;
        background-position: right bottom;
        min-height: 200px;
        padding: 3rem;
    }
    .topMainImg .iconArea h2 {
        color: #083f7b;
        font-size: 2rem;
        font-weight: bold;
        text-align: left;
        padding-bottom: 1rem;
    }

    /*iconエリア*/
    .topMainImg .iconAreaOther{
        position: relative;
        margin-top: 10px;
        margin-bottom: 100px;
        background: -moz-linear-gradient(top, #1A2128dd, #1A2128dd);
        background: -webkit-linear-gradient(top, #1A2128dd, #1A2128dd);
        background-repeat: no-repeat;
        background-position: right bottom;
        min-height: 200px;
        padding: 3rem 5rem 4rem 5rem;
    }
    .topMainImg .iconAreaOther h2 {
        font-size: 2rem;
        color: #ffffff;
        padding: 1rem 2rem;
        text-align: center;
    }


    /*iconエリアのリンク*/
    .topMainImg .iconArea a.iconLink {
        display: flex;
        width: 100%;
        min-height: 100px;
        color: #333333;
        cursor: pointer;
        margin-bottom: 1.5rem;
        text-decoration: none;
    }
    .topMainImg .iconArea a.iconLink:hover {
        width: 100%;
        min-height: 100px;
        cursor: pointer;
        opacity: 0.7 ;
    }


    /* icon内タイトル余白調整 */
    .topMainImg .iconArea .iconBox{
        padding-right: 0;
    }


    /* icon内タイトルサイズ調整 */
    .topMainImg .iconArea .iconBox .iconLabel{
        position: relative;
        width: 100%;
        min-height: 138px;
        color: #333333;
        background: #f3f3fb;
        padding: 1rem 2.4rem;
        font-size: 1rem;
        border-radius: 0.1rem;
        border: none;
    }


    /* icon内タイトル位置指定 */
    .topMainImg .iconArea .iconBox .iconTitle{
        position: absolute;
        top: 50%;
        left: 50%;
        transform:translate(-50%,-50%);
        width:80%;
        font-weight: bold;
    }


    /* icon内テキスト余白調整 */
    .topMainImg .iconArea .textBox{
        padding-left: 0;
    }


    /* icon内テキストボーダー指定 */
    .topMainImg .iconArea .textBox .textBorder{
        height: 100%;
        border: 1px solid #cccccc90;
    }


    /* icon内テキスト位置指定 */
    .topMainImg .iconArea .textBox .icontext{
        height: 100%;
        display: flex;
        align-items: center;
        padding: 0 15px;
        justify-content: space-between;
    }

}

@media (max-width: 991px) {
    /*h1タイトルエリア*/
    .topMainImg .siteTitleArea{
        position: relative;
        margin-top: 180px;
        background: #083f7b;
        background-position: right bottom;
        background-repeat: no-repeat;
        padding-top: 3rem;
        padding-bottom: 3rem;
        margin-bottom: 100px;
    }
    .topMainImg .siteTitleArea h1{
        color: #ffffff;
        font-size: 2.6rem;
        font-weight: bold;
        text-align: left;
        padding-bottom: 1rem;
    }

    /*iconエリア*/
    .topMainImg .iconArea{
        position: relative;
        margin-top: 30px;
        margin-bottom: 20px;
        background: url(../img/news_bg.svg), #ffffff;
        background-repeat: no-repeat;
        background-position: right bottom;
        min-height: 200px;
        padding: 3rem 0.5rem;
    }
    .topMainImg .iconArea h2 {
        color: #083f7b;
        font-size: 2rem;
        font-weight: bold;
        text-align: left;
        padding-bottom: 1rem;
    }

    .topMainImg .iconAreaOther{
        position: relative;
        margin-top: 10px;
        margin-bottom: 100px;
        background: url(../img/news_bg.svg), -moz-linear-gradient(top, #1A2128dd, #1A2128dd);
        background: url(../img/news_bg.svg), -webkit-linear-gradient(top, #1A2128dd, #1A2128dd);
        background-repeat: no-repeat;
        background-position: right bottom;
        min-height: 200px;
        padding: 5vw 4vw 6vw 4vw;
    }
    .topMainImg .iconAreaOther h2 {
        font-size: 4vw;
        font-weight: 400;
        color: #ffffff;
        padding: 1rem 3rem;
        text-align: center;
    }


    /*iconエリアのリンク*/
    .topMainImg .iconArea a.iconLink {
        display: block;
        width: 100%;
        min-height: 100px;
        color: #333333;
        cursor: pointer;
        margin-bottom: 1.5rem;
        text-decoration: none;
    }
    .topMainImg .iconArea a.iconLink:hover {
        width: 100%;
        min-height: 100px;
        cursor: pointer;
        opacity: 0.7 ;
    }


    /* icon内タイトルサイズ調整 */
    .topMainImg .iconArea .iconBox .iconLabel{
        position: relative;
        width: 100%;
        min-height: 100px;
        color: #333333;
        background: #f3f3fb;
        padding: 1rem 2.4rem;
        font-size: 1rem;
        border-radius: 0.1rem;
        border: none;
    }


    /* icon内タイトル位置指定 */
    .topMainImg .iconArea .iconBox .iconTitle{
        position: absolute;
        top: 50%;
        left: 50%;
        transform:translate(-50%,-50%);
        width:90%;
        font-weight: bold;
    }


    /* icon内テキストボーダー指定 */
    .topMainImg .iconArea .textBox .textBorder{
        height: 100%;
        border: 1px solid #cccccc90;
        min-height: 100px;
        display: flex;
        align-items: center;
    }


    /* icon内テキスト位置指定 */
    .topMainImg .iconArea .textBox .icontext{
        height: 100%;
        display: flex;
        align-items: center;
        padding: 15px;
        justify-content: space-between;
    }

}


/* h1タイトルエリア内テキスト位置指定 */
.topMainImg .siteTitleArea .titletext{
    color: #ffffff;
    line-height: 2rem;
    padding-bottom: 2rem;
}


/* icon内テキスト> */
.topMainImg .iconArea .textBox .icontext .arrowRight{
    display: inline-block;
    min-width: 18px;
    height: 18px;
    margin: 0 10px;
    border-top: 4px solid #000;
    border-right: 4px solid #000;
    transform: rotate(45deg);
}


/* B5G border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderB5G{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #356900;
}


/* B5Gモバイル border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderB5GM{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #6E0A00;
}


/* DCCS border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderDCCS{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #005471;
}


/* JGN border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderJGN{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #E76F97;
}


/* StarBED border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderStarBED{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #002F50;
}


/* P4 border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderP4{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #FFA100;
}


/* B5G_Release border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderB5G_Release{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #36a9d5;
}


/* Other border
--------------------------------------------*/
.topMainImg .iconArea .iconBox .borderOther{
    position: absolute;
    width: 100%;
    height: 90%;
    top: 5px;
    left:5px;
    border-left:5px solid #826E4C;
}


/*NEWマーク*/
.topMainImg .iconArea .newMark{
    position: absolute;
    top: 0;
    left: 0;
    background-color: #B40002;
    font-size: 0.8rem;
    color: #ffffff;
    padding: 5px 10px;
}



/*=============================================================================
nav
===============================================================================*/

header nav {
    border-radius: 0px;
}

header nav.bg-fixedWhite {
    color: #ffffff;
}

.nav-link_dark {
    color: rgba(51, 51, 51, 1) !important;
}

.nav-link_dark:hover {
    color: rgb(255, 162, 0) !important;
    border-bottom: 2px solid rgb(255, 162, 0) !important;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: block !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    header nav.bg-custom {
        background-color: rgba(255, 255, 255, 0) !important;
        color: #ffffff;
        padding: 0.5rem 2.0rem 0rem 2.0rem;
    }

    .navbar-dark .navbar-nav .nav-link {
        color: rgba(255, 255, 255, 1);
        border-bottom: 2px solid rgba(255, 255, 255, 0);
    }

    .navbar-dark .navbar-nav .nav-link:hover {
        color: rgba(255, 255, 255, 1);
        border-bottom: 2px solid rgba(255, 255, 255, 1);
    }

    .navbar-dark .navbar-nav .nav-link:active {
        color: rgba(255, 255, 255, 1);
    }

    .navbar-dark .navbar-nav .nav-link:visited {
        color: rgba(255, 255, 255, 1);
    }

    .navbar-dark .navbar-nav .nav-link-contact:hover {
        color: rgba(255, 255, 255, 1);
        border-bottom: 0px;
    }
}

@media (max-width: 991px) {
    header nav.bg-custom {
        background: #826E4C 0% 0% no-repeat padding-box !important;
        padding: 0.7rem ;
    }
    header nav {
        /*background-color: #0D1815 !important;*/
        background: #826E4C 0% 0% no-repeat padding-box !important;
    }

    header nav.navbar-dark .navbar-nav .nav-link {
        color: rgb(255, 255, 255);
        background-color: rgb(45, 45, 45);
        margin-bottom: 1vw;
        padding: 1vw 2vw;
    }

    header nav.navbar-dark .navbar-nav.sub-nav{
        flex-direction: row-reverse;
    }
    header nav.navbar-dark .navbar-nav.sub-nav li.nav-item{
        margin-left: 5px;
    }
    header nav.navbar-dark .navbar-nav.sub-nav .nav-link {
        color: rgb(255, 255, 255);
        background-color: rgb(45, 45, 45);
        margin-bottom: 1vw;
        padding: 1vw 2vw;
    }
    header nav.navbar-dark .navbar-nav.sub-nav .nav-link-contact {
        color: rgb(45, 45, 45);
        background-color: rgb(255, 255, 255);
        margin-bottom: 1vw;
        padding: 1vw 2vw;
    }
    header nav.navbar-dark .navbar-nav li.nav-item ul{
        margin-left: 5px;
        list-style: none;
    }
    header nav.navbar-dark .navbar-nav li.nav-item ul li{
        margin-bottom: 10px;
    }
    header nav.navbar-dark .navbar-nav li.nav-item ul li a{
        background-color: #444;
        color: #fff;
        padding: 10px 16px;
    display: block;
    }
}



header nav.navbar-dark .navbar-nav .nav-link {
    color: rgb(255, 255, 255);
}
header nav .logoBox {
    position: relative;
    top: 0px;
    left: 0px;
    /*background: #0D1815 0% 0% no-repeat padding-box;*/
    display: flex;
    flex-direction: row;
    opacity: 1;
}
header nav a.logoLink {
    text-decoration: none;
}
header nav a.logoLink:hover {
    text-decoration: none;
}
header nav .logo_testbed {
    margin: 0px;
    text-align: left;
    max-width: 140px;
    opacity: 1;
}
header nav .logo_ex {
    margin: 18px 0 18px 15px;
    text-align: left;
    max-width: 180px;
    opacity: 1;
}


/* SP メニューサイズ
---------------------------------*/
@media (max-width: 991px) {
    header nav ul.navbar-nav li.nav-item {
        font-size: 1.4rem;
        font-weight: bold !important;
    }
    header nav ul.navbar-nav li.nav-item .dropdown-menu {
        font-size: 1.3rem;
    }
}

/* メニューの並び方
----------------------------------*/
@media (min-width: 992px) {
    .navbar-expand-lg ul.navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        align-items: flex-end;
        padding-top: 5px;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav {
        justify-content: flex-end;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li{
        color: #ffffff;
        border: 1px solid #ffffff;
        margin-left: 10px;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li.nav-item-contact{
        border: 1px rgb(255, 153, 0) solid;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li.nav-item-contact:hover{
        border: 1px solid #ffffff;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li a{
        text-decoration: none;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li a.nav-link:hover{
        text-decoration: none;
        background-color: #ffffff;
        color: #333333;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li a.nav-link-contact{
        text-decoration: none;
        background-color: rgb(255, 153, 0);
        color: #333333;
        font-weight: bold;
    }
    .navbar-expand-lg ul.navbar-nav.sub-nav li a.nav-link-contact:hover{
        text-decoration: none;
        background-color: transparent;
        color: #ffffff;
    }
}
@media (max-width: 991px) {

}


/* ハンバーガーメニュー
--------------------------------------*/
.navbar-dark .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-toggler {
    color: rgba(0, 0, 0, 1);
    border: none;
    padding: 0px;
    width: 36px;
    height: 36px;
    box-sizing: border-box;
    position: relative;
    outline: none;
}

.navbar-dark .navbar-toggler-icon {
    background-image: none;
    /* この行で背景画像を無効化 */
    background-color: #bbb;
    width: 36px;
    height: 2px;
    display: block;
    position: absolute;
    transition: ease .5s;
}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {
    top: 7px;
}
.navbar-toggler-icon:nth-of-type(2) {
    top: 14px;
}
.navbar-toggler-icon:nth-of-type(3) {
    top: 21px;
}

/* メニューが開いている時の　3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
    top: 13px;
    transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
    opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
    top: 13px;
    transform: rotate(-45deg);
}


/* メガメニュー
------------------------------------------------------*/
@media (min-width: 992px) {
    .navi_wrap {
        /*width: 1000px;*/
        margin: 0 0 0 auto;
        font-size: 0.9rem;
      }

      .navi_wrap > ul {
        display: flex;
        background: none;
        position: relative;
      }

      .navi_wrap > ul a {
        cursor: pointer;
        color: #ffffff;
      }

      .navi_wrap > ul > li {
        /*width: 16.6%;*/
        padding: 10px;
      }

      .navi_wrap > ul > li > ul {
        width: 100%;
        min-width: 1000px;
        display: flex;
        position: absolute;
        top: 80px;
        left: 0;
        height: 0;
        visibility: hidden;
        background: #005f95;
        transition: 0.3s;
      }

      .navi_wrap > ul > li > ul > li {
        /*width: 33%;*/
        padding: 10px;
        font-size: 0;
      }

      .navi_wrap > ul > li > ul > li a {
        cursor: pointer;
        color: #ffffff;
      }

      .navi_wrap > ul > li:hover > ul {
        height: 180px;
        visibility: visible;
        transition: 0.3s;
      }

      .navi_wrap > ul > li:hover > ul > li {
        height: 100%;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: 20px;
      }


    .navi_wrap > ul > li > ul > li::before {
        vertical-align: 0;
    }
    .navi_wrap > ul > li > ul > li::before {
        display: inline-block;
        margin-right: 15px;
        vertical-align: 0.255em;
        content: "";
        border-top: 0.3em solid transparent;
        border-right: 0;
        border-bottom: 0.3em solid transparent;
        border-left: 0.3em solid;
    }
}










/*=============================================================================
main
=============================================================================*/
.content {
    flex: 1;
    padding-top: 0px;
    padding-bottom: 0;
}


/* コンテンツ内リンクリスト Area
------------------------------------------------*/
.content .bnrArea {
    position: relative;
    background: url(../img/top_bg_img_01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #F6F4F3;
    width: 100%;
    height: auto;
    min-height: 200px;
    padding-top: 0px;
    padding-bottom: 0px;
    opacity: 1;
}
.content .bnrArea .bnrBox{
    padding: 3rem 5rem 4rem 5rem;
    opacity: 1;
}
.content .bnrArea a.btnOther {
    position: relative;
    width: 100%;
    min-height: 100px;
    color: #ffffff;
    background: url(../img/btn_tex.png) no-repeat 97% center, #133F70;
    background: url(../img/btn_tex.png) no-repeat 97% center, #1359a9;
    background-size:cover;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    border: none;
    cursor: pointer;
}
.content .bnrArea a.btnOther:hover {
    width: 100%;
    color: #ffffff;
    background: url(../img/btn_tex.png) no-repeat 99% center, #1260ba;
    background: url(../img/btn_tex.png) no-repeat 99% center, #1260ba;
    background-size:cover;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    border: none;
    cursor: pointer;
}

/**/
.content .bnrArea a.btnOtherLine {
    position: relative;
    width: 100%;
    min-height: 100px;
    color: #000000;
    background-size:cover;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    border: 1px solid #000;
    border-radius: 0px;
    cursor: pointer;
}
.content .bnrArea a.btnOtherLine:hover {
    width: 100%;
    background:  #f5f5f5;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    border: 1px solid #000;
    border-radius: 0px;
    cursor: pointer;
}

.content .bnrArea .btntext{
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width:100%;
}


/*procedureArea*/
.content .procedureArea {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #A2D4F1;
    width: 100%;
    height: auto;
    min-height: 200px;
    padding-top: 0px;
    padding-bottom: 0px;
    opacity: 1;
}
.content .procedureArea .bnrBox{
    padding: 3rem 5rem 4rem 5rem;
    opacity: 1;
}
.content .procedureArea a.btnProcedure {
    position: relative;
    width: 100%;
    min-height: 100px;
    color: #000000;
    border: #000000 1px solid;
    background: url(../img/btn_arrow_bk.svg) #7ebcff69 no-repeat 98% center;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    cursor: pointer;
}
.content .procedureArea a.btnProcedure:hover {
    width: 100%;
    color: #000000;
    border: #000000 1px solid;
    background: url(../img/btn_arrow_bk.svg) #278fff69 no-repeat 99% center;
    padding: 1rem 2.4rem;
    font-size: 1rem;
    border-radius: 0.1rem;
    cursor: pointer;
}
.content .procedureArea a.btnProcedure-contact {
    background: url(../img/btn_arrow_bk.svg) #ff9900 no-repeat 98% center;
}
.content .procedureArea a.btnProcedure-contact:hover {
    background: url(../img/btn_arrow_bk.svg) #ffaf3f no-repeat 99% center;
}
.content .procedureArea a.btnProcedure-procedure {
    background: url(../img/btn_arrow_bk.svg) #ffffff no-repeat 98% center;
}
.content .procedureArea a.btnProcedure-procedure:hover {
    background: url(../img/btn_arrow_bk.svg) #f2f2f2 no-repeat 99% center;
}
.content .procedureArea .btntext{
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width:100%;
}
.content .procedureArea .btnContactIcon::before{
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background: url(../img/logo_contact.svg) no-repeat;
    background-size: contain;
    transform: translateY(10px);
    margin-right: 10px;
}
.content .procedureArea .btnProcedureIcon::before{
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background: url(../img/logo_procedure.svg) no-repeat;
    background-size: contain;
    transform: translateY(5px);
    margin-right: 10px;
}





/*=============================================================================
main contArea
=============================================================================*/


.content .contArea {
    position: relative;
    background-color: #ffffff;
    width: 100%;
    height: auto;
    min-height: 400px;
    padding-top: 0px;
}
.content .contArea p {
    margin-bottom: 1rem;
}




/*=============================================================================
タイトル
=============================================================================*/

/* what's new */
.content .contArea h2.wn {
    position: relative;
    color: #333;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom: 20px solid #91895E;
    height: 50px;
    text-align: left;
}
.content .contArea h2.wn span{
    position: absolute;
    font-size: 2.6rem;
    font-weight: bold;
    left: 15px;
    bottom: -20px;
}

/* what's event */
.content .contArea h2.ev {
    position: relative;
    color: #333;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom: 20px solid #9DD2F1;
    height: 50px;
    text-align: left;
}
.content .contArea h2.ev span{
    position: absolute;
    font-size: 2.6rem;
    font-weight: bold;
    left: 15px;
    bottom: -20px;
}

/* archive */
.content .contArea h2.ar {
    position: relative;
    color: #333;
    font-size: 1.8rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    text-align: left;
}
.content .contArea h2.ar::before {
    content: "";
    width: 40%;
    height: 5px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #91895E;
    z-index: 1;
}
.content .contArea h2.ar::after {
    height: 5px;
    width: 100%;
    background: #aeaeae;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
}



.content .contArea h3 {
    color: #333;
    font-size: 1.8rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: left;
    border-bottom: 2px solid #333333;
    padding-bottom: 1rem;
}



/*===================================================
subPage
====================================================*/
.content.subPage .contArea h2 {
    position: relative;
    color: #333;
    font-size: 1.8rem;
    margin-top: 10px;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    text-align: left;
}
.content.subPage .contArea h2::before {
    content: "";
    width: 40%;
    height: 5px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #91895E;
    z-index: 1;
}
.content.subPage .contArea h2::after {
    height: 5px;
    width: 100%;
    background: #aeaeae;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
}
.content.subPage  .contArea h3 {
    color: #333;
    font-size: 1.4rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: left;
    border-bottom: 2px solid #333333;
    padding-bottom: 1rem;
}









/*=============================================================================
News List
=============================================================================*/
.content .contArea .newsBox .top-news__content {
    background-color: #FFFFFF;
    height: 800px;
    overflow: auto;
    overflow-y: scroll;
    overflow-x: hidden;
}

.content .contArea .newsBox .newsList:first-child {
    border-top: 2px #cccccc90 solid;
    border-bottom: 2px #cccccc90 solid;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.content .contArea .newsBox .newsList {
    border-bottom: 2px #cccccc90 solid;
    margin-top: 2rem;
    padding-bottom: 2rem;
}
.content .contArea .newsBox .newsDateBox {
    position: relative;
    color: #333;
    font-size: 1rem;
    font-weight: bold;
    /*display: flex;*/
    justify-content: left;
    flex-wrap: wrap;
}
.content .contArea .newsBox .newsDateBox .date {
    position: relative;
    color: #333;
    font-size: 1rem;
    padding: 5px 5px 5px 0;
}
.content .contArea .newsBox .newsDateBox .labelNews {
    position: relative;
    color: #ffffff;
    font-size: 0.6rem;
    background-color: #124675;
    margin-bottom: 6px;
    padding: 8px 10px 8px;
    white-space: nowrap;
    height: fit-content;
    min-width: 95px;
    text-align: center;
}
.content .contArea .newsBox .newsTitle {
    /* margin-top: 2rem; */
    font-weight: normal;
    font-size: 1rem;
    line-height: 2rem;
    color: #333;
}
.content .contArea .newsBox .newsTitle a {
    color: #333;
    text-decoration: underline;
}



@media (max-width: 991px) {
    .content .contArea .newsBox .newsList {
        border-bottom: 2px #cccccc90 dotted;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }
    .content .contArea .newsBox .newsDateBox {
        position: relative;
        font-size: 1rem;
        font-weight: bold;
        display: flex;
        justify-content: left;
        flex-wrap: wrap;
    }
    .content .contArea .newsBox .newsDateBox .date {
        position: relative;
        color: #333;
        font-size: 1rem;
        padding: 5px 15px 5px 0;
    }
    .content .contArea .newsBox .newsDateBox .labelNews {
        position: relative;
        color: #ffffff;
        font-size: 0.7rem;
        background-color: #124675;
        /* margin-bottom: 0.5rem; */
        padding: 5px 10px 2px;
        margin: 2px 2px 2px 0px;
        white-space: nowrap;
        height: fit-content;
        padding: 0.5rem;
        min-width: 95px;
        text-align: center;
    }
    .content .contArea .newsBox .newsTitle {
        margin-top: 1.4rem;
        font-weight: bold;
        font-size: 1.3;
        line-height: 2rem;
        color: #333;
    }
    .content .contArea .newsBox .newsTitle a {
        color: #333;
        text-decoration: underline;
    }

}





/*=============================================================================
パーツ
=============================================================================*/
/*共通台紙*/
.content .contArea .baseBG {
    width: 90%;
    background-color: #F9F9F9;
    opacity: 1;
    padding: 36px 36px 36px 36px;
}
/*台紙カード*/
.content .contArea .baseCard {
    position: relative;
    width: 90%;
    background-color: #F9F9F9;
    opacity: 1;
    padding: 36px 36px 36px 36px;
}
.content .contArea .baseCard .tag {
    position: absolute;
    background: #36881E 0% 0% no-repeat padding-box;
    top: 0;
    right: 0;
    padding: 8px 24px;
    color: #fff;
    font-size: 0.8rem;
}
.content .contArea .baseCard h2 {
    color: #36881E;
    background: none;
    font-size: 1.8rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
    text-align: left;
}


/* FAQ用台紙
--------------------------------*/
.content .contArea .baseCard-question {
    font-size: 1rem;
    padding: 1rem;
    background: #04628a;
    margin-bottom: 0;
    color: #ffffff;
}
.content .contArea .baseCard-answer {
    font-size: 1rem;
    padding: 1rem 1rem 1rem 2.2rem;
    background: #eeeeee;
    text-indent: -1.2rem;
    margin-bottom: 0rem;
}



/* Btn
--------------------------------*/
.content .LinkBox {
    text-align: center;
}

a.btnCommon {
    color: #000000;
    background: url(../img/btn_arrow_bk.svg) no-repeat 97% center;
    background: url(../img/btn_arrow_bk.svg) no-repeat 97% center;
    padding: 1rem 2.4rem;
    font-size: 1.2rem;
    width: 100%;
    border: 1px solid #000;
    border-radius: 0px;
    cursor: pointer;
}
a.btnCommon:hover {
    color: #000000;
    background: url(../img/btn_arrow_bk.svg) no-repeat 99% center #f5f5f5;
    background: url(../img/btn_arrow_bk.svg) no-repeat 99% center #f5f5f5;
    padding: 1rem 2.4rem;
    font-size: 1.2rem;
    width: 100%;
    border: 1px solid #000;
    border-radius: 0px;
    cursor: pointer;
}

@media (max-width: 991px) {
    a.btnCommon {
        color: #000000;
        background: url(../img/btn_arrow_bk.svg) no-repeat 97% center;
        background: url(../img/btn_arrow_bk.svg) no-repeat 97% center;
        padding: 1rem 2.4rem;
        font-size: 1.2rem;
        width: 100%;
        border-radius: 0.1rem;
        border: 1px solid #000;
        border-radius: 0px;
        cursor: pointer;
    }
    a.btnCommon:hover {
        color: #000000;
        background: url(../img/btn_arrow_bk.svg) no-repeat 99% center #f5f5f5;
        background: url(../img/btn_arrow_bk.svg) no-repeat 99% center #f5f5f5;
        padding: 1rem 2.4rem;
        font-size: 1.2rem;
        width: 100%;
        border: 1px solid #000;
        border-radius: 0px;
        cursor: pointer;
    }
}


/* Line
--------------------------------*/
.dotLine {
    height: 1px;
    width: 100%;
    border-bottom: 2px dotted #ccc;
    padding-top: 3rem;
    margin-bottom: 3rem;
    clear: both;
}





/*=============================================================================
 subPage Main
=============================================================================*/


@media screen and (min-width: 992px) {
.content .contArea .subMenuTitle {
    display: none;
}
.content .contArea input#subMenuBox {
    display: none;
}
.content .contArea ul.subMenu {
    background-color: #000;
    width: 100%;
    list-style: none;
    padding: 0;
}
.content .contArea ul.subMenu li a{
    display: block;
    color: #000;
    padding: 18px 24px 18px 16px;
    background: url(../img/sub_menu_arrow.svg) #fff 98% 50% no-repeat;
    background-size: 17px 4px;
    border: 1px #444 solid;
    font-size: 13px;
}
.content .contArea ul.subMenu li a:hover{
    display: block;
    color: #ffffff;
    background: url(../img/sub_menu_arrow.svg) #816D4B 98% 50% no-repeat;
    background-size: 17px 4px;
    text-decoration: none;
}
.content .contArea ul.subMenu li a.active{
    display: block;
    color: #ffffff;
    padding: 18px 20px 18px 16px;
    background: url(../img/sub_menu_arrow.svg) #816D4B 98% 50% no-repeat;
    background-size: 17px 4px;
    border-bottom: 1px #444 solid;
    font-size: 13px;
}

}

.content .contArea input#subMenuBox {
    display: none;
}

@media only screen and (max-width: 991px){
    ul.subMenu li ul{
        display: block;
    }
    .subMenuTitle {
        color: #fff;
        font-size: 3vw;
        pointer-events: none;
        background: #816D4B;
        pointer-events: all;
        display: block;
        padding: 1rem;
        margin: 0 0 2px 0;
        cursor: pointer;
    }
    .subMenu {
        height: 0;
        padding: 0 8px;
        transition: .2s;
    }
    input:checked+.subMenu {
        height: auto;
        padding: 8px;
    }
    ul.subMenu {
        border: #000 1px solid;
        /* width: 100%; */
        margin-bottom: 10vw;
        height: 0;
        padding: 0 8px;
        transition: .2s;
    }
    ul.subMenu li {
        padding: 0;
        line-height: 0;
        visibility: hidden;
        opacity: 0;
        transition: padding .2s, line-height .2s, visibility .1s, opacity .1s;
        display: block;
    }
    input:checked+.subMenu li {
        padding: 0px;
        line-height: 1.5;
        visibility: visible;
        opacity: 1;
      }
       ul.subMenu{
        /*width: 100%;*/
        margin-bottom: 10vw;
      }
       ul.subMenu li a{
        display: block;
        color: #000000;
        padding: 18px 20px 18px 16px;
        background:  98% 50% no-repeat;
        background-size: 17px 4px;
        border: 1px #444 solid;
        font-size: 3vw;
      }
       ul.subMenu li a:hover{
        display: block;
        color: #ffffff;
        background:#00477B 98% 50% no-repeat;
        background-size: 17px 4px;
        text-decoration: none;
      }
       ul.subMenu li a.active{
        display: block;
        color: #ffffff;
        padding: 18px 20px 18px 16px;
        background: #00477B 98% 50% no-repeat;
        background-size: 17px 4px;
        border-bottom: 1px #444 solid;
        font-size: 3vw;
      }
}

/*=============================================================================
 footer
=============================================================================*/

/*
 footer
------------------------------------------*/
footer {
    width: 100%;
    background-color: #89c7de;
    color: #fff;
    padding: 30px 0 0 0;
}
footer {
    position: relative;
    width: 100%;
    min-height: 198px;
    background: #383838 center bottom no-repeat padding-box;
    background-size: cover;
    opacity: 1;

    display: flex;
    flex-direction: column;
    padding-top: 0;
}



/*
 organ Area
------------------------------------------*/
.organArea {
    position: relative;
    width: 100%;
    height: auto;
    /*background-color: #000C17;*/
    padding-top: 52px;
    padding-bottom: 52px;
    padding-left: 15px;
    padding-right: 15px;
}

.organArea h2{
    color: #fff;
    font-size: 1.4rem;
    border-bottom: 1px solid #ffffff;
    text-align: left;
    padding: 1rem;
    margin-bottom: 24px;
}

.organArea .listTl {
    color: #ffffff;
    width: 100%;
    height: auto;
    padding: 1rem;
}

footer .listTl  ul {
    list-style: none;
}
.organArea .listTl img {
    width: 200px;
}

.organArea .listMain {
    color: #ffffff;
    padding: 1rem;
    text-align: center;
}

footer .listMain ul {
    font-size: 1rem;
    color: #ffffff;
    margin: 0 auto;
    list-style: none;
    padding-left: 10px;
}

footer .listMain ul li {
    font-size: 0.9rem;
    font-weight: bold;
    word-break: break-all;
    padding: 10px;
    text-align: left;
    list-style: none;
}

footer .listMain ul li a {
    color: #ffffff;
}

footer .listMain ul li a:hover {
    color: #a99500;
    text-decoration: none;
}

@media (max-width: 991px) {
    .organArea .listTl img {
        width: 140px;
    }

    .organArea .listMain {
        color: #ffffff;
        padding: 1rem;
        text-align: center;
    }

    footer .listMain ul {
        color: #333333;
        padding: 0.5rem 0.5rem 0.1rem 0.5rem;
        display: flex;
        flex-direction: column;
    }

    footer .listMain ul li {
        font-size: 1.4rem;
        font-weight: bold;
        word-break: break-all;
        text-align: left;
        padding: 0.5rem;
    }

    footer .listMain ul li a {
        display: block;
    }
}

@media (max-width: 767px) {
    .organArea {
        font-size: 1.3rem;
    }
}




/* copy
-------------------------------------*/
footer .copyRight {
    color: #ffffff;
    background-color: #333333;
    font-size: 0.9rem;
    text-align: center;
    width: 100%;
    height: auto;
    padding-top: 1rem;
    padding-bottom: 1rem;
}



/*Table*/
@media (max-width: 991px) {
    table.scroll {
        overflow-x: scroll;
        white-space: nowrap;
        display: block;
    }
}



