@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
:root {
    --i_main_color: #eb8b23;
    --i_sub_color: #758d2f;
    --i_sub2_color: #fff6ea;
    --cocoon-thin-color: rgba(82, 68, 57, 0.3);
    --cocoon-black-color: #524439;
}

a {
    transition: .3s ease-in-out;
}

a:hover {
    color: var(--i_main_color);
}

.entry-card-thumb {
    border: 1px solid #ddd;
}

.card-thumb img {
    width: 100%;
    padding: 5px;
}

/*----------------header--------------------------*/
#header-container {
    /* box-shadow: 0 3px 3px rgba(0,0,0,0.08); */
}

.fixed-header .site-logo-image {
    max-width: 200px;
}

#header-container-in.wrap {
    width: 100%;
}

#header-container .navi {}

.header-container-in.hlt-top-menu .wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#header-container .search-box {
    margin: 0;
    width: 250px;
}

#header-container .search-edit {
    padding: 5px 10px;
}


@media screen and (max-width: 1023px) {
    #header-container {
        display: none;
    }

    .mobile-header-menu-buttons .logo-menu-button img.site-logo-image {
        max-width: 220px;
        width: calc(100% - 40px);
        padding: 10px 0;
        max-height: none;
    }
}

/*834px以下*/
@media screen and (max-width: 834px) {
    /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px) {
    /*必要ならばここにコードを書く*/
}

/*---------------sidebar---------------------------*/
#sidebar {
    border-top: none;
    border-right: none;
    border-bottom: none;
}

#sidebar h3.widget-sidebar-title,
#sidebar-scroll h2.wp-block-heading,
#sidebar-scroll h3.widget-sidebar-scroll-title {
    border-bottom: double 3px var(--i_main_color);
    padding: 3px;
    background: transparent;
    color: var(--i_main_color);

}

#sidebar .widget-entry-card,
#sidebar .card-title-bold .card-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

#sidebar_archive .sidebar_archive_list {
    padding-left: 0;
}

#sidebar_archive .sidebar_archive_list li {
    list-style: none;
}

#sidebar_archive .sidebar_archive_list li a {
    text-decoration: none;
    display: block;
    padding: 5px 10px 5px 20px;
    position: relative;
}

#sidebar_archive .sidebar_archive_list li a::before {
    display: block;
    content: "";
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--i_sub_color);
    border-right: 1px solid var(--i_sub_color);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0px;
    z-index: 0;
    pointer-events: none;
}

/*--------------footer----------------------------*/

footer .site-name-text img.site-logo-image {
    max-width: 225px;
    height: auto;
}

.navi-footer-in>.menu-footer li {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.navi-footer-in>.menu-footer li:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom {
    margin-top: 50px;
    margin-bottom: 50px;
}

#navi .navi-in a:hover,
#footer a:not(.sns-button):hover {
    background-color: transparent;
    color: var(--i_main_color);
}

.copyright {
    margin-top: 30px;
}

@media screen and (max-width: 1023px) {
    .footer-bottom-logo {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 834px) {
    .navi-footer-in>.menu-footer li:last-child {
        border: 0;
    }

    .navi-footer-in>.menu-footer li.menu-item a {
        padding: 10px 0;
    }
}

/*-----------------メディア（top、アーカイブページ共通）-------------------------*/
body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type {
    width: 100%;
}

body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card {
    flex-direction: row;
    gap: 0 2%;
}

body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card-thumb {
    width: 60%;
}

body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card-title {
    font-size: 22px;
}

body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card-snippet {
    font-size: 16px;
    line-height: 1.8;
}

@media screen and (max-width: 834px) {
    body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card-title {
        font-size: 16px;
    }
}

@media screen and (max-width: 356px) {
    body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card {
        flex-direction: column;
    }

    body.home:not(.paged) .ect-vertical-card .entry-card-wrap:first-of-type .entry-card-thumb {
        width: 100%;
    }
}

/*-------------pager-----------------------------*/
.pagination-next-link {
    background: transparent;
    max-width: 300px;
    border-radius: var(--cocoon-basic-border-radius);
    margin: 0 auto;
    border-color: var(--cocoon-thin-color);
}

.pager-links .current span,
.pagination-next-link:hover,
.pagination a:hover,
.pagination .current,
.pager-links a:hover span {
    border-color: var(--i_main_color);
    background: var(--i_main_color);
    color: #fff;
}

.pager-post-navi figure {
    display: none;
}

/*-----------------etc-------------------------*/
.cat-label {
    background: var(--i_main_color);
}

main h1 {
    background: none;
    color: var(--cocoon-text-color);
    padding: 0 0 15px;
    position: relative;
    border-bottom: 2px solid transparent;
}

main h1::before {
    display: block;
    content: "";
    width: 50px;
    height: 3px;
    background: var(--i_main_color);
    position: absolute;
    bottom: -3px;
    left: 0px;
    z-index: 1;
    pointer-events: none;
}

main h1,
.article h1,
h1.wp-block-heading,
h1.entry-title,
.article h2,
h2.wp-block-heading,
.article h3,
h3.wp-block-heading,
.article h4,
h4.wp-block-heading .article h5,
h5.wp-block-heading .article h6,
h6.wp-block-heading {
    margin-bottom: 30px;
}

.article h2,
h2.wp-block-heading {
    background: none;
    padding: 0 0 5px 0;
    border-bottom: 1px solid #eee;
    color: var(--cocoon-text-color);
}

.article h3,
h3.wp-block-heading {
    border: 0;
    background: var(--i_sub2_color);
    padding: 12px 20px;
    font-size: 22px;
}

.article h4,
h4.wp-block-heading {
    border-top: 0;
    padding: 0 10px 10px;
    border-bottom: 2px solid var(--cocoon-text-color);
}

.article h5,
h5.wp-block-heading {
    border: 0;
    color: var(--i_main_color);
}

.article h6,
h6.wp-block-heading {
    display: inline-block;
    border: 1px solid var(--cocoon-text-color);
}

.article .toc {
    margin-bottom: 30px;
}

table:not(.has-border-color) th,
table:not(.has-border-color) td,
table:not(.has-border-color) thead,
table:not(.has-border-color) tfoot,
.page-numbers,
.page-numbers.dots,
.tagcloud a,
.list.ecb-entry-border .entry-card-wrap,
.related-entries.recb-entry-border .related-entry-card-wrap,
.carousel .a-wrap,
.pager-post-navi.post-navi-border a.a-wrap,
.article .toc,
.a-wrap .blogcard,
.author-box,
.comment-reply-link,
.ranking-item {
    border-color: var(--cocoon-thin-color);
}

.wp-block-button__link {
    background: var(--i_main_color);
    color: #fff;
    border-radius: var(--cocoon-basic-border-radius);
}

.wp-block-button__link:hover {
    color: #fff;
    background: var(--i_sub_color);
}

@media screen and (max-width: 480px) {

    main h1,
    h1.entry-title {
        padding-left: 0;
        font-size: 20px;
    }
}

article.page .date-tags {
    display: none;
}

.about_table table td:first-child {
    width: 30%;
}

@media screen and (max-width: 450px) {
    .about_table table td:first-child {
        width: 40%;
    }
}

/*----------------TOP--------------------------*/
body.home #company {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #bcbcbc;
}

#company .pagination-next {
    width: 100%;
}

@media screen and (max-width: 480px) {
    body.home #company {
        margin-top: 40px;
        padding-top: 40px;
    }
}

/*----------------企業--------------------------*/
#entry_company .company_item {
    background: var(--i_sub2_color);
    padding: 30px;
    margin-bottom: 30px;
}

.archive-title {
    margin-bottom: 40px;
}

#entry_company.company_archive {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 30px 0;
}

#entry_company.company_archive>a {
    width: 33.3%;
    text-decoration: none;
}

#entry_company.company_archive>a:nth-of-type(3n - 1) {
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
}

#entry_company.company_archive .company_item {
    padding: 15px;
    background: none;

}

#entry_company.company_archive .company_item figure {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    margin-bottom: 10px;
}

#entry_company.company_archive .company_item figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: .3s ease-in-out;
}

#entry_company.company_archive a:hover .company_item figure img {
    transform: scale(1.05);
}

#entry_company.company_archive .company_item h2 {
    font-size: 18px;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

#entry_company.company_archive .company_item h2::before {
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--i_main_color);
    border-right: 2px solid var(--i_main_color);
    position: absolute;
    top: calc(1em * 1.8 / 2);
    transform: rotate(45deg) translateY(-50%);
    left: 0px;
    z-index: 0;
    pointer-events: none;
}

#entry_company.company_archive .company_item .company_detail {
    font-size: 14px;
}

#entry_company.company_single .company_item {
    margin-top: 30px;
}

#entry_company.company_single h1 {
    margin-bottom: 30px;
}

#entry_company .company_item .inner {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    justify-content: space-between;
}

#entry_company .company_item a {
    text-decoration: none;
}

#entry_company .company_item .inner .company_info {
    width: 100%;
}

#entry_company.company_single .company_item .inner .company_info:has(+figure),
#entry_company.company_single .company_item .inner figure {
    width: calc(50% - 15px);
}

#entry_company .company_item .company_info dl,
#entry_company.company_archive .company_item .company_detail dl {
    display: flex;
    margin-bottom: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #d2d2d2;
}

#entry_company.company_archive .company_item .company_detail dl {
    padding-bottom: 0px;
    border-bottom: 0;
}

#entry_company .company_item .company_info dl+dl {
    margin-top: 10px;
}

#entry_company .company_item .company_info dl dt,
#entry_company.company_archive .company_item .company_detail dl dt {
    width: 25%;
    padding-right: 20px;
    box-sizing: border-box;
}

#entry_company .company_item .company_info dl dd,
#entry_company.company_archive .company_item .company_detail dl dd {
    width: 75%;
}

#entry_company .company_item .company_info dl {
    flex-wrap: wrap;
    padding: 0;
}

#entry_company .company_item .company_info dl:first-child {
    border-top: 1px solid #d2d2d2;
}

#entry_company .company_item .company_info dl+dl {
    margin-top: 0;
}

#entry_company .company_item .company_info dl dt,
#entry_company .company_item .company_info dl dd {
    padding: 10px 5px;
}

#entry_company .company_item .company_info dl dt {
    width: 120px;
    padding-right: 0;
}

#entry_company .company_item .company_info dl dd {
    width: calc(100% - 120px);
    margin: 0;
}

#entry_company .google-map {
    margin-top: 30px;
}

#entry_company .company_item .inner .google-map iframe {
    height: 100%;
}

#entry_company .google-map iframe {
    width: 100%;
}

#entry_company p.keywords {
    text-align: right;
}

#entry_company .company_item figure {
    text-align: center;
}

.under-entry-content {
    border-top: 1px solid #ddd;
}

@media screen and (max-width: 834px) {
    #entry_company.company_archive>a {
        width: 50%;
    }

    #entry_company.company_archive>a:nth-of-type(3n - 1) {
        border: 0;
    }

    #entry_company.company_archive>a:nth-of-type(2n) {
        border-left: 1px solid #ddd;
    }

    #entry_company .company_item .inner .company_info:has(+figure),
    #entry_company .company_item .inner figure {
        width: 100%;
    }

    #entry_company .company_item .inner {
        flex-direction: column;
    }

    #entry_company.company_single .company_item .inner .company_info:has(+ figure),
    #entry_company.company_single .company_item .inner figure {
        width: 100%;
    }

    #entry_company .company_item .inner .google-map iframe {
        height: 300px;
    }

    #entry_company.company_archive .company_item h2 {
        font-size: 15px;
    }

    #entry_company .company_item {
        padding: 15px;
        font-size: 14px;
    }
}

@media screen and (max-width: 480px) {
    #entry_company.company_archive>a {
        width: 100%;
    }

    #entry_company.company_archive>a:nth-of-type(2n) {
        border: 0;
    }

    #entry_company.company_archive {
        gap: 15px 0;
    }
}

@media screen and (max-width: 400px) {

    #entry_company .company_item .company_info dl dt,
    #entry_company .company_item .company_info dl dd {
        width: 100%;
        padding: 7px 3px;
    }

    #entry_company .company_item .company_info dl dt {
        border-bottom: 1px dotted #d2d2d2;
        font-weight: bold;
    }
}


/*---------------フォーム----------------------*/
textarea {
    font-family: var(--cocoon-default-font);
}

form.wpcf7-form>p {
    margin-bottom: 15px;
}

form.wpcf7-form label>br+span {
    display: inline-block;
    margin-top: 5px;
    width: 100%;
}

form.wpcf7-form input.wpcf7-submit {
    display: block;
    margin: 0 auto;
    width: 200px;
    background-color: var(--i_main_color);
    color: var(--i_sub2_color);
    border: none;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 400;
}

form.wpcf7-form input.wpcf7-submit:hover {
    filter: brightness(90%);
}

/* ---追加CSS--- */
body {
    background: var(--i_sub2_color);
}

.menu-drawer a:hover {
    background-color: var(--i_sub2_color);
}

table tr:nth-of-type(2n+1) {
    background-color: var(--i_sub2_color) !important;
}