p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
    color: #252525;
}

.navbar-brand h1 img {
    width: 166px;
}

header .navbar-nav {
    align-items: center;
}

header .collapse.navbar-collapse {
    flex-grow: 0;
}

header .nav-link {
    color: #000;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
    text-align: center;
    padding: 0 12px!important;
}
header .nav-link:first-child {
    padding-right: 22px!important;
}

header .nav-link small {
    display: block;
    color: #787878;
    font-family: "Poppins";
    font-weight: 500;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: 3%;
    text-align: center;
}

.dropdown-toggle::after {
    position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 10px;
}

.front_footer_wrap {
    display: flex;
}
.front_footer_wrap h2 {
    font-family: "Poppins";
    font-weight: 700;
    font-size: 64px;
}
.front_footer_wrap a {
    color: #252525;
    width: 529px;
    display: block;
    margin: 0 auto;
    text-decoration: none;
}
.front_footer_wrap h2 small {
    font-weight: 500;
    font-size: 12px;
}
.front_footer_left {
    background-color: #F4F4F4;
    flex-grow: 1;
    padding: 64px 0 24px;
}
.front_footer_right {
    color: #fff;
    background-color: #EA8622;
    flex-grow: 1;
    padding: 64px 0 24px;
}
.front_footer_right h2,
.front_footer_right p {
    color: #fff;
}
.front_footer_bottom {
    margin-top: 200px;
    display: flex;
    justify-content: space-between;
}
.front_footer_wrap {

}

footer {
    padding: 50px 0 30px;
}

footer .footer_logo {
    width: 173px;
}

footer .footer_right .nav-link {
    color: #000;
    font-weight: 700;
    font-size: 16px;
    padding: 0 16px!important;
    text-align: center;
}

footer .footer_right .nav-link small {
    display: block;
    color: #787878;
    font-family: "Poppins";
    font-weight: 500;
    font-size: 10px;
    text-align: center;
}

footer .footer_address {
    font-size: 12px;
    font-weight: 500;
    text-align: center;
}

#menuModalFullscreen .modal-content {
    background-color: #EA8622;
}

#menuModalFullscreen .modal-header {
    border: none;
}
#menuModalFullscreen .modal-title {
    color: #fff;
}
#menuModalFullscreen .btn-close {
    background: none;
    opacity: 1;
    padding: 0;
    width: 32px;
    height: 32px;
}
#menuModalFullscreen .modal-body {
    padding-top: 120px;
}
#menuModalFullscreen .nav-item {
    margin-bottom: 24px;
}
#menuModalFullscreen .nav-link {
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    padding: 0 12px!important;
}
#menuModalFullscreen .nav-link small {
    font-size: 12px;
    display: block;
}

@media screen and (max-width: 1061px) {
    .front_footer_wrap {
        display: block;
    }
    .front_footer_wrap a {
        width: 100%;
    }
    .front_footer_wrap h2 {
        font-size: 48px;
    }
    .front_footer_wrap h2 small {
        display: block;
    }
    .front_footer_left,
    .front_footer_right {
        padding: 40px 24px 24px;
    }
    .front_footer_bottom {
        display: block;
    }
}

@media screen and (max-width: 991px) {
    header .navbar button {
        background: none;
        border: none;
    }
    .navbar-brand h1 img {
        width: 114px;
    }
}

@media screen and (max-width: 576px) {
    footer {
        padding: 40px 24px 30px;
    }
    footer .footer_logo {
        margin-bottom: 24px;
    }
    footer .footer_right .nav-item {
        margin-bottom: 16px;
    }
    footer .footer_right .nav-link,
    footer .footer_right .nav-link small {
        text-align: left;
        padding: 0!important;
    }
}

/* page */
/* archive */
.archive {
    padding-bottom: 80px;
}
.archive section {
    padding: 48px 0;
}
.archive p,
.archive ul {
    line-height: 2;
}
.archive h2 {
    font-size: 36px;
    font-weight: 500;
    color: #EA8622;
    padding-bottom: 16px;
    border-bottom: 1px solid #A6A6A6;
    margin-bottom: 32px;
}
.archive .main_button {
    display: inline-block;
    text-decoration: none;
    background-color: #EA8622;
    color: #fff;
    font-family: Noto Sans JP;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 24%;
    padding: 21px 103px;
    border-radius: 16px;
}
.archive_head {
    padding: 215px 0 53px;
    margin-bottom: 64px;
    border-bottom: #A6A6A6 solid 1px;
}
.archive_head h1 {
    font-size: 64px;
    font-weight: 700;
    line-height: 1.5;
    margin: 8px 0;
    color: #EA8622;
}
.archive_head h1 small {
    font-family: 'Poppins';
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #EA8622;
    display: block;
}
.breadcrumbs ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}
.breadcrumbs ul li {
    color: #EA8622;
    font-size: 16px;
    font-weight: 500;
    margin-left: 8px;
}
.breadcrumbs ul li a{
    color: #EA8622;
}

@media screen and (max-width: 991px) {
    .archive_head {
        padding: 150px 0 70px;
    }
    .archive_head h1 {
        font-size: 36px;
    }
    .archive_head h1 small {
        font-size: 16px;
    }
    .breadcrumbs ul li {
        font-size: 14px;
    }
    .archive h2 {
        font-size: 32px;
    }
    .archive section {
        padding: 40px 0;
    }
}

/* single */
.single {
    padding-bottom: 80px;
}
.single_head {
    padding: 215px 0 53px;
    margin-bottom: 64px;
    border-bottom: #A6A6A6 solid 1px;
}
.single_head .categories_and_tags {
    text-align: center;
    margin-bottom: 16px;
}
.single_head .categories_and_tags span {
    display: inline-block;
    padding: 8px 32px;
    color: #EA8622;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #EA8622;
    border-radius: 20px;
    margin: 0 4px;
}
.single_head h1 {
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 16px;
    color: #EA8622;
}
.single_head .breadcrumbs {
    margin-bottom: 32px;
}
.single_head .breadcrumbs ul {
    justify-content: center;
}
.single_head .post_date {
    font-size: 16px;
    font-weight: 500;
    color: #EA8622;
    text-align: center;
}
.single h1, .single h2, .single h3, .single h4, .single h5 {
    font-weight: 400;
}
.single h1 {
    font-size: 36px;
}
.single h2 {
    font-size: 32px;
}
.single h3 {
    font-size: 28px;
}
.single h4 {
    font-size: 24px;
}
.single h5 {
    font-size: 20px;
}

@media screen and (max-width: 991px) {
    .single_head {
        padding: 150px 0 70px;
    }
    .single_head h1 {
        font-size: 36px;
    }
}

/* news */

.news-card-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 32px;
    justify-content: flex-start;
}
.news-card-item {
    width: calc((100% - 32px * 2) / 3);
    margin-bottom: 64px;
}
.news-card-thumbnail,
.news-card-thumbnail img {
    width: 100%;
    display: block;
}
.news-card-title {
    margin: 16px 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: #000;
}
.news-category {
    display: inline-block;
    padding: 8px 32px;
    color: #EA8622;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #EA8622;
    border-radius: 20px;
}
.news-card-date {
    font-size: 14px;
    color: #252525;
}

@media screen and (max-width: 991px) {
    .news-card-list {
        display: block;
    }
    .news-card-item {
        width: 100%;
    }
}

/* research */

.research-list {
    padding: 0;
    list-style: none;
    margin: 80px 0 120px;
}
.research-item {
    margin-bottom: 24px;
}
.research-item a {
    display: block;
    width: 100%;
    color: #252525;
    text-decoration: none;
    padding: 32px;
    background: #F4F4F4;
    border-radius: 24px;
}
.research-date {
    font-size: 16px;
    font-weight: 500;
}
.research-category {
    display: inline-block;
    padding: 4px 8px;
    color: #EA8622;
    font-size: 16px;
    font-weight: 500;
    border: 1px solid #EA8622;
    border-radius: 4px;
    margin-left: 16px;
}
.research-tag {
    display: inline-block;
    padding: 8px 32px;
    color: #EA8622;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #EA8622;
    border-radius: 20px;
    margin-left: 16px;
}
.research-title {
    margin: 8px 0 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

/* form */

.pc_search_form {
    border: 1px solid #B3B3B3;
    border-radius: 32px;
    padding: 48px 64px;
    margin-bottom: 40px;
}
.pc_search_form .input-group .form-control {
    height: 48px;
    border-radius: 30px 0 0 30px;
    max-width: 780px;
}
.pc_search_form .input-group button {
    height: 48px;
    background-color: #EA8622;
    border-radius: 0 30px 30px 0;
}
.pc_search_form h3 {
    font-size: 16px;
    font-weight: 700;
    margin-top: 24px;
}
.category-filter a {
    display: inline-block;
    padding: 8px 32px;
    color: #EA8622;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #EA8622;
    border-radius: 20px;
    text-decoration: none;
}
.category-filter a.active {
    background-color: #EA8622;
    color: #fff;
}
.post_count {
    font-size: 20px;
    font-weight: 700;
}
.post_order select {
    height: 48px;
    line-height: 1;
    background-color: #F4F4F4;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #DADADA;
}

@media screen and (max-width: 991px) {
    .pc_search_form {
        padding: 48px 0;
        border: none;
    }
    .category-filter a {
        margin-bottom: 8px;
    }
    .post_count {
        margin-bottom: 16px;
    }
    .post_order {
        margin-bottom: 40px;
    }
}

/* contact */

#contact table {
    width: 100%;
    border-collapse: collapse;
}
#contact tr {
    padding-bottom: 32px;
}
#contact th {
    padding: 16px 0;
    font-weight: 500;
}
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact textarea,
#contact select {
    display: block;
    font-size: 18px;
    height: 65px;
    line-height: 65px;
    border: 1px solid #B1B1B1;
    border-radius: 10px;
    width: 100%;
    padding: 0 16px;
}
#contact .required {
    display: inline-block;
    margin-left: 8px;
    font-size: 14px;
    color: #EA8622;
    font-weight: 500;
    padding: 0 13px;
    border: 1px solid #EA8622;
    border-radius: 5px;
}
#contact .check_acceptance input {
    margin-right: 10px;
    border: 1px solid #B1B1B1;
    width: 24px;
    height: 24px;
    vertical-align: -6px;
}
#contact .check_acceptance a {
    color: #000000;
}
#contact .form-submit {
    margin-top: 32px;
}

@media screen and (max-width: 991px) {
    #contact th,
    #contact td {
        display: block;
        width: 100%;
    }
}

/* privacy */
#privacy section {
    border-bottom: 1px solid #CACACA;
}
#privacy h2 {
    color: #000000;
    padding: 0;
    margin-bottom: 8px;
    border: none;
}

/* about */
#about table {
    width: 100%;
    border-collapse: collapse;
}
#about th {
    width: 380px;
    font-family: 'Poppins';
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #EA8622;
}
#about th small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #EA8622;
}
#about td h2 {
    color: #000;
    font-size: 40px;
    font-weight: 700;
    padding: 0;
    margin: 0;
    border: none;
}
#about th,
#about td {
    vertical-align: top;
    padding: 60px 0;
    border-bottom: 1px solid #4D4D4D;
}
#about tr:last-child th,
#about tr:last-child td {
    border-bottom: none;
}
#about p {
    font-size: 18px;
    line-height: 2;
}
@media screen and (max-width: 991px) {
    #about th {
        border: none;
    }
    #about th,
    #about td {
        display: block;
        width: 100%;
        padding: 40px 0;
    }
    #about td h2 {
        font-size: 28px;
    }
}

/* greeting */
#greeting h2,
#organization h2,
#overview h2 {
    font-size: 36px;
    font-weight: 600;
    color: #EA8622;
    font-family: 'Poppins';
    border: none;
    padding: 0;
    margin-bottom: 48px;
}
#greeting h2 small,
#organization h2 small,
#overview h2 small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #EA8622;
}

#greeting h3 {
    font-size: 24px;
    font-weight: 500;
}
#greeting p {
    font-size: 18px;
    line-height: 2;
}

@media screen and (max-width: 991px) {
    #greeting img {
        width: 100%;
    }
}

#organization h4 {
    font-size: 24px;
}
#organization p {
    font-size: 15px;
}

#overview th {
    font-weight: 500;
    width: 180px;
}
#overview th, #overview td {
    padding: 40px 0;
}

@media screen and (max-width: 991px) {
    #overview th {
        border: none;
    }
    #overview th,
    #overview td {
        display: block;
        width: 100%;
        padding: 30px 0;
    }
}