﻿@media screen and (min-width: 768px){ 
    #fot .fotBox {
        padding-top: 91px;
    }
    }
    .maindesign .breadcrumb {
        box-sizing: border-box;
        color: #83838f;
        display: flex;
        flex-wrap: wrap;
        font-size: 1rem;
        margin: 10px auto;
        line-height: 1.5;
        max-width: 1200px;
    }
    #main{
        width: 100%;
        margin: auto;
        float: none;
    }	
    @media screen and (max-width: 767px){ 
    #main {
        box-sizing: border-box;
    }
    } 
    #main section{
        margin: 120px 0 60px;
    }
    #main section.sides{
        box-sizing: border-box;
        }
    @media screen and (max-width: 767px){
    #main section.sides{
           padding: 0 10px;
    }}
        @media screen and (max-width: 767px){ 
        #main section{
            margin: 60px 0 60px;
    }
    } 
        #main section:last-child{
            margin: 100px auto 0;
    }
  #header .header-container.with-estimate .header--btn{
   display: none; 
}
  
.maindesign img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
}    
    
    .title-area{
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        background-size: cover;
/*        background-color: #464646;*/
/*        height: 360px;*/
        position: relative;
        padding-top: 20px;
    }
.maindesign .title{
    position: relative;
    top: inherit;
    left: inherit;
}
.maindesign .title h1{
    position: absolute;
    top: 50%;
    left: 5%;
    text-align: center;
    font-size: 5rem;
    color: #00a0e8;
    text-shadow: none;
}
@media screen and (max-width: 767px){
.maindesign .title h1{
    top: 48%;
    left: 1%;
    font-size: 8.5vw;
}

}

/*
    .title-area .logo{
        position: relative;
        background: #fff;
        top: 0;
        left: 0;
        z-index: 0;
        width: 600px;
        height: 250px;
        border-radius: 50%;
        transform: translate(0, -62%);
    }
*/
    .title-area .logo img{
/*
        position: absolute;
        margin: auto;
        display: block;
        bottom: 0px;
        width: 54%;
        left: 50%;
        transform: translate(-50%, -50%);
*/
    }
    @media screen and (max-width: 767px){ 
    .title-area{
/*    background-image: url(../img/2307/niwaki_back_sp.jpg);*/
        padding-top: 0;
    }
    .title-area .logo {
        position: relative;
        background: #fff;
        top: 0;
        left: 0;
        z-index: 0;
        width: calc(100% + 20px);
        height: 45%;
        border-radius: 50%;
        transform: translate(0, -56%);
    }
    .title-area .logo img{
        max-width: 250px;
        width: 60%;
        position: absolute;
        margin: auto;
        display: block;
        bottom: 0%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    }
    .videos{
    position:relative;
    cursor:pointer;
    box-sizing: border-box;
    }
    .videos img{
    display: block;
    }
    .maindesign .videos--overmaker{
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 20%;
    height: auto;
    opacity:0.7;
    }
    
        #modalwindow{
            display:none;
            background:rgba(0,0,0,0.7);
            position:fixed;
            top:0;
            left:0;
            width:100%;
            height:100%;
            z-index: 10000;
        }
        #bamiri{
            width:80%;
            height:80%;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translateY(-50%) translateX(-50%);
        }
    #bamiri video{
         position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: auto;
        width: auto;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
    
    }	
    #bamiri .youtube{
         position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: auto;
        width: auto;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
    
    }
        #subwindow{
            position:absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
            border:0;
        }
        .modal_close{
            position: absolute;
               top: -30px;
               right: -30px;
            cursor:pointer;
        }
    .youtube iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    }
    
    #main .gototop {
        
        text-align: right;
        margin-top: 20px;
        margin-bottom: 20px;
    }
    
    .title{
        top: 50%;
        left: 50%;
        width: 100%;
        max-width: 1200px;
        text-align: center;
/*        position: absolute;*/
        font-size: 7em;
        line-height: 1.2;
        font-weight: bold;
        color: #fff;
        text-shadow: 1px 1px 5px #000;
/*        transform: translate(-50%, -50%);*/
    }
    @media screen and (max-width: 767px){  
    .title {
        width: 96%;
        font-size: 14vw;
        text-align: center;
        line-height: 1.2;
        display: block;
        }	
    }
        
    #main .category-name {
        text-align: center;
        font-weight: bold;
        font-size: 3rem;
        line-height: 1.2;
        margin: 50px 0 20px;
        position: relative;
        width: 100%;
    }  
    #main .category-name span{
        position: relative;
    }  
    
    #main .category-name.pickup span::before {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(45deg);
        border-top: 5px solid #000;
        top: 55%;
        left: -20px;
        width: 50px;
    }
    #main .category-name.pickup span::after {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(-45deg);
        border-top: 5px solid #000;
        top: 55%;
        right: -70px;
        width: 50px;
    }
    
    @media screen and (max-width: 767px){    
    #main .category-name {
        font-size: 1.5em;
        font-feature-settings: "palt" 1;
    } 
    #main .category-name.pickup span::before {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(70deg);
        border-top: 3px solid #000;
        top: 55%;
        left: -70px;
        width: 50px;
    }
    #main .category-name.pickup span::after {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(-70deg);
        border-top: 3px solid #000;
        top: 55%;
        right: -70px;
        width: 50px;
    }
    #main .category-name.pickup.no2 span::before {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(70deg);
        border-top: 3px solid #000;
        top: 55%;
        left: -20px;
        width: 50px;
    }
    #main .category-name.pickup.no2 span::after {
        content: '';
        position: absolute;
        transform: translate(-50%, -50%) rotate(-70deg);
        border-top: 3px solid #000;
        top: 55%;
        right: -70px;
        width: 50px;
    }
    
    }     
    #main .category-text {
        text-align: center;
    font-size: 1.25em;
        line-height: 1.2;
        margin: 10px 0;   
    }  
    #main .category-text.left {
        text-align: left;  
    }    
    #main .category-text.red {
       color: #f00;  
    } 
    @media screen and (max-width: 767px){    
    #main .category-text {
        font-size: 1em;
    }     
    }     
        
    #main .catch{
        margin: 0 0 0 0;
        background: #004897;
        padding: 20px 0;
        color: #fff;
    }
    #main .catch-02{
        margin: 0 0 60px 0;
    }
    #main .catch-box{
        display: flex;
        align-items: center;
        justify-content: center;
    }	
    
    #main .catch .catch-first{
        text-align: center;
        font-weight: bold;
        font-size: 3.5em;
        line-height: 1.2;
    }	
    #main .catch .catch-first-sub{
        text-align: center;
        font-size: 1.5em;
        line-height: 1.2;
        margin: 15px 0 0;
    }
    #main .catch-02 .catch-second{
        text-align: center;
        font-size: 6.5rem;
        font-weight: bold;
        position: relative;
    }	
    #main .catch-02 .catch-second::after{
        position: absolute;
        content: '';
        height: 20px;
        bottom: -7%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 100%;
        max-width: 1200px;
        background-color: #004897;
        background-image: repeating-linear-gradient(-45deg,#fff, #fff 7px,transparent 0, transparent 14px);
    }
    #main .catch-02 .catch-last{
        text-align: center;
        font-size: 2em;
        padding: 10px 0;
        width: 100%;
        max-width: 700px;
        margin: 30px auto;
        position: relative;
        border: 1px solid #000;
    }	
    #main .catch-02 .catch-last::after{
       content: '';
        height: 0;
        width: 0;
        transform: translate(-50%, -50%);
        left: 50%;
        bottom: -50px;
        position: absolute;
        border-right: 50px solid transparent;
        border-top: 30px solid #000;
        border-left: 50px solid transparent;
        border-top-color: #000;
    }
        @media screen and (max-width: 767px){ 
            #main .catch .catch-mark{
        width: 13%;
    }	
     #main .catch .catch-first{
        font-size: 1.5em;
         margin: 0 0 10px;
    }	
    #main .catch .catch-first-sub{
        font-size: 1em;
        font-feature-settings: "palt" 1;
    }
    #main .catch-02 .catch-second{
        font-size: 10vw;
        margin: 30px 0 0;
    }	
    #main .catch-02 .catch-second::after {
        height: 5px;
    }
    #main .catch-02 .catch-last{
        font-size: 1em;
    }   
    #main .catch-02 .catch-last::after {
        left: 50%;
        bottom: -65px;
        border-right: 35px solid transparent;
        border-top: 25px solid #000;
        border-left: 35px solid transparent;
    }    
        
        
        }
        
    #main .checkBox{
        max-width: 1200px;
        width: 100%;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }	    
    #main .checkBox .check-list{
        margin: 40px;
    }    
    #main .checkBox .check-list li{
        display: flex;
            align-items: baseline;
        /*cursor: pointer;*/
    }    
    #main .checkBox .check-list li p{
        font-size: 1.25em;
        /*cursor: pointer;*/
        text-indent: -20px;
    }    
    #main .checkBox div.cols img{
        width: 100%
    }
    @media screen and (max-width: 767px){
    #main .checkBox{
        flex-direction: column-reverse;
    }
    #main .checkBox div.cols{
        width: 100%
    }	
    #main .checkBox .check-list{
        margin: 20px 0px 20px 20px;
    }    
    #main .checkBox .check-list li p {
        font-size: 1em;
        font-feature-settings: "palt" 1;
    }
    }
        #main .headsup{
            max-width: 1200px;
        width: 100%;
        margin: auto;
        
        }
        #main .headsup-img{
            display: flex;
            flex-wrap: wrap;
        justify-content: space-between;
        margin: 20px 0;
            align-items: center;
        }
        #main .headsup-img img{
            display: block;
            max-width: 590px;
            width: 100%;
            margin: auto auto 20px;
        }
        @media screen and (max-width: 767px){
            
            
            
            
        }
        
         #main .basicexp{
            max-width: 1200px;
        width: 100%;
        margin: 30px auto auto;
        
        }
        #main .basicexp .ant-name{
           text-align: center;
        font-size: 1.25em;
        font-weight: bold;
        color: #fff;
        padding: 10px 0;
        margin: 10px 0;
        background: #004897;
        }
    #main .basicexp .text_block{
        margin: 0 0 30px;
    }	
        #main .basicexp .category-text{
        margin: 10px 0;
        }
        #main .basicexp .basicexp-block{
            display: flex;
            flex-wrap: wrap;
            margin: 20px 0;
        }
        #main .basicexp .basicexp-block li{
            width: calc(50% - 10px);
            margin: 0 20px 20px 0;
        }
        #main .basicexp .basicexp-block li:nth-child(2n){
            margin: 0 0 20px 0;
        }
        #main .basicexp .basicexp-block li div table{
        width: 100%;
        box-sizing: border-box;
        }
        #main .basicexp .basicexp-block li div table tr{
            height: 20px;
        }
        #main .basicexp .basicexp-block li div table th{
            width: 20%;
        border-bottom: 3px solid #fff;
        border-right: 3px solid #fff;
        padding: 10px;
        color: #fff;
        background: #004897;
        }
        #main .basicexp .basicexp-block li div table td{
             width: 80%;
        border-bottom: 3px solid #fff;
        padding: 10px;
        background: #e3e3e3;
        }
        #main .basicexp .basicexp-block li div table td img{
            display: block;
        margin: auto;
        }
            @media screen and (max-width: 767px){ 
      #main .basicexp .basicexp-block li{
            width: 100%;
            margin: 0 0 20px 0;
        }
                #main .basicexp .basicexp-block li div table th {
        width: 25%;
        padding: 10px 5px 10px 5px;
        color: #fff;
    }
        }  
        
    #main .service{
    max-width: 1200px;
        width: 100%;
        margin: auto;
        }
        
    #main .service-block{
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
        }
        #main .service .service-block li{
            width: calc(50% - 10px);
            margin: 0 20px 20px 0;
        }
        #main .service .service-block li:nth-child(2n){
            margin: 0 0 20px 0;
        }
        #main .service .service-block li div img{
           width: 100%;
        }
        
    @media screen and (max-width: 767px){ 
      #main .service .service-block li{
            width: 100%;
            margin: 0 0 20px 0;
        }
        }  
        
        
     #main .flow{
    max-width: 1200px;
        width: 100%;
        margin: auto;
        }   
         #main .flow-block{
    display: flex;
        flex-wrap: wrap;
             margin: 40px 0;
        }
        #main .flow-block li{
            width: calc(25% - 0px);
    position: relative;
        }
         #main .flow-block li::after{
    content: '';
        height: 0;
        width: 0;
        transform: translate(-50%, -50%);
        top: 50%;
        right: -48px;
        position: absolute;
        border-top: 30px solid transparent;
        border-left: 20px solid #000;
        border-bottom: 30px solid transparent;
        }
        #main .flow-block li:last-child::after{
    content: none;
        }
        #main .flow-block li{
    height: 160px;
        padding: 20px;
            margin: 0 44px 0 0;
        width: 160px;
        box-sizing: border-box;
        border-radius: 10px;
        box-shadow: #000 1px 1px 5px;
        display: flex;
        align-items: center;
            flex-direction: column;
        }
        #main .flow-block li:last-child{
        margin: 0 0 0 0;
        }
        #main .flow-block li p{
    line-height: 1.2;
        font-size: 1.5em;
                margin: auto;
        }
#main .flow-block img{
    width: auto;
}
        @media screen and (max-width: 767px){ 
      #main .flow-block li::after {
        content: '';
        height: 0;
        width: 0;
        transform: translate(-50%, -50%);
        left: 50%;
          top: auto;
        right: auto;
          bottom: -78px;
        position: absolute;
        border-top: 15px solid #000;
        border-left: 20px solid #0000;
        border-right: 20px solid transparent;
        border-bottom: 30px solid transparent;
    }
            #main .flow-block li {
        width: 100%;
        position: relative;
                height: auto;
        padding: 20px;
        margin: auto auto 30px;
        box-sizing: border-box;
        border-radius: 10px;
        display: flex;
        align-items: center;
    }
        } 
        
        
        
        
    #main .assurance{
    max-width: 1200px;
        width: 100%;
        margin: auto;
        }
        
    #main .assurance-block{
    display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: center;
        }
        #main .assurance .assurance-block li.b_left{
            width: calc(55% - 10px);
        }
         #main .assurance .assurance-block li.b_right{
           width: calc(30% - 10px);
        }
        #main .assurance .assurance-block li .assurance-list{
            list-style: disc;
            font-size: 2rem;
        }
        #main .assurance .assurance-block li .mark{
            width: 300px;
        height: 300px;
        background: #f00;
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
            margin: auto;
        }
        #main .assurance .assurance-block li .mark p{
            text-align: center;
        font-size: 3rem;
        margin: auto;
        line-height: 1;
        }
        #main .assurance .assurance-block li .mark p span{
            font-size: 3em;
        }
        
        
        @media screen and (max-width: 767px){
         #main .assurance .assurance-block li.b_left{
            width: 100%;
        margin: 0 0 20px;
             display: flex;
        flex-direction: column;
        align-items: center;
        }
            #main .assurance .assurance-block li.b_left .list{
           width: 100%;
        max-width: 270px;
        margin: 30px 0 0;
        }
         #main .assurance .assurance-block li.b_right{
          width: 100%;
        }
        #main .assurance .assurance-block li .assurance-list{
            list-style: disc;
        font-size: 1.25em;
        padding: 0 0 0 10%;
        margin: 0 0 20px;
        }
        #main .assurance .assurance-block li .mark{
            width: 240px;
        height: 240px;
        background: #f00;
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
            margin: auto;
        }
        #main .assurance .assurance-block li .mark p{
            text-align: center;
            font-size: 2rem;
        margin: auto;
        line-height: 1;
        }
        #main .assurance .assurance-block li .mark p span{
            font-size: 3em;
        }      
        }
        
    #main .estimate{
    max-width: 1200px;
        width: 100%;
        margin: auto;
        }  
        #main .estimate-catch{
    display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin: 40px 0 40px;
        justify-content: center;
        } 
        #main .estimate-catch .category-name{
    margin: 0;
        } 
    #main .estimate-subtxt{
    text-align: center;
        font-size: 2em;
        font-weight: bold;
        color: #004897;
        line-height: 1.2;
    }
        
    #main .estimate-btn{
    max-width: 1000px;
        height: 100%;
        margin: 40px auto 100px;
        }
        #main .estimate-priceless{
    text-align: center;
        font-size: 6em;
        background: #f00;
        margin: 30px 0 0;
        width: 540px;
        display: flex;
        font-weight: bold;
        color: #fff;
        align-items: center;
        justify-content: center;
        }
    
        @media screen and (max-width: 767px){
            #main .estimate-subtxt {
        font-size: 1.5em;
    }
          #main .estimate-catch{
    justify-content: center;
        }   
          #main .estimate-catch .category-name {
        margin: 25px 0px;
    }  
           #main .estimate-priceless{
        text-align: center;
        font-size: 3em;
        background: #f00;
        width: 260px;
        margin: auto;
        font-weight: bold;
        color: #fff;
        } 
        }
        
        #main .option{
    max-width: 1200px;
        width: 100%;
            margin: 40px auto 100px auto;
        }
        
    #main .option-block{
    display: flex;
        flex-wrap: wrap;
        }
        #main .option .option-block li{
            width: calc(50% - 10px);
        margin: 0 20px 20px 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        }
        #main .option .option-block li:nth-child(2n){
            margin: 0 0 20px 0;
        }
        #main .option .option-block li div{
            display: flex;
        flex-wrap: wrap;
        align-items: center;
        }
        #main .option .option-block li div.option-img{
        width: calc(50% - 10px);
            margin: 0 10px 0 0;
        }
        #main .option .option-block li div.option-txt{
        width: 50%;
        }
        
        #main .option .option-block li div.option-img img{
            width: 100%;
        }
        #main .option .option-block li div.option-txt p.option-name{
        font-size: 3rem;
        font-weight: bold;
        }
        #main .option .option-block li div.option-txt p{
            padding: 0 0 0 5px;
            line-height: 1.2;
        }
        #main .option .option-block li div.option-txt span.option-name{
        font-size: 3em;
        line-height: 1.2;
        font-weight: bold;
        }
        #main .option .option-block li div.option-txt span{
        font-size: 1em;
        line-height: 1.2;
        font-weight: normal;
        }
        
        @media screen and (max-width: 767px){
         #main .option .option-block li{
            width: 100%;
             margin: 0 0 20px 0;
        }   
            #main .option .option-block li div.option-img{
        overflow: hidden;
    }
        #main .option .option-block li div.option-img img {
        width: 100%;
        min-width: 200px;
    }
          #main .option .option-block li div.option-txt p.option-name {
        font-size: 7vw;
        line-height: 1.5;
        font-weight: bold;  
            }#main .option .option-block li div{
            align-items: flex-start;
        }}
        
        
        
        #main .other{
    max-width: 1200px;
        width: 100%;
        margin: 40px auto 100px auto;
        }
        
    #main .other-block{
    display: flex;
        flex-wrap: wrap;
        }
        #main .other .other-block li{
            width: calc(50% - 10px);
            margin: 0 20px 20px 0;
        }
        #main .other .other-block li:nth-child(2n){
            margin: 0 0 20px 0;
        }
        #main .other .other-block li img{
            width: 100%;
        }
        
        @media screen and (max-width: 767px){
         #main .other .other-block li{
            width: 100%;
             margin: 0 0 20px 0;
        }   
            
        }
    #main .dial{
        max-width: 1200px;
        width: 100%;
        margin: auto;
    }
            
      #main .dial-text-01 {
    text-align: center;
        font-size: 2em;
        font-weight: bold;
        padding: 5px;
        color: #f00;
        line-height: 1.2;
        margin: 15px 0;
    }
     #main .dial-text-02 {
    text-align: center;
        font-size: 1.25em;
        font-weight: bold;
        color: #fff;
        background: #004897;
        padding: 5px;
        border-radius: 10px;
         line-height: 1.2;
    }
     #main .dial-link {
    margin: 10px 0;
    }
    #main .dial-link a img{
    max-width: 1000px;
        display: block;
        margin: auto;
        width: 100%;
    }
        @media screen and (max-width: 767px){ 
      #main .dial-link a img{
        width: 100%;
    }  
        #main .dial-text-01 {
        font-size: 1.25em;
    }
        }   
        
        #main .mitsumoriBtn{
        background: #fff;
        border: 5px solid #EA6D0D;
        border-radius: 40px;
        font-weight: bold;
        width: auto;
        color: #EA6D0D;
        display: flex;
        cursor: pointer;
        text-decoration: none;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 1.5em;
        padding: 0.75em 2.85em;
        transition: 0.3s;
        }
        #main .mitsumoriBtn:hover{
        background: #EA6D0D;
        border: 5px solid #EA6D0D;
        color: #fff;
        }
    @media screen and (max-width: 767px){ 
    #main .mitsumoriBtn{
        margin: 20px 0;
        }
    }
    
    #head .head_est{
        width: 240px;
    }
    #head .head_est a{
        background: #EA6D0D;
        color: #fff;
        display: flex;
        text-decoration: none;
        padding: 10px;
        font-size: 1.25em;
        font-weight: bold;
        line-height: 1.5;
        width: 100%;
        border-radius: 54px;
        height: 100%;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
    }
    @media screen and (max-width: 767px){
        #head .head_est {
        width: 150px;
    }
        #head .head_est a {
        background: #EA6D0D;
        color: #fff;
        display: flex;
        text-decoration: none;
        padding: 5px;
        font-size: 1em;
        font-weight: bold;
        line-height: 1.5;
        width: 100%;
        border-radius: 54px;
        height: 100%;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
    }
    }
    #main section.campaign{
        margin: 40px 0 60px;
    }
    #main section.campaign .campaign_box{
        max-width: 1200px;
        width: 100%;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    #main section.campaign .campaign_box img{
    width: 100%;
        height: auto;
        border: 1px solid #333;
        box-sizing: border-box;
    }
    #main section.campaign .campaign_txt{
        font-size: 3em;
        font-weight: bold;
        margin: 0 0 45px;
        position: relative;
    }
    @media screen and (max-width: 767px){
    #main section.campaign .campaign_txt{
        font-size: 10vw;
    }
    }
    #main section.campaign .campaign_txt::after {
        content: '';
        height: 0;
        width: 0;
        transform: translate(-50%, -50%);
        left: 50%;
        bottom: -40px;
        position: absolute;
        border-right: 50px solid transparent;
        border-top: 30px solid #000;
        border-left: 50px solid transparent;
        border-top-color: #000;
    }
    
    #main .catch_cols{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        margin: 20px 0;
    }
    #main .catch_cols p{
        width: 320px;
        text-align: center;
        background: #6dcd71;
        color: #fff;
        padding: 20px;
        border-radius: 5px;
        margin: 10px;
        font-size: 2em;
    }
    @media screen and (max-width: 767px){
    #main .catch_cols{
        flex-wrap: wrap;
    }	
        
    }
    #main .checks{
        margin: auto;
        max-width: 1200px;
    }
    
    #main .checks .checks_flexs{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    #main .checks .checks_flexs li{
        width: calc(50% - 20px);
        margin: 0 0 30px;
    }
    #main .checks .checks_flexs li div{
        
    }
    #main .checks .checks_flexs li p.c_title{
        font-size: 1.5em;
        font-weight: bold;
    }
    #main .checks .checks_flexs li p.c_weit{
        font-size: 1.25em;
        font-weight: bold;
    }
    
    #main .checks .checks_flexs li img{
        border: 1px solid #ccc;
        width: 100%;
        height: auto;
        max-width: 600px;
    }
    @media screen and (max-width: 767px){
    #main .checks .checks_flexs li{
        width: 100%;
        margin: 0 0 30px;
    }
    }
    
    
    section.block-main {
        margin: auto;
        max-width: 1200px;
        padding: 10px;
    }
    section.block-main h2.lv_h1 {
        text-align: center;
        margin: 40px 0 50px;
        font-size: 2em;
        font-weight: bold;
        font-feature-settings: "palt" 1;
    }
    section.block-main-txt {
        line-height: 1.2;
        margin: 10px 0 30px;
    }
    article.contents-block--sub .block-main .block-main-img {
        width: 100%;
        height: auto;
        max-width: 1200px;
    }
    @media screen and (max-width: 767px){
     .reform-nav{
            display: flex;
            flex-wrap: wrap;
        }
    .reform-nav li{
        overflow: hidden;
        position: relative;
        width: 100%;
        margin: 0 0 30px 0;
        border-radius: 5px;
        background: #000;
    }
    .reform-nav li a img{
        transition: all 0.3s ease 0s;
        display: block;
        width: 100%;
        height: auto;
        opacity: 0.8;
    }
    .reform-nav li a img::after{
        content:"";
    }
    .reform-nav li a img:hover {
        transform: scale(1.05, 1.05);
        opacity: .8;
    }
    .reform-nav li a span{
        position: absolute;
        left: 5%;
        font-size: 6vw;
        color: #fff;
        text-shadow: 1px 1px 5px rgb(0 0 0);
        font-weight: bold;
        top: 50%;
        transform: translateY(-50%);
    }
    .reform-nav li a .arrow{
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(0%,-50%);
        }
    .reform-nav li a .arrow svg{
        width: 10vw;
    }
    }
    
    @media screen and (min-width: 768px){
    .reform-nav{
            display: flex;
            flex-wrap: wrap;
        justify-content: center;
        }
    .reform-nav li{
        overflow: hidden;
        position: relative;
        width: calc(100% / 3 - 10px);
        margin: 0 15px 30px 0;
        border-radius: 5px;
        background: #000;
    }
    .reform-nav li:nth-child(3n){
        margin: 0 0 30px 0;
    }
    .reform-nav li a img{
        transition: all 0.3s ease 0s;
        display: block;
        width: 100%;
        height: auto;
        opacity: 0.8;
    }
    .reform-nav li a img::after{
        content:"";
    }
    .reform-nav li a img:hover {
        transform: scale(1.05, 1.05);
        opacity: .8;
    }
    .reform-nav li a span{
        position: absolute;
        left: 5%;
        font-size: 1.5em;
        color: #fff;
        text-shadow: 1px 1px 5px rgb(0 0 0);
        font-weight: bold;
        top: 50%;
        transform: translateY(-50%);
    }
    .reform-nav li a .arrow{
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(-50%,-50%);
    }
    }
    #main .flatbtn.reform_sub-btn {
        max-width: 300px;
        margin: 20px auto 40px;
        padding: 1.2rem 1.8rem;
        font-feature-settings: "palt" 1;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
    }
    #main .fs-medium {
        font-size: 1.0em;
        padding: 0.8rem 0.2rem;
    }
    #main .arrow-r,#main .arrow-d {
        position: relative;
    }
    #main .default-btn,#main .orange-btn,#main .red-btn,#main .blue-btn,#main .mustard-btn {
        color: #fff;
    }
    #main .default-btn {
        background: #979797;
    }
    #main .orange-btn {
        background: #EA6D0D;
    }
    .flatbtn {
        box-sizing: border-box;
        text-align: center;
        border-radius: 40px;
        color: #333;
        display: flex!important;
        opacity: 1.0;
        width: auto;
        height: 100%;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        text-decoration: none;
    }
    #main .arrow-r::after {
        content: "";
        position: absolute;
        right: 18px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        width: 8px;
        height: 8px;
        -webkit-transform: rotate( 45deg);
        transform: rotate( 45deg);
        top: 0;
        bottom: 0;
        margin: auto;
    }
    @media screen and (min-width: 768px){
        .flatbtn.pc-only{
            display: flex;
        }
        .flatbtn.sp-only{
            display: none;
        }
    }
    @media screen and (max-width: 767px){
        .flatbtn.pc-only{
            display: none;
        }
        .flatbtn.sp-only{
            display: flex;
        }
    }
    #main .price_img img{
        width: 100%;
            max-width:1200px;
    }
    #main .block-main-img.jukyuban{
        width: 100%;
        height: auto;
    }
    #main .price_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-bottom: 3px solid #3fb037;
        margin: 0 0 20px;
    }
    #main .list_block{
        width: calc(50% - 30px);
        margin: 0 0 20px;
    }
    #main .list_block:first-child{
    border-right: 3px solid #3fb037;
        padding-right: 30px;
    }
    #main .list_block:first-child.nocols{
        width: 100%;
        border: none;
        padding: 0;
    }
    #main .list_block img{
        width: 100%;
        height: auto;
    }
    #main .list_block ul{
    
    }
    #main .list_block ul li{
    
    }
    #main .list_block .list_block_title{
        font-size: 1.5em;
        font-weight: bold;
    }
    #main .list_block .list_block_title.mt40{
		margin-top: 40px
    }
    
    
    #main .list_block_table{
        width: 100%;
    }
    #main .list_block_table tr{
        border-bottom: 1px dotted #000;
    }
    #main .list_block_table tr.t_center{
        text-align: center;
    }
    #main .list_block_table td{
        padding: 10px 0;
        height: 40px;
    }
    #main .list_block_table.grid_m tr{
    border: none;
    }
    #main .list_block_table.grid_m td{
    border: 1px solid #000;
        padding: 10px;
    }
    #main .list_block_table td:nth-child(2n){
    width: 40%;
    }
    #main .list_block_table td p{
        
    }
    #main .list_block_table td p span{
        
    }
    #main .list_block_table td p.price{
        font-size: 2em;
        display: flex;
        align-items: baseline;
        justify-content: flex-start;
        position: relative
    }
    #main .list_block_table td p.price span{
        width: 40%;
        text-align: right;
        font-weight: bold;
    }
    #main .list_block_table td p.price span.font_small{
        font-size: 0.5em;
        margin: 0 10px;
        text-align: left;
        /* display: inline; */
        width: auto;
    }
    #main .list_block_table td p.price span.flat{
        position: absolute;
        top: 58%;
        left: -20%;
        font-size: 0.5em;
        transform: translate(-50%, -50%);
    }
    #main .list_block_table.grid_m td p.price{
        justify-content: flex-end;
    }
    #main .list_block_table.grid_m td p.price span{
        width: auto;
    }
    #main .list_block_table.grid_m td:nth-child(2n){
    width: auto;
    }
    @media screen and (max-width: 767px){
        #main .price_list{
        border-bottom: none;
    }
        #main .list_block {
        width: 100%;
        padding: 0 0 20px;
        border-bottom: 3px solid #3fb037;
    }
        #main .list_block:first-child.nocols{
        width: 100%;
        border-bottom: 3px solid #3fb037;
            padding: 0 0 20px;
    }
      #main .list_block:first-child {
        border-right: none;
        padding-right: 0;
    }  
        #main .list_block_table td:nth-child(2n){
    width: 66%;
    }
        #main .list_block_table td p.price span {
        width: auto; 
    }
        #main .list_block_table td p.price span.flat {
        position: absolute;
        top: 12px;
        left: 26px;
        font-size: 0.5em;
        transform: translate(-50%, -50%);
    }
        #main .list_block_table.grid_m td:nth-child(1){
    width: 28%;
    }
        #main .list_block_table.grid_m td:nth-child(2){
    width: 22%;
    }
        #main .list_block_table.grid_m td:nth-child(3){
    width: 50%;
    }
    }
    
    #main .copy{
        margin: auto;
        max-width: 700px;
    }
    #main .copy p{
        margin: 10px 0;
        font-size: 1.25em;
    }
    @media screen and (max-width: 767px){
        #main .copy p{
        font-size: 1em;
    }
    }
    
    #main .catch-03 {
        margin: 30px 0;
    }
    #main .arrow_text {
        font-weight: bold;
        text-align: center;
        font-size: 3.0rem;
    }
    #main .checks .arrow {
        margin: 10px auto 15px;
        width: 0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-top: 50px solid black;
    }
    #main .img_container > img {
        width: 100%;
        height: auto;
    }
    #main .img_container.campaign img {
        width: 100%;
        height: auto;
    border: 1px solid #333;
        box-sizing: border-box;
    }
    
    @media screen and (max-width:767px) {
        #main .arrow_text {
            font-size: 2.0rem;
        }
        #main .checks .arrow {
            border-left: 25px solid transparent;
            border-right: 25px solid transparent;
            border-top: 25px solid black;
        }
    }


#main .description{
    width: calc(100% - 40px);
    max-width: 1160px;
    margin: 10px auto 0;
}

#main .tab-menu-nav {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 1rem;
}
#main .tab-menu-nav li {
        width: 100%;
        margin-top: 1.25rem;
        position: relative;
    }

#main .feature-hdg2 {
        position: relative;
        padding-bottom: 1.25rem;
        border-bottom: 3px solid #B6B6B6;
        font-size: 1.75rem;
        margin-top: calc(80px - 0.6rem);
        margin-bottom: calc(40px - 0.75rem);
    }
#main .feature-hdg2::after {
        position: absolute;
        content: " ";
        border-bottom: solid 3px #E5002D;
        bottom: -3px;
        width: 8%;
        display: block;
    }
#main .feature-hdg3 {
    font-size: 1.75rem;
    border-left: 4px solid #f00;
    padding: 0.3rem 1rem 0.5rem;
    margin-top: calc(60px - 0.6rem);
    margin-bottom: calc(40px - 0.75rem);
}
#main .feature-hdg4 {
    font-size: 1.5rem;
    padding-bottom: 0.3rem;
    margin-top: calc(40px - 0.6rem);
    margin-bottom: calc(20px - 0.75rem);
}
#main .menu-btn-list {
    margin: 1rem 0;
}
#main .menu-btn-list.col-1 li {
    width: calc(60% - 10px);
    margin: auto;
}
#main .lead-text {
    font-size: 1.15em;
    line-height: 1.4;
}
@media screen and (max-width: 767px){

#main .tab-menu-nav{
    max-width: calc(100% - 20px);
    padding: 10px;
    grid-template-columns: 1fr 1fr;
}
#main .tab-menu-nav .fs-medium{
    font-size: 0.9em;
}

#main .fs-medium{
    font-size: 1.0em;
    padding: 0.5rem 2rem 0.5rem 1rem;
}
#main .feature-hdg2 {
    position: relative;
    padding-bottom: 1.25rem;
    border-bottom: 3px solid #B6B6B6;
    font-size: 1.5rem;
    margin-top: calc(60px - 0.6rem);
    margin-bottom: calc(45px - 0.75rem);
    line-height: 1.2;
    }
#main .feature-hdg3 {
    font-size: 1.25rem;
    margin-top: calc(50px - 0.6rem);
    margin-bottom: calc(30px - 0.75rem);
    padding-bottom: 0.5rem;
    line-height: 1.3;
    }
#main .feature-hdg4 {
    font-size: 1.2rem;
    padding-bottom: 0.3rem;
    margin-top: calc(30px - 0.6rem);
    margin-bottom: calc(15px - 0.75rem);
}
#main .menu-btn-list.col-1 li {
    width: 100%;
}
#main .lead-text {
    font-size: 0.95em;
}
}




#main .about-aircon-cleaning,
#main .house-cleaning-service,
#main .service-movie{
    max-width: 1200px;
    width: 100%;
    margin: auto;
}

#main .clean-merit{
    margin-top: 30px;
}
#main .clean-merit h4{
    font-size: 1.5em;
    margin-top: 30px;
    margin-bottom: 15px;
}
#main .clean-merit .point{
    margin-right: 5px;
    position: relative;
    padding: 0 10px;
    color: #fff;
    font-weight: bold;
    text-shadow:
        1px 1px 0 #e5002d, -1px -1px 0 #e5002d,
        -1px 1px 0 #e5002d, 1px -1px 0 #e5002d,
        0px 1px 0 #e5002d,  0-1px 0 #e5002d,
        -1px 0 0 #e5002d, 1px 0 0 #e5002d;
}
#main .clean-merit .point::after{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 1.3em;
    background-color: #e5002d;
    border-radius: 0.75em;
}
#main .clean-merit .point span{
    font-size: 1.5em;
}


@media screen and (max-width: 767px){
#main .about-aircon-cleaning,
#main .house-cleaning-service,
#main .service-movie{
    max-width: calc(100% - 20px);
}

#main .clean-merit h4{
    font-size: 1.15em;
}

}

#main .col3-2{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#main .col3-2::before,
#main .col3-2::after{
    content: "";
    display: block;
    width: 30%;
    height: 0;
}
#main .col3-2::before{
    order: 1;
}
#main .col3-2 .work-details{
    margin-top: 30px;
    width: 30%;
}
#main .col3-2 .work-details:nth-child(-n + 3){
    margin-top: 0;
}
#main .work-details h4{
    font-size: 1.5em;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 15px;
    color: #00a0e9;
}

@media screen and (max-width: 767px){
#main .col3-2::before,
#main .col3-2::after{
    width: 48%;
}
#main .col3-2 .work-details{
    width: 48%;
}
#main .col3-2 .work-details:nth-child(-n + 3){
    margin-top: 30px;
}
#main .col3-2 .work-details:nth-child(-n + 2){
    margin-top: 0;
}
#main .work-details h4{
    font-size: 1.15em;
    text-indent: -1.6em;
    padding-left: 1.6em;
    line-height: 1.2;
}

}



#main .service-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 30px;
}
#main .service-list .feature-hdg3{
    margin-top: 0;
    margin-bottom: calc(20px - 0.75rem);
}
#main .service-list--contents{
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: end;
    gap: 1rem;
}
#main .service-list--contents__text .lead-text{
    font-size: 1.3em;
    text-align: center;
    margin-bottom: 30px;
}
#main .service-list--contents__text .menu-btn-list{
    margin-bottom: 0;
}
#main .service-list--contents__text .menu-btn-list.col-1 li{
    width: 100%;
}
#main .service-list--contents__images p{
    text-align: center;
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 5px;
}
#main .service-list--contents__images p span{
    font-size: 0.8em;
    display: block;
}

@media screen and (max-width: 767px){
#main .service-list{
    grid-template-columns: 1fr;
    gap: 2rem 3rem;
}
#main .service-list--contents{
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: center;
    gap: 1rem;
}
#main .service-list--contents__text .lead-text{
    font-size: 1.0em;
    text-align: center;
    margin-bottom: 30px;
}
#main .service-list--contents__images p{
    font-size: 1.0em;
}
 
}



#main .set-plan{
    
}
#main .set-plan--head{
    display: grid;
    grid-template-columns: 2fr 3fr 2fr;
    gap: 10px 
}
#main .set-plan--head__plan{
    background-color: #00a0e9;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
#main .set-plan--head h4 span{
    font-size: 1.8em;
}
#main .set-plan--head__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#main .set-plan--head__content li{
    color: #00a0e9;
    font-size: 1.5em;
    font-weight: bold;
}
#main .set-plan--head__icon{
    display: flex;
    justify-content: flex-end;
}
#main .set-plan--head__icon li{
    width: calc(33% - 5px);
    margin-left: 5px;
}
#main .set-plan--explanation{
    font-size: 1.3em;
    line-height: 1.3;
    margin-top: 20px;
    margin-bottom: 40px;
}
@media screen and (max-width: 767px){
#main .set-plan--head{
    display: grid;
    grid-template-columns:2fr 1fr;
    gap: 10px 
}
#main .set-plan--head__plan{
    font-size: 1.1em;
    grid-column: 1 / 3;
}
#main .set-plan--head h4 span{
    font-size: 1.5em;
}
#main .set-plan--head__content{
    justify-content: flex-start;
}
#main .set-plan--head__content li{
    font-size: 1.0em;
    text-indent: -1em;
    padding-left: 1em;
}
#main .set-plan--head__icon{
    flex-wrap: wrap;
}
#main .set-plan--head__icon li{
    width: calc(50% - 5px);
    margin-top: 5px;
}
#main .set-plan--head__icon li:nth-child(-n + 2){
    margin-top: 0;
}

}

#main .border-bottom-dot{
    padding-bottom: 20px;
    border-bottom: dotted 3px #ccc;
    margin-bottom: 30px
}

#main .service-movie iframe{
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;  
}



/*-- margin-top --*/
.mt1em { margin-top: 1em !important; }
.mt2em { margin-top: 2em !important; }
.mt3em { margin-top: 3em !important; }
/*-- margin-bottom --*/
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }

