@charset "utf-8";
/* CSS Document */

@media screen and (max-width:768px) {
	html, body {
		min-width: 0;
		width: 100%;
		height: 100%;
		-webkit-text-size-adjust : 100%;
	}

	img {
		max-width: 100% !important;
		height: auto;
	}

	.sp_only {
		display: inherit;
	}
	
	.pc_only {display: none;}
	
	a[href^="tel:"] {
		pointer-events: auto;
	}
	
	input[type="submit"] {
	  appearance: none;
	  -webkit-appearance: none;
	}
	
	.cd-fixed-bg {
		background-size: cover;
		background-attachment: scroll;
	}


	header {display: none;}
	.sp-logo {
		width: 80%;
		padding: 2rem 1rem 0;
	}
	
	
	/*-----------------------------

	top

	------------------------------*/
	#main-fv {
		padding: 0 1rem; 
		margin: 3rem 0 7.2rem;
	}
	#main-fv .main-area {position: relative;}

	#main-fv .main-img {
		width: 100%;
		margin-left: auto;
	}

	#main-fv .main-ttl {
		position: static;
		width: 70%;
        max-width: 400px;
        margin-top: 2rem;
	}

	#main-fv p {
		position: static;
        margin-left: 1rem;
		font-size: 4.5vw;
	}

	.top-message {
		width: 96%;
		max-width: 96%;
		margin: 0 auto 7.2rem; 
		padding: 7rem 3rem;
		border-radius: 50px;
	}
	
	.top-message .inner {flex-wrap: wrap;}

	.top-message .message-info,
	.top-message .message-img{
		width: 100%;
		max-width: 100%;
	}

	.top-message .message-img {
		width: 80%;
		margin: 3rem auto 0;
	}

	.top-message h2 {
		font-size: 2.4rem;
		text-align: center;
		margin-bottom: 2.25rem;
	}

	.top-message p {
        font-size: 1.4rem;
        line-height: 2;
    }
	.top-message p br {display: none;}
	.top-message p + p {margin-top: 3rem;}

	
	h2.ttl {
		font-size: 1.6rem;
		text-align: center;
	}
	h2.ttl span {
		font-size: 3.2rem;
	}
	
	.top-news {
		margin-bottom: 7.2rem;
		padding: 0 2rem;
	} 
	
	.top-news .inner {flex-wrap: wrap;}
	
	.top-news .news-ttl {
		width: 100%;
		max-width: 100%;
		padding-left: 0;
	}
	
	.top-news .news-ttl .character01 {
		padding-left: 0;
		text-align: center;
		width: 16%;
		margin: -10rem 0 4rem;
	}


	.top-news .news-info {
		width: 100%;
		max-width: 100%;
		padding: 3rem;
		border-radius: 30px;
		position: relative;
	}

	.top-news .news-info::before {
		content: "";
		display: block;
		width: 64px;
		height: 40px;
		background-image: url("../img/page/top/news-arrow-sp.png");
		background-size: cover;
		background-repeat: no-repeat;
		position: absolute;
		top: -5%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.top-news .news-info ul li p {
		font-size: 1.4rem;
	}

	.top-news .news-info ul li h3 {
		font-size: 1.4rem;
	}
	
	.top-about {
		padding-bottom: 7rem;
	}


	.top-about .character02 {
		width: 16%;
		margin-left: auto;
		text-align: right;
		padding-right: 0;
		margin-top: -4rem;
	}

	.top-about ul {padding: 0 2rem;}
	.top-about ul li + li {margin-top: 2.5rem;}
	.top-about ul li .about-inner {
		flex-wrap: wrap;
		align-items: center;
		height: auto;
	}
	.top-about ul li .about-inner .about-img,
	.top-about ul li .about-inner .about-info {
		width: 100%;
		max-width: 100%;
	}
	.top-about ul li .about-inner .about-img img {
		border-radius: 20px;
	}

	.top-about ul li .about-inner .about-info {
		padding: 2rem 2rem 4rem;
		position: relative;
	}

	.top-about ul li .about-inner .about-info h3 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}

	.top-about ul li .about-inner .about-info p {font-size: 1.4rem;}
	.top-about ul li .about-inner .about-info p br {display: none;}

	.top-about ul li .about-inner .about-info .arrow {
		width: 10%;
		position: absolute;
		bottom: 2rem;
		right: 2.5rem;
	}
	
	.box {height: 300px;}
	/* .cd-fixed-bg {
		background-position: top -23px center;
	}*/

	.slide-area {
		padding-top: 7rem;
		margin: -5rem 0 3rem;
	}
	
    .slide-area .swiper-slide {
		padding: 0.5rem;
    }
    
    .slide-area .swiper-slide img {
		border-radius: 0.5rem;
	}
    
	.top-works {
		padding: 0 2rem;
		margin-bottom: 5rem;
		position: relative;
	} 
	
	.top-works .inner {
        flex-wrap: wrap;
        justify-content:center; 
        align-items:center; 
    }

	.top-works .works-info {padding-left: 0;} 
	.top-works .works-info h2 {margin-bottom: 2rem;}
	.top-works .works-info p {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 3rem;
	} 
	
	.top-works .works-btn {
		width: 100%;
		padding: 0;
	}

	.character03 {
		position: absolute;
		top: 1rem;
		left: 2rem;
		width: 20%;
		text-align: center;
		margin-bottom: 3rem;
	}	
	
	.btn01 {width: 100%;}
	
	.top-support {
		padding: 0 2rem;
		margin-bottom: 7.2rem;
	}
	.top-support .support-bg {padding: 3.75rem 3rem;}
    
	.top-support .inner {
        flex-wrap: wrap;
        justify-content:center; 
        align-items:center; 
    }
    
	.top-support .support-info {margin-bottom: 3rem;}
	.top-support .support-info h2 {margin-bottom: 2rem;}
	.top-support .support-info p {
		font-size: 1.4rem;
        line-height: 1.8;
		margin-bottom: 3rem;
	} 
	
	.top-support .support-info p br {display: none;}

	.support-btn {padding-left: 0;}
	.support-btn .btn01 a {font-size: 1.5rem;}

	.support-btn .btn01 + .btn01 {margin-top: 2rem;}

	.top-support .character04 {
		width: 80%;
		margin-top: -8rem;
		padding-left: 0;
	}
	
	.top-support .character04 img {width: 20%;}
	
	.top-person {
        margin-bottom: 7.2rem;
		padding: 0 2rem;
	}
	
	.top-person .inner {
		flex-wrap: wrap;
	}
	
	.top-person h2 {
		width: 100%;
		text-align: center;
		padding-left: 0;
	}
	
    .top-person h2.ttl{
		margin-bottom: 2rem;
	}

	.top-person p.person-txt {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.8;
		padding-right: 0;
        margin-bottom: 3rem;
	}

    .top-person .swiper02 p + p {margin-top: 0.1rem;}

	.swiper02 {
		padding-bottom: 0;
	}
	
	.top-person h3,
	.top-person h3.fnts-20{
		font-size: 1.8rem;
		margin-bottom: 2rem;
		min-height: auto;
	}
	
	.top-person h3.fnts-20 br {display: none;}

	.swiper02 .swiper-button-next{
        left: 85%;
        top: 25%;
	}
	.swiper02 .swiper-button-prev{
		left: 0%;
		top: 25%;
	}
	
	.mount-container .character05 {
		position: absolute;
		width: 100%;
		height: auto;
		bottom: 0%;
		right: 5%;
		z-index: 2;
	}
    
	/*.character05 {
		width: 100%;
		position: relative;
		z-index: 2;
		text-align: right;
	}*/

	.character05 img {
        width: 25%;
    }
	
	.entry-area {
		padding: 0 0 13rem;
	}

	/*.entry-area::before {
		content: "";
		display: block;
		width: 100%;
		height: 200px;
		background-image: url(../img/common/bg-top.png);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		position: absolute;
		top: -110px;
		left: 0;
	}*/
	
	
	.entry-area h2.ttl_cw {margin-bottom: 2rem;}
	.entry-area h2.ttl_cw,
	.entry-area h2.ttl_cw span {color: #fff;}
	.entry-inner {
		position: relative;
		padding: 2rem;
		margin-bottom: 3rem;
		flex-wrap: wrap;
        justify-content:center; 
        align-items:center; 
	}
	
	.entry-inner p {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 3rem;
	}
	
	.entry-inner p br {display: none;}
	.entry-inner .entry-btn .btn + .btn {margin-top: 3rem;}
	
	.entry-btn,
	.btn {width: 100%;}

	.internship-inner {
		flex-wrap: wrap;
	}
	
	.top-internship {
		width: 90%;
		border-radius: 20px;
		overflow: hidden;
	}

	.internship-img,
	.internship-info {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}
	
	.internship-info {padding: 3rem;}
	.internship-info h2 {margin-bottom: 2rem;}
	.internship-info p {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 2rem;
	}
	
	.internship-info p br {display: none;}
	.internship-info .arrow {
		width: 15%;
		text-align: right;
		margin-left: auto;
	}


	/*-----------------------------

	page

	------------------------------*/
	#page-main {
		padding: 2rem 2rem 5.4rem;
	}
    
    #page-main.no-readtxt{
		padding: 2rem 2rem 1rem;
	}
	
	#pan {
		padding: 1rem 0;
		margin-bottom: 3rem;
	}
	#pan,
	#pan a{
		font-size: 1.2rem;
		font-weight: 500;
	}	

	#page-main h2 {
		font-size: 1.6rem;
		margin-bottom: 3.2rem;
	}

	#page-main h2 span {
		font-size: 4rem;
        margin-bottom: 1rem;
        line-height: 1.2;
	}
	
	#page-main p {
		font-size: 1.4rem;
	}	
	
	.main-page {margin-bottom: 5rem;}
	.main-page img {
		border-radius: 10px;
	}
	
	
	/*-----------------------------

	business

	------------------------------*/
	h2.page_ttl {font-size: 1.4rem;}
	h2.page_ttl span{font-size: 2.8rem;}	

	.business-message {
		padding: 0 2.4rem;
		margin-bottom: 5rem;
	}
	
	.business-message .inner,
	.business-vision .inner,
	.business-overview .inner{flex-wrap: wrap;}
	
	
	.business-message h2.page_ttl {padding-bottom: 0rem;}
	
	.business-message .message-img {
		width: 70%;
		margin: 0 auto 3rem;
		padding-right: 0;
	}

	.business-message .message-txt p {
		font-size: 1.4rem;
	}
	
	.business-message .message-txt p + p {
		margin-top: 1.5rem;
	}
	
	
	.business-vision {
		width: 96%;
		max-width: 96%;
		margin: 0 auto;
        padding: 7rem 3rem 20rem;
		background-color: #3aaa32;
		background-image: url(../img/common/noise.png);
		background-size: 100px auto;
		background-attachment: fixed;
		border-radius: 50px;
	}
	
	.business-vision {
		text-align: center;
	}
	
	.business-vision h2,
	.business-overview h2{
		width: 100%;
		text-align: center;
		margin-bottom: 3.2rem;
	}
	
	.business-vision .vision-info h3 {
		font-size: 2rem;
		margin-bottom: 2.5rem;
		letter-spacing: 0.1rem;
        text-align: center;
	}
	
	.business-vision .vision-info h3 span::before {
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		background-image: url("../img/page/business/left.svg");
		background-size: cover;
		background-repeat: no-repeat;
		position: absolute;
		top: 0;
		left: -30px;
	}

	.business-vision .vision-info h3 span::after {
		content: 　"";
		display: block;
		width: 20px;
		height: 20px;
		background-image: url("../img/page/business/right.svg");
		background-size: cover;
		background-repeat: no-repeat;
		position: absolute;
		bottom: 10px;
		right: -30px;
	}

	.business-vision .vision-info p {
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: 0.1rem;
	}	
	
	.business-vision .vision-info {
		width: 100%;
		text-align: center;
	}
	
	.business-slide-area {margin: -22rem 0 6rem;}
	
	.business-area {
		margin: 7.2rem 0;
		padding: 0 2rem;
	}	
	
	.business-area ul.business-list li {
		padding: 3.75rem 3rem;
	}

	.business-area .business-inner {
		flex-wrap: wrap;
		align-items: center;
	}
	
	.business-area ul.business-list li + li {margin-top: 2.4rem;}
	.business-area .business-info h3 {
		font-size: 2rem;
		margin-bottom: 1rem;
		line-height: 1.8;
	}
	.business-area .business-info p {
		font-size: 1.4rem;
        line-height: 1.8;
	}

	.business-area .business-info {
		width: 100%;
		max-width: 100%;
		margin-bottom: 2rem;
	}

	.business-area .business-img {
		width: 100%;
		max-width: 100%;
	}
	
	.business-history {
		margin-bottom: 7.2rem;
		padding: 0 2rem;
	}
	
	.business-history .history-area {
		padding: 3rem 2rem;
		border-radius: 30px;
	}

	.business-history .history-area ol li dl {
        flex-flow: column;
		width: 95%;
		max-width: 95%;
        padding-bottom:  2.4rem;
	}
    
	.business-history .history-area ol li dl dt {
		width: 30%;
		max-width: 30%;
		font-size: 1.6rem;
		padding: 1rem 0 0 1rem;
		line-height: 1.4;
	}

	.business-history .history-area ol li dl dd {
		width: 95%;
		max-width: 95%;
		font-size: 1.4rem;
		padding-top: 1rem;
        padding-left: 1rem;
		line-height: 1.7;
	}
    
	.business-history .history-area ol li dl dd .pb3 {
		padding-bottom: 0;
	}
    

	.business-overview {
		padding: 0 2rem;
		margin-bottom: 15rem;
	}

	.business-overview .overview-info {
		width: 100%;
	}

	.business-overview .overview-info ul li {
		border-bottom: 1px solid #3AAA32;
		padding-bottom: 2.4rem;
	}

	.business-overview .overview-info ul li:last-child {border-bottom: none;}

	.business-overview .overview-info ul li + li {margin-top: 2.4rem;}

	.business-overview .overview-info ul li dl {}
	.business-overview .overview-info ul li dl dt {
        margin-right: 1rem;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.business-overview .overview-info ul li dl dd {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.business-overview .overview-info ul li dl dd p + p {margin-top: 3rem;}


	
	/*-----------------------------

	data

	------------------------------*/	
    .data {
		padding: 0 2rem;
		margin-bottom: 15rem;
	}
    
    .data h2.ttl {
        margin-bottom: 0.8rem;
    }
    
	.data h2.page_ttl {font-size: 1.4rem;}
    
    .data h2.page_ttl span{
        font-size: 2.4rem;
    }
	
    .data_inner {
        margin-top: 0rem;
        margin-bottom: 6.4rem;
    }
	
    .data_item {
        padding: 2.4rem 1.2rem 1.8em 1.2rem;
        border-radius: 1rem;
    }
    
    .data_inner .box3, 
    .data_inner .box2,
    .data_inner .box1 {
        width: 100%;
        margin-top: 1.6rem;
    }
    
    .box3 .data_item_inner {
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .data_item img{
        width: 64px;
        height: auto;
    }
    
    .data_item img{
        width: 64px;
        height: auto;
    }
    
    .data_item img.width72 {
        width: 72px;
        height: auto;
    }
    
    .data_item img.width56 {
        width: 56px;
        height: auto;
    }
    
	 .box3 .data_title_inner,
	 .box2 .data_title_inner,
     .box1 .data_title_inner {
        width: 50%;
        margin-left: 1.8rem;
    }

	.data_title_inner h3.data_title {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.5;
    }

	.box3 h3.data_title {
        margin-top: 0;
	}

	.data_number .number {
        font-size: 6.4rem;
	}

	.data_number .unit {
        font-size: 1.6rem;
	}
    
	.data_item .data_caption {
        margin-top: 0rem;
        font-size: 1.3rem;
	}


    /*-----------------------------

	jpb-type

	------------------------------*/	
    .job-type {
		padding: 0 2rem;
		margin-bottom: 15rem;
	}
    
    .job-type-list {
		margin-bottom: 2.4rem;
	}
    
    .job-type-list li { 
		padding: 3.75rem 3rem;
	}
    
    .job-type ul.job-type-list li + li {
		margin-top: 2.4rem;
	}
    
    .job-type-list h3 {
		font-size: 2rem;
	}
    
    .job-type-list .job-type-card {
		width: 100%; 
		margin-top: 4rem;
	}
    
    .job-type-list .job-type-card img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
    
    .job-type-list .job-type-title .cat {
        width: 64px;
        heigth: 24px;
        border-radius: 1.4rem;
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 24px;
    }
    
    .job-type-list .job-type-title h4 {
		font-size: 1.8rem;
	}
    
    .job-type-list .job-type-title {
        margin-top: 1.6rem;
        margin-bottom: 1rem;
        align-items: center;
        column-gap: 1.6rem;
}
    
    .job-type-list .job-type-card-info p {
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.8;
}

    
    /*----------------------------- 

	career-suooprt

	------------------------------*/	
    .career-support {
		padding: 0 2rem;
		margin-bottom: 15rem;
	}
    
    .career-support .career-support-ttl {
		padding-bottom: 4rem;
	}
    
    .career-support .career-support-ttl h2.page_ttl {
        margin-bottom: 1rem;
    }
    
    .career-support-ttl .ttl span {
		margin-bottom: 2rem;
		font-size:  2.2rem;
        text-align: left;
	}

    .career-support-ttl p {
		font-size: 1.4rem;
        text-align: left;
        line-height: 1.8;
    }
    
    .career-support-area {
		padding: 3.2rem 2.4rem 4rem;
		border-radius: 20px;
    }
    
    .career-support-area .support_title  {
		margin-bottom: 4rem;
    }
    
    .career-support-area .support_title h3,
    .career-support-area .support_list .support-list li h3 {
        margin-bottom: 2.4rem;
        font-size: 2rem;
    }
    
    .career-support-area ol li dl dt,
    .career-support-area ol li dl .training-list h4 {
		font-size: 1.6rem;
    }
    
    .career-support-area ol {
		 margin-bottom: 4rem;
    }
    
    .career-support-area ol li .may{
		 padding-top: 1rem;
    }
    
    .career-support-area ol li dl {
		 flex-flow: column;
		 width: 100%;
		 max-width: 100%;
    }
    
    .career-support-area ol li dl dt {
		 width: 100%;
		 max-width: 100%;
		 padding-left: 1rem;
		 line-height: 2;
    }
    
    .career-support-area ol li dl dd {
		 width: 100%;
		 max-width: 100%;
		 padding: 1rem 0 0 1rem;
		 font-weight: 600;
		 line-height: 1.8;
    }
    
    .career-support-area ol li dl .training-list{
		 margin-bottom: 2rem;
		 padding: 2rem 1.6rem;
    }
    
    .career-support-area ol li dl .training-list h4 {
		 margin-bottom: 1rem;
    }
    
    .career-support-area ol li dl .training-list p,
    .career-support-area .support_list ul li .support-info p {
		 font-size: 1.4rem;
		 line-height: 1.8;
    }
    
    .career-support-area .support_list .support_title {
		 margin-bottom: 1rem;
    }
    
    .career-support-area .support_list .support-list {
		 flex-flow: column;
    }
    
    .career-support-area .support_list .support-list li {
		 width: 100%;
		 padding: 2.4rem;
    }
    
    .career-support-area .support_list .support-list li:first-child {
		 margin-bottom: 2.4rem;
    }
    
    .career-support-area .support_list ul li .support-info h4 {
		 font-size: 1.6rem;
		 margin-bottom: 1rem;
    }
    
    
    /*-----------------------------

    welfare-benefits

    ------------------------------*/
    .welfare-benefits {
        padding: 0 2.4rem;
        margin-bottom: 15rem;
    }

    .welfare-benefits .welfare-benefits-item {
		 margin-bottom: 6.4rem;
    }
    
    .welfare-benefits .welfare-benefits-item h3 {
		 font-size: 2.2rem;
    }
    
    .welfare-benefits .welfare-benefits-item ul{
		 margin-top: 2.4rem;
		 row-gap: 2rem;
    }
    
    .welfare-benefits .welfare-benefits-item ul li {
		 width: 100%;
		 padding: 2.4rem;
		 border-radius: 16px;
    }
    
    .welfare-benefits .welfare-benefits-item ul li h4 {
		 padding-bottom: 1rem;
		 font-size:  2rem;
    }
    
    .welfare-benefits .welfare-benefits-item ul li p {
		 font-size:  1.4rem;
    }
    
    .welfare-benefits-item .club-title-inner {
		 flex-direction:column;
		 align-items: flex-start;
		 margin-bottom: 2rem;
    }
    
    .welfare-benefits-item .club-title-inner h3 {
		 margin-right: 0rem;
		 margin-bottom: 1rem;
    }

    .welfare-benefits-item .club-title-inner p {
		 font-size:  1.4rem;
    }
    
    
    /*-----------------------------

    interview

    ------------------------------*/
    .main-img-area h3 {
		 position: static;
		 transform: translateY(-20%);
		 padding: 2.4rem 2.4rem 1rem;
		 border-top-right-radius: 0px;
		 border-bottom-right-radius: 0px;
		 border-bottom-left-radius: 0px;
		 background: #F4F5F1;
		 color: #3AAA32;
		 font-weight: 600;
		 font-size: 1.4rem;
    }
    
    .main-img-area .title-right{
		 position: static;
		 transform: translateY(-20%);
		 padding: 2.4rem 2.4rem 1rem;
		 border-top-right-radius: 0px;
		 border-bottom-right-radius: 0px;
		 border-top-left-radius: 0px;
		 border-bottom-left-radius: 0px;
    }
    
    .main-img-area h3 span {
		 padding-bottom: 2.4rem;
		 font-size: 2.4rem;
    }
    
    .main-img-area h3 .interview04{
        font-size: 1.9rem;
        font-weight: bold;
    }
    
    .interview {
        padding: 0 2.4rem;
        margin-bottom: 15rem; 
    }
    
    .interview .interview-img-area {
		 flex-direction:column;
		 margin-bottom: 4rem;
    }

    .interview .interview-img {
		 width: 100%;
    }

    .interview .interview-img:first-child {
		 margin-bottom: 2rem;
    }

    .interview .interview-movie-area {
		padding: 3.5rem 3rem 4rem;
		border-radius: 20px;
    }

    .interview .interview-movie-inner {
        flex-direction:column;
        align-items: flex-start;   
    }
    
    .interview .interview-movie-inner h3 {
        padding-bottom: 2.4rem;
		font-size: 1.4rem;
		font-weight: bold;
    }

    .interview .interview-movie-inner span {
		display: inline-block;
		padding-bottom: 1rem;
		font-size: 2rem;
    }

    .interview-movie img {
		border-radius: 16px;
    } 
    
    
    /*-----------------------------

    recruitment

    ------------------------------*/
    #page-main .zenkaku {
        font-size: 3.2rem;
        margin-bottom: 1rem;
        line-height: 1.4;
    }
    
    .recruitment-ideal {
        padding: 0 2.4rem;
        margin-bottom: 7.2rem;
    }
    
    .recruitment-ideal .recruitment-ideal-ttl {
        padding-bottom: 2rem;
        line-height: 1.8;
    }

    .recruitment-ideal .recruitment-ideal-ttl span{
        font-size: 2.2rem;
        line-height: 1.4;
    }
    
    .recruitment-ideal ul.recruitment-ideal-list {}
    .recruitment-ideal ul.recruitment-ideal-list li {
        padding: 3.75em  3rem;
    }
    
    .recruitment-ideal .recruitment-ideal-inner {
        flex-wrap: wrap;
    }
    
    .recruitment-ideal ul.recruitment-ideal-list li + li {margin-top: 2.4rem;}
    .recruitment-ideal .recruitment-ideal-info h3 {
        font-size: 2rem;
        margin-bottom: 2.4rem;
    }
    
    .recruitment-ideal .recruitment-ideal-info p {
        font-size: 1.4rem;
    }
    
    .recruitment-ideal .recruitment-ideal-info {
        width: 100%;
        max-width: 100%;
        margin-bottom: 2rem;
    }

    .recruitment-ideal .recruitment-ideal-img {
        width: 100%;
        max-width: 100%;
    }
    
    .recruitment-ideal .recruitment-ideal-img img {border-radius: 10px;}
    
    .recruitment-description {
        padding: 0 2.4rem;
        margin-bottom: 7.2rem;
    }
    
    .recruitment-description h2 {
        margin-bottom: 3rem;
    }
    
    .recruitment-description .description-btn {
        flex-wrap: wrap;
    }
    
    .recruitment-description .description-btn .btn{
       width: 49%;
       max-width: 49%;
       margin-top: 1rem;
    }
	
     .recruitment-description .description-btn .btn a{
       margin-top: 1rem;
       font-size: 1.4rem;
       height: 40px;
       line-height: 40px;
       border: 1px solid #3aaa32; 
       background-size: 10px 10px;    
    }
         
    .recruitment-description ul .description-job-list-item {
       padding: 3.2rem 2.4rem 4rem;
       border-radius: 20px;
    }

    .recruitment-description ul .description-job-list-item:not(:last-child){
       margin-bottom: 2.4rem;
    }
    
    .recruitment-description .description-job-list h3{
       margin-bottom: 2.4rem;
       font-size: 2rem;
    }
    
    .recruitment-description ul li dl .item {
        flex-wrap: wrap;
    }
    
    .recruitment-description ul li dl .item:not(:first-child){
       margin-top: 2.4rem;
       padding-top: 2.4rem;
    }
    
    .recruitment-description ul li dt {
       width: 100%;
       margin-bottom: 1rem;
       font-size: 1.6rem;
    }
    
    .recruitment-description ul li dd,
    .recruitment-description ul li dd ul li {
       width: 100%;
       font-size: 1.4rem;
    }
    
    .recruitment-selection {
       padding: 2rem 2.4rem 13rem;
    }
    
    .recruitment-selection::before {
       display: block; 
       width: 100%;
       height: 200px;
       background-size: contain;
       background-repeat: no-repeat;
       position: absolute;
       top: -30px;
       left: 0;
    }

    #recruitment-process .zenkaku {
        font-size: 2.4rem;
       margin-bottom: 3rem;
    }
    
    .recruitment-selection ul li .selection-process-list {
       margin-top: 2rem;
    }
    
    .recruitment-selection ul .selection-list {
       margin-bottom: 6.4rem;
    }
    
    .recruitment-selection .selection-list h3 {
       font-size: 2rem;
    }
    
    .recruitment-selection .selection-list h3 span{
       font-size: 1.6rem;
    }
    
    
    .recruitment-selection ul li ul li h4 {
       font-size: 1.8rem;
    }
    
    .recruitment-selection ul li .selection-process-list:before{
       top: 10rem;
       left: 50%;
       width: 1rem;
       height: 70%;
    }
    
    .recruitment-selection ul li ul .selection-process-list-item {
       padding: 3.2rem 2.4rem;
       border-radius: 20px;
    }
    
    .recruitment-selection ul li ul .selection-process-list-item:not(:last-child){
       margin-bottom: 2rem;
    }
    
    .recruitment-selection ul li ul li p,
    .selection-process-list-item ul li{
       font-size: 1.4rem;
    }
    
    .recruitment-selection ul li ul li p {
       margin-top: 1rem;
    }
    
    .selection-process-list-item ul li p {
       margin-bottom: 1rem;
    }
    
    .selection-process-list-item ul {
       flex-direction:column;
       justify-content:center;
       align-items:center;  
       margin-top: 2rem;
    }
    
    .selection-process-list-item ul li {
       width: 80%;
       height: auto;
       margin-top: 1.6rem;
       border-radius: 10px;
    }
    
    .selection-process-list-item ul:before {
       position: absolute;
       top: 2rem;
       left: 50%;
       width: 1rem;
       height: 70%;
    }

    .selection-process-list-item .step3 li:not(:last-child),
    .selection-process-list-item .step2 li:not(:last-child){
       margin-right: 0rem;
    }

    .selection-process-list-item .step3:before,
    .selection-process-list-item .step2:before {
       position: absolute;
       top: 2rem;
       left: 50%;
       width: 1rem;
       height: 70%;
    }

    .recruitment-selection .entry-btn {
       margin-top: 4rem;
    }
    
    
    /*-----------------------------

    internship

    ------------------------------*/
    .internship {
		padding: 0 2.4rem;
        margin-bottom: 15rem;
    }

    .internship ul .internship-course-list {
		padding: 3.75rem 3rem;
		border-radius: 20px;
    }

    .internship ul .internship-course-list:not(:last-child){
		margin-bottom: 3.2rem;
    }
    
    .internship ul li h3 {
		margin-bottom: 2rem;
		font-size: 2.4rem;
    }
    
    .internship-inner p {
		font-size: 1.4rem;
    }
    
    .internship-left {
		width: 100%;
    }
    
    .internship-left p{
		margin-bottom: 2rem;
    }
    
    .internship-left img{
		border-radius: 16px;
    }
    
    .internship-right {
		width: 100%;
		margin-top: 3.2rem;
    }
    
    .internship-right .internship-program-list {
		margin-bottom: 2.4rem;
		padding: 2.4rem;
		border-radius: 16px;
    }
    
    .internship-right dl .item:not(:first-child){
		margin-top: 1.6rem;
		padding-top: 1.6rem;
    }
    
    .internship-right dl dt {
        margin-bottom: 1rem;
        font-size: 1.4rem;
    }
    
    .internship-program-list .item {
        flex-direction:column;
    }
    
    
    
    
	/*-----------------------------

	footer

	------------------------------*/

	footer {
		position: relative;
		margin-top: -5rem;
		padding: 5rem 3rem 3rem;
	}

	footer .inner.bg {
		background: url("../img/common/footer_illust.png") no-repeat right bottom;
		background-size: 60%;
	}
	
	footer .inner {flex-wrap: wrap;}

	footer .footer-logo {
		width: 100%;
		text-align: center;
		margin-bottom: 5rem;
	}
	footer .footer-logo .f-logo {
		margin-bottom: 4rem;
	}
	
	footer .f-nav-area {padding-left: 0;}
	footer .footer-nav .di-fl {flex-wrap: wrap;}
	
	footer .f_nav {margin-bottom: 3rem !important;}
	footer .f_nav + .f_nav {margin-top: 3rem !important;}
	footer .f_nav h3 {
		font-size: 1.4rem;
	}

	footer .f_nav h3 span {
		font-size: 2rem;
	}

	footer .f_nav ul li + li {margin-top: 0.5rem;}
	footer .f_nav ul li a {
		font-size: 1.4rem;
		font-weight: 500;
	}

	footer .f_nav ul li a:hover {color: #3aaa32;}
	footer p.copyright {
		font-size: 1rem;
		padding-top: 3rem;
		text-align: center;
	}

    footer .youtube {
		margin-top: 2rem;
	}
    
	footer .sns-logo-inner {
		margin-top: 2rem;
	}
    
	footer .sns-logo a {
		font-size: 1.4rem;
	}


	.btn a {
		font-size: 1.6rem;
		height: 60px;
        line-height: 60px;
	}
	

}