@charset "UTF-8";

html{
	height: 100%;
	margin: 0;
	font-size: 62.5%; /* 基準：10px remの基準になる */
}
img{
	width: auto;
	max-width: 100%;
}
a:link{
	color: #191d1e;
	text-decoration: none;
	background: transparent;
	outline: none;
}
a:visited{
	color: #191d1e;
	text-decoration: none;
	background: transparent;
	outline: none;
}
a:hover{
	color: #105e9b;
	transition: 0.5s;
	text-decoration: none;
	background: transparent;
}
li{
	list-style: none;
}
p,
div,
ul,
dl,
dt,
dd,
h1,h2,h3,
th,td{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
table{
	border-collapse: collapse;
	border-collapse: separate;
	border-spacing: 0;
}
body{ 
	color: #000;
	font-size: 1.5rem;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	line-height: 1.8;
	margin: auto;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
a.btn{
	display: block;
	width: 100%;
	max-width: 30rem;
	margin: 4rem auto 0 auto;
	padding: 1rem;
	background-color: #86c03b;
	color: #fff;
	font-weight: bold;
	text-align: center;
	border-radius: 20px;
	position: relative;
}
a.btn::after{
	content: '';
	position: absolute;
	top: -2px;
	right: 2rem;
	bottom: 0;
	margin: auto;
	width: 0.7rem;
	height: 0.7rem;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}
a.btn:hover{
	color: #000;
	background-color: #dfe457;
}
a.btn:hover::after{
	border-top: solid 2px #000;
	border-right: solid 2px #000;
	transition: 0.5s;
}
a.btn_entry{
	display: block;
	width: 100%;
	max-width: 21rem;
	padding: 1rem;
	background-color: #86c03b;
	color: #fff;
	font-weight: bold;
	text-align: center;
	border-radius: 20px;
	position: relative;
}
a.btn_entry::after{
	content: "";
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 2rem;
	width: 2.0rem;
	height: 2.0rem;
	margin: auto;
	background-image: url(../images/icon_blank_white.png);
	background-size: contain;
	background-repeat: no-repeat;
}
a.btn_entry:hover{
	color: #000;
	background-color: #dfe457;
}
a.btn_entry:hover::after{
	background-image: url(../images/icon_blank.png);
	transition: 0.5s;
}
.mt_40{
	margin-top: 4rem !important;
}
.mb_20{
	margin-bottom: 2rem !important;
}
.txt_center{
	text-align: center;
}
.txt_right{
	text-align: right;
}
.txt-red{
	font-weight: bold;
	color: #ff0000;
}
.mgn_center{
	margin-left: auto;
	margin-right: auto;
}
/*----------------------
fadeIn
-----------------------*/
@keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translateX(-30px);
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes popup {
	0% {
	transform: translateY(40px) scale(0.8);
	opacity: 0;
	}
	100% {
	transform: translateY(0) scale(1.0);
	}
	80%, 100% {
	opacity: 1;
	}
}
.header_area{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 124rem;
	margin: 2rem auto 0 auto;
}
.header_area .logo_area{
	display: flex;
	justify-content: flex-start !important;
	align-items: center;
}
.header_area .logo{
	width: 100%;
	max-width: 10rem;
}
.header_area .company_name{
	width: 100%;
	padding-left: 2rem;
	box-sizing: border-box;
	font-weight: bold;
}
.nav_area ul{
	display: flex;
	justify-content: space-between;
	font-weight: bold;
}
.nav_area ul li{
	margin-left: 5rem;
	font-size: min(1.2vw,1.6rem);
}
.continner{
	width: 100%;
	max-width: 124rem;
	margin: 0 auto;
	padding: 5rem 0;
}
.title{
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 5.5rem;
	position: relative;
}
.title::after{
	content: "";
	position: absolute;
	bottom: 10%;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: rgb(244, 245, 244, 0.5);
	width: 100%;
	max-width: 16.129%;
	height: 1rem;
}
.title_sub{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.title_sub span{
	display: block;
	font-size: 1.4rem;
	font-weight: normal;
	color: #000;
}
.title_sub.-green{
	color: #86c03b;
}
.title_sub.-white{
	color: #fff;
}
/*----------------------
contents
-----------------------*/
.main_visual{
	position: relative;
	padding-bottom: 4rem;
}
.main_visual::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-color: #dfe457;
	width: 56.4516%;
	max-width: 70rem;
	height: 100%;
	max-height: 6rem;
	z-index: -1;
	animation: fadeInLeft 0.7s ease 0s 1 normal;
}
.main_visual::after{
	content: "";
	position: absolute;
	top: 10%;
	left: 0;
	background-color: #105e9b;
	width: 48.387%;
	max-width: 60rem;
	height: 1000%;
	max-height: 6rem;
	z-index: -2;
	animation: fadeInLeft 0.7s ease 0s 1 normal;
}
.main_visual_inner{
	width: 100%;
	position: relative;
}
.main_visual_inner::before{
	content: "";
	position: absolute;
	top: 21%;
	left: 0;
	background-color: #86c03b;
	width: 40.3225%;
	max-width: 50rem;
	height: 100%;
	max-height: 6rem;
	z-index: -3;
	animation: fadeInLeft 0.7s ease 0s 1 normal;
}
.main_visual_inner::after{
	content: "";
	position: absolute;
	top: 32%;
	left: 0%;
	background-color: #fd8232;
	width: 32.258%;
	max-width: 40rem;
	height: 70%;
	max-height: 6rem;
	z-index: -4;
	animation: fadeInLeft 0.7s ease 0s 1 normal;
}
.main_visual_cont{
	width: 100%;
	max-width: 124rem;
	height: 100%;
	min-height: 72rem;
	margin: 0 auto;
	position: relative;
}
.main_visual_cont .img01{
	position: absolute;
	bottom: 0;
	left: 0;
	border-radius: 50%;
	box-shadow: 10px 10px 0 4px #d5e9f9;
	animation: popup 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	width: 24.1935%;
	max-width: 30rem;
}
.main_visual_cont .img02{
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 50%;
	box-shadow: -10px -10px 0 4px #d5e9f9;
	animation: popup 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	width: 56.4516%;
	max-width: 70rem;
}
.main_visual_cont .txt{
	position: absolute;
	top: 20%;
	left: 10%;
	font-size: 3rem;
	font-weight: bold;
	text-shadow: 2px 2px 0 #fff, -1px -1px 0 #fff,
			-1px 1px 0 #fff, 1px -1px 0 #fff,
			0px 1px 0 #fff,  0 -1px 0 #fff,
			-1px 0 0 #fff, 1px 0 0 #fff;
	animation: fadeIn 3.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	z-index: 10;
}
.main_visual_cont .company_name_img{
	position: absolute;
	top: 35%;
	left: 5%;
	animation: fadeIn 4.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	z-index: 12;
}
.message_area{
	width: 100%;
	background-color: #105e9b;
	color: #fff;
}
.message_area .message_body{
	width: 48.387%;
	max-width: 60rem;
	margin-bottom: 2.5rem;
}
.message_area .continner{
	background: url("../images/icon_message_area02.png"), url("../images/icon_message_area01.png");
	background-repeat: no-repeat;
	background-position: top 30% right 20%, top 59% left 5%;;
	background-size: 288px 74px, 200px 178px;
}
.message_area .message_body.-margin_end{
	margin: 0 2.5rem 0 auto;
}
.message_area .message_title{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 2rem;
}
.message_area .message_body.-margin_end .message_title{
	text-align: right;
}
.business_introduction_area{
	width: 100%;
	position: relative;
}
.business_introduction_area::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-color: #dfe457;
	width: 20.1612%;
	height: 14.516%;
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
	z-index: -5; 
}
.business_introduction_area .job_list{
	display: flex;
	justify-content: space-between;
}
.business_introduction_area .job_list > div{
	width: 100%;
	max-width: 38rem;
	margin-left: 5rem;
}
.business_introduction_area .job_list > div:first-child{
	margin-left: 0;
}
.business_introduction_area .job_list > div .job_img{
	display: block;
	width: 100%;
	max-width: 38rem;
	margin: 0 auto;
	border-radius: 10px 10px 0 0;
	text-align: center;
}
.business_introduction_area .job_list p{
	margin-top: 2rem;
}
.dailyschedule{
	width: 100%;
	position: relative;
}
.dailyschedule::before{
	content: "";
	position: absolute;
	bottom: 45%;
	right: 0%;
	background-color: #d5e9f9;
	width: 24.1935%;
	max-width: 30rem;
	height: 60%;
	max-height: 18rem;
	z-index: -7;
}
.dailyschedule::after{
	content: "";
	position: absolute;
	bottom: 25%;
	right: 0%;
	background-color: #dfe457;
	width: 16.129%;
	max-width: 20rem;
	height: 60%;
	max-height: 18rem;
	z-index: -8;
}
.dailyschedule .continner{
	display: flex;
	margin-bottom: 5rem;
	position: relative;
}
.dailyschedule .continner::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	background: url("../images/icon_dailyschedule02.png") no-repeat;
	background-size: 93px 65px;
	width: 93px;
	height: 65px;
	z-index: -6;
}
.dailyschedule .title_daily{
	writing-mode: vertical-rl;
	font-size: 3.2rem;
	font-weight: bold;
}
.dailyschedule .title_daily span{
	position: relative;
}
.dailyschedule .title_daily span::after{
	content: "";
	position: absolute;
	bottom: -55%;
	left: -60%;
	background: url("../images/icon_dailyschedule01.png") no-repeat;
	background-size: 90px 136px;
	width: 90px;
	height: 136px;
}
.dailyschedule .dailyschedule_inner{
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-left: 6rem;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body{
	width: 100%;
	max-width: 35rem;
	margin-left: 4rem;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body:first-child{
	margin-left: 0;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body .title_sub{
	text-align: left;
	margin-bottom: 2rem;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body .title_sub > span{
	font-weight: bold;
	font-size: 1.6rem;
	display: inline;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl{
	position: relative;
	padding-bottom: 2rem;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl::before{
	content: '';
	position: absolute;
	top: 5px;
	bottom: 0;
	left: -14px;
	width: 2px;
	height: calc(100% + 2px);
	background: #808080;
	z-index: 1;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl:last-child:before{
	content: "";
	background: none;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl::after{
	content: "";
	position: absolute;
	top: 5px;
	left: -20px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #105e9b;
	z-index: 2;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl dt{
	font-weight: bold;
}
.dailyschedule .dailyschedule_inner .dailyschedule_body dl dt > span{
	padding-left: 1.5rem;
}
.gallery_area{
	width: 100%;
	max-width: 124rem;
	margin: 4rem auto 5rem auto;
}
.gallery_area .gallery{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 2rem;
}
.gallery_area .gallery li{
	width: 24.1935%;
	max-width: 30rem;
	padding: 0.5rem;
	box-sizing: border-box;
}
.gallery_area .gallery li img{
	border-radius: 10px;
}
.interview_area{
	position: relative;
}
.interview_area::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-color: #e4f1fb;
	clip-path: ellipse(250% 233% at 50% 233%);
	z-index: -9;
}
.interview_area .title::after{
	background-color: rgb(164, 197, 222, 0.5);
}
.interview_area .continner{
	background-image: url("../images/icon_triangle.png");
	background-repeat: no-repeat;
	background-position: top 3% left 0%;
}
.interview_area .continner .tab{
	display: flex;
	justify-content: center;
	margin-bottom: 5rem;
}
.interview_area .continner .tab-panel{
	width: 100%;
	max-width: 17rem;
	padding: 1rem;
	margin-left: 5rem;
	text-align: center;
	background-color: #d3d3d1;
	border-radius: 5px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #6f6f6d;
	cursor: pointer;
	transition: 0.5s;
}
.interview_area .continner .tab-panel:first-child{
	margin-left: 0;
}
.interview_area .continner .tab-active{
	background-color: #dfe457;
	color: #000;
	box-shadow: 1px 1px 0 1px #8f9324;
}
.interview_area .continner .interview_area_inner .panel{
	display: none;
}
.interview_area .continner .interview_area_inner .active{
	display: flex;
	justify-content: space-between;
	animation: fadeIn 1.5s ease 0s 1 normal;
}
.interview_area .continner .interview_area_inner .interview_img{
	width: 19.3548%;
	max-width: 24rem;
	text-align: center;
}
.interview_area .continner .interview_area_inner .interview_img .years{
	display: block;
	border-radius: 0.5rem;
	background-color: #dfe457;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin-top: 1rem;
	padding: 1rem 1.5rem;
}
.interview_area .continner .interview_area_inner .interview_body{
	width: 80.6451%;
	max-width: 100rem;
	padding-left: 4rem;
}
.interview_area .continner .interview_area_inner .interview_contents{
	display: flex;
	justify-content: space-between;
	margin-top: 2rem;
}
/*.interview_area .continner .interview_area_inner .interview_contents.-one_column{
	display: block;
	margin-top: 2rem;
}*/
.interview_area .continner .interview_area_inner .interview_contents:first-child{
	margin-top: 0;
}
.interview_area .continner .interview_area_inner .interview_contents .card{
	width: 48%;
	max-width: 48rem;
	border-radius: 5px;
	background-color: #fff;
	box-shadow: 2px 4px 0 1px #a4c5de;
	padding: 2rem;
}
/*.interview_area .continner .interview_area_inner .interview_contents.-one_column .card{
	width: 100%;
	max-width: initial;
}*/
.interview_area .continner .interview_area_inner .interview_contents .card dt{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1rem;
}
.interview_area .continner .oneword{
	display: block;
	margin-top: 6rem;
}
.interview_area .continner .oneword .title_sub{
	width: 20.1612%;
	max-width: 25rem;
	margin: 0 auto;
	padding: 2rem 3rem 2rem 2rem;
	background-image: url("../images/icon_message.png");
	background-repeat: no-repeat;
	background-size: 22px 43px;
	background-position: bottom 0 right 2%;
	background-color: #fd8232;
	border-radius: 5px;
	font-size: 1.8rem;
}
.interview_area .continner .oneword .oneword_body{
	display: flex;
	justify-content: space-around;
	width: 100%;
	margin-top: 3rem;
}
.interview_area .continner .oneword .oneword_body > div{
	width: 50%;
	margin: 0 2rem;
}
.interview_area .continner .oneword .oneword_body > div:first-child .oneword_txt{
	min-height: 12.1rem;
}
.interview_area .continner .oneword .oneword_body .oneword_txt{
	width: 100%;
	box-sizing: border-box;
	border-radius: 5px;
	background-color: #fff;
	padding: 2rem 2rem 2rem 2rem;
	position: relative;
}
.interview_area .continner .oneword .oneword_body .oneword_txt::after{
	position: absolute;
	display: block;
	content: '';
	bottom: -5px;
	left: 48%;
	margin: auto;
	width: 25px;
	height: 25px;
	border-width: 6.5px 10px 6.5px 0;
	border-color: transparent transparent transparent #fff;
	transform: rotate(135deg);
	background-color: #fff;
}
.interview_area .continner .oneword .oneword_body .oneword_img{
	width: 14.8275%;
	max-width: 8.6rem;
	margin: 2rem auto 0 auto;
}
/*.interview_area .continner .oneword p{
	width: 79.8387%;
	max-width: 99rem;
	padding: 2rem;
	background-color: #fff;
	font-size: 1.8rem;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}*/
.job_description_area .tbl{
	width: 100%;
}
.job_description_area .tbl td{
	padding: 1.5rem;
	background-color: #e4f1fb;
	border: solid 1px #fff;
}
.job_description_area .tbl td:last-child{
	border: none;
}
.job_description_area .tbl .item_name{
	width: 20.1912%;
	max-width: 25rem;
	background-color: #105e9b;
	font-weight: bold;
	color: #fff;
	vertical-align: top;
}
.contact{
	width: 48.87%;
	max-width: 60rem;
	background-color: #f6f4da;
	padding: 2rem;
	margin: 4rem auto 0 auto;
	border-radius: 5px;
	font-weight: bold;
	text-align: center;
}
.contact .tel_num{
	font-size: 4.8rem;
}
.contact .tel_num a{
	background: url("../images/icon_tel.png") no-repeat center left;
	background-size: 30px 50px;
	padding-left: 3rem;
	pointer-events: none;
}
.policy .policy_area{
	width: 100%;
	height: 48.387%;
	max-height: 60rem;
	overflow-y: scroll;
	padding: 0 1.5rem;
}
.policy .policy_area .title_sub{
	text-align: left;
	margin-top: 2rem;
	padding-left: 2.9rem;
	text-indent: -2.9rem;
}
.policy .policy_area .list_num li{
	padding-left: 4rem;
	text-indent: -4rem;
}
.policy .policy_area dl{
	margin-bottom: 1rem;
}
.policy .policy_area dl dt{
	font-weight: bold;
}
.footer_area{
	width: 100%;
	background-color: #105e9b;
}
.copyright{
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
}
/*----------------------
form
-----------------------*/
.tbl_form{
	width: 100%;
}
.tbl_form td{
	padding: 2rem;
	border-bottom: solid 1px #fff;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-word;
	box-sizing: border-box;
}
.tbl_form td:last-child{
	border-bottom: none;
}
.tbl_form .tbl_item{
	width: 28.2258%;
	max-width: 35rem;
	background-color: rgb(16, 94, 155);
	font-weight: bold;
	color: rgb(255, 255, 255);
	vertical-align: top;
}
.tbl_form .tbl_cont{
	width: 71.7741%;
	max-width: 89rem;
	background-color: rgb(228, 241, 251);
}
.tbl_form .tbl_cont.-column{
	display: flex;
	width: 100%;
}
.tbl_form .tbl_cont.-column > span{
	display: block;
	width: 15rem;
	padding-right: 1.5rem;
	box-sizing: border-box;
}
.tbl_form .tbl_cont input,
.tbl_form .tbl_cont select{
	padding: 1.5rem;
}
.tbl_form .select_bocy input,
.tbl_form .select_bocy select{
	margin: 0 1.5rem;
}
.tbl_form .select_bocy input:first-child{
	margin-left: 0;
}
.tbl_form .tbl_cont .txt_area{
	width: 56.1797%;
	max-width: 50rem;
	border-radius: 3px;
	border: 1px solid #bdbdbe;
	box-sizing: border-box;
}
.tbl_form .tbl_cont textarea{
	width: 100%;
	padding: 1.5rem;
	box-sizing: border-box;
}
.required{
	background-color: rgb(253, 130, 50);
	margin-left: 0.5rem;
	padding: 0.5rem;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	border-radius: 5px;
}
.submit_area{
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	margin: 3rem auto;
}
input[type=submit]{
	display: block;
	font-size: 1.3rem;
	width: 100%;
	max-width: 300px;
	border: none;
	padding: 15px;
	margin: 0 1rem;
	color: #fff;
	font-weight: bold;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: rgb(134, 192, 59);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	cursor: pointer;
	border-radius: 30px;
	box-sizing: border-box;
}
input[type=reset],
input[type=button]{
	display: block;
	font-size: 1.3rem;
	width: 100%;
	max-width: 300px;
	border: none;
	padding: 15px;
	margin: 0 1rem;
	color: #fff;
	font-weight: bold;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: #e7e2e2;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	cursor: pointer;
	border-radius: 30px;
	box-sizing: border-box;
}
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover{
	background: rgb(223, 228, 87);
}
.pagetop{
	position: fixed;
	bottom: 10rem;
	right: 3rem;
	width: 4rem;
	height: 4rem;
	border: solid 2px #86c03b;
	border-radius: 0.5rem;
	background: #fff;
	z-index: 1000;
}
.pagetop:hover{
	border: solid 2px #fff;
	background: #86c03b;
}
.pagetop a{
	display: block;
	position: relative;
	width: 3rem;
	height: 4rem;
}
.pagetop a::after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0.5rem;
	margin: auto;
	width: 1rem;
	height: 1rem;
	border: 0px;
	border-top: solid 2px #86c03b;
	border-right: solid 2px #86c03b;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
}
.pagetop a:hover::after{
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}
.pagetop a .hidden{
	position: fixed;
	left: -100vw;
	top: -100vh;
}

#page_top:hover {
  opacity: 0.6;
}
@media print, screen and (min-width: 1025px){
	.sp_nav_area,
	.sp-only{
		display: none !important;
		visibility: hidden !important;
	}
}
@media print, screen and (max-width: 1024px){
	.sp_nav_area{
		display: block;
	}
	.sp_nav_area .sp_nav_area_btn{
		display: block;
		position: fixed;
		width: 50px;
		height: 50px;
		top: 0;
		right: 15px;
		cursor: pointer;
		z-index: 23;
		text-align: center;
		padding-top: 20px;
		background: rgb(134, 192, 59);
		border-radius: 0 0 5px 5px;
		cursor: pointer;
	}
	.sp_nav_area .sp_nav_area_btn i{
		display: block;
		position: relative;
		width: 35px;
		height: 2px;
		background-color: rgb(255, 255, 255);
		transition: background 0.5s;
		left: 8px;
		top: 15px;
	}
	.sp_nav_area .sp_nav_area_btn i:before{
		content: "";
		position: absolute;
		display: block;
		width: 35px;
		height: 2px;
		background-color: rgb(255, 255, 255);
		transform: rotate(0deg);
		transition: all 0.3s !important;
		transform: translateY(8px);
		top: 1px;
	}
	.sp_nav_area .sp_nav_area_btn i:after{
		content: "";
		position: absolute;
		display: block;
		width: 35px;
		height: 2px;
		background-color: rgb(255, 255, 255);
		transform: rotate(0deg);
		transition: all 0.3s !important;
		transform: translateY(-8px);
		top: -1px;
	}
	.sp_nav_area .sp_nav_area_btn span{
		position: absolute;
		color: rgb(255, 255, 255);
		font-size: 9px;
		font-weight: bold;
		width: 100%;
		right: 0;
		bottom: 3px;
		text-align: center;
	}
	.sp_nav_area .sp_nav_area_btn.is-open{
		z-index: 22;
	}
	.sp_nav_area .sp_nav_area_btn.is-open i{
		background: rgb(134, 192, 59);
	}
	.sp_nav_area .sp_nav_area_btn.is-open i:before{
		transform: translateY(0px) rotate(45deg);
		position: absolute;
		top: 0;
		background-color: rgb(255, 255, 255);
	}
	.sp_nav_area .sp_nav_area_btn.is-open i:after{
		transform: translateY(0px) rotate(-45deg);
		position: absolute;
		top: 0;
		background-color: rgb(255, 255, 255);
	}
	.sp_nav_area .sp_nav{
		display: none;
		position: fixed;
		width: 100%;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 100px 20px 20px 20px;
		background: rgb(16, 94, 155);
		z-index: 21;
		text-align: center;
		overflow-y: auto;
		box-sizing: border-box;
	}
	.sp_nav_area .sp_nav > ul{
		display: block;
	}
	.sp_nav_area .sp_nav > ul li a{
		text-align: left;
		font-weight: bold;
		margin-bottom: 2rem;
		position: relative;
	}
	.sp_nav_area .sp_nav > ul li a::after{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 8px;
		height: 8px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		transform: translateY(-50%) rotate(50deg);
	}
	.sp_nav_area .sp_nav > ul li a{
		display: block;
		text-decoration: none;
		color: #fff;
	}
	.sp_nav_area .sp_nav > ul li.entry a{
		position: relative;
	}
	.sp_nav_area .sp_nav > ul li.entry a::after{
		content: "";
		position: absolute;
		top: -4px;
		bottom: 0;
		right: 0;
		width: 1.5rem;
		height: 1.5rem;
		margin: auto;
		background-image: url("../images/icon_blank_white.png");
		background-size: contain;
		background-repeat: no-repeat;
		border: none !important;
		transform: none !important;
	}
	.close{
		display: none;
		visibility: hidden;
	}
	.nav_area,
	.pc-only_entry{
		display: none !important;
		visibility: hidden !important;
	}
}
@media screen and (max-width: 767px){
	.header_area{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-top: 1rem;
	}
	.header_area .logo_area{
		display: flex;
		justify-content: flex-start !important;
		align-items: center;
		padding-left: 1rem;
	}
	.header_area .logo{
		width: 100%;
		max-width: 70px;
	}
	.header_area .company_name{
		width: 195px;
		padding-left: 1rem;
		box-sizing: border-box;
		font-weight: bold;
		font-size: 1.4rem;
	}
	.main_visual::after{
		top: 20%;
	}
	.main_visual_inner::before{
		top: 42%;
	}
	.main_visual_inner::after{
		top: 62%;
	}
	.main_visual_cont{
		width: 100%;
		max-width: initial;
		height: 40rem;
		min-height: initial;
		margin: 0 auto;
		position: relative;
	}
	.main_visual_cont .img01{
		display: none !important;
		visibility: hidden !important;
	}
	.main_visual_cont .img02{
		position: absolute;
		top: 30%;
		right: 0;
		border-radius: 50%;
		box-shadow: -10px -10px 0 4px #d5e9f9;
		animation: popup 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
		width: 30rem;
	}
	.main_visual_cont .txt{
		position: absolute;
		top: 5%;
		left: 10%;
		font-size: 2rem;
		font-weight: bold;
		text-shadow: 2px 2px 0 #fff, -1px -1px 0 #fff,
				-1px 1px 0 #fff, 1px -1px 0 #fff,
				0px 1px 0 #fff,  0 -1px 0 #fff,
				-1px 0 0 #fff, 1px 0 0 #fff;
		animation: fadeIn 3.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
		z-index: 11;
	}
	.main_visual_cont .company_name_img{
		display: none !important;
		visibility: hidden !important;
	}
	.continner{
		width: 100%;
		max-width: initial;
		margin: 0 auto;
		padding: 3rem 1rem;
		box-sizing: border-box;
	}
	.title{
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	.title::after{
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		background-color: rgb(244, 245, 244, 0.5);
		width: 10rem;
		max-width: initial;
		height: 1rem;
	}
	.title_sub{
		font-size: 1.8rem;
	}
	.message_area .message_body{
		width: 100%;
		max-width: initial;
		margin-bottom: 2.5rem;
	}
	.message_area .continner{
		background: url("../images/icon_message_area02.png"), url("../images/icon_message_area01.png");
		background-repeat: no-repeat;
		background-position: top 7% right 0, top 95% left 5%;;
		background-size: 144px 37px, 100px 89px;
	}
	.message_area .message_body.-margin_end{
		margin: 0 0 2.5rem auto;
	}
	.message_area .message_title{
		font-size: 2rem;
		font-weight: bold;
		margin-bottom: 2rem;
	}
	.message_area .message_body.-margin_end .message_title{
		text-align: left;
	}
	.business_introduction_area .job_list{
		display: block;
	}
	.business_introduction_area .job_list > div{
		width: 100%;
		max-width: 38rem;
		margin-top: 4rem;
		margin-left: auto;
		margin-right: auto;
	}
	.business_introduction_area .job_list > div:first-child{
		margin-left: auto;
	}
	.business_introduction_area .job_list > div .job_img{
		display: block;
		width: 100%;
		max-width: 38rem;
		margin: 0 auto;
		border-radius: 10px 10px 0 0;
		text-align: center;
	}
	.business_introduction_area .job_list p{
		margin-top: 1rem;
	}
	.dailyschedule .continner{
		display: block;
		margin-bottom: 5rem;
		position: relative;
	}
	.dailyschedule .title_daily{
		writing-mode: horizontal-tb;
		font-size: 2rem;
		text-align: center;
		margin-bottom: 2rem;
	}
	.dailyschedule .title_daily span::after{
		bottom: -10px;
		right: -50px;
		left: auto;
		background: url("../images/icon_dailyschedule01.png") no-repeat;
		background-size: 45px 68px;
		width: 45px;
		height: 68px;
	}
	.dailyschedule .dailyschedule_inner{
		display: block;
		width: 100%;
		margin-left: 0;
		padding-left: 2rem;
		box-sizing: border-box;
	}
	.dailyschedule .dailyschedule_inner .dailyschedule_body{
		width: 100%;
		max-width: initial;
		margin-left: 0;
		margin-top: 2rem;
	}
	.dailyschedule .dailyschedule_inner .dailyschedule_body .title_sub{
		text-align: center;
		margin-bottom: 2rem;
	}
	.dailyschedule .dailyschedule_inner .dailyschedule_body .title_sub > span{
	font-weight: bold;
	font-size: 1.4rem;
	display: inline;
}
	.dailyschedule::before{
		content: "";
		position: static;
		background-color: none;
	}
	.dailyschedule::after{
		content: "";
		position: static;
		background-color: none;
	}
	.dailyschedule .continner::after{
		right: 1rem;
	}
	.gallery_area{
		width: 100%;
		max-width: initial;
		margin: 2rem auto 3rem auto;
		padding: 0 1rem;
	}
	.gallery_area .gallery{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 2rem;
	}
	.gallery_area .gallery li{
		width: 50%;
		max-width: 30rem;
		padding: 0.5rem;
		box-sizing: border-box;
	}
	.gallery_area .gallery li img{
		border-radius: 10px;
	}
	.interview_area::before{
		clip-path: ellipse(550% 233% at 50% 233%);
	}
	.interview_area .continner .tab-panel{
		width: 100%;
		max-width: 15rem;
		margin-left: 3rem;
		font-size: 1.6rem;
	}
	.interview_area .continner .tab-panel:first-child{
		margin-left: 0;
	}
	.interview_area .continner .interview_area_inner .active{
		display: block;
	}
	.interview_area .continner .interview_area_inner .interview_img{
		width: 100%;
		max-width: 40rem;
		margin: 0 auto;
	}
	.interview_area .continner .interview_area_inner .interview_img .years{
		display: block;
		border-radius: 0.5rem;
		background-color: #dfe457;
		font-size: 1.4rem;
		font-weight: bold;
		margin-top: 1rem;
		padding: 1rem 1.5rem;
	}
	.interview_area .continner .interview_area_inner .interview_body{
		width: 100%;
		max-width: initial;
		padding-left: 0;
		margin-top: 4rem;
	}
	.interview_area .continner .interview_area_inner .interview_contents{
		display: block;
		margin-top: 2rem;
	}
	.interview_area .continner .interview_area_inner .interview_contents:first-child{
		margin-top: 0;
	}
	.interview_area .continner .interview_area_inner .interview_contents .card{
		width: 100%;
		max-width: initial;
		border-radius: 5px;
		background-color: #fff;
		box-shadow: 2px 4px 0 1px #a4c5de;
		margin-top: 2rem;
		padding: 2rem;
	}
	.interview_area .continner .interview_area_inner .interview_contents .card dt{
		font-size: 2rem;
		font-weight: bold;
		text-align: center;
		margin-bottom: 1rem;
	}
	.interview_area .continner .oneword{
		display: block;
		margin-top: 6rem;
	}
	.interview_area .continner .oneword .title_sub{
		display: block;
		width: 100%;
		max-width: initial;
		padding: 2rem;
		background-image: url("../images/icon_message.png");
		background-repeat: no-repeat;
		background-size: 29px 58px;
		background-position: bottom 0 right 2%;
		background-color: #fd8232;
		border: 5px;
	}
	.interview_area .continner .oneword .oneword_body{
		display: block;
		width: 100%;
		margin-top: 3rem;
	}
	.interview_area .continner .oneword .oneword_body > div{
		width: 100%;
		margin: 2rem 0;
	}
	.interview_area .continner .oneword .oneword_body > div:first-child .oneword_txt{
		min-height: initial;
	}
	.interview_area .continner .oneword .oneword_body .oneword_txt{
		width: 100%;
		box-sizing: border-box;
		border-radius: 5px;
		background-color: #fff;
		padding: 2rem 2rem 2rem 2rem;
		position: relative;
	}
	.interview_area .continner .oneword .oneword_body .oneword_txt::after{
		position: absolute;
		display: block;
		content: '';
		bottom: -5px;
		left: 48%;
		margin: auto;
		width: 25px;
		height: 25px;
		border-width: 6.5px 10px 6.5px 0;
		border-color: transparent transparent transparent #fff;
		transform: rotate(135deg);
		background-color: #fff;
	}
	.interview_area .continner .oneword .oneword_body .oneword_img{
		width: 100%;
		max-width: 8.6rem;
		margin: 2rem auto 0 auto;
	}
	/*.interview_area .continner .oneword p{
		width: 100%;
		max-width: initial;
		padding: 2rem;
		background-color: #fff;
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
	}*/
	.job_description_area .tbl{
		width: 100%;
		font-size: 1.4rem;
	}
	.job_description_area .tbl td{
		display: block;
		padding: 1rem;
		background-color: #e4f1fb;
		border: solid 1px #fff;
	}
	.job_description_area .tbl td:last-child{
		border: none;
	}
	.job_description_area .tbl .item_name{
		width: 100%;
		max-width: initial;
		background-color: #105e9b;
		font-weight: bold;
		color: #fff;
		vertical-align: top;
	}
	.contact{
		width: 100%;
		max-width: initial;
		background-color: #f6f4da;
		padding: 2rem;
		margin: 2rem auto 0 auto;
		border-radius: 5px;
		font-weight: bold;
		text-align: center;
	}
	.contact .tel_num{
		font-size: 2.4rem;
	}
	.contact .tel_num a{
		background: url("../images/icon_tel.png") no-repeat center left;
		background-size: 15px 25px;
		padding-left: 2rem;
		pointer-events: none;
	}
	.contact .tel_num a{
		pointer-events: auto;
	}
	.policy .policy_area{
		width: 100%;
		height: 48.387%;
		max-height: 60rem;
		overflow-y: scroll;
		padding: 0 1.5rem;
	}
	.policy .policy_area .title_sub{
		text-align: left;
		margin-top: 2rem;
	}
	.policy .policy_area .list_num li{
		padding-left: 4rem;
		text-indent: -4rem;
	}
	.policy .policy_area dl{
		margin-bottom: 1rem;
	}
	/*----------------------
	form
	-----------------------*/
	.tbl_form{
		width: 100%;
	}
	.tbl_form td{
		display: block;
		padding: 2rem;
		border-bottom: solid 1px #fff;
		word-wrap: break-word;
		overflow-wrap: break-word;
		word-break: break-word;
		box-sizing: border-box;
	}
	.tbl_form td:last-child{
		border-bottom: none;
	}
	.tbl_form .tbl_item{
		width: 100%;
		max-width: initial;
		background-color: rgb(16, 94, 155);
		font-weight: bold;
		color: rgb(255, 255, 255);
		vertical-align: top;
	}
	.tbl_form .tbl_cont{
		width: 100%;
		max-width: initial;
		background-color: rgb(228, 241, 251);
	}
	.tbl_form .tbl_cont.-column{
		display: block;
		width: 100%;
	}
	.tbl_form .tbl_cont.-column > span{
		display: block;
		width: 15rem;
		padding-right: 1.5rem;
		box-sizing: border-box;
	}
	.tbl_form .tbl_cont .txt_area{
		width: 56.1797%;
		max-width: 50rem;
		border-radius: 3px;
		border: 1px solid #bdbdbe;
		box-sizing: border-box;
	}
	.tbl_form .tbl_cont input,
	.tbl_form .tbl_cont select{
		padding: 1.5rem;
	}
	.tbl_form .select_bocy input,
	.tbl_form .select_bocy select{
		margin: 1rem 0
	}
	.tbl_form .tbl_cont textarea{
		width: 100%;
		padding: 1.5rem;
		box-sizing: border-box;
	}
	
	.tbl_form .select_bocy input:first-child,
	.tbl_form .select_bocy select:first-child{
		margin-left: 0;
	}
	.required{
		background-color: rgb(253, 130, 50);
		margin-left: 0.5rem;
		padding: 0.5rem;
		color: #fff;
		font-weight: bold;
		font-size: 1.4rem;
		border-radius: 5px;
	}
	.submit_area{
		display: flex;
		justify-content: center;
		box-sizing: border-box;
		margin: 3rem auto;
	}
	input[type=submit]{
		display: block;
		font-size: 1.3rem;
		width: 100%;
		max-width: 300px;
		border: none;
		padding: 15px;
		margin: 0 1rem;
		color: #fff;
		font-weight: bold;
		font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		background: rgb(134, 192, 59);
		-webkit-transition: 0.3s;
		transition: 0.3s;
		cursor: pointer;
		border-radius: 30px;
		box-sizing: border-box;
	}
	input[type=reset],
	input[type=button]{
		display: block;
		font-size: 1.3rem;
		width: 100%;
		max-width: 300px;
		border: none;
		padding: 15px;
		margin: 0 1rem;
		color: #fff;
		font-weight: bold;
		font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		background: #e7e2e2;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		cursor: pointer;
		border-radius: 30px;
		box-sizing: border-box;
	}
	input[type=submit]:hover,
	input[type=reset]:hover,
	input[type=button]:hover{
		background: rgb(223, 228, 87);
	}
	.pagetop{
		right: 0.5rem;
	}
	.txt_sm_left{
		text-align: left !important;
	}
	.pc-only{
		display: none !important;
		visibility: hidden !important;
	}
}

