/* CSS Document */

/* .mainScroll スクロールアイコン
-------------------------------------- */
.mainScroll {
	overflow: hidden;
	position: absolute;
	left: 50%;
	bottom: 0;
	height: 77px;
	margin-left: -20px;
	-webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
	font-family: 'Crimson Text', 'Noto Serif JP', serif;
}

.mainScroll a {
	display: block;
}

.mainScroll:hover {
	text-decoration: none !important;
}

.mainScrollTxt {
	margin-bottom: 8px;
	color: #fff;
	font-size: 16px !important;
	text-align: center;
}

.mainScrollLine {
	margin-left: auto;
	margin-right: auto;
	width: 1px;
	height: 25px;
	background-color: #fff;
	-webkit-transition: background-color 0.3s ease-out;
	transition: background-color 0.3s ease-out;
	-webkit-animation-name: scroll-icon;
	animation-name: scroll-icon;
	-webkit-animation-duration: 2.5s;
	animation-duration: 2.5s;
	-webkit-animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
	animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1);
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

.mainScroll:hoverLine {
	background-color: #d4b079;
}

@media screen and (min-width: 600px) {
	.mainScrollTxt {
		font-size: 1.4rem;
	}

	.mainScrollLine {
		height: 35px;
	}
}

@-webkit-keyframes scroll-icon {
	0% {
		height: 0%;
		top: 100%;
	}

	50% {
		height: 100%;
		top: 0;
	}

	100% {
		height: 0%;
		top: 0;
	}
}

@keyframes scroll-icon {
	0% {
		height: 0%;
		top: 100%;
	}

	50% {
		height: 100%;
		top: 0;
	}

	100% {
		height: 0%;
		top: 0;
	}
}


section {
	margin: 0 auto 20px;
	position: relative;
}

.mainvisual_area {
	background: #fff url("../img/mainvisual_bg.png") repeat-x bottom center;
	min-height: 530px;
	box-shadow: inset 0px 4px 4px 0px rgba(50, 50, 50, 0.2);
	position: relative;
}

.mainvisual_area .inner {
	max-width: 1100px;
	background: url("../img/mainvisual_img01.png") no-repeat center left, url("../img/mainvisual_img02.png") no-repeat center right;
	min-height: 530px;
	margin: 0 auto;
	padding: 60px 0;
}

.hd01 {
	font-size: 32px;
	font-weight: bold;
	color: #023894;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	text-align: center;
	padding: 0;
	margin-bottom: 40px;
}

.hd01 span {
	color: #f0ff19;
	display: inline-block;
	line-height: 1.4;
	font-size: 63px;
	transform: skewY(-2deg);
}

.hd01 span span.ttl {
	color: #023894;
	font-size: 100px;
	display: inline-block;
	background: -webkit-linear-gradient(transparent 60%, #f0ff19 0%);
	background: -o-linear-gradient(transparent 60%, #f0ff19 0%);
	background: linear-gradient(transparent 60%, #f0ff19 0%);
	line-height: 1;
	letter-spacing: 9px;
}

.hd01 span .ttl span.ttl02 {
	color: #023894;
	font-size: 62px;
	display: inline-block;
}

.hd01 span span {
	color: #023894;
	background: -webkit-linear-gradient(transparent 60%, #f0ff19 0%);
	background: -o-linear-gradient(transparent 60%, #f0ff19 0%);
	background: linear-gradient(transparent 60%, #f0ff19 0%);
}

.more_btn {
	max-width: 420px;
	margin: 0 auto;
}

.more_btn a {
	background: #fff;
	border-radius: 30px;
	border: 1px solid #fff;
	display: block;
	padding: 10px;
	color: #dc382c;
	font-weight: bold;
	transition: 0.5s ease;
	font-size: 18px;
}

.more_btn a:hover {
	background: #dc382c;
	border: 1px solid #fff;
	display: block;
	padding: 10px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

.mainvisual_area .inner p {
	color: #023894;
	font-weight: bold;
	font-size: 34px;
	line-height: 1.4;
}

.sec01 {
	padding: 40px 0 100px;
	margin-bottom: 0;
}

.sec01 > .inner {
	padding: 30px;
	border-radius: 20px;
	position: relative;
	background: #ffffe0;
	box-shadow: 0px 0px 0px 5px #ffffe0;
	border: dashed 2px #FFC107;
	color: #454545;
	margin-bottom: 40px;
}

.base-area {
	display: flex;
	margin-bottom: 40px;
	justify-content: center;
}

.base-area .base-box {
	width: 31%;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin: 0 10px;
	border: 1px solid #023894;
	box-shadow: 6px 6px #023894;
}

.base-area .base-box .sub_ttl {
	font-family: 'Dancing Script', cursive;
	font-size: 20px;
	line-height: 1.4;
	transform: skewY(-6deg);
	text-align: left;
	margin-top: -10px;
}

.base-area .base-box .ttl {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}

.base-area .base-box .ttl span {
	font-size: 26px;
	color: #023894;
}

.base-area .base-box .area {
	color: #fff;
	text-align: center;
	background: #023894;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4;
	margin-bottom: 10px;
}

.base-area .base-box .area span {
	font-weight: normal;
	display: block;
	font-size: 14px;
	padding: 2px;
}

.base-area .base-box .txt_l {
	font-size: 14px;
	line-height: 1.6;
	min-height: 89px;
}

.base-area .base-box .tel {
	margin: 0 auto;
}

.base-area .base-box .tel span {
	font-weight: bold;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.base-area .base-box .tel span a {
	color: #023894;
}

.base-area .base-box .tel span:before {
	content: "";
	display: block;
	background: url("../img/header/icon_tel.png") no-repeat center;
	width: 22px;
	height: 22px;
	background-size: contain;
	vertical-align: middle;
	padding-right: 6px;
}

.sec01 .subttl {
	text-align: center;
	color: #dc382c;
	font-weight: bold;
	font-size: 30px;
}

.hd02 {
	color: #023894;
	font-size: 24px;
	line-height: 1.5;
}

.hd02:before {
	content: "";
	background: url("../img/hd_line03.png") no-repeat top center;
	display: inline-block;
	width: 35px;
	height: 57px;
	background-size: contain;
	padding-right: 20px;
	vertical-align: middle;
}

.hd02:after {
	content: "";
	background: url("../img/hd_line04.png") no-repeat top center;
	display: inline-block;
	width: 35px;
	height: 57px;
	background-size: contain;
	padding-left: 20px;
	vertical-align: middle;
}


.sec01 .hd02:before,
.sec01 .hd02:after {
	display: none;
}


.point_box {
	position: relative;
	max-width: 600px;
	width: 100%;
	background-color: #e5f7ff;
	color: #333;
	padding: 2rem;
}

.sec01 .inner .flex:nth-child(odd) .point_box {
	margin-left: 20px;
}

.sec01 .inner .flex:nth-child(even) .point_box {
	margin-right: 20px;
}

.point_box .inside {
	text-align: left;
	line-height: 1.2;
}

.kitei .point_box .inside {
	text-align: left;
	line-height: 1.2;
	margin-top: 10px;
}

.point_box::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 8px;
	left: 8px;
	z-index: -1;
	-webkit-background-size: 4px 4px;
	-moz-background-size: 4px 4px;
	background-size: 6px 6px;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #afafaf), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #17a2ff), color-stop(0.75, #17a2ff), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient(-45deg, #bababa 40%, transparent 25%, transparent 50%, #bababa 50%, #bababa 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(-45deg, #bababa 40%, transparent 25%, transparent 50%, #bababa 50%, #bababa 75%, transparent 75%, transparent);
	background-image: -ms-linear-gradient(-45deg, #bababa 40%, transparent 25%, transparent 50%, #bababa 50%, #bababa 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(-45deg, #bababa 40%, transparent 25%, transparent 50%, #bababa 50%, #bababa 75%, transparent 75%, transparent);
	background-image: linear-gradient(-45deg, #bababa 40%, transparent 25%, transparent 50%, #bababa 50%, #bababa 75%, transparent 75%, transparent);
}

.recruit-btn {
	margin: 40px auto;
}

.recruit-btn img {
	width: 50%;
}

.recruit-btn a:hover {
	opacity: 0.8;
}

.hotken_area {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 40px auto 80px;
}

.hotken_area .hotken-img {
	margin-right: 15px;
}

.hotken_area .lead-txt {
	text-align: left;
	font-size: 22px;
}

.hotken_area .lead-txt span {
	font-weight: bold;
	font-size: 30px;
}

.hd04 {
	background: none;
	font-size: 30px;
	color: #023894;
}

.hd04:before {
	content: "";
	background: url("../img/hd_left.png") no-repeat top center;
	display: inline-block;
	width: 85px;
	height: 136px;
	background-size: contain;
	padding-right: 20px;
	vertical-align: middle;
}

.hd04:after {
	content: "";
	background: url("../img/hd_right.png") no-repeat top center;
	display: inline-block;
	width: 85px;
	height: 136px;
	background-size: contain;
	padding-left: 20px;
	vertical-align: middle;
}

.sec01 .flex {
	margin-bottom: 0;
}

.sec01 .flex .point_box::after {
	content: "";
	background: url("../img/icon_point.png") no-repeat top left;
	width: 109px;
	height: 25px;
	display: inline-block;
	position: absolute;
	top: -13px;
	left: -13px;
}

.point_box .point_ttl {
	font-size: 30px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}

.point_box .point_ttl span {
	font-size: 20px;
	padding-left: 0;
}

.btn-box p {
	font-size: 24px;
	font-weight: bold;
}

.btn-box .recruit-btn {
	margin: 0 auto 40px;
}

.more_btn02 {
	max-width: 520px;
	margin: 40px auto 0;
}

.more_btn02 a {
	border: 1px solid #3399ff;
	background: #3399ff;
	border-radius: 30px;
	font-size: 22px;
	display: block;
	padding: 10px;
	color: #fff;
	font-weight: bold;
	transition: 0.5s ease;
}

.more_btn02.large a {
	padding: 20px;
	border-radius: 50px;
}

.more_btn02 a:hover {
	color: #3399ff;
	border: 1px solid #3399ff;
	background: #fff;
	text-decoration: none;
}


.countermeasures {
	padding: 145px 0;
	margin-bottom: 0;
	margin-top: -86px;
	background: url("../img/sec02_bg.png") no-repeat bottom center;
}

.countermeasures .inner {
	max-width: 950px;
	margin: 0 auto;
}

.countermeasures .inner ul {
	align-items: flex-end;
	margin-bottom: 40px;
	justify-content: center;
}

.countermeasures .inner ul li {
	margin: 20px 10px;
}


.countermeasures img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}


.more_btn03 {
	max-width: 420px;
	margin: 0 auto;
}

.more_btn03 a {
	border: 1px solid #3399ff;
	background: #3399ff;
	border-radius: 30px;
	font-size: 18px;
	display: block;
	padding: 10px;
	color: #fff;
	font-weight: bold;
	transition: 0.5s ease;
}

.more_btn03 a:hover {
	border-radius: 30px;
	color: #3399ff;
	border: 1px solid #3399ff;
	background: #fff;
	text-decoration: none;
}

.staff {
	background: #f4f9ff;
	padding: 60px 0;
	transform: skewY(-5deg);
}

.staff .inner {
	max-width: 950px;
	margin: 0 auto 30px;
	transform: skewY(5deg);
}

.staff .inner .flex {
	align-items: flex-start;
	margin-top: 60px;
}

.staff .inner .btn-box {
	margin-top: 40px;
}

.staff img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.balloon1-left {
	text-align: left;
	max-width: 770px;
	width: 100%;
	position: relative;
	display: inline-block;
	color: #333;
	font-size: 16px;
	background: #e4f8ff;
	padding: 25px;
	border-radius: 10px;
	box-shadow: 7px 11px 21px -8px rgba(0, 0, 0, 0.2);
}

.flex:nth-of-type(1) .balloon1-left {
	background: #ffebf5;
	box-shadow: 7px 11px 21px -8px rgba(0, 0, 0, 0.2);
}

.flex:nth-of-type(3) .balloon1-left {
	background: #ffebf5;
	box-shadow: 7px 11px 21px -8px rgba(0, 0, 0, 0.2);
}

.balloon1-left .ttl {
	border-bottom: 2px dotted #023894;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 20px;
}

.balloon1-left .ttl span {
	font-size: 16px;
	font-weight: normal;
	padding-left: 10px;
}

.balloon1-left:before {
	content: "";
	position: absolute;
	top: 33%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #e4f8ff;
}

.flex:nth-of-type(1) .balloon1-left:before {
	content: "";
	position: absolute;
	top: 33%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #ffebf5;
}

.flex:nth-of-type(3) .balloon1-left:before {
	content: "";
	position: absolute;
	top: 33%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #ffebf5;
}

.balloon1-left p {
	margin: 0;
	padding: 0;
}



/*安心のうれしい声多数*/
.welfare .inner {
	max-width: 950px;
	margin: 0 auto 100px;
}

.welfare .flex {
	margin: 40px auto;
	align-items: flex-start;
}

.welfare .flex > div {
	width: 48%;
}

.welfare_box {
	margin-bottom: 60px;
	background: #ffffe0;
	border: 4px dashed #023894;
	padding: 40px 20px 20px;
}

.welfare_box .ttl {
	width: 50%;
	margin: 0 auto 20px;
}

.welfare_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.welfare_box ul li {
	width: 30%;
	margin-bottom: 10px;
}

.welfare_box ul li span {
	display: block;
	font-weight: bold;
	font-size: 16px;
	margin-top: 10px;
}

/*よくある質問Q&A*/
.qa {
	background: #ffffe0;
	padding: 60px 0;
	transform: skewY(-5deg);
	margin-bottom: 0;
}

.qa .inner {
	max-width: 950px;
	margin: 0 auto 30px;
	transform: skewY(5deg);
}

.acdn-faq {
	margin: 1.5em 0 0;
}

.acdn-faq dt,
.acdn-faq dd {
	margin-bottom: 20px;
	padding: 10px;
	font-size: 18px;
}

.acdn-faq dt:hover {
	cursor: pointer;
}

.acdn-faq dt {
	font-weight: 700;
	background: #023894;
	color: #fff;
	text-align: left;
	position: relative;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.acdn-faq dt.on {
	margin-bottom: 0;
}

.acdn-faq dt:after {
	content: "\f067";
	font-family: 'FontAwesome';
}

.acdn-faq dt.on:after {
	content: "\f068";
	font-family: 'FontAwesome';
}

.acdn-faq dd {
	text-align: left;
	background: #fff;
	display: none;
	padding: 12px 1.5em 1.5em 1.5em;
	line-height: 1.6;
}


.hd03 {
	font-size: 32px;
	font-weight: bold;
	color: #023894;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	text-align: center;
	padding: 0;
	margin-bottom: 40px;
}

.hd03:before {
	content: "";
	background: url("../img/hd_line03.png") no-repeat top center;
	display: inline-block;
	width: 35px;
	height: 57px;
	background-size: contain;
	padding-right: 20px;
}

.hd03:after {
	content: "";
	background: url("../img/hd_line04.png") no-repeat top center;
	display: inline-block;
	width: 35px;
	height: 57px;
	background-size: contain;
	padding-left: 20px;
}

.hd03 span {
	font-weight: bold;
	line-height: 1.6;
}

.sec04 {
	margin-top: 100px;
	margin-bottom: 80px;
}

.stickynav_inner {
	justify-content: space-between;
	background: rgba(0, 0, 0, 0.6);
	position: fixed;
	top: 225px;
	right: 0;
	z-index: 999;
	padding: 10px;

}

.stickynav_inner li {
	background: #39f;
	border-radius: 5px;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;
	height: 14em;
	width: 60px;
	margin-bottom: 10px;
}

.stickynav_inner li:last-child {
	margin-bottom: 0;
}

.stickynav_inner li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 10px;
	width: 100%;
	height: 100%;
	font-size: 17px;
	text-decoration: none;
	text-align: left;
	color: #fff;
	font-weight: bold;
}

.stickynav_inner li a:hover {
	opacity: 0.8;
}

.stickynav_inner li a:before {
	font-family: 'FontAwesome';
	content: "\f002";
	display: inline-block;
	padding-bottom: 5px;
	font-size: 16px;
}

.stickynav_inner li:nth-child(2) {
	border-left: 0;
	background: #fa7e19;
	line-height: 1.2;
}

.stickynav_inner li:nth-child(2) a:before {
	font-family: 'FontAwesome';
	content: "\f10b";
	display: inline-block;
	padding-bottom: 7px;
	font-size: 32px;
	line-height: 1;
}


.fluffy {
	animation: fluffy1 3s ease infinite;
	margin-bottom: 15px;
}

@keyframes fluffy1 {
	0% {
		transform: translateY(0)
	}

	5% {
		transform: translateY(0)
	}

	10% {
		transform: translateY(0)
	}

	20% {
		transform: translateY(-15px)
	}

	25% {
		transform: translateY(0)
	}

	30% {
		transform: translateY(-15px)
	}

	50% {
		transform: translateY(0)
	}

	100% {
		transform: translateY(0)
	}
}

@media screen and (max-width: 1075px) {
	.mainvisual_area .inner {
		background-size: 30%;
		padding: 27px;
	}

	.hd01 span span.ttl {
		font-size: 9vw;
	}

	.hd01 span .ttl span.ttl02 {
		font-size: 7vw;
	}

	.hd01 span {
		font-size: 6vw;
	}

	.mainvisual_area .inner p {
		font-size: 4vw;
	}

	.sec01 .flex .point_box {
		margin: 0 20px;
		padding: 10px;
	}
}

@media screen and (max-width: 950px) {
	.mainScroll {
		display: none;
	}


	.contentsBlock {
		padding: 0 10px;
	}

	.mainvisual_area {
		min-height: 490px;
	}

	.mainvisual_area .inner {
		position: relative;
		min-height: 490px;
	}

	.more_btn {
		width: 100%;
		position: absolute;
		bottom: 16px;
		left: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateX(-50%);
	}

	.countermeasures {
		padding: 60px 10px 0;
	}

	.countermeasures .inner ul li {
		padding-right: 10px;
		margin: 0;
	}

	.countermeasures .inner ul li:last-child {
		padding-right: 0;
	}

	.staff {
		padding: 0 20px 20px;
	}

	.staff .flex .balloon1-left,
	.balloon1-right {
		max-width: 700px;
		width: 78%;
	}

	.balloon1-left {
		margin-left: 30px;
	}

	.balloon1-right {
		margin-right: 30px;
	}

	.base-area .base-box .txt_l br {
		display: none;
	}

	.base-area .base-box .tel a {
		font-size: 3vw;
	}
}

@media screen and (max-width: 845px) {
	.welfare .inner {
		padding: 0 10px;
		margin-bottom: 60px;
	}

	.qa {
		padding: 50px 0 20px;
	}

	.qa .inner {
		padding: 40px 10px;
	}

	.base-area .base-box .txt_l {
		min-height: 111px;
	}

	.staff .inner {
		padding: 60px 10px;
	}

	.countermeasures .inner {
		padding: 60px 0 0;
	}
}

@media screen and (max-width: 800px) {
	.hd01 span span.ttl {
		font-size: 10vw;
	}

	.hd01 span .ttl span.ttl02 {
		font-size: 8vw;
	}

	.hd01 span {
		font-size: 6.2vw;
	}

	.mainvisual_area .inner p {
		font-size: 4vw;
	}

	.recruit-btn img {
		width: 80%;
	}

	.base-area {
		flex-wrap: wrap;
	}

	.base-area .base-box {
		width: 46%;
		margin-bottom: 20px;
	}

	.base-area .base-box .txt_l {
		min-height: 67px;
	}
}

@media screen and (max-width: 768px) {

	/*6つの魅力簡単・早い・安心*/
	.point_box .point_ttl {
		line-height: 1.4;
		font-size: 22px;
	}

	.sec01 .flex {
		margin-bottom: 40px;
	}

	.hd02 {
		font-size: 28px;
	}

	/*横追従*/
	.stickynav_inner {
		display: flex !important;
		justify-content: space-between;
		background: rgba(0, 0, 0, 0.6);
		position: fixed;
		top: inherit;
		bottom: 0;
		width: 100%;
		z-index: 999;
		padding: 10px;
	}

	.stickynav_inner li {
		width: 49%;
		height: auto;
		background: #39f;
		border-radius: 5px;
		writing-mode: inherit;
		text-orientation: inherit;
		margin-bottom: 0;
	}

	.stickynav_inner li a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;
		height: 100%;
		font-size: 17px;
		text-decoration: none;
		text-align: left;
		color: #fff;
		font-weight: bold;
	}

	.stickynav_inner li a:before {
		font-family: 'FontAwesome';
		content: "\f002";
		display: inline-block;
		padding-right: 5px;
		font-size: 16px;
	}

	.stickynav_inner li:nth-child(2) {
		border-left: 0;
		background: #fa7e19;
		line-height: 1.2;
	}

	.stickynav_inner li:nth-child(2) a:before {
		font-family: 'FontAwesome';
		content: "\f10b";
		display: inline-block;
		padding-right: 7px;
		font-size: 32px;
		line-height: 1;
	}

	.welfare_box ul {
		justify-content: space-between;
	}

	.base-area .base-box .ttl {
		font-size: 2vw;
	}

	.base-area .base-box .ttl span {
		font-size: 3vw;
	}

	.base-area .base-box .txt_l {
		min-height: 89px;
	}
}

@media screen and (min-width:560px) and (max-width:670px) {
	.hd04 {
		font-size: 3.5vw;
	}
}


@media screen and (max-width: 580px) {
	.sec01 .subttl {
		font-size: 18px;
	}

	.mainvisual_area,
	.mainvisual_area .inner {
		min-height: 420px;
	}

	.hd01::before,
	.hd01::after {
		width: 47px;
		height: 78px;
	}

	.hd02 {
		font-size: 24px;
	}

	.hd02 span {
		font-size: 38px;
	}

	.sec01 .inner .flex:nth-child(even) .point_box,
	.sec01 .inner .flex:nth-child(odd) .point_box {
		margin: 0;
	}

	.sec01 > .inner {
		padding: 15px;
	}

	.sec01 > .inner .hd02 {
		margin-bottom: 0;
		font-size: 16px;
		letter-spacing: -1px;
	}

	.sec01 .flex figure {
		padding: 0 0 20px;
	}

	.point_box .point_ttl {
		font-size: 18px;
	}

	.point_box .txt_r {
		font-size: 13px;
	}

	.point_box .point_ttl span {
		font-size: 14px;
		display: block;
	}

	.hotken_area .hotken-img {
		width: 30%;
	}

	.hotken_area .lead-txt {
		font-size: 16px;
	}

	.hotken_area .lead-txt span {
		font-size: 22px;
	}

	.hd04 {
		font-size: 22px;
		text-align: center;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.4;
	}

	.hd04:before {
		content: "";
		background: url("../img/hd_line03.png") no-repeat top center;
		display: inline-block;
		width: 35px;
		height: 57px;
		background-size: contain;
		padding-right: 20px;
		vertical-align: middle;
	}

	.hd04:after {
		content: "";
		background: url("../img/hd_line04.png") no-repeat top center;
		display: inline-block;
		width: 35px;
		height: 57px;
		background-size: contain;
		padding-right: 20px;
		padding-left: 0;
		vertical-align: middle;
	}

	.more_btn02 a,
	.more_btn03 a {
		font-size: 15px;
	}


	/*安心のうれしい声多数*/
	.welfare .flex {
		display: block;
		margin: 20px auto;
	}

	.welfare .flex > div {
		width: 100%;
		margin-bottom: 20px;
	}

	.welfare_box {
		padding: 20px;
	}

	.welfare_box .ttl {
		width: 100%;
	}

	.welfare_box ul {
		justify-content: space-between;
	}

	.welfare_box ul li span {
		font-size: 12px;
	}

	.btn-box p {
		font-size: 18px;
	}

	/*よくある質問Q&A*/
	.qa .inner {
		padding: 0 10px;
	}

	/*派遣スタッフさんの声*/
	.staff {
		padding: 0 10px;
	}


	.staff .inner {
		padding: 40px 0 20px;
	}

	.staff .inner .flex {
		margin-top: 20px;
	}

	.staff .inner .flex figure {
		margin-bottom: 20px;
		width: 30%;
		padding-right: 15px;
	}

	.staff .inner .flex:last-child {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		margin-top: 40px;
	}

	.balloon1-left p {
		font-size: 14px;
		line-height: 1.6;
	}

	.staff .flex .balloon1-left,
	.balloon1-right {
		width: 100%;
		margin: 0;
		padding: 10px;
	}

	.balloon1-left .ttl,
	.balloon1-right .ttl {
		font-size: 18px;
	}

	.balloon1-left .ttl span,
	.balloon1-right .ttl span {
		font-size: 14px;
	}

	.hd03 {
		font-size: 24px;
	}

	.recruit-btn img {
		width: 100%;
	}

	.base-area .base-box {
		width: 100%;
	}

	.base-area .base-box .area {
		width: 100%;
	}

	.base-area .base-box .tel a {
		font-size: 26px;
	}

	.base-area .base-box .txt_l {
		min-height: auto;
	}

	.base-area .base-box .ttl {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.base-area .base-box .ttl span {
		font-size: 24px;
	}
}

@media screen and (max-width: 520px) {
	.base-area .base-box {
		width: 100%;
	}
}


@media screen and (max-width: 478px) {
	.sec01_bg .bg01 {
		position: absolute;
		top: 10%;
		left: 2%;
	}

	.sec01_bg .bg02 {
		width: 37%;
		right: 0;
	}

	.sec01_bg .bg03 {
		width: 27%;
		bottom: 51%;
		left: 6%;
	}

	.sec01_bg .bg04 {
		bottom: 27%;
		left: 6%;
	}

	.mainvisual_area {
		min-height: 320px;
	}

	.mainvisual_area .inner {
		padding-top: 25px;
		background-size: 34%;
		min-height: 390px;
	}

	.mainvisual_area .inner p {
		font-size: 17px;
	}

	.hd01 {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.hd01 span span.ttl {
		font-size: 44px;
	}

	.hd01 span .ttl span.ttl02 {
		font-size: 32px;
	}

	.hd01 span span {
		font-size: 25px;
	}

	.more_btn {
		width: 88%;
	}

	.more_btn a {
		font-size: 15px;
	}

	.sec01 {
		padding: 20px 0 20px;
	}

	.sec01 > .inner {
		padding: 15px 10px;
	}

	.sec01 .subttl {
		font-size: 22px;
		letter-spacing: -0.6px;
		line-height: 1.6;
		margin-bottom: 10px;
	}

	.sec01 .subttl span {
		font-size: 22px;
	}

	.sec01 .flex .point_box::after {
		width: 54px;
		height: 12px;
		background-size: contain;
		top: -7px;
	}


	.hd02 {
		font-size: 22px;
		line-height: 1.4;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
	}

	.hd02 span {
		font-size: 40px;
	}

	.sec01 .flex figure {
		width: 40%;
		margin: 0 auto;
	}

	.sec04 {
		margin-top: 60px;
	}

	.countermeasures .hd02 .spStyle,
	#jobinfo .hd03 .spStyle {
		display: none;
	}

	.base-area {
		display: block;
		margin-bottom: 40px;
	}

	.base-area .base-box {
		width: 100%;
		border-bottom: 1px solid #777;
		margin: 0 0 20px;
		padding: 15px;
	}

}

@media screen and (max-width: 353px) {

	.more_btn a,
	.more_btn02 a,
	.more_btn03 a {
		font-size: 13px;
	}

	.stickynav_inner li a {
		font-size: 14px;
	}
}

@media screen and (max-width: 340px) {
	header .header_right p span a {
		font-size: 20px;
	}

	header .header_right p {
		font-size: 11px;
	}

	.mainvisual_area .inner p {
		font-size: 18px;
	}

	.hd01 {
		margin-bottom: 14px;
	}

	.sec01 .subttl {
		font-size: 18px;
	}

	.sec01 > .inner .hd02 {
		font-size: 15px;
	}

	.point_box .point_ttl {
		font-size: 17px;
	}

	.hotken_area .lead-txt {
		font-size: 14px;
	}

	.hotken_area .lead-txt span {
		font-size: 18px;
	}

	.welfare_box {
		padding: 20px 10px;
	}

	.welfare_box ul li {
		width: 31%;
	}

}