html {
    scroll-behavior: smooth;
}

body {
    background-color: #FFF1D8;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.3'/%3E%3C/svg%3E"), radial-gradient(circle 45rem at 90% 10rem, rgba(255, 224, 90, 0.3) 0%, transparent 35%), linear-gradient(90deg, #C8F1F3 0%, #E6EDE8 20%, #F8DFBB 40%, #F8DFBB 60%);
}

.main {
    padding: 16rem 8rem 14rem;
    overflow: hidden;
}

/* パンくずリスト */
.breadcrumb {
    width: 112rem;
    margin: 0 auto 8rem;
}

.breadcrumb__list {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb__item {
    color: #1E2328;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: calc(5 / 100 * 16 / 10 * 1rem);
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.breadcrumb__item::after {
    content: "";
    margin-top: 1rem;
    width: 1rem;
    height: 1rem;
    border-top: 0.2rem solid #777;
    border-right: 0.2rem solid #777;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}


.breadcrumb__item:last-child:after {
    display: none;
}


.breadcrumb__item a {
    text-decoration: none;
}

.breadcrumb__item:last-child {
    color: #EE7B49;
}

.intro h1 {
    font-size: 3.2rem;
    font-weight: 700;
    color: #1E2328;
    margin-bottom: 2rem;
}

.intro h1 span {
    font-size: 2rem;
    color: #EE7B49;
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
}

.intro h1 span::before {
    content: "";
    background-color: #EE7B49;
    border-radius: 50%;
    width: 1.4rem;
    height: 1.4rem;
}

.intro p {
    font-size: 1.6rem;
    color: #1E2328;
    margin-bottom: 8rem;
    letter-spacing: 5%;
}

.intro__nav {
    width: fit-content;
    margin-bottom: 12rem;
}

.intro__nav ul {
    display: flex;
    gap: 2rem;
}

.intro__nav ul li a {
    border-radius: 3rem;
    padding: 1rem 2rem;
    background-color: #F5F5F5;
    color: #EE7B49;
    border: 0.1rem solid #EE7B49;
    font-size: 1.6rem;
    font-weight: 500;
    box-shadow: 0 0.4rem 0.4rem #00000040;
    display: block;
    transition: all 0.5s;
}

.intro__nav ul li a:hover {
    color: #F5F5F5;
    background-color: #EE7B49;
}

.intro__content {
    position: relative;
    margin-left: 2rem;
    padding-bottom: 17.1rem;
    margin-bottom: 8.2rem;
}

.intro__content h2 {
    font-size: 4rem;
    font-weight: 500;
    color: #1E2328;
    width: fit-content;
    margin-bottom: 8rem;
}

.intro__content h2 span {
    font-size: 3.2rem;
}

.intro__content p {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 / 16);
    letter-spacing: 5%;
    margin-bottom: 0;
}

.intro__content .intro__img {
    position: absolute;
    right: 0;
    top: 0;
}

.intro__content .intro__img img {
    width: 63.4rem;
    height: auto;
}

.intro__content .intro__img--deco {
    right: auto;
    left: 0;
    top: auto;
    bottom: 0;
}

.intro__content .intro__img--deco img {
    width: 51.9rem;
    height: 12.8rem;
}

.employee {
    margin-bottom: 12rem;
    width: 120rem;
}

.employee h2,
.work h2,
.message h2,
.contribution h2,
.app h2,
.part h2 {
    display: flex;
    gap: 2rem;
    font-size: 2.4rem;
    font-weight: 500;
    align-items: center;
    color: #1E2328;
}

.employee h2::before,
.work h2::before,
.message h2::before,
.contribution h2::before,
.app h2::before,
.part h2::before {
    content: "";
    width: 0.3rem;
    height: 8rem;
    background-color: #EE7B49;
}

.employee h2 {
    margin-bottom: 4rem;
}

.employee p {
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 / 16);
    margin-bottom: 8rem;
}

.employee__content {
    display: flex;
    gap: 12rem;
}

.employee__left {
    margin-top: 8rem;
    width: 25.7rem;
    flex-shrink: 0;
}

.employee__left p {
    margin-bottom: 4rem;
}

.interview-swiper {
    width: 100%;
    height: 38.3rem;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}

.interview-swiper .swiper-wrapper {
    display: flex;
    align-items: flex-end;
    height: 100% !important;
}

.interview-swiper a {
    display: block;
    width: 100%;
    height: 100%;
    /* border-radius: 2.5rem;
    overflow: hidden; */
}

.interview-swiper .swiper-slide {
    width: 57.5rem !important;
    height: 100% !important;
    box-sizing: border-box;
}

.interview-swiper .swiper-media {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: 2.5rem;
    overflow: hidden;
    box-sizing: border-box;
    transform: scale(0.6);
    transform-origin: left bottom;
    transition: transform 0.45s ease;
}

.interview-swiper .swiper-slide-active .swiper-media {
    transform: scale(1);
}

.interview-swiper figure {
    width: 100%;
    height: 100%;
    border-radius: 2.5rem;
    overflow: hidden;
    position: absolute;
    top: 0;
}

.interview-swiper figure img {
    width: 100%;
    height: 100%;
}

.interview-swiper h3 {
    position: absolute;
    bottom: 0;
    width: fit-content;
    background-color: #F5F5F5CC;
    color: #1E2328;
    font-size: 2rem;
    font-weight: 500;
    padding: 1rem 2rem;
}

.interview-swiper .employee__icon {
    width: 4rem;
    height: 4rem;
    display: block;
    position: absolute;
    top: auto;
    bottom: 1.4rem;
    right: 1.4rem;
}

.swiper-button-box {
    display: flex;
    justify-content: center;
    gap: 4rem;
    margin-top: 4rem;
}

.employee__left .swiper-button-box .swiper-button-prev,
.employee__left .swiper-button-box .swiper-button-next {
    position: relative;
    inset: auto;
    display: block;
    flex: 0 0 4.8rem;
    width: 4.8rem;
    height: 4.8rem;
    margin: 0;
    padding: 0;
    border: 0.1rem solid #FF6F31;
    border-radius: 50%;
    background-color: #FFFFFF;
    color: #EE7B49;
    box-sizing: border-box;
    cursor: pointer;
    transition: background-color 0.5s, color 0.5s;
}

.employee__left .swiper-button-box .swiper-button-prev::after,
.employee__left .swiper-button-box .swiper-button-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 0.1rem solid currentColor;
    border-right: 0.1rem solid currentColor;
    font-size: 0;
}

.employee__left .swiper-button-box .swiper-button-prev::after {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.employee__left .swiper-button-box .swiper-button-next::after {
    transform: translate(-65%, -50%) rotate(45deg);
}

.employee__left .swiper-button-box .swiper-button-prev:hover,
.employee__left .swiper-button-box .swiper-button-next:hover {
    background-color: #EE7B49;
    color: #FFFFFF;
}

.swiper-pagination {
    display: flex;
    gap: 4rem;
    width: 25.7rem !important;
    justify-content: center;
}

.swiper-pagination-bullet {
    background-color: #40B0FF;
    flex-shrink: 0;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background-color: #EE7B49;
}

.work {
    margin-bottom: 12rem;
}

.work h2 {
    margin-bottom: 12rem;
}

.work__content {
    display: flex;
    gap: 2rem;
    margin-bottom: 4rem;
}

.work__card {
    width: 36rem;
    height: 54rem;
    border-radius: 2.4rem;
    background-color: #F5F5F5;
    box-shadow: 0 0.4rem 0.4rem #00000040;
    overflow: hidden;
}

.work__card:nth-child(2) {
    margin-top: 4rem;
}

.work__card:nth-child(3) {
    margin-top: 8rem;
}

.work__card figure {
    width: 36rem;
    margin-bottom: 3rem;
}

.work__card figure img {
    width: 100%;
    height: 100%;
}

.work__card h3 {
    margin-inline: 2rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 2rem;
    font-size: 2.4rem;
    font-weight: 500;
    color: #1E2328;
}

.work__card h3::before {
    content: "";
    width: 0.3rem;
    height: 4rem;
    background-color: #E8A583;
}

.work__card p {
    margin-inline: 2rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    letter-spacing: 5%;
    line-height: calc(28 / 16);
}

.employee__interview-button,
.work button,
.message button,
.app button,
.part button {
    display: block;
    width: fit-content;
    border: 1px solid transparent;
    border-radius: 5rem;
    background:
        linear-gradient(#F5F5F5, #F5F5F5) padding-box,
        linear-gradient(90deg, #FF6F31, #FFC2A8) border-box;
    position: relative;
    margin-inline: auto;
    transition: all 0.5s;
    color: #555555;
}

.employee__interview-button a,
.work button a,
.message button a,
.app button a,
.part button a {
    padding: 2.2rem 2.4rem;
    display: flex;
    align-items: center;
    gap: 2.5rem;
    font-size: 1.8rem;
    font-weight: 500;
}

.employee__interview-button a {
    gap: 4.5rem;
}

.employee__interview-button a::after,
.work button a::after,
.message button a::after,
.app button a::after,
.part button a::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-left: 1.7rem solid #EE7B49;
    border-right: 0;
}

.employee__interview-button:hover,
.work button:hover,
.message button:hover,
.app button:hover,
.part button:hover {
    background:
        linear-gradient(#EE7B49, #EE7B49) padding-box,
        linear-gradient(90deg, #FF6F31, #FFC2A8) border-box;
    color: #FFFFFF;
}

.employee__interview-button:hover a::after,
.work button:hover a::after,
.message button:hover a::after,
.app button:hover a::after,
.part button:hover a::after {
    border-left-color: #FFFFFF;
}

.message {
    margin-bottom: 12rem;
}

.message h2 {
    margin-bottom: 8rem;
}

.message__content {
    display: flex;
    gap: 4rem;
}

.message__content figure img {
    width: 64rem;
    height: 48rem;
    border-radius: 2.5rem;
}

.message__content div {
    display: flex;
    gap: 8rem;
    flex-direction: column;
    justify-content: center;
}

.message__content p {
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 /16);
    letter-spacing: 5%;
}

.message button {
    margin: 0;
}

.message button a,
.app button a {
    gap: 4rem;
}

.contribution {
}

.contribution h2 {
    margin-bottom: 4rem;
}

.contribution p {
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    margin-bottom: 8rem;
}

.contribution__content {
    display: flex;
    gap: 4rem;
    flex-wrap: wrap;
    margin-inline: auto;
    width: 92.6rem;
    align-items: center;
}

.contribution__content div {
    width: 44rem;
    height: 48rem;
    border-radius: 2.4rem;
    background-color: #F5F5F5;
    overflow: hidden;
    box-shadow: 0 0.4rem 0.4rem #00000040;
}

.contribution__content div figure img {
    width: 44rem;
    height: 22rem;
    margin-bottom: 2rem;
}

.contribution__content div:nth-child(3) figure img {
    object-position: 0 0;
}

.contribution__content div h3 {
    display: flex;
    margin-inline: 2rem;
    gap: 2rem;
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 2rem;
    align-items: center;
    color: #1E2328;
}

.contribution__content div h3::before {
    content: "";
    background-color: #EE7B49;
    width: 0.3rem;
    height: 4rem;
}

.contribution__content div p {
    margin-inline: 2rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 / 16);
    letter-spacing: 5%;
}

.contribution__img {
    position: relative;
    top: -4rem;
    right: -60rem;
}

.contribution__img img {
    width: 30.9rem;
    height: 30.9rem;
}

.app {
    padding-bottom: 12rem;
    position: relative;
}

.app h2 {
    margin-bottom: 4rem;
}

.app__content {
    display: flex;
    gap: 5.5rem;
    margin-bottom: 4rem;
}

.app__content a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.app__recruit {
    margin-top: 12rem;
}

.app__recruit figure img {
    width: 56.2rem;
    height: 48.4rem;
    margin-bottom: 4rem;
}

.app__entry figure img {
    width: 51.7rem;
    height: 43.5rem;
    margin-bottom: 4rem;
}

.app__content p {
    display: flex;
    gap: 4rem;
    font-size: 2.4rem;
    font-weight: 700;
    color: #1E2328;
}

.app__content p img {
    width: 4rem;
    height: 4rem;
}

.app__bg {
    position: absolute;
    bottom: 0;
    right: 0;
}

.app__bg img {
    width: 30.9rem;
    height: 30.9rem;
}

.part {
    margin-bottom: 12rem;
}

.part h2 {
    margin-bottom: 8rem;
}

.part__content {
    display: flex;
    gap: 4rem;
    align-items: center;
    margin-bottom: 8rem;
}

.part__text {
    width: 44rem;
}

.part__text p {
    margin-bottom: 4rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 / 16);
    letter-spacing: 5%;
}

.part__text dl {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.part__text dl div {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.part__text dl dt {
    font-size: 2rem;
    font-weight: 500;
    color: #1E2328;
    display: flex;
    gap: 2rem;
    align-items: center;
}

.part__text dl dt img {
    width: 2.4rem;
    height: 2.4rem;
}

.part__text dl dd {
    font-size: 1.6rem;
    font-weight: 500;
    color: #1E2328;
    line-height: calc(28 / 16);
    letter-spacing: 5%;
}

.part__img img {
    width: 64rem;
    height: 48rem;
    border-radius: 2.5rem;
}

.top-link {
    display: flex;
    gap: 4rem;
    font-size: 2rem;
    font-weight: 500;
    color: #1E2328;
    align-items: center;
    justify-content: center;
    margin-bottom: 14rem;
}

.top-link img {
    width: 4rem;
    height: 4rem;
}

@media screen and (max-width: 699.98px) {
    .main {
        padding: 11.6rem 2rem;
    }

    .breadcrumb{
        margin-bottom: 2rem;
    }

    .breadcrumb__list {
        gap: 1.2rem;
    }

    .breadcrumb__item {
        gap: 1rem;
        font-size: 1.2rem;
        line-height: calc(100 / 100);
        letter-spacing: calc(5 / 100 * 12 / 10 * 1rem);
    }

    .breadcrumb__item::after {
        width: 0.7rem;
        height: 0.7rem;
    }

    .intro h1 {
        font-size: 2.4rem;
        margin-bottom: 1.2rem;
    }

    .intro h1 span {
        font-size: 1.6rem;
    }

    .intro p {
        font-size: 1.4rem;
        line-height: 175%;
        margin-bottom: 7.2rem;
    }

    .intro__content {
        padding-bottom: 46.5rem;
        margin-left: 0;
        margin-bottom: 7.2rem;
    }

    .intro__content h2 {
        font-size: 2.3rem;
        letter-spacing: 9%;
        margin-bottom: 2rem;
    }

    .intro__content h2 span {
        font-size: 1.8rem;
    }

    .intro__content p {
        gap: 0;
        margin-bottom: 2.4rem;
    }

    .intro__content .intro__img {
        bottom: 12.1rem;
        top: auto;
        left: -2rem;
    }

    .intro__content .intro__img img {
        width: 37.5rem;
    }

    .intro__content .intro__img--deco {
        bottom: 0;
        left: -3.5rem;
    }

    .intro__content .intro__img--deco img {
        width: 39.5rem;
        height: 9.7rem;
    }

    .employee h2,
    .work h2,
    .message h2,
    .contribution h2,
    .app h2,
    .part h2 {
        gap: 1.6rem;
        font-size: 1.8rem;
    }

    .employee h2::before,
    .work h2::before,
    .message h2::before,
    .contribution h2::before,
    .app h2::before,
    .part h2::before {
        height: 4rem;
    }

    .employee {
        width: 33.5rem;
        margin-bottom: 7.2rem;
    }

    .employee h2 {
        margin-bottom: 2.4rem;
    }

    .employee p {
        font-size: 1.4rem;
        line-height: 175%;
        letter-spacing: 5%;
        margin-bottom: 2.4rem;
    }

    .employee__content {
        flex-direction: column;
        gap: 0;
    }

    .interview-swiper {
        order: -1;
        width: 33.5rem;
        height: 22.3rem;
    }

    .interview-swiper .swiper-slide {
        width: 33.5rem !important;
    }

    .employee__left {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 2.4rem;
    }

    .employee__left .swiper-button-box {
        order: 1;
        margin-top: 0;
    }

    .employee__left .swiper-pagination {
        position: static;
        order: 2;
        width: 25.7rem !important;
        margin-top: 2.4rem;
    }

    .employee__left p {
        order: 3;
        margin: 2.4rem 0 0;
        font-size: 1.4rem;
        line-height: 1.75;
    }

    .employee__interview-button {
        order: 4;
        width: 30rem;
        margin-top: 2.4rem;
    }

    .employee__interview-button a {
        justify-content: space-between;
        width: 100%;
        padding: 1.4rem 2.4rem;
        box-sizing: border-box;
        font-size: 1.8rem;
    }

    .interview-swiper .employee__icon{
        display: none;
    }

    .work button,
    .message button,
    .app button,
    .part button {
        width: 30rem;
    }

    .work button a,
    .message button a,
    .app button a,
    .part button a {
        justify-content: space-between;
        width: 100%;
        padding: 1.4rem 2.4rem;
        box-sizing: border-box;
        font-size: 1.8rem;
    }

    .work {
        margin-bottom: 7.2rem;
    }

    .work h2 {
        margin-bottom: 2.4rem;
    }

    .work__content {
        flex-direction: column;
        gap: 2.4rem;
    }

    .work__card {
        width: 33.5rem;
        height: 45rem;
    }

    .work__card:nth-child(2) {
        margin-top: 0;
        height: 48rem;
    }

    .work__card:nth-child(3) {
        margin-top: 0;
        height: 43rem;
    }

    .work__card figure {
        width: 100%;
    }

    .work__card h3 {
        font-size: 1.8rem;
    }

    .work__card p {
        font-size: 1.4rem;
    }

    .message {
        margin-bottom: 7.2rem;
    }

    .message h2 {
        margin-bottom: 2.4rem;
    }

    .message__content {
        flex-direction: column;
        gap: 2.4rem;
    }

    .message__content figure img {
        width: 33.5rem;
        height: 25.1rem;
    }

    .message__content div {
        gap: 2.4rem;
    }

    .message__content p {
        font-size: 1.4rem;
    }

    .contribution {
        margin-bottom: 7.2rem;
    }

    .contribution h2 {
        margin-bottom: 2rem;
    }

    .contribution p {
        font-size: 1.4rem;
        margin-bottom: 2.4rem;
    }

    .contribution__content {
        width: 33.5rem;
        flex-direction: column;
        gap: 2.4rem;
    }

    .contribution__content div {
        width: 33.5rem;
        height: 42.9rem;
    }

    .contribution__content div figure img {
        width: 100%;
        height: 16.8rem;
    }
    
    .contribution__content div h3 {
        font-size: 1.8rem;
    }

    .contribution__content div p {
        font-size: 1.4rem;
    }

    .contribution__img {
        display: none;
    }

    .app {
        margin-bottom: 7.2rem;
        padding-bottom: 0;
    }

    .app h2 {
        margin-bottom: 2.4rem;
    }

    .app__content {
        flex-direction: column
    }

    .app__content p {
        font-size: 1.8rem;
        align-items: center;
    }

    .app__recruit {
        margin-top: 0;
    }

    .app__recruit figure img {
        width: 33.5rem;
        height: 28.8rem;
        margin-bottom: 1.6rem;
    }

    .app__entry figure img {
        width: 33.5rem;
        height: 28.2rem;
        margin-bottom: 1.6rem;
    }

    .part {
        margin-bottom: 3.8rem;
    }

    .part h2 {
        margin-bottom: 2.4rem;
    }

    .part__content {
        flex-direction: column;
        gap: 2.4rem;
        margin-bottom: 2.4rem;
    }

    .part__text {
        width: 100%;
    }

    .part__text p {
        font-size: 1.4rem;
        margin-bottom: 2rem;
    }

    .part__text dl {
        gap: 2rem;
    }

    .part__text dl dt {
        font-size: 1.6rem;
    }

    .part__text dl dd {
        font-size: 1.4rem;
    }

    .part__img img {
        width: 100%;
        height: 25.1rem;
    }

    .top-link {
        font-size: 1.6rem;
        margin-bottom: 0;
    }
}