/* --------------------------------
    下層ページ
-------------------------------- */

/* 下層ページ共通パーツ */
.main.page h1{
    display: none;
}
.under_mainvisual{
    max-width: 1420px;
    margin: 0 auto;
    padding: 144px 40px 0;
    position: relative;
}
.under_mainvisual img{
    width: 100%;
    /* position: relative; */
}
.undr_ttl{
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, 0%);
    display: flex;
    max-width: 980px;
    justify-content: space-between;
    align-items: center;
    width: 980px;
}
.under_mainvisual .message{
    padding: 0 140px 0 0;
}
.undr_ttl h1{
    color: var(--white);
    font-size: 4.8rem;
    display: block !important;
    letter-spacing: 0.08em;
}
.undr_ttl p{
    color: var(--white);
    line-height: 2.2;
}

.under_wrapper{
    max-width: 1420px;
    margin: 60px auto;
    padding: 0 40px;
}
.under_contents{
    width: 100%;
}
.policy_contents{
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    width: 100%;
}
/* .policy_contents h2{
    text-align: center;
} */
.under_subttl{
    padding-left: 1em;
    position: relative;
    line-height: 2;
    margin: 0 0 1em;
}
.under_subttl::before{
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    transform: translateY(-45%);
    left: 0;
    width: 4px;
    height: 24px;
    background-color: var(--red);
}

.under_mainvisual .sp{
    display: none;
}
.undr_ttl {
    max-width: 980px;
    width: 100%;
}
.under_subttl {
    border-left: 4px solid var(--red);
}
.under_subttl::before{
    display: none;
}

/* --------------------------------
    company
-------------------------------- */
.content-container {
    display: flex;
    justify-content: space-between;
    max-width: 1420px;
    margin: 114px auto 120px;
    padding: 0 40px;
}
.table-of-contents {
    flex: 1;
    position: sticky;
    top: 140px;
    max-height: 100vh;
    padding-right: 20px;
    width: 36%;
    padding-left: 14%;
}
.table-of-contents ul {
    padding: 0;
    margin: 0;
}
.table-of-contents li {
    margin-bottom: 10px;
}
.table-of-contents a {
    padding: 0 2em 0 1em;
    position: relative;
}
.table-of-contents a.mark::before {
    background-color: var(--mark_red);
    content: "";
    display: block;
    width: 4px;
    height: 26px;
    position: absolute;
    left: 0;
    top: 0;
}
.table-of-contents a::after {
    content: "";
    display: flex;
    width: 10px;
    height: 10px;
    border: 0;
    border-bottom: solid 2px var(--blue);
    border-right: solid 2px var(--blue);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: -1em;
    bottom: 0;
    margin: auto;
}
.content {
    /* flex: 3; */
    width: 64%;
}
.company_contents {
    margin-bottom: 50px;
}
.president{
    display: flex;
    padding: 40px 0 0;
    justify-content: space-between;
}
.president .greeting{
    padding: 0 2em 1em 0;
    font-weight: 400;
    line-height: 2;
}
.president .greeting span{
    display: inline-block;
    padding-bottom: 16px;
}
.president .img_box{
    display: flex;
    flex-direction: column;
    align-items: end;
    padding: 0 0 0 1em;
    max-width: 380px;
}
.president .img_box img{
    max-width: 380px;
    width: 100%;
}
.president .img_box p{
    line-height: 2;
    padding: 2em 0 0 0;
}
#philosophy_section{
    overflow: hidden;
}
.company_swiper{
    margin: 78px 0 140px;
}
.company_swiper .swiper-slide{
    margin-right: 20px !important;
}
.company_contents .philosophy{
    padding: 0 0 16px 0;
}
.company_profile{
    display: flex;
    width: 100%;
}
.company_profile tbody{
    width: 100%;
}
.company_profile th,
.company_profile td{
    border-bottom: 1px solid var(--border_gray);
    padding: 1em 0 1em 0.6em;
}
.company_profile tr{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.company_profile th{
    margin: 0 20px 0 0;
    width: 25%;
    text-align: left;
}
.company_profile td{
    max-width: 580px;
    width: 70%;
    font-weight: 400;
    line-height: 2;
}
.company_profile .gmap{
    width: 100%;
    padding: 1em 0 0;
}
.office_name h3{
    margin: 1em 0;
}
.member_introduction ul{
    display: flex;
    flex-wrap: wrap;
    max-width: 1080px;
}
.member_introduction li{
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 0;
}
.member_introduction li p{
    text-align: center;
}

.under_contents.company .under_introduce .under_page{
    width: 60%;
}
.company_profile .gmap iframe{
    width: 100%;
}
.president .greeting {
    width: 50%;
}
.president .img_box {
    width: 50%;
}
.president .img_box p{
    line-height: 1.6;
}
#philosophy_section p{
    line-height: 2;
}
.company_profile th {
    padding: 1.2em 0 1em 0.6em;
}

#gem{
    width: 100%;
    padding: 0 44px;
}
.gem_box{
    background-color: #c0d9e8;
    padding: 1em;
    margin: 0 auto;
    max-width: 1420px;
    width: 100%;
    border-radius: 10px;
}
.nintei_flex{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nintei_contents{
    width: 30%;
    margin: 1em;
}
.nintei_contents .fz_24.philosophy{
    padding: 0;
}
.sonpo,
.sonpo.silver{
    position: relative;
}
.sonpo::before{
    position: absolute;
    content: "";
    display: block;
    width: 80px;
    height: 44px;
    top: 4%;
    left: 16%;
    background-image: url(https://test.lachichoken.com/wp-content/uploads/2025/02/sonpo_nintei.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.sonpo.silver::before{
    position: absolute;
    content: "";
    display: block;
    width: 80px;
    height: 44px;
    top: 4%;
    left: 16%;
    background-image: url(https://test.lachichoken.com/wp-content/uploads/2025/03/sonpo_nintei_silver.png);
    background-size: contain;
    background-repeat: no-repeat;
}

/* --------------------------------
    採用情報
-------------------------------- */
.recruit .fz_36{
    margin: 1em 0 0.5em;
    letter-spacing: 0.04em;
}
.company_profile.recruit,
.company_profile.schedule {
    max-width: 800px;
    margin: 30px 0;
}
.company_profile.schedule {
    margin: 0;
}
.company_profile tr {
    justify-content: center;
    /* align-items: baseline; */
}
/* .company_profile.standard tr{
    align-items: baseline;
} */
.company_profile.schedule th{
    width: 10%;
}
.company_profile.schedule tr{
    align-items: baseline;
}
.company_profile.schedule th,
.company_profile.schedule td {
    border-bottom: none;
}

.recruit p{
    line-height: 1.8;
    letter-spacing: 0.08em;
}
#schedule p.guideline{
    padding: 0 0 1em;
}
.schedule_box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.schedule_table{
    width: 100%;
}
.schedule_box{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.schedule_box .company_profile tr {
    justify-content: flex-start;
}
.schedule_box img{
    padding: 1em;
}

/* --------------------------------
    取扱商品
-------------------------------- */
.under_contents .description{
    display: inline-block;
    letter-spacing: 0.06em;
    line-height: 1.6;
    padding: 20px 40px;
}
.products_txt{
    margin: 0 auto;
    max-width: 1200px;
}
.products_txt .description{
    font-size: 1.8rem;
}
.products h2{
    color: var(--blue);
    /* margin: 0 0 1em; */
}
.products_item{
    padding: 20px 40px;
}
.products_img{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 680px;
    /* margin: 0 auto; */
}


/* --------------------------------
    お知らせ一覧
-------------------------------- */
/* 固定ページとプラグインで作成 */
#wpsp-50{
    margin-top: 60px;
    max-width: 1420px;
    margin: 60px auto !important;
}
.category-post-list{
    padding-top: 144px;
}
#wpsp-27{
    max-width: 1420px;
    margin: 60px auto !important;
}
/* 投稿ページ */
.main.single{
    padding-top: 144px ;
}
.single .blog_flex{
    max-width: 1420px;
    margin: 60px auto;
}
.single .blog_ttl{
    margin: 0 0 16px 20px;
}
.single .blog_date{
    margin: 0 0 0 20px;
}
.single .blog_text{
    padding: 20px;
}
.single .wp-block-image{
    padding: 20px;
}
.main.single .thumb{
    display: none;
}

#wpsp-27 {
    padding: 20px;
}
.wp-show-posts-columns .wp-show-posts-single:not(.wp-show-posts-masonry-block) {
    padding: 1em;
}
.single .blog_flex{
    padding: 20px;
}
.blog_pagelink_area{
    padding: 0 0 0 20px;
}

/* --------------------------------
    お問い合わせ
-------------------------------- */
.wp-block-contact-form-7-contact-form-selector{
    max-width: 800px;
    margin: 60px auto;
}
.wp-block-contact-form-7-contact-form-selector p{
    padding: 0 0 1em;
}
.wpcf7-form-control{
    width: 100%;
}


/* --------------------------------
    宣言ページ
-------------------------------- */
.mt_0{
    margin-top: 0 !important;
}
.privacy_policy .message{
    padding: 0 40px 0 0;
}
h3.item_ttl{
    border-bottom: 1px solid var(--border_gray);
    line-height: 2;
    margin: 1.8em 0 0.6em;
}
.policy_text.flex{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.policy_text ol li{
    list-style: decimal;
    line-height: 2;
}
.policy_item p{
    line-height: 2;
}
.company_profile.policy{
    width: 80%;
}
.company_profile.policy tbody{
    width: 80%;
}
.company_profile.policy tr {
    width: 80%;
    justify-content: start !important;
}
.company_profile.policy th{
    line-height: 2;
    margin-right: 0;
}
.company_profile.policy th, .company_profile.policy td {
    border-bottom: none;
    padding: 0.6em 0 0.6em 1em;
}
.company_profile.policy td {
    font-weight: 700;
}
.policy_contents .attention{
    margin: 0 0 2em;
}

.attention p{
    line-height: 1.8;
}
.attention p,
.policy_item p {
    padding: 0 10px;
    letter-spacing: 0.08em;
}
.policy_text ol li {
    list-style: decimal;
    line-height: 2;
    list-style-position: inside;
    letter-spacing: 0.08em;
    margin: 1em 0;
    padding: 0 10px;
}
.policy table{
    width: 100%;
}
.policy tr{
    display: flex;
    width: 100%;
    padding: 6px 0;
}
.policy th{
    width: 25%;
    display: flex;
}
.policy td{
    width: 75%;
}

@media screen and (min-width: 1200px) {
    .policy th{
        width: 12%;
    }
}
@media screen and (max-width: 1200px) {
    /* under */
    .under_mainvisual {
        padding-top: 84px;
    }
    .undr_ttl {
        max-width: 768px;
        width: 100%;
        padding: 0 40px;
        top: 50%;
    }
    .undr_ttl h1 {
        font-size: 3.8rem;
    }
    .under_mainvisual .message {
        padding: 0;
    }
    /* com */
    .table-of-contents {
        padding-left: 6%;
    }
    .president .img_box {
        width: 36%;
    }
    .president .greeting {
        width: 64%;
    }
    .nintei_flex{
        flex-direction: column;
    }
    .nintei_contents{
        width: 100%;
    }
    .sonpo::before{
        top: 4%;
        left: 10%;
    }
    .sonpo.silver::before{
        top: 4%;
        left: 10%;
    }
    /* re */
    .table-of-contents.recruit{
        padding-left: 0%;
    }
    .content.under_contents.recruit{
        width: 64%;
    }
    /* news */
    .main.single {
        padding-top: 0;
    }
}

@media screen and (max-width: 1000px) {
    .sonpo::before{
        left: 4%;
    }
    .sonpo.silver::before{
        left: 4%;
    }
}

@media screen and (max-width: 768px) {
    .under_mainvisual .pc{
        display: none;
    }
    .under_mainvisual .sp{
        display: block;
    }
    .under_mainvisual {
        padding-top: 82px;
        padding: 82px 18px 0;
    }
    .undr_ttl {
        max-width: 440px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-around;
        height: 50%;
        top: 60%;
        transform: translate(-50%, -50%);
    }
    /* company */
    .content-container .content {
        width: 100% !important;
    }
    .president {
        flex-direction: column-reverse;
        align-items: center;
    }
    .president .greeting {
        width: 100%;
        padding: 1.4em 0 0;
    }
    .president .img_box {
        width: 100%;
        padding: 0;
    }
    .president .img_box img{
        width: 100%;
    }
    .president .img_box p{
        text-align: end;
    }
    .member_introduction li {
        padding: 10px;
    }
    .content-container {
        flex-direction: column;
        padding: 0 18px;
        margin: 40px auto 0px;
    }
    .table-of-contents {
        width: 100%;
        position: initial;
        padding: 0;
    }
    .table-of-contents ul{
        display: flex;
        justify-content: space-between;
        padding: 0 20px;
    }
    .table-of-contents a{
        font-size: 1.4rem;
        padding: 0 0.8em 0 0;
    }
    .table-of-contents a::before{
        display: none !important;
    }
    .table-of-contents a::after {
        content: "";
        display: flex;
        width: 8px;
        height: 8px;
        border: 0;
        border-bottom: solid 2px var(--blue);
        border-right: solid 2px var(--blue);
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        right: -1em;
        bottom: 0;
        margin: auto;
    }
    .company_swiper {
        margin: 38px 0 100px;
    }
    #overview_section{
        margin-top: 0;
    }
    #gem{
        padding: 0 18px;
    }
    /* re */
    .table-of-contents.recruit ul{
        justify-content: center;
    }
    .table-of-contents.recruit li{
        width: 40%;
    }
    content.under_contents.recruit{
        width: 100%;
    }
    .company_profile.schedule th {
        width: 20%;
    }
    /* products */
    .under_contents .description{
        padding: 20px 0;
    }
    .products_item {
        padding: 20px 0;
    }
    .products_img{
        flex-direction: column;
        align-items: flex-start;
    }
    .products_img a{
        margin: 1em;
    }
    /* privacy */
    .policy table{
        padding: 0 10px;
    }
    .policy tr{
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }
    .policy th {
        width: 100%;
    }
    .policy td{
        width: 100%;
    }
}

@media screen and (max-width: 440px) {
    /* under_ttl */
    /* .under_mainvisual .pc{
        display: none;
    }
    .under_mainvisual .sp{
        display: block;
    }
    .under_mainvisual {
        padding-top: 82px;
        padding: 82px 18px 0;
    } */
    /* .undr_ttl {
        align-items: flex-start;
        max-width: 250px;
        flex-direction: column;
        top: 50%;
        left: 44%;
        transform: translate(-50%, -30%);
    } */
    .undr_ttl {
        /* max-width: 320px; */
        max-width: 350px;
        top: 58%;
        left: 44%;
        margin: 0 0 0 20px;
        padding: 0 0 0 20px;
    }
    .undr_ttl .message{
        width: 100%;
        padding: 0;
    }
    /* company */
    .table-of-contents li,
    .table-of-contents.recruit li {
        width: 50%;
    }
    .content {
        width: 100%;
    }
    .company_contents {
        margin: 74px 0 50px;
    }
    .company_contents .philosophy {
        padding: 1.5em 0;
    }
    #philosophy_section {
        margin-bottom: 0;
    }
    .company_profile tr {
        flex-direction: column;
    }
    .company_profile th {
        border-bottom: none;
        width: 100%;
        padding-bottom: 0;
    }
    .company_profile td {
        width: 100%;
    }
    .company_profile .office{
        padding-top: 0.6em;
    }
    .company_profile .gmap {
        height: 236px;
        padding: 1em 0;
    }
    .company_profile .gmap iframe {
        height: 100%;
    }
    .member_introduction li {
        width: 100%;
    }
    .schedule_box .under_subttl{
        margin: 1em 0;
    }
    .company_profile td {
        padding: 0 0 1em 0.6em;
    }
    .sonpo::before{
        left: 14%;
    }
    .sonpo.silver::before{
        left: 14%;
    }
    /* 採用情報 */
    .table-of-contents ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 10px;
    }
    .recruit .fz_36{
        font-size: 3.2rem;
    }
    /* privacy */
    .privacy_policy .undr_ttl h1{
        font-size: 2.8rem;
    }
    .policy .under_subttl{
        letter-spacing: 0.08em;
    }
    h3.item_ttl{
        font-size: 2rem;
        letter-spacing: 0.08em;
    }
}
@media screen and (max-width: 390px) {
    .undr_ttl{
        top: 60%;
    }
    .undr_ttl h1 {
        font-size: 2.8rem;
    }
    .undr_ttl .message {
        font-size: 1.4rem;
    }
    .sonpo::before{
        left: 6%;
    }
    .sonpo.silver::before{
        left: 6%;
    }
}