html { 
    overflow-x: hidden;
}

body {
    margin: 0px;
    font-family: "Zen Maru Gothic", sans-serif;
    caret-color: transparent;
    overflow-x: hidden;
}

.no-bullet {
    padding: 0;
}

.no-bullet li {
    list-style-type: none!important;
    padding: 0;
}

.copyright {
    color:#fff;
}

.inline { 
    display: inline-block;
}

.header-bcpos, .header-tenpovisor, .header-taxfree, .header-rearegi, .header-misemeg {
    position: relative;
    padding: 10px;
    background-image: url('../../img/top.jpg');
    width:100%;
    overflow: hidden;
    margin-bottom: 50px;
    background-repeat: no-repeat; 
    background-size: cover; 
    background-position: center;
}

.header-bcpos::before {
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(0, 176, 88, 0.9);
    z-index: 1;
}

.header-tenpovisor::before {
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(64,86,162, 0.9);
    z-index: 1;
}

.header-taxfree::before {
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(73,32,114, 0.9);
    z-index: 1;
}

.header-rearegi::before {
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(0, 227, 227, 0.9);
    z-index: 1;
}

.header-misemeg::before {
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(255, 140, 0, 0.9);
    z-index: 1;
}

.header-bcpos p, .header-tenpovisor p, .header-taxfree p, .header-rearegi p, .header-misemeg p {
    font-size: 30px;
    color: #fff;
    margin-left: 40px;
    position: relative;
    z-index: 2;
}

.footer-bcpos {
    display: inline-block;
    margin-top: 100px;
    background-color: rgb(0,176,88);
    width: 100%;
    padding: 30px;
    text-align: center;
}

.footer-tenpovisor {
    display: inline-block;
    margin-top: 100px;
    background-color: rgb(64,86,162);
    width: 100%;
    padding: 30px;
    text-align: center;
}

.footer-taxfree {
    display: inline-block;
    margin-top: 100px;
    background-color: rgb(73,32,114);
    width: 100%;
    padding: 30px;
    text-align: center;
}

.footer-rearegi {
    display: inline-block;
    margin-top: 100px;
    background-color: rgb(0, 227, 227);
    width: 100%;
    padding: 30px;
    text-align: center;
}

.footer-misemeg {
    display: inline-block;
    margin-top: 100px;
    background-color: rgb(255, 140, 0);
    width: 100%;
    padding: 30px;
    text-align: center;
}

.footer-bcpos ul, .footer-tenpovisor ul, .footer-taxfree ul, .footer-rearegi ul, .footer-misemeg ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.footer-bcpos ul li, .footer-tenpovisor ul li, .footer-taxfree ul li, .footer-rearegi ul li, .footer-misemeg ul li {
    color: #fff;
}

.footer-bcpos a, .footer-tenpovisor a, .footer-taxfree a, .footer-rearegi a, .footer-misemeg a {
    color: #fff;
}

.footer-bcpos a:hover, .footer-tenpovisor a:hover, .footer-taxfree a:hover, .footer-rearegi:hover, .footer-misemeg a:hover {
    color: #fff;
}

.footer-bcpos a:visited, .footer-tenpovisor:visited, .footer-taxfree a:visited, .footer-rearegi:visited, .footer-misemeg a:visited {
    color: #fff;
}

.service_bcpos, .service_tenpovisor, .service_taxfree, .service_rearegi, .service_misemeg {
    content: "";
    margin-bottom: 30px;
}

.service_bcpos::before, .service_tenpovisor::before, .service_taxfree::before, .service_rearegi::before, .service_misemeg::before {
    content: "";
    height: 45px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

.service_bcpos::before {
    background-image: url(../../img/bcpos.png);
}

.service_tenpovisor::before {
    background-image: url(../../img/tenpovisor.png);
}

.service_taxfree::before {
    background-image: url(../../img/menzei.png);
}

.service_rearegi::before {
    background-image: url(../../img/rearegi.png);
}

.service_misemeg::before {
    background-image: url(../../img/misemeg.png);
}


.frame1 {
    position: relative;
    margin: 50px 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}

.frame1 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}

.frame1 ul li {
    padding: 10px 0;
}

.frame2 {
    position: relative;
    margin: 2em 0;
    padding: 25px 15px 7px;
    border: solid 2px #FFC107;
}

.frame2 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}

.introduction {
    margin-bottom: 10px;
}

.introduction .title {
    padding: 30px 20px;
    background-color: rgb(246, 246, 246);
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
    text-align: center;
}

.containers .title{
    width: 80%;
    margin: 20px auto 40px;
    padding: 0.4em 0.5em;
    font-size: 18px;
    color: #494949;
    background: rgb(250, 250, 250);
    border-left: solid 5px rgb(0, 128, 128);
    border-bottom: solid 3px #d7d7d7;
}

.container {
    margin: 0 auto 50px;
    max-width: 1024px;
    width: 70%;
}

.container ul li {
    padding: 10px 0;
 }

.container img {
    border: 1px solid rgb(192, 192, 192);
    max-width: 100%;
    max-height: 300px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.contents {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.content2 {
    width: calc(50% - 10px);
}

.content3 {
    width: calc(33% - 10px);
}

.content4 {
    width: calc(25% - 10px);
}

.content2 a, .content3 a, .content4 a{
    text-decoration: none;
}

.content_panel {
    border: 1px solid #ddd;
    margin-bottom: 20px;
    border-radius: 8px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: center;
}

.content_panel:hover {
    background-color: rgb(196, 223, 199);
}

.manual, .faq, .inquiry, .contact {
    font-size: 20px;
    font-weight: 400;
}

.bcpos_m, .bcpos_f, .tenpovisor_m, .tenpovisor_f, .menzei_f, .rearegi_m, .misemeg_f {
    font-size: 20px;
    font-weight: 700;
    text-shadow: 2px 2px 2px rgb(210, 210, 210);
    font-family: "Noto Sans JP", sans-serif;
    font-style: italic;
    letter-spacing: 5px;
}

.bcpos_m, .bcpos_f {
    color: rgb(0,135,59);
}

.tenpovisor_m, .tenpovisor_f {
    color: rgb(7, 3, 165);
}

.menzei_f {
    color: rgb(62, 3, 169);
}

.rearegi_m {
    color: rgb(64, 128, 128);
}

.misemeg_f {
    color: rgb(255, 128, 0);
}

.manual::before, .faq::before, .inquiry::before, .contact::before {
    content: "";
    width: 70px;
    height: 70px;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    display: block;
}

.bcpos_m::before, .bcpos_f::before, .tenpovisor_m::before, .tenpovisor_f::before, .menzei_f::before, .rearegi_m::before, .misemeg_f::before {
    content: "";
    height: 45px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

.manual::before{
    background-image: url(../../img/manual.png);
}

.faq::before{
    background-image: url(../../img/faq.png);;
}

.inquiry::before{
    background-image: url(../../img/inquiry.png);
}

.contact::before{
    background-image: url(../../img/contact.png);
}

.bcpos_m::before{
    background-image: url(../../img/bcpos.png);
}

.bcpos_f::before{
    background-image: url(../../img/bcpos.png);
}

.tenpovisor_m::before{
    background-image: url(../../img/tenpovisor.png);
}

.tenpovisor_f::before{
    background-image: url(../../img/tenpovisor.png);
}

.menzei_f::before{
    background-image: url(../../img/menzei.png);
}

.rearegi_m::before{
    background-image: url(../../img/rearegi.png);
}

.misemeg_f::before{
    background-image: url(../../img/misemeg.png);
}

/*障害情報(failure_info)*/ 
.failure_info_title {
    padding: 10px 30px;
    background-color: rgb(88, 88, 88);
    color: #fff;
    margin: 0;
    border-radius: 8px 8px 0 0;
    font-size: 20px;
}

.failure_info {
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    padding: 0 10px;
    border-radius: 0 0 8px 8px;
}
         
.failure_info > div {
    border-bottom: 1px solid #cecdcd;
    padding: 0 10px 10px;
    margin: 0 0 10px;
}

.failure_info > div > div:nth-of-type(1) {
    display: flex;
    align-items: center;
    gap: 10px 30px;
    cursor: pointer;
    position: relative;
    padding: 0 50px 0 0;
    margin: 0 0 10px;
    transition: .3s;
}

.failure_info > div > div:nth-of-type(1)::before {
    content: "";
    width: 40px;
    height: 40px;
    background: #cecdcd;
    border-radius: 50%;
    position: absolute;
    right: 0;
}

.failure_info > div > div:nth-of-type(1)::after {
    content: '';
    color: #fff;
    font-size: 1.3rem;
    height: 10px;
    width: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translateY(20%) rotate(-45deg);
    position: absolute;
    right: 13px;
    transition: .3s;
}

.failure_info > div > div:nth-of-type(1).active::after {
    transform: rotate(135deg);
}

.failure_info > div > div:nth-of-type(1):hover {
    opacity: 0.3;
}

.failure_info > div > div:nth-of-type(1) > div {
    max-width: 260px;
    min-width: 260px;
    display: flex;
    flex-flow: column;
}

.failure_info > div > div:nth-of-type(1) > div p:nth-of-type(1) {
    font-size: 1.3rem;
}

.failure_info > div > div:nth-of-type(1) > div p:nth-of-type(2) span {
    color: #fff;
    font-size: 1rem;
    background: #b0b0b0;
    padding: 3px 5px;
    margin: 0 0 0 10px;
}

.failure_info > div > div:nth-of-type(1) > div p:nth-of-type(2) span:nth-of-type(1) {
    margin: 0;
}

.failure_info > div > div:nth-of-type(1) + div {
    height: 0;
    display: none;
    overflow: hidden;
    opacity: 0;
    transition: .3s;
}

.failure_info > div > div:nth-of-type(1).active + div {
    display: block;
    height: auto;
    opacity: 1;
}

.failure_info > div > div:nth-of-type(1).active + div p {
    font-size: 1em;
}

.failure_info > div > div:nth-of-type(1) > p:nth-of-type(1) {
    min-width: 90px;
    text-align: center;
}

.failure_info > div > div:nth-of-type(2) p:nth-of-type(1),
.failure_info > div > div:nth-of-type(2) p:nth-of-type(2) {
    font-size: 1.6rem;
    margin: 0 0 10px;
}

/*スクリーンサイズ別設定*/
@media screen and (max-width: 1250px){
    .container img {
        max-height: 200px;
    }
    
   .content4 {
    width: calc(50% - 10px);
   }
   
   .manual, .faq, .inquiry, .contact {
       font-size: 16px;
       font-weight: 400;
   }
   
   .bcpos_m, .bcpos_f, .tenpovisor_m, .tenpovisor_f, .menzei_f, .rearegi_m, .misemeg_f {
       font-size: 16px;
       font-weight: 600;
   }
}

@media screen and (max-width: 600px){
    .contents {
        display: flex;
    }
    
    .container img {
        max-height: 150px;
    }
    
    .content {
     width: calc(50% - 10px);
    }
    
    .content_title p {
        font-size: 30px;
        color: #fff;
        margin-left: 10px;
    }
    
    .content_panel {
        border: 1px solid #ddd;
        padding: 5px;
        margin-bottom: 20px;
        border-radius: 8px;
        max-height: 150px;
        background-color: rgb(255, 255, 255);
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        text-align: center;
    }
    
    .manual, .faq, .inquiry, .contact {
        font-size: 15px;
        font-weight: 400;
    }
    
    .bcpos_m, .bcpos_f, .tenpovisor_m, .tenpovisor_f, .menzei_f, .rearegi_m, .misemeg_f {
        font-size: 15px;
        font-weight: 600;
     }
    
    /*障害情報(failure_info)*/ 
    .failure_info > div > div:nth-of-type(1) {
        flex-flow: column;
        align-items: baseline;
    }

    .failure_info > div > div:nth-of-type(1)::after {
        top: 8px;
    }

}

@media screen and (max-width: 420px){
    .contents {
        display: flex;
    }

    .content {
     width: calc(50% - 10px);
    }
    
    .container img {
        max-height: 100px;
    }

    .content_title p {
        font-size: 30px;
        color: #fff;
        margin-left: 10px;
    }

    .content_panel {
        border: 1px solid #ddd;
        padding: 5px;
        margin-bottom: 20px;
        border-radius: 8px;
        max-height: 150px;
        background-color: rgb(255, 255, 255);
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        text-align: center;
    }

    .manual, .faq, .inquiry, .contact{
        font-size: 13px;
        font-weight: 400;
    }
    
    .bcpos_m, .bcpos_f, .tenpovisor_m, .tenpovisor_f, .menzei_f, .rearegi_m, .misemeg_f {
        font-size: 13px;
        font-weight: 600;
    }
    
    .manual::before, .faq::before, .inquiry::before, .contact::before{
        width: 50px;
        height: 50px;
    }
    
    .bcpos_m::before, .bcpos_f::before, .tenpovisor_m::before, .tenpovisor_f::before, .menzei_f::before, .rearegi_m::before, .misemeg_f::before {
        height: 30px;
    }
    

    /*障害情報(failure_info)*/ 
    .failure_info {
        overflow-x: hidden;
    }
    
    .failure_info p {
        margin: 0;
    }
    
    .failure_info > div > div:nth-of-type(1) {
        flex-flow: column;
        align-items: baseline;
    }

    .failure_info > div > div:nth-of-type(1)::after {
        top: 8px;
    }
}

/*マージン調整用*/
.mt5 { margin-top:5px!important; }
.mt10 { margin-top:10px!important; }
.mt20 { margin-top:20px!important; }
.mt30 { margin-top:30px!important; }
.mt40 { margin-top:40px!important; }
.mt50 { margin-top:50px!important; }
.mt60 { margin-top:60px!important; }
.mt70 { margin-top:70px!important; }
.mt80 { margin-top:80px!important; }
.mt90 { margin-top:90px!important; }
.mt100 { margin-top:100px!important; }
.mt120 { margin-top:120px!important; }
.mt140 { margin-top:140px!important; }
.mt150 { margin-top:150px!important; }
.mt170 { margin-top:170px!important; }
.mt200 { margin-top:200px!important; }
.mt250 { margin-top:250px!important; }
.mt300 { margin-top:300px!important; }
.mt350 { margin-top:350px!important; }
.mt400 { margin-top:400px!important; }
.mt450 { margin-top:450px!important; }
.mt500 { margin-top:500px!important; }
.mb5 { margin-bottom:5px!important; }
.mb10 { margin-bottom:10px!important; }
.mb20 { margin-bottom:20px!important; }
.mb30 { margin-bottom:30px!important; }
.mb40 { margin-bottom:40px!important; }
.mb50 { margin-bottom:50px!important; }
.mb60 { margin-bottom:60px!important; }
.mb70 { margin-bottom:70px!important; }
.mb80 { margin-bottom:80px!important; }
.mb90 { margin-bottom:90px!important; }
.mb100 { margin-bottom:100px!important; }
.mb120 { margin-bottom:120px!important; }
.mb140 { margin-bottom:140px!important; }
.mb150 { margin-bottom:150px!important; }
.mb170 { margin-bottom:170px!important; }
.mb200 { margin-bottom:200px!important; }
.mb250 { margin-bottom:250px!important; }
.mb300 { margin-bottom:300px!important; }
.mb350 { margin-bottom:350px!important; }
.mb400 { margin-bottom:400px!important; }
.mb450 { margin-bottom:450px!important; }
.mb500 { margin-bottom:500px!important; }
.ml5 { margin-left:5px!important; }
.ml10 { margin-left:10px!important; }
.ml20 { margin-left:20px!important; }
.ml30 { margin-left:30px!important; }
.ml40 { margin-left:40px!important; }
.ml50 { margin-left:50px!important; }
.ml60 { margin-left:60px!important; }
.ml70 { margin-left:70px!important; }
.ml80 { margin-left:80px!important; }
.ml90 { margin-left:90px!important; }
.ml100 { margin-left:100px!important; }
.ml120 { margin-left:120px!important; }
.ml140 { margin-left:140px!important; }
.ml150 { margin-left:150px!important; }
.ml170 { margin-left:170px!important; }
.ml200 { margin-left:200px!important; }
.ml250 { margin-left:250px!important; }
.ml300 { margin-left:300px!important; }
.ml350 { margin-left:350px!important; }
.ml400 { margin-left:400px!important; }
.ml450 { margin-left:450px!important; }
.ml500 { margin-left:500px!important; }

/*パディング調整用*/
.pt5 { padding-top:5px!important; }
.pt10 { padding-top:10px!important; }
.pt20 { padding-top:20px!important; }
.pt30 { padding-top:30px!important; }
.pt40 { padding-top:40px!important; }
.pt50 { padding-top:50px!important; }
.pt60 { padding-top:60px!important; }
.pt70 { padding-top:70px!important; }
.pt80 { padding-top:80px!important; }
.pt90 { padding-top:90px!important; }
.pt100 { padding-top:100px!important; }
.pt120 { padding-top:120px!important; }
.pt140 { padding-top:140px!important; }
.pt150 { padding-top:150px!important; }
.pt170 { padding-top:170px!important; }
.pt200 { padding-top:200px!important; }
.pt250 { padding-top:250px!important; }
.pt300 { padding-top:300px!important; }
.pt350 { padding-top:350px!important; }
.pt400 { padding-top:400px!important; }
.pt450 { padding-top:450px!important; }
.pt500 { padding-top:500px!important; }
.pb5 { padding-bottom:5px!important; }
.pb10 { padding-bottom:10px!important; }
.pb20 { padding-bottom:20px!important; }
.pb30 { padding-bottom:30px!important; }
.pb40 { padding-bottom:40px!important; }
.pb50 { padding-bottom:50px!important; }
.pb60 { padding-bottom:60px!important; }
.pb70 { padding-bottom:70px!important; }
.pb80 { padding-bottom:80px!important; }
.pb90 { padding-bottom:90px!important; }
.pb100 { padding-bottom:100px!important; }
.pb120 { padding-bottom:120px!important; }
.pb140 { padding-bottom:140px!important; }
.pb150 { padding-bottom:150px!important; }
.pb170 { padding-bottom:170px!important; }
.pb200 { padding-bottom:200px!important; }
.pb250 { padding-bottom:250px!important; }
.pb300 { padding-bottom:300px!important; }
.pb350 { padding-bottom:350px!important; }
.pb400 { padding-bottom:400px!important; }
.pb450 { padding-bottom:450px!important; }
.pb500 { padding-bottom:500px!important; }
.pl5 { padding-left:5px!important; }
.pl10 { padding-left:10px!important; }
.pl20 { padding-left:20px!important; }
.pl30 { padding-left:30px!important; }
.pl40 { padding-left:40px!important; }
.pl50 { padding-left:50px!important; }
.pl60 { padding-left:60px!important; }
.pl70 { padding-left:70px!important; }
.pl80 { padding-left:80px!important; }
.pl90 { padding-left:90px!important; }
.pl100 { padding-left:100px!important; }
.pl120 { padding-left:120px!important; }
.pl140 { padding-left:140px!important; }
.pl150 { padding-left:150px!important; }
.pl170 { padding-left:170px!important; }
.pl200 { padding-left:200px!important; }
.pl250 { padding-left:250px!important; }
.pl300 { padding-left:300px!important; }
.pl350 { padding-left:350px!important; }
.pl400 { padding-left:400px!important; }
.pl450 { padding-left:450px!important; }
.pl500 { padding-left:500px!important; }
