a,
a:hover {
    text-decoration: none;
}

body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

img {
    max-width: 100%;
}

header {
    background: #ffff;
    border-bottom: solid 10px #006700;
}

nav img {
    max-width: 100%;
}

.tel,
.tel:visited,
.tel:hover {
    color: #000000;
}

header .collapse a,
header .collapse a:visited,
header .collapse a:hover {
    color: #000000;
    font-size: 1.5vw;
}

header .navbar-toggler,
header .navbar-toggler:visited,
header .navbar-toggler:hover {
    color: #000000;
    font-size: 20px;
}

header .dropdown-menu a,
header .dropdown-menu a:visited,
header .dropdown-menu a:hover {
    color: #000000;
    font-size: 18px;
}

header a {
    margin-left: 0.0vw;
}

.navbar-brand {
    max-width: 20vw;
}

footer {
    height: 160px;
    background: #ffff;
    border-top: solid 10px #006700;
}

footer,
footer a,
footer a:visited,
footer a:hover {
    color: #000000;
    font-size: 1.5vw;
}

footer a {
    margin-left: 0.0vw;
}

/* section */
section {
    width: 100%;
}

main section {
    margin-top: 3.0vw;
    font-size: 2.0vw;
}

section#top {
    width: 100%;
    height: 44vw;
    background-image: url("../images/top.png");
    background-repeat: no-repeat;
    background-size: cover;
}

section#business {
    width: 100%;
    height: 53vw;
    background-image: url("../images/business1.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

section#business tr,
section#business td {
    border: 0;
}

section#business td {
    width: 50%;
}

.box02 {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 15.0vw;
}

section#business .business1 {
    font-size: 2.5vw;
    background-image: url("../images/business2.png");
    padding-top: 20%;
}

section#business .business2 {
    font-size: 2.5vw;
    background-image: url("../images/business4.png");
    padding-top: 20%;
}

section#business .business3 {
    font-size: 2.0vw;
    background-image: url("../images/business3.png");
    padding-top: 22%;
}

section#business .business4 {
    font-size: 2.0vw;
    background-image: url("../images/business5.png");
    padding-top: 22%;
}

section.contact {
    font-family: "Sawarabi Mincho";
    color: #ffff;
    font-size: 2.0vw;
    line-height: 3.0vw;
}

section#recruit img {
    max-height: 30vw;
}

section#company {
    width: 100%;
    /*height: 44vw;*/ /* 2022.01.19 */
    background-image: url("../images/company1.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-size: 30% 100%; /* 2022.01.19 */
}

section#top2 {
    width: 100%;
    height: 30vw;
    background-image: url("../images/top2.png");
    background-repeat: no-repeat;
    background-size: cover;
}


.stitle {
    padding-left: 0.5vw;
    border-left: solid 1.5vw #356AA0;
    font-family: "Sawarabi Mincho";
    color: #ffff;
    background-color: #006E2E;
    font-size: 3.5vw;
    width: 63vw;
}

.stitle2 {
    font-size: 5.0vw;
    font-family: "Sawarabi Mincho";
    font-weight: bold;
    text-align: center;
    color: rgb(110, 124, 157);
}

.stitle3 {
    font-size: 4.5vw;
    font-family: "Sawarabi Mincho";
    text-align: center;
}

.stitle4 {
    font-size: 3.5vw;
    font-family: "Sawarabi Mincho";
    padding: 1.0vw;
    margin-top: 5.0vw;
    margin-bottom: 3.0vw;
    width: 45%;
    color: #ffff;
    background-color: #006e2e;
}

#company .stitle {
    margin: 0 0 0 auto;
    width: 72%; /* 2022.01.19 */
}

#company table {
    margin: 0 0 0 auto;
    /*width: 60vw;*/ /* 2022.01.19 */
    width: 70%; /* 2022.01.19 */
}

#company table tr {
    margin-top: 2vw;
    margin-bottom: 2vw;
    border-bottom: 1px solid gray;
}

#company table td {
    padding: 1.0vw 0;
}

#company iframe {
    width: 100%;
}

.icon-angle-right:before {
    font-size: 4.0vw;
    color: red;
}

#recruit2 .txt03,
#recruit2 .btn04 {
    display: none;
}

#recruit2 .box01 {
    background-color: #ffff;
    border: 0;
}

#business2 {
    font-size: 2.0vw;
}

#business2 .th {
    position: relative;
    display: inline-block;
    margin-top: 2.0vw;
    margin-bottom: 5.0vw;
    padding: 1.0vw;

    color: #ffffff;
    text-align: center;
    background-color: #006e2e;
    border: 3px solid #006e2e;
}

#business2 .th:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 30px solid #006e2e;
}

#business2 .th p {
    margin: 0;
    padding: 0;
}

#business2 .th2 {
    background: #006e2e;
    color: #ffffff;
    text-align: center;
    background-color: #006e2e;
    border: 4px solid #006e2e;
    padding: 1.0vw;
}

#business2 .td {
    background-color: #ffffff;
    border: 4px solid #006e2e;
    padding: 1.0vw 5px;
}

#business2 img {
    max-width: 5.0vw;
}

#business2 .th:before {
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 20px solid #006e2e;
}

#business2 .p-3 {
    padding: 1.5vw !important;
}

#bottom {
    width: 100%;
    height: 30vw;
    background-image: url("../images/bottom1.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

#bottom2 .contact {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* txt00 */
.txt01 {
    font-size: 4.1vw;
    font-weight: bold;
    line-height: 6.0vw;
}

.txt02 {
    font-size: 3.0vw;
}

.txt02 a,
.txt02 a:visited,
.txt02 a:hover {
    color: #ffff;
}

.txt03 {
    font-family: "Sawarabi Mincho";
    font-size: 3.0vw;
    font-weight: bold;
}

.txt04 {
    font-family: "Sawarabi Mincho";
    font-size: 2.7vw;
    line-height: 4.5vw;
    font-weight: bold;
}

.txt05 {
    font-family: "Sawarabi Mincho";
    margin: 1.5vw 0;
    padding: 1.0vw;
    font-size: 2.5vw;
    font-weight: bold;
    text-align: center;
    border-radius: 15px;
    background-color: #00ff00;
}

.txt06 {
    font-family: "Sawarabi Mincho";
}

.txt07 {
    font-size: 4.5vw;
    font-weight: bold;
    font-family: "Sawarabi Mincho";
    margin-top: 3.0vw;
    margin-bottom: 1.0vw;
}

.txt08 {
    font-family: "Sawarabi Mincho";
    color: #ffff;
    border-radius: 26px;
    background-color: #77db63;
    padding: 0.5vw 1.0vw;
}

.txt09 {
    font-family: "Sawarabi Mincho";
    font-weight: bold;
    line-height: 250%;
    padding: 0 1.0vw;
}

.txt10 {
    color: rgb(215, 42, 24);
}

.txt11 {
    color: rgb(215, 42, 24);
    font-family: "Sawarabi Mincho";
    font-weight: bold;
    font-size: 2.5vw;
}

.txt12 {
    font-size: 3.5vw;
    font-family: "Sawarabi Mincho";
    font-weight: bold;
    margin: 2.0vw 0;
}

.txt13 {
    font-size: 1.8vw;
}

.txt14 {
    color: #ffff;
    font-size: 4.0vw;
    font-family: "Sawarabi Mincho";
    padding-top: 11.0vw;

}

.txt15 {
    font-size: 1.2vw;
    color: #ffffff;
    font-family: "Meiryo";
    padding: 10px;
    padding-top: 15px;
    background-image: linear-gradient(0deg, #474b51 0%, #696f79 100%);
    background-image: linear-gradient(0deg, #212722 0%, #006e2e 100%);
}

.txt16 {
    padding: 10px;
}

.txt17 {
    font-size: 2.5vw;
}

.mincho {
    font-family: "Sawarabi Mincho";
}

.bold {
    font-weight: bold;
}

/* bg00 */
.bg01 {
    background: #263C1F;
}

.bg02 {
    width: 75%;
    opacity: 0.8;
    color: rgb(26, 81, 137);
    margin: 0 auto;
    background-color: #ffff;
    box-shadow: 0 0 5px 5px rgb(255, 255, 255);
    white-space: nowrap;
}


/* box00 */
.box01 {
    padding: 2.0vw;
    background-color: #FAFAFA;
    border: solid #217F47 3px;
}

/* line01 */
.line01 {
    border-bottom: solid rgb(241, 158, 194) 2px;
}

/* btn00 */
.btn01 {
    width: 85%;
    margin: 0 auto;
    font-size: 2.5vw;
    color: #ffff;
    border-radius: 22px;
    background-image: linear-gradient(0deg, #007d75 0%, #00998f 100%);
}

.btn01:hover {
    animation: shake .5s linear infinite;
}

.push {
    /*display: inline-block;*/
    text-decoration: none;
    /*border-bottom: solid 4px #627295;*/
    border-bottom: solid 5px #000000;
}

.push:active {
    margin-top: 5px;
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
    border-bottom: none;
}

.btn02 {
    font-size: 1.8vw;
    width: 100%;
    padding: 0 0px;
    color: #ffff;
    border-radius: 17px;
    background-image: linear-gradient(0deg, #007d75 0%, #00998f 100%);
}

.btn02:hover {
    animation: shake .5s linear infinite;
}

.btn04 {
    font-family: "Sawarabi Mincho";
    width: 85%;
    margin: 0 auto;
    font-size: 2.5vw;
    color: #ffff;
    text-align: center;
    border-radius: 22px;
    background-image: linear-gradient(0deg, #007d75 0%, #00998f 100%);
}

.btn04:hover {
    animation: shake .5s linear infinite;
}

.btn05 {
    width: 50%;
    margin: 0 auto;
    font-size: 2.5vw;
    color: #ffff;
    text-align: center;
    background-color: #000000;
}

.btn05:hover {
    animation: shake .5s linear infinite;
}

.required::before {
    content: "*";
    color: red;
    font-size: 1.5vw;
    font-weight: bold;
    padding-top: -10px;
}

#contact .btn1 {
    width: 100%;
    height: 3rem;
    color: white;
    background: #cc102f;
    border: 0;
    font-size: 2.0vw;
    font-family: "Yu Gothic", YuGothic;
    font-weight: bold;
}

#contact .btn2 {
    width: 100%;
    height: 3rem;
    color: white;
    background: #bbb5b5;
    border: 0;
    font-size: 2.0vw;
    font-family: "Yu Gothic", YuGothic;
    font-weight: bold;
}

/* etc */
.pr20 {
    padding-right: 25vw;
}

.pr10 {
    padding-right: 12.5vw;
}

.mb-20 {
    margin-bottom: 10.0vw;
}

.border1 {
    border: 3px solid #dedfdd;
    border-bottom: 0;
}

.border2 {
    border: 3px solid #dedfdd;
}

@keyframes shake {
    /*
    0% {
        transform: translateX(0);
    }

    40% {
        transform: translateX(-3%);
    }

    80% {
        transform: translateX(3%);
    }

    100% {
        transform: translateX(0);
    }
    */
}

@media screen and (orientation: landscape) {
    section#business {
        height: 65vw;
    }

    section#company {
        /*height: 55vw;*/ /* 2022.01.19 */
    }
}

@media (min-width: 1280.00px) {
    .txt03 {
        font-size: 40px;
    }
}

@media (max-width: 991.98px) {
    .navbar-brand {
        max-width: 30vw;
    }

    header {
        border-bottom: solid 5.0px #006700;
    }

    footer {
        border-top: solid 5.0px #006700;
    }
}

@media (max-width: 575.95px) {

    footer,
    footer a,
    footer a:visited,
    footer a:hover {
        font-size: 2.5vw;
    }

    main section {
        font-size: 2.5vw;
    }

    .navbar {
        padding: 0 5px;
    }

    section#business .business3,
    section#business .business4 {
        font-size: 2.2vw;
        padding-top: 20.0%;
    }

    .btn05 {
        width: 100%;
    }

    section#business {
        width: 100%;
        height: 75vw;
    }

    section#company {
        width: 100%;
        /*height: 95vw;*/ /* 2022.01.19 */
    }

    footer {
        height: 200px;
    }

    #business2 .th {
        margin-bottom: 8.0vw;
    }

    .txt13 {
        font-size: 2.5vw;
    }
}

@media (max-width: 380.00px) {
    .navbar {
        padding: 0 5px;
    }

    .txt06 br {
        display: none;
    }

    section#business .table.w-75 {
        width: 80% !important;
    }

    section#business .table td {
        padding: 0.5vw;
    }

    section#company table {
        /*width: 80vw;*/ /* 2022.01.19 */
        width: 70%; /* 2022.01.19 */
    }

    section#recruit .row {
        white-space: nowrap;
    }
}