@charset "utf-8";
@import "anime.css";

/*
------------
home.css
------------
*/

/* kv_area */
#kv_area {
    width: 100%;
    height: auto;
    aspect-ratio: 1920 / 816;
    position: relative;
}
#kv_area .inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
}
#kv_area .inner video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media only screen and (max-width: 768px) {
    #kv_area {
        width: 100%;
        aspect-ratio: 960 / 1280;
    }
}
/* nobunaga_area */
#nobunaga_area {
    width: 100%;
    max-height: 932px;
    aspect-ratio: 1440 / 932;
    overflow: hidden;
    background-color: #7D0000;
    padding: min(calc(100vw * 145 / 1440), 145px) 0 min(calc(100vw * 45 / 1440), 45px) 0;
    position: relative;
}
#nobunaga_area::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../../images/content/home/nobunaga_radiation.webp);
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
#nobunaga_area::after {
    content: "";
    width: min(calc(100vw * 1500 / 1440), 1500px);
    height: auto;
    aspect-ratio: 3000 / 1862;
    background-image: url(../../images/content/home/nobunagaBg.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    right: calc(min(calc(100vw * 360 / 1440), 360px) * -1);
    z-index: 2;
    transition: right .3s ease;
}
#nobunaga_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
    z-index: 3;
}
#nobunaga_area .inner figure.catch {
    width: min(calc(100vw * 600 / 1440), 600px);
}
#nobunaga_area .inner .element {
    margin: min(calc(100vw * 44 / 1440), 44px) 0 0 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: min(calc(100vw * 77 / 1440), 77px);
}
#nobunaga_area .inner .element h2 {
    width: min(calc(100vw * 372 / 1440), 372px);
}
#nobunaga_area .inner .element ul {
    display: flex;
    justify-content: space-between;
    gap: min(calc(100vw * 25 / 1440), 25px);
}
#nobunaga_area .inner .element ul li {
    width: min(calc(100vw * 200 / 1440), 200px);
}
@media only screen and (min-width: 1660px) {
    #nobunaga_area::after {
        right: calc(min(calc(100vw * 260 / 1440), 260px) * -1);
    }
}
@media only screen and (min-width: 2000px) {
    #nobunaga_area::after {
        right: calc(min(calc(100vw * 120 / 1440), 120px) * -1);
    }
}
@media only screen and (max-width: 768px) {
    #nobunaga_area {
        max-height: auto;
        aspect-ratio: auto;
        padding: min(calc(100vw * 259 / 375), 259px) 0 var(--s65) 0;
    }
    #nobunaga_area::after {
        width: 100%;
        aspect-ratio: 750 / 944;
        background-image: url(../../images/content/home/nobunagaBgSP.webp);
        right: 0;
        transition: none;
    }
    #nobunaga_area .inner {
        width: 85vw;
    }
    #nobunaga_area .inner figure.catch {
        width: 100%;
    }
    #nobunaga_area .inner .element {
        margin: 54px 0 0 0;
        display: block;
    }
    #nobunaga_area .inner .element h2 {
        width: 253px;
    }
    #nobunaga_area .inner .element ul {
        display: block;
        margin: 25px 0 0 0;
    }
    #nobunaga_area .inner .element ul li:not(:first-child) {
        margin: 10px 0 0 0;
    }
    #nobunaga_area .inner .element ul li:nth-child(1) {
        width: 160px;
    }
    #nobunaga_area .inner .element ul li:nth-child(2) {
        width: 270px;
    }
    #nobunaga_area .inner .element ul li:nth-child(3) {
        width: 320px;
    }
}
/* container_box */
.container_box .heading span.sub {
    display: inline-block;
    font-size: var(--fs30);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--white);
    background-color: var(--keycolor);
    padding: min(calc(100vw * 4 / 1440), 4px);
}
.container_box .heading h2 {
    font-size: var(--fs42);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin: min(calc(100vw * 15 / 1440), 15px) 0 0 0;
}
@media only screen and (max-width: 768px) {
    .container_box .heading span.sub {
        font-size: var(--fs20);
        padding: min(calc(100vw * 4 / 375), 4px);
    }
    .container_box .heading h2 {
        font-size: var(--fs26);
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
        text-align: justify;
    }
}
/* interview_area */
#interview_area {
    margin: min(calc(100vw * 165 / 1440), 165px) 0 0 0;
    position: relative;
}
#interview_area::before {
    content: "";
    width: calc(100vw * 1120 / 1440);
    height: auto;
    max-height: 564px;
    aspect-ratio: 1120 / 564;
    background-color: var(--pink);
    border-radius: 0 min(calc(100vw * 30 / 1440), 30px) min(calc(100vw * 30 / 1440), 30px) 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#interview_area span.en {
    display: inline-block;
    width: min(calc(100vw * 678 / 1440), 678px);
    position: absolute;
    top: calc(min(calc(100vw * 44 / 1440), 44px) * -1);
    left: 0;
}
#interview_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: min(calc(100vw * 135 / 1440), 135px) 0 0 0;
}
#interview_area .inner .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#interview_area .inner .list article {
    width: min(calc(100vw * 300 / 1440), 300px);
}
#interview_area .inner .list article button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: relative;
}
#interview_area .inner .list article button::before {
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: var(--keycolor);
    border-radius: 50%;
    border: 1px solid var(--white);
    position: absolute;
    bottom: 0;
    left: 0;
}
#interview_area .inner .list article button span.plus {
    width: min(calc(100vw * 77 / 1440), 77px);
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: var(--keycolor);
    border: 2px solid var(--white);
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: background-color .3s ease, border-color .3s ease;
}
#interview_area .inner .list article button span.plus::before,
#interview_area .inner .list article button span.plus::after {
    content: "";
    width: min(calc(100vw * 32 / 1440), 32px);
    height: auto;
    aspect-ratio: 32 / 4;
    background-color: var(--white);
    position: absolute;
    transition: background-color .3s ease;
}
#interview_area .inner .list article button span.plus::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#interview_area .inner .list article button span.plus::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
}
#interview_area .inner .list article button figure {
    position: relative;
    overflow: hidden;
}
#interview_area .inner .list article button figure img {
    display: block;
    width: 100%;
    transition: opacity .3s ease;
}
#interview_area .inner .list article button figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--hover-img);
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: opacity .3s ease;
}
#interview_area .inner .list article button:hover figure img {
    opacity: 0;
}
#interview_area .inner .list article button:hover figure::after {
    opacity: 1;
}
#interview_area .inner .list article button:hover span.plus {
    background-color: var(--white);
    border-color: var(--keycolor);
}
#interview_area .inner .list article button:hover span.plus::before,
#interview_area .inner .list article button:hover span.plus::after {
    background-color: var(--keycolor);
}
#interview_area .inner .list article ul {
    margin: min(calc(100vw * 35 / 1440), 35px) 0 0 0;
    text-align: center;
}
#interview_area .inner .list article ul li:nth-child(1) {
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.15em;
}
#interview_area .inner .list article ul li:nth-child(2) {
    margin: min(calc(100vw * 10 / 1440), 10px) 0 0 0;
    font-size: var(--fs16);
    letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
    #interview_area {
        margin: min(calc(100vw * 85 / 375), 85px) 0 0 0;
    }
    #interview_area::before {
        width: calc(100vw * 320 / 375);
        max-height: auto;
        aspect-ratio: 320 / 350;
        border-radius: 0 min(calc(100vw * 14 / 375), 30px) min(calc(100vw * 14 / 375), 30px) 0;
    }
    #interview_area span.en {
        width: min(calc(100vw * 260 / 375), 260px);
        top: calc(min(calc(100vw * 15 / 375), 15px) * -1);
    }
    #interview_area .inner {
        width: 100vw;
        padding: min(calc(100vw * 65 / 375), 65px) 0 0 0;
    }
    #interview_area .inner .heading {
        width: 85vw;
        margin: 0 auto;
    }
    #interview_area .inner .list {
        display: block;
        padding: 0;
    }
    #interview_area .inner .list .slick-track {
        margin: 0 0 0 10vw;
    }
    #interview_area .inner .list article {
        width: min(calc(100vw * 260 / 375), 260px);
    }
    #interview_area .inner .list article:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 30 / 375), 30px);
    }
    #interview_area .inner .list article button span.plus {
        width: min(calc(100vw * 60 / 375), 60px);
        transition: none;
    }
    #interview_area .inner .list article button span.plus::before,
    #interview_area .inner .list article button span.plus::after {
        width: min(calc(100vw * 26 / 375), 26px);
        transition: none;
    }
    #interview_area .inner .list article button figure img {
        transition: none;
    }
    #interview_area .inner .list article button figure::after {
        content: none;
    }
    #interview_area .inner .list article button:hover figure img {
        opacity: 1;
    }
    #interview_area .inner .list article button:hover span.plus {
        background-color: var(--keycolor);
        border-color: var(--white);
    }
    #interview_area .inner .list article button:hover span.plus::before,
    #interview_area .inner .list article button:hover span.plus::after {
        background-color: var(--white);
    }
    #interview_area .inner .list article ul {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    #interview_area .inner .list article ul li:nth-child(2) {
        margin: min(calc(100vw * 10 / 100vw * 25 / 375), 10px) 0 0 0;
    }
}
/* interview_modal */
.interview_modal {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    background-color: var(--white);
    z-index: 100000;
    transform: translateY(100%);
    visibility: hidden;
    transition:
        transform .75s cubic-bezier(0.16, 1, 0.3, 1),
        visibility 0s linear 0.5s;
}
.interview_modal.is-active {
    transform: translateY(0);
    visibility: visible;
    transition:
        transform .75s cubic-bezier(0.16, 1, 0.3, 1),
        visibility 0s;
}
.interview_modal .inner {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: var(--s125) 0;
}
.interview_modal .inner .modal_content {
    width: var(--w1100);
    margin: 0 auto;
}
.interview_modal .inner .modal_content .heading {
    position: relative;
    background-color: var(--keycolor);
    border-radius: min(calc(100vw * 20 / 1440), 20px);
    padding: min(calc(100vw * 120 / 1440), 120px);
}
.interview_modal#interview02 .inner .modal_content .heading {
    padding: min(calc(100vw * 120 / 1440), 120px) 0 min(calc(100vw * 120 / 1440), 120px) min(calc(100vw * 534 / 1440), 534px);
}
.interview_modal .inner .modal_content .heading h2 {
    font-size: var(--fs28);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: var(--white);
}
.interview_modal .inner .modal_content .heading ul {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min(calc(100vw * 20 / 1440), 20px);
    color: var(--white);
}
.interview_modal .inner .modal_content .heading ul li:nth-child(1) {
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.1em;
}
.interview_modal .inner .modal_content .heading ul li:nth-child(2) {
    font-size: var(--fs16);
    letter-spacing: 0.1em;
}
.interview_modal .inner .modal_content .heading::before {
    content: "";
    height: auto;
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    bottom: 0;
}
.interview_modal#interview01 .inner .modal_content .heading::before {
    background-image: url(../../images/content/home/interview_main01.webp);
    width: min(calc(100vw * 544 / 1440), 544px);
    aspect-ratio: 1088 / 820;
    right: 0;
}
.interview_modal#interview02 .inner .modal_content .heading::before {
    background-image: url(../../images/content/home/interview_main02.webp);
    width: min(calc(100vw * 465 / 1440), 465px);
    aspect-ratio: 930 / 860;
    left: 0;
}
.interview_modal#interview03 .inner .modal_content .heading::before {
    background-image: url(../../images/content/home/interview_main03.webp);
    width: min(calc(100vw * 531 / 1440), 531px);
    aspect-ratio: 1062 / 894;
    right: 0;
}
.interview_modal .inner .modal_content .element {
    margin: min(calc(100vw * 65 / 1440), 65px) 0 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.interview_modal .inner .modal_content .element figure {
    width: min(calc(100vw * 350 / 1440), 350px);
    border-radius: min(calc(100vw * 20 / 1440), 20px);
    overflow: hidden;
}
.interview_modal .inner .modal_content .element .item {
    width: min(calc(100vw * 670 / 1440), 670px);
}
.interview_modal .inner .modal_content .element .item article:not(:first-child) {
    margin: min(calc(100vw * 60 / 1440), 60px) 0 0 0;
    padding: min(calc(100vw * 60 / 1440), 60px) 0 0 0;
    border-top: 1px solid rgba(230, 0, 18, .1);
}
.interview_modal .inner .modal_content .element .item article h3 {
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.1em;
}
.interview_modal .inner .modal_content .element .item article p {
    margin: min(calc(100vw * 35 / 1440), 35px) 0 0 0;
    font-size: var(--fs16);
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
}
.interview_modal .inner .modal_content .element .item article h3,
.interview_modal .inner .modal_content .element .item article p {
    position: relative;
    padding: 0 0 0 min(calc(100vw * 60 / 1440), 60px);
}
.interview_modal .inner .modal_content .element .item article h3::before,
.interview_modal .inner .modal_content .element .item article p::before {
    content: "";
    height: auto;
    background-repeat: no-repeat;
    background-size: 100% auto;
    font-weight: 500;
    position: absolute;
    top: calc(min(calc(100vw * 5 / 1440), 5px) * -1);
}
.interview_modal .inner .modal_content .element .item article h3::before {
    background-image: url(../../images/global/ico_q.webp);
    width: min(calc(100vw * 30 / 1440), 30px);
    aspect-ratio: 60 / 85;
    left: 0;
}
.interview_modal .inner .modal_content .element .item article p::before {
    background-image: url(../../images/global/ico_a.webp);
    width: min(calc(100vw * 35.5 / 1440), 35.5px);
    aspect-ratio: 71 / 76;
    left: calc(min(calc(100vw * 3 / 1440), 3px) * -1);
}
.interview_modal .inner .modal_close {
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: fixed;
    top: min(calc(100vw * 40 / 1440), 40px);
    right: min(calc(100vw * 40 / 1440), 40px);
    width: min(calc(100vw * 55 / 1440), 55px);
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: var(--keycolor);
    border: 1px solid var(--keycolor);
    border-radius: min(calc(100vw * 4 / 1440), 4px);
    z-index: 10;
    transition: background-color .3s ease;
}
.interview_modal .inner .modal_close::before,
.interview_modal .inner .modal_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(calc(100vw * 25 / 1440), 25px);
    height: min(calc(100vw * 3 / 1440), 3px);
    background-color: var(--white);
    transition: background-color .3s ease;
}
.interview_modal .inner .modal_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.interview_modal .inner .modal_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.interview_modal .inner .modal_close:hover {
    background-color: var(--white);
}
.interview_modal .inner .modal_close:hover::before,
.interview_modal .inner .modal_close:hover::after {
    background-color: var(--keycolor);
}
@media only screen and (max-width: 768px) {
    .interview_modal .inner {
        padding: var(--s65) 0;
    }
    .interview_modal .inner .modal_content {
        width: 85vw;
    }
    .interview_modal .inner .modal_content .heading {
        border-radius: min(calc(100vw * 14 / 375), 14px);
        padding: min(calc(100vw * 25 / 375), 25px) min(calc(100vw * 25 / 375), 25px) min(calc(100vw * 125 / 375), 125px) min(calc(100vw * 25 / 375), 25px);
    }
    .interview_modal#interview02 .inner .modal_content .heading {
        padding: min(calc(100vw * 25 / 375), 25px) min(calc(100vw * 25 / 375), 25px) min(calc(100vw * 125 / 375), 125px) min(calc(100vw * 25 / 375), 25px);
    }
    .interview_modal .inner .modal_content .heading h2 {
        font-size: var(--fs20);
        text-align: justify;
    }
    .interview_modal .inner .modal_content .heading ul {
        margin: min(calc(100vw * 15 / 375), 15px) 0 0 0;
        gap: min(calc(100vw * 10 / 375), 10px);
    }
    .interview_modal .inner .modal_content .heading ul li:nth-child(1) {
        font-size: var(--fs14);
    }
    .interview_modal .inner .modal_content .heading ul li:nth-child(2) {
        font-size: var(--fs12);
    }
    .interview_modal#interview01 .inner .modal_content .heading::before {
        width: min(calc(100vw * 180 / 375), 180px);
    }
    .interview_modal#interview02 .inner .modal_content .heading::before {
        width: min(calc(100vw * 180 / 375), 180px);
        left: auto;
        right: 0;
    }
    .interview_modal#interview03 .inner .modal_content .heading::before {
        width: min(calc(100vw * 180 / 375), 180px);
    }
    .interview_modal .inner .modal_content .element {
        margin: min(calc(100vw * 35 / 375), 35px) 0 0 0;
        flex-direction: column-reverse;
    }
    .interview_modal .inner .modal_content .element figure {
        width: 100%;
        border-radius: min(calc(100vw * 14 / 375), 14px);
        margin: min(calc(100vw * 35 / 375), 35px) 0 0 0;
    }
    .interview_modal .inner .modal_content .element .item {
        width: 100%;
    }
    .interview_modal .inner .modal_content .element .item article:not(:first-child) {
        margin: min(calc(100vw * 35 / 375), 35px) 0 0 0;
        padding: min(calc(100vw * 35 / 375), 35px) 0 0 0;
    }
    .interview_modal .inner .modal_content .element .item article h3 {
        font-size: var(--fs18);
    }
    .interview_modal .inner .modal_content .element .item article p {
        margin: min(calc(100vw * 30 / 375), 30px) 0 0 0;
    }
    .interview_modal .inner .modal_content .element .item article h3,
    .interview_modal .inner .modal_content .element .item article p {
        padding: 0 0 0 min(calc(100vw * 40 / 375), 40px);
    }
    .interview_modal .inner .modal_content .element .item article h3::before,
    .interview_modal .inner .modal_content .element .item article p::before {
        top: calc(min(calc(100vw * 5 / 375), 5px) * -1);
    }
    .interview_modal .inner .modal_content .element .item article h3::before {
        width: min(calc(100vw * 25 / 375), 25px);
    }
    .interview_modal .inner .modal_content .element .item article p::before {
        width: min(calc(100vw * 30.5 / 375), 30.5px);
        left: calc(min(calc(100vw * 3 / 375), 3px) * -1);
    }
    .interview_modal .inner .modal_close {
        top: min(calc(100vw * 20 / 375), 20px);
        right: min(calc(100vw * 20 / 375), 20px);
        width: min(calc(100vw * 35 / 375), 35px);
        border: 2px solid var(--white);
        border-radius: min(calc(100vw * 4 / 375), 4px);
        transition: none;
    }
    .interview_modal .inner .modal_close::before,
    .interview_modal .inner .modal_close::after {
        width: min(calc(100vw * 20 / 375), 20px);
        height: min(calc(100vw * 2 / 375), 2px);
        transition: none;
    }
    .interview_modal .inner .modal_close:hover {
        background-color: var(--keycolor);
    }
    .interview_modal .inner .modal_close:hover::before,
    .interview_modal .inner .modal_close:hover::after {
        background-color: var(--white);
    }
}
/* cv_area */
.cv_area {
    width: var(--w1100);
    margin: var(--s125) auto 0 auto;
    background-color: var(--keycolor);
    border: 1px solid var(--keycolor);
    border-radius: min(calc(100vw * 30 / 1440), 30px);
    padding: min(calc(100vw * 55 / 1440), 55px) 0;
    text-align: center;
    color: var(--white);
    position: relative;
    overflow: hidden;
    transition: background-color .3s ease, color .3s ease;
}
.cv_area:has(a:hover) {
    background-color: var(--white);
    color: var(--keycolor);
}
.cv_area::before {
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 2200 / 1010;
    background-image: url(../../images/content/home/cvBg.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
    pointer-events: none;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: opacity .3s ease;
}
.cv_area:has(a:hover)::before {
    opacity: 0;
}
.cv_area .inner {
    position: relative;
    z-index: 1;
}
.cv_area .inner h2 {
    font-size: var(--fs47);
    font-weight: 600;
    letter-spacing: 0.1em;
}
.cv_area .inner h3 {
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.1em;
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
}
.cv_area .inner p {
    font-size: var(--fs16);
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
}
.cv_area .inner p.link {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
}
.cv_area .inner p.link a {
    display: inline-block;
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    background-color: var(--white);
    border: 1px solid var(--white);
    border-radius: 300px;
    padding: min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 75 / 1440), 75px) min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 65 / 1440), 65px);
    position: relative;
    transition: background-color .3s ease, color .3s ease;
}
.cv_area .inner p.link a svg {
    width: 6px;
    height: 10px;
    fill: var(--keycolor);
    position: absolute;
    top: 50%;
    right: min(calc(100vw * 20 / 1440), 20px);
    transform: translateY(-50%);
    transition: right .3s ease, fill .3s ease;
}
.cv_area .inner p.link a:hover {
    background-color: var(--keycolor);
    color: var(--white);
}
.cv_area .inner p.link a:hover svg {
    right: min(calc(100vw * 15 / 1440), 15px);
    fill: var(--white);
}
@media only screen and (max-width: 768px) {
    .cv_area {
        width: 85vw;
        margin: var(--s65) auto 0 auto;
        border-radius: min(calc(100vw * 14 / 375), 14px);
        padding: min(calc(100vw * 35 / 375), 35px) min(calc(100vw * 25 / 375), 25px);
        text-align: left;
        transition: none;
    }
    .cv_area:has(a:hover) {
        background-color: var(--keycolor);
        color: var(--white);
    }
    .cv_area::before {
        transition: none;
    }
    .cv_area:has(a:hover)::before {
        opacity: 1;
    }
    .cv_area .inner h2 {
        font-size: var(--fs24);
        line-height: 1.5;
    }
    .cv_area .inner h3 {
        font-size: var(--fs16);
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    .cv_area .inner p {
        margin: min(calc(100vw * 15 / 375), 15px) 0 0 0;
        text-align: justify;
    }
    .cv_area .inner p.link {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    .cv_area .inner p.link a {
        display: block;
        width: 100%;
        text-align: center;
        padding: min(calc(100vw * 15 / 375), 15px) 0;
        transition: none;
    }
    .cv_area .inner p.link a svg {
        right: min(calc(100vw * 20 / 375), 20px);
        transition: none;
    }
    .cv_area .inner p.link a:hover {
        background-color: var(--white);
        color: var(--keycolor);
    }
    .cv_area .inner p.link a:hover svg {
        right: min(calc(100vw * 20 / 375), 20px);
        fill: var(--keycolor);
    }
}
/* pickup_area */
#pickup_area {
    margin: var(--s125) 0 0 0;
    background-color: var(--light_gray);
    padding: var(--s125) 0;
    position: relative;
}
#pickup_area span.en {
    display: inline-block;
    width: min(calc(100vw * 425 / 1440), 425px);
    position: absolute;
    top: calc(min(calc(100vw * 44 / 1440), 44px) * -1);
    right: 0;
}
#pickup_area .inner {
    width: var(--w1100);
    margin: 0 auto;
}
#pickup_area .inner .list {
    margin: var(--s65) 0 0 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: min(calc(100vw * 25 / 1440), 25px);
    counter-reset: article-num;
}
#pickup_area .inner .list article {
    width: min(calc(100vw * 350 / 1440), 350px);
    background-color: var(--white);
    border-radius: min(calc(100vw * 14 / 1440), 14px);
    box-shadow: -5px -5px 10px 0 rgba(255, 255, 255, 0.50), 5px 5px 10px 0 rgba(0, 0, 0, 0.10);
    padding: min(calc(100vw * 30 / 1440), 30px);
    position: relative;
    counter-increment: article-num;
    z-index: 1;
    overflow: hidden;
}
#pickup_area .inner .list article::before {
    content: counter(article-num, decimal-leading-zero);
    font-family: "Roboto", sans-serif;
    font-size: min(calc(100vw * 150 / 1440), 150px);
    font-weight: 600;
    color: var(--pink);
    position: absolute;
    bottom: calc(min(calc(100vw * 24 / 1440), 24px) * -1);
    right: calc(min(calc(100vw * 12 / 1440), 12px) * -1);
    z-index: -1;
    pointer-events: none;
}
#pickup_area .inner .list article figure {
    width: 100%;
    height: auto;
    aspect-ratio: 290 / 180;
    border-radius: min(calc(100vw * 10 / 1440), 10px);
    overflow: hidden;
}
#pickup_area .inner .list article figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#pickup_area .inner .list article .item {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
}
#pickup_area .inner .list article .item h3 {
    font-size: var(--fs24);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    text-align: center;
}
#pickup_area .inner .list article .item p {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: min(calc(100vw * 15 / 1440), 15px) 0 0 0;
    text-align: justify;
}
#pickup_area .inner .list article .item p span {
    background: linear-gradient(
        transparent 60%,
        #F6EE00 60%
    );
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1s ease .5s;
}
#pickup_area .inner .list article.is-show .item p span {
    background-size: 100% 100%;
}
@media only screen and (max-width: 768px) {
    #pickup_area {
        padding: var(--s65) 0;
    }
    #pickup_area span.en {
        width: min(calc(100vw * 160 / 375), 160px);
        top: calc(min(calc(100vw * 15 / 375), 15px) * -1);
    }
    #pickup_area .inner {
        width: 100vw;
    }
    #pickup_area .inner .heading {
        width: 85vw;
        margin: 0 auto;
    }
    #pickup_area .inner .list {
        margin: var(--s35) 0 0 0;
        display: block;
        padding: 0;
        counter-reset: number;
    }
    #pickup_area .inner .list .slick-track {
        margin: 0 0 0 7.5vw;
        display: flex;
    }
    #pickup_area .inner .list .slick-slide {
        height: auto;
        float: none;
    }
    #pickup_area .inner .list .slick-slide > div {
        height: 100%;
    }
    #pickup_area .inner .list article {
        width: min(calc(100vw * 280 / 375), 280px);
        height: 100%;
        background-color: transparent;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        overflow: visible;
    }
    #pickup_area .inner .list article::before {
        content: none;
    }
    #pickup_area .inner .list article:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 40 / 375), 40px);
    }
    #pickup_area .inner .list article figure {
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #pickup_area .inner .list article .item {
        margin: min(calc(100vw * 45 / 375), 45px) 0 0 0;
    }
    #pickup_area .inner .list article .item h3 {
        font-size: var(--fs18);
        position: relative;
    }
    #pickup_area .inner .list article .item h3::before {
        counter-increment: number;
        content: counter(number, decimal-leading-zero);
        font-family: "Roboto", sans-serif;
        font-size: min(calc(100vw * 100 / 375), 100px);
        font-weight: 600;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: rgba(230, 0, 18, .1);
        z-index: -1;
    }
    #pickup_area .inner .list article .item p {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
}
/* numbers_area */
#numbers_area {
    margin: var(--s125) 0 0 0;
}
#numbers_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
}
#numbers_area .inner .list {
    margin: var(--s65) 0 0 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: min(calc(100vw * 20 / 1440), 20px);
}
#numbers_area .inner .list article {
    width: calc((100% / 2) - min(calc(100vw * 10 / 1440), 10px));
    border: 3px solid var(--keycolor);
    border-radius: min(calc(100vw * 20 / 1440), 20px);
    padding: min(calc(100vw * 105 / 1440), 105px) 0 min(calc(100vw * 75 / 1440), 75px) min(calc(100vw * 75 / 1440), 75px);
    position: relative;
}
#numbers_area .inner .list article h3 {
    display: inline-block;
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    background-color: var(--pink);
    padding: min(calc(100vw * 13 / 1440), 13px) min(calc(100vw * 38 / 1440), 38px);
    border-radius: min(calc(100vw * 7 / 1440), 7px);
    position: absolute;
    top: min(calc(100vw * 20 / 1440), 20px);
    left: min(calc(100vw * 20 / 1440), 20px);
}
#numbers_area .inner .list article .item h4 {
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1em;
}
#numbers_area .inner .list article .item p {
    margin: min(calc(100vw * 14 / 1440), 14px) 0 0 0;
    font-family: "Roboto", sans-serif;
    font-size: var(--fs110);
    font-weight: 600;
    color: var(--keycolor);
}
#numbers_area .inner .list article .item p span.count {
    display: inline-flex;
    align-items: baseline;
    font-variant-numeric: tabular-nums;
}
#numbers_area .inner .list article .item p span.count .digit {
    display: inline-block;
    min-width: 0.6em;
    text-align: center;
}
#numbers_area .inner .list article .item p span.count .separator {
    display: inline-block;
}
#numbers_area .inner .list article .item p span.count .digit.is-done {
    animation: digitStop 0.2s ease-out;
}
#numbers_area .inner .list article .item p em {
    font-size: var(--fs35);
    font-style: normal;
    letter-spacing: 0.1em;
    display: inline-block;
    margin: 0 0 0 min(calc(100vw * 5 / 1440), 5px);
}
#numbers_area .inner .list article:nth-child(1) .item p span,
#numbers_area .inner .list article:nth-child(3) .item p span {
    font-family: "Noto Sans JP", sans-serif;
}
#numbers_area .inner .list article .item span.note {
    display: inline-block;
    margin: min(calc(100vw * 10 / 1440), 10px);
    font-size: var(--fs12);
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #666;
}
#numbers_area .inner .list article::before {
    content: "";
    height: auto;
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    bottom: min(calc(100vw * 20 / 1440), 20px);
    right: min(calc(100vw * 20 / 1440), 20px);
}
#numbers_area .inner .list article:nth-child(1):before {
    width: min(calc(100vw * 141 / 1440), 141px);
    aspect-ratio: 282 / 283;
    background-image: url(../../images/content/home/numbers_pict01.webp);
}
#numbers_area .inner .list article:nth-child(2):before {
    width: min(calc(100vw * 166.5 / 1440), 166.5px);
    aspect-ratio: 333 / 247;
    background-image: url(../../images/content/home/numbers_pict02.webp);
}
#numbers_area .inner .list article:nth-child(3):before {
    width: min(calc(100vw * 141 / 1440), 141px);
    aspect-ratio: 282 / 277;
    background-image: url(../../images/content/home/numbers_pict03.webp);
}
#numbers_area .inner .list article.comment_box {
    border: none;
    border-radius: 0;
    padding: 0;
}
#numbers_area .inner .list article.comment_box::before {
    content: none;
}
#numbers_area .inner .list article.comment_box p {
    width: min(calc(100vw * 185.5 / 1440), 185.5px);
    height: auto;
    aspect-ratio: 371 / 370;
    position: absolute;
    top: min(calc(100vw * 10 / 1440), 10px);
    left: min(calc(100vw * 85 / 1440), 85px);
}
#numbers_area .inner .list article.comment_box figure {
    width: min(calc(100vw * 197 / 1440), 197px);
    height: auto;
    aspect-ratio: 394 / 506;
    position: absolute;
    bottom: 0;
    left: calc(50% + min(calc(100vw * 55 / 1440), 55px));
    transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
    #numbers_area {
        margin: var(--s65) 0 0 0;
    }
    #numbers_area .inner {
        width: 85vw;
        padding: 0;
    }
    #numbers_area .inner .list {
        margin: var(--s35) 0 0 0;
        display: block;
    }
    #numbers_area .inner .list article {
        width: 100%;
        border-radius: min(calc(100vw * 10 / 375), 10px);
        padding: min(calc(100vw * 20 / 375), 20px);
    }
    #numbers_area .inner .list article:not(:first-child) {
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
    #numbers_area .inner .list article h3 {
        padding: min(calc(100vw * 6 / 375), 6px) min(calc(100vw * 12 / 375), 12px);
        border-radius: min(calc(100vw * 6 / 375), 6px);
        position: static;
    }
    #numbers_area .inner .list article .item h4 {
        font-size: var(--fs16);
        margin: min(calc(100vw * 15 / 375), 15px) 0 0 0;
    }
    #numbers_area .inner .list article .item p {
        font-size: var(--fs60);
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
    #numbers_area .inner .list article .item p em {
        font-size: var(--fs24);
        margin: 0 0 0 min(calc(100vw * 5 / 375), 5px);
    }
    #numbers_area .inner .list article .item span.note {
        margin: min(calc(100vw * 10 / 375), 10px);
    }
    #numbers_area .inner .list article::before {
        bottom: min(calc(100vw * 20 / 375), 20px);
        right: min(calc(100vw * 20 / 375), 20px);
    }
    #numbers_area .inner .list article:nth-child(1):before {
        width: min(calc(100vw * 80 / 375), 80px);
    }
    #numbers_area .inner .list article:nth-child(2):before {
        width: min(calc(100vw * 90 / 375), 90px);
    }
    #numbers_area .inner .list article:nth-child(3):before {
        width: min(calc(100vw * 80 / 375), 80px);
        bottom: auto;
        top: min(calc(100vw * 60 / 375), 60px);
    }
    #numbers_area .inner .list article.comment_box {
        min-height: min(calc(100vw * 185 / 375), 185px);
    }
    #numbers_area .inner .list article.comment_box p {
        width: min(calc(100vw * 150 / 375), 150px);
        top: 50%;
        left: calc(50% - min(calc(100vw * 80 / 375), 80px));
        transform: translate(-50%, -50%);
        aspect-ratio: 392 / 372;
    }
    #numbers_area .inner .list article.comment_box figure {
        width: min(calc(100vw * 120 / 375), 120px);
        left: calc(50% + min(calc(100vw * 65 / 375), 65px));
        transform: translateX(-50%);
    }
}
/* living_area */
#living_area {
    margin: var(--s125) 0 0 0;
    background-color: var(--pink);
    padding: var(--s125) 0 min(calc(100vw * 170 / 1440), 170px) 0;
    position: relative;
    overflow: hidden;
}
#living_area .bg {
    display: inline-block;
    height: auto;
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
}
#living_area .bg01 {
    background-image: url(../../images/content/home/livingBg01.png);
    width: min(calc(100vw * 534 / 1440), 534px);
    aspect-ratio: 1 / 1;
    top: min(calc(100vw * 735 / 1440), 735px);
    right: calc(min(calc(100vw * 215 / 1440), 215px) * -1);
}
#living_area .bg02 {
    background-image: url(../../images/content/home/livingBg02.png);
    width: min(calc(100vw * 737 / 1440), 737px);
    aspect-ratio: 1 / 1;
    top: min(calc(100vw * 944 / 1440), 944px);
    left: calc(min(calc(100vw * 225 / 1440), 225px) * -1);
}
#living_area .bg03 {
    background-image: url(../../images/content/home/livingBg03.png);
    width: min(calc(100vw * 412 / 1440), 412px);
    aspect-ratio: 762 / 819;
    top: min(calc(100vw * 1472 / 1440), 1472px);
    right: calc(min(calc(100vw * 50 / 1440), 50px) * -1);
}
#living_area .bg04 {
    background-image: url(../../images/content/home/livingBg01.png);
    width: min(calc(100vw * 714 / 1440), 714px);
    aspect-ratio: 1 / 1;
    top: min(calc(100vw * 2246 / 1440), 2246px);
    right: calc(min(calc(100vw * 245 / 1440), 245px) * -1);
}
#living_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
#living_area .inner p.lead {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#living_area .inner p.lead span {
    display: inline-block;
    font-size: var(--fs14);
    letter-spacing: 0.05em;
    color: #666;
    padding: 0 0 0 10px;
}
#living_area .inner .element {
    margin: var(--s125) 0 0 0;
}
#living_area .inner .element article {
    position: relative;
    z-index: 1;
}
#living_area .inner .element article:not(:first-child) {
    margin: var(--s125) 0 0 0;
}
#living_area .inner .element article h3 {
    display: inline-block;
    font-size: var(--fs24);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    background-color: var(--white);
    padding: min(calc(100vw * 10 / 1440), 10px) min(calc(100vw * 20 / 1440), 20px);
}
#living_area .inner .element article:nth-child(1) {
    min-height: min(calc(100vw * 537 / 1440), 537px);
}
#living_area .inner .element article:nth-child(1)::before {
    content: "";
    width: min(calc(100vw * 588 / 1440), 588px);
    height: auto;
    aspect-ratio: 1 / 1;
    background-image: url(../../images/content/home/living01_img.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: calc(min(calc(100vw * 50 / 1440), 50px) * -1);
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
#living_area .inner .element article:nth-child(2) .list {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    display: flex;
    justify-content: space-between;
}
#living_area .inner .element article:nth-child(2) .list .item {
    width: min(calc(100vw * 263 / 1440), 263px);
    background-color: var(--white);
    border: 2px solid var(--keycolor);
    border-radius: min(calc(100vw * 14 / 1440), 14px);
}
#living_area .inner .element article:nth-child(2) .list .item h4 {
    min-height: min(calc(100vw * 75 / 1440), 75px);
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.3;
    color: var(--keycolor);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-bottom: 2px solid var(--keycolor);
}
#living_area .inner .element article:nth-child(2) .list .item .content {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: min(calc(100vw * 25 / 1440), 25px) 0;
}
#living_area .inner .element article:nth-child(2) .list .item .content .item_body p {
    font-size: var(--fs16);
    color: var(--keycolor);
    font-weight: 600;
}
#living_area .inner .element article:nth-child(2) .list .item .content .item_body p span {
    display: inline-block;
    font-family: "Roboto", sans-serif;
    font-size: var(--fs60);
    letter-spacing: -0.05em;
    padding: 0 min(calc(100vw * 5 / 1440), 5px) 0 min(calc(100vw * 2 / 1440), 2px);
}
#living_area .inner .element article:nth-child(2) .list .item .content .item_body .note {
    display: inline-block;
    font-size: var(--fs12);
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #666;
    margin: min(calc(100vw * 5 / 1440), 5px) 0 0 0;
}
#living_area .inner .element article:nth-child(2) .list .item:nth-child(2) .content .item_body p {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min(calc(100vw * 5 / 1440), 5px);
}
#living_area .inner .element article:nth-child(2) .list .item:nth-child(2) .content .item_body p em {
    font-style: normal;
    line-height: 1.3;
}
#living_area .inner .element article:nth-child(3) .container {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
}
#living_area .inner .element article:nth-child(3) .container .item:not(:first-child) {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
}
#living_area .inner .element article:nth-child(3) .container .item dl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min(calc(100vw * 80 / 1440), 80px);
    padding: min(calc(100vw * 10 / 1440) , 10px) 0;
}
#living_area .inner .element article:nth-child(3) .container .item dl dt {
    font-size: var(--fs20);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
}
#living_area .inner .element article:nth-child(3) .container .item dl dd {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    position: relative
}
#living_area .inner .element article:nth-child(3) .container .item dl dd::before {
    content: "";
    width: 1px;
    height: 100%;
    background-color: rgba(230, 0, 18, .1);
    position: absolute;
    top: 50%;
    left: calc(min(calc(100vw * 40 / 1440), 40px) * -1);
    transform: translateY(-50%);
}
#living_area .inner .element article:nth-child(3) .container .item .list {
    margin: min(calc(100vw * 25 / 1440) , 25px) 0 0 0;
    display: flex;
    justify-content: space-between;
}
#living_area .inner .element article:nth-child(3) .container .item .list figure {
    width: min(calc(100vw * 263 / 1440) , 263px);
}
#living_area .inner .element article:nth-child(3) .container .item .list figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 263 / 175;
    border-radius: min(calc(100vw * 10 / 1440) , 10px);
}
#living_area .inner .element article:nth-child(3) .container .item .list figure figcaption {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #666;
    text-align: center;
    margin: min(calc(100vw * 20 / 1440) , 20px) 0 0 0;
}
#living_area .inner .element article:nth-child(4) .list {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: min(calc(100vw * 65 / 1440), 65px) min(calc(100vw * 60 / 1440), 60px);
}
#living_area .inner .element article:nth-child(4) .list .item {
    width: min(calc(100vw * 520 / 1440), 520px);
}
#living_area .inner .element article:nth-child(4) .list .item figure {
    width: 100%;
    height: auto;
    aspect-ratio: 520 / 347;
    overflow: hidden;
    border-radius: min(calc(100vw * 20 / 1440), 20px);
}
#living_area .inner .element article:nth-child(4) .list .item h4 {
    font-size: var(--fs20);
    font-weight: 600;
    letter-spacing: 0.1em;
    margin: min(calc(100vw * 35 / 1440), 35px) 0 0 0;
    text-align: center;
}
#living_area .inner .element article:nth-child(4) .list .item p {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    margin: min(calc(100vw * 15 / 1440), 15px) 0 0 0;
}
@media only screen and (max-width: 768px) {
    #living_area {
        margin: var(--s65) 0 0 0;
        padding: var(--s65) 0 min(calc(100vw * 50 / 375), 50px) 0;
    }
    #living_area .bg {
        display: none;
    }
    #living_area .inner {
        width: 100vw;
    }
    #living_area .inner .heading {
        width: 85vw;
        margin: 0 auto;
    }
    #living_area .inner p.lead {
        width: 85vw;
        margin: min(calc(100vw * 20 / 375), 20px) auto 0 auto;
        text-align: justify;
    }
    #living_area .inner .element {
        margin: var(--s35) 0 0 0;
    }
    #living_area .inner .element article:not(:first-child) {
        margin: var(--s65) 0 0 0;
    }
    #living_area .inner .element article h3 {
        font-size: var(--fs20);
        line-height: 1.5;
        text-align: justify;
        padding: min(calc(100vw * 6 / 375), 6px) min(calc(100vw * 12 / 375), 12px);
    }
    #living_area .inner .element article:nth-child(1) {
        min-height: auto;
        width: 85vw;
        margin: 0 auto;
    }
    #living_area .inner .element article:nth-child(1)::before {
        content: none;
    }
    #living_area .inner .element article:nth-child(1) figure {
        width: 100%;
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    #living_area .inner .element article:nth-child(2) h3 {
        width: 85vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
    #living_area .inner .element article:nth-child(2) .list {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
        display: block;
        padding: 0;
    }
    #living_area .inner .element article:nth-child(2) .list .slick-track {
        margin: 0 0 0 7.5vw;
        display: flex;
        align-items: stretch;
    }
    #living_area .inner .element article:nth-child(2) .list .slick-slide {
        height: auto;
        float: none;
    }
    #living_area .inner .element article:nth-child(2) .list .item {
        width: min(calc(100vw * 280 / 375), 280px);
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #living_area .inner .element article:nth-child(2) .list .item:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 20 / 375), 20px);
    }
    #living_area .inner .element article:nth-child(2) .list .item h4 {
        min-height: min(calc(100vw * 75 / 375), 75px);
    }
    #living_area .inner .element article:nth-child(2) .list .item .content {
        padding: min(calc(100vw * 25 / 375), 25px) 0;
    }
    #living_area .inner .element article:nth-child(2) .list .item .content .item_body p span {
        padding: 0 min(calc(100vw * 5 / 375), 5px) 0 min(calc(100vw * 2 / 375), 2px);
    }
    #living_area .inner .element article:nth-child(2) .list .item .content .item_body .note {
        margin: min(calc(100vw * 5 / 375), 5px) 0 0 0;
    }
    #living_area .inner .element article:nth-child(2) .list .item:nth-child(2) .content .item_body p {
        gap: min(calc(100vw * 5 / 375), 5px);
    }
    #living_area .inner .element article:nth-child(3) h3 {
        width: 85vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
    #living_area .inner .element article:nth-child(3) .container {
        margin: var(--s35) 0 0 0;
    }
    #living_area .inner .element article:nth-child(3) .container .item:not(:first-child) {
        margin: var(--s35) 0 0 0;
    }
    #living_area .inner .element article:nth-child(3) .container .item dl {
        display: block;
        padding: 0;
        width: 85vw;
        margin: 0 auto;
    }
    #living_area .inner .element article:nth-child(3) .container .item dl dt {
        font-size: var(--fs18);
    }
    #living_area .inner .element article:nth-child(3) .container .item dl dd {
        text-align: justify;
        margin: min(calc(100vw * 20 / 1440), 20px) 0 0 0;
    }
    #living_area .inner .element article:nth-child(3) .container .item dl dd::before {
        content: none;
    }
    #living_area .inner .element article:nth-child(3) .container .item .list {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
        display: block;
        padding: 0;
    }
    #living_area .inner .element article:nth-child(3) .container .item .list .slick-track {
        margin: 0 0 0 7.5vw;
    }
    #living_area .inner .element article:nth-child(3) .container .item .list figure {
        width: min(calc(100vw * 280 / 375), 280px);
    }
    #living_area .inner .element article:nth-child(3) .container .item .list figure:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 20 / 375), 20px);
    }
    #living_area .inner .element article:nth-child(3) .container .item .list figure img {
        border-radius: min(calc(100vw * 10 / 375) , 10px);
    }
    #living_area .inner .element article:nth-child(3) .container .item .list figure figcaption {
        margin: min(calc(100vw * 10 / 375) , 10px) 0 0 0;
    }
    #living_area .inner .element article:nth-child(4) h3 {
        width: 85vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
    #living_area .inner .element article:nth-child(4) .list {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
        display: block;
    }
    #living_area .inner .element article:nth-child(4) .list .slick-track {
        margin: 0 0 0 7.5vw;
    }
    #living_area .inner .element article:nth-child(4) .list .item {
        width: min(calc(100vw * 280 / 375), 280px);
    }
    #living_area .inner .element article:nth-child(4) .list .item:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 20 / 375), 20px);
    }
    #living_area .inner .element article:nth-child(4) .list .item figure {
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #living_area .inner .element article:nth-child(4) .list .item h4 {
        font-size: var(--fs18);
        line-height: 1.4;
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    #living_area .inner .element article:nth-child(4) .list .item p {
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
}
/* woman_area */
#woman_area {
    padding: min(calc(100vw * 30 / 1440), 30px) 0 0 0;
    position: relative;
}
#woman_area::before {
    content: "";
    width: 100%;
    height: min(calc(100vw * 95 / 1440), 95px);
    background-color: var(--white);
    border-radius: min(calc(100vw * 60 / 1440), 60px) min(calc(100vw * 60 / 1440), 60px) 0 0;
    position: absolute;
    top: calc(min(calc(100vw * 95 / 1440), 95px) * -1);
    left: 0;
}
#woman_area::after {
    content: "";
    width: calc(100vw * 1857 / 1440);
    height: auto;
    aspect-ratio: 1857 / 493;
    background-image: url(../../images/content/home/flowBg.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    bottom: calc(min(calc(100vw * 520 / 1440), 520px) * -1);
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
#woman_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
    z-index: 3;
}
#woman_area .inner p.lead {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#woman_area .inner p.lead span {
    background: linear-gradient(
        transparent 60%,
        #F6EE00 60%
    );
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1s ease .5s;
}
#woman_area .inner p.lead.is-show span {
    background-size: 100% 100%;
}
#woman_area .inner .list {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    display: flex;
    justify-content: space-between;
    position: relative;
}
#woman_area .inner .list::before {
    content: "";
    width: min(calc(100vw * 282 / 1440), 282px);
    height: auto;
    aspect-ratio: 282 / 330;
    background-image: url(../../images/content/home/woman_img.webp);
    background-repeat: no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: calc(min(calc(100vw * 330 / 1440), 330px) * -1);
    right: min(calc(100vw * 30 / 1440), 30px);
}
#woman_area .inner .list figure {
    width: min(calc(100vw * 350 / 1440), 350px);
    overflow: hidden;
}
#woman_area .inner .list figure img {
    width: 100%;
    height: auto;
    border-radius:  min(calc(100vw * 10 / 1440), 10px);
    aspect-ratio: 350 / 233;
}
#woman_area .inner .list figure figcaption {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #666;
    text-align: center;
    margin: min(calc(100vw * 20 / 1440) , 20px) 0 0 0;
}
#woman_area .inner .mv {
    width: min(calc(100vw * 800 / 1440), 800px);
    height: auto;
    aspect-ratio: 560 / 315;
    margin: min(calc(100vw * 85 / 1440), 85px) auto 0 auto;
}
#woman_area .inner .mv iframe {
    width: 100%;
    height: 100%;
}
#woman_area .inner .link {
    margin: min(calc(100vw * 85 / 1440), 85px) 0 0 0;
    text-align: center;
}
#woman_area .inner .link a {
    display: inline-block;
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    background-color: var(--white);
    border: 1px solid var(--keycolor);
    border-radius: 300px;
    padding: min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 75 / 1440), 75px) min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 65 / 1440), 65px);
    position: relative;
    transition: background-color .3s ease, color .3s ease;
}
#woman_area .inner .link a svg {
    width: 6px;
    height: 10px;
    fill: var(--keycolor);
    position: absolute;
    top: 50%;
    right: min(calc(100vw * 20 / 1440), 20px);
    transform: translateY(-50%);
    transition: right .3s ease, fill .3s ease;
}
#woman_area .inner .link a:hover {
    background-color: var(--keycolor);
    color: var(--white);
}
#woman_area .inner .link a:hover svg {
    right: min(calc(100vw * 15 / 1440), 15px);
    fill: var(--white);
}
@media only screen and (max-width: 768px) {
    #woman_area {
        padding: min(calc(100vw * 15 / 375), 15px) 0 0 0;
    }
    #woman_area::before {
        height: min(calc(100vw * 35 / 375), 35px);
        border-radius: min(calc(100vw * 35 / 375), 35px) min(calc(100vw * 35 / 375), 35px) 0 0;
        top: calc(min(calc(100vw * 35 / 375), 35px) * -1);
    }
    #woman_area::after {
        content: none;
    }
    #woman_area .inner {
        width: 85vw;
    }
    #woman_area .inner p.lead {
        margin: min(calc(100vw * 20 / 375), 20px) 0 0 0;
    }
    #woman_area .inner .list {
        margin: min(calc(100vw * 125 / 375), 125px) 0 0 0;
        display: block;
    }
    #woman_area .inner .list::before {
        width: min(calc(100vw * 130 / 375), 130px);
        top: calc(min(calc(100vw * 115 / 375), 115px) * -1);
        right: min(calc(100vw * 30 / 375), 30px);
        z-index: -1;
    }
    #woman_area .inner .list figure {
        width: 100%;
    }
    #woman_area .inner .list figure:not(:first-child) {
        margin: min(calc(100vw * 35 / 375), 35px) 0 0 0;
    }
    #woman_area .inner .list figure img {
        border-radius:  min(calc(100vw * 10 / 375), 10px);
    }
    #woman_area .inner .list figure figcaption {
        margin: min(calc(100vw * 10 / 375) , 10px) 0 0 0;
    }
    #woman_area .inner .mv {
        width: 100%;
        margin: min(calc(100vw * 45 / 375), 45px) auto 0 auto;
    }
    #woman_area .inner .link {
        margin: min(calc(100vw * 45 / 375), 45px) 0 0 0;
    }
    #woman_area .inner .link a {
        display: block;
        width: 100%;
        text-align: center;
        padding: min(calc(100vw * 15 / 375), 15px) 0;
        transition: none;
    }
    #woman_area .inner .link a svg {
        right: min(calc(100vw * 20 / 375), 20px);
        transition: none;
    }
    #woman_area .inner .link a:hover {
        background-color: var(--white);
        color: var(--keycolor);
    }
    #woman_area .inner .link a:hover svg {
        right: min(calc(100vw * 20 / 375), 20px);
        fill: var(--keycolor);
    }
}
/* flow_area */
.cv_area.bg_overlap {
    margin: calc(min(calc(100vw * 115 / 1440), 115px) * -1) auto 0 auto;
    position: relative;
    top: min(calc(100vw * 240 / 1440), 240px);
    z-index: 2;
}
#flow_area {
    padding: min(calc(100vw * 330 / 1440), 330px) 0 0 0;
    background-color: var(--pink);
    position: relative;
    z-index: 1;
    overflow: hidden;
}
#flow_area::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(
        circle,
        #fff 1px,
        transparent 1px
    );
    background-size: 10px 10px;
    z-index: -1;
}
#flow_area .inner {
    width: var(--w1100);
    margin: 0 auto;
}
#flow_area .inner h2 {
    font-size: var(--fs42);
    font-weight: 600;
    letter-spacing: 0.1em;
}
#flow_area .inner p.lead {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
}
#flow_area .inner .list {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    display: flex;
    justify-content: space-between;
    position: relative;
}
#flow_area .inner .list::before {
    content: "";
    width: calc(100% - (min(calc(100vw * 40 / 1440), 40px)));
    height: min(calc(100vw * 9 / 1440), 9px);
    background-color: var(--white);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#flow_area .inner .list article {
    width: min(calc(100vw * 260 / 1440), 260px);
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
}
#flow_area .inner .list article::before {
    content: "";
    width: min(calc(100vw * 220 / 1440), 220px);
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: var(--white);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}
#flow_area .inner .list article p.num {
    font-family: "Roboto", sans-serif;
    font-size: var(--fs18);
    font-weight: 600;
    color: var(--keycolor);
    position: absolute;
    top: min(calc(100vw * 5 / 1440), 5px);
    left: 50%;
    transform: translateX(-50%)
}
#flow_area .inner .list article p span {
    font-size: var(--fs34);
    display: inline-block;
    padding: 0 0 0 min(calc(100vw * 3 / 1440), 3px);
}
#flow_area .inner .list article .item h3 {
    font-size: var(--fs18);
    font-weight: 600;
    letter-spacing: 0.1em;
}
#flow_area .inner .list article .item p {
    font-size: var(--fs14);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin: min(calc(100vw * 10 / 1440), 10px) 0 0 0;
}
@media only screen and (max-width: 768px) {
    .cv_area.bg_overlap {
        margin: var(--s65) auto 0 auto;
        top: 0;
    }
    #flow_area {
        margin: var(--s65) 0 0 0;
        padding: var(--s65) 0 0 0;
    }
    #flow_area .inner {
        width: 100vw;
    }
    #flow_area .inner h2 {
        font-size: var(--fs26);
        line-height: 1.5;
        padding: 0 7.5vw;
    }
    #flow_area .inner p.lead {
        margin: min(calc(100vw * 20 / 375), 20px) 0 0 0;
        padding: 0 7.5vw;
    }
    #flow_area .inner .list {
        margin: var(--s35) 0 0 0;
        display: block;
        padding: 0;
    }
    #flow_area .inner .list .slick-track {
        margin: 0 0 0 7.5vw;
        display: flex;
        align-items: stretch;
    }
    #flow_area .inner .list .slick-slide {
        height: auto;
        float: none;
    }
    #flow_area .inner .list::before {
        content: none;
    }
    #flow_area .inner .list article {
        width: min(calc(100vw * 280 / 375), 280px);
        height: 100%;
        aspect-ratio: initial;
        display: block;
        text-align: left;
        background-color: var(--white);
        padding: min(calc(100vw * 20 / 375), 20px);
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #flow_area .inner .list article:not(:first-child) {
        margin: 0 0 0 min(calc(100vw * 20 / 375), 20px);
    }
    #flow_area .inner .list article::before {
        content: none;
    }
    #flow_area .inner .list article:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 100%;
        width: min(calc(100vw * 20 / 375), 20px);
        height: min(calc(100vw * 9 / 375), 9px);
        background-color: var(--white);
        transform: translateY(-50%);
        z-index: 1;
    }
    #flow_area .inner .list article p.num {
        position: static;
        top: 0;
        left: 0;
        transform: translateX(0)
    }
    #flow_area .inner .list article p span {
        font-size: var(--fs26);
        padding: 0 0 0 min(calc(100vw * 3 / 375), 3px);
    }
    #flow_area .inner .list article .item h3 {
        margin: min(calc(100vw * 20 / 375), 20px) 0 0 0;
    }
    #flow_area .inner .list article .item p {
        text-align: justify;
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
}
/* day_area */
#day_area {
    padding: var(--s125) 0;
    background-color: var(--pink);
    position: relative;
    z-index: 1;
    overflow: hidden;
}
#day_area::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(
        circle,
        #fff 1px,
        transparent 1px
    );
    background-size: 10px 10px;
    z-index: -1;
}
#day_area .inner {
    width: var(--w1100);
    margin: 0 auto;
}
#day_area .inner h2 {
    width: 100%;
    font-size: var(--fs42);
    font-weight: 600;
    letter-spacing: 0.1;
    color: var(--white);
    background-color: var(--keycolor);
    padding: min(calc(100vw * 55 / 1440), 55px) 0;
    color: var(--white);
    text-align: center;
    border-radius: min(calc(100vw * 14 / 1440), 14px);
    display: block;
    position: relative;
    cursor: pointer;
    transition: background-color .3s ease, color .3s ease, border-radius .3s ease;
}
#day_area.is-open .inner h2 {
    border-radius: min(calc(100vw * 14 / 1440), 14px) min(calc(100vw * 14 / 1440), 14px) 0 0;
}
#day_area .inner h2::before,
#day_area .inner h2::after {
    content: "";
    width: min(calc(100vw * 40 / 1440), 40px);
    height: min(calc(100vw * 4 / 1440), 4px);
    background-color: var(--white);
    position: absolute;
    top: 50%;
    right: min(calc(100vw * 50 / 1440), 50px);
    transition: transform .3s ease;
    transition: background-color .3s ease;
}
#day_area .inner h2::before {
    transform: translateY(-50%);
}
#day_area .inner h2::after {
    transform: translateY(-50%) rotate(90deg);
}
#day_area.is-open .inner h2::after {
    transform: translateY(-50%) rotate(0deg);
}
#day_area .inner h2:hover {
    background-color: var(--white);
    color: var(--keycolor);
}
#day_area .inner h2:hover::before,
#day_area .inner h2:hover::after {
    background-color: var(--keycolor);
}
#day_area .inner .element {
    display: none;
    padding: min(calc(100vw * 100 / 1440), 100px);
    background-color: var(--white);
    border-radius: 0 0 min(calc(100vw * 14 / 1440), 14px) min(calc(100vw * 14 / 1440), 14px);
}
#day_area .inner .element p.lead {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#day_area .inner .element .list {
    margin: var(--s65) 0 0 0;
}
#day_area .inner .element .list article {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min(calc(100vw * 65 / 1440), 65px);
}
#day_area .inner .element .list article:not(:first-child) {
    margin: min(calc(100vw * 20 / 1440), 20px) 0 0 0;
}
#day_area .inner .element .list article figure {
    width: min(calc(100vw * 340 / 1440), 340px);
    height: auto;
    aspect-ratio: 340 / 227;
    border-radius: min(calc(100vw * 10 / 1440), 10px);
    overflow: hidden;
}
#day_area .inner .element .list article figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#day_area .inner .element .list article .item {
    width: calc(100% - min(calc(100vw * 405 / 1440), 405px));
}
#day_area .inner .element .list article .item h3 {
    font-size: var(--fs26);
    font-weight: 600;
    letter-spacing: 0.1em;
}
#day_area .inner .element .list article .item p {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
@media only screen and (max-width: 768px) {
    #day_area {
        padding: var(--s65) 0;
    }
    #day_area .inner {
        width: 100vw;
    }
    #day_area .inner h2 {
        width: 85vw;
        margin: 0 auto;
        font-size: var(--fs20);
        padding: min(calc(100vw * 35 / 375), 35px) 0;
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #day_area.is-open .inner h2 {
        border-radius: min(calc(100vw * 10 / 375), 10px) min(calc(100vw * 10 / 375), 10px) 0 0;
    }
    #day_area .inner h2::before,
    #day_area .inner h2::after {
        width: min(calc(100vw * 20 / 375), 20px);
        height: min(calc(100vw * 2 / 375), 2px);
        right: min(calc(100vw * 20 / 375), 20px);
    }
    #day_area .inner h2 span {
        position: relative;
        left: calc(min(calc(100vw * 10 / 1440), 10px) * -1);
    }
    #day_area .inner h2:hover {
        background-color: var(--keycolor);
        color: var(--white);
    }
    #day_area .inner h2:hover::before,
    #day_area .inner h2:hover::after {
        background-color: var(--white);
    }
    #day_area .inner .element {
        width: 85vw;
        margin: 0 auto;
        padding: min(calc(100vw * 30 / 375), 30px);
        border-radius: 0 0 min(calc(100vw * 10 / 375), 10px) min(calc(100vw * 10 / 375), 10px);
    }
    #day_area .inner .element p.lead {
        text-align: justify;
    }
    #day_area .inner .element .list {
        margin: var(--s35) 0 0 0;
    }
    #day_area .inner .element .list article {
        display: block;
    }
    #day_area .inner .element .list article:not(:first-child) {
        margin: min(calc(100vw * 45 / 375), 45px) 0 0 0;
    }
    #day_area .inner .element .list article figure {
        width: 100%;
        border-radius: min(calc(100vw * 10 / 375), 10px);
    }
    #day_area .inner .element .list article .item {
        width: 100%;
        margin: min(calc(100vw * 25 / 375), 20px) 0 0 0;
    }
    #day_area .inner .element .list article .item h3 {
        font-size: var(--fs20);
    }
    #day_area .inner .element .list article .item p {
        margin: min(calc(100vw * 15 / 375), 125px) 0 0 0;
        text-align: justify;
    }
}
/* faq_job */
.faq_job {
    margin: var(--s125) 0 0 0;
}
.faq_job .inner {
    width: var(--w1100);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.faq_job .inner .heading {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    gap: min(calc(100vw * 10 / 1440), 10px);
}
.faq_job .inner .container_area {
    width: min(calc(100vw * 920 / 1440), 920px);
    flex-shrink: 0;
}
.faq_job .inner .heading span.en {
    display: inline-block;
    font-family: "Roboto", sans-serif;
    font-size: var(--fs12);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--keycolor);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    margin: min(calc(100vw * 5 / 1440), 10px) 0 0 0;
}
.faq_job .inner .heading h2 {
    font-size: var(--fs42);
    font-weight: 600;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
}
.faq_job .inner .container_area article:not(:first-child) {
    margin: min(calc(100vw * 10 / 1440), 10px) 0 0 0;
}
.faq_job .inner .container_area article h3 {
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.1;
    color: var(--white);
    background-color: var(--keycolor);
    border: 1px solid var(--keycolor);
    padding: min(calc(100vw * 30 / 1440), 30px) min(calc(100vw * 50 / 1440), 50px);
    border-radius: min(calc(100vw * 8 / 1440), 8px);
    cursor: pointer;
    position: relative;
    transition: background-color .3s ease, color .3s ease;
}
.faq_job .inner .container_area article h3::before,
.faq_job .inner .container_area article h3::after {
    content: "";
    width: min(calc(100vw * 30 / 1440), 30px);
    height: min(calc(100vw * 2 / 1440), 2px);
    background-color: var(--white);
    position: absolute;
    top: 50%;
    right: min(calc(100vw * 40 / 1440), 40px);
    transition: transform .3s ease, background-color .3s ease;
}
.faq_job .inner .container_area article h3::before {
    transform: translateY(-50%);
}
.faq_job .inner .container_area article h3::after {
    transform: translateY(-50%) rotate(90deg);
}
.faq_job .inner .container_area article.is-open h3::after {
    transform: translateY(-50%) rotate(0deg);
}
.faq_job .inner .container_area article h3:hover {
    background-color: var(--white);
    color: var(--keycolor);
}
.faq_job .inner .container_area article h3:hover::before,
.faq_job .inner .container_area article h3:hover::after {
    background-color: var(--keycolor);
}
.faq_job .inner .container_area article .element {
    display: none;
    padding: min(calc(100vw * 45 / 1440), 45px) 0;
}
@media only screen and (max-width: 768px) {
    .faq_job {
        margin: var(--s65) 0 0 0;
    }
    .faq_job .inner {
        width: 85vw;
        display: block;
    }
    .faq_job .inner .heading {
        flex: none;
        display: block;
    }
    .faq_job .inner .container_area {
        width: 100%;
        margin: var(--s35) 0 0 0;
    }
    .faq_job .inner .heading span.en {
        font-size: var(--fs14);
        writing-mode: horizontal-tb;
        margin: 0;
    }
    .faq_job .inner .heading h2 {
        font-size: var(--fs26);
        letter-spacing: 0.1em;
        writing-mode: horizontal-tb;
        margin: min(calc(100vw * 5 / 1440), 5px);
    }
    .faq_job .inner .container_area article:not(:first-child) {
        margin: min(calc(100vw * 5 / 375), 5px) 0 0 0;
    }
    .faq_job .inner .container_area article h3 {
        font-size: var(--fs16);
        line-height: 1.5;
        padding: min(calc(100vw * 20 / 375), 20px) min(calc(100vw * 50 / 375), 50px) min(calc(100vw * 20 / 375), 20px) min(calc(100vw * 20 / 375), 20px);
        border-radius: min(calc(100vw * 8 / 375), 8px);
        transition: none;
    }
    .faq_job .inner .container_area article h3::before,
    .faq_job .inner .container_area article h3::after {
        width: min(calc(100vw * 20 / 375), 20px);
        height: min(calc(100vw * 2 / 375), 2px);
        right: min(calc(100vw * 15 / 375), 15px);
    }
    .faq_job .inner .container_area article .element {
        padding: min(calc(100vw * 20 / 375), 20px) 0;
    }
}
/* faq_area */
#faq_area.faq_job .inner .container_area article .element {
    padding: min(calc(100vw * 45 / 1440), 45px) min(calc(100vw * 50 / 1440), 50px);
}
#faq_area.faq_job .inner .container_area article .element p {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
@media only screen and (max-width: 768px) {
    #faq_area.faq_job .inner .container_area article .element {
        padding: min(calc(100vw * 20 / 375), 45px);
    }
}
/* job_area */
#job_area.faq_job .inner .container_area article .element .tbl_area .list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: min(calc(100vw * 10 / 1440), 10px) 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list h4 {
    width: min(calc(100vw * 169 / 1440), 169px);
    background-color: var(--pink);
    border-radius: min(calc(100vw * 10 / 1440), 10px);
    padding: min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 10 / 1440), 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item {
    width: calc(100% - min(calc(100vw * 169 / 1440), 169px));
    padding: min(calc(100vw * 25 / 1440), 25px) min(calc(100vw * 30 / 1440), 30px);
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item p {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt5 {
    margin: min(calc(100vw * 5 / 1440), 5px) 0 0 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt10 {
    margin: min(calc(100vw * 10 / 1440), 10px) 0 0 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt15 {
    margin: min(calc(100vw * 15 / 1440), 15px) 0 0 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note01 li,
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note04 ul.child li {
    font-size: var(--fs14);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    color: #666;
    padding: 0 0 0 1.5rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note01 li::before,
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note04 ul.child li::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note02 li {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    padding: 0 0 0 1.5rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note03 li {
    font-size: var(--fs14);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    color: #666;
    padding: 0 0 0 1.5rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note04 li {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    padding: 0 0 0 2rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note02 li::before,
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note03 li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.note04 li::before {
    content: "◯";
    position: absolute;
    top: 0;
    left: 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: min(calc(100vw * 20 / 1440), 20px);
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 dt {
    width: min(calc(100vw * 90 / 1440), 90px);
    font-weight: 500;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 dd {
    width: calc(100% - min(calc(100vw * 110 / 1440), 110px));
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box02 {
    display: flex;
    justify-content: flex-start;
    gap: min(calc(100vw * 5 / 1440), 5px);
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .cont {
    margin: min(calc(100vw * 25 / 1440), 25px) 0 0 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .cont h5 {
    font-size: var(--fs16);
    font-weight: 600;
    letter-spacing: 0.1;
    line-height: 1.8;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt01 li {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    padding: 0 0 0 2rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt01 li::before {
    content: "◎";
    position: absolute;
    top: 0;
    left: 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt02 li {
    font-size: var(--fs16);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.8;
    padding: 0 0 0 2rem;
    position: relative;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt02 li::before {
    position: absolute;
    top: 0;
    left: 0;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt02 li:nth-child(1)::before {
    content: "①";
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item ul.txt02 li:nth-child(2)::before {
    content: "②";
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item p.s14 {
    font-size: var(--fs14);
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .keycolor {
    color: var(--keycolor);
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item .gray {
    color: #666;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item a {
    color: var(--keycolor);
    text-decoration: underline;
}
#job_area.faq_job .inner .container_area article .element .tbl_area .list .item a:hover {
    text-decoration: none;
}
@media only screen and (max-width: 768px) {
    #job_area.faq_job .inner .container_area article .element .tbl_area .list {
        display: block;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list h4 {
        width: 100%;
        border-radius: min(calc(100vw * 8 / 375), 8px);
        padding: min(calc(100vw * 10 / 375), 10px) min(calc(100vw * 10 / 375), 10px);
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item {
        width: 100%;
        padding: min(calc(100vw * 20 / 375), 20px) 0 min(calc(100vw * 45 / 375), 45px) 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt5 {
        margin: min(calc(100vw * 5 / 375), 5px) 0 0 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt10 {
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item .mt15 {
        margin: min(calc(100vw * 15 / 375), 15px) 0 0 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 {
        display: block;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 dt {
        width: 100%;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 dt:not(:nth-of-type(1)) {
        margin: min(calc(100vw * 15 / 375), 15px) 0 0 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box01 dd {
        width: 100%;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item dl.fx_box02 {
        gap: min(calc(100vw * 5 / 375), 5px);
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item .cont {
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
    }
    #job_area.faq_job .inner .container_area article .element .tbl_area .list .item a:hover {
        text-decoration: underline;
    }
}
/* contact_area */
#contact_area {
    margin: var(--s125) 0 0 0;
    padding: var(--s125) 0;
    background-image: url(../../images/content/home/contactBg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
    position: relative;
}
#contact_area::before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.70);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
#contact_area .inner {
    width: var(--w1100);
    margin: 0 auto;
    position: relative;
    z-index: 1;
    color: var(--white);
}
#contact_area .inner h2 {
    display: inline-block;
    font-size: var(--fs42);
    font-weight: 600;
    letter-spacing: 0.1em;
    background-color: var(--keycolor);
    padding: min(calc(100vw * 10 / 1440), 10px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
#contact_area .inner dl.tel {
    margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    display: flex;
    justify-content: center;
    gap: min(calc(100vw * 10 / 1440), 10px);
}
#contact_area .inner dl.tel dt {
    font-family: "Roboto", sans-serif;
    font-size: var(--fs30);
    font-weight: 600;
    position: relative;
    top: min(calc(100vw * 15 / 1440), 15px);
}
#contact_area .inner dl.tel dd a {
    font-family: "Roboto", sans-serif;
    font-size: var(--fs50);
    font-weight: 600;
    color: var(--white);
}
#contact_area .inner dl.tel dd span {
    display: block;
    font-size: var(--fs14);
    letter-spacing: 0.1em;
    margin: min(calc(100vw * 10 / 1440), 10px) 0 0 0;
}
#contact_area .inner h3 {
     margin: min(calc(100vw * 45 / 1440), 45px) 0 0 0;
    text-align: center;
    font-size: var(--fs20);
    font-weight: 500;
    letter-spacing: 0.1em;
}
#contact_area .inner p {
     margin: min(calc(100vw * 13 / 1440), 13px) 0 0 0;
    text-align: center;
    font-size: var(--fs14);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
@media only screen and (max-width: 768px) {
    #contact_area {
        margin: var(--s65) 0 0 0;
        padding: var(--s65) 0;
        background-image: url(../../images/content/home/contactBgSP.webp);
    }
    #contact_area .inner {
        width: 85vw;
        text-align: center;
    }
    #contact_area .inner h2 {
        display: inline;
        font-size: var(--fs24);
        line-height: 2;
        padding: min(calc(100vw * 3 / 375), 3px) min(calc(100vw * 5 / 375), 5px);
        position: static;
        left: 0;
        transform: translateX(0);
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }
    #contact_area .inner dl.tel {
        text-align: left;
        margin: min(calc(100vw * 25 / 375), 25px) 0 0 0;
        gap: min(calc(100vw * 10 / 375), 10px);
    }
    #contact_area .inner dl.tel dt {
        font-size: var(--fs20);
        top: min(calc(100vw * 7 / 375), 7px);
    }
    #contact_area .inner dl.tel dd a {
        font-size: var(--fs30);
    }
    #contact_area .inner dl.tel dd span {
        font-size: var(--fs12);
        margin: min(calc(100vw * 5 / 375), 5px) 0 0 0;
    }
    #contact_area .inner h3 {
        margin: min(calc(100vw * 30 / 375), 30px) 0 0 0;
        font-size: var(--fs16);
    }
    #contact_area .inner p {
        margin: min(calc(100vw * 10 / 375), 10px) 0 0 0;
    }
}