/*body {
    background-image: url(../image/bg.jpg);
    background-repeat: repeat-x;
    background-position: bottom;
    background-attachment: fixed;
}*/

span.tblock {
    display: inline-block;
}

.head-bar {
    width: 100%;
    height: 98px;
    border-bottom: 2px solid #42210b;
    position: sticky;
    top: 0;
    background-color: #ffffff;
    z-index: 998;
}

.head-bar-m {
    width: 100%;
    height: 58px;
    border-bottom: 2px solid #42210b;
    position: sticky;
    top: 0;
    background-color: #ffffff;
    z-index: 998;
}

.navi-bar {
    width: 100%;
    height: 40px;
    position: sticky;
    top: 98px;
    color: #ffffff;
    background-color: #5e3922;
    z-index: 999;
}

div.anchor {
    display: block;
    padding-top: 180px;
    margin-top: -180px;
}

.f-container {
    display: inline-flex;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0;
    color: #ffffff;
    background-color: #5e3922;
    z-index: 999;
}

.f-item {
    width: 20%;
    color: #ffffff;
    font-size: 1.15rem;
    text-align: center;
    vertical-align: middle;
    line-height: 40px;
    background-image: url(../image/naviBG.png);
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.4s ease-out;
}

.f-item:hover {
    color: #ffffff;
    background-image: url(../image/naviBGh.png);
    transition: all 0.4s ease-out;
}


.top-header {
    background-image: url(../image/header-image0.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 36.7vw;
}

.header-msg {
    height: 36.7vw;
}

.top-header .hero-body {
    padding: 0 !important;
}

.h2img {
    width: 240px;
    margin-bottom: 15px;
}

.top-block {
    margin: 0 4vw;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
}

.top-block p {
    font-size: 1.2rem;
    margin: 0;
    text-align: left;
}

.service-block {
    margin: 0 4vw;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
}

.service-block h3 {
    width: 100%;
    padding: 2px;
    text-align: center;
    color: #ffffff;
    background-color: #028760;
    font-size: 1.5rem;
}

.sblock1 {
    background-color: #f4f8ed;
    padding-bottom: 30px;
}

.sblock2 {
    background-color: #f7f8ed;
    padding-bottom: 30px;
}

.sblock2 h3 {
    color: #ffffff;
    background-color: #82ae46;
}

.sblock3 {
    background-color: #f7fbfd;
    padding-bottom: 30px;
}

.sblock3 h3 {
    color: #ffffff;
    background-color: #026187;
}

.sblock6 {
    background-color: #f7fbfd;
    padding-bottom: 30px;
}

.sblock6 h3 {
    color: #ffffff;
    background-color: #2b94a1;
}

.sblock7 {
    background-color: #f3edf8;
    padding-bottom: 30px;
}

.sblock7 h3 {
    color: #ffffff;
    background-color: #593f94;
}



.sblock3 img {
    margin: 15px;
    width: calc(100% - 30px) !important;
}

.sblock3 p {
    font-size: 1.1rem;
    padding: 0 4vw;
    margin-bottom: 1.0rem;
    text-align: left;
}

.k-notice p {
    font-size: 0.9rem;
}


.sblock3 h4 {
    font-size: 1.4rem;
    margin: 0rem 1.5rem 0.5rem 1.5rem;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    background-color: #026187;
    border-radius: 4px;
}

.k-price {
    padding: 0 0vw;
    margin: 0rem 1.5rem 0 1.5rem;
}

.kprice-p {
    font-size: 1.0rem !important;
    margin-bottom: 0 !important;
}

.sblock4 {
    background-color: #f3edf8;
    padding-bottom: 30px;
}

.sblock4 h3 {
    color: #ffffff;
    background-color: #706caa;
}

.sblock5 {
    margin: 0 4vw;
    padding: 0;
    border-radius: 0;
}

.sblock5 h3 {
    color: #ffffff;
    background-color: #5e3922;
    border-radius: 4px;
}


.basic-plan {
    margin: 1vw 3vw;
}

.option-plan {
    margin: 1vw 3vw;
}

.option-block {
    height: 100%;
    padding: 12px;
    background-color: #ffffff81;
    box-shadow: 2px 2px 8px #bbbbbb;
    border-radius: 5px;
}

.plan-img {
    object-fit: contain;
}

.plan-img-cap {
    font-size: 1.3rem;
}

.price-box {
    padding: 1vw 4vw;
    margin-bottom: 0 !important;
}

.price {
    padding-top: 0 !important;
}

.price img {
    object-fit: contain;
}

.p-notice,
.p-notice2 {
    padding: 0 4vw;
    margin-bottom: 40px;
}

.p-notice p {
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

.p-notice2 p {
    margin: 0.5rem 0;
    font-size: 1.1rem;
}

.ptable {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
}

.ptable th,
.ptable td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    border: 1px solid #dddddd;
}

.ptable td {
    font-size: 1.2rem;
}

.ptable td.td05 {
    font-size: 1.0rem;
}

.ptable td.garea {
    color: #ffffff;
    background-color: #82ae46;
}

.ptable th {
    font-weight: bold;
    font-size: 1rem;
    color: #666666;
    background: #eeeeee;
}

.ptable2 {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
    background-color: white;
}

.ptable2 th,
.ptable2 td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    border: 1px solid #dddddd;
}

.ptable2 td {
    font-size: 1.2rem;
}

.ptable2 td.td05 {
    font-size: 1.0rem;
}

.ptable2 td.garea {
    color: #ffffff;
    background-color: #82ae46;
}

.ptable2 th {
    font-weight: bold;
    font-size: 1rem;
    color: #666666;
    background: #eeeeee;
}

.ptable3 {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
    background-color: white;
}

.ptable3 td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 1.1rem;
}

.ptable3 tr {
    border-top: 1px dotted #ddd;
}


.ptable3 tr:last-child {
    border-top: 2px solid #444;
}

.ptable4 {
    border-collapse: collapse;
    width: 100%;
    margin: 5px 0;
    background-color: white;
}

.ptable4 td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 1.0rem;
}

.ptable4 th {
    padding: 0.2rem 1.2rem;
    height: 2rem;
    text-align: left !important;
    vertical-align: middle !important;
    font-size: 1.0rem;
}

.ptable4 tr {
    border-top: 1px dotted #ddd;
}


.ptable4 tr:nth-child(3),
.ptable4 tr:last-child {
    border-top: 2px solid #444;
}

.ptable4 tr:last-child td {
    text-align: right !important;
}








.free {
    background-color: #00a33e;
    padding: 8px;
    margin-bottom: 1.0rem !important;
    color: white;
    font-weight: bold;
    border-radius: 7px;
    white-space: nowrap;
    overflow-wrap: break-word;
}


.flow-container {
    margin: 0 10vw;
    border-top: 2px solid #00a33e;
    border-bottom: 2px solid #00a33e;
    background-color: #e0ffec13;
    padding: 5px;
}

.flow-itemH {
    font-size: 1.3rem;
    color: #00a33e;
}

.flow-itemH span {
    display: inline-block;
}

.flow-item {
    font-size: 1.1rem;
}

.flow-img {
    margin: 0 10vw;
    padding: 5px;
}

.garrow {
    margin: 5px 0;
}



#service-menu1,
#service-menu2,
#service-menu3 {
    padding: 0 4.5vw;
}

#service-menu1 .column,
#service-menu2 .column,
#service-menu3 .column {
    padding: 0.25rem 0.5rem;
}

#service-menu1 a,
#service-menu2 a,
#service-menu3 a {
    display: block;
    width: 100%;
    padding: 5px;
    font-size: 1.3rem;
    border-radius: 5px;
    transition: 0.5s;
}

.smc01 a {
    border: 2px solid #028760;
    color: #028760;
    background-color: #ffffff;
}

.smc01a a {
    border: 2px solid #028760;
    color: #ffffff;
    background-color: #028760;
}

.smc01a a,
.smc01 a:hover {
    border: 2px solid #028760;
    color: #ffffff;
    background-color: #028760;
    transition: 0.5s;
}

.smc02 a {
    border: 2px solid #026187;
    color: #026187;
    background-color: #ffffff;
}

.smc02a a,
.smc02 a:hover {
    border: 2px solid #026187;
    color: #ffffff;
    background-color: #026187;
    transition: 0.5s;
}

.smc03 a {
    border: 2px solid #706caa;
    color: #706caa;
    background-color: #ffffff;
}

.smc03a a,
.smc03 a:hover {
    border: 2px solid #706caa;
    color: #ffffff;
    background-color: #706caa;
    transition: 0.5s;
}




.contact-hero {
    padding-top: 0 !important;
    position: relative;
    z-index: 898;
}

.contact-block {
    padding: 0 5vw;
}

.cb-tel,
.cb-mail {
    padding: 0;
    margin: 0 0.25rem !important;
    border: 4px solid #00a33e;
    border-radius: 9px;
    overflow: hidden;
}

.cb-tel a {
    padding: 10px 10px 3px 10px !important;
    display: block;
}

.cb-mail a {
    padding: 30px 0 18px 0 !important;
    display: block;
}










.form-error-text {
    color: red;
}

.mailformcont {
    padding: 0 130px !important;
}

.mailformcont h2 {
    color: #3d3d3d !important;
    font-size: 1.5rem;
    font-weight: normal;
}

.mailformcont label {
    color: #00a33e !important;
    font-weight: bold;
    margin-top: 1.8rem !important;
}

.mailformcont label.radio {
    color: #000000 !important;
    margin-top: 0 !important;
}

.mailformcont label.f-delete {
    color: #000000 !important;
}

.radio {
    margin-left: 0.5em !important;
}

textarea,
.textarea {
    min-height: inherit;
    height: auto;
}

.confirmbox {
    border-bottom: 1px solid #3d3d3d;
}

.confirmboxth {
    color: #00a33e !important;
    font-weight: bold;
}

.confirmboxtd {
    color: #383838;
    font-size: 1.2rem;
}

.footer a {
    color: #3d3d3d;
}

.footer a:hover {
    color: #028760;
}

.privacy h2 {
    font-size: 1.7rem;
    font-weight: bold;
    margin-top: 2.5rem;
    margin-bottom: 1.2rem;
    text-align: center;
    border-bottom: 1px solid #444444;
}

.privacy h3 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 2.0rem;
}

.privacy h4 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-top: 1.0rem;
}

.privacy p {
    font-size: 1.0rem;
    text-indent: 1.0rem;
}

.privacy ul {
    font-size: 1.0rem;
    list-style: disc;
    padding: 0.3rem 2.0rem;
    margin: 0.3rem 0;
    border: 1px solid #444444;
}

.privacy ol {
    font-size: 1.0rem;
    list-style: decimal;
    padding: 0.3rem 2.0rem;
    margin: 0.3rem 0;
    border: 1px solid #444444;
}


.atable {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
}

.atable th,
.atable td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    border: 1px solid #dddddd;
}

.atable td {
    font-size: 1.2rem;
}

.atable th {
    font-weight: bold;
    font-size: 1rem;
    color: #666666;
    background: #eeeeee;
}


@media screen and (max-width:1024px) {
    .top-header {
        background-image: url(../image/header-image-t.jpg?version=220608);
        background-size: cover;
        background-repeat: no-repeat;
        width: 100%;
        height: 45.9vw;
    }

    .header-msg {
        display: none;
    }
}

@media screen and (max-width:768px) {
    .ptable thead {
        display: none !important;
    }

    .ptable td {
        display: block !important;
        height: auto !important;
    }

    .ptable td::before {
        content: attr(data-label);
        font-size: 1rem;
        color: #82ae46;
        display: block;
        margin-bottom: 0.25rem;
    }

    .ptable td {
        font-size: 1.4rem;
    }

    .ptable td.td05 {
        font-size: 1.0rem;
    }

    .ptable2 thead {
        display: none !important;
    }

    .ptable2 td {
        display: block !important;
        height: auto !important;
    }

    .ptable2 td::before {
        content: attr(data-label);
        font-size: 1rem;
        color: #82ae46;
        display: block;
        margin-bottom: 0.25rem;
    }

    .ptable2 td {
        font-size: 1.4rem;
    }

    .ptable2 td.td05 {
        font-size: 1.0rem;
    }


    .privacy h2 {
        font-size: 1.5rem;
    }

    .privacy h3 {
        font-size: 1.2rem;
    }

    .privacy h4 {
        font-size: 1.1rem;
    }


    .atable td,
    .atable th {
        display: block !important;
        height: auto !important;
        width: 100% !important;
        font-size: 1.0rem;
    }

    .atable th {
        font-size: 0.9rem;
    }
}

@media screen and (max-width:767px) {
    div.anchor {
        display: block;
        padding-top: 120px;
        margin-top: -120px;
    }

    .top-header {
        background-image: url(../image/header-image-m.jpg?version=220608);
        background-size: cover;
        background-repeat: no-repeat;
        width: 100%;
        height: 71vw;
    }

    .navi-bar {
        height: 30px;
        top: 58px;
    }

    .f-container {
        height: 30px;
    }

    .f-item {
        width: 33.3%;
        font-size: 1.0rem;
        line-height: 30px;
    }

    .h2img {
        height: 28px !important;
        margin-bottom: 7px;
    }

    .service-block {
        margin: 0 0vw;
    }

    .service-block h3 {
        font-size: 1.2rem;
    }





    .sblock3 img {
        margin: 10px;
        width: calc(100% - 20px) !important;
    }

    .k-price img {
        margin: 0 !important;
        width: 100% !important;
    }

    .sblock3 p {
        font-size: 1.0rem;
    }


    .sblock3 h4 {
        font-size: 1.2rem;
        margin: 0rem 1.0rem 0.5rem 1.0rem;
        font-weight: bold;
        text-align: center;
        color: #ffffff;
        background-color: #026187;
        border-radius: 4px;
        padding: 5px;
    }

    .kprice-p {
        font-size: 1.0rem !important;
        margin-bottom: 1.0rem !important;
    }







    #service-menu1,
    #service-menu2,
    #service-menu3 {
        padding: 0 1vw;
    }


    .contact-block {
        padding: 0 3vw;
    }

    .cb-tel,
    .cb-mail {
        margin: 0.5rem 0 !important;
        border: 3px solid #00a33e;
    }

    .cb-mail a {
        padding: 10px 0 3px 0 !important;
        display: block;
    }

    .cb-mail a img {
        width: 180px;
    }

    .plan-img {
        height: 180px;
    }

    .plan-img-cap {
        font-size: 1.1rem;
    }

    .price-notice p {
        font-size: 0.9rem;
    }

    .flow-container {
        margin: 0 0;
        padding: 2px;
    }

    .flow-img {
        margin: 0 0;
        padding: 2px;
    }

    .flow-itemH {
        font-size: 1.2rem;
        padding: 0;
        margin-top: 5px;
    }

    .flow-item {
        font-size: 1.0rem;
        padding: 3px;
    }


    .kaiyo-block p {
        font-size: 1.0rem;
        margin: 0rem 0 1.0rem 0;
    }

    .k-notice p {
        font-size: 0.8rem;
    }

    .kaiyo-block h3 {
        font-size: 1.2rem;
    }

    .kaiyo-block h4 {
        font-size: 1.2rem;
        margin: 0rem 0 0.5rem 0;
    }

    .kaiyo-block h5 {
        font-size: 1.1rem;
        margin: 0rem 0 0rem 0;
    }


    .mailformcont {
        padding: 0 !important;
    }

    .footer {
        padding: 1rem 1.5rem 1rem !important;
    }
}


@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}


.qtable {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
}


.qtable th,
.qtable td {
    padding: 0.5rem 0.5rem;
    height: 4rem;
    text-align: center !important;
    vertical-align: middle !important;
    border: 1px solid #dddddd;
}

.qtable td:last-child {
    padding: 0.2rem;
}

.qtable td {
    font-size: 1.1rem;
}

.qtable td.td05 {
    font-size: 1.0rem;
}

.qtable td.garea {
    color: #ffffff;
    background-color: #82ae46;
}

.qtable th {
    font-weight: bold;
    font-size: 1rem;
    color: #666666;
    background: #eeeeee;
}

.price-hl {
    background-color: rgb(255, 114, 20);
    color: white;
    padding:1.0rem;
    font-size:1.1rem;
    font-weight:bold;
}

.qtblp {
    display: table;
}

.qtblm {
    display: none;
}

@media screen and (max-width:820px) {
    .qtable th {
        font-size: 0.9rem;
    }

    .qtable td {
        font-size: 1.0rem;
    }

    .qtable td.td05 {
        font-size: 0.9rem;
    }
}

@media screen and (max-width:480px) {
    .qthb {
        color: #ffffff !important;
        background-color: #5e3922 !important;
        height: 2rem !important;
    }

    .qtblp {
        display: none;
    }

    .qtblm {
        display: table;
    }
}