@charset "UTF-8";
/*==================================================================================================
	TOP
==================================================================================================*/
#top .mv {
    background-color: #fffff8;
    padding-bottom: 0;
}
#top .mv_content {
    padding: calc(clamp(40px, 6vw, 75px) * 1.5) 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10;
}
#top .mv_content::before {
    content: "";
    position: absolute;
    top: 60%;
    left: 50%;
    translate: -50% -50%;
    width: 90%;
    height: 80%;
    background-color: #ffde59;
    opacity: 1;
    -webkit-mask-image: url(../img/cmn/mark_g.svg);
    mask-image: url(../img/cmn/mark_g.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 0;
}
#top .mv_copy {
    font-size: calc(clamp(3.2rem, 6vw, 6rem) * 1.35);
    line-height: 1.45;
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 5;
}
@media (max-width: 540px) {
    #top .mv_copy {
        font-size: 8.25vw;
    }
}
#top .mv_txt {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.35);
    text-align: center;
    position: relative;
    z-index: 5;
    margin-top: 1.5em;
}
@media (max-width: 840px) {
    #top .mv_txt {
        font-size: clamp(2rem, 3.2vw, 2.4rem);
    }
}
#top .mv_txtanim {
    display: flex;
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 calc(50% - 50vw);
    -webkit-animation: loop-marquee 60s linear infinite;
    animation: loop-marquee 60s linear infinite;
}
#top .mv_txtanim span {
    font-size: calc(clamp(5.6rem, 10vw, 10rem) * 1.75);
    line-height: 1;
    padding-right: 0.5em;
    font-weight: 400;
    color: #ecece4;
    margin-top: -0.75em;
}
@-webkit-keyframes loop-marquee {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}
@keyframes loop-marquee {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}
#top .mv_img {
    margin: calc(clamp(40px, 6vw, 75px) * 0.75) calc(50% - 50vw) 0;
}
#top .mv_img img {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100svh;
    -o-object-position: 75% 50%;
    object-position: 75% 50%;
}
@media (max-width: 840px) {
    #top .mv_img img {
        height: 80svh;
    }
}
#top .news {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    background-color: #fffff8;
    margin-top: calc(min(10vw, 100px) * -1);
    padding-bottom: calc(clamp(40px, 6vw, 75px) * 2 + min(10vw, 100px));
}
#top .news_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#top .news_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#top .news_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
}
#top .news_list {
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.75) min(5%, 75px);
    border-radius: min(5vw, 30px);
}
#top .news_item {
    border-bottom: 1px solid #ECECE4;
}
#top .news_item:first-child {
    border-top: 1px solid #ECECE4;
}
#top .news_link {
    padding: 1.5em calc(min(5%, 75px) * 2 + 1.5em) 1.5em min(5%, 75px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    gap: 0.25em 0;
}
@media (max-width: 540px) {
    #top .news_link {
        padding: 1em calc(min(5%, 75px) * 2 + 1.5em) 1em min(5%, 75px);
    }
}
#top .news_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: min(5%, 75px);
    translate: 0 -50%;
    width: 1.5em;
    height: 1em;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, right 0.5s;
}
#top .news_link:hover::before {
    right: calc(min(5%, 75px) - 0.5em);
    background-color: #EAB308;
}
#top .news_date {
    width: 100px;
    color: #838383;
}
@media (max-width: 840px) {
    #top .news_date {
        width: 100px;
    }
}
#top .news_ttl {
    width: calc(100% - 100px);
    padding-left: 1em;
    line-height: 1.45;
}
@media (max-width: 840px) {
    #top .news_ttl {
        width: 100%;
        padding-left: 0;
    }
}
#top .news_morebtn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fff;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3em auto 0;
}
#top .news_morebtn span {
    line-height: 1.35;
}
#top .news_morebtn .txt {
    display: flex;
    flex-direction: column;
}
#top .news_morebtn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .news_morebtn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .news_morebtn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#top .news_morebtn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#top .news_morebtn:hover .arrow::before {
    left: 65%;
}
#top .services {
    background-color: #ffde59;
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    margin-top: calc(min(10vw, 100px) * -1);
    padding-bottom: calc(clamp(40px, 6vw, 75px) * 2 + min(10vw, 100px));
}
#top .services_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#top .services_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
}
#top .services_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
}
#top .services_btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em 2.5%;
    margin: calc(clamp(40px, 6vw, 75px) * 1.25) auto 0;
}
#top .services_btn {
    width: 48.75%;
    position: relative;
    background-color: #fcfcee;
    padding: calc(clamp(40px, 6vw, 75px) * 0.75) min(5%, 75px);
    border-radius: min(5vw, 50px);
    display: flex;
    flex-direction: column;
    gap: 0 0.75em;
    transition: background-color 0.5s, color 0.5s;
    background-size: cover;
    background-position: left top;
    background-repeat: no-repeat;
}
@media (max-width: 1280px) {
    #top .services_btn {
        width: 100%;
    }
}
@media (max-width: 540px) {
    #top .services_btn {
        padding: calc(clamp(40px, 6vw, 75px) * 1.25) min(5%, 75px);
    }
}
#top .services_btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-bottom: none;
    border-right: none;
    border-radius: min(5vw, 50px) 0 0 0;
    z-index: 10;
}
#top .services_btn::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-top: none;
    border-left: none;
    border-radius: 0 0 min(5vw, 50px) 0;
    z-index: 10;
}
#top .services_btn span {
    line-height: 1.35;
}
#top .services_btn .arrow {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    width: 2.25em;
    height: 1.35em;
    border: 1px solid #303030;
    border-radius: 50px;
    position: relative;
    z-index: 10;
    transition: background-color 0.5s, border 0.5s;
}
#top .services_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 45%;
    height: 45%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#top .services_btn .mask {
    border-radius: min(5vw, 50px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
#top .services_btn .mask::before {
    content: "";
    border-radius: min(5vw, 50px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fcfcee;
    background: linear-gradient(90deg, rgb(252, 252, 238) 20%, rgba(252, 252, 238, 0) 100%);
    z-index: 1;
}
@media (max-width: 540px) {
    #top .services_btn .mask::before {
        background: linear-gradient(90deg, rgb(252, 252, 238) 50%, rgba(252, 252, 238, 0) 100%);
    }
}
#top .services_btn .mask::after {
    content: "";
    border-radius: min(5vw, 50px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.15;
    mix-blend-mode: multiply;
    background-color: #ffde59;
    z-index: 2;
    transition: opacity 0.5s;
}
#top .services_btn:hover .arrow {
    background-color: #ffde59;
    border: 1px solid transparent;
}
#top .services_btn:hover .arrow::before {
    left: 65%;
}
#top .services_btn:hover .mask::after {
    opacity: 0;
}
#top .services_btn:nth-child(1) {
    background-image: url(../img/top/services_01.jpg);
}
#top .services_btn:nth-child(2) {
    background-image: url(../img/top/services_02.jpg);
}
#top .services_ttl {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.35);
    line-height: 1.35;
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
}
#top .services_ttl .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .services_ttl .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .services_txt {
    margin: 1.5em 0;
    position: relative;
    z-index: 10;
}
#top .services_job {
    max-width: 1280px;
    background-color: #fff;
    padding: clamp(40px, 6vw, 75px) min(5%, 75px);
    border-radius: min(5vw, 50px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
    position: relative;
    margin: calc(clamp(40px, 6vw, 75px) * 1) auto 0;
}
#top .services_job::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-bottom: none;
    border-right: none;
    border-radius: min(5vw, 50px) 0 0 0;
    z-index: 10;
}
#top .services_job::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-top: none;
    border-left: none;
    border-radius: 0 0 min(5vw, 50px) 0;
    z-index: 10;
}
#top .services_job .job_content {
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 5%;
    position: relative;
    z-index: 5;
}
@media (max-width: 1280px) {
    #top .services_job .job_content {
        width: 100%;
    }
}
#top .services_job .job_content::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: calc(clamp(40px, 6vw, 75px) * 2);
    height: calc(clamp(40px, 6vw, 75px) * 2);
    background-color: rgba(255, 222, 89, 0.25);
    -webkit-mask-image: url(../img/cmn/mark_g.svg);
    mask-image: url(../img/cmn/mark_g.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#top .services_job .job_ttl {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.35);
    line-height: 1.35;
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
}
#top .services_job .job_ttl .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .services_job .job_ttl .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .services_job .job_copy {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1);
    line-height: 2;
    position: relative;
    z-index: 10;
    margin-top: 1.25em;
    display: block;
}
#top .services_job .job_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 1.5em 1em 1.5em 1.5em;
    border-radius: min(15vw, 100px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.75em;
    flex: 1;
    min-width: 0;
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
}
@media (max-width: 840px) {
    #top .services_job .job_btn {
        padding: 1.25em 1em 1.25em 1.5em;
    }
}
#top .services_job .job_btn span {
    line-height: 1.35;
}
#top .services_job .job_btn .txt {
    display: flex;
    flex-direction: column;
}
#top .services_job .job_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .services_job .job_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .services_job .job_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#top .services_job .job_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#top .services_job .job_btn:hover .arrow::before {
    left: 65%;
}
#top .about {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    margin-top: calc(min(10vw, 100px) * -1);
    padding-bottom: calc(clamp(40px, 6vw, 75px) * 2 + min(10vw, 100px));
    background-image: url(../img/top/about.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media (max-width: 540px) {
    #top .about {
        height: 90svh;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        background-position: 80% 50%;
    }
}
#top .about::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
}
#top .about_inner {
    width: 100%;
}
#top .about_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#top .about_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#top .about_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #fff;
}
#top .about_content {
    display: inline-flex;
    flex-direction: column;
    gap: 0.5em 0;
    margin-top: calc(clamp(40px, 6vw, 75px) * 0.5);
}
#top .about_copy {
    font-size: min(4vw, 4.2rem);
    background-color: #fcfcee;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
    padding: 0.35em 0.5em;
    border-radius: 5px;
}
#top .about_copy:nth-child(3), #top .about_copy:nth-child(4) {
    padding-left: 0;
}
#top .about_morebtn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3em 0 0;
}
#top .about_morebtn span {
    line-height: 1.35;
}
#top .about_morebtn .txt {
    display: flex;
    flex-direction: column;
}
#top .about_morebtn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .about_morebtn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .about_morebtn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#top .about_morebtn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#top .about_morebtn:hover .arrow::before {
    left: 65%;
}
#top .events,
#top .community {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    background-color: #fcfcee;
    padding-bottom: 0;
}
#top .events_inner,
#top .community_inner {
    display: flex;
}
@media (max-width: 1280px) {
    #top .events_inner,
    #top .community_inner {
        flex-direction: column;
        gap: calc(clamp(40px, 6vw, 75px) * 0.75) 0;
    }
}
#top .events_content,
#top .community_content {
    white-space: nowrap;
    flex: 0 0 420px;
}
@media (max-width: 1280px) {
    #top .events_content,
    #top .community_content {
        flex: 0 0 100%;
    }
}
#top .events_secttl,
#top .community_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#top .events_secttl .en,
#top .community_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#top .events_secttl .ja,
#top .community_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
}
#top .events_slide,
#top .community_slide {
    margin-right: calc(50% - 50vw);
    margin-left: 5%;
    padding-top: 60px;
    flex: 1;
}
@media (max-width: 1280px) {
    #top .events_slide,
    #top .community_slide {
        flex: 0 0 100%;
        margin-left: 0;
    }
}
@media (max-width: 540px) {
    #top .events_slide,
    #top .community_slide {
        margin-left: calc(50% - 50vw);
        padding-top: 20px;
        padding-bottom: 35px;
    }
}
#top .events_list,
#top .community_list {
    display: flex;
    width: 100vw;
}
#top .events_item,
#top .community_item {
    width: 25vw;
    margin-right: 1.5%;
}
@media (max-width: 1280px) {
    #top .events_item,
    #top .community_item {
        width: 60vw;
        margin-right: 3.5%;
    }
}
@media (max-width: 540px) {
    #top .events_item,
    #top .community_item {
        width: 80vw;
        margin-right: 2.5%;
        margin-left: 2.5%;
    }
}
#top .events_link:hover .events_eyecatch img,
#top .events_link:hover .community_eyecatch img,
#top .community_link:hover .events_eyecatch img,
#top .community_link:hover .community_eyecatch img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#top .events_link:hover .events_ttl,
#top .events_link:hover .community_ttl,
#top .community_link:hover .events_ttl,
#top .community_link:hover .community_ttl {
    color: #EAB308;
}
#top .events_eyecatch,
#top .community_eyecatch {
    overflow: hidden;
    border-radius: min(5vw, 30px);
}
#top .events_eyecatch img,
#top .community_eyecatch img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9;
    -o-object-position: center;
    object-position: center;
}
#top .events_info,
#top .community_info {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.5em;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
}
#top .events_tax,
#top .community_tax {
    background-color: #fff;
    border: 1px solid #303030;
    padding: 0.15em 1.5em;
    border-radius: 50px;
}
#top .events_date,
#top .community_date {
    color: #838383;
    padding-left: 0.5em;
}
#top .events_ttl,
#top .community_ttl {
    margin-top: 0.5em;
    line-height: 1.45;
    transition: color 0.5s;
}
#top .events_nav,
#top .community_nav {
    position: absolute;
    top: 5px;
    left: 0;
    width: 5.5em;
    height: 1.5em;
}
@media (max-width: 540px) {
    #top .events_nav,
    #top .community_nav {
        top: auto;
        bottom: 0;
        left: 50%;
        translate: -50% 0;
    }
}
#top .events_nav .prev,
#top .events_nav .next,
#top .community_nav .prev,
#top .community_nav .next {
    width: 3em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    margin-top: 0;
}
#top .events_nav .prev::before,
#top .events_nav .next::before,
#top .community_nav .prev::before,
#top .community_nav .next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 100%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    transition: background-color 0.5s;
}
#top .events_nav .prev::after,
#top .events_nav .next::after,
#top .community_nav .prev::after,
#top .community_nav .next::after {
    display: none;
}
#top .events_nav .prev:hover::before,
#top .events_nav .next:hover::before,
#top .community_nav .prev:hover::before,
#top .community_nav .next:hover::before {
    background-color: #EAB308;
}
#top .events_nav .prev,
#top .community_nav .prev {
    left: 0;
}
#top .events_nav .next,
#top .community_nav .next {
    right: 0;
}
#top .events_nav .next::before,
#top .community_nav .next::before {
    translate: -50% -50%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
#top .events_nav .swiper-button-lock,
#top .community_nav .swiper-button-lock {
    display: none !important;
}
#top .events_morebtn,
#top .community_morebtn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fff;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3em 0 0;
}
#top .events_morebtn span,
#top .community_morebtn span {
    line-height: 1.35;
}
#top .events_morebtn .txt,
#top .community_morebtn .txt {
    display: flex;
    flex-direction: column;
}
#top .events_morebtn .txt .en,
#top .community_morebtn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#top .events_morebtn .txt .en::before,
#top .community_morebtn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#top .events_morebtn .arrow,
#top .community_morebtn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#top .events_morebtn .arrow::before,
#top .community_morebtn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#top .events_morebtn:hover .arrow::before,
#top .community_morebtn:hover .arrow::before {
    left: 65%;
}
#top .events {
    margin-top: calc(min(10vw, 100px) * -1);
}
#top .slider {
    padding: calc(clamp(40px, 6vw, 75px) * 2) 0 calc(clamp(40px, 6vw, 75px) * 0.5);
    z-index: 15;
}
#top .slider_content {
    position: relative;
    z-index: 5;
    margin-top: calc(clamp(40px, 6vw, 75px) * -0.5);
}
#top .slider_list {
    transition-timing-function: linear !important;
}
#top .slider_item {
    width: 35vw;
    margin-right: 1.5%;
}
@media (max-width: 840px) {
    #top .slider_item {
        width: 60vw;
        margin-right: 3.5%;
    }
}
@media (max-width: 540px) {
    #top .slider_item {
        width: 80vw;
        margin-right: 5%;
    }
}
#top .slider_item img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9;
    -o-object-position: center;
    object-position: center;
    border-radius: min(5vw, 30px);
}
#top .slider_txtanim {
    display: flex;
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 calc(50% - 50vw);
    -webkit-animation: loop-marquee 90s linear infinite;
    animation: loop-marquee 90s linear infinite;
    position: relative;
    z-index: 0;
}
#top .slider_txtanim span {
    font-size: calc(clamp(5.6rem, 10vw, 10rem) * 1.75);
    line-height: 1;
    padding-right: 0.5em;
    font-weight: 400;
    color: #ecece4;
}
@keyframes loop-marquee {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}
#top .slider_txtanim:nth-child(3) {
    animation: loop-marquee 140s linear infinite reverse;
}

/*==================================================================================================
	お仕事をお探しの方
==================================================================================================*/
#support .about {
    padding-bottom: 0;
}
#support .about_inner {
    background-color: #ffde59;
    padding: clamp(40px, 6vw, 75px) min(5%, 75px);
    border-radius: min(10vw, 100px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
}
#support .about_inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-bottom: none;
    border-right: none;
    border-radius: min(10vw, 100px) 0 0 0;
    z-index: 10;
}
#support .about_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-top: none;
    border-left: none;
    border-radius: 0 0 min(10vw, 100px) 0;
    z-index: 10;
}
#support .about_content {
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 5%;
    position: relative;
    z-index: 5;
}
@media (max-width: 1280px) {
    #support .about_content {
        width: 100%;
    }
}
#support .about_content::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: calc(clamp(40px, 6vw, 75px) * 2);
    height: calc(clamp(40px, 6vw, 75px) * 2);
    background-color: rgba(252, 252, 238, 0.5);
    -webkit-mask-image: url(../img/cmn/mark_g.svg);
    mask-image: url(../img/cmn/mark_g.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#support .about_ttl {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.35);
    line-height: 1.35;
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
}
#support .about_ttl .en {
    font-size: 0.75em;
    color: #d1a007;
    position: relative;
    padding-left: 1.25em;
}
#support .about_ttl .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #d1a007;
}
#support .about_copy {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1);
    line-height: 2;
    position: relative;
    z-index: 10;
    margin-top: 1.25em;
    display: block;
}
#support .about_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 1.5em 1em 1.5em 1.5em;
    border-radius: min(15vw, 100px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.75em;
    flex: 1;
    min-width: 0;
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
}
@media (max-width: 840px) {
    #support .about_btn {
        padding: 1.25em 1em 1.25em 1.5em;
        font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1);
    }
}
#support .about_btn span {
    line-height: 1.35;
}
#support .about_btn .txt {
    display: flex;
    flex-direction: column;
}
#support .about_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#support .about_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#support .about_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#support .about_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#support .about_btn:hover .arrow::before {
    left: 65%;
}
#support .reason_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#support .reason_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#support .reason_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#support .reason_list {
    position: relative;
}
#support .reason_list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 100%;
    border-radius: 0 min(10vw, 100px) min(10vw, 100px) 0;
    background-color: #F1F1DB;
}
#support .reason_item {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
    padding: clamp(40px, 6vw, 75px) 0;
}
#support .reason_item:nth-child(1) {
    padding-bottom: 10vw;
}
#support .reason_item:nth-child(1)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 10vw;
    background-image: url(../img/support/reason_deco_top.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
#support .reason_item:nth-child(1) .reason_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 4/3;
    -o-object-position: center;
    object-position: center;
}
#support .reason_item:nth-child(2) {
    padding: 0 0;
    flex-direction: row-reverse;
}
@media (max-width: 840px) {
    #support .reason_item:nth-child(2) {
        flex-direction: column;
    }
}
#support .reason_item:nth-child(2)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 100%;
    width: 100vw;
    background-color: #fcfcee;
}
@media (max-width: 840px) {
    #support .reason_item:nth-child(2) .reason_img {
        max-width: 600px;
        margin: 0 auto;
    }
}
#support .reason_item:nth-child(3) {
    padding-top: 10vw;
    align-items: center;
}
@media (max-width: 1280px) {
    #support .reason_item:nth-child(3) {
        flex-direction: column;
        align-items: flex-start;
    }
}
#support .reason_item:nth-child(3)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 10vw;
    background-image: url(../img/support/reason_deco_bottom.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
#support .reason_item:nth-child(3) .reason_copys {
    margin-bottom: 0;
}
#support .reason_content {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #support .reason_content {
        width: 100%;
    }
}
#support .reason_copys {
    display: flex;
    flex-direction: column;
    gap: 0.25em 0;
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    margin-bottom: 1em;
    position: relative;
    z-index: 10;
}
#support .reason_copy {
    background-color: #fff;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
    padding: 0.35em 0.5em;
    border-radius: 5px;
}
#support .reason_copy .yellow {
    line-height: inherit;
    color: #EAB308;
}
#support .reason_img {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #support .reason_img {
        width: 100%;
    }
}
#support .reason_unit {
    flex: 1;
}
#support .reason_job {
    margin-top: calc(clamp(40px, 6vw, 75px) * 0.5);
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.5) min(5%, 75px);
    border-radius: min(5vw, 30px);
}
#support .reason_job .job_ttl {
    font-size: 1.25em;
    margin-bottom: 0.5em;
}
#support .reason_job .job_list {
    display: flex;
    flex-direction: column;
}
#support .reason_job .job_item {
    display: flex;
    flex-wrap: wrap;
}
#support .reason_job .job_item:first-child .job_term {
    border-top: 1px solid #EAB308;
}
@media (max-width: 540px) {
    #support .reason_job .job_item:first-child .job_term {
        border-color: #ECECE4;
    }
}
#support .reason_job .job_item:first-child .job_desc {
    border-top: 1px solid #ECECE4;
}
@media (max-width: 540px) {
    #support .reason_job .job_item:first-child .job_desc {
        border-top: none;
    }
}
#support .reason_job .job_item:nth-child(1) .job_term::before {
    background-image: url(../img/support/icon_job_01.svg);
}
#support .reason_job .job_item:nth-child(2) .job_term::before {
    background-image: url(../img/support/icon_job_02.svg);
}
#support .reason_job .job_item:nth-child(3) .job_term::before {
    background-image: url(../img/support/icon_job_03.svg);
}
#support .reason_job .job_item:nth-child(4) .job_term::before {
    background-image: url(../img/support/icon_job_04.svg);
}
#support .reason_job .job_term {
    flex: 0 0 180px;
    border-bottom: 1px solid #EAB308;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    padding: 0.35em 1em 0.35em 0;
}
@media (max-width: 540px) {
    #support .reason_job .job_term {
        flex: 0 0 auto;
        width: 100%;
        border-bottom: none;
        padding: 0.5em 0 0;
    }
}
#support .reason_job .job_term::before {
    content: "";
    width: 1.25em;
    height: 1.25em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#support .reason_job .job_desc {
    flex: 1;
    min-width: 0;
    border-bottom: 1px solid #ECECE4;
    padding: 0.35em 0 0.35em 1em;
}
@media (max-width: 540px) {
    #support .reason_job .job_desc {
        flex: 0 0 auto;
        width: 100%;
        padding: 0 0 0.5em;
    }
}
#support .services {
    padding-top: 0;
}
#support .services_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#support .services_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#support .services_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#support .services_nav {
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.5) min(5%, 75px);
    border-radius: min(5vw, 30px);
    border: 1px solid #303030;
    margin-bottom: clamp(40px, 6vw, 75px);
}
#support .services_nav .nav_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 7.5%;
}
@media (max-width: 840px) {
    #support .services_nav .nav_list {
        max-width: 460px;
        margin: 0 auto;
    }
}
#support .services_nav .nav_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5em 0;
    width: 14%;
    position: relative;
}
@media (max-width: 840px) {
    #support .services_nav .nav_item {
        width: 28.3333333333%;
    }
}
#support .services_nav .nav_item:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -42.5%;
    translate: 0 -50%;
    width: 30%;
    height: clamp(40px, 6vw, 75px);
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
@media (max-width: 840px) {
    #support .services_nav .nav_item:not(:first-child)::before {
        width: 20%;
        left: -23.5%;
    }
}
#support .services_nav .nav_num {
    width: clamp(40px, 6vw, 75px);
}
#support .services_nav .nav_ttl {
    font-size: min(1.6vw, 1.15em);
}
@media (max-width: 840px) {
    #support .services_nav .nav_ttl {
        font-size: min(2vw, 1.15em);
    }
}
@media (max-width: 540px) {
    #support .services_nav .nav_ttl {
        font-size: 3vw;
    }
}
#support .services_list {
    display: flex;
    flex-direction: column;
    gap: calc(clamp(40px, 6vw, 75px) * 0.35) 0;
}
@media (max-width: 840px) {
    #support .services_list {
        gap: calc(clamp(40px, 6vw, 75px) * 1.25) 0;
    }
}
#support .services_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
}
@media (max-width: 840px) {
    #support .services_item {
        flex-direction: column-reverse;
    }
}
#support .services_item:last-child .services_num::before {
    height: 120%;
}
#support .services_img {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #support .services_img {
        width: 100%;
    }
}
#support .services_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 4/3;
    -o-object-position: center;
    object-position: center;
}
#support .services_content {
    width: 47.5%;
    display: flex;
    margin-bottom: clamp(40px, 6vw, 75px);
}
@media (max-width: 840px) {
    #support .services_content {
        width: 100%;
        margin-bottom: 0;
    }
}
#support .services_num {
    flex: 0 0 clamp(40px, 6vw, 75px);
    position: relative;
}
#support .services_num img {
    position: relative;
    z-index: 10;
}
#support .services_num::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 2px;
    height: 150%;
    background-color: #ffde59;
    z-index: 5;
}
#support .services_unit {
    flex: 1;
    min-width: 0;
    padding-left: 5%;
}
@media (max-width: 840px) {
    #support .services_unit {
        padding-left: 2.5%;
    }
}
#support .services_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin-top: 3em;
    margin-bottom: 1em;
}
@media (max-width: 840px) {
    #support .services_ttl {
        margin-top: 2em;
    }
}
#support .services_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1.75em 0 0;
}
#support .services_btn span {
    line-height: 1.35;
}
#support .services_btn .txt {
    display: flex;
    flex-direction: column;
}
#support .services_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#support .services_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#support .services_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#support .services_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#support .services_btn:hover .arrow::before {
    left: 65%;
}

/*==================================================================================================
	人材をお探しの方
==================================================================================================*/
#human .about {
    padding-bottom: 0;
}
#human .about_inner {
    background-color: #ffde59;
    padding: clamp(40px, 6vw, 75px) min(5%, 75px);
    border-radius: min(10vw, 100px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
}
#human .about_inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-bottom: none;
    border-right: none;
    border-radius: min(10vw, 100px) 0 0 0;
    z-index: 10;
}
#human .about_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(clamp(40px, 6vw, 75px) * 1.5);
    height: calc(clamp(40px, 6vw, 75px) * 1.5);
    border: 2px solid #303030;
    border-top: none;
    border-left: none;
    border-radius: 0 0 min(10vw, 100px) 0;
    z-index: 10;
}
#human .about_content {
    width: 47.5%;
    padding-left: 5%;
    position: relative;
}
@media (max-width: 1280px) {
    #human .about_content {
        width: 100%;
    }
}
#human .about_content::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: calc(clamp(40px, 6vw, 75px) * 2);
    height: calc(clamp(40px, 6vw, 75px) * 2);
    background-color: rgba(255, 255, 248, 0.5);
    -webkit-mask-image: url(../img/cmn/mark_g.svg);
    mask-image: url(../img/cmn/mark_g.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#human .about_copy {
    font-size: calc(clamp(2.8rem, 4vw, 4.2rem) * 0.75);
    line-height: 2;
    position: relative;
    z-index: 10;
}
#human .about_txt {
    position: relative;
    z-index: 10;
    margin-top: 1.5em;
}
#human .about_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 1.5em 1em 1.5em 1.5em;
    border-radius: min(15vw, 100px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.75em;
    width: 47.5%;
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
}
@media (max-width: 1280px) {
    #human .about_btn {
        width: 100%;
    }
}
@media (max-width: 840px) {
    #human .about_btn {
        padding: 1.25em 1em 1.25em 1.5em;
        font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1);
    }
}
#human .about_btn span {
    line-height: 1.35;
}
#human .about_btn .txt {
    display: flex;
    flex-direction: column;
}
#human .about_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#human .about_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#human .about_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#human .about_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#human .about_btn:hover .arrow::before {
    left: 65%;
}
#human .reason_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#human .reason_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#human .reason_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#human .reason_list {
    position: relative;
}
#human .reason_list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 100%;
    border-radius: 0 min(10vw, 100px) min(10vw, 100px) 0;
    background-color: #F1F1DB;
}
#human .reason_item {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
    padding: clamp(40px, 6vw, 75px) 0;
}
#human .reason_item:nth-child(1) {
    padding-bottom: 10vw;
}
#human .reason_item:nth-child(1)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 10vw;
    background-image: url(../img/support/reason_deco_top.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
#human .reason_item:nth-child(2) {
    padding: 0 0;
    flex-direction: row-reverse;
}
@media (max-width: 840px) {
    #human .reason_item:nth-child(2) {
        flex-direction: column;
    }
}
#human .reason_item:nth-child(2)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 100%;
    width: 100vw;
    background-color: #fcfcee;
}
@media (max-width: 840px) {
    #human .reason_item:nth-child(2) .reason_img {
        max-width: 100%;
    }
}
#human .reason_item:nth-child(2) .reason_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 4/3;
    -o-object-position: center;
    object-position: center;
}
#human .reason_item:nth-child(3) {
    padding-top: 10vw;
    align-items: center;
}
#human .reason_item:nth-child(3)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 10vw;
    background-image: url(../img/support/reason_deco_bottom.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
#human .reason_content {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #human .reason_content {
        width: 100%;
    }
}
#human .reason_num {
    font-size: calc(clamp(2.8rem, 4vw, 4.2rem) * 0.8);
    line-height: 1.45;
    color: #EAB308;
    display: block;
    margin-bottom: 0.5em;
}
#human .reason_copys {
    display: flex;
    flex-direction: column;
    gap: 0.25em 0;
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    margin-bottom: 1em;
    position: relative;
    z-index: 10;
}
#human .reason_copy {
    background-color: #fff;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1;
    padding: 0.35em 0.5em;
    border-radius: 5px;
}
#human .reason_copy .yellow {
    line-height: inherit;
    color: #EAB308;
}
#human .reason_img {
    width: 47.5%;
    position: relative;
    z-index: 10;
}
@media (max-width: 840px) {
    #human .reason_img {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
}
#human .education {
    padding-top: 0;
}
#human .education_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#human .education_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#human .education_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#human .education_copy {
    font-size: calc(clamp(2.8rem, 4vw, 4.2rem) * 0.75);
    line-height: 1.45;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2em auto 0;
    display: block;
}
#human .education_list {
    display: flex;
    flex-direction: column;
    gap: calc(clamp(40px, 6vw, 75px) * 0.35) 0;
    margin: calc(clamp(40px, 6vw, 75px) * 0.5) auto;
    max-width: 840px;
}
#human .education_item {
    background-color: #fff;
    padding: 1.5em min(5%, 75px);
    border-radius: min(5vw, 10px);
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.35) 0;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ECECE4;
}
@media (max-width: 540px) {
    #human .education_item {
        flex-direction: column;
        align-items: flex-start;
    }
}
#human .education_label {
    background-color: #ffde59;
    font-size: 1.15em;
    flex: 0 0 150px;
    padding: 0.15em 1em;
    border-radius: 50px;
    text-align: center;
}
@media (max-width: 540px) {
    #human .education_label {
        flex: 0 0 100%;
        width: 150px;
    }
}
#human .education_content {
    flex: 1;
    min-width: 0;
    padding-left: 5%;
}
@media (max-width: 540px) {
    #human .education_content {
        flex: 0 0 100%;
        padding-left: 0;
        width: 100%;
    }
}
#human .education_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin-bottom: 0.5em;
}
#human .education_remarks {
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
#human .education_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2.5em auto 0;
}
#human .education_btn span {
    line-height: 1.35;
}
#human .education_btn .txt {
    display: flex;
    flex-direction: column;
}
#human .education_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#human .education_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#human .education_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#human .education_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#human .education_btn:hover .arrow::before {
    left: 65%;
}
#human .structure {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
}
#human .structure_inner {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(40px, 6vw, 75px) 5%;
}
#human .structure_img {
    width: 45%;
}
@media (max-width: 840px) {
    #human .structure_img {
        width: 100%;
    }
}
#human .structure_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 4/3;
    -o-object-position: center;
    object-position: center;
}
#human .structure_content {
    width: 50%;
}
@media (max-width: 840px) {
    #human .structure_content {
        width: 100%;
    }
}
#human .structure_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin-bottom: 1em;
    position: relative;
    padding-left: 2em;
}
#human .structure_ttl::before {
    content: "";
    position: absolute;
    top: 0.8em;
    translate: 0 -50%;
    left: 0.5em;
    width: 1em;
    height: 1em;
    background-image: url(../img/cmn/icon_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#human .structure_txt .bold {
    font-weight: 700;
}
#human .structure_btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 1em;
    margin-top: clamp(40px, 6vw, 75px);
}
#human .structure_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fcfcee;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#human .structure_btn span {
    line-height: 1.35;
}
#human .structure_btn .txt {
    display: flex;
    flex-direction: column;
}
#human .structure_btn .txt .en {
    font-size: 0.75em;
    color: #EAB308;
    position: relative;
    padding-left: 1.25em;
}
#human .structure_btn .txt .en::before {
    content: "";
    position: absolute;
    top: 52.5%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1px;
    background-color: #EAB308;
}
#human .structure_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#human .structure_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#human .structure_btn:hover .arrow::before {
    left: 65%;
}

/*==================================================================================================
	ジャンルについて
==================================================================================================*/
#company .message {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    margin-top: calc(min(10vw, 100px) * -1);
}
#company .message_inner {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(40px, 6vw, 75px) 5%;
}
@media (max-width: 840px) {
    #company .message_inner {
        flex-direction: column-reverse;
    }
}
#company .message_img {
    width: 47.5%;
}
@media (max-width: 840px) {
    #company .message_img {
        width: 100%;
    }
}
#company .message_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 3.25/4;
    -o-object-position: 100% 50%;
    object-position: 100% 50%;
}
@media (max-width: 840px) {
    #company .message_img img {
        aspect-ratio: 4/3;
    }
}
#company .message_content {
    width: 47.5%;
}
@media (max-width: 840px) {
    #company .message_content {
        width: 100%;
    }
}
#company .message_secttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#company .message_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#company .message_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: left;
    color: #303030;
}
#company .message_name {
    display: block;
    margin-top: 2em;
    text-align: right;
}
#company .staff {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    margin-top: calc(min(10vw, 100px) * -1);
    background-color: #fcfcee;
}
#company .staff_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#company .staff_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#company .staff_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#company .staff_list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
}
#company .staff_item {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 3.5%;
    background-color: #fff;
    border-radius: min(5vw, 10px);
    padding: min(5vw, 2em) min(5vw, 2em);
    border: 1px solid #ECECE4;
}
@media (max-width: 840px) {
    #company .staff_item {
        flex-direction: column;
    }
}
#company .staff_item:nth-child(odd) {
    flex-direction: row-reverse;
}
@media (max-width: 840px) {
    #company .staff_item:nth-child(odd) {
        flex-direction: column;
    }
}
#company .staff_item:not(:has(.staff_img)) {
    gap: 0 0;
}
#company .staff_item:not(:has(.staff_img)) .staff_content {
    width: 100%;
}
#company .staff_img {
    width: 20%;
}
@media (max-width: 840px) {
    #company .staff_img {
        width: 100%;
        max-width: 400px;
    }
}
#company .staff_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1/1;
    -o-object-position: center;
    object-position: center;
}
#company .staff_content {
    width: 76.5%;
}
@media (max-width: 840px) {
    #company .staff_content {
        width: 100%;
    }
}
#company .staff_name {
    font-size: 1.15em;
    line-height: 1.45;
    margin-bottom: 0.5em;
    display: block;
}
#company .staff_txt {
    background-color: #FFF1BA;
    padding: 1em 1em;
    border-radius: min(5vw, 10px);
}
#company .company {
    border-radius: min(10vw, 100px) min(10vw, 100px) 0 0;
    margin-top: calc(min(10vw, 100px) * -1);
    background-color: #fff;
}
#company .company_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#company .company_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#company .company_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#company .company_content {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
}
#company .company_list {
    width: 47.5%;
}
@media (max-width: 840px) {
    #company .company_list {
        width: 100%;
    }
}
#company .company_item {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.5em;
    border-bottom: 1px solid #ECECE4;
}
#company .company_item:first-child {
    border-top: 1px solid #ECECE4;
}
#company .company_term {
    flex: 0 0 160px;
    padding: 1em 0;
}
@media (max-width: 540px) {
    #company .company_term {
        flex: 0 0 auto;
        width: 100%;
        padding-bottom: 0;
    }
}
#company .company_desc {
    flex: 1;
    min-width: 0;
    padding: 1em 0;
}
@media (max-width: 540px) {
    #company .company_desc {
        flex: 0 0 auto;
        width: 100%;
        padding-top: 0;
    }
}
#company .company_map {
    width: 47.5%;
}
@media (max-width: 840px) {
    #company .company_map {
        width: 100%;
    }
}
#company .company_map iframe {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media (max-width: 840px) {
    #company .company_map iframe {
        aspect-ratio: 4/3;
    }
}

/*==================================================================================================
	求人一覧
==================================================================================================*/
#job .joblisting_secttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(clamp(40px, 6vw, 75px) * 0.5);
    position: relative;
    z-index: 5;
}
#job .joblisting_secttl .en {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    color: #EAB308;
}
#job .joblisting_secttl .ja {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.35;
    text-align: center;
    color: #303030;
}
#job .joblisting_txt {
    font-size: 1.15em;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
@media (max-width: 540px) {
    #job .joblisting_txt {
        text-align: left;
    }
}
#job .search {
    padding-top: 0;
}
#job .search_inner {
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.75) min(5%, 75px);
    border-radius: min(5vw, 30px);
    border: 1px solid #ECECE4;
}
#job .search_form {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 2em 0;
}
#job .search_ttl {
    font-size: 1.15em;
    line-height: 1.45;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    color: #EAB308;
    text-align: center;
    border-bottom: 1px solid #ECECE4;
}
#job .search_checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.5em 0;
}
@media (max-width: 840px) {
    #job .search_checkbox {
        flex-direction: column;
    }
}
#job .search_checkbox .checkbox_all {
    flex: 0 0 160px;
}
@media (max-width: 840px) {
    #job .search_checkbox .checkbox_all {
        flex: 0 0 auto;
        width: 100%;
    }
}
#job .search_checkbox .checkbox_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.25em;
    flex: 1;
    min-width: 0;
}
@media (max-width: 840px) {
    #job .search_checkbox .checkbox_list {
        flex: 0 0 auto;
        width: 100%;
    }
}
#job .search_checkbox .checkbox_item, #job .search_checkbox .checkbox_all {
    position: relative;
    display: flex;
}
#job .search_checkbox .checkbox_item input[type=checkbox], #job .search_checkbox .checkbox_all input[type=checkbox] {
    width: 0;
    visibility: hidden;
}
#job .search_checkbox .checkbox_item input[type=checkbox]:checked + label::after, #job .search_checkbox .checkbox_all input[type=checkbox]:checked + label::after {
    opacity: 1;
    scale: 1;
}
#job .search_checkbox .checkbox_item label, #job .search_checkbox .checkbox_all label {
    position: relative;
    cursor: pointer;
    padding: 0 1em 0 1.75em;
}
#job .search_checkbox .checkbox_item label::before, #job .search_checkbox .checkbox_all label::before {
    border: 0.15em solid #ddd;
    border-radius: 5px;
    content: "";
    display: block;
    height: 0.85em;
    width: 0.85em;
    left: 0;
    position: absolute;
    top: 50%;
    translate: 0 -45%;
}
#job .search_checkbox .checkbox_item label::after, #job .search_checkbox .checkbox_all label::after {
    border-right: 3px solid #303030;
    border-bottom: 3px solid #303030;
    content: "";
    display: block;
    height: 0.75em;
    width: 0.45em;
    position: absolute;
    top: 50%;
    left: 0.35em;
    translate: 0 -75%;
    opacity: 0;
    rotate: 45deg;
    scale: 0.7;
    opacity: 0;
    transition: 0.35s scale, 0.5s opacity;
}
#job .search_btn {
    width: 240px;
    max-width: 100%;
    border: none;
    background-color: #ffde59;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    padding: 0.25em 1.5em 0.25em 1.5em;
    border-radius: 50px;
    margin: 1.5em auto 0;
    position: relative;
}
#job .search_btn::after {
    font-family: "icomoon";
    content: "\f0142";
    position: absolute;
    transition: all 0.5s;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-size: 0.8em;
}
#job .search_btn:hover::after {
    right: 0.5em;
}
#job .archive#archive {
    scroll-margin-top: calc(clamp(40px, 6vw, 75px) * 1.5);
}
#job .archive_list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 5%;
}
#job .archive_item {
    width: 47.5%;
}
@media (max-width: 540px) {
    #job .archive_item {
        width: 100%;
    }
}
#job .archive_ttl {
    background-color: #ffde59;
    padding: 0.75em min(5%, 75px);
    border-radius: min(5vw, 10px) min(5vw, 10px) 0 0;
    font-size: 1.15em;
    line-height: 1.45;
    text-align: center;
    font-weight: 700;
}
#job .archive_content {
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.5) min(5%, 75px);
    border-radius: 0 0 min(5vw, 10px) min(5vw, 10px);
}
#job .archive_img img {
    border-radius: min(5vw, 10px);
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 4/3;
    -o-object-position: center;
    object-position: center;
}
#job .archive_info {
    margin-top: calc(clamp(40px, 6vw, 75px) * 0.35);
    min-height: 185px;
}
@media (max-width: 540px) {
    #job .archive_info {
        min-height: auto;
    }
}
#job .archive_info .info_item {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.5em;
    border-bottom: 1px solid #ECECE4;
}
#job .archive_info .info_item:first-child {
    border-top: 1px solid #ECECE4;
}
#job .archive_info .info_ttl {
    flex: 0 0 100px;
    padding: 0.5em 0;
}
#job .archive_info .info_txt {
    flex: 1;
    min-width: 0;
    padding: 0.5em 0;
}
#job .archive_btn {
    width: 200px;
    max-width: 100%;
    border: none;
    background-color: #ffde59;
    padding: 0.25em 1.5em 0.25em 1.5em;
    border-radius: 50px;
    margin: 1.5em auto 0;
    position: relative;
    text-align: center;
}
#job .archive_btn::after {
    font-family: "icomoon";
    content: "\f0142";
    position: absolute;
    transition: all 0.5s;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-size: 0.8em;
}
#job .archive_btn:hover::after {
    right: 0.5em;
}

/*==================================================================================================
	労使協定
==================================================================================================*/
#agreement .document {
    padding-bottom: calc(clamp(40px, 6vw, 75px) * 1.5);
}
#agreement .document_content {
    background-color: #fff;
    border-radius: min(5vw, 30px);
    margin: calc(clamp(40px, 6vw, 75px) * 0.35) 0;
}
#agreement .document_headttl {
    font-size: 1.15em;
    line-height: 1.45;
    position: relative;
    padding: calc(clamp(40px, 6vw, 75px) * 0.5) min(5%, 75px) calc(clamp(40px, 6vw, 75px) * 0.5) calc(min(5%, 75px) + 1.5em);
    border-radius: min(5vw, 30px);
    transition: box-shadow 0.5s;
    cursor: pointer;
}
#agreement .document_headttl::before {
    content: "";
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: min(5%, 75px);
    width: 1em;
    height: 1em;
    background-image: url(../img/cmn/icon_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#agreement .document_headttl .toggle {
    position: absolute;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    top: 50%;
    right: min(5%, 75px);
    translate: 0 -50%;
    width: 0.85em;
    height: 0.85em;
}
#agreement .document_headttl .toggle::before, #agreement .document_headttl .toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 1px;
    opacity: 1;
    background-color: #303030;
    transition: 0.5s background-color, 0.5s rotate, 0.5s opacity;
}
#agreement .document_headttl .toggle::after {
    rotate: 90deg;
}
#agreement .document_headttl.-close .toggle::before, #agreement .document_headttl.-close .toggle::after {
    background-color: #EAB308;
}
#agreement .document_headttl.-close .toggle::before {
    rotate: 90deg;
    opacity: 0;
}
#agreement .document_headttl.-close .toggle::after {
    rotate: 180deg;
}
#agreement .document_headttl:hover {
    box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.05);
}
#agreement .document_headttl:hover .toggle::before, #agreement .document_headttl:hover .toggle::after {
    background-color: #EAB308;
}
#agreement .document_headttl:hover.-close {
    box-shadow: none;
}
#agreement .document_unit {
    display: none;
    padding: 0 calc(clamp(40px, 6vw, 75px) * 0.5) min(5%, 75px);
}
#agreement .document_item {
    border-bottom: 1px solid #ECECE4;
}
#agreement .document_item:first-child {
    border-top: 1px solid #ECECE4;
}
#agreement .document_link {
    padding: 1.5em calc(min(5%, 75px) * 2 + 1.5em) 1.5em min(5%, 75px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    gap: 0.25em 0;
}
@media (max-width: 540px) {
    #agreement .document_link {
        padding: 1em calc(min(5%, 75px) * 2 + 1.5em) 1em min(5%, 75px);
    }
}
#agreement .document_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: min(5%, 75px);
    translate: 0 -50%;
    width: 1em;
    height: 1em;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/icon_link.svg);
    mask-image: url(../img/cmn/icon_link.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, top 0.5s, right 0.5s;
}
#agreement .document_link:hover::before {
    top: calc(50% - 0.25em);
    right: calc(min(5%, 75px) - 0.25em);
    background-color: #EAB308;
}
#agreement .document_date {
    flex: 0 0 100px;
    color: #838383;
}
@media (max-width: 840px) {
    #agreement .document_date {
        flex: 0 0 auto;
        width: 100%;
    }
}
#agreement .document_ttl {
    flex: 1;
    padding-left: 1em;
    line-height: 1.45;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
}
@media (max-width: 840px) {
    #agreement .document_ttl {
        flex: 0 0 auto;
        width: 100%;
        padding-left: 0;
    }
}
#agreement .document_ttl::before {
    flex: 0 0 1em;
    content: "";
    height: 1em;
    translate: 0 0.1em;
    background-image: url(../img/cmn/icon_pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#agreement .document_note {
    display: block;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    margin-top: 1.5em;
}
#agreement .document_remarks {
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
}
#agreement .logout {
    padding-top: 0;
}
#agreement .logout_btn {
    width: 200px;
    max-width: 100%;
    border: none;
    background-color: #303030;
    color: #fff;
    padding: 0.25em 1.5em 0.25em 1.5em;
    border-radius: 50px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    display: block;
}
#agreement .logout_btn::after {
    font-family: "icomoon";
    content: "\f0142";
    position: absolute;
    transition: all 0.5s;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-size: 0.8em;
}
#agreement .logout_btn:hover::after {
    right: 0.5em;
}
#agreement .pass {
    background-color: #ffde59;
    padding-top: calc(clamp(40px, 6vw, 75px) * 2 + 100px);
}
@media screen and (max-width: 940px) {
    #agreement .pass {
        padding-top: calc(clamp(40px, 6vw, 75px) * 2 + 50px);
    }
}
#agreement .pass_inner {
    background-color: #fcfcee;
    padding: calc(clamp(40px, 6vw, 75px) * 0.75) min(5%, 75px);
    border-radius: min(5vw, 30px);
}
#agreement .pass_secttl {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
    text-align: center;
    line-height: 1.45;
    margin-bottom: 0.5em;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em 0;
}
#agreement .pass_secttl::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background-image: url(../img/cmn/icon_lock.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#agreement .pass_txt {
    text-align: center;
}
#agreement .pass_warning {
    color: #c80000;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    text-align: center;
    margin-top: 0.5em;
}
#agreement .pass_form {
    margin: calc(clamp(40px, 6vw, 75px) * 0.35) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#agreement .pass_form .form_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em 0;
}
#agreement .pass_form .form_item .input {
    padding: 0.5em;
    border-radius: 5px;
    border: 0.15em solid #ECECE4;
    border-radius: min(5vw, 10px);
    outline: none;
    width: 250px;
    max-width: 100%;
}
#agreement .pass_form .form_btn {
    width: 200px;
    max-width: 100%;
    border: none;
    background-color: #303030;
    color: #fff;
    padding: 0.25em 1.5em 0.25em 1.5em;
    border-radius: 50px;
    margin: 1.5em auto 0;
    position: relative;
    text-align: center;
}
#agreement .pass_form .form_btn::after {
    font-family: "icomoon";
    content: "\f0142";
    position: absolute;
    transition: all 0.5s;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-size: 0.8em;
}
#agreement .pass_form .form_btn:hover::after {
    right: 0.5em;
}
#agreement .pass_note {
    display: block;
    text-align: center;
}

/*==================================================================================================
	働き方改革関連法
==================================================================================================*/
#information .document_secttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin-bottom: 1em;
    position: relative;
}
#information .document_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(clamp(40px, 6vw, 75px) * 0.5) 2.5%;
    margin: calc(clamp(40px, 6vw, 75px) * 0.5) 0;
}
#information .document_item {
    width: 31.6666666667%;
}
@media (max-width: 1280px) {
    #information .document_item {
        width: 48.75%;
    }
}
@media (max-width: 840px) {
    #information .document_item {
        width: 100%;
    }
}
#information .document_ttl {
    font-size: 1.15em;
    line-height: 1.45;
    margin-bottom: 1em;
    position: relative;
    padding-left: 2em;
}
#information .document_ttl::before {
    content: "";
    position: absolute;
    top: 0.8em;
    translate: 0 -50%;
    left: 0.5em;
    width: 1em;
    height: 1em;
    background-image: url(../img/cmn/icon_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#information .document_pdf .pdf_list {
    background-color: #fff;
    padding: 1.5em min(5%, 75px);
    border-radius: min(5vw, 30px);
}
#information .document_pdf .pdf_item {
    border-bottom: 1px solid #ECECE4;
}
#information .document_pdf .pdf_item:first-child {
    border-top: 1px solid #ECECE4;
}
#information .document_pdf .pdf_link {
    padding: 1em calc(min(5%, 75px) * 2 + 1.5em) 1em min(5%, 75px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    gap: 0.25em 0;
}
#information .document_pdf .pdf_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: min(5%, 75px);
    translate: 0 -50%;
    width: 1em;
    height: 1em;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/icon_link.svg);
    mask-image: url(../img/cmn/icon_link.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, top 0.5s, right 0.5s;
}
#information .document_pdf .pdf_link:hover::before {
    top: calc(50% - 0.25em);
    right: calc(min(5%, 75px) - 0.25em);
    background-color: #EAB308;
}
#information .document_pdf .pdf_date {
    flex: 0 0 100px;
    color: #838383;
}
#information .document_pdf .pdf_ttl {
    flex: 1;
    padding-left: 1em;
    line-height: 1.45;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
}
@media (max-width: 840px) {
    #information .document_pdf .pdf_ttl {
        width: 100%;
        padding-left: 0;
    }
}
#information .document_pdf .pdf_ttl::before {
    flex: 0 0 1em;
    content: "";
    width: 1em;
    height: 1em;
    translate: 0 0.1em;
    background-image: url(../img/cmn/icon_pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#information .document_note {
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
}

/*==================================================================================================
	お知らせ
==================================================================================================*/
#news .archive_list {
    background-color: #fff;
    padding: calc(clamp(40px, 6vw, 75px) * 0.75) min(5%, 75px);
    border-radius: min(5vw, 30px);
}
#news .archive_item {
    border-bottom: 1px solid #ECECE4;
}
#news .archive_item:first-child {
    border-top: 1px solid #ECECE4;
}
#news .archive_link {
    padding: 1.5em calc(min(5%, 75px) * 2 + 1.5em) 1.5em min(5%, 75px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    gap: 0.25em 0;
}
@media (max-width: 540px) {
    #news .archive_link {
        padding: 1em calc(min(5%, 75px) * 2 + 1.5em) 1em min(5%, 75px);
    }
}
#news .archive_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: min(5%, 75px);
    translate: 0 -50%;
    width: 1.5em;
    height: 1em;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, right 0.5s;
}
#news .archive_link:hover::before {
    right: calc(min(5%, 75px) - 0.5em);
    background-color: #EAB308;
}
#news .archive_date {
    width: 100px;
    color: #838383;
}
@media (max-width: 840px) {
    #news .archive_date {
        width: 100px;
    }
}
#news .archive_ttl {
    width: calc(100% - 100px);
    padding-left: 1em;
    line-height: 1.45;
}
@media (max-width: 840px) {
    #news .archive_ttl {
        width: 100%;
        padding-left: 0;
    }
}
#news .article_date {
    color: #838383;
}
#news .article_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    border-bottom: 1px solid #ECECE4;
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
}
#news .article_content img {
    margin: 1em 0.5em;
    border-radius: min(5vw, 10px);
    width: auto;
}

/*==================================================================================================
	企画・イベント/地域貢献活動
==================================================================================================*/
#events .archive_list,
#community .archive_list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(clamp(40px, 6vw, 75px) * 0.75) 3.5%;
}
#events .archive_item,
#community .archive_item {
    width: 31%;
}
@media (max-width: 840px) {
    #events .archive_item,
    #community .archive_item {
        width: 48.25%;
    }
}
@media (max-width: 540px) {
    #events .archive_item,
    #community .archive_item {
        width: 100%;
    }
}
#events .archive_link:hover .archive_eyecatch img,
#community .archive_link:hover .archive_eyecatch img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
#events .archive_link:hover .archive_ttl,
#community .archive_link:hover .archive_ttl {
    color: #EAB308;
}
#events .archive_eyecatch,
#community .archive_eyecatch {
    overflow: hidden;
    border-radius: min(5vw, 30px);
}
#events .archive_eyecatch img,
#community .archive_eyecatch img {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9;
    -o-object-position: center;
    object-position: center;
}
#events .archive_info,
#community .archive_info {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.5em;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
}
#events .archive_tax,
#community .archive_tax {
    background-color: #fff;
    border: 1px solid #303030;
    padding: 0.15em 1.5em;
    border-radius: 50px;
}
#events .archive_date,
#community .archive_date {
    color: #838383;
    padding-left: 0.5em;
}
#events .archive_ttl,
#community .archive_ttl {
    margin-top: 0.5em;
    line-height: 1.45;
    transition: color 0.5s;
}
#events .article_info,
#community .article_info {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 0.5em;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
}
#events .article_tax,
#community .article_tax {
    background-color: #fff;
    border: 1px solid #303030;
    padding: 0.15em 1.5em;
    border-radius: 50px;
}
#events .article_date,
#community .article_date {
    color: #838383;
    padding-left: 0.5em;
}
#events .article_ttl,
#community .article_ttl {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    border-bottom: 1px solid #ECECE4;
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
}
#events .article_content img,
#community .article_content img {
    margin: 1em 0.5em;
    border-radius: min(5vw, 10px);
    width: auto;
}

/*==================================================================================================
	お問い合わせ
==================================================================================================*/
.mailphp p {
    margin: 1em 0;
}
.mailphp .mailphp-header-inner,
.mailphp .mailphp-main-inner,
.mailphp .mailphp-footer-inner {
    max-width: 500px;
    margin: 0 auto;
    padding: 0 1em;
}
.mailphp .mailphp-header {
    text-align: center;
}
.mailphp .mailphp-header-title {
    display: inline-block;
    margin: 1.5em 0 1em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid;
    font-size: 1.5em;
}
.mailphp .confirm-items,
.mailphp .error-items {
    margin: 1.5em 0;
}
.mailphp .confirm-item,
.mailphp .error-item {
    display: flex;
    margin-bottom: 1px;
}
.mailphp .confirm-item-label, .mailphp .confirm-item-body,
.mailphp .error-item-label,
.mailphp .error-item-body {
    padding: 1em;
}
.mailphp .confirm-item-label,
.mailphp .error-item-label {
    background-color: #eee;
    width: 8em;
}
.mailphp .confirm-item-body,
.mailphp .error-item-body {
    flex: 1;
}
.mailphp .error-item-label {
    background-color: #b12e2e;
    color: #fff;
}
.mailphp .error-item-body {
    color: #d00;
}
.mailphp .mailphp-main {
    flex-grow: 1;
    margin: 3em 0;
}
.mailphp .mailphp-footer {
    margin: 3em 0;
}
.mailphp .confirm-btns {
    display: flex;
    align-items: center;
    justify-content: center;
}
.mailphp .confirm-btn {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    background-color: transparent;
    margin: 0 1em;
    border: none;
    border-radius: 0;
    font-family: inherit;
    font-size: 1.25em;
    text-decoration: none;
    cursor: pointer;
}
.mailphp .confirm-btn::-webkit-search-decoration {
    display: none;
}
.mailphp .confirm-btn:focus {
    outline-offset: -2px;
}
.mailphp .confirm-btn-submit {
    padding: 0.75em 3em;
    background-image: linear-gradient(#fff, #eee);
    border: 1px solid #eee;
    border-bottom: 1px solid #bbb;
    border-radius: 4px;
    color: #444;
}
.mailphp .confirm-btn-submit:hover {
    background-image: linear-gradient(#fff, #fafafa);
}

/*==================================================================================================
	プライバシーポリシー
==================================================================================================*/
#privacypolicy .sec_list {
    margin-top: 2.5em;
    display: flex;
    flex-direction: column;
    gap: 2.5em 0;
}
#privacypolicy .sec_item:nth-child(1) .sec_ttl::before {
    content: "1.";
}
#privacypolicy .sec_item:nth-child(2) .sec_ttl::before {
    content: "2.";
}
#privacypolicy .sec_item:nth-child(3) .sec_ttl::before {
    content: "3.";
}
#privacypolicy .sec_item:nth-child(4) .sec_ttl::before {
    content: "4.";
}
#privacypolicy .sec_item:nth-child(5) .sec_ttl::before {
    content: "5.";
}
#privacypolicy .sec_item:nth-child(6) .sec_ttl::before {
    content: "6.";
}
#privacypolicy .sec_item:nth-child(7) .sec_ttl::before {
    content: "7.";
}
#privacypolicy .sec_ttl {
    margin-left: 1.5em;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.45;
    margin-bottom: 0.5em;
    position: relative;
}
#privacypolicy .sec_ttl::before {
    position: absolute;
    top: 0;
    left: -1.5em;
}
#privacypolicy .sec_sub .sub_item {
    position: relative;
    padding-left: 1em;
}
#privacypolicy .sec_sub .sub_item::before {
    content: "";
    position: absolute;
    top: 1em;
    translate: 0 -50%;
    left: 0;
    width: 0.35em;
    height: 0.35em;
    background-color: #ffde59;
    border-radius: 50px;
}

/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec,
#thanks .sec {
    padding: calc(clamp(40px, 6vw, 75px) * 2 + 100px) 5% calc(clamp(40px, 6vw, 75px) * 2 + min(10vw, 100px));
}
@media screen and (max-width: 940px) {
    #error .sec,
    #thanks .sec {
        padding-top: calc(clamp(40px, 6vw, 75px) * 2 + 50px);
    }
}
#error .sec_ttl,
#thanks .sec_ttl {
    font-size: calc(clamp(2rem, 3.2vw, 2.4rem) * 1.25);
    margin-bottom: 1em;
    line-height: 1.45;
    text-align: center;
}
#error .sec_txt,
#thanks .sec_txt {
    text-align: center;
}
#error .sec_btn,
#thanks .sec_btn {
    position: relative;
    border: 1px solid #303030;
    background-color: #fff;
    padding: 0.75em 1em 0.75em 1.5em;
    border-radius: min(10vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3em auto 0;
}
#error .sec_btn span,
#thanks .sec_btn span {
    line-height: 1.35;
}
#error .sec_btn .arrow,
#thanks .sec_btn .arrow {
    width: 2.5em;
    height: 1.5em;
    background-color: #ffde59;
    border-radius: 30px;
    position: relative;
    transition: background-color 0.5s, border 0.5s;
}
#error .sec_btn .arrow::before,
#thanks .sec_btn .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 50%;
    height: 50%;
    background-color: #303030;
    -webkit-mask-image: url(../img/cmn/arrow.svg);
    mask-image: url(../img/cmn/arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    z-index: 10;
    transition: background-color 0.5s, left 0.5s;
}
#error .sec_btn:hover .arrow::before,
#thanks .sec_btn:hover .arrow::before {
    left: 65%;
}