html{
    font-family: 'Noto Sans JP', sans-serif;
}

body {
    background-color: #f9f9f9;
}

/* ヘッダー部 */
header{
    background: url('../img/top/header_logo_bg.png');
    overflow: hidden;
    width: 100%;
    height: 247px;
}

header div{
    text-align: center;
    padding-top: 20px;
}

div.row{
    margin-bottom: 20px;
}

.box{
    width: 350px;
    padding: 0 15px 15px 15px;
}
.box img{
    float: left;
}
.box .boxTitle{
    float: left;
    margin-left: 10px;
    margin-top: 18px;
    font-size: 1.5rem;
}
.box .boxDescription{
    display: inline-block;
    font-size: 1rem;
    margin-top: 10px;
}
.box .boxPoint{
    margin-top: 10px;
    display: inline;
    float: left;
    background-color: #FFFFFF;
    height: 100px;
    border: solid 1px #f9f9f9;
}
.box .boxPoint .point{
    padding: 20px 5px 5px 5px;
    display: table-cell;
    vertical-align: middle;
    height: 80px;
    color: #66cc99;
}
.box ul{
    font-size: 1rem;
    padding-inline-start: 15px;
    margin-top: 10px;
    width: 260px;
}
.box li {
    list-style-type: none;
    position: relative;
    padding-left: 1rem;
}
.box li:before {
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background-color: #66cc99;
}

p{
    margin: 0;
}

.dispTable{
    display: table-row;
}

.ml-5px{
    margin-left: 5px;
}

.ml-10px{
    margin-left: 10px;
}

.ml-20px{
    margin-left: 20px;
}

.mt-10px{
    margin-top: 10px;
}

.ml-2vw{
    margin-left: 2vw;
}

.alignRight{
    display: contents;
    text-align: right;
}

.font75{
    font-size: 0.75rem;
}

.width315{
    width: 315px;
}

.box .boxDescription img.pullRight{
    float: right;
}

/* フォント設定 */
div#contents .title{
    font-family: 'HGS明朝B', sans-serif;
    font-size: 2.25rem;
}
.subTitle{
    font-family: '游ゴシック', sans-serif;
    font-size: 1.25rem;
    padding-top: 10px;
}

.head-border {
    color: #56C3B7;
    font-size: 1.5rem;
}

.stepLogo{
    font-family: 'HGS明朝B', sans-serif;
    color: #F05893;
}

.stepLogo:first-letter{
    font-size: 3rem;
}

/* サービス一覧表 */
table.table-bordered tbody tr th{
    font-size: 1rem;
    width: 170px;
}

table.table-bordered tbody tr th ul{
    margin-bottom: 0;
    padding-inline-start: 1rem;
    font-size: 0.75rem;
}

table.table-bordered  thead tr th,
table.table-bordered  tbody tr td{
    text-align: center;
    vertical-align: middle;
}

table.table-bordered  tbody tr td{
    color: #F05893;
}

table.table-bordered thead tr:first-child,
table.table-bordered thead tr:first-child th{
    border-width: 0 0;
    font-size: 0.75rem;
    width: 90px;
    padding: .3rem .1rem;
}

table.table-bordered .borderTopNone{
    border-top-style: none;
}

table.table-bordered .th-border{    
    border-top-width: thin;
    vertical-align: middle;
    color: #FFFFFF;
    background-color: #5CC3B4;
}

table.table-bordered .th-border-width0{
    border-width: 0 0;
    padding-bottom: 10px;
}

table.table-bordered tbody tr th{
    background-color: #C0E3DD;
}

/* フッター */
footer{
    margin-bottom: 15px;
}

div.tel{
    position: relative;
    float: left;
    max-width: 350px;
    margin-left: 0;
    min-width: 340px;
    text-align: left;
    vertical-align: middle;
    padding: 10px 0 10px 30px;
    border-left: 1px solid #DFE0E1;
}
span.tel {
    font-size: 1.2rem;
    font-weight: bold;
    color: #336;
    margin-right: 20px;
    word-break: break-all;
}

div.tel a{
    color: #336;
    text-decoration: none;
}

div.mail{
    position: relative;
    float: left;
    max-width: 350px;
    margin-left: 0;
    text-align: center;
    padding: 0 0 10px 0;
    border-left: 1px solid #DFE0E1;
}

div.mail a{
    color: #263191;
    text-decoration: none;
}

div.mail .button {
    display: inline-block;
    color: #fff;
    background-color: #263167;
    border: none;
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    width: 65%;
    margin: 1px 0;
    padding: 10px 0;
    text-align: center;
    position: relative;
}

p.position{
    margin: 8px 0 0 10vw;
}

@media only screen and (max-width: 767px){
    header{
        height: 50%;
    }
    header div img{
        width: 90%;
    }
    div.scroll{
        overflow-x: scroll;
        float: left;
        width: 100%;
    }
    table{
        min-width: 600px;
    }
    div.tel {
        position: relative;
        float: left;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        text-align: center;
        padding: 10px 0 10px 0;
        min-width: 0;
        border-left: none;
    }
    span.tel {
        font-size: 1.9rem;
    }
    div.mail {
        position: relative;
        float: left;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 10px 0 10px 0;
        border-left: none;
    }
    div.mail p {
        margin: 0;
        text-align: center;
    }
}

@media only screen and (min-width: 768px){
    .ml-5per{
        margin-left: 5%;
    }
    
    .ml-10per{
        margin-left: 10%;
    }
    
    .mt-10per{
        margin-top: 10%;
    }
    
    .ml-20per{
        margin-left: 20%;
    }
    
    .ml-30per{
        margin-left: 30%;
    }

    /* ボーダー */
    .head-border {
        position: relative;
        display: inline-block;
        padding: 0 160px;
    }
    .head-border:before,
    .head-border:after {
        content: '';
        position: absolute;
        top: 50%;
        display: inline-block;
        width: 100px;
        height: 2px;
        background-color: #56C3B7;
    }
    .head-border:before {
        left: 10%;
    }
    .head-border:after {
        right: 10%;
    }
}

