@charset "UTF-8";

@media screen and (max-width: 680px){
	body{
		margin: 0;
        padding-top: 80px;
        font-size:  2.5vw;
        line-height: 180%;
	}
    
    .pc{
        display:none !important;
    }
    
    h1 span.h1_text{
        font-size: 1.5vw;
    }
    
    #nav-toggle span:nth-child(4) {
		font-size:2.5vw;
    }
    
       header .content:after{
        display: none;
    }
    
    

/*---------------------
common
----------------------*/
    .content{
        width:95%;
    }
    
    .sp{
        display: block !important;
    }
    
    header{
        padding: 10px;
    }
    
    header .content {
        padding: 10px 0;
        width: 100%;
    }
    
    
    header h1 {
        width: 45%;
        margin-left: 0;
    }
    
    header .header_btn {
        margin-right: 50px;
        width: 30%;
        display: none;      
    }

    #nav-toggle {
        right: 10px;
    }
    
    .sec{
        padding: 30px 0;
    }
/*---------------------
top
----------------------*/
     .slider-thm {
        padding: 10px 0;
    }
    
    .slider button {
        display: none !important;
    }
    
    h2{
        font-size:  5vw;
    }
      
    span.gl {
        font-size: 2vw;
    }
    
    .top_sec01 .sec01_list li {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
    }
    
    h2 span {
    font-size: 3.5vw;
    }
    
    .tab-area .tab {
    width: calc(50% - 5px);
    }
    
    .tab-area .tab{
    font-size: 3.5vw;
    }
    
    .tab-area .tab span {
    font-size: 3vw;
    }
    
    .top_sec02 .sec02_tab_box01 {
        padding: 0.25em;
    }
    
    .top_sec02 .sec02_tab_box01 .sec02_tab_cont {
    background: #ffffff;
    padding: 0.5em 0.3em;
        width: calc(50% - 5px);
    }
    
    .top_sec02 .sec02_tab_box01 .sec02_tab_cont .sec02_tab_title01 {
        font-size: 4vw;
    }

    .top_sec02 .sec02_tab_box01 .sec02_tab_cont .sec02_tab_title02 {
        font-size: 3vw;
    }
        
.top_sec02 .sec02_tab_box01 .sec02_tab_cont .sec02_tab_title03{
    font-size: 3vw;
}

        
.top_sec02 .sec02_tab_box01 .sec02_tab_cont .sec02_tab_title04{
    font-size: 2.5vw;
    text-align: left;
}
    
    .top_sec02 .sec02_tab_box01 .sec02_tab_cont .sec02_tab_text {
        font-size: 2vw;
    }
    
    .sec02_tab_box02 .sec02_tab_cont02{
        font-size: 2vw;
        line-height: 2em;
        margin-bottom: 10px;
    }
    
    .sec02_tab_box02 .sec02_tab_cont02 span{
        display: block;
    }
    
    .top_sec02 .sec02_tab_box03 {
        font-size: 2vw;
    }
    
    .top_sec03 .sec03_list li {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .top_sec04 .top_sec04_text {
        font-size: 2vw;
        color: #ffffff;
        margin: 10px 0 20px;
    }
    
    .top_sec04 .top_sec04_btnWrap .top_sec04_btn {
        width: calc(50% - 5px);
    }

    .top_sec05 .top_sec05_list {
        display: inherit;
        justify-content: space-around;
        margin-top: 15px;
    }
    
    .top_sec05 .top_sec05_text {
        font-size: 3.5vw;
    }
    
    .top_sec05 .top_sec05_list li {
        width: 100%;
        margin-bottom: 30px;
    }
    
    .top_sec06_a, .top_sec06_b {
        position: inherit;
        width: 100%;
        float: none;
        height: auto;
    }
    
    .top_sec06_a h2, .top_sec06_b h2 {
        font-size: 6vw;
    }
    
    .content02 {
        padding: 0;
        position: inherit;
        width: 95%;
        margin: 0 auto;
    }
    
    .top_sec07 .top_sec07_list li {
        width: 100%;
        margin-bottom: 80px;
        height: 13em;
    }
    
    .top_sec07 .top_sec07_list {
        display: inherit;
    }
    
    .top_sec07 .top_sec07_list li:after {
        right: calc(50% - 10px);
        bottom: -60px;
        top: inherit;
        transform: rotate(90deg);
    }
    
    .top_sec07 .top_sec07_list .top_sec07_listImg {
        padding: 10px;
        background: #e1eaf8;
        margin-bottom: 30px;
        width: 40%;
        float: left;
    }
    
    .top_sec07 .top_sec07_list .top_sec07_title {
        float: right;
        text-align: left;
        width: 50%;
        font-size: 6vw;
    }
    
    .top_sec07 .top_sec07_list .top_sec07_text {
        float: right;
        text-align: left;
        width: 50%;
        font-size: 2vw;
    }
    
    footer.sec {
        padding: 30px 5%;
    }
    
    footer .foot_list li {
        display: block;
    }
    
    footer .foot_list li:nth-child(2):before, footer .foot_list li:nth-child(2):after {
        content: none;
    }
    
    footer .copy {
        font-size: 2.5vw;
        padding: 0 5%;
    }
    
    .fixed_sec {
        padding: 10px 0;
    }

    .fixed_sec .fixed_btnWrap .fixed_btn {
        width: 100%;
     margin: auto;
    }
    
     .map_content{
        padding: 0;
        border: none;
        margin-top: 50px;
    }

    .map_title01{
        font-size: 4vw;
    } 

    .map_title02{
        font-size: 4vw;
    } 
    
/*--------

provider

---------*/
    .pankuzu{
        padding-top: 30px;
    }
    
    .provider_sec02 .provider_sec02_ul{
        display:inherit;
    }
    
    .provider_sec02 .provider_sec02_ul li{
        width:100%;
        margin-bottom: 40px;
    }
    
/*--------

option

---------*/
    h3.page_title02 {
        font-size: 4vw;
    }
    
    .option_cont {
        display: inherit;
    }
    
    .option_box02 {
        padding-left: 0;
        width: 100%;
    }
    
    .option_text01 {
        font-size: 4vw;
        margin: 10px 0;
    }
    
    h3.page_title {
        font-size: 4vw;
    }
    
    .option_cont02 {
        padding: 15px;
    }
    
    .option_text03 {
        font-size: 4vw;
    }
    
    .option_text04 {
        font-size: 3.5vw;
    }
    
    .page_text {
        font-size: 2.5vw;
    }
    
    
/*=======
    
contact    
    
========*/
      input[type="text"],textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
  }
    
    .pankuzu ul {
        text-align: left;
        display: flex;
    }
    
    .pankuzu li:after {
    top: 0;
    }
    
     input[type="submit"],
        button{
            -webkit-appearance:none;
            border-radius:0;
            vertical-align:middle;
            text-align:center;
        }

        
        #contact th{
            border: none !important;
            background: none;
            padding:20px 0 0;
        }
        
        #contact th br{
            display: none;
        }

        #contact td{
            border: none !important;
            padding:10px 0 20px;
        }   
        
        #contact input[type="text"],
        #contact select{
            width:100%;
            box-sizing: border-box;
            font-size: 3.5vw;
        }


        #contact select{
             width:100%;
            box-sizing: border-box;
            font-size: 3.5vw;
        }

        #contact input#email{
             width:100%;
            box-sizing: border-box;
            font-size: 3.5vw;
        }
        
        #contact .sp_none{
            display:none;
        }
        
        #contact .form-label{
            font-weight: bold;
            padding-bottom: 10px;
        }
        
        #contact .row{
            padding-bottom: 20px;
        }
        
         #contact .row:last-child{
            padding-bottom: 0;
        }
        
        #contact .col{
             display: inherit;
        }
        
        #contact .required_sp{
            display:inline-block;
        }
        
        #contact th.required:after{
            content:none;
        }
        
        #contact .required_sp:after{
            content:"必須";
            padding: 3px 8px;
            color:#ffffff;
            background: #C1272D;
            display:inline-block;
            font-size: 2.5vw;
            margin-left: 10px;
            line-height: 180%;
        }
        
        #contact h3.page_title {
            font-size: 4vw;
            text-align: left;
            margin-top: 40px;
        }
        
        .stepbar__item-inner {
            font-size: 2vw;
            text-align: center;
        }
        
        .step_text {
            display: inherit;
            margin: 20px 0;
        }

        .stepbar__item-inner br{
            display: block;
        }
        
        .step_text dt {
            font-size: 4vw;
            margin-bottom: 10px;
        }
        
        .step_text dd {
            font-size:2.5vw;
        }
        
        #contact table{ 
            word-break: break-all;
	        word-wrap: break-all; 
            table-layout: fixed;
        }
        
        #contact .i_add1_title {
            margin-left: 0;
            margin-top: 10px;
        }
        
        #contact div.note {
            font-size: 2vw;
        }
        
        #contact textarea{
            font-size: 3.5vw;
            width:100%;
            box-sizing: border-box;
        }
        
        .submit .result-button-flex .btn {
            font-size: 4vw;
            width: 100%;
        }
        
        #contact .formError{
            left: 220px !important;
        }
    
    

    
    .company_table td,
    .company_table th{
        width:100%;
        display: block;
        border-top:none;
        border-right:1px #CCCCCC solid;
        border-bottom: none;
    }   
    
        
    .company_table tr:last-child td{
        border-top:none;
        border-bottom:1px #CCCCCC solid;
    }   
    
    .company_table tr:first-child th{
        border-top:1px #CCCCCC solid;
    } 
    
    .company_table tr:last-child th{
        border-bottom: none;
    }
    
    .policy_title{
    font-size:4vw;
}

}