@charset "utf-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css");

/* *****共通設定***** */
body
{
    font-size: 16px;
    padding-top:60px;
}

body, #page {
    min-width: 0 !important;
}

#maincolumn {
    margin: 0 !important;
}

main{
    display: block;
    background-color: #fbfbf2;
}
main .btn{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    font-size: 1.5rem;
}

.gray {
    color: #6c757d;
}

.img-thumbnail {
    width: 100%;
    padding: .25rem;
    background-color: transparent;
    border: none;
}

.pc { display:none; }
.sp { display:inline;}
@media screen and (min-width: 750px){   
    .pc { display:inline-block; }
    .sp { display:none; }
  }

  @media (prefers-reduced-motion: no-preference) {
    :root {
      scroll-behavior: auto !important;
    }
  }

.btn-contact {
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    padding-left:32px;
    padding-right:32px;
}


/* フッター */
#footer{
    background-color: #222222;
}
#footer .container{
    color: #ccc;
}
#footer .footer-ttl{
    font-size: 1rem;
    font-weight: bold;
    margin: 1.5rem 0;
    color: #eee;
}
#footer address p,
#footer #footer-news li{
    margin-bottom: 0.5rem;
}
#footer #footer-news ul{
    margin: 0;
    padding: 0
}
#footer #footer-news ul{
    list-style: none;
}
#footer #footer-news li span{
    display: inline-block;
    margin-right: 0.5rem;
}
#footer #copyright{
    background-color: #000;
    color: #999;
}
#footer img {
	width: 360px;
}

/* *****トップページ***** */
/* メイン */
#bg-video{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1;
    background-size: cover;
}
#contact .gradient {
    position: absolute;
    z-index: 2;
    bottom:0;
    left:0;
    width: 100%;
    height:200px;
    background: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1));
}
#contact h3 {
    font-weight: bold !important;
    color: #000;
    text-shadow:1px 1px 1px #333300;
}

#contact h3 span:first-child {
    font-size:4rem;
}
#contact h3 span:last-child {
    font-size:2.8rem;
}
#contact h3 + span {
    font-size: 2rem;
    font-weight: bold;
    color: #ffffff;
    line-height: 110%;
    margin-top: 0.2rem;
    display: block;
}

.note {
    font-size:12px !important;
}

/* MarketoForm hack */
.mktoFormCol {
    width:100% !important;
}
.mktoFieldWrap.mktoRequiredField {
    width:calc(100% - 10px) !important;
}

.mktoFieldWrap.mktoRequiredField input,
.mktoFieldWrap.mktoRequiredField textarea
{
    width:calc(100% - 110px) !important;
}

span.mktoButtonWrap.mktoInset{
    display:block;
    margin-left:0 !important;
    text-align:center;
}

.mktoFieldWrap {
    width: 100%;
}

/* 各セクション */

#sec1 {
    background-image: url('../uploads/images/rental/background-problem.png');
    background-repeat: no-repeat;
}

#sec-air {
    background-image: url('/uploads/images/particle-counter/bg-air.jpg');
    background-repeat: no-repeat;
    background-size:cover;
    background-position: center center;
}

#sec-liquid {
    background-image: url('/uploads/images/particle-counter/bg-liquid.jpg');
    background-repeat: no-repeat;
    background-size:cover;
    background-position: center center;
}

#cms-area section{
    background-color: #eee;
	padding: 5rem 0;
}
#cms-area section:nth-child(odd){
    background-color: #c0f8ff;
}
#cms-area section .container > h1{
    margin-bottom: 30px;
    color:#036eb8;
    font-weight: bold;
}

#cms-area section .container h2{
    margin:0;
}

#cms-area section .container > h2 + p{
	margin: 0 auto 50px;
}

#cms-area section .problem {
    position: relative;
    padding:0 15px;
    min-height:300px;
}

#cms-area section .problem-circle {
    display: inline-block;
    line-height: 75px;
    width:75px;
    height:75px;
    border-radius: 50%;
    background:#667075;
    color:#fff;
    margin-top:-35px;
    font-size:20px;
    font-weight: 600;
}

#cms-area section .card-name {
    color:#666;
    font-size:10px;
}

#cms-area section .asone-rental {
    line-height:16px;
    font-size:14px;
}

#cms-area section .problem-no-txt {
    font-size:14px;
    font-weight: bold;
}

#cms-area section .problem-no-txt span {
    font-size:48px;
}

#cms-area section .answer{
    position: relative;
}

#cms-area section .answer:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 15px;
    bottom: 0;
    background: #ffff96;
    z-index: 0;
}

#cms-area section .answer span{
    position: relative;
    z-index: 1;
}

.columns .card,
.lab-list {
    position: relative;
}
.columns .card a,
.lab-list a{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.columns .card:hover{
    cursor: pointer;
}

.usage h4 {
    padding:0
}

.balloon {
    position: relative;
}

.balloon:before{
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #fff;
}

.balloon-bottom {
    position: relative;
}

.balloon-bottom:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #fff;
  }

.balloon-left{
    position: relative;
}

.balloon-left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -28px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #fff;
}

.balloon-right{
    position: relative;
}

.balloon-right:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -28px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important;
  }

/* *****下層ページ***** */

.breadcrumb{
    font-size: 0.9rem;
    padding:1rem;
}
.breadcrumb a{
    color: rgba(255,255,255,.5);
}
.breadcrumb a:hover,
.breadcrumb a:focus{
    color: rgba(255,255,255,1);
}
.breadcrumb-item+.breadcrumb-item::before{
    content: ">";
    padding-right: 1rem;
    color: rgba(255,255,255,.5);
}
.breadcrumb-item.active{
    color: #ffffff;
}
h1.page-ttl {
    font-size:2rem; 
}
#page h1 + span {
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;
    line-height: 110%;
    margin-top: 0.2rem;
    display: block;
}

#page article {
    padding: 5rem 0;
}

#page section {
    padding-bottom: 5rem;
}

#page h1 + small {
    font-size: 1.5rem;
    color: #ffffff;
    line-height: 110%;
    margin-top: 0.2rem;
}

#page h2 + p{
    margin: 0 0 1.2rem;
}
#page main img{
    max-width: 100%;
}
#page .sample-title{
    display: flex;
    align-items: center;
    text-align: center;	
}

#page .sample-title::after {
    border-top: 3px dotted;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
    margin-left: 0.5em;
}
#page .sample-title span{
    background-color: #fbfbf2;
}
#page .sample-subtitle{
    font-size: 1.5rem;
    font-weight: bold;
    color: #401f0f;
}

#subpage h1,#subpage h1 + span {
    text-shadow: 1px 2px 3px #222200;
}

.share-catch span {
    font-size:1.5em;
}

#case p {
    font-size:1.35rem;
    line-height: 2.5rem;
}

#case .interviewer {
    color:#036eb8;
}




/* 特大デバイス（ワイド・デスクトップ, 1200px 以上）
==============================================*/
@media screen and (min-width: 1200px) {

    #footer #footer-contents > div{
        border-left: 1px solid #666;
        border-right: 1px solid #666;
    }
    #footer #footer-contents > div:last-child{
        border-right: 1px solid #666;
    }
    #footer img {
        width: 100%;
    }  
        
    } /* END */
    
    /* 大デバイス（デスクトップ, 1200px 未満）
    ==============================================*/
    @media screen and (max-width:1199.98px) {
    
    } /* END */
    
    
    /* 中デバイス（タブレット, 992px 未満）
    ==============================================*/
    @media screen and (max-width:991.98px) {
    #footer #footer-contents > div{
        border-bottom: 1px solid #666;
        border-left: none;
        border-right: none;
        padding-bottom: 1rem;
    }
    #footer img {
        width: 100%;
        max-width: 748px;
        margin: 0 auto;
    }
    
    /* トップページ：各セクション */    
        
    } /* END */
    
    /* 小デバイス（横向きモバイル, 768px 未満）
    ==============================================*/
    @media screen and (max-width:767.98px) {
    h1{
        font-size: 2rem;
    }    
    main .btn{
        font-size: 0.95rem;
    }
        #footer #footer-contents > div:first-child {
        border-right: none !important;
    }

    #contact h3 span:last-child {
        font-size:2.4rem;
    }
    #footer .container{
        padding-top: 0px;
    }
    #footer .container .row{
        margin-bottom: 0;
    }
    
    #footer #copyright{
        font-size: 0.8rem;
    }
    #footer h2{
        margin: 2rem 0;
    }
    
    /* トップページ：各セクション */
        
    #cms-area h1 + small {
        font-size: 1.5rem;
    }
    #cms-area .jumbotron-fluid{
        height: 320px;
    }
    #cms-area section{
        padding-top: 50px;
    }
    #cms-area section .container > h2{
        margin-bottom: 20px;
        font-size: 1.5rem;
    }
    #cms-area section .container > h2 + p{
        margin-bottom: 40px;
    }
    #cms-area section .container h3{
        font-size: 1.2rem;
    }
    #sec2 .row {
        background-size: auto 400px;
    }

    /* 下層ページ */
        
    #page section {
        padding: 3rem 0 0;
    }
      
    } /* END */
    
    
    /* 極小デバイス（縦向きモバイル, 576px 未満）
    ==============================================*/
    @media screen and (max-width:575.98px) {
       
    /* トップページ：各セクション */
        
    #sec2 .row {
        background-size: auto 300px;
    }
    
    /* 下層ページ */
    
    #page section {
        padding: 2rem 0 0;
    }    

    .mktoForm .mktoFormRow .mktoField,.mktoButton{
        width: 100% !important;
    }
    textarea {
        height:120px !important;
    }
    } /* END */