﻿@charset "utf-8";
:root {
    --background-gradient:linear-gradient(180deg, #fdfcfb 0%, #e2d1c3 100%);
}
/*==================================================
    共通
==================================================*/
html {
    scroll-padding-top: 85px;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
}

.section {    
    padding: 5rem 0;
}

.bg_beige {
    background-color: var(--color-beige);
}

.bg_white {
    background: var(--color-white);
}

.bg_orange {
    background: var(--color-pale-orange);
}

.content_wrap {
    margin: 5.5rem 5% 0;
}

.page_head {
    position: relative;
    padding: 90px 0;
}

.page_head::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 300px;
    background-image: var(--background-gradient);
    z-index: -1;
    content: "";
}

.breadcrumbs_wrap {
    padding: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    font-size: 80%;
}

.page_head_inner {
    position: relative;
    height: 300px;
}

.about .page_head_inner {    
    background: url(../images/recruit/about.JPG) no-repeat 50% 50%;
    background-size: cover;
}

.works .page_head_inner {    
    background: url(../images/recruit/works.JPG) no-repeat 50% 50%;
    background-size: cover;
}

.recruiting .page_head_inner {    
    background: url(../images/recruit/recruit.JPG) no-repeat 50% 50%;    
    background-size: cover;
}

.page_heading {
    position: absolute;
    bottom: -70px;
    left: 20px;
    width: 32rem;
    padding: 2rem;
    background-color: var(--color-white);
}

.page_heading .jp, .interview_heading .jp {
    color: var(--color-orange);
    font-size: 200%;
    font-weight: 800;
}

.page_heading .en, .interview_heading .en {
    color: var(--color-blue-gray);
    margin-top: 1rem;
}

.page_nav_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 90px 20px 0;
}

.page_arrow::after {
    border-color: var(--color-orange);
}

.arrow_bottom:hover::after {
    top: .5em;
}

.page_nav_item a:hover::after {
	border-color: var(--color-orange) var(--color-orange) transparent transparent;
}

@media only screen and (max-width: 767.9px) {

    .page_heading {
        left: 0;
        right: 0;
        width: 95%;
        margin: 0 auto;
    }
    
    .page_heading .jp {
        font-size: 160%;
    }
}

.section_title {
    position: relative;
    width: 100%;
    padding: 0 .5rem .5rem;
    color: var(--color-blue-gray);
    font-size: 200%;
    font-weight: 600;
    text-align: center;
}

.section_title:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    background: var(--color-orange);
    border-radius: 3px;
    content: '';
}

.content_title {
    color: var(--color-blue-gray);
    font-size: 150%;
    font-weight: 600;
}

@media only screen and (max-width: 767.9px) {

    .section_title {
        font-size: 150%;
    }
}

.lead {
    margin: 0 auto;
    padding: 2rem 0;
    text-align: center;
}
/*==================================================
    ヘッダー
==================================================*/
#header {
    position: relative;
    width: 100%;
}

.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    height: 85px;
    width: 100%;
    padding-left: 40px;
    z-index: 100;
    transition: 0.5s;
}

.header_inner.fixed {    
    background-color: var(--color-beige);
}

#logo {
    width: 200px;
}

.button_list {
    display:flex;
    align-items: center;
}

.entry-menu {
    position: relative;
}

.entry-child-menu {
    display: none;
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    width: 300px;
    margin: 0 auto;
    padding: 2rem;
    background-color: var(--color-pale-orange);
}

.entry-child-menu.open {
    display: block;
}

.entry-child-menu li {
    width: 200px;
    margin: 2rem auto;
}

.button-entry {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
    width: 8rem;
    height: 85px;
    padding: 10px; 
    background-color: var(--color-orange);
    color: var(--color-white);
    cursor: pointer;
}

.menu_icon_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 85px;
    height: 85px;
    background-color: var(--color-dark-black);
}

#menu_icon {
    display: block;
    margin-right: auto;
}

#menu_icon span {
    background-color: var(--color-white);
}

#nav {
    display: none;
    position: relative;
    z-index: 50;
}

#nav.open {
    display: block;
}

.menu_wrap {
    display: grid;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100vh;
    padding-top: 85px;
    background-color: var(--color-beige);
    overflow: scroll;
}

.menu_item_link-jp {
	display: inline-block;
	vertical-align: middle;
    position: relative;
	padding: 0 0 0 22px;
    font-size: 150%;
    font-weight: 700;
}
.menu_item_link-jp::before,
.menu_item_link-jp::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
}

.menu_item_link-jp::before{
	left: 2px;
	width: 12px;
	height: 3px;
	background: var(--color-orange);
}

.menu_item_link-jp::after{
	left: 6px;
	width: 6px;
	height: 6px;
	border-top: 3px solid var(--color-orange);
	border-right: 3px solid var(--color-orange);
	transform: rotate(45deg);
}

.menu_item_link-en {
    padding-left: 22px;
    color: var(--color-blue-gray);
}

.menu_sub {
    margin-left: 1rem;
}

.menu_sub_item {
    display: flex;
    align-items: center;
}

.menu_sub_item:before {
    width: .8em;
    margin-right: 1em;
    border-top: 2px solid var(--color-orange);
    content: "";
}

.menu_link {
    color: transparent;
    text-shadow: 0 -1.5em 0 var(--color-black), 0 0 0 var(--color-black);
    overflow: hidden;
    transition: text-shadow 0.4s cubic-bezier(0.76, 0, 0.24, 1);
}

.menu_link:hover {
    text-shadow: 0 0 0 var(--color-black), 0 1.5em 0 var(--color-black);
}

@media only screen and (min-width: 768px) {

    .menu_list {
        display: grid;
        justify-content: center;
        grid-auto-flow: column;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 3rem;
        max-width: 800px;
        margin: 0 auto;
        padding: 3rem 2rem;
    }
    
    .menu_item:nth-child(1) {
        grid-area: 1 / 1 / 3 / 2;
    }

    .menu_item:nth-child(2) {
        grid-area: 3 / 1 / 5 / 2;
    }

    .menu_item:nth-child(3) {
        grid-area: 5 / 1 / 7 / 2;
    }

    .menu_item:nth-child(4) {
        grid-area: 1 / 2 / 2 / 3;
    }

    .menu_item:nth-child(5) {
        grid-area: 2 / 2 / 4 / 3;
    }
}

@media only screen and (max-width: 767.9px) {

    .header_inner {
        padding-left: 10px;
    }

    #logo {
        width: 130px;
    }
    
    .entry-menu {
        position: static;
    }

    .button-entry {
        width: 7em;
    }

    .entry-child-menu {
        right: 0;
        left: 0; 
        width: calc(100vw - 20px);
    }

    .menu_wrap {
        height: 100%;
    }

    .menu_list {
        display: grid;
        justify-content: center;
        grid-template-columns: 1fr;
        gap: 2rem 3rem;
        width: 100%;
        margin: 0 auto;
        padding: 3rem 1.5rem;
    }

    .menu_item_link-jp {
        font-size: 120%;
    }
}
/*==================================================
    フッター
==================================================*/
.footer-menu_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem 1.5rem;
    color: var(--color-white);
}

.footer-menu_list a {
    color: var(--color-white);
}

.footer-menu_list a:hover {
    color: var(--color-orange);
}

.footer-menu_link {
    font-size: 120%;
    font-weight: 600;
}

.footer-sub-menu {
    margin-top: 1rem;
}

.footer-sub-menu li {
    padding-bottom: 10px;
}

.footer-bottoms_list {
    display: flex;
    gap: 1rem;
}

@media only screen and (min-width: 1280px) {

    .footer-menu_list {
        grid-template-columns: repeat(4, auto);
    }
    
    .footer-menu_item:nth-child(1) {
        grid-area: 1 / 1 / 3 / 2;
    }

    .footer-menu_item:nth-child(2) {
        grid-area: 1 / 2 / 3 / 3;
    }

    .footer-menu_item:nth-child(3) {
        grid-area: 1 / 3 / 3 / 4;
    }

    .footer-menu_item:nth-child(4) {
        grid-area: 1 / 4 / 2 / 5;
    }

    .footer-menu_item:nth-child(5) {
        grid-area: 2 / 4 / 3 / 5;
    }
}

@media only screen and (max-width: 1279.9px) {

    .footer_main {
        grid-template-columns: 1fr;
    }

    .footer-menu_list {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-company {
        display: flex;
        align-items: center;
    }
    
    .footer-company {
        justify-content: space-between;
    }
}

@media only screen and (max-width: 767.9px) {
       
    .footer-menu_list {
        grid-template-columns: 1fr 1fr;
    }
    
    .footer-menu_item:nth-child(1) {
        grid-area: 1 / 1 / 2 / 2;
    }

    .footer-menu_item:nth-child(2) {
        grid-area: 1 / 2 / 2 / 3;
    }

    .footer-menu_item:nth-child(3) {
        grid-area: 2 / 1 / 4 / 2;
    }

    .footer-menu_item:nth-child(4) {
        grid-area: 2 / 2 / 3 / 3;
    }

    .footer-menu_item:nth-child(5) {
        grid-area: 4 / 1 / 5 / 3;
    }

    .footer-menu_link {
        font-size: 100%;
    }
}
/*==================================================
    ページトップアイコン
==================================================*/
.pagetop img {
    width: 50px;
}
@media only screen and (max-width: 767.9px) {

    .pagetop img {
        width: 40px;
    }
}
/*==================================================
    topページ
==================================================*/
/* 共通　 */
.top_content {
    display: grid;
    align-items: center;
    gap: 20px;
}

.top_content_text_wrap {
    justify-self: center;
    padding: 0 1.5rem;
}

.top_content_head {
    margin-bottom: 3rem;
}

.top_content_head-jp {
    padding-bottom: 10px;
    color: var(--color-orange);
    font-size: 200%;
    font-weight: 700;
}

.top_content_head-en {
    color: var(--color-blue-gray);
    font-weight: 600;
}

.top_content_text {
    margin-bottom: 4rem;
    line-height: 1.8;
}

.top_content_btn a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 300px;
    margin: 2rem 0;
    padding: 1em 2em;
    background-color: var(--color-blue-gray);
    color: var(--color-white);
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
}
    
.top_content_btn a::before {
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: var(--color-orange);
    content: '';
    transition: 0.3s;
}
    
.top_content_btn a::after {
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 70px;
    height: 2px;
    background-color: var(--color-orange);
    content: '';
    transition: 0.3s;
}
    
.top_content_btn a:hover::before,
.top_content_btn a:hover::after {
    right: -2.5em;
}

@media only screen and (min-width: 910px) {

    .top_content_head-sp {
        display: none;
    }

    .top_content {
        grid-template-rows: 1fr;
        grid-template-columns: auto 1fr;
    }
    
    .top_content_text_wrap {
        grid-area: 1 / 2 / 2 / 3;
    }

    .top_content_img {
        grid-area: 1 / 1 / 2 / 2;
    }

    .top_content_img img {
        width: 50vw;
        height: 100%;
        object-fit: cover;
    }

    .top_content_reverse {
        grid-template-columns: 1fr auto;
    }

    .top_content_reverse .top_content_text_wrap {
        grid-column: 1 / 2;
    }

    .top_content_reverse .top_content_img {
        grid-column: 2 / 3;
    }
}

@media only screen and (max-width: 909.9px) {

    .top_content_head {
        display: none;
    }

    .top_content {
        grid-template-columns: 1fr;
        row-gap: 2rem;
    }

    .top_content_head-sp {
        grid-row: 1 / 2;
        padding: 0 1.5rem;
    }    

    .top_content_head-jp {
        font-size: 180%;
    }
    
    .top_content_text_wrap {
        grid-row: 3 / 4;
    }

    .top_content_img {
        grid-row: 2 / 3;
        width: 100%;
    }

    .top_content_btn a {
        width: 270px;
        padding: 1em 1.5em;
    }
        
    .top_content_btn a::before {
        right: -1.2em;
    }
        
    .top_content_btn a::after {
        right: -1.2em;
        width: 50px;
    }
        
    .top_content_btn a:hover::before,
    .top_content_btn a:hover::after {
        right: -2.5em;
    }
}

/* メインビジュアル */
.mv {
    position: relative;
    width: 100%;
}

.mv::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    height: 100%;
    background-image: var(--background-gradient);
    z-index: 1;
    content: "";
}

.mv_inner {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 85px;
}

.mv_title {
    position: absolute;  
    color: var(--color-black); 
    font-size: 250%;
    font-weight: 900;
    line-height: 2;
    text-shadow: 3px 3px 0 var(--color-orange);
    transform: rotate(-5deg);
    z-index: 30;
}

.mv_img {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    right: 3%;
    margin-left: auto;
    z-index: 20;
}

.mv_text {
    position: absolute;
    width: min(95%, 500px);
    margin: 0 auto;
    padding: 1.5em 1.5em 1.5em 2em;
    background-color: var(--color-white);
    line-height: 1.5em;
    z-index: 30;
}

.movie-note {
    margin-top:40px;
}

@media only screen and (min-width: 1280px) {

    .mv {
        height: 100vh;
    }    
    
    .mv_title {
        top: 30vh;
        left: 10%;
    }

    .mv_img {
        width: 60%;
    }
    
    .slider_img img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }
    
    .mv_text {
        left: 20%;
        bottom: 5%;
        width: 500px;        
    }
}

@media only screen and (max-width: 1279.9px) {

    .mv {
        height: 1000px;
    }

    .mv_img {
        width: 90%;
    }

    .slider_img img {
        width: 100%;
        height: 500px;
        object-fit: cover;
    }

    .mv_title {
        top: 150px;
        left: 10%;
    }

    .mv_text {
        left: 0;
        bottom: 5%;  
    }
}

@media only screen and (max-width: 767.9px) {

    .mv_img {
        top: 25rem;
    }

    .mv_title {
        left: 8%;
        font-size: 150%;
    }
}

.intoroduction-movie {    
    padding: 100px 0 10vw;
}

.movie_content {
    max-width: 560px;
    margin: 0 auto;
    padding: 0 25px 0 10px;
}

.movie_head {
    padding-bottom: 2rem;
    font-size: 150%;
    font-weight: 600;
    text-align: center;
}

.movie_caption {
    position: relative;
    width: fit-content;
    margin: 15px 0;
    padding: 12px 20px;
    background-color: var(--color-orange);
    border-radius: 10px;
    color: var(--color-white);
}
.movie_caption::after {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 20px;
    height: 12px;
    background-color: var(--color-orange);
    z-index: -1;
    content: "";
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.video_wrap { 
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    box-shadow: 20px 20px 0 var(--color-blue-gray);
    z-index: 0;
}

.interview_content {
    margin-left: 5%;
}

.interview_text {
    margin-top: 2rem;
    padding: 0 1.5rem;
}

.interview_img {
    width: 70%;
    margin: 3rem auto;
}

.benefit {
    padding: 10vh 0;
}

.recruit_title {
    padding: 0 1rem;
    color: var(--color-orange);
    font-size: 150%;
    text-align: center;
}

.recruit_title h2 {
    display: inline-block;
    text-align: left;
}
/*==================================================
    501stについて
==================================================*/
.about-catch {
    display: grid;
    justify-items: center;
    align-items: center;
    grid-template-columns: 1fr auto;
    gap: 2rem 3rem;
    padding: 2rem 2rem 5rem;
}

.about-catch .brackets_key {
    color: var(--color-white);  
    font-size: 250%;
    font-weight: 800;
    text-align: center;
    text-shadow: 2px  2px 3px var(--color-orange), -2px  2px 3px var(--color-orange), 2px -2px 3px var(--color-orange), -2px -2px 3px var(--color-orange), 2px  0px 3px var(--color-orange), 0px  2px 3px var(--color-orange), -2px  0px 3px var(--color-orange), 0px -2px 3px var(--color-orange);
}

.about-catch_text {
    line-height: 1.8;
}

@media only screen and (max-width: 1279.9px) {

    .about-catch {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 767.9px) {

    .about-catch .brackets_key {
        font-size: 150%;
    }
}

.about_content {
    display: grid;
    align-items: center;
    gap: 20px 50px;
    margin-bottom: 3rem;
    padding: 3rem 2rem;
    background-color: var(--color-white);
    box-shadow: 0px 0px 10px 5px #d3d3d3;
}

.about_content_title {
    color: var(--color-orange);
    font-size: 150%;
    font-weight: 800;
}

.about_content_text {
    padding: 3rem 0;
    border-top: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black);
    line-height: 1.5;
}

.about_content_list {
    padding: 15px 0;
}

@media only screen and (min-width: 1280px) {

    .about_content {
        grid-template-rows: auto 1fr;
        grid-template-columns: 1fr 2fr;
    }

    .about_content_title {
        grid-area: 1 / 2 / 2 / 3;
    }    

    .about_content_img {
        grid-area: 1 / 1 / 3 / 2;
    }

    .about_content_text {
        grid-area: 2 / 2 / 3 / 3;
    }
}

@media only screen and (max-width: 1279.9px) {

    .about_content {
        grid-template-rows: auto auto 3fr;
        grid-template-columns: 1fr;
    }

    .about_content_title {
        justify-self: center;
        grid-area: 1 / 1 / 2 / 2;
    }

    .about_content_img {
        grid-area: 2 / 1 / 3 / 2;
        width: 60%;
        margin: 0 auto;
    }

    .about_content_text {
        grid-area: 3 / 1 / 4 / 2;
    }
}

.sales_content {
    margin: 5rem 0 2rem;
}

.sales_graph_list  {    
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px 10px;
}

.sales_graph_item {    
    justify-self: center;
}

.graph_title {
    margin-bottom: 1rem;
    font-weight: 600;
    text-align: center;
}

.graph_text {
    margin: 1rem 0;
    text-align: center;
}

.graph_legend {
    margin: 1rem 0 2rem;
    text-align: center;
}

/* グラフ凡例 */
.graphLegend-blue {
    color: #4472C4;
}

.graphLegend-lightBlue {
    color: #5B9BD5;
}

.graphLegend-green {
    color: #549E39;
}

.graphLegend-lightGreen {
    color: #8AB833;
}

.graphLegend-orange {
    color: #EC7016;
}

.graphLegend-lightOrange {
    color: #F8931D;
}

.sales_text {
    width: 24em;
    margin: 3rem auto;
    padding: 2em 1.5em;
    background-color: var(--color-blue-gray);
    border-radius: 20px;
    color: var(--color-white);
    text-align: center;
    line-height: 1.8;
}

@media only screen and (max-width: 767.9px) {

    .sales_graph_list {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .sales_text {
        width: 20em;
    }

}
/*==================================================
    501stの仕事とは？
==================================================*/
.works-catch {
    display: flex;
    justify-content: center;
    padding: 2rem 2rem 5rem;
}

.works-catch .brackets_key {
    color: var(--color-white);   
    font-size: 250%;
    font-weight: 800;
    text-align: center;
    text-shadow: 2px  2px 3px var(--color-orange), -2px  2px 3px var(--color-orange), 2px -2px 3px var(--color-orange), -2px -2px 3px var(--color-orange), 2px  0px 3px var(--color-orange), 0px  2px 3px var(--color-orange), -2px  0px 3px var(--color-orange), 0px -2px 3px var(--color-orange);
}

.works-catch_text {
    line-height: 1.8;
}

@media only screen and (max-width: 767.9px) {

    .works-catch .brackets_key {
        font-size: 150%;
    }
}

.business {
    display: grid;
    gap: 3rem;
}

.business_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 2rem 3rem;
    background-color: var(--color-white);
}

.business_title {
    font-size: 120%;
    font-weight: 600;
}

.business_text {
    margin: 2rem 0 3rem;
}

.job {
    display:grid;
    gap: 20px;
    margin-top: 2rem;
}

.job_title {
    width: 5em;
    padding: 1em;
    border: 2px solid var(--color-orange);
    text-align: center;
}

.job-sales {
    margin: 1rem 0 0 4rem;
}

.job-sales_item {
    display: flex;
    gap: 3rem;  
}

.job-desc {
    margin: 2rem 0;
}

.job-desc_head {
    margin-bottom: .5rem;
    color: var(--color-orange);
    font-weight: 600;
}

.tool-deveropment_content, .tool-efficiency_content {
    display: grid;
    margin: 2rem 0 3rem;
    gap: 30px;
}

.tool-deveropment_item {
    position: relative;
    padding: 2rem 1.5rem;
    background-color: var(--color-white);
}

.tool-sub_title {
    padding-bottom: 20px;
    color: var(--color-orange);
    font-weight: 600;
}

.tool-rooms {
    background-image: url("../images/recruit/tool_rooms.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

.tool-alcohol {
    background-image: url("../images/recruit/tool_alcohol.png");
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: right bottom;
}

.tool-training {
    background-image: url("../images/recruit/tool_training.png");
    background-repeat: no-repeat;
    background-size: 30%;
    background-position: right bottom;
}

.tool_list {
    line-height: 1.5;
}

.tool-expenses_list {
    display: grid;
    grid-template-columns: auto auto;
    gap: 0 20px;
    line-height: 1.5;
}

.tool-expenses_list li:last-child {
    grid-column: 1 / 3;
}

.tool-deveropment_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tool-efficiency_item {
    padding: 2rem 1.5rem;
    background-color: var(--color-white);
}

.tool-etc {
    padding: 10px 0 0 3rem;
}

.work-style-telework_content {
    display: grid;
    margin: 2rem 0 5rem;
}

.work-style-telework_text {
    justify-self: center;
    width: 80%;
    margin-bottom: -1rem;
    padding: 2rem;
    background-color: var(--color-pale-orange);
    line-height: 1.8;
    z-index: 10;
}

.work-style-telework_img img {  
    max-height: 500px;
    object-fit: cover;
}

.work-style_note {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 27em;
    height: 16em;
    margin: 1.5rem auto;
    padding: 2em 3em;
    background-color: var(--color-pale-orange);
    border-radius: 50%;
    line-height: 2.5;
}

.work-style-flex_content {
    display: flex;
    align-items: center;
    margin: 2rem 0 3rem;
}

.work-style-flex_img img {  
    max-height: 340px;
    object-fit: cover;
}

.work-style-flex_img {
    position: relative;
    z-index: 1;
}

.work-style-flex_text {
    position: relative;
    padding: 3rem 2rem;
    background-color: var(--color-pale-orange);
    z-index: 2;
}

.work-style_lead_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 4rem;
}

.work-style_lead {
    color: var(--color-orange);
    font-size: 200%;
    letter-spacing: 4px;
    line-height: 1.5;
    text-align: center;
    /*text-shadow: 2px  2px 3px var(--color-orange), -2px  2px 3px var(--color-orange), 2px -2px 3px var(--color-orange), -2px -2px 3px var(--color-orange), 2px  0px 3px var(--color-orange), 0px  2px 3px var(--color-orange), -2px  0px 3px var(--color-orange), 0px -2px 3px var(--color-orange);*/
}

.work-style_lead span {
    display: inline-block;
    font-weight: 600;
}

@media only screen and (min-width: 1280px) {

    .business {
        grid-template-columns: 1fr 1fr;
    }

    .job {
        grid-template-rows: auto 1fr auto;
        grid-template-columns: 3fr 1fr 1fr;
    }

    .job_item:nth-child(1) {
        grid-area: 1 / 1 / 2 / 2;
    }

    .job_item:nth-child(2) {
        grid-area: 2 / 1 / 4 / 2;
    }

    .job_item:nth-child(3) {
        grid-area: 2 / 2 / 3 / 3;
    }

    .job_item:nth-child(4) {
        grid-area: 2 / 3 / 3 / 4;
    }

    .job_item:nth-child(5) {
        justify-self: center;
        grid-area: 3 / 2 / 4 / 4;
    }

    .tool-deveropment_content {
        grid-template-rows:repeat(3 , 1fr);
        grid-template-columns: repeat(5, 1fr);
    }

    .tool-rooms {
        grid-area: 1 / 1 / 2 / 4;
    }

    .tool-rudder {
        grid-area: 1 / 4 / 2 / 6;
    }

    .tool-expenses {
        grid-area: 2 / 1 / 3 / 3;
    }

    .tool-alcohol {
        grid-area: 2 / 3 / 3 / 6;
    }

    .tool-training {
        grid-area: 3 / 1 / 4 / 4;
    }

    .tool-deveropment_text {
        grid-area: 3 / 4 / 4 / 6;
    }
    
    .tool-efficiency_content {
        grid-template-columns: repeat(3, 1fr);
    }

    .work-style_content {
        grid-template-rows: repeat(4, auto);
        grid-auto-columns: 1fr 1.5fr;
    }

    .work-style-telework_content {
        grid-template-rows: auto auto auto;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 30px;
    }
    
    .work-style-office_img {
        grid-area: 1 / 2 / 3 / 3
    }

    .work-style_text {
        grid-area: 1 / 1 / 2 / 2;
    }

    .work-style-telework_img { 
        grid-area: 2 / 1 / 4 / 2;
    }

    .work-style_note {
        grid-area: 3 / 2 / 4 / 3;
    }
    
    .work-style-flex_content {
        flex-direction: row-reverse ;
    }

    .work-style-flex_img { 
        width: 80%;
    }

    .work-style-flex_text {
        height: 90%;
        margin-right: -2rem;
    }
}

@media only screen and (max-width: 1279.9px) {

    .business {
        grid-template-columns: 1fr;
    }

    .business_img img {
        width: 100%;    
    }

    .job {
        grid-template-columns: 1fr 1fr;
    }
    
    .job_item:nth-child(1) {
        grid-area: 1 / 1 / 2 / 3;
    }

    .job_item:nth-child(2) {
        grid-area: 2 / 1 / 3 / 3;
    }

    .job_item:nth-child(3) {
        grid-area: 3 / 1 / 4 / 2;
    }

    .job_item:nth-child(4) {
        grid-area: 3 / 2 / 4 / 3;
    }

    .job_item:nth-child(5) {
        grid-area: 4 / 1 / 5 / 3;
    }

    .tool-rooms {
        padding-bottom: 60%;
        background-position: 0 100%;
    }    
    
    .tool-efficiency_contnet {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .work-style-flex_content {
        flex-direction: column;
    }

    .work-style-flex_img { 
        width: 100%;
    }

    .work-style-flex_text {
        width: 90%;
        margin-top: -3rem;
    }
}

@media only screen and (max-width: 767.9px) {

    .tool-efficiency_contnet {
        grid-template-columns: 1fr;
    }

    .work-style_note {
        width: 20em;
        height: 15em;
    }

    .work-style_lead {
        font-size: 150%;
    }
}
/*==================================================
    選考について
==================================================*/
.human_content {
    display: grid;
    align-items: center;
    gap: 20px 50px;
    padding: 1.5rem 0;
}

.human_title {
    width: 10rem;
    height: 10rem;
    background-color: var(--color-blue-gray);
    border-radius: 50%;
    color: var(--color-white);
    font-size: 180%;
    line-height: 10rem;
    text-align: center;
}

.human_lead {
    font-size: 150%;
    font-weight: 600;
}

@media only screen and (min-width: 1280px) {

    .human_content {
        grid-template-rows: auto 1fr;
        grid-template-columns: 1fr 6fr;
    }

    .human_title {
        grid-area: 1 / 1 / 3 / 2;
    }

    .human_lead {
        grid-area: 1 / 2 / 2 / 3;
    }

    .human_text {
        grid-area: 2 / 2 / 3 / 3;
    }
}

@media only screen and (max-width: 1279.9px) {

    .human_content {
        justify-items: center;
        grid-template-rows: auto auto 1fr;
        grid-template-columns: 1fr;
    }
}

.info_content {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr;
    gap: 120px;
}

.info_item {
    display: grid;
    justify-items: center;
    justify-content: center;
    gap: 120px;
}

.info_title {
    position: relative;
    width: 5em;
    font-size: 180%;
    font-weight: 600;
}

.info_wrap {
    width: 100%;
    padding: 2rem;
    border: 1px solid var(--color-blue-gray);
}

.info_lead {
    font-size: 150%;
    font-weight: 600;
    margin-bottom: 2rem;
    color: var(--color-orange);
}

.flow {
    width: 100%;
}

.flow_item {
    position: relative;
    display: grid;
    align-items: center;
    grid-template-rows: 1fr;
    margin-bottom: 50px;
    padding: 2rem;
    border: 1px solid var(--color-blue-gray);
}

.flow_item:not(:last-child)::after {
    position: absolute;
    right: 0;
    bottom: -40px;
    left: 0;
    width: 50px;
    height: 40px;
    margin: 0 auto;
    background-color: var(--color-blue-gray);
    clip-path: polygon(50% 40px, 0% 0%, 50px 0%);
    content: "";
}

.flow_no  {
    width: 120px;
    padding: 1rem 0;
    color: var(--color-orange);
    font-size: 200%;
    font-weight: 600;
    text-align: center;
}

.flow_no span {
    display: block;
    padding-bottom: 5px;
    font-size: 16px;
    font-weight: 600;
}

.flow_text {
    font-size: 150%;
    font-weight: 600;
    line-height: 1.5;
}

.treatment_item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 70px;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--color-blue-gray);
    line-height: 2;
}

.treatment_item:last-child {
    border-bottom: none;
}

.treatment_item > dt {
    width: 6em;
}

.treatment_box > dl {
    display: flex;
}

.treatment_box > dl > dd {
    padding-left: 1rem;
}

.treatment_note {
    margin-top: 1rem;
}

.raise {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2rem;
}

.raise_data {
    width: calc(50% - 1rem);
}

.raise_tbl {
    width: 85%;
    margin: 1rem auto;
    border: none;
}

.raise_tbl th, .raise_tbl td {
    height: 35px;
    padding: 0 10px 0 0;
    border: none;
    font-weight: 500;
    white-space: nowrap;
    text-align: right;
}

.raise_glaph {
    width: calc(50% - 1rem);
    margin-top: 1rem;
    background-color: var(--color-white);
}

.raise_note {
    margin-top: 1rem;
}

@media only screen and (min-width: 1280px) {

    .info_item {        
        grid-template-columns: 1fr 5fr;
    }

    .flow_item {        
        grid-template-columns: auto 1fr; 
        gap: 54px;
    }

    .flow_no  {
        border-right: 1px solid var(--color-blue-gray);
    }
}

@media only screen and (max-width: 1279.9px) {

    .info_item {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .info_content {
        gap: 100px;
    }

    .info_title {
        width: auto;
    }

    .flow_item {
        justify-items: center;
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .flow_no  {
        width: 100%;
        border-bottom: 1px solid var(--color-blue-gray);
    }
}

@media only screen and (max-width: 767.9px) {

    .treatment {
        padding: 1rem;
    }

    .treatment_item {
        gap: 20px;
        line-height: 2;
    }

    .treatment_box dl {
        display: block;
    }
    
    .info_wrap {
        padding: 2rem 1.5rem;
    }

    .raise {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    .raise_tbl, .raise_data , .raise_glaph {
        width: 100%;
    }  
}
/*==================================================
    社員の声
==================================================*/
.page_head.interview::before {
    height: 600px;
}

.interview_head_inner {
    position: relative;
    height: 530px;
    background: url(../images/recruit/interview.png) no-repeat 50% 50%;    
    background-size: cover;
}

.interview_heading {
    position: absolute;
    top: calc(100% + 2rem);
    left: 20px;
    padding: 2rem;
}

.interview_q {
    position: relative;
    width: 100%;
    margin-top: 1rem;
    padding: 15px 55px;
    font-size: 20px;
    background-color: var(--color-beige);
    border: 1px solid var(--color-pale-orange);
}

.interview_q p {
    margin: 0;
    font-weight: 600;
}

.interview_q:before {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    font-size: 25px;
    font-weight: 600;
    color: var(--color-orange);
    content: "Q.";
}

.q_icon_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 5%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    transform-origin: center center;
    transition-duration: 0.5s;
}

.q_icon {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    transform-origin: center center;
    transition-duration: 0.5s;
}

.q_icon::before, .q_icon::after {
    display: flex;
    position: absolute;
    content: '';
    background-color: var(--color-orange);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
}

.q_icon::before {
    width: 100%;
    height: 4px;
}
.q_icon::after {
    width: 4px;
    height: 100%;
}

.interview_q.open .q_icon_box {
    transform: translateY(-50%) rotate(-180deg);
}

.interview_q.open .q_icon::after {
    content: none;
}

.interview_a {
    display: none;
    padding: 1rem;
    box-sizing: border-box;
    border-right: 1px solid var(--color-pale-orange);
    border-bottom: 1px solid var(--color-pale-orange);
    border-left: 1px solid var(--color-pale-orange);
}

.a_item {
    display: flex;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px dotted var(--color-pale-orange);
}

.a_item:last-child {
    border-bottom: none;
}

.a_employee {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1rem;
}

.a_img {
    width: 120px;
    margin-right: 1rem;
}

.a_name {
    width: 8rem;
    text-align: center;
}

@media only screen and (max-width: 767.9px) {

    .page_head.interview::before {
        height: 400px;
    }

    .interview_head_inner {
        height: 280px;
    }

    .interview_q {
        font-size: 18px;
    }

    .a_item, .a_employee {
        display: block;
    }

    .a_img, .a_name {
        margin: 0 auto 1rem;
    }
}
/*==================================================
    当社の制度
==================================================*/
.internal_attention {
    margin-top: 3rem;
}

.internal_title {
    text-align: center;
    font-size: 150%;
    font-weight: 700;
}

.internal-num {
    padding: 0 5px;
    font-size: 250%;
    color: var(--color-orange);
    font-weight: 700; 
}

.internal_content {
    display: grid;
    gap: 30px;
    padding: 2rem 0;
}

.internal_item {
    display:flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 2rem 5%;
}

#style .internal_item, #telework .internal_item, #person .internal_item {    
    background-color: var(--color-white);
}

#evaluation .internal_item {
    border: 3px solid var(--color-blue-gray);
}

.person_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 4rem;
}

.person_text dl {
    display: flex;
    align-items: center;
    gap: 30px;
    padding-bottom: 1rem;
}

.person_text dt {
    width: 3em;
    font-size: 120%;
    font-weight: 500;
}

.person .internal-num {
    display: inline-block;
    width: 2em;
    text-align: right;
}

.person-graph {
    position: relative;
    width: 250px;
    height: 250px;
}

.gender_wrap , .average-age_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.gender_wrap {    
    margin-top: 3rem;
}

.gender_item {
    display: flex;
    flex-direction: column;
}

.gender_img, .average-age_img {
    width: 54px;
    margin: 0 auto;
    padding-bottom: 20px;
}

.avarage_content {
    text-align: center;
}

.gender_text,  .average_text, .paid-vacation-age_text {
    width: 7em;
}

.paid-vacation_wrap, .overtime_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 3rem;
}

.paid-vacation-age_img, .overtime_img {
    width: 128px;
}

.overtime_text {
    width: 8em;
}

.telework_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 4rem;
}

.telework-graph {
    position: relative;
    width: 200px;
    height: 200px;
}

.telework-graph svg {
    position: relative;
    width: 200px;
    height: 200px;
    transform: rotate(-90deg);
}

.telework-graph svg circle {
    position: relative;
    fill: none;
    stroke-width: 15;
    stroke: #f3f3f3;
    stroke-dasharray: 566;
    stroke-dashoffset: 0;
    stroke-linecap: round;
}

.telework-graph .telework-line {
    stroke-dashoffset: 254;
    stroke: #f5a962;
}

.telework-line.active {
    animation: circleAnime 1s forwards;
}

@keyframes circleAnime {
    0% {
      stroke-dasharray: 0 566;
    }
    99.9%, to {
      stroke-dasharray: 566 566;
    }
}

.telework-number {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.telework-efficacy-rate_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.telework-efficacy-rate_wrap .internal_title {
    width: 9em;
    text-align: left;
}


.efficacy_note {
    margin-top: 2rem;
}

@media only screen and (min-width: 1280px) {

    #person .internal_content {
        grid-template-rows: 1fr auto 1fr;
        grid-template-columns: repeat(6, 1fr);
    }
    
    #telework .internal_content {
        grid-template-rows: 1fr 1fr 1fr;
        grid-template-columns: 3fr 2fr;
    }

    #admire .internal_content {
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: 1fr;
    }
    
    #event .internal_content {
        grid-template-rows: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    }

    .person {
        grid-area: 1 / 1 / 3 / 5;
    }

    .gender {
        grid-area: 1 / 5 / 2 / 7;
    }

    .average-age {
        grid-area: 2 / 5 / 3 / 7;
    }

    .paid-vacation {
        grid-area: 3 / 1 / 4 / 4;
    }

    .overtime {
        grid-area: 3 / 4 / 4 / 7;
    }

    .entirety {
        grid-area: 1 / 1 / 4 / 2;
    }

    .efficacy-rate-70-over {
        grid-area: 1 / 2 / 2 / 3;
    }
    
    .efficacy-rate-25-60 {
        grid-area: 2 / 2 / 3 / 3;
    }
    
    .efficacy-rate-10-under {
        grid-area: 3 / 2 / 4 / 3;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1279.9px) {

    #style .internal_content  {
        grid-template-columns: 1fr 1fr;
    }

    .person {
        grid-area: 1 / 1 / 2 / 3;
    }

    .gender {
        grid-area: 2 / 1 / 3 / 2;
    }

    .average-age {
        grid-area: 2 / 2 / 3 / 3;
    }

    .paid-vacation {
        grid-area: 3 / 1 / 4 / 2;
    }

    .overtime {
        grid-area: 3 / 2 / 4 / 3;
    }

    .person-graph_img {
        width: 15rem;
    }

    #telework .internal_content {
        grid-template-columns: 1fr;
    }

}

@media only screen and (max-width: 767.9px) {

    #style .internal_content, #telework .internal_content {
        grid-template-columns: 1fr;
    }

    
    .person_wrap {
        flex-direction: column-reverse;
        gap: 1rem;
    }
    
    .person-graph_img {
        width: 8rem;
    }

    .person_text dl {
        gap: 8px;
        padding-bottom: .5rem;
    }
    
    .person_text dt {
        font-size: 100%;
    }

    .telework_graph {
        width: 130px;
        height: 130px;
    }

    .telework-efficacy-rate_wrap .internal_title {
        font-size: 120%;
    }
}

#evaluation .internal_content {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
}

.evaluation_item {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 3px solid var(--color-pale-orange);
}

.evaluation_title {
    padding: 1rem;
    background-color: var(--color-pale-orange);
    font-size: 150%;
    font-weight: 700;
    text-align: center;
}

.evaluation_list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    padding: 1.5rem;
    border-bottom: 1px solid var(--color-pale-orange);
    text-align: left;
}

.evaluation_list:last-child {
    border-bottom: none;
}

.evaluation_detail {    
    width: 21em;
    font-size: 120%;
}

@media only screen and (max-width: 767.9px) {

    .evaluation_list {
        display: block;
    }

    .evaluation_detail {    
        width: auto;
        font-size: 120%;
        text-align: center;
    }

    .evaluation_text {
        margin-top: 2rem;
        text-align: center;
    }
}

.admire_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding: 2rem 5%;
    background-color: var(--color-white);
}

.admire_reverse {
    flex-direction: row-reverse;
}

#admire .internal_title {
    width: 100%;
    padding-bottom: 1.5rem;
}

.admire_img {
    width: 128px;
    margin: 2rem auto;
}

.admire_text {
    line-height: 1.8;
}

.admire_note {
    margin-top: 2rem;
}

.event_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2rem 0;    
}

.event_item {
    display: flex;
    flex-direction: column;
    position: relative;
    width: calc(50% - 50px);
    padding: 3rem 0;
}

.event_month {
    position: absolute;
    top: 0;
    left: -1rem;
    padding: 3rem 2rem 1.5rem;
    background-color: var(--color-beige);
    color: var(--color-orange);
    font-size: 200%;
    font-weight: 700;
}

.event_img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.event_text_wrap {
    display: flex;
    flex-direction: column;
}
.event_title {
    flex-grow: 1;
    margin: 2rem 0;
    font-size: 150%;
    font-weight: 700;
    text-align: center;
}

@media only screen and (max-width: 767.9px) {

    .event_content {
        display: block;
    }

    .event_item {
        width: 100%;
    }

}