@charset "utf-8";



/***共通***/

body {

    font-family: "Hiragino Sans", sans-serif;

}



h1 {

    font-size: 5rem;

    font-family: "Hiragino Sans", sans-serif;

}

h2 {

    font-size: 5rem;

    font-family: "Hiragino Sans", sans-serif;

}


.pan_list {

    padding: 20px 0;

}

.pan_list > ul {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

}



.pan_list > ul > li:not(:last-of-type) {

    padding-right: 14px;

    position: relative;

}



.pan_list > ul > li:not(:last-of-type)::after {

    content: '';

    width: 4px;

    height: 4px;

    position: absolute;

    border-top: 1px solid #000;

    border-right: 1px solid #000;

    top: 50%;

    right: 5px;

    transform: translateY(-50%) rotate(45deg);

}

.pan_list > ul > li,

.pan_list > ul > li * {

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 1.2rem;

}

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

    h1,h2 {

        font-size: 2.5rem;

    }

}



/* 後ほど上の方に整理 */

.mv {

    width: 100%;;

    height: 350px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    opacity: 1;

    visibility: visible;

    background-size: cover;

    position: relative;

}

.mv .wrapper {

    margin-right: auto;

    text-align: left;

    margin-top: 28px;

}





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

    .mv {

        height: 200px;

        display: flex;

    }

    h1 {

        font-size: min(2.8rem, 10vw);

    }

}



/* 共通 */

.mv_title_wrapper {

    background-color: #FFF;

    position: absolute;

    left: 0;

    bottom: -1px;

    padding: 50px 132px 10px 132px;

}

.mv_title_box {

    font-family: "Hiragino Sans", sans-serif;

}

.mv_sub_title {

    margin-top: 10px;

    font-size: 2rem;

}

.breadcrumb {

    display: flex;

    margin-top: 24px;

    margin-bottom: 100px;

}

.breadcrumb ul {

    margin-left: auto;

    padding-right: 20px;

    display: flex;

}

.breadcrumb ul li {

    font-size: 1.4rem;

    position: relative;

}

.breadcrumb ul li:not(:last-of-type) {

    margin-right: 24px;

    position: relative;

}

.breadcrumb ul li:not(:last-of-type)::after {

    content: ">";

    position: absolute;

    right: -16px;

}

.breadcrumb ul li:last-of-type {

    text-decoration: underline;

    text-underline-offset: 4px;

}

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

    .mv_title_wrapper {

        padding: 10px 20px 5px 20px;

    }

    .mv_sub_title {

        margin-top: initial;

        font-size: 1.4rem;

        margin-top: 5px;

    }

    .breadcrumb {

        margin-top: 16px;

        margin-bottom: 50px;

    }

    .breadcrumb ul {

        padding-right: 10px;

    }

    .breadcrumb ul li {

        font-size: 1.2rem;

    }

}



/* informationページ */

.mv.information {

    background: url(../img/information_fv_main.jpg) top center / cover no-repeat;

}

.info_about_sec {

    padding-bottom: 150px;

}

.info_about_sec .two_column {

    display: flex;

    flex-wrap: wrap;

    gap: 60px;

    padding-bottom: 80px;

}

.info_about_sec .two_column li {

    width: calc( 50% - 30px );

    display: flex;

    flex-direction: column;

    /* justify-content: space-between; */

}

.info_about_sec .two_column li .title_wrapper {

    display: flex;

    align-items: flex-end;

    margin-bottom: 10px;

}

.info_about_sec .two_column li .content_wrapper {
    height: 100%;
    box-shadow: 6px 6px 6px rgba(91, 74, 62, 0.2);
}
.info_about_sec .two_column li .content_wrapper a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.info_about_sec .two_column li .content_wrapper:hover {
    cursor: pointer;
    opacity: 0.8;
}

@media screen and (min-width: 801px) {
    .info_about_sec .two_column li .title_wrapper h2 {
        font-size: min(2.8rem, 3vw);
    }
}

.info_about_sec .two_column li .title_wrapper .sub_title {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 1.4rem;

    margin-left: 12px;

}

.info_about_sec .two_column li .ex {

    padding: 0 1.5rem;

    margin-top: 25px;

    flex-grow: 1;

}

.info_about_sec .two_column li .btn_box.more {

    margin-top: auto;

}



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

    .info_about_sec {

        padding-bottom: 100px;

    }

    .info_about_sec .two_column li .title_wrapper h2 {
        font-size: min(3rem, 6vw);
    }

    .info_about_sec .two_column {

        padding-bottom: initial;

    }

    .info_about_sec .two_column {

        flex-direction: column;

        gap: 30px;

    }

    .info_about_sec .sub_title {

        font-size: 1.2rem;

    }

    .info_about_sec .ex {

        font-size: 1.4rem;

        margin-top: 20px;

    }

    .info_about_sec .two_column li {

        width: 100%;

    }

    .info_about_sec .two_column li .title_wrapper {

        display: flex;

        align-items: flex-end;

    }

    .info_about_sec .two_column li .title_wrapper .sub_title {

        font-family: "Hiragino Sans", sans-serif;

        font-size: 1.2rem;

        margin-left: 10px;

    }

    .info_about_sec .two_column li .ex {

        margin-top: 12px;

    }

    .info_about_sec .two_column li .btn_box.more {

        margin-top: auto;

    }

}





/* Messageページ */

.mv.message {

    background: url(../img/message_fv_main.jpg) top center / cover no-repeat;
    background-position: 100% 50%;

}



.message_sec {

    padding-bottom: 150px;

}



.message_sec .wrapper .two_column {

    display: flex;

    flex-direction: column;

    gap: 70px;

}


.message_title_wrapper h3 {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 2.7rem;

    font-weight: bold;

    line-height: 4rem;

}


.message_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 305px;
}

.message_sec .rep_name {
    font-family: "kokuryu", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3rem;
    margin-top: 80px;
    text-align: right;
}

.wf-loading {
    opacity: 0;
}


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

    .message_sec {

        padding-bottom: 120px;

    }

    .message_sec .wrapper .two_column {

        flex-direction: column;

        gap: 40px;

    }

    .message_title_wrapper {

        width: 100%;

    }

    .message_title_wrapper h3 {
    
        font-size: 2.1rem;
    
    }

    .message_title_wrapper p {

        font-size: 2.2rem;

    }    

    .message_text_wrapper {

        width: 100%;

    }

    /* スマホMV画像位置調整 */

    .mv.message {

        background-position: 65% 50%;

    }
    
    .message_img {
        max-height: 190px;
    }

    .message_sec .rep_name {
        font-size: 2.4rem;
        margin-top: 60px;
    }
}



/* companyページ */

.mv.company {

    background: url(../img/company_fv_main.jpg) top center / cover no-repeat;

}



.company_sec {

    padding-bottom: 150px;

}



.outline_table dl {

    display: flex;

    border-bottom: 1px #707070 solid;

    position: relative;

}



.outline_table dt, .outline_table dd {

    padding-top: 25px;

    padding-bottom: 25px;

}



.list_name {

    padding-left: 50px;

    width: 260px;

    position: relative;

}



.list_name::before {

    content: "";

    width: 8px;

    height: 8px;

    background-color: #E60716;

    position: absolute;

    top: 34px;

    left: 30px;

}



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

    .company_sec {

        padding-bottom: 120px;

    }

    .outline_table dt, .outline_table dd {

        font-size: 1.4rem;

    }    

    .list_name {

        padding-left: 20px;

        width: min(160px, 28%);

        margin-right: 20px;

    }

    .list_content {

        width: calc(100% - 160px);

    }  

    .list_name::before {

        width: 6px;

        height: 6px;

        top: 34px;

        left: 0;

    } 

}



/* policyページ */

.mv.policy {

    background: url(../img/policy_fv_main.jpg) top center / cover no-repeat;

}



.policy_sec {

    padding-bottom: 150px;

}

.policy_sec h2 {

    font-size: 1.6rem;

    font-weight: 400;

    font-family: "Hiragino Sans", sans-serif;

    position: relative;

    padding-left: 20px;

}

.policy_sec h2::before {

    content: "";

    width: 8px;

    height: 8px;

    background-color: #E60716;

    position: absolute;

    top: 5px;

    left: 0;

}

.policy_text {

    margin-top: 16px;

    margin-bottom: 60px;

}

.policy_text.last {

    margin-bottom: 0;

}



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

    .policy_sec {

        padding-bottom: 120px;

    }

    .policy_sec h2::before {

        width: 6px;

        height: 6px;

    }

    .policy_text {

        margin-top: 12px;

        margin-bottom: 48px;

    }

}



/* businessページ */

.mv.business {

    background: url(../img/business_fv_main.jpg) top center / cover no-repeat;

}

.business_sec {

    padding-bottom: 150px;

}

.business_sec .wrapper ul li {

    position: relative;

}

.business_wrapper {

    max-width: 550px;

    min-height: 296px;

    background-color: #FBF9F7;

    margin-top: 50px;

    position: relative;

    padding: 74px 50px;

}

.business_sec .wrapper .image {

    width: 60%;

    max-width: 650px;

    height: 100%;

    position: absolute;

    top: -12%;

    right: 0;

    z-index: -1;

}

.business_sec .wrapper ul li:not(:last-of-type) {

    margin-bottom: 170px;

}



.business_sec .wrapper ul li:nth-of-type(2n) .image {

    left: 0;

    right: inherit;

}

.business_sec .wrapper ul li:nth-of-type(2n) .business_wrapper {

    margin-left: auto;

}

.business_num {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 10.9rem;

    color: #BEB1A9;

    opacity: 0.8;

    position: absolute;

    top: 0;

    right: 2%;

}

.business_box .title {

    font-size: 3rem;

    font-weight: bold;

}

.business_box .sub-title {

    font-family: "Hiragino Sans", sans-serif;

    color: #E60716;

    margin-bottom: 30px;

}



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

    .business_sec {

        padding-bottom: 120px;

    }

    .business_wrapper {

        width: 100%;

        min-height: inherit;

        margin-top: 20px;

        padding: 50px 30px;

    }

    .business_sec .wrapper .image {

        width: 100%;

        height: 100%;

        position: inherit;

    }

    .business_sec .wrapper ul li:not(:last-of-type) {

        margin-bottom: 80px;

    }

    

    .business_sec .wrapper ul li:nth-of-type(2n) .image {

        left: 0;

        right: inherit;

    }

    .business_sec .wrapper ul li:nth-of-type(2n) .business_wrapper {

        margin-left: auto;

    }

    .business_num {

        font-family: "Hiragino Sans", sans-serif;

        font-size: 7.6rem;

        color: #BEB1A9;

        opacity: 0.8;

        position: absolute;

        top: -5%;

        right: 1%;

    }

    .business_box .title {

        font-size: 2.8rem;

        font-weight: bold;

    }

    .business_box .sub-title {

        font-family: "Hiragino Sans", sans-serif;

        color: #E60716;

        margin-bottom: 18px;

    }

}



/* recruitページ */

.mv.recruit {

    background: url(../img/recruit_fv_main.jpg) top center / cover no-repeat;

}

.recruit_sec {

    padding-bottom: 150px;

}

.requirement_title {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 2.4rem;

    font-weight: bold;

    text-align: center;

    padding-top: 40px;

    padding-bottom: 28px;

}

.requirement_title span {

    display: inline-block;

    content: "";

    width: 8px;

    height: 8px;

    margin-bottom: 4px;

    background-color: #E60716;

}

.requirement_title span:first-child {

    margin-right: 20px;

}

.requirement_title span:nth-child(2) {

    margin-left: 20px;

}



.requirement_table {

    border: 1px #5B4A3E solid;

    display: none;

}

.requirement_table.active {

    display: block;

}

.requirement_table dl {

    display: flex;

}

.requirement_table dt {

    background-color: #E0D7D2;

    padding: 30px;

    width: 260px;

    position: relative;

}

.requirement_table dd {

    padding: 30px;

    width: 100%;

    position: relative;

}

.requirement_table dl:not(:last-child) dt, .requirement_table dl:not(:last-child) dd {

    border-bottom: 1px #5B4A3E solid;

}



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

    .recruit_sec {

        padding-bottom: 120px;

    }

    .requirement_title {

        font-size: 2rem;

        padding-top: 32px;

        padding-bottom: 20px;

    }

    .requirement_title span {

        width: 6px;

        height: 6px;

    }

    .requirement_title span:first-child {

        margin-right: 12px;

    }

    .requirement_title span:nth-child(2) {

        margin-left: 12px;

    }

    .requirement_table dt, .requirement_table dd {

        font-size: 1.4rem;

        padding: 16px;

    }

    .requirement_table dt {

        width: 125px;

    }

}



/* 雇用条件タブ */

.career-list_tab {

    display: flex;

    justify-content: center;

    gap: 30px;

    width: 100%;

  }

  .career-tab_btn {

    display: flex;

    justify-content: center;

    align-items: center;

    cursor: pointer;

    background-color: #FBF9F7;

    width: calc((100% - 60px) / 3);

    text-align: center;

    font-size: 2rem;

    font-weight: 700;

    padding: 24px;

  }

  .career-tab_btn.active {

    background-color: #5B4A3E;

    color: #ffffff;

    position: relative;

  }

  .career-tab_btn.active:before {

    content: "";

    position: absolute;

    right: 0;

    bottom: -20px;

    left: 0;

    width: 0px;

    height: 0px;

    margin: auto;

    border-style: solid;

    border-color: #5B4A3E transparent transparent transparent;

    border-width: 20px 20px 0 20px;

  }

  .contact_form_sec .btn-item input {

    width: 18px;

  }



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

    .career-list_tab {

        gap: 12px;

        width: 100%;

      }

      .career-tab_btn {

        width: calc((100% - 24px) / 3);

        font-size: 1.6rem;

        padding: 12px 10px;

      }

      .career-tab_btn.active:before {

        bottom: -12px;

        border-width: 12px 12px 0 12px;

      }

}



/* 応募ボタン */

.btn_box.apply {

    margin-top: 40px;

}

.btn_box.apply a {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 300px;

    height: 80px;

    border: 1px solid #BEB1A9;

    border-radius: 10px;

    font-family: "Hiragino Sans", sans-serif;

    font-size: 2rem;

    font-weight: bold;

    background-color: #5B4A3E;

    color: #fff;

    position: relative;

    transition: all 0.5s ease;

}

.btn_box.apply a::before {

    content: "";

    width: 28px;

    height: 28px;

    background-color: #F7F3EF;

    border-radius: 100%;

    position: absolute;

    right: 3%;

}

.btn_box.apply a::after {

    content: "";

    clip-path: polygon(0 0, 0% 100%, 100% 50%);

    background-color: #5B4A3E;

    width: 10px;

    height: 10px;

    position: absolute;

    right: 5.5%;

}

.btn_box.apply a:hover {

    opacity: 0.9;

    background-color: #BEB1A9;

}

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

    .btn_box.apply a {

        font-size: 1.8rem;

        width: 250px;

        height: 60px;

    }

    .btn_box.apply a::before {

        width: 24px;

        height: 24px;

        right: 4%;

    }

    .btn_box.apply a::after {

        width: 10px;

        height: 10px;

        right: 6.5%;

    }

}





/* contactページ */

#contact_form_page .contact_sec {

    display: none;

}



.mv.contact {

    background: url(../img/contact_fv_main.jpg) top center / cover no-repeat;

}

.contact_form_sec {

    padding-bottom: 150px;

}

.contact_form_sec .wrapper {

    padding: 0 50px;

}

.contact_form_sec dl {

    display: flex;

}

.contact_form_sec dl dt {

    width: 300px;

    display: flex;

    padding: 45px 0;

    border-bottom: 1px solid #BEB1A9;

    position: relative;

}

.contact_form_sec dl dt p::after {

    content: '任意';

    background-color: #BEB1A9;

    color: #FFF;

    width: 43px;

    height: 24px;

    font-size: 1.4rem;

    display: flex;

    justify-content: center;

    align-items: center;

    position: absolute;

    top: 45px;

    left: 180px;

}

.contact_form_sec dl dt.req p::after {

    content: '必須';

    background-color: #E60716;

}



.contact_form_sec dl dd {

    padding: 30px 0;

    border-bottom: 1px solid #BEB1A9;

    flex: 1;

}

select {

    -webkit-appearance: none;

    appearance: none;

}

.select_wrapper {

    position: relative;

}

.select_wrapper::after {

    content: "";

    position: absolute;

    top: 43%;

    right: 2%;

    border-right: 10px solid transparent;

    border-left: 10px solid transparent;

    border-top: 10px solid #BEB1A9;

    border-bottom: 0;

    pointer-events: none;

}



.contact_form_sec dl dd input, .contact_form_sec dl dd textarea, .contact_form_sec dl dd select {

    width: 100%;

    border: 1px solid #BEB1A9;

    padding: 18px 20px;

}

.contact_form_sec dl dd input[type="text"]::placeholder,

.contact_form_sec dl dd textarea::placeholder,

.contact_form_sec dl dd select {

    color: #BEB1A9;

}

input[type="text"]:focus, textarea:focus, .contact_form_sec dl dd select:focus {

    outline: 2px solid #BEB1A9;

}

.contact_form_sec .policy_check {

    display: flex;

    justify-content: center;

    align-items: center;

    margin-top: 30px;

    margin-bottom: 30px;

}

.contact_form_sec .policy_check label {

    display: flex;

    justify-content: center;

    align-items: center;

}



input[type="checkbox"] {

    position: relative;

    width: 25px;

    height: 25px;

    border: 1px solid #707070;

    vertical-align: -5px;

}

  

input[type="checkbox"]:checked:before {

    position: absolute;

    bottom: 1px;

    left: 6px;

    transform: rotate(50deg);

    width: 15px;

    height: 30px;

    border-right: 6px solid #5B4A3E;

    border-bottom: 6px solid #5B4A3E;

    content: '';

}

.policy_check p label a {

    font-size: 1.4rem;

    text-decoration: underline;

    margin-left: 12px;

}

.submit_box p {

    display: flex;

    justify-content: center;

    width: 100%;

}



.submit_box input[type="submit"] {

    font-size: 1.8rem;

    width: 100%;

    max-width: 250px;

    height: 50px;

    display: flex;

    justify-content: center;

    align-items: center;

    background-color: #fff;

    color: #000;

    border: 1px solid #000;

    transition: all 0.5s ease;

}

.submit_box input:hover {

    background-color: #5B4A3E;

    opacity: 0.8;

    color: #fff;

}

.submit_box input[disabled] {

    cursor: not-allowed;

}



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

    .contact_form_sec {

        padding-bottom: 120px;

    }

    .contact_form_sec .wrapper {

        padding: initial;

    }

    .contact_form_sec form {

        display: flex;

        flex-direction: column;

        gap: 40px;

    }

    .contact_form_sec dl {

        flex-direction: column;

        margin-bottom: 0px;

        padding: 0;

        border-bottom: none;

    }

    .contact_form_sec dl dt {

        width: 100%;

        padding: 0;

        margin-bottom: 10px;

        border-bottom: none;

        position: relative;

    }

    .contact_form_sec dl dt p::after {

        font-size: 1.4rem;

        padding: 4px;

        top: 0;

        right: 0;

        margin-left: auto;

    }

    .contact_form_sec dl dd {

        padding: 0;

        border-bottom: none;

    }

    .select_wrapper::after {

        content: "";

        position: absolute;

        top: 43%;

        right: 4%;

        border-right: 8px solid transparent;

        border-left: 8px solid transparent;

        border-top: 8px solid #BEB1A9;

    }

    .contact_form_sec dl dd input, .contact_form_sec dl dd textarea, .contact_form_sec dl dd select {

        padding: 18px;

    }

    .contact_form_sec .policy_check {

        margin-top: 20px;

        margin-bottom: 20px;

    }

    input[type="checkbox"]:checked:before {

        border-right: 4px solid #5B4A3E;

        border-bottom: 4px solid #5B4A3E;

    }

}



/* thanksページ */

.contact_thanks_sec .wrapper {

    padding-bottom: 150px;

}

.contact_thanks_sec .wrapper {

    text-align: center;

}

.contact_thanks_sec .wrapper .ex {

    margin-top: 30px;

    margin-bottom: 48px;

}



.contact_thanks_sec .wrapper .btn_box a {

    font-size: 1.8rem;

    width: 100%;

    max-width: 250px;

    height: 50px;

    display: flex;

    justify-content: center;

    align-items: center;

    background-color: #fff;

    color: #000;

    border: 1px solid #000;

    transition: all 0.5s ease;

}

.contact_thanks_sec .wrapper .btn_box a:hover {

    background-color: #5B4A3E;

    opacity: 0.8;

    color: #fff;

}



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

    .contact_thanks_sec .wrapper {

        padding-bottom: 120px;

    }

    .contact_thanks_sec .wrapper h2 {

        font-size: 2.2rem;

    }

}





/* News_listページ */

.mv.news_list {

    background: url(../img/news_list_fv_main.jpg) top center / cover no-repeat;

}

.news_list_sec {

    padding-bottom: 150px;

}

.news_list_sec ul {

    padding-bottom: 72px;

}

.news_list_sec ul li {

    border-bottom: 1px solid #707070;

    padding: 30px 0;

    flex: 1;

    transition: all 0.5s ease;

}

.news_list_sec ul li:hover {

    opacity: 0.4;

    cursor: pointer;

}

.news_list_sec ul li:last-child {

    margin-bottom: 0;

}

.news_list_sec ul li .title {

    font-size: 2rem;

    padding-top: 14px;

}

.news_list_sec ul li .content {

    padding-top: 5px;

}

.news_list_sec .news_info {

    display: flex;

    flex-wrap: wrap;

    gap: 35px;

}

.news_list_sec .category-wrapper span {

    padding: 5px;

    background-color: #5B4A3E;

    color: #fff;

    font-size: 1.3rem;

}



.pagenation_news_list {

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 1.6rem;

    gap: 25px;

}

.page_btn_item {

    background-color: initial;

}

.page_btn_item.active {

    color: #E60716;

    position: relative;

}

.page_btn_item.active::before {

    content: "";

    width: 10px;

    height: 2px;

    background-color: #E60716;

    position: absolute;

    bottom: -5px;

}

.pagenation_news_list .prev {

    padding-right: 15px;

}

.pagenation_news_list .next {

    padding-left: 15px;

}



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

    .news_list_sec {

        padding-bottom: 120px;

    }

    .news_list_sec ul li .time span {

        font-size: 1.2rem;

    }

    .news_list_sec ul li .title {

        font-size: 1.6rem;

    }

    .news_list_sec ul li .content {

        font-size: 1.2rem;

        padding-top: 12px;

    }

    .news_list_sec .news_info {

        flex-direction: column;

        gap: 10px;

    }

    .news_list_sec .category-wrapper span {

        font-size: 1.2rem;

    }

    .pagenation_news_list {

        font-size: 1.4rem;

        gap: 12px;

    }

    .pagenation_news_list .prev {

        padding-right: 12px;

    }

    .pagenation_news_list .next {

        padding-left: 12px;

    }

}





/* news個別ページ */

.article_info {

    display: flex;

    justify-content: space-between;

    margin-top: 90px;

    margin-bottom: 20px;

}



.news_article_sec .category {

    font-size: 1.8rem;

    color: #fff;

    background-color: #5B4A3E;

    padding: 4px 12px;

    height: max-content;

}



.category-wrapper {

    display: flex;

    flex-wrap: wrap;

    gap: 16px;

}



.news_article_sec {

    padding: 80px 0 120px;

}



.news_article_sec h1, .news_article_sec h2, .news_article_sec h3, .news_article_sec h4, .news_article_sec h5, .news_article_sec h6 {

    font-family: "Hiragino Sans", sans-serif;

    font-weight: bold;

    color: #020A19;

    -webkit-text-stroke: inherit;

    margin-bottom: 50px;

}



.news_article_sec .article_title {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 3rem;

    font-weight: bold;

    color: #020A19;

    padding-bottom: 15px;

    margin-bottom: 60px;

    -webkit-text-stroke: inherit;

}



.news_article_sec .eyecatch {

    text-align: center;

    margin-bottom: 60px;

}



.news_article_sec .eyecatch img {

    border-radius: 13px;

}



.news_article_sec .article_content {

    padding: 0 0 40px;

    border-bottom: 1px solid #B2B2B2;

    margin-bottom: 25px;

}



.article_content > * {

    margin-bottom: 50px;

}



.article_content h2 {

    font-size: 2.8rem;

    margin-bottom: 20px;

}



.article_content h3 {

    font-size: 2.6rem;

}



.article_content h4 {

    font-size: 2.4rem;

}



.article_content h5 {

    font-size: 2.2rem;

}



.article_content h6 {

    font-size: 2rem;

    margin-bottom: 20px;

}



.article_content table thead th {

    background-color: #5B4A3E;

    color: white;

}







.article_content table th,

.article_content table td {

    padding: 25px 5px;

    border: 1px solid #B5B5B5;

    font-weight: 400;

}

.article_content ul > li {

    position: relative;

    padding-left: 16px;

}

.article_content ul > li:not(:last-of-type) {

    margin-bottom: 5px;

}

.article_content ul > li::before {

    content: '';

    width: 6px;

    height: 6px;

    background-color: #E60716;

    border-radius: 50%;

    position: absolute;

    top: 10px;

    left: 0;

}

.article_content ol {

    counter-reset: listnum;

	list-style: none;

}

.article_content ol > li {

    padding-left: 20px;

    position: relative;

}

.article_content ol > li:not(:last-of-type) {

    margin-bottom: 10px;

}

.article_content ol > li::before {

	counter-increment: listnum;

	content: counter(listnum)'.';

    color: #E60716;

    font-size: 1.6rem;

    border-radius: 2px;

    position: absolute;

    top: 0;

    left: 0;

}

.article_content a {

    color: #E60716;

    font-weight: bold;

    text-decoration: underline;

}

.article_content .quote {

    background-color: #FBF9F7;

    padding: 50px;

}

.article_tag {

    display: flex;

}

.article_tag ul {

    display: flex;

    flex-wrap: wrap;

    gap: 16px;

}

.article_tag > li {

    margin-bottom: 5px;

}

.article_tag > li:not(:last-of-type) {

    margin-right: 20px;

}

.article_tag p {

    margin-right: 20px;

}

.article_tag > li a {

    padding: 5px 10px;

    display: block;

}

.pagenation {

    font-size: 1.6rem;

    margin-top: 100px;

    display: flex;

    align-items: center;

    justify-content: space-between;

}



.pagenation a, .pagenation .empty-link {

    flex-basis: 33%;

}



.pagenation a:nth-child(3) {

    text-align: right;

}

.pagenation .empty-link {

    visibility: hidden; /* 空のリンクを目に見えなくする */

}



.pagenation .page.btn_link {

    border: 1px solid #020A19;

    width: 250px;

    height: 50px;

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    transition: all 0.5s ease;

}



.pagenation .page.btn_link::before {

    content: "";

    width: 30px;

    height: 1px;

    background-color: #020A19;

    position: absolute;

    right: 0;

}

.pagenation .page.btn_link:hover {

    background-color: #5B4A3E;

    color: #fff;

}

.pagenation .page.btn_link:hover::before {

    background-color: #FFF;

}



.news_list_sec .wrapper.mid {

    background-color: #FBF9F7;

    padding: 70px 0;

}

.related_title {

    font-family: "Hiragino Sans", sans-serif;

    font-size: 2.4rem;

    font-weight: bold;

    text-align: center;

    padding-top: 40px;

    padding-bottom: 28px;

}

.related_title span {

    display: inline-block;

    content: "";

    width: 8px;

    height: 8px;

    margin-bottom: 4px;

    background-color: #E60716;

}

.related_title span:first-child {

    margin-right: 20px;

}

.related_title span:nth-child(2) {

    margin-left: 20px;

}







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

    .article_info {

        display: block;

        margin-top: 20px;

        margin-bottom: 20px;

    }

    

    .news_article_sec .category {

        font-size: 1.2rem;

        width: max-content;

    }

    .category-wrapper {

        gap: 12px;

    }

    .time-wrap  {

        text-align: right;

        margin-top: 10px;

    }

    .time-wrap p {

        font-size: 1.2rem;

    }



    .news_article_sec {

        padding: 80px 0 120px;

    }



    .news_article_sec .article_title {

        font-size: min(2.5rem, 10vw);

        margin-bottom: 10px;

    }

    

    .news_article_sec .eyecatch {

        text-align: center;

        margin-bottom: 60px;

    }

    

    .news_article_sec .eyecatch img {

        border-radius: 13px;

    }

    

    .news_article_sec .article_content {

        padding: 0 0 40px;

        border-bottom: 1px solid #B2B2B2;

        margin-bottom: 25px;

    }

    

    .news_article_sec {

        padding: 40px 0;

    }

    .news_article_sec .meta_box {

        display: block;

    }



    .news_article_sec .meta_box .date {

        margin-top: 10px;

        text-align: right;

    }

    

    .news_article_sec .single_title {

        font-size: 2.2rem;

        margin-bottom: 30px;

    }



    .news_article_sec .eyecatch {

        margin-bottom: 30px;

    }



    .article_content h2 {

        font-size: 2.2rem;

    }

    .article_content h3 {

        font-size: 2.1rem;

    }

    .article_content h4 {

        font-size: 2rem;

    }

    .article_content h5 {

        font-size: 1.8rem;

    }

    .article_content h6 {

        font-size: 1.6rem;

    }

    .article_content table th,

    .article_content table td {

        padding: 15px 5px;

    }

    

    .news_article_sec .article_tag  {

        margin-bottom: 25px;

    }

    .article_tag > li:not(:last-of-type) {

        margin-right: 10px;

    }

    .article_tag p {

        font-size: 1.4rem;

        padding: inherit;

        white-space: nowrap; /* Prevents text from breaking into a new line */

        flex-shrink: 0;

    }

    .article_tag ul {

        gap: 12px;

        font-size: 1.4rem;

    }

    .article_tag > li a {

        font-size: 1.4rem;

        padding: inherit;

    }



    .pagenation a, .pagenation span {

        padding: 10px 0px;

        font-size: 1.2rem;

        display: flex;

        align-items: center;

        justify-content: center;

    }

    .pagenation {

        font-size: 1.4rem;

        margin-top: 60px;

    }



    .pagenation .page.btn_link {

        width: 160px;

        height: 40px;

    }

    .pagenation .page.btn_link::before {

        width: 15px;

    }

    .news_list_sec.related .wrapper {

        padding: 10px 0;

    }

    .related_title {

        font-size: 2rem;

        padding-top: 32px;

        padding-bottom: 20px;

    }

    .related_title span {

        width: 6px;

        height: 6px;

    }

    .related_title span:first-child {

        margin-right: 12px;

    }

    .related_title span:nth-child(2) {

        margin-left: 12px;

    }

}



/* contact7-style修正 */

.wpcf7-list-item {

    margin-left: 0;

}

.radio-btn label {

    display: flex;

    gap: 15px;

}



.contact_form_sec dl dd .wpcf7-list-item input {

    width: max-content;

}



.wpcf7-form-control.wpcf7-radio {

    display: flex;

    align-items: center;

    gap: 24px;

}

.submit_box .wpcf7-spinner {

    display: none;

}



