@charset "utf-8";


/************************************
main
************************************/
@media screen and (min-width: 768px) {
	main {
        box-sizing: border-box;
        background: linear-gradient(rgba(34, 91, 177, 0.3), rgba(34, 91, 177, 0.3)), url("../images/index/main_pc.webp");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
		width: 100%;
        height: 60rem;
        padding-top: 21rem;
	}
    
    main h1 {
        width: 41.6rem;
        height: 17rem;
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
	main {
        box-sizing: border-box;
        background: linear-gradient(rgba(34, 91, 177, 0.3), rgba(34, 91, 177, 0.3)), url("../images/index/main_sp.webp");
        background-color: rgba(34, 91, 177, 0.3);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
		width: 100%;
        height: 69rem;
        padding-top: 12rem;
	}
    
    main h1 {
        width: 30rem;
        height: 12.2rem;
        margin: 0 auto;
    }
}


/************************************
.button
************************************/
@media screen and (min-width: 768px) {
    .button {
        position: relative;
        display: block;
        align-content: center;
        background-color: var(--blue);
        color: var(--bw5);
        font-size: 1.8rem;
        font-weight: var(--bold);
        text-align: center;
        border-radius: 4.4rem;
        width: 20rem;
        height: 4.4rem;
    }
    
    .button::after {
        position: absolute;
        display: block;
        background-color: var(--bw5);
        content: "\f105";
        align-content: center;
        font-family: "Font Awesome 6 Free";
        color: var(--blue);
        font-size: 1.8rem;
        line-height: 1em;
        font-weight: 900;
        text-align: center;
        border-radius: 2.6rem;
        width: 2.6rem;
        height: 2.6rem;
        top: 50%;
        right: 1.1rem;
        transform: translateY(-50%);
    }
}

@media screen and (max-width: 767px) {
    .button {
        position: relative;
        display: block;
        align-content: center;
        background-color: var(--blue);
        color: var(--bw5);
        font-size: 1.8rem;
        font-weight: var(--bold);
        text-align: center;
        border-radius: 4.4rem;
        width: 20rem;
        height: 4.4rem;
    }
    
    .button::after {
        position: absolute;
        display: block;
        background-color: var(--bw5);
        content: "\f105";
        align-content: center;
        font-family: "Font Awesome 6 Free";
        color: var(--blue);
        font-size: 1.8rem;
        line-height: 1em;
        font-weight: 900;
        text-align: center;
        border-radius: 2.6rem;
        width: 2.6rem;
        height: 2.6rem;
        top: 50%;
        right: 1.1rem;
        transform: translateY(-50%);
    }
}


/************************************
#about
************************************/
@media screen and (min-width: 768px) {
	#about {
        background-color: var(--bw5);
        width: 100%;
        padding: 7rem 0 10rem;
	}
    
    #about .wrapper {
        width: 100rem;
        margin: 0 auto;
    }
    
    #about .wrapper .container {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-bottom: 5rem;
    }
    
    #about .wrapper .container .text {
        box-sizing: border-box;
        width: 31.5rem;
        padding-top: 8rem;
    }
    
    #about .wrapper .container .text hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 100%;
        padding-left: 2rem;
        margin-bottom: 3rem;
    }
    
    #about .wrapper .container .text hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #about .wrapper .container .text hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #about .wrapper .container .text>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
    }
    
    #about .wrapper .container img {
        width: 61rem;
        height: 39.7rem;
    }
    
    #about .wrapper .button {
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
	#about {
        background-color: var(--bw5);
        width: 100%;
        padding: 5rem 0 10rem;
	}
    
    #about .wrapper {
        width: 34rem;
        margin: 0 auto;
    }
    
    #about .wrapper .container {
        width: 100%;
        margin-bottom: 5.5rem;
    }
    
    #about .wrapper .container .text {
        width: 100%;
        margin-bottom: 3rem;
    }
    
    #about .wrapper .container .text hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 100%;
        padding-left: 2rem;
        margin-bottom: 3rem;
    }
    
    #about .wrapper .container .text hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #about .wrapper .container .text hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #about .wrapper .container .text>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
    }
    
    #about .wrapper .container img {
        width: 100%;
        height: 22.1rem;
    }
    
    #about .wrapper .button {
        margin: 0 auto;
    }
}


/************************************
#business
************************************/
@media screen and (min-width: 768px) {
	#business {
        background-color: var(--beige);
        background-image: url("../images/index/business_logo.webp");
        background-repeat: no-repeat;
        background-position: bottom center;
        background-size: 100rem 28.7rem;
        width: 100%;
        padding: 5.5rem 0 10rem;
	}
    
    #business>hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 100rem;
        padding-left: 2rem;
        margin: 0 auto 3rem;
    }
    
    #business>hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #business>hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #business .js-scrollable {
        width: 100%;
        padding: 0 calc((100% - 100rem) /2);
        margin-bottom: 5rem;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    
    #business .js-scrollable::-webkit-scrollbar {
        display: none;
    }
    
    #business .js-scrollable ol {
        display: inline-flex;
        gap: 0 4rem;
    }
    
    #business .js-scrollable ol li {
        position: relative;
        width: 25rem;
    }
    
    #business .js-scrollable ol li::after {
        position: absolute;
        display: block;
        content: "";
        background-color: var(--bw3);
        width: 0.1rem;
        height: 25rem;
        top: 0;
        right: calc(-4rem / 2);
    }
    
    #business .js-scrollable ol li:last-child::after {
        display: none;
    }
    
    #business .js-scrollable ol li img {
        width: 100%;
        height: 25rem;
        margin-bottom: 1rem;
    }
    
    #business .js-scrollable ol li hgroup {
        display: flex;
        gap: 0 1rem;
        box-sizing: border-box;
        margin-bottom: 2.5rem;
    }
    
    #business .js-scrollable ol li hgroup .number {
        font-family: "Inter", sans-serif;
        color: var(--blue);
        font-size: 2rem;
        font-weight: 500;
        letter-spacing: 0.02em;
        margin-top: 1.5rem;
    }
    
    #business .js-scrollable ol li hgroup h3 {
        color: var(--bw1);
        font-size: 3rem;
        line-height: 4rem;
        font-weight: var(--regular);
        text-align: left;
    }
    
    #business .js-scrollable ol li>p {
        color: var(--bw2);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
    }
    
    #business .button {
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
	#business {
        background-color: var(--beige);
        background-image: url("../images/index/business_logo.webp");
        background-repeat: no-repeat;
        background-position: bottom 8rem center;
        background-size: 39rem 11.2rem;
        width: 100%;
        padding: 6rem 0 10rem;
	}
    
    #business>hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 34rem;
        padding-left: 2rem;
        margin: 0 auto 3rem;
    }
    
    #business>hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #business>hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #business .js-scrollable {
        width: 100%;
        padding: 0 calc((100% - 34rem) /2);
        margin-bottom: 5rem;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    
    #business .js-scrollable::-webkit-scrollbar {
        display: none;
    }
    
    #business .js-scrollable ol {
        display: inline-flex;
        gap: 0 4rem;
    }
    
    #business .js-scrollable ol li {
        position: relative;
        width: 25rem;
    }
    
    #business .js-scrollable ol li::after {
        position: absolute;
        display: block;
        content: "";
        background-color: var(--bw3);
        width: 0.1rem;
        height: 25rem;
        top: 0;
        right: calc(-4rem / 2);
    }
    
    #business .js-scrollable ol li:last-child::after {
        display: none;
    }
    
    #business .js-scrollable ol li img {
        width: 100%;
        height: 25rem;
        margin-bottom: 1rem;
    }
    
    #business .js-scrollable ol li hgroup {
        display: flex;
        gap: 0 1rem;
        box-sizing: border-box;
        margin-bottom: 2.5rem;
    }
    
    #business .js-scrollable ol li hgroup .number {
        font-family: "Inter", sans-serif;
        color: var(--blue);
        font-size: 2rem;
        font-weight: 500;
        letter-spacing: 0.02em;
        margin-top: 1.5rem;
    }
    
    #business .js-scrollable ol li hgroup h3 {
        color: var(--bw1);
        font-size: 3rem;
        line-height: 4rem;
        font-weight: var(--regular);
        text-align: left;
    }
    
    #business .js-scrollable ol li>p {
        color: var(--bw2);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
    }
    
    #business .button {
        margin: 0 auto;
    }
}


/************************************
#result
************************************/
@media screen and (min-width: 768px) {
	#result {
        background-color: var(--bw5);
        width: 100%;
        padding: 5.5rem 0 10rem;
	}
    
    #result .wrapper {
        width: 100rem;
        margin: 0 auto;
    }
    
    #result .wrapper hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 100%;
        padding-left: 2rem;
        margin-bottom: 3rem;
    }
    
    #result .wrapper hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #result .wrapper hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #result .wrapper .container {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    
    #result .wrapper .container img {
        width: 46rem;
        height: 25.4rem;
    }
    
    #result .wrapper .container .text {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
        width: 50rem;
    }
    
    #result .wrapper .container .text>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
	#result {
        background-color: var(--bw5);
        width: 100%;
        padding: 6rem 0 12rem;
	}
    
    #result .wrapper {
        width: 34rem;
        margin: 0 auto;
    }
    
    #result .wrapper hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 100%;
        padding-left: 2rem;
        margin-bottom: 3rem;
    }
    
    #result .wrapper hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #result .wrapper hgroup h2 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #result .wrapper .container {
        width: 100%;
    }
    
    #result .wrapper .container img {
        width: 100%;
        height: 18.7rem;
        margin-bottom: 1.4rem;
    }
    
    #result .wrapper .container .text {
        width: 100%;
    }
    
    #result .wrapper .container .text>p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 100%;
        margin-bottom: 2.5rem;
    }
    
    #result .wrapper .container .text .button {
        margin: 0 auto;
    }
}


/************************************
#other
************************************/
@media screen and (min-width: 768px) {
	#other {
        background-color: var(--beige);
        width: 100%;
        padding: 6rem 0 10rem;
	}
    
    #other .wrapper {
        display: flex;
        width: 100rem;
        margin: 0 auto;
    }
    
    #other .wrapper .container {
        flex: 0 0 50%;
        box-sizing: border-box;
    }
    
    #other .wrapper .container#company {
        border-right: 0.1rem solid var(--bw3);
        padding-right: 4rem;
    }
    
    #other .wrapper .container#recruit {
        padding-left: 4rem;
    }
    
    #other .wrapper .container hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        padding-left: 2rem;
        margin-bottom: 3rem;
    }
    
    #other .wrapper .container hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #other .wrapper .container hgroup h3 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #other .wrapper .container .text {
        display: flex;
        justify-content: space-between;
        margin-bottom: 3rem;
    }
    
    #other .wrapper .container .text img {
        width: 23rem;
        height: 12.7rem;
    }
    
    #other .wrapper .container .text p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 21.3rem;
    }
}

@media screen and (max-width: 767px) {
	#other {
        background-color: var(--beige);
        width: 100%;
	}
    
    #other .wrapper {
        width: 100%;
    }
    
    #other .wrapper .container {
        flex: 0 0 50%;
        box-sizing: border-box;
        padding: 6rem 0;
    }
    
    #other .wrapper .container#company {
        border-bottom: 0.1rem solid var(--bw3);
    }
    
    #other .wrapper .container hgroup {
        box-sizing: border-box;
        border-left: 0.5rem solid var(--blue);
        width: 34rem;
        padding-left: 2rem;
        margin: 0 auto 3rem;
    }
    
    #other .wrapper .container hgroup p {
        color: var(--bw1);
        font-size: 1.4rem;
        font-weight: var(--regular);
        margin-bottom: 1.5rem;
    }
    
    #other .wrapper .container hgroup h3 {
        font-family: "Inter", sans-serif;
        color: var(--bw1);
        font-size: 4.4rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }
    
    #other .wrapper .container .text {
        display: flex;
        justify-content: space-between;
        width: 34rem;
        margin: 0 auto 3rem;
    }
    
    #other .wrapper .container .text img {
        width: 17rem;
        height: 9.4rem;
    }
    
    #other .wrapper .container .text p {
        color: var(--bw1);
        font-size: 1.6rem;
        line-height: 2.6rem;
        font-weight: var(--regular);
        text-align: justify;
        width: 16rem;
    }
    
    #other .wrapper .container .button {
        margin: 0 auto;
    }
}