@charset "utf-8";
/* CSS Document */

@media only screen and (max-width:1366px){
	
	#content { width: 90%; }
	
	#vegas_recruit .caption { width: 87vw; }
	#vegas_recruit .caption .cp_item:nth-child(2) { margin-left: 30px; }
	#vegas_recruit .caption .cp_item:nth-child(3) { margin-left: 60px; }
	#vegas_recruit .caption .cp_item .point_txt span { font-size: calc(22 / 1200 * 100vw); }
	
	/************************** RECRUIT ***************************/
	
	.recruit_vision .text-box .inner .txt_box h2 { font-size: 2rem; }
	.recruit_interview .inner .interview_box { height: 530px; padding: 200px 0 0; }
	.welfare_box .welfare_box__list .item p { font-size: 0.95rem; }
	
}


@media only screen and (max-width:1024px){
	
	/* ヘッダー */
	header { margin: 20px 0; }
	header .logo { margin: 0 0 0 20px; }
	header .logo a { font-size: 1.5rem; line-height: 1em; }
	
	header #pc_nav { display: none; }
	header .menu-contact { display: none; }

	/* スライド */
	#vegas { height: 60vh; margin-bottom: 50px; }
	#vegas .caption { width: 70%; }
	#vegas .caption h2 {
		margin: 0;
		margin-top: 20px;
		font-size: calc(75 / 1200* 100vw);
		line-height: 1.5;
	}
	#vegas .sns { top: 50%; }
	
	/* コンテンツボックス */
	#content { width: 90%; padding: 60px 0; }
	#content p { margin: 0; letter-spacing: 0; }
	
	/* バーガーメニュー */
	.button_container {
        display: block;
        position: fixed;
        top: 15px;
        right: 20px;
        height: 55px;
        width: 55px;
        cursor: pointer;
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
        z-index: 2000;
        background-color: #309867;
		border-radius: 50%;
    }
	.button_container:hover {
  		opacity: .7;
	}
	
	.button_container.active .top {
  		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(10px) translateX(0) rotate(45deg);
  		background: #fff;
	}
	.button_container.active .middle {
  		opacity: 0;
  		background: #fff;
	}
	.button_container.active .bottom {
  		-webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
    	transform: translateY(-8px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	.button_container span {
		background: #fff;
		border: none;
		height: 1.5px;
		width: 30px;
		position: absolute;
		top: 18px;
		left: 0;
        right: 0;
        margin: 0 auto;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
		top: 27px;
	}
	.button_container span:nth-of-type(3) {
		top: 36px;
	}

	.overlay {
		display: block;
		position: fixed;
		background: #309867;
		top: 0;
		right: 0;
		width: 0%;
		height: 100%;
 		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity .35s, visibility .35s, width .35s;
		transition: opacity .35s, visibility .35s, width .35s;
		overflow: hidden;
	}
	.overlay.open {
		opacity: 0.95;
		visibility: visible;
		width: 100%;
		z-index: 1000;
	}
	.overlay.open li {
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay nav {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 70%;
		margin: 0 auto;
	}
	.overlay ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		display: inline-block;
		position: relative;
		height: 100%;
	}
	.overlay ul li {
		display: block;
		height: 15%;
		height: calc(100% / 6);
		min-height: 30px;
		position: relative;
		opacity: 0;
	}
	.overlay ul li::before {
    	content: "";
    	position: absolute;
    	top: 50%;
    	left: -50px;
    	width: 30px;
    	height: 1px;
    	background: #fff;
	}
	.overlay ul li a {
		display: block;
		position: relative;
		padding: 1em 0;
		font-size: 1.5em;
		font-weight: 500;
		color: #fff;
		text-decoration: none;
		line-height: 2em;
		letter-spacing: .05em;
		overflow: hidden;
	}
	.overlay ul li a span {
		margin-left: 20px;
		font-size: .75em;
		color: #ccc;
		opacity: 0.8;
	}
	.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
		width: 100%;
	}

	@-webkit-keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0; }
	}

	@keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0;	}
	}
	
	/*************************** common ***************************/
	
	h2.ttl { font-size: 2.1rem; }
	
	/***************************** TOP ****************************/
	
	#vegas { margin-bottom: 0; }
	
	.footer_recruit .inner .rec_item:first-of-type { padding-right: 60px; }
	.footer_recruit .inner .rec_item .en { font-size: 1.5rem; }
	.footer_recruit .inner .rec_item h2 { font-size: calc(60 / 1200 * 100vw); }
	.footer_recruit .inner .rec_item h3 { font-size: 2rem; }
	.footer_recruit .inner .rec_item a {
		width: 300px;
		height: 300px;
		padding: 1.3em;
	}
	.footer_recruit .inner .rec_item a span:first-of-type { font-size: 1.8rem; }
	.footer_recruit .inner .rec_item p br { display: none; }
	
	.footer_contact .inner .ct-item h3 { font-size: 1.6rem; }
	
	.top_news_content {
		flex-direction: column;
		align-items: center;
		padding: 80px 0;
	}
	.top_news_content h2 { width: 300px; font-size: calc(60 / 1200 * 100vw); }
	.top_news_content h2::before { top: 25px; }
	.top_news_content h2 .en { display: inline-block; margin-left: 10px; }
	.top_news_content .sns_list { justify-content: center; }
	.top_news_content .sns_list .sns_icon a { display: flex; }.top_news_content .news_list { width: 90%; margin-top: 40px; }
	
	.news_btn { width: 250px; margin-top: 40px; }
	
	.company_bg::before { top: -6%; width: 300px; height: 500px; }
	
	.top_company_content { margin: 60px auto 100px; }
	.top_company_content .inner { align-items: center; }
	.top_company_content .inner .txt_box .txt { margin-bottom: 40px; }
	.top_company_content .inner .txt_box .top_main_ttl { margin-bottom: 30px; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { padding: 0 0 35px 0; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_en { font-size: 2.3em; }
	
	.top_company_content .inner .img_box img { height: 500px; }
	
	.top_works_content { align-items: center; margin: 0 auto 100px; }
	.top_works_content .wk-txt { width: 25%; }
	.top_works_content .wk-txt h3 { font-size: calc(50 / 1200 * 100vw); }
	.top_works_content .wk-link { width: 65vw; }
	
	/************************** COMPANY ***************************/
	
	.pin-spacer { margin-bottom: 0!important; }
	.profile__img {
		height: 600px!important;
		max-height: 600px!important;
	}
	.profile__img img { height: 600px; }
	
	.company__area02 { width: 90%; }
	
	/**************************** NEWS ****************************/
	
	.news-article .article__main-ttl { font-size: 2rem; }
	.news-article .article__text p { margin-top: 30px!important; }
	
	/************************** RECRUIT ***************************/
	
	#vegas_recruit { height: 60vh; }
	
	#vegas_recruit .caption .cp_item:nth-child(1) { margin-left: 0; }
	#vegas_recruit .caption .cp_item:nth-child(2) { margin-left: 30px; }
	#vegas_recruit .caption .cp_item:nth-child(3) { margin-left: 60px; }
	
	#vegas_recruit .caption .cp_item .point_txt span {
		font-size: calc(20 / 1200* 100vw);
		letter-spacing: 0;
	}
	
	.recruit_vision .text-box .inner .txt_box h2 { font-size: 1.5rem; }
	.recruit_vision .text-box .inner .img_box { height: 500px; }
	
	.recruit_welfare .inner { padding: 70px 0 20px; }
	.recruit_welfare .inner h2 { margin: 15px 0 30px; font-size: 2.2rem; }
	.welfare_box h4 { width: 35%; }
	
	.welfare_box .welfare_box__list { width: 100%; }
	.welfare_box .welfare_box__list .item { width: 32.5%; }
	
	.child_spp_box .user__heading { font-size: 1.7rem; }
	.child_spp_box .flyer { width: 28%; }
	
	.recruit_interview .inner { padding: 70px 0 0; }
	.recruit_interview .inner h2 { margin: 15px 0 30px; font-size: 2.2rem; }
	.recruit_interview .inner .interview_box { height: 470px; padding: 170px 0 0; }
	.interview_box .inner { padding: 0; }
	.interview_box .inner h2 { margin-bottom: 10px; font-size: 1.5rem; }
	.interview_btn { width: 260px; }
	.interview_btn a { padding: 1em 1.2em; }
	
	.recruit_atmosphere .inner { padding: 70px 0 0; }
	.recruit_atmosphere .inner h2 { margin: 15px 0 30px; font-size: 2.2rem; }
	.recruit_atmosphere .inner p { margin-bottom: 70px; }
	.recruit_atmosphere .inner .ap__flex { margin: 50px 0 30px; }
	.recruit_atmosphere .inner .ap__flex .item { width: 48.7%; margin-bottom: 20px; }
	
	.recruit_join .inner { padding: 70px 0; }
	.recruit_join .inner p { margin-top: 20px; font-size: 1.2rem; letter-spacing: 0.05rem; }
	.join_btn { margin: 40px auto 0 auto; }
	
}


@media only screen and (max-width:896px){
	
	/***************************** TOP ****************************/
	
	#vegas .caption span { font-size: 1.5rem; }
	#vegas .sns { top: 30%; right: 15px; transform: translate(0%); }
	#vegas .sns .sns__item a img { width: 55px; }
	
	.top_news_content { padding: 50px 0; }
	.top_news_content h2 { width: 220px; padding: 0; font-size: calc(50 / 1200* 100vw); }
	.top_news_content h2::before { top: 18px; }
	.top_news_content .top_news_head { display: flex; align-items: center; }
	
	.top_news_content .news_list li a { font-size: 1.2rem; }
	.top_news_content .news_list li a span { display: block; }
	
	.news_btn span { font-size: 1.2rem; }
	
	.top_company_content { margin: 60px auto 30px; }
	.top_company_content .inner { flex-direction: column; }
	.top_company_content .inner .txt_box {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		margin-top: 40px;
	}
	.top_company_content .inner .txt_box .txt p { margin-bottom: 0; text-align: center; }
	
	.top_company_content .inner .txt_box .top_main_ttl { margin-bottom: 0; text-align: center; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_en { margin: 0 0 10px 0; font-size: 1.3em; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { padding: 0; font-size: calc(50 / 1200* 100vw); }
	.top_company_content .inner .txt_box .top_main_ttl p.ttl_ja { padding-bottom: 30px; margin-top: 30px; font-size: 1.25rem!important; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja::before { left: 0; right: 0; margin: 0 auto; }
	
	.top_company_content .inner .img_box { width: 100%; }
	.top_company_content .inner .img_box img { height: 300px; }
	
	/*.top_company_content .inner .img_box img.t-com-img01 { display: none; }
	.top_company_content .inner .img_box img.t-com-img02 { display: block; }*/
	
	.company_bg::before { top: -10%; width: 80%; height: 300px; }
	
	.top_works_content .wk-txt .top_works_head span { font-size: calc(50 / 1200 * 100vw); }
	
	.top_works_content { flex-direction: column; margin: 0 auto 70px; }
	.top_works_content .wk-txt { padding: 0; }
	.top_works_content .wk-txt h3 { margin-bottom: 20px; font-size: 1.25rem; }
	.top_works_content .wk-txt .works_btn { display: none; }
	
	.top_works_content .wk-link { width: 100%; margin-right: 0; }
	.top_works_content .wk-link__btn h4 { font-size: 1.7rem; }
	
	.top_works_content .wk-link__btn:nth-child(1) a::after { background-position-y: 0; }
	.top_works_content .wk-link__btn:nth-child(2) a::after { background-position-y: 0; }
	
	.top_works_content .wk-link__btn a .green-back { width: 35%; padding: 1.5em 1.5em; }
	.top_works_content .wk-link__btn a { padding: 0; }
	.top_works_content .wk-link__btn .green-back h4 { font-size: 1.4rem; }
	.top_works_content .wk-link__btn .green-back p { line-height: 1.5; }
	.top_works_content .wk-link__btn .green-back span { font-size: 1.15rem; }
	.top_works_content .wk-link__btn .green-back br { display: none; }
	
	.works_btn { width: 100%; }
	
	.common_btn span { font-size: 1.2rem; }
	
	/*************************** FOOTER ***************************/
	
	.footer_recruit .inner .rec_item:first-of-type { padding-right: 50px; }
	.footer_recruit .inner .rec_item h2 { font-size: calc(50 / 1200 * 100vw); }
	.footer_recruit .inner .rec_item a span { font-size: 1.3rem; }
	.footer_recruit .inner .rec_item a span:first-of-type { font-size: 1.6rem; }
	.footer_recruit .inner .rec_item .en { font-size: 1.3rem; }
	
	.footer_contact { padding: 30px 0; }
	.footer_contact .inner { flex-direction: column; }
	.footer_contact .inner .ct-item { width: 100%; }
	.footer_contact .inner .ct-item:first-of-type {
		padding-bottom: 25px;
		border-right: 0;
		border-bottom: 1px #90c6a6 solid;
	}
	.footer_contact .inner .ct-item:last-of-type { padding-top: 25px; }
	.footer_contact .inner .ct-item p { font-size: 1.3rem; }
	
	.cp-data .cp-add span { font-size: 1.1rem; }
	.ct-btn a { font-size: 1.2rem; }
	
	#footer { padding: 60px 0; }
	#footer .footer-inner { align-items: flex-start; }
	
	.footer-inner .footer_nav { flex-wrap: wrap; }
	.footer-inner .footer_nav ul {
		display: flex;
		justify-content: flex-end;
		width: 100%;
		padding: 0;
		margin-left: 0;
		border-left: 0;
	}
	.footer-inner .footer_nav ul li {
		margin-bottom: 5px;
		margin-left: 15px;
	}
	
	.footer-inner .footer_nav ul { flex-wrap: wrap; }
	.footer-inner .footer_nav ul li { margin-left: 10px; }
	.footer-inner .footer_nav ul li a { font-size: 1rem; }
	
	.footer-inner .footer_nav .footer-sns { margin: 0 0px 20px 10px; }
	.footer-inner .footer_nav .footer-sns:nth-child(2) { margin-right: 0; }
	.footer-inner .footer_nav .footer-sns img { width: 35px; }
	
	/*************************** common ***************************/
	
	.page-head { padding: 50px 0 50px; }
	.page-head-ttl__main { font-size: 2.1em; }
	
	#bread-box { font-size: 1rem; }
	
	h2.ttl { font-size: 1.8rem; }
	h3.sub-ttl { margin: 40px 0 30px; font-size: 1.4rem; }
	h3.sub-ttl::before { left: 25px; height: 1.7rem; }
	
	.br-sp { display: block; }
	
	/**************************** TOP *****************************/
	
	.footer_recruit { padding: 50px 0; }
	.footer_recruit .inner .rec_item h3 { margin: 20px 0 0; font-size: 1.6rem; }
	.footer_recruit .inner .rec_item p { margin: 20px 0 0; line-height: 1.6; }
	.footer_recruit .inner .rec_item a {
		width: 250px;
		height: 250px;
		padding: 1.2em;
	}
	
	/*************************** WORKS ****************************/
	
	.works__link-list { margin-bottom: 50px; }
	.works__link-list .button a { padding: 0.5em 1.5em; }
	.works__link-list .button a::after { top: 15px; right: 25px; }
	
	.works-list { flex-wrap: wrap; justify-content: space-between; }
	.works-list .works-item { width: 49%; margin-right: 2%; margin-bottom: 20px; }
	.works-list .works-item:nth-child(3n) { margin-right: 2%; }
	.works-list .works-item:nth-child(2n) { margin-right: 0; }
	
	.works-list .works-item .item { border-radius: 5px; }
	.works-list .works-item a .time { font-size: 1.2rem; }
	.works-list .works-item a .name { font-size: 1.2rem; }
	
	.modal-box { flex-direction: column; }
	.modal-box .img-box { width: 100%; order: 1; }
	.modal-box .profile { width: 100%; order: 2; margin-top: 20px; }
	.modal-box .profile .title { font-size: 1.3rem; }
	.modal-box .profile dl dt { font-size: 1.2rem; }
	.modal-box .profile dl dd { font-size: 1.2rem; }
	
	.works-contact { width: 100%; margin: 40px auto 0; }
	.works-contact a {
		padding: 0.7rem 2rem 0.7rem 1rem;
		font-size: 1.4rem;
		font-weight: 500;
	}
	.works-contact a::after { background-size: 22px; right: 10px; }
	.works-contact br { display: none; }
	
	.space_m { height: 20px; }
	
	/*************************** NEWS *****************************/
	
	.news-list { margin-top: 60px; }
	.news-list .news__item-list li a figure { width: 20%; }
	.news-list .news__item-list li a time { display: block; font-size: 1.2rem; }
	.news-list .news__item-list li a span { font-size: 1.2rem; }
	
	.news-list .news__item-list li a .list-data { padding-right: 30px; }
	
	.news-article .article__main-ttl { font-size: 1.6rem; }
	.article__text h2 { font-size: 1.5rem; }
	.article__text h3 { font-size: 1.3rem; }
	
	.news-article .article__time { font-size: 1.2rem; }
	.news-article .article__text p { font-size: 1.2rem; line-height: 1.8!important; }
	
	.pagination a { font-size: 1.2rem; }
	
	/************************* CONPANY ****************************/
	
	.company__link-list { margin-bottom: 50px; }
	.company__link-list .button { width: 100%; margin-bottom: 5px; }
	.company__link-list .button a { padding: 0.2em 1.5em; }
	.company__link-list .button a::after { top: 10px; }
	
	.company__area01 .com-greeting { flex-direction: column; }
	
	.greeting__ceo-img { width: 100%; }
	.greeting__ceo-mes01 { margin-left: 0; margin-top: 0; }
	.greeting__ceo-mes01 span { clip-path: polygon(50% 0, 100% 100%, 0 100%); }
	.greeting__ceo-mes02 { width: 100%; padding: 1.5em 2em; margin-top: 20px; }
	.greeting__ceo-mes02 p { margin-top: 15px!important; font-size: 1.2rem; }
	.greeting__ceo-mes02 .ceo-name { margin-top: 20px; }
	
	.company__area02 { padding: 10px 0 0; }
	.company__area02 .com-list dt { width: 20%; padding: 1em; font-size: 1.2rem; }
	.company__area02 .com-list dd { width: 80%; padding: 1em; font-size: 1.2rem; }
	
	.com-landscape li img { border-radius: 10px; }
	
	/************************** RECRUIT ***************************/
	
	.button_container.blue { background: #004fa7; }
	.overlay.blue { background: #004fa7; }
	
	#vegas_recruit .caption { top: 50%; width: 85vw; }
	#vegas_recruit .caption .cp_item { flex-direction: column; margin-top: 20px; }
	#vegas_recruit .caption .cp_item:nth-child(2) { margin-left: 0; }
	#vegas_recruit .caption .cp_item:nth-child(3) { margin-left: 0; }
	#vegas_recruit .caption .cp_item .point span { padding: 0.1em 1em; font-size: calc(50 / 1200 * 100vw); }
	#vegas_recruit .caption .cp_item .point_txt { margin: 10px 0 0; }
	#vegas_recruit .caption .cp_item .point_txt span { font-size: calc(32 / 1200* 100vw); text-align: center; }
	
	#vegas_recruit .sns { top: 35%; right: 20px; transform: translate(0%); }
	
	.cp_item .point_txt span br { display: block; }
	
	.scroll-Block { display: none; }
	
	.recruit_vision .text-box .inner { flex-direction: column; }
	.recruit_vision .text-box .inner .txt_box { width: 100%; padding: 50px 0 60px; }
	.recruit_vision .text-box .inner .txt_box h2 { text-align: center; }
	.recruit_vision .text-box .inner .img_box {
		width: 100vw;
		height: 350px;
		margin-right: 0;
		clip-path: none;
	}
	.recruit_vision .text-box .inner .img_box img { height: 100%; }
	
	.recruit_welfare .inner h3:first-of-type { font-size: 1.5rem; }
	.recruit_welfare .inner h2 { margin: 15px 0 15px; font-size: 2rem; }
	
	.welfare_box { flex-direction: column; margin-bottom: 60px; }
	.welfare_box h4 { width: 100%; font-size: 1.5rem; text-align: center; }
	.welfare_box .welfare_box__list { width: 100%; padding: 0; margin-top: 25px; }
	.welfare_box .welfare_box__list .item { width: 49.7%; font-size: 1.4rem; }
	.welfare_box .welfare_box__list .item p { font-size: 1.2rem; }

	.welfare_box .welfare_box__list .item:nth-child(8) p span { font-size: 1.2rem; }
	
	.child_spp_box { flex-direction: column; margin: 40px auto 60px; }
	.child_spp_box .flyer { width: 45%; }
	.child_spp_box .user { width: 100%; margin-top: 30px; }
	.child_spp_box .user__heading { font-size: 1.5rem; }
	.child_spp_box .user__txt { padding: 1.2em; line-height: 1.8; }
	
	.recruit_interview_flexBox { flex-direction: column; margin-bottom: 30px; }
	
	.recruit_interview .inner { padding: 60px 0 0; }
	.recruit_interview .inner h2 { margin: 15px 0; font-size: 2rem; }
	.recruit_interview .inner .interview_box { width: 80%; margin: 0 auto 80px; padding: 120px 0 0; }
	.interview_box .inner h2 { font-size: 1.5rem; }
	.interview_box .inner h2 br { display: block; }
	
	.interview_box .inner .text { font-size: 1.2rem; }
	.interview_box .inner .text.name { font-size: 1.6rem; }
	
	.modal-box .iv_mainBox { flex-direction: column; }
	.modal-box .iv_mainBox .iv_box01, .modal-box .iv_mainBox .iv_box02 { width: 100%; }
	.modal-box .iv_mainBox .iv_box01 figure { width: 80%; margin: 0 auto 30px; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(1) { font-size: 1.2rem; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(2) { font-size: 1.7rem; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(2) span { font-size: 1.2rem; }
	
	.modal-box .iv_mainBox .iv_box01 dl dt h3 { font-size: 1.4rem; }
	.modal-box .iv_mainBox .iv_box01 dl dd p { font-size: 1.2rem; }
	
	.modal-box .iv_mainBox .iv_box02 dl dt h3 { font-size: 1.4rem; }
	.modal-box .iv_mainBox .iv_box02 dl dd p { font-size: 1.2rem; }
	
	.modal-box .wf_mainBox .wf_box02 .wf_box02__heading { font-size: 1.5rem; }
	.modal-box .wf_mainBox .wf_box02 .wf_box02__txt { padding: 1em; border-radius: 12px; }
	
	.recruit_atmosphere .inner .ap__flex .item span { font-size: 1.2rem; }
	
	.recruit_join .inner h2 { font-size: 4rem; }
	.recruit_join .inner p { font-size: 1.3rem; line-height: 1.8; }
	
	.join_btn { width: 380px; }
	.join_btn a { padding: 1.5em 1em; }
	
}

@media only screen and (max-width:640px){
	
	/*************************** HEADER ***************************/
	
	header .logo { margin: 0 0 0 15px; }
	header .logo a span { line-height: 1em; }
	header .logo a .logo-txt { font-size: 1.13rem; }
	header .logo a .logo-txt span { margin-top: 6px; font-size: .55rem; letter-spacing: .23em; }
	header .logo a .logo-img img { width: 35px; }
	
	.button_container { top: 10px; right: 15px; }
	
	.overlay nav { width: 60%; }
	.overlay ul li a { padding: 0.5em 0; font-size: 1.3em; }
	
	/***************************** TOP ****************************/
	
	#vegas { height: 55vh; }
	
	#vegas .sns { display: none; }
	
	#vegas .caption { left: 5%; width: 90%; }
	#vegas .caption span { font-size: 0.92rem; }
	#vegas .caption span.subheading { display: block; }
	#vegas .caption h2 {
		margin-top: 10px;
		font-size: calc(90 / 1200* 100vw);
		line-height: 1.5;
		letter-spacing: .05rem;
	}
	#vegas .caption h2 br { display: none; }
	
	.scroll-Block { display: none; }
	
	.top_news_content { padding: 50px 0; }
	.top_news_content .top_news_head { display: flex; align-items: center; }
	.top_news_content h2 { width: 165px; padding: 0; font-size: calc(68 / 1200* 100vw); }
	.top_news_content h2::before { top: 11px; width: 13px; height: 13px; }
	.top_news_content h2 .en { font-size: 1rem; }
	
	.top_news_content .news_list { flex-wrap: wrap; width: 100%; margin-top: 10px; }
	.top_news_content .news_list li { width: 100%; margin-right: 3%; margin-top: 20px; }
	.top_news_content .news_list li:nth-child(2n) { margin-right: 0; }
	.top_news_content .news_list li a { display: flex; align-items: flex-start; justify-content: space-between; font-size: 0.9rem; }
	.top_news_content .news_list li a figure { width: 30%; }
	.top_news_content .news_list li a figure img { height: 100px; }
	.top_news_content .news_list li a .data { width: 63%; }
	.top_news_content .news_list li a time { display: block; width: fit-content; margin-top: 0; font-size: 0.85rem; }
	.top_news_content .news_list li a time::after { right: 45px; width: 40px; }
	
	.news_btn { height: 45px; margin-left: 0; }
	
	.company_bg::before { height: 150px; }
	.top_company_content { margin: 30px auto 35px; }
	.top_company_content .inner .txt_box { margin-top: 25px; }
	.top_company_content .inner .txt_box .top_main_ttl { margin-bottom: 25px; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_en { margin: 0 0 10px 0; font-size: 1em; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { padding: 0 0 0 0; margin-top: 20px; font-size: calc(68 / 1200* 100vw); }
	.top_company_content .inner .txt_box .top_main_ttl p.ttl_ja { padding-bottom: 0; margin-top: 20px; letter-spacing: 0; }
	
	.top_company_content .inner .img_box img { height: 150px; }
	
	.top_company_content .inner .txt_box .txt { margin-bottom: 30px; }
	.top_company_content .inner .txt_box .txt p { font-size: 0.85rem; line-height: 1.8; text-align: left; }
	
	.company_bg::before { top: -6%; }
	.common_btn { height: 45px; }
	
	.top_works_content { flex-direction: column; }
	.top_works_content .wk-txt { width: 100%; padding-right: 0; margin-top: 10px; }
	.top_works_content .wk-txt h3 {
		margin-bottom: 25px;
		font-size: calc(55 / 1200* 100vw);
		letter-spacing: 0.05rem;
		writing-mode: horizontal-tb;
		text-align: center;
	}
	.top_works_content .wk-txt h3 br { display: none; }
	.top_works_content .wk-txt .top_works_head { margin-bottom: 20px; }
	.top_works_content .wk-txt .top_works_head span { font-size: calc(68 / 1200 * 100vw); }
	.top_works_content .wk-txt .top_works_head span.en { font-size: 1rem; }
	
	.works_btn { width: 250px; height: 45px; margin: 10px auto 40px; }
	
	.top_works_content { margin: 0 auto 5px; }
	.top_works_content .wk-link { width: 100vw; margin-right: 0; }
	.top_works_content .wk-link__btn a { flex-direction: column; padding: 0; }
	.top_works_content .wk-link__btn a .green-back { position: relative; }
	.top_works_content .wk-link__btn a .green-back::after {
		content: "";
		position: absolute;
		top: 45px;
		right: 25px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: 0.3s;
	}
	.top_works_content .wk-link__btn a .green-back { width: 100%; padding: 0.7em 1.2em; box-sizing: border-box; }
	.top_works_content .wk-link__btn .green-back span { font-size: 0.9rem; }
	.top_works_content .wk-link__btn .green-back h4 { font-size: 1.3rem; margin: 0; }
	.top_works_content .wk-link__btn .green-back p { font-size: 0.9rem; line-height: 1.5; margin: 2px 0 0 0; }
	.top_works_content .wk-link__btn a .img-back01 { width: 100%; height: 100px; }
	.top_works_content .wk-link__btn a .img-back02 { width: 100%; height: 100px; }
	.top_works_content .wk-link__btn a .img-back03 { width: 100%; height: 100px; }
	
	.top_works_content .wk-link__btn:nth-child(2), .top_works_content .wk-link__btn:nth-child(3) { margin-top: 5px; }
	
	.top_works_content .wk-link__btn span { font-size: 0.9rem; }
	.top_works_content .wk-link__btn h4 { font-size: 1.3rem; }
	.top_works_content .wk-link__btn p { font-size: 0.85rem; }
	
	.top_works_content .wk-link__btn:nth-child(1) a::after { background-position-y: 0; }
	.top_works_content .wk-link__btn:nth-child(2) a::after { background-position-y: 0; }
	
	.footer_recruit .inner .rec_item .en { font-size: 2rem; }
	.footer_recruit .inner .rec_item h2 { font-size: 1rem; }
	.footer_recruit .inner .rec_item h3 { margin: 15px 0 0; }
		
	/*************************** common ***************************/
	
	#content { padding: 40px 0; }
	
	.page-head { padding: 50px 0 50px; }
	.page-head-ttl__main { margin: 0 0 5px; font-size: 1.4em; }
	.page-head-ttl__sub { font-size: .6em; }
	
	h2.ttl { margin: 0 0 25px; font-size: 1.3rem; }
	h2.ttl::before { transform: scaleX(.1); }
	
	h3.sub-ttl { padding: 0.5em 1.6em; margin: 40px 0 20px; font-size: 1.1rem; }
	h3.sub-ttl::before { left: 15px; width: 0.2rem; height: 1.4rem; border-radius: 5px; }
	
	.space_m { height: 0; }
	
	/*************************** WORKS ****************************/
	
	.works__link-list { margin-bottom: 30px; }
	.works__link-list .button { width: 100%; margin-bottom: 3px; }
	.works__link-list .button a { font-size: 1rem; border: 2px #309867 solid; }
	
	.works-list .works-item .item a .item-data { padding: 0.5em 0.7em; }
	
	.modaal-content-container { padding: 20px!important; border-radius: 15px!important; }
	.modal-box .profile .title { font-size: 0.9rem; }
	.modal-box .profile .txt { font-size: 0.85rem; line-height: 1.8; text-align: left; }
	.modal-box .profile dl dt { width: 100%; padding: 0.5em 1em; }
	.modal-box .profile dl dd { width: 100%; padding: 0.5em 1em; }
	.img-box__thumbnail .item { margin-bottom: 5px; }
	
	.works-list .works-item { margin-bottom: 10px; }
	.works-item .item-data .time { font-size: 0.8rem!important; }
	.works-item .item-data .name { font-size: 0.8rem!important; }
	
	.works-contact a { font-size: 1rem; }
	.works-contact a br { display: block; }
	
	/*************************** FOOTER ***************************/
	
	.footer_recruit { padding: 40px 0; background-position-x: -200px; }
	.footer_recruit .inner { flex-direction: column; }
	.footer_recruit .inner .rec_item:first-of-type { padding-right: 0; }
	.footer_recruit .inner .rec_item .en { display: block; font-size: 1.1rem; text-align: center; }
	.footer_recruit .inner .rec_item h2 { font-size: 1.6rem; text-align: center; }
	.footer_recruit .inner .rec_item h3 { margin: 20px 0 0; font-size: 1.2rem; text-align: center; }
	.footer_recruit .inner .rec_item h3 .br-sp { display: none; }
	.footer_recruit .inner .rec_item p { margin: 10px 0 0; font-size: 0.9rem; line-height: 1.6; text-align: justify; }
	.footer_recruit .inner .rec_item p br { display: none; }
	.footer_recruit .inner .rec_item a {
		display: block;
		width: 250px;
		height: auto;
		padding: 0.7em 0.5em;
		margin-top: 30px;
		border-radius: 100px;
	}
	.footer_recruit .inner .rec_item a span { font-size: 1rem; }
	.footer_recruit .inner .rec_item a span:hover { color: #309867; }
	.footer_recruit .inner .rec_item a span:first-of-type { display: block; font-size: 1.3rem; }
	
	.bgcenterout:before { border-radius: 100px; }
	
	.footer_contact { padding: 40px 0; }
	.footer_contact .inner .ct-item:first-of-type { padding-bottom: 20px; }
	.footer_contact .inner .ct-item:last-of-type { padding-top: 20px; }
	.footer_contact .inner .ct-item h3 { font-size: 1.3rem; }
	.footer_contact .inner .ct-item p { font-size: 1rem; }
	.footer_contact .inner .ct-item p.ct-item__tel { margin: 10px 0 0; font-size: 1.8rem; }
	
	.ct-btn { margin: 10px auto 0; }
	
	#footer { padding: 40px 0 60px; }
	#footer .footer-inner { flex-direction: column; }
	.footer-inner .cp-data { width: 100%; margin-top: 20px; order: 2; }
	.footer-inner .footer_nav { justify-content: flex-start; width: 100%; }
	.footer-inner .footer_nav .footer-sns { margin: 0 10px 20px 0; }
	.footer-inner .footer_nav ul { flex-wrap: wrap; justify-content: space-between; width: 100%; }
	.footer-inner .footer_nav ul li {
		width: 49%;
		padding-bottom: 7px;
		margin-bottom: 7px;
		margin-left: 0;
		margin-right: 0;
		border-bottom: 1px rgba(0,0,0,0.1) solid;
	}
	.footer-inner .footer_nav ul li:last-child { margin-bottom: 7px; }

	
	.cp-data .cp-name .logo-txt { font-size: 1.3rem; }
	.cp-data .cp-name .logo-txt span { font-size: .6rem; }
	
	.cp-data .cp-add span { font-size: 0.9rem; line-height: 1.6; }
	.cp-data .cp-copy { margin-top: 15px; font-size: 0.8rem; }
	
	/*************************** NEWS *****************************/
	
	.news-list { margin-top: 20px; margin-bottom: 20px; }
	.news-list .news__item-list li a { padding: 15px 0 15px 0; }
	.news-list .news__item-list li a::after { background-size: 18px; width: 18px; }
	.news-list .news__item-list li a figure { width: 25%; }
	.news-list .news__item-list li a time { display: block; font-size: 0.85rem; }
	.news-list .news__item-list li a span { font-size: 0.9rem; }
	
	.news-list .news__item-list li a .list-data { width: 70%; padding-left: 15px; padding-right: 25px; }
	
	.news-article .article__main-ttl { margin-top: 0; font-size: 1.2rem; }
	.news-article .article__time { padding: 10px 0; margin-bottom: 40px; font-size: 0.9rem; }
	
	.article__text h2 { padding-left: 20px; margin: 40px 0 20px; font-size: 1.15rem; }
	.article__text h3 { margin: 40px 0 20px; font-size: 1rem; }
	.news-article .article__text p { margin-top: 20px !important; font-size: 0.9rem!important; }
	.news-article .article__text img { width: 100%; height: auto; object-fit: cover; }
	
	/************************** COMPANY ***************************/
	
	.company__link-list { margin-bottom: 30px; }
	.company__link-list .button a { font-size: 1rem; }
	.company__link-list .button a::after { right: 15px; }
	
	.company__area01 .imgBox { flex-direction: column; margin-top: 20px; }
	.company__area01 .imgBox .item { width: 85%; margin: 10px auto 0; }
	.company__area01 .imgBox .item img { border-radius: 10px; }
	
	.company__area02 { padding: 10px 0 40px; }
	
	.greeting__ceo-img { width: 100%; }
	.greeting__ceo-img img { height: 250px; border-radius: 10px; }
	.greeting__ceo-mes01 { display: none; }
	.greeting__ceo-mes01 span { width: 30px; height: calc(tan(60deg)* 30px / 2); }
	.greeting__ceo-mes02 { padding: 1em 1em; margin-top: 10px; border: 3px #309867 solid; border-radius: 10px; box-shadow: none; }
	.greeting__ceo-mes02 h3 { font-size: 1.3rem; }
	.greeting__ceo-mes02 p { font-size: 0.9rem!important; line-height: 1.6!important; }
	.greeting__ceo-mes02 .ceo-name small { font-size: 0.85rem; }
	.greeting__ceo-mes02 .ceo-name div { font-size: 1.1rem; }
	
	.company__area01 h3.sub-ttl {
		padding: 0.5em 1.6em;
		margin: 40px 0 20px;
		font-size: 1.1rem;
	}
	.company__area01 h3.sub-ttl::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 15px;
		transform: translateY(-50%);
		width: 0.2rem;
        height: 1.4rem;
		background-color: #309867;
		border-radius: 5px;
	}
	
	.company__area01 .com-landscape { flex-direction: column; }
	.company__area01 h3::before { display: none; }
	.com-landscape li { width: 85%; margin: 0 auto; margin-right: auto!important; margin-bottom: 20px; }
	.com-landscape li:last-of-type { margin-bottom: 0; }
	.com-landscape li img { border-radius: 10px; }
	.com-landscape li p { margin-top: 5px!important; font-size: 0.9rem!important; }
	
	.company__area02 .com-list dl { flex-direction: column; }
	.company__area02 .com-list dt { width: 100%; padding: 0.5em 1em; font-size: 0.9rem; box-sizing: border-box; }
	.company__area02 .com-list dd { width: 100%; padding: 0.5em 1em; font-size: 0.9rem; box-sizing: border-box; }
	
	.com-list iframe { height: 300px!important; }
	
	/************************** CONTACT ***************************/
	
	#content p { font-size: 0.9rem; line-height: 1.8; }
	.contact-text { margin-top: 30px; }
	
	/* プライバシーポリシー */
	.form-policy { padding: 20px 0 10px !important; }
	.policy .text_box { margin-top: 30px; }
	.policy .text_box h3.sub-ttl { font-size: 1.1rem; letter-spacing: 0.02rem; }
	.policy .text_box ul li { font-size: 0.85rem; }
	
	#page-top { font-size: 0.85rem; }
	#page-top a { width: 85px; padding: 8px 0px; }
	
	/************************** RECRUIT ***************************/
	
	#vegas_recruit .caption { width: 90vw; }
	#vegas_recruit .caption h2 { margin: 0; }
	#vegas_recruit .caption .small {
		width: 85%;
		padding: 0.2em 0.2em 0.2em 0.2em;
		font-size: calc(150 / 1200* 100vw);
	}
	#vegas_recruit .caption .small .ttl01 {
		margin-bottom: 10px;
		font-size: calc(90 / 1200* 100vw);
	}
	#vegas_recruit .caption .small .ttl01-yellow { margin-left: 20px; }
	
	#vegas_recruit .caption .cp_item .point span { font-size: calc(65 / 1200* 100vw); }
	#vegas_recruit .caption .cp_item .point_txt { margin: 5px 0 0; }
	#vegas_recruit .caption .cp_item .point_txt span { font-size: calc(50 / 1200* 100vw); }
	
	#vegas_recruit .sns { display: none; }
	
	.recruit_vision .text-box .inner .txt_box { padding: 30px 0 50px; }
	.recruit_vision .text-box .inner .txt_box h2 { font-size: 1.12rem; }
	.recruit_vision .text-box .inner .txt_box p { font-size: 0.85rem; line-height: 1.8; }
	.recruit_vision .text-box .inner .img_box { height: 250px; }
	
	.recruit_welfare .inner { padding: 50px 0 20px; }
	.recruit_welfare .inner h3:first-of-type { font-size: 1.1rem; }
	.recruit_welfare .inner h2 { margin: 10px 0; font-size: 1.3rem; }
	
	.welfare_box { margin-bottom: 30px; }
	.welfare_box h4 { font-size: 1.2rem; }
	.welfare_box h4 small { font-size: 0.9rem; letter-spacing: 0; }
	
	.welfare_box .welfare_box__list { margin-top: 0; }
	.welfare_box .welfare_box__list .item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1em 0.5em 1em 0.5em;
		margin-bottom: 3px;
		font-size: 0.9rem;
	}
	.welfare_box .welfare_box__list .item img { width: 50px; }
	.welfare_box .welfare_box__list .item span { margin-top: 10px; font-size: 1rem; }
	.welfare_box .welfare_box__list .item:nth-child(8) p span { display: block; font-size: 0.85rem; text-align: center; }
	.welfare_box .welfare_box__list .item:nth-child(8) p a::before { top: 12px; width: 6px; height: 6px; }
	.welfare_box .welfare_box__list .item p { margin-top: 10px; font-size: 0.9rem; text-align: left; }
	.welfare_box .welfare_box__list .item p br { display: none; }
	
	.child_spp_box { margin: 40px auto 50px; }
	.child_spp_box .user__heading { font-size: 1rem; }
	.child_spp_box .user__txt { padding: 1em; font-size: 0.85rem; border-radius: 10px; }
	
	.recruit_interview .inner { padding: 40px 0 0; }
	.recruit_interview .inner h3:first-of-type { font-size: 1.1rem; }
	.recruit_interview .inner h2 { margin: 10px 0; font-size: 1.3rem; }
	.recruit_interview .inner h2 br { display: block; }
	
	.recruit_interview_flexBox { margin-top: 30px; margin-bottom: 0; }
	.recruit_interview .inner .interview_box { width: 100%; height: 320px; margin: 0 auto 60px; padding: 50px 0 0; }
	
	.interview_box .inner .en { font-size: 1.1rem; letter-spacing: 0.05rem; }
	.interview_box .inner .en span { font-size: 1.6rem; }
	.interview_box .inner h2 { font-size: 1.1rem; }
	
	.interview_box .inner .text { font-size: 0.9rem; line-height: 1.5; }
	.interview_box .inner .text.name { font-size: 1.2rem; }
	
	.interview_box.staff01 { background-position: 30px center; background-size: 100%; }
	.interview_box.staff02 { background-position: 30px center; background-size: 100%; }
	
	.interview_btn { left: 0; right: 0; bottom: -25px; margin: 0 auto; width: 220px; }
	.interview_btn a { padding: 1em 1.5em; font-size: 0.95rem; }
	.interview_btn a::after { top: 20px; right: 22px; }
	
	.recruit_atmosphere .inner { padding: 40px 0 0; }
	.recruit_atmosphere .inner h3:first-of-type { font-size: 1.1rem; }
	.recruit_atmosphere .inner h2 { margin: 10px 0px; font-size: 1.3rem; }
	
	.recruit_atmosphere .inner .ap__flex { margin: 30px 0 20px; }
	.recruit_atmosphere .inner .ap__flex .item { margin-bottom: 10px; line-height: 0; }
	.recruit_atmosphere .inner .ap__flex .item span { display: block; margin-top: 10px; font-size: 0.9rem; line-height: 1.6; }
	.recruit_atmosphere .inner p { margin-bottom: 40px; font-size: 0.9rem; }
	
	.bgappearTrigger { padding: 0 5px; }
	
	.modal-box .iv_mainBox .iv_box01 figure { width: 100%; margin: 0 auto 20px; }
	.modal-box .iv_mainBox .iv_box01 dl dt h3 { padding-left: 25px; font-size: 0.9rem; }
	.modal-box .iv_mainBox .iv_box01 dl dt span { font-size: 0.9rem; }
	.modal-box .iv_mainBox .iv_box01 dl dd p { padding-left: 25px; font-size: 0.9rem; line-height: 1.7; }
	.modal-box .iv_mainBox .iv_box01 dl dd span { font-size: 0.9rem; }
	
	.modal-box .iv_mainBox .iv_box02 dl dt h3 { padding-left: 25px; font-size: 0.9rem; }
	.modal-box .iv_mainBox .iv_box02 dl dt span { font-size: 0.9rem; }
	.modal-box .iv_mainBox .iv_box02 dl dd p { padding-left: 25px; font-size: 0.9rem; line-height: 1.7; }
	.modal-box .iv_mainBox .iv_box02 dl dd span { font-size: 0.9rem; }
	
	.modal-box .iv_mainBox .iv_box01 figure .name { padding: 0.5em 1em 0 0; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(1) { font-size: 0.9rem; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(2) { font-size: 1.1rem; }
	.modal-box .iv_mainBox .iv_box01 figure .name p:nth-child(2) span { font-size: 0.9rem; }
	
	.modal-box .wf_mainBox { flex-direction: column; width: 100%; }
	.modal-box .wf_mainBox .wf_box01, .modal-box .wf_mainBox .wf_box02 { width: 100%; }
	
	.modal-box .wf_mainBox .wf_box02 .wf_box02__heading { font-size: 0.9rem; }
	.modal-box .wf_mainBox .wf_box02 .wf_box02__txt { padding: 1em; font-size: 0.9rem; line-height: 1.8; border-radius: 10px; }
	
	.recruit_join .inner { padding: 40px 0 50px; }
	.recruit_join .inner h2 { font-size: 2.5rem; }
	.recruit_join .inner p { font-size: 0.9rem; text-align: left; letter-spacing: 0; }
	.recruit_join .inner p br { display: none; }
	
	.join_btn { width: 300px; margin: 30px auto 0 auto; }
	.join_btn a { padding: 1em 1em; }
	.join_btn span { font-size: 1.05rem; letter-spacing: 0; }
	
	.ct-btn { width: 300px; }
	.ct-btn a { padding: 1em 1em 1em 3em; font-size: 1.05rem; }
	.ct-btn a::after { left: 80px; }
	
	.footer-inner .footer_nav ul.blue { border-left: 0; }
	
}

@media only screen and (max-width:420px){
	
	#vegas_recruit { height: 70vh; }
	
	.recruit_atmosphere .inner .ap__flex .item span { font-size: 0.8rem; }
	
}