@charset "UTF-8";
html{
    overflow-y: scroll;
    text-align: center;
}
p{
    line-height: 2rem;
}

.subvisual{
    background-color: #FFF693;
    border-radius: 0 300px 300px 0;
    margin-top: 80px;
    margin-bottom: 100px;
    margin-right: 20%;
    padding: 30px 8% 30px 20px;
    max-height: 400px;
    /* 上下中央、右揃えに */
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.subvisual h1{
    color: #006CBD;
    font-size: 1.5rem;
    margin: 0;
}
.subvisual p{
    color: #3EB5FF;
    font-size: 1.1rem;
    font-family: "source-code-variable",sans-serif;
    font-variation-settings: 'wght' 400;
    margin: 0;
}
.subvisual_text{
    float:right;
    margin-left: 70px;
}
.illust_payment{
    width:450px;
    height:auto;
}
.icon_price{
    width:100px;
    height:100px;
}
.price{
    /* margin-top: -10px; */
    padding-top: 50px;
    padding-bottom: 120px;
    background-color: #9DE4FF;
    background-image: url(../images/background_skyblue.png);
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #EBEBEB;
}

/* ↓タブメニューのためのCSS */
ul,
li {
    padding: 0;
    margin: 0;
}
h4{
    text-align: left;
}

.campaign{
    display: inline-block;
    padding: 0.7rem 0;
    margin-bottom: 0.2rem;
    background-image: repeating-linear-gradient(145deg, transparent 0 3px, #f7c133 3px 6px);
    background-repeat: no-repeat;
    background-size: 100% 10px;
    background-position: left 0 bottom 10px;
    color: #353535;
    font-weight: bold;
    font-size: 26px;
    line-height: 2.2rem;
}

.tab {
    width: 1150px;
    max-width: 90%;
    margin: 50px auto;
    }

.tab-menu {
    display: flex;
    justify-content: flex-start;
}

.tab-item {
    text-align: center;
    padding: 10px;
    cursor: pointer;

    /* widthを同じ比率で分けあう */
    /* flex-grow: 1; */

    width: 200px;
    border-radius: 20px 20px 0 0;
    background-color: #6EB8E5;
    color:#fff;
    font-weight: 600;
}
.tab-item:hover{
    color: #006CBD;
    background-color: #fff;
}
.tab-item-2{
    background-color: #54A2DD;
}
        
.tab-item:not(:first-child) {
    border-left: none;
}

    /* アクティブなタブはデザインを変えて選択中であることが解るようにする */
.tab-item.active {
    background: #006CBD;
    color: white;
}

.tab-box {
    height: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0 20px 20px 20px;
    background-color: #fff;
    color: #560F32;
    padding: 20px 60px 50px;
}
.tab-content p{
    text-align: left;
}
        
    /* コンテンツは原則非表示 */
.tab-content {
    display: none;
}

    /* .showがついたコンテンツのみ表示 */
.tab-content.show {
    display: block;
}
/* ↑タブメニューのためのCSS */
/* ＊＊＊＊＊↓料金表のためのCSS＊＊＊＊＊ */
.rate_table,
.rate_table th,
.rate_table td {
    border: 1px solid #ccc;
    border-collapse: collapse;
}
.rate_table{
    table-layout: fixed;
    width: 100%;
    margin: 0 auto;
}
.rate_table th{
    padding: 8px 2px;
}
.rate_table .th1{
    background-color: #41A9E0;
    color: #fff;
}
.rate_table .th2{
    background-color: #F38345;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table .th3{
    background-color: #55C3B3;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table .th4{
    background-color: #f47272;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table .th2-1{
    background-color: #FDC28A;
    color:#D35800;
}
.rate_table .th3-1{
    background-color: #9FDDD5;
    color:#00937A;
}
.rate_table .th4-1{
    background-color: #ffc9c9;
    color:#d35b5b;
}
.rate_table td{
    padding: 15px 5px;
}
.td_price{
    font-size: 1.3rem;
    font-weight: 800;
}
.rate_table_media{
    display: none;
}
/* ＊＊＊＊＊↑料金表のためのCSS＊＊＊＊＊ */
/* ＊＊＊＊＊↓一人親方ミニ料金表のためのCSS＊＊＊＊＊ */
.rate_table_mini,
.rate_table_mini th,
.rate_table_mini td {
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-weight: 500;
}
.rate_table_mini{
    table-layout: fixed;
    width: 80%;
    justify-content: flex-start;
}
.rate_table_mini th{
    padding: 4px 2px;
}
.rate_table_mini .th1_mini{
    background-color: #41A9E0;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
}
.rate_table_mini .th2_mini{
    background-color: #F38345;
    color: #fff;
    border-bottom: #fff 1px solid;
    font-size: 0.9rem;
    padding: 4px 2px;
    font-weight: 600;
}
.rate_table_mini .th2-1_mini{
    background-color: #FDC28A;
    color:#D35800;
    font-size: 0.9rem
}
.rate_table_mini td{
    padding: 5px 2px;
    font-weight: 800;

}
/* ＊＊＊＊＊↑一人親方ミニ料金表のためのCSS＊＊＊＊＊ */
.campaign-text{
    display: flex;
    justify-content: right;
    font-size: small;
    line-height: normal;
    margin-bottom: 50px;
}
.ccus_ex{
    align-items: center;
    margin: 10px 0;
}
.button_ccus{
    color: #fff;
    background-color: #006CBD;
    border: #006CBD 1px solid;
    font-weight:600;
    padding: 5px 20px;
    border-radius: 30px;
    height: fit-content;
    margin: 0 5px;
}
.button_ccus:hover{
    color: #006CBD;
    background-color: #fff;

}
.section_box{
    background-color:#F2F2F2 ;
    border-radius: 15px;
    padding: 3px 30px 30px;
    text-align: left;
    margin: 20px auto 30px;
}
/* よくある料金の例 */
.price_ex{
    width: 98%;
    border-collapse:collapse;
    line-height: 1.7rem;
    letter-spacing: 0.06rem;
}
.price_ex tbody{
    border-top: #ccc 1px solid;
}
.price_ex tbody th{
    text-align: left;
    font-weight: 500;
}
.price_ex tbody td{
    text-align: right;
}
.price_ex_left{
    text-align: left;
}
.price_ex_padding_top{
    padding-top: 18px;
}
.price_ex_padding_bottom{
    padding-bottom: 18px;
}
/* よくある質問 */
.faq{
    background-color: #EBEBEB;
    padding: 100px 0 100px;
}
.icon_question{
    width: 80px;
    height: auto;
    margin-left: 100% ;
    margin-top: -400px;
}
.faq_container{
    width: 900px;
    max-width: 90%;
    margin: 80px auto 60px;
    background-color: #fff;
    height: fit-content;
    text-align: left;
    border-radius: 20px;
    color: #560F32;
    padding: 20px 60px 50px;
}
.faq_border{
    border-bottom:#ccc 1px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.faq_box{
    height: auto;
    margin: 0 auto;
    padding: 0 20px;
}

.faq_flex{
    /* 上下中央、右揃えに */
    display: flex;
    align-items: flex-start;
}
.faq_flex img{
    width: 40px;
    height: 40px;
    margin-top: 15px;
    margin-right: 15px;
}
/* *********************************** */
@media (max-width: 1480px) {
    .subvisual{
        border-radius: 0 300px 300px 0;
        margin-top: 80px;
        margin-bottom: 100px;
        margin-right: 12%;
    }
}
/* *********************************** */
@media (max-width: 1080px) {
    body{
        font-family:"Century Gothic", sans-serif;
    }
    .subvisual{
        border-radius: 0 300px 300px 0;
        margin-top: 80px;
        margin-bottom: 100px;
        margin-right: 10%;
    }
    .tab-box {
        padding: 20px 30px 40px;
    }
    footer{
        font-size: 2vw;
    }
}
/* *********************************** */
@media (max-width: 768px) {
    .blue_line{
        display: none;
    }
    .subvisual{
        border-radius: 0;
        margin : 50px auto 70px;
        padding: 0px 30px 0px 20px;
        height: 250px;
    }

    .subvisual h1{
        color: #006CBD;
        font-size: 1.3rem;
        margin: 0;
    }
    .subvisual p{
        color: #3EB5FF;
        font-size: 0.9rem;
        font-family: "source-code-variable",sans-serif;
        font-variation-settings: 'wght' 400;
        margin: 0;
        line-height: 1rem;
    }
    .subvisual_text{
        float:right;
        margin-left: 0px;
    }
    .illust_payment{
        width:300px;
        height:auto;
        margin-right: 20px;
    }
    .icon_price{
        width:80px;
        height:80px;
    }

    /* タブメニュー */
    .tab-item {
        text-align: center;
        padding: 12px;
        cursor: pointer;
    
        /* widthを同じ比率で分けあう */
        /* flex-grow: 1; */
    
        width: fit-content;
        font-size: 0.9rem;
    }

    .tab-box {
        padding: 20px 10px 40px;
    }
    .tab-content p{
        text-align: left;
    }
    .price{
        padding-top: 40px;
        padding-bottom: 70px;
    }
/* ---↓料金表レスポンシブ--- */

.rate_table{
    display: none;
}

.rate_table_media,
.rate_table_media th,
.rate_table_media td{
    border: 1px solid #ccc;
    border-collapse: collapse;
}
.rate_table_media{
    display: block;
    table-layout: fixed;
    width: fit-content;
    margin: 0 auto;
    text-align:center;
}

.rate_table_media th{
    padding: 8px 10px ;
}
.rate_table_media .th1{
    background-color: #41A9E0;
    color: #fff;
}
.rate_table_media .th2{
    background-color: #F38345;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table_media .th3{
    background-color: #55C3B3;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table_media .th4{
    background-color: #f47272;
    color: #fff;
    border-bottom: #fff 1px solid;
}
.rate_table_media .th2-1{
    background-color: #FDC28A;
    color:#D35800;
}
.rate_table_media .th3-1{
    background-color: #9FDDD5;
    color:#00937A;
}
.rate_table_media .th4-1{
    background-color: #ffc9c9;
    color:#d35b5b;
}
.rate_table_media td{
    padding: 15px 5px;
}
.td_price_media{
    font-size: 1.3rem;
    font-weight: 800;
}
.rate_table_mini{
    margin: 0 auto;
    width: 100%;
}
/* ---↑料金表レスポンシブ--- */
.ccus_ex{
    display: block;
    font-size: 0.9rem;
    margin: 50px 0;
}
.ccus_ex p{
    text-align: center;
}
.section_box{
    padding: 3px 10px 30px;
}
.price_ex{
    font-size: 0.8rem;
}
.campaign-text{
    width: 90%;
    margin: 15px auto 50px;
}
/* よくある質問 */
.faq{
    padding: 40px 0 50px;
    font-size: 0.9rem;
}
.icon_question{
    width: 60px;
    height: auto;
    margin-left: 90% ;
    margin-top: -100px;
}
.faq_container{
    max-width: 90%;
    margin: 80px auto 60px;
    padding: 20px 20px 40px;
}
}
