﻿/* CSS Document */
/* -----------------------------------------
page Layout
-----------------------------------------*/
:root{
    --white: #FFFFFF;
    --black: #333333;
    --gray: #707070;
    --lightgray: #F7F7F7;
    --green: #289A06;
    --lightgreen: #57A520;

    --f-notoJ: "Noto Sans JP" ,sans-serif;
    --f-noto: "Noto Sans" ,sans-serif;
    --arial: Arial、Helvetica Neue、Helvetica、sans-serif;
    --century: Century Gothic Pro、CenturyGothic、AppleGothic、sans-serif;

}

/* -----------------------------------------
　utility
------------------------------------------*/
.u--purple {
    background: var(--purple);
}
.u--white {
    background: var(--white);
}


.d--f {
    display: flex;
    flex-wrap: wrap;
}
.f--jcsb {
    justify-content: space-between;
}
@media screen and (max-width: 590px) {
    .d--f {
        flex-direction: column;
    }
    .f--jcsb {
        justify-content: flex-start;
    }
}


body.fixed {
    position: relative;
    overflow: hidden;
}

.sp {
    display: none;
}
@media screen and (max-width: 590px) {
    .sp {
        display: flex;
    }
}

/* -----------------------------------------
　index.html
------------------------------------------*/
.l-index {
    padding: 173px 0 140px;
}
.l-index .p-index__title {
    width: 485px;
    height: 42px;
    margin: 0 auto;
}
.l-index .p-index__text {
    max-width: 660px;
    font-size: 18px;
    line-height: 1.95;
    letter-spacing: 0.05em;
    margin: 70px auto 0;
}

@media screen and (min-width: 591px) and (max-width: 800px) {   
    .l-index {
        padding: 21.625vw 0 17.5vw;
    }
    .l-index .p-index__title {
        width: 60.625vw;
        height: 5.25vw;
    }
    .l-index .p-index__text {
        width: 75vw;
        font-size: 2.5vw;
        margin: 8.75vw auto 0;
    }
}
@media screen and (max-width: 590px) {
    /* .l-index {
        padding: 22.033vw 0 23.729vw;
    }
    .l-index .p-index__title {
        width: 82.203vw;
        height: 7.119vw;
    }
    .l-index .p-index__text {
        width: 100%;
        font-size: 4.267vw;
        margin: 11.864vw auto 0;
    } */
    .l-index {
        padding: 40vw 0 20.8vw;
    }
    .l-index .p-index__title {
        width: 82.203vw;
        height: 7.119vw;
    }
    .l-index .p-index__text {
        width: 100%;
        /* font-size: 3.39vw; */
        font-size: 4.267vw;
        margin: 22.933vw auto 0;
    }
}


.l-overview {
    background: var(--lightgray);
    padding: 76px 0;
}
.l-overview .p-overview__group--wrap {
    margin-top: 40px;
    padding: 46px;
    background: var(--white);
    border-radius: 28px;
}
.l-overview .p-overview__group_venn {
    position: relative;
    width: 100%;
    height: 578px;
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    font-weight: 700;
}
.l-overview .p-overview__group_venn > li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
}
.l-overview .p-overview__group_venn > li div{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    font-size: 20px;
    line-height: 1.7;
    font-weight: bold;
    text-align: center;
}
.l-overview .p-overview__group_venn > li > .p-overview__group_title {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 265px;
    height: 43px;
    border-radius: 7px;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-family: var(--f-noto);
    color: var(--white);
}
.l-overview .p-overview__group_venn > li:nth-of-type(1) > .p-overview__group_title {
    background: #DE040A;
}
.l-overview .p-overview__group_venn > li:nth-of-type(2) > .p-overview__group_title {
    background: #57A520;
}
.l-overview .p-overview__group_venn > li:nth-of-type(3) > .p-overview__group_title {
    background: #FCA518;
}
.l-overview .p-overview__group_venn > li:nth-of-type(1) {
    top: 0;
    left: 0;
    padding: 0;
}
.l-overview .p-overview__group_venn > li:nth-of-type(1) div {
    background: #FFD9D9;
}
.l-overview .p-overview__group_venn > li:nth-of-type(2) {
    top: 0;
    right: 0;
    padding: 0;
}
.l-overview .p-overview__group_venn > li:nth-of-type(2) div {
    background: #E3F5CB;
}
.l-overview .p-overview__group_venn > li:nth-of-type(3) {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
}
.l-overview .p-overview__group_venn > li:nth-of-type(3) div {
    /* background: #FFEBD1; */
    background: rgba(245, 176, 75, 0.3);
}
.l-overview .p-overview__group--wrap .p-overview__group_name {
    display: grid;
    place-content: center;
    height: 50px;
    margin-top: 16px;
    background: #CBEEDB;
    border-radius: 28px;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.l-overview .p-overview__text {
    margin: 8px auto 0;
    width: 650px;
    font-size: 16px;
    line-height: 1.688;
    font-weight: 400;
}
.l-overview .p-overview__btn {
    margin-top: 56px;
}
.l-overview .p-overview__btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 250px;
    height: 50px;
    border-radius: 35px;
    border: 1px solid var(--green);
    background: var(--white);
    font-size: 18px;
    line-height: 1.333;
    font-weight: 700;
}
.l-overview .p-overview__btn a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    width: 6px;
    height: 10px;
    background-image: url(/assets/img/common/btn_arrow--01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 591px) and (max-width: 800px) {   
    .l-overview {
        padding: 9.5vw 0;
    }
    .l-overview .p-overview__group--wrap {
        margin-top: 5vw;
        padding: 5.75vw;
        border-radius:  3.5vw;
    }
    .l-overview .p-overview__group_venn {
        height: calc(72.25vw - 4vw);
    }
    .l-overview .p-overview__group_venn > li div{
        width: calc(43.75vw - 4vw);
        height:  calc(43.75vw - 4vw);
        font-size: 2.5vw;
    }
    .l-overview .p-overview__group_venn > li > .p-overview__group_title {
        top: 4.375vw;
        width: 33.125vw;
        height: 5.375vw;
        border-radius: 0.875vw;
        font-size: 2.5vw;
    }
    .l-overview .p-overview__group_venn > li:nth-of-type(3) div {
        padding: 2vw 0 0;
    }
    .l-overview .p-overview__group--wrap .p-overview__group_name {
        margin-top: 2vw;
        height: 6.25vw;
        border-radius: 3.5vw;
        font-size: 2.5vw;
    }
    .l-overview .p-overview__text {
        margin: 2vw auto 0;
        width: 81.25vw;
        font-size: 2vw;
    }
    .l-overview .p-overview__btn {
        margin-top: 7vw;
    }
    .l-overview .p-overview__btn a {
        width: 31.25vw;
        height: 6.25vw;
        border-radius: 4.375vw;
        border: 0.125vw solid var(--green);
        font-size: 2.25vw;
    }
    .l-overview .p-overview__btn a:after {
        width: 0.75vw;
        height: 1.25vw;
    }
}
@media screen and (max-width: 590px) {
    .l-overview {
        position: relative;
        padding: 10.667vw 0 16vw;
    }
    .l-overview .p-overview__group--wrap {
        margin: 9.067vw auto 0;
        padding: 4.8vw 0 6.667vw;
        transform: translateX(-1vw);
        width: calc(100% + 2vw);
        border-radius: 2.667vw;
    }
    .l-overview .p-overview__group_venn {
        margin: 0 auto;
        width: calc(100% - 2vw);
        height: 75.2vw;
    }
    .l-overview .p-overview__group_venn > li div{
        width: 45.333vw;
        height: 45.333vw;
        font-size: 2.933vw;
    }
    .l-overview .p-overview__group_venn > li > .p-overview__group_title {
        top: 5.333vw;
        width: 37.333vw;
        height: 5.333vw;
        border-radius: 0.8vw;
        font-size: 2.933vw;
    }
    .l-overview .p-overview__group_venn > li:nth-of-type(3) div {
        padding: 2vw 0 0;
    }
    .l-overview .p-overview__group--wrap .p-overview__group_name {
        margin: 2.867vw auto 0;
        width: calc(100% - 2vw);
        height: 9.33vw;
        border-radius: 50vh;
        font-size: 3.2vw;
    }
    .l-overview .p-overview__text {
        margin: 2.867vw auto 0;
        width: calc(100% - 2vw);
        font-size: 3.733vw;
        /* font-size: 2.712vw; */
    }
    .l-overview .p-overview__btn {
        margin-top: 8vw;
    }
    .l-overview .p-overview__btn a {
        width: 66.667vw;
        height: 13.333vw;
        border-radius: 50vh;
        border: 0.267vw solid var(--green);
        font-size: 4.8vw;
        /* font-size: 3.051vw; */
        background: var(--white);
    }
    .l-overview .p-overview__btn a:after {
        width: 1.6vw;
        height: 2.667vw;
    }
}


.l-news {
    padding: 76px 0 132px;
}
.l-news .p-news__list--wrap {
    border: 1px solid var(--lightgreen);
    border-radius: 20px;
    margin-top: 40px;
    padding: 48px 30px;
}
.l-news .p-news__list {
    
}
.l-news .p-news__list li {
    position: relative;
    padding-bottom: 18px;
    border-bottom: 1px dashed #8FC31F;
}
.l-news .p-news__list li::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2%;
    width: 24px;
    height: 22px;
    background-image: url(/assets/img/common/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.l-news .p-news__list li:not(:first-of-type) {
    padding-top: 20px;
}
.l-news .p-news__list .p-news__day {
    font-size: 15px;
    line-height: 1.133;
    font-weight: 700;
    font-family: var(--arial);
}
.l-news .p-news__list .p-news__type {
    display: inline-grid;
    place-content: center;
    margin-left: 12px;
    width: 120px;
    height: 18px;
    border: 1px solid #478C28;
    border-radius: 50vh;
    font-size: 12px;
    line-height: 1;
    color: #478C28;
}
.l-news .p-news__list .p-news__text {
    margin-top: 10px;
    width: 90%;
    font-size: 16px;
    line-height: 1.375;
    font-weight: 400;
}
.l-news .p-news__all {
    display: none;
}
@media screen and (min-width: 591px) and (max-width: 800px) {   
    .l-news {
        padding: 9.5vw 0 16.5vw;
    }
    .l-news .p-news__list--wrap {
        border: 0.125vw solid var(--lightgreen);
        border-radius: 2.5vw;
        margin-top: 5vw;
        padding: 6vw 3.75vw;
    }
    .l-news .p-news__list {
        
    }
    .l-news .p-news__list li {
        position: relative;
        padding-bottom: 2.25vw;
        border-bottom: 0.125vw dashed #8FC31F;
    }
    .l-news .p-news__list li::after {
        width: 3vw;
        height: 2.75vw;
    }
    .l-news .p-news__list li:not(:first-of-type) {
        padding-top: 2.5vw;
    }
    .l-news .p-news__list .p-news__day {
        font-size: 1.875vw;
    }
    .l-news .p-news__list .p-news__type {
        margin-left: 1.5vw;
        width: 15vw;
        height: 2.25vw;
        border: 0.125vw solid #478C28;
        font-size: 1.5vw;
    }
    .l-news .p-news__list .p-news__text {
        margin-top: 1.25vw;
        font-size: 2vw;
    }
    .l-news .p-news__all {
        display: none;
    }
}
@media screen and (max-width: 590px) {
    .l-news {
        padding: 17.6vw 0 12.8vw;
    }
    .l-news .p-news__list--wrap {
        border: 1px solid var(--lightgreen);
        border-radius: 5.333vw;
        margin-top: 11.467vw;
        padding: 5.333vw 4vw 6.667vw;
    }
    .l-news .p-news__list {
        
    }
    .l-news .p-news__list li {
        padding-bottom: 4.8vw;
        border-bottom: 0.267vw dashed #8FC31F;
    }
    .l-news .p-news__list li::after {
        top: auto;
        bottom: 4.8vw;
        right: 0;
        width: 6.4vw;
        height: 5.867vw;
    }
    .l-news .p-news__list li:not(:first-of-type) {
        padding-top: 6.933vw;
    }
    .l-news .p-news__list .p-news__day {
        font-size: 3.733vw;
    }
    .l-news .p-news__list .p-news__type {
        margin-left: 4vw;
        width: 32vw;
        height: 4.8vw;
        border: 0.267vw solid #478C28;
        font-size: 3.2vw;
    }
    .l-news .p-news__list .p-news__text {
        margin-top: 3.2vw;
        font-size: 3.733vw;
    }
    .l-news .p-news__all {
        display: block;
        position: relative;
        display: flex;
        align-items: center;
        margin-top: 9.067vw;
        margin-left: auto;
        padding-right: 9.6vw;
        width: 30vw;
        font-size: 3.733vw;
        line-height: 1.357;
        font-weight: 600;
        font-family: var(--f-noto);
    }
    .l-news .p-news__all::after {
        content: "";
        position: absolute;
        right: 0;
        width: 5.333vw;
        height: 5.333vw;
        background-image: url(/assets/img/common/btn_all--01.svg);
        background-repeat: no-repeat;
        background-size: contain;
    }
}



/* -----------------------------------------
　company.html
------------------------------------------*/
.l-company {
    padding: 72px 0 132px;
}
.p-company_table_st {
    margin-top: 68px;
} 
.p-company_table_nd,
.p-company_table_rd,
.p-company_table_th {
    margin-top: 50px;
}
.l-other {
    margin-top: 50px;
}
.l-other .p-other__text {
    font-size: 14px;
    line-height: 1.714;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.l-other .p-other__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    gap: 9px;
}
.l-other .p-other__list li {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 227px;
    height: 48px;
    border: 1px solid var(--gray);
    border: none;
    box-sizing: border-box;
}
@media screen and (min-width: 591px) and (max-width: 800px) {
    .l-company {
        padding: 9vw 0 16.5vw;
    }
    .p-company_table_st {
        margin-top: 8.5vw;
    } 
    .p-company_table_nd,
    .p-company_table_rd,
    .p-company_table_th {
        margin-top: 6.25vw;
    }
    .l-other {
        margin-top: 6.25vw;
    }
    .l-other .p-other__text {
        font-size: 1.75vw;
    }
    .l-other .p-other__list {
        margin-top: 2vw;
        gap: 1.125vw;
    }
    .l-other .p-other__list li {
        width: 28.375vw;
        height: 6vw;
        /* border: 0.125vw solid var(--gray); */
    }
}
@media screen and (max-width: 590px) {
    .l-company {
        padding: 10.133vw 0 12.8vw;
    }
    .p-company_table_st {
        margin-top: 10.667vw;
    } 
    .p-company_table_nd {
        margin-top: 21.333vw;
    }
    .p-company_table_rd,
    .p-company_table_th {
        margin-top: 12.8vw;
    }
    .l-other {
        margin-top: 5.333vw;
    }
    .l-other .p-other__text {
        font-size: 3.733vw;
    }
    .l-other .p-other__list {
        justify-content: normal;
        flex-wrap: wrap;
        margin-top: 8.533vw;
        gap: 3.2vw 2.133vw;
    }
    .l-other .p-other__list li {
        /* width: 60.533vw;
        height: 9.6vw;
        border: 0.267vw solid var(--gray); */
        width: auto;
        height: auto;
    }
    .l-other .p-other__list li a {
        /* height: 100%; */
    }
    .l-other .p-other__list li img {
        display: block;
        margin: 0 auto;
        /* height: 100%; */
    }
    /* .l-other .p-other__list li:first-of-type {
        width: 35.2vw;
    }
    .l-other .p-other__list li:nth-of-type(2) {
        width: 48.8vw;
    }
    .l-other .p-other__list li:last-of-type {
        width: 63.467vw;
    } */
}



.p-table__head {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding-left: 20px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}
.p-table__head::before {
    content: "";
    position: absolute;
    left: 0;
    width: 10px;
    height: 42px;
}
.p-company_table_nd .p-table__head::before {
    background: #DE040A;
}
.p-company_table_rd .p-table__head::before {
    background: #57A520;
}
.p-company_table_th .p-table__head::before {
    background: #FCA518;
}
.p-table {
    width: 100%;
    table-layout: fixed
}
.p-table__body {
    width: 100%;
    margin-bottom: -2px;
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
}
.p-table__body:first-child {
    border-top: 2px solid var(--black);
}
.p-table__tr {
    display: flex;
    border-bottom: 1px solid var(--black);
}
.p-table__tt {
    width: 12%;
    max-width: 84px;
    flex-shrink: 0;
    padding: 14px 0 14px 10px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    font-weight: 700;
    background: var(--lightgray);
}
.p-table__td {
    width: 100%;
    padding: 14px 10px 14px 28px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.p-table__td p {
    font-size: 16px;
    line-height: 1.688;
    letter-spacing: 0.08em;
    font-weight: 400;
    font-family: var(--f-noto);
}
.p-table__td p a {
    position: relative;
    width: fit-content;
    padding-right: 16px;
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #258E05;
    text-decoration: underline;
}
.p-table__td p a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 8px;
    background-image: url(/assets/img/common/icon_blank--01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.p-table__link {
    margin-top: 14px;
}
.p-table__btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding-left: 17px;
    width: 125px;
    height: 30px;
    border-radius: 15px;
    border: 1px solid var(--green);
    font-size: 13px;
    line-height: 1.231;
    letter-spacing: 0.025em;
    font-weight: 700;
    font-family: var(--century);
}
.p-table__btn a:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    width: 11px;
    height: 15px;
    background-image: url(/assets/img/common/btn_ping--01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.p-table__td .p-table__tel {
    font-size: 16px;
    line-height: 1.688;
    letter-spacing: 0.08em;
    font-weight: 400;
    font-family: var(--f-noto);
    color: var(--black);
    text-decoration: none;
    cursor: pointer;
}
.p-table__td .p-table__tel::after {
    content: none;
}
@media screen and (min-width: 591px) and (max-width: 800px) {
    .p-table__head {
        margin-bottom: 2.5vw;
        padding-left: 2.5vw;
        font-size: 2.5vw;
    }
    .p-table__head::before {
        width: 1.25vw;
        height: 5.25vw;
    }
    .p-table__body {
        width: 100%;
        margin-bottom: -0.25vw;
        border-top: 0.125vw solid var(--black);
        border-bottom: 0.125vw solid var(--black);
    }
    .p-table__body:first-child {
        border-top: 0.25vw solid var(--black);
    }
    .p-table__tr {
        border-bottom: 0.125vw solid var(--black);
    }
    .p-table__tt {
        width: 12%;
        max-width: 84px;
        padding: 1.75vw 0 1.75vw 1.25vw;
        font-size: 2vw;
    }
    .p-table__td {
        width: 100%;
        padding: 1.75vw 1.25vw 1.75vw 3.5vw;
        font-size: 2vw;
    }
    .p-table__td p {
        font-size: 2vw;
    }
    .p-table__td p a {
        padding-right: 2vw;
        font-size: 2vw;
    }
    .p-table__td p a::after {
        width: 1.5vw;
        height: 1vw;
    }
    .p-table__link {
        margin-top: 1.75vw;
    }
    .p-table__btn a {
        padding-left: 2.125vw;
        width: 15.625vw;
        height: 3.75vw;
        border-radius: 1.875vw;
        border: 0.125vw solid var(--green);
        font-size: 1.625vw;
    }
    .p-table__btn a:after {
        width: 1.375vw;
        height: 1.875vw;
    }
    .p-table__td .p-table__tel {
        font-size: 2vw;
    }
    .p-table__td .p-table__tel::after {
        content: none;
    }
}
@media screen and (max-width: 590px) {
    .p-table__head {
        margin-bottom: 5.333vw;
        padding-left: 5.333vw;
        font-size: 5.333vw;
    }
    .p-table__head::before {
        width: 2.667vw;
        height: 11.2vw;
    }
    .p-table__body {
        width: 100%;
        margin-bottom: -0.533vw;
        border-top: 0.267vw solid var(--black);
        border-bottom: 0.267vw solid var(--black);
    }
    .p-table__body:first-child {
        border-top: 0.533vw solid var(--black);
    }
    .p-table__tr {
        border-bottom: 0.267vw solid var(--black);
    }
    .p-table__tt {
        width: 22%;
        max-width: none;
        flex-shrink: 0;
        padding: 3.733vw 0 3.733vw 2.667vw;
        font-size: 4.267vw;
    }
    .p-table__td {
        width: 100%;
        padding: 3.733vw 2.667vw 3.733vw 5.667vw;
        font-size: 4.267vw;
    }
    .p-table__td p {
        font-size: 4.267vw;
    }
    .p-table__td p a {
        /* padding-right: 4.267vw; */
        padding-right: 5.333vw;
        /* font-size: 4.267vw; */
        font-size: 3.733vw;
    }
    .p-table__td p a::after {
        /* width: 3.2vw;
        height: 2.133vw; */
        width: 4.267vw;
        height: 3.733vw;
    }
    .p-table__link {
        margin-top: 3.733vw;
    }
    .p-table__btn {
        margin-top: 2.667vw;
    }
    .p-table__btn a {
        margin-left: 0;
        padding-left: 4.533vw;
        width: 33.333vw;
        height: 8vw;
        border-radius: 4vw;
        border: 0.267vw solid var(--green);
        font-size: 3.467vw;
    }
    .p-table__btn a:after {
        width: 2.933vw;
        height: 4vw;
    }
    .p-table__td .p-table__tel {
        font-size: 4.267vw;
    }
    .p-table__td .p-table__tel::after {
        content: none;
    }
}
/* @media screen and (max-width: 590px) {
    .p-table__head {
        margin-bottom: 3.39vw;
        padding-left: 3.39vw;
        font-size: 3.39vw;
    }
    .p-table__head::before {
        width: 1.695vw;
        height: 7.119vw;
    }
    .p-table__body {
        margin-bottom: -0.339vw;
        border-top: 0.169vw solid var(--black);
        border-bottom: 0.169vw solid var(--black);
    }
    .p-table__body:first-child {
        border-top: 0.339vw solid var(--black);
    }
    .p-table__tr {
        border-bottom: 0.169vw solid var(--black);
    }
    .p-table__tt {
        width: 12%;
        max-width: none;
        padding: 2.373vw 0 2.373vw 1.695vw;
        font-size: 2.712vw;
    }
    .p-table__td {
        padding: 2.373vw 1.695vw 2.373vw 28px;
        font-size: 2.712vw;
    }
    .p-table__td p {
        font-size: 2.712vw;
    }
    .p-table__td p a {
        padding-right: 2.712vw;
        font-size: 2.712vw;
    }
    .p-table__td p a::after {
        width: 2.033vw;
        height: 1.356vw;
    }
    .p-table__link {
        margin-top: 2.373vw;
    }
    .p-table__btn a {
        margin-left: 0;
        padding-left: 2.81vw;
        width: 21.186vw;
        height: 5.085vw;
        border-radius: 2.542vw;
        border: 0.169vw solid var(--green);
        font-size: 2.203vw;
    }
    .p-table__btn a:after {
        width: 1.864vw;
        height: 2.542vw;
    }
} */

/* -----------------------------------------
　contact.html
------------------------------------------*/
.l-contact {
    padding: 72px 0 132px;
}
.p-contact--wrap {
    margin-top: 68px;
} 
.l-contact .p-table__tt {
    width: 100%;
    max-width: none;
    flex-shrink: 1;
    padding: 18px 0 18px 10px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: normal;
    font-weight: 700;
    background: transparent;
}
.l-contact .p-table__td {
    width: 100%;
    padding: 24px 48px 24px 10px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.l-contact .p-table__td p a {
    padding-right: 0;
    padding-left: 22px;
}
.l-contact .p-table__td p a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 18px;
    height: 14px;
    background-image: url(/assets/img/common/icon_mail--01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.l-contact .p-table__td p a::after {
    content: none;
}
.l-contact .p-table__td p .pdf::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 18px;
    height: 14px;
    background-image: url(/assets/img/common/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 591px) and (max-width: 800px) {
    .l-contact {
        padding: 9vw 0 16.5vw;
    }
    .p-contact--wrap {
        margin-top: 8.5vw;
    } 
    .l-contact .p-table__tt {
        padding: 2.25vw 0 2.25vw 1.25vw;
        font-size: 2vw;
    }
    .l-contact .p-table__td {
        padding: 3vw 6vw 3vw 1.25vw;
        font-size: 2vw;
    }
    .l-contact .p-table__td p a {
        padding-left: 2.75vw;
    }
    .l-contact .p-table__td p a::before {
        width: 2.25vw;
        height: 1.75vw;
    }
    .l-contact .p-table__td p .pdf::before {
        width: 2.25vw;
        height: 1.75vw;
    }
}
@media screen and (max-width: 590px) {
    .l-contact {
        padding: 10.133vw 0 12.8vw;
    }
    .p-contact--wrap {
        margin-top: 10.667vw;
    } 
    .l-contact .p-table__tt {
        padding: 4.8vw 0 4.8vw 2.667vw;
        font-size: 4.267vw;
    }
    .l-contact .p-table__td {
        padding: 6.4vw 2.667vw 6.4vw 2.667vw;
        font-size: 4.267vw;
    }
    .l-contact .p-table__td p a {
        margin-top: 2.667vw;
        padding-left: 5.867vw;
    }
    .l-contact .p-table__td p a::before {
        width: 4.8vw;
        height: 3.733vw;
    }
    .l-contact .p-table__td p .pdf::before {
        width: 4.8vw;
        height: 3.733vw;
    }
}

/* -----------------------------------------
　recruit.html
------------------------------------------*/
.l-recruit {
    padding: 72px 0 132px;
}
.p-recruit--wrap {
    margin-top: 68px;
}
.l-recruit .p-table__body:first-child {
    border-top: 2px solid var(--black);
} 
.l-recruit .p-table__tt {
    width: 100%;
    max-width: none;
    flex-shrink: 1;
    padding: 18px 0 18px 10px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: normal;
    font-weight: 700;
    background: transparent;
}
.l-recruit .p-table__td {
    width: 100%;
    padding: 24px 48px 24px 10px;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.l-recruit .p-table__td p a {
    padding-right: 0;
    padding-left: 0;
}
.l-recruit .p-table__td p a::before {
    content: none;
}
.l-recruit .p-table__td p a::after {
    content: none;
}
@media screen and (min-width: 591px) and (max-width: 800px) {
    .l-recruit {
        padding: 9vw 0 16.5vw;
    }
    .p-recruit--wrap {
        margin-top: 8.5vw;
    }
    .l-recruit .p-table__body:first-child {
        border-top: 0.125vw solid var(--black);
    } 
    .l-recruit .p-table__tt {
        padding: 2.25vw 0 2.25vw 1.25vw;
        font-size: 2vw;
    }
    .l-recruit .p-table__td {
        padding: 3vw 6vw 3vw 1.25vw;
        font-size: 2vw;
    }
}
@media screen and (max-width: 590px) {
    .l-recruit {
        padding: 10.133vw 0 12.8vw;
    }
    .p-recruit--wrap {
        margin-top: 10.667vw;
    }
    .l-recruit .p-table__tt {
        padding: 4.8vw 0 4.8vw 2.667vw;
        font-size: 4.267vw;
    }
    .l-recruit .p-table__td {
        padding: 6.4vw 2.667vw 6.4vw 2.667vw;
        font-size: 4.267vw;
    } 
    .l-recruit .p-table__td a {
        margin-top: 2.667vw;
    } 
}


/* -----------------------------------------
　404.html
------------------------------------------*/
.l-notfound{
    padding: 80px 0 125px;
}

.c-section__head .p-section__title{
    padding-bottom: 30px;
}

.c-section__head .p-section__title::after{
    display: none;
}

.c-section__head .p-section__subtitle{
    position: relative;
    color: #888;
    font-size: 18px;
    line-height: 1.444;
    font-weight: 400;
    text-align: center;
    padding-bottom: 54px;
}

.c-section__head .p-section__text{
    position: relative;
    font-size: 18px;
    line-height: 1.611;
    font-weight: 700;
    text-align: center;
    padding-bottom: 54px;
}

.p-notfound--wrap{
    position: relative;
}

.p-notfound--wrap::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #de040a 0%, #de040a 25%, #57a520 25%, #57a520 50%, #fca518 50%, #fca518 75%, #1a1311 75%, #1a1311 100%);
}

.p-notfound--wrap .p-notfound--title{
    line-height: 1.625;
    text-align: center;
    padding: 35px 0;
}

.p-notfound--wrap .p-notfound--detail{
    background: #F7F7F7;
    padding: 30px 35px;
    box-sizing: border-box;
}

.p-notfound--wrap .p-notfound--detail li{
    line-height: 1.875;
    list-style-type: disc;
    margin-left: 30px;
}

.p-notfound--wrap .p-notfound--other{
    margin-top: 45px;
}

.p-notfound--wrap .p-notfound--other__text{
    text-align: center;
}

.p-notfound--wrap .p-notfound--other__list{
    margin-top: 25px;
    display: flex;
    gap: 40px;
}

.p-notfound--wrap .p-notfound--other__list li{
    width: 47.5%;
}

.p-notfound--wrap .p-notfound--other__list li a{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100px;
    border: 1px solid #C6C6C6;
    position: relative;
    padding: 28px 35px;
    box-sizing: border-box;
}

.p-notfound--wrap .p-notfound--other__list li a::after{
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: solid 1px #707070;
    border-right: solid 1px #707070;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 7.5%;
    margin-top: -5px;
}

@media screen and (min-width: 800px) and (max-width: 850px) {
    .p-container{
        max-width: 700px;
    }   
}

@media screen and (max-width: 590px) {
    .l-notfound{
        padding: 16.5vw 0 21.3vw;
    }
    
    .c-section__head .p-section__title{
        font-size: 4.8vw;
        padding-bottom: 3.2vw;
    }
    
    .c-section__head .p-section__title::after{
        display: none;
    }
    
    .c-section__head .p-section__subtitle{
        font-size: 3.73vw;
        padding-bottom: 9.6vw;
    }
    
    .c-section__head .p-section__text{
        font-size: 3.73vw;
        line-height: 1.785;
        text-align: left;
        padding-bottom: 10.66vw;
    }
    
    .p-notfound--wrap .p-notfound--title{
        font-size: 3.46vw;
        text-align: left;
        padding: 5.333vw 0 4.533vw;
    }
    
    .p-notfound--wrap .p-notfound--detail{
        padding: 4vw 5.86vw;
    }
    
    .p-notfound--wrap .p-notfound--detail li{
        font-size: 3.46vw;
        margin-left: 4.533vw;
    }
    
    .p-notfound--wrap .p-notfound--other{
        margin-top: 9.33vw;
    }
    
    .p-notfound--wrap .p-notfound--other__text{
        font-size: 3.46vw;
        text-align: left;
    }
    
    .p-notfound--wrap .p-notfound--other__list{
        margin-top: 4.26vw;
        display: flex;
        flex-direction: column;
        gap: 4.26vw;
    }
    
    .p-notfound--wrap .p-notfound--other__list li{
        width: 100%;
    }
    
    .p-notfound--wrap .p-notfound--other__list li a{
        display: flex;
        align-items: center;
        font-size: 3.46vw;
        height: 16vw;
        padding: 5.33vw 5.33vw;
    }
    
    .p-notfound--wrap .p-notfound--other__list li a::after{
        width: 2.66vw;
        height: 2.66vw;
        right: 5.7%;
        margin-top: -1.33vw;
    }
}


/* -----------------------------------------
　policy.html
------------------------------------------*/
.l-policy {
    padding: 72px 0 132px;
}
.p-policy--wrap {
    margin-top: 68px;
}
.p-policy--wrap p {
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.1em;
}
.p-policy--wrap p:not(:last-child) {
    margin-bottom: 1em;
}
.p-policy__content {
    padding-top: 1em;
}
.p-policy__content .p-policy__list {
    padding-top: 4.5em;
}
@media screen and (min-width: 591px) and (max-width: 800px) {
    .l-policy {
        padding: 9vw 0 16.5vw;
    }
    .p-policy--wrap {
        margin-top: 8.5vw;
    }
    .p-policy--wrap p {
        font-size: 2vw;
    }
}
@media screen and (max-width: 590px) {
    .l-policy {
        padding: 10.133vw 0 12.8vw;
    }
    .p-policy--wrap {
        margin-top: 10.667vw;
    }
    .p-policy--wrap p {
        font-size: 3.46vw;
    }
}