@charset "utf-8";
*{
    padding: 0;
    margin: 0 auto;
}
body{
    width: 1200px;
    margin: 0 auto;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
}
@media screen and (max-width: 480px) {
    body {
        width: 95vw;
        margin: 0 auto;
    }
}
header{
    width: 1200px;
    margin: 0 auto;
    position: relative;
    margin-top: 2em;
    margin-bottom: 2.5em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background-color: lightcyan;
    border-top: solid 1px lightgray;
    border-bottom: solid 1px lightgray;
}
header div .logo1{
    position: absolute;
    left: 15%;
    top: 1.5em;
    width: 2.5em;
}
header div .office_name{
    font-size: 35px;
    font-weight: 700;
    color: darkslategray;
    padding-left: 20%;
    padding-top: 0.25em;
    padding-bottom: 0.35em;
}
header div .yotei{
    position: absolute;
    top: 3em;
    left: 20%;
    font-size: 20px;
    color: gray;
}
header .logo2{
    width: 150px;
    position: absolute;
    top: -15%;
    left: 60%;
}
header .toiawase{
    position: absolute;
    width: 260px;
    top: 12%;
    right: 0%;
}
header .toiawase p{
    line-height: 1.2;
    font-size: 15px;
    color: gray;
    text-decoration: none;
}
header .toiawase .toiawase0{
    text-decoration-line: underline;
    margin-bottom: 0.3em;
}
@media screen and (max-width: 480px) {
    header{
        width: 100vw;
        margin: 0 auto;
        background-color: aliceblue;
        margin-bottom: 1em;
    }
    header div .logo1{
        width: 1.2em;
        top: 0.8em;
        left: 8%;
    }
    header div .office_name{
        font-size: 14px;
        padding-left: 14%;
        padding-bottom: 2%;
    }
    header div .yotei{
        position: absolute;
        top: 3em;
        left: 16%;
        font-size: 10px;
        color: gray;
    }
    header .logo2{
        width: 15vw;
        top: -5%;
        left: 47%;
    }
    header .toiawase{
        position: absolute;
        top: 12%;
        right: 0%;
        width: 140px;
    }
    header .toiawase p{
        line-height: 1.2;
        font-size: 8px;
        color: gray;
    }
}

/* section0 */
.section0{
    width: 90%;
    margin: 0 auto;
    position: relative;
}
.section0 h1{
    margin-top: 1em;
    text-align: center;
}
.section0 hr{
    border: solid 5px green;
    width: 10em;
    margin: 0 auto;
}
.section0 .logo20{
    position: absolute;
    left: 75%;
    top: -2%;
    width: 7%;
}
.section0 .logo40{
    position: absolute;
    left: 75%;
    top: -2%;
    width: 8%;
}
@media screen and (max-width: 480px) {
    .section0{
        width: 95vw;
        margin: 0 auto;
    }
    .section0 h1{
        font-size: 16px;
    }
    .section0 hr{
        border: solid 3px green;
        width: 8em;
        margin: 0 auto 1em;
    }
    .section0 .logo20{
        left: 75%;
        top: 0%;
        width: 12%;
    }
    .section0 .logo40{
        left: 75%;
        top: 2%;
        width: 12%;
    }
}
/* list */
.section0 .container p{
    font-size: 18px;
    font-weight: 700;
    margin: 0em 0.5em 0.5em;
}
.section0 table{
    margin-bottom: 2em;
}
.section0 .container table .col1{
    color: navy;
    width: 24%;
    height: 2.5em;
    background-color: powderblue;
    text-align: center;
    vertical-align: middle;
}
.section0 .container table .col2{
    color: navy;
    width: 76%;
    background-color: powderblue;
    text-align: center;
    vertical-align: middle;
}
.data1{
    height: 4em;
    font-size: 18px;
    color: blue;
    font-weight: 600;
    text-decoration: none;
    border: solid 1px gray;
    background-color: aliceblue;
    text-align: center;
}
#data1{
    color: blue;
    text-decoration: none;
}
#data1:hover{
    background-color: lightblue;
    transition-duration: 0.5s;
}
#data11{
    font-weight: 400;
}
.data2{
    font-weight: 300;
    border: solid 1px gray;
    padding: 0.5em 0.5em 0.5em;
    text-align: left;
}
@media screen and (max-width: 480px) {
    .section0 .container p{
        font-size: 14px;
    }
    .section0 .container table .col1{
        font-size: 12px;
        width: 22%;
    }
    .section0 .container table .col2{
        font-size: 11px;
        width: 78%;
    }
    .col1, .data1{
        font-size: 12px;
    }
    .col2, .data2{
        font-size: 11px;
    }
}
/* section1・2・3 */
#section1, #section2, #section3, #section4{
    width: 1200px;
    margin: 0 auto;
    padding-top: 1em;
}
#section1 h3, #section2 h3, #section3 h3, #section4 h3{
    padding-top: 2em;
    text-align: center;
    color: blue;
    letter-spacing: 0.22em;
}
#section1 hr, #section2 hr, #section3 hr, #section4 hr{
    border: solid 3px steelblue;
    width: 10em;
    margin: 0 auto;
    margin-bottom: 1em;
}
#section1 .hosoku, #section2 .hosoku, #section3 .hosoku, #section4 .hosoku{
    margin-bottom: 1.5em;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
}
#section1 .container, #section2 .container, #section3 .container, #section4 .container{
    width: 98%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}
#section1 .box1, #section2 .box1, #section3 .box1, #section4 .box1{
    width: 48%;
    margin-bottom: 2em;
    border: solid 1px gray;
    background-color: floralwhite;
    }
#section1 .container .box1 .hd4, #section2 .container .box1 .hd4, #section3 .container .box1 .hd4, #section4 .container .box1 .hd4{
    padding: 0.5em 0.6em 0.5em;
    padding-bottom: 0.5em;
    font-size: 16px;
    color: darkblue;
    font-weight: 700;
}
#section1 .container .box1 .box11, #section2 .container .box1 .box11,#section3 .container .box1 .box11, #section4 .container .box1 .box11{
    color: dimgray;
    padding: 0.2em 0.5em 0.5em 0.2em;
    font-size: 15px;
    font-weight: 500;
}
#section1 .box22, #section2 .box22, #section3 .box22, #section4 .box22{
    color: dimgray;
    padding: 0.2em 0.5em 0.5em 0.2em;
    font-size: 15px;
    font-weight: 400;
}
#section4 .box9{
    width: 1075px;
    margin: 0 auto;
    margin-bottom: 2em;
    left: 2%;
    background-color: floralwhite;
    border: solid 1px gray;
}
#section4 .box9 p{
    color: dimgray;
    padding: 0.2em 0.2em 0.2em;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 2em;
}
@media screen and (max-width: 480px) {
    #section1, #section2, #section3, #section4{
        width: 95vw;
        margin: 0 auto;
    }
    #section1 h3, #section2 h3, #section3 h3, #section4 h3{
        font-size: 14px;
    }
    #section1 hr, #section2 hr, #section3 hr, #section4 hr{
        border: solid 2px steelblue;
    }
    #section1 .hosoku, #section2 .hosoku, #section3 .hosoku, #section4 .hosoku{
        font-size: 12px;
    }
    #section1 .box1, #section2 .box1, #section3 .box1, #section4 .box1{
        width: 98%;
        }
    #section1 .container .box1 .hd4, #section2 .container .box1 .hd4, #section3 .container .box1 .hd4, #section4 .container .box1 .hd4{
        font-size: 12px;
    }
    #section1 .container .box1 .box11, #section2 .container .box1 .box11,#section3 .container .box1 .box11, #section4 .container .box1 .box11{
        font-size: 11px;
    }
    #section1 .box22, #section2 .box22, #section3 .box22, #section4 .box22{
        font-size: 11px;
    }
    #section4 .box9{
        width: 95vw;
    }
    #section4 .box9 p{
        font-size: 11px;
    }
}
/* ユニーク */
#section3 table, #section4 table{
    margin-top: 1em;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 2em;
}
#section3 table .col1, #section4 table .col1{
    height: 2em;
    width: 20%;
    color: navy;
    text-align: center;
    background-color: lightgreen;
    border: solid 1px gray;
}
#section3 table .col2, #section4 table .col2{
    width: 80%;
    color: navy;
    background-color: lightgreen;
    border: solid 1px gray;
}
#section3 table .data1, #section4 table .data1{
    height: 2em;
    color: black;
    background-color: snow;
    border: solid 1px gray;
}
#section3 table .data2, #section4 table .data2{
    color: black;
    background-color: snow;
    border: solid 1px gray;
}
@media screen and (max-width: 480px) {
    #section3 table, #section4 table{
        width: 95vw;
    }
    #section3 table .col1, #section4 table .col1{
        width: 20%;
        font-size: 12px;
    }
    #section3 table .col2, #section4 table .col2{
        width: 80%;
        font-size: 11px;
    }
    #section3 table .data1, #section4 table .data1{
        height: 2em;
        font-size: 12px;
    }
    #section3 table .data2, #section4 table .data2{
        font-size: 11px;
    }
}

/* 移動 */
body .idou{
    margin: 0 auto;
    width: 1200px;
    margin-top: 0em;
    margin-bottom: 2em;
}
body .idou a{
    margin-left: 2%;
    margin-right: 0.4em;
    font-size: 16px;
    color: gray;
    padding: 0.3em 0.5em;
    text-decoration: none;
    border: solid 1px gray;
    background-color: whitesmoke;
    border-radius: 0.3em;
}
body .idou #idou:hover{
    background-color: gainsboro;
    transition-duration: 0.5s;
}
@media screen and (max-width: 480px) {
    body .idou{
        width: 95vw;
    }
    body .idou a{
        font-size: 11px;
    }
}
/* footer */
footer{
    width: 1200px;
    margin: 0 auto;
    position: relative;
    margin-top: 3em;
    margin-bottom: 1em;
    background-color: lightcyan;
    border-top: solid 1px gray;
    border-bottom: solid 1px gray;
}
footer .office_name p{
    font-size: 24px;
    font-weight: 300;
    color: darkslategray;
    padding-left: 30%;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
}
footer .contact{
    position: absolute;
    top: 0.5em;
    right: 0%;
    width: 260px;
}
footer .contact p{
    line-height: 1.3em;
    font-size: 14px;
    color: darkslategray;
}
@media screen and (max-width: 480px) {
    footer{
        width: 95vw;
        margin: 0 auto;
        margin-top: 1.5em;
        margin-bottom: 1.5em;
        background-color: aliceblue;
    }
    footer .office_name p{
        padding-left: 10%;
        font-size: 14px;
        font-weight: 500;
    }
    footer .contact{
        position: absolute;
        top: 0.3em;
        right: 0%;
        width: 160px;
    }
    footer .contact p{
        line-height: 1.2;
        font-size: 10px;
        text-decoration: none;
        text-decoration-line: none;
    }
}