/* layout sp
--------------------------------------------------*/
@media screen and (max-width: 768px) {

html,body {
	position:relative;
	width:100%;
	min-width:320px;
	text-align:left;
	-webkit-text-size-adjust: none;
	overflow-x:hidden;
}


body{
	padding-top:14vw;
}



/* メンテナンス画面 */
.maintenance{
	padding-top:0;
	background:#007f41;
}

.maintenance_set{
	position:relative;
	top:0;
	left:0;
	width:100%;
	min-height:100%;
	
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	padding-top:7vw;
	padding-bottom:7vw;

	align-items:center;
	gap:5vw;
	box-sizing:border-box;

}

.maintenance_set p,
.maintenance_set a{
	text-align:center;
	line-height:2;
	color:#ffffff;
	font-size:3.5vw;
}

.maintenance_set .header_logo01{
	width:45vw;
	height:auto;
}

.maintenance_set .header_logo01_text{
	font-size:3.2vw;
	line-height:1;
	color:#ffffff;
	font-weight:500;
	letter-spacing:-0.05em;
}



/* フォームバリデーション系 */
.screen-reader-response.active{
	position:relative;
	width:100%;
	font-size:3.2vw;
	color:#ff0000;
	line-height:2;
	margin-bottom:7vw;
	font-weight:500;
	background:#ffe5e5;
	border-radius:8px;
	padding:5vw;
	box-sizing:border-box;
}

.screen-reader-response p,
.screen-reader-response li{
	font-weight:500;
}

.wpcf7-response-output{
	display:none;
}

.wpcf7-not-valid-tip{
	display:none;
}

input.wpcf7-not-valid{
	border:1px solid #ff0000 !important;
}

.wpcf7-not-valid input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #ff0000;
	border-radius: 3px;
	background-color: #f7f7f7;
}

.wpcf7-not-valid input[type="checkbox"]:checked {
	appearance: auto;
	-webkit-appearance: checkbox;
	border:none;
	background-color: #007f41;
}



/* フォント */
.font11{
	font-size:2.4vw;
}

.font12{
	font-size:2.8vw;
}

.font13{
	font-size:3.2vw;
}

.font14{
	font-size:3.6vw;
}

.font15{
	font-size:3.5vw;
}

.font16{
	font-size:4.2vw;
}

.font17{
	font-size:3.8vw;
}

.font18{
	font-size:4.2vw;
}

.font19{
	font-size:3.6vw;
}

.font20{
	font-size:4.2vw;
}

.font22{
	font-size:4.8vw;
}


.font24{
	font-size:5.8vw;
}

.font26{
	font-size:6.2vw;
}

.font28{
	font-size:6.2vw;
}

.font30{
	font-size:6.2vw;
}

.font36{
	font-size:6.2vw;
}


/* ボタン */
.btn01{
	position:relative;
	width:62.5vw;
	height:10.5vw;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;

background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;

	color:#ffffff;
	
	border-radius:8px;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	
	transition:
	background 0.2s,
	box-shadow 0.2s,
	filter 0.2s;
	line-height:1;
}

.btn01_long{
	letter-spacing:0;
}

.btn01_products_detail{
	width:100%;
	padding:0 18.5vw;
}

.btn01_products_detail.font18{
	font-size:3.2vw;
	letter-spacing:0;
	white-space:nowrap;
	padding:0;
}

.products_detail_box_text01 span:not(.kakko){
	margin-top:3vw;
	display:block;
}





/* 白丸 */
.btn01::after{
	content:"";
	position:absolute;
	right:4vw;
	top:50%;
	transform:translateY(-50%);

	width:5vw;
	height:5vw;
	border-radius:50%;
	background:#fff;
}

/* 三角 */
.btn01::before{
	content:"";
	position:absolute;
	right:5.5vw;
	top:50%;

	transform:translateY(-50%) scale(1);

	width:0;
	height:0;

	border-top:3.5px solid transparent;
	border-bottom:3.5px solid transparent;
	border-left:6px solid #046f59;

	z-index:1;

	transition:transform 0.2s ease;
}

/* hover */
.btn01:hover::before{
	transform:translateX(0) translateY(-50%) scale(1);
}

/* マウスオーバー */
.btn01:hover{
	filter:brightness(1) saturate(1);
}


.btn02{
	position:relative;
	width:62.5vw;
	height:10.5vw;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;


	color:#ffffff;
	
	border-radius:8px;
	border:solid 1px rgba(255,255,255,0.2);
	
	transition:
	background 0.2s,
	box-shadow 0.2s,
	filter 0.2s;
}

/* 白丸 */
.btn02::after{
	content:"";
	position:absolute;
	right:4vw;
	top:50%;
	transform:translateY(-50%);

	width:5vw;
	height:5vw;
	border-radius:50%;
	background:#fff;
}

/* 三角 */
.btn02::before{
	content:"";
	position:absolute;
	right:5.75vw;
	top:50%;

	transform:translateY(-50%) scale(1);

	width:0;
	height:0;

	border-top:3.5px solid transparent;
	border-bottom:3.5px solid transparent;
	border-left:6px solid #046f59;

	z-index:1;

	transition:transform 0.2s ease;
}

/* hover */
.btn02:hover::before{
	transform:translateX(0) translateY(-50%) scale(1);
}

/* マウスオーバー */
.btn02:hover{
	background:rgba(255,255,255,0);
}





/* マウスオーバー */
.over{
	transition:
		opacity .2s,
		transform .2s,
		visibility .2s;
}

.over:hover{
	opacity:1;
}






/* フッター */
footer{
	position:relative;
	margin-top:20vw;
	width:100%;
	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.4) 120%
	),
	#007f41;
	padding-top:12vw;
	padding-bottom:12vw;
}

.footer_menu_set{
	position:relative;
	width:90%;
	display:flex;
	justify-content:space-between;
	gap:0;
	margin:auto;
		width:90%;
	margin:auto;

	display:grid;
	grid-template-columns:repeat(12, 1fr);
	gap:5vw 9vw;
}

.footer_menu_set a{
	color:#ffffff;
	line-height:1.6;
	grid-column:span 6;
}

.footer_menu_set .font16{
	font-size:3.6vw;
}

.footer_logo_set{
	position:relative;
	width:90%;
	display:flex;
	flex-direction:column;

	align-items:center;
	margin:7vw auto 7vw;
	
	border:solid 1px rgba(255,255,255,0.2);
	padding:7vw 0;
	box-sizing:border-box;
}

.footer_logo01{
	position:relative;
	width:50vw;
	height:auto;
	display:block;
	margin-top:4vw;
	margin-bottom:2vw;
}

.footer_logo_set_text01{
	position:relative;
	color:#ffffff;
	line-height:1.8;
}

.footer_logo_set_text02{
	position:relative;
	color:#ffffff;
	line-height:1;
}


.copyright{
	text-align:center;
	color:#ffffff;
	line-height:1;
}




/* リクルートリンク */
.top_recruit_link{
	position:relative;
	width:100%;
	margin-top:120px;
}

.top_recruit_link_box{
	position:relative;
	width:1000px;
	margin:auto;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	box-sizing:border-box;
	padding:40px 0;
	border-radius:16px;
	display:flex;
	align-items:center;
	gap:60px;
	background:
	url("../images/top/recruit_link_img01.png")
	calc(100% - 20px)
	calc(50% + 50px)
	no-repeat,
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;
}


.top_recruit_link_img01{
	position:absolute;
	top:0;
	left:50%;
	margin-top:-40px;
	margin-left:-434px;
}


.top_recruit_link_img02{
	position:absolute;
	top:0;
	left:50%;
	margin-top:56px;
	margin-left:-520px;
}


.top_recruit_link_img03{
	position:absolute;
	top:0;
	left:50%;
	margin-top:155px;
	margin-left:-366px;
}

.top_recruit_link_right_set{
	position:relative;
	margin-left:310px;
}

.top_recruit_link_caption{
	color:#ffffff;
	font-weight:500;
	line-height:1;
	margin-bottom:15px;
}

.top_recruit_link_text{
	color:#ffffff;
	line-height:2;
	margin-bottom:20px;
}






/* フローティングボタン */
.go_top {
	position: fixed;
	right: 3vw;
	bottom: 3vw;
	
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);

	transition:
		opacity .4s,
		transform .4s,
		visibility .4s;
	z-index:9999;
	
	width:11vw;
	height:11vw;
	

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	border-radius:50%;
	background:#b6d9cc;
	color:#007f41;
	text-decoration:none;

	gap:1vw;
	line-height:1;
	
}

.go_top.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.go_contact{
	position: fixed;
	right: 2vw;
	bottom: 15vw;
	
	opacity: 0;
	visibility: hidden;
	transform: translateY(1vw);

	transition:
		opacity .2s,
		transform .2s,
		visibility .2s;
	z-index:9999;
	
	width:25vw;
	height:25vw;
	

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	border-radius:50%;
	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;
	color:#ffffff;
	text-decoration:none;

	gap:0;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	
	text-align:center;
	
}

.go_contact_bg{
	width:20vw;
	height:auto;
}

.go_contact_text{
	line-height:1.5;
}

.go_contact_text.font16{
	font-size:2.8vw;
}




/* ヘッダー */
/* 初期 */
.header_wrap{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	min-width:320px;

	z-index:9998;

	background:#fff;

	transition:
		transform 0.3s ease,
		border-color 0.3s ease;

	border-bottom:solid 1px #ffffff;
}


.header_menu01{
	position:absolute;
	top:0;
	right:0;
	width:17vw;
	height:auto;
	z-index:1;
}

.header_menu01_img01,
.header_menu01_img02{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:auto;

	transition:
		opacity .2s ease,
		transform .2s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 初期 */
.header_menu01_img01{
	opacity:1;
	transform:translateY(0);
}

.header_menu01_img02{
	opacity:0;
	transform:translateY(0vw);
}

/* active時 */
header.active .header_menu01_img01{
	opacity:0;
	transform:translateY(2vw);
}

header.active .header_menu01_img02{
	opacity:1;
	transform:translateY(2vw);
}



header{
	position:relative;
	width:100%;
	height:14vw;
	margin:auto;
	padding-left:5vw;
	padding-right:5vw;
	box-sizing:border-box;

	transition:
		height .2s ease,
		padding .2s ease;
}

header.active{
	padding-top:1.5vw;
	height:19vw;
}


header h1 a{
	position:relative;
	margin-top:1.5vw;
	display: inline-flex;
	flex-direction: column;
	z-index:1;
}

.header_logo01,
.header_logo02{
	position:relative;
	width:32vw;
	height:auto;
}

.header_logo01_text{
	font-size:2.5vw;
	line-height:1;
	color:#2c8e5b;
	font-weight:bold;
	letter-spacing:-0.05em;
}

.header_logo02{
	position:absolute;
	opacity:0;
}

/* active時 */
header.active .header_logo01{
	opacity:0;
}

header.active .header_logo02{
	opacity:1;
}

header.active .header_logo01_text{
	color:#ffffff;;
}

/* ボーダー */
.menu_set{
	position:absolute;
	top:0;
	left:0;
	right:auto;
	width:100%;
	height:auto;
	display:block;
	background:#007f41;
	padding-top:19vw;
	padding-bottom:16vw;
	display:none;
}

.menu_set a{
	position:relative;
	color:#ffffff;
	line-height:1;
	transition: color .4s;
	letter-spacing:0.025em;
	display:block;
	padding:6vw 10%;
}

/* ボーダー */
.menu_set a::after{
	content:"";
	position:absolute;
	width:90%;
	left:5%;
	right:0;
	bottom:0;
	height:1px;
	background:#339967;
}

/* 1個目だけ上線 */
.menu_set a:first-child::before{
	content:"";
	position:absolute;
	width:90%;
	left:5%;
	right:0;
	top:0;
	height:1px;
	background:#339967;
}

.menu_set a:hover{
	color:#ffffff;
}

.menu_set a.active::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-10px;
	width:100%;
	height:2px;
	background:#007f41;
	opacity:1;
}




/* 二階層目以降共通 */
.page_contents{
	position:relative;
	width:90%;
	margin:0 auto 0;
}

.page_contents_set{
	position:relative;
	width:100%;
	margin:12vw auto 12vw;
	padding-top:12vw;
	padding-bottom:12vw;
	background:#fffff2;
}

.page_caption{
	position:relative;
	padding-left:5vw;
}

.page_caption::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:4px;
	height:100%;
	background:#007f41;
}

.page_caption02{
	margin-bottom:7vw;
}

.page_caption03{
	position:relative;
	margin-bottom:5vw;
	position:relative;
	width:100%;
	padding-top:3vw;
	padding-bottom:3vw;
	padding-left:3vw;

	display:flex;
	align-items:center;

	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;

	color:#ffffff;
	box-shadow:0 0 8px 0 rgba(64,128,128,0.4);
	border:none;
	
	box-sizing:border-box;
}

.page_caption03 h3{
	line-height:1.5;
	font-weight:500;
}

.page_caption03 h3:has(span){
	line-height:1.5;
}

.page_caption03 h3.font24{
	font-size:4.2vw;
	letter-spacing:0.025em;
}

.page_caption h2{
	margin-bottom:2vw;
	line-height:1.5;
	font-weight:500;
}

.page_caption time{
	display:block;
	color:#666666;
	padding-bottom:2vw;
	line-height:1;
}





.page_main_visual{
	position:relative;
	width:100%;
	height:32vw;
	background:#007f41;
	overflow:hidden;
}



/* 共通 */

.page_main_visual::before{
	content:"";

	position:absolute;
	inset:0;

	background-image:url("../images/page/page_main_pc.jpg");
	background-position:-112vw -3vw;
	background-size:270vw auto;	
}





.page_main_visual_circle01,
.page_main_visual_circle02,
.page_main_visual_circle03{
	position:absolute;
	border-radius:50%;
	z-index:0;

	animation:floatCircle 12s ease-in-out infinite;
}

/* circle01 */
.page_main_visual_circle01{
	width:53vw;
	height:53vw;

	top:-45vw;
	left:0;
	margin-left:-27vw;
	background:rgba(232,201,46,0.4);
}

/* circle02 */
.page_main_visual_circle02{
	width:21vw;
	height:21vw;

	bottom:-12vw;
	left:0;
	margin-left:22vw;

	animation-duration:15s;
	animation-delay:2s;
	background:rgba(232,201,46,0.3);
}

/* circle03 */
.page_main_visual_circle03{
	width:8vw;
	height:8vw;

	top:2vw;
	left:10vw;
	margin-left:74vw;

	animation-duration:10s;
	animation-delay:1s;
	background:rgba(232,201,46,0.2);
}


.page_main_visual_title_set{
	position:relative;
	top:9vw;
	left:5vw;
	margin-left:0;
	z-index:1;
}

.page_main_visual_title_set h1{
	position:relative;
	display:block;
	height:10vw;
}

.page_main_visual_title{
	position:relative;
	display:block;
	width:auto;
	height:6vw;
}

.long .page_main_visual_title{
	height:8vw;
	margin-bottom:2vw;
}


.page_main_visual_text{
	position:relative;
	line-height:1;
	font-weight:500;
	color:#ffffff;
}



.page_main_visual_text.font20{
	font-size:3.8vw;
}



/* パンクズリスト */
.breadcrumb{
	position:relative;
	width:90%;
	margin:3vw auto 7vw;
	line-height:1.8;
}

.breadcrumb ul{
	list-style:none;
	margin:0;
	padding:0;
}

.breadcrumb ul.font14{
	font-size:3.2vw;
}

.breadcrumb li{
	display:inline;
}

.breadcrumb ul a{
	color:#007f41;
}

.breadcrumb li:not(:last-child)::after{
	content:" > ";
	color:#999;
	margin:0 0px 0;
	position:relative;
	top:-0.25vw;
}






.news_list{
	position:relative;
	width:100%;
	margin:0 auto 0;
	border-top:solid 1px #d1e8de;
}

.news_list li{
	position:relative;
	padding:5vw;
	border-bottom:solid 1px #d1e8de;
}

.news_list li a{
	display:flex;
	align-items:flex-start;
	gap:5vw;
}

.news_list time{
	position:relative;
	color:#007f41;
	font-weight:500;
	line-height:1.6;
}

.news_text{
	color:#000000;
	line-height:1.6;
}



/* 記事共通 */
.news_detail_contents{
	margin-top:7vw;
	line-height:2;
	padding-bottom:7vw;
	border-bottom:solid 1px #d1e8de;
}

.news_detail_contents p{
	text-align:justify;
}

.news_detail_contents img{
	width:100%;
	height:auto;
	display:block;
	margin:7vw auto;
}

.news_detail_contents a{
	text-decoration:none;
	color:#007f41;
	transition:
		opacity .2s,
		transform .2s,
		visibility .2s;
}

.news_detail_contents a:hover{
	opacity:1;
}

.page_link_set{
	position:relative;
	margin-top:15vw;
	display:flex;
	justify-content:center;
}

.page_link_set02{
	margin-top:7vw;
}


.news_list .font18{
	font-size:3.8vw;
}





/* 個人情報保護方針 */

.privacy_text01{
	line-height:2;
	text-align:justify;
}

.privacy_text01.font16{
	font-size:3.2vw;
}

.privacy_text01 a{
	color:#000000;
}

.privacy_text02 a{
	color:#000000;
}

.privacy_text02{
	display:block;
	margin-top:7vw;
	margin-bottom:7vw;
	padding-left:7vw;
	padding-right:7vw;
}

.privacy_text02.font16{
	font-size:3.2vw;
}

.privacy_text02 li{
	text-indent:-1.2em;
	font-weight:500;
	text-align:justify;
	line-height:1.8;
}

.privacy_text02 li:not(:last-child){
	margin-bottom:3vw;
}

.kakko{
	margin-left:-0.5em;
}

.privacy_text03{
	display:block;
	margin-top:3vw;
	margin-bottom:3vw;
	text-align:right;
	line-height:1.8;
}

.privacy_text04{
	display:block;
	text-align:right;
	line-height:1.8;
}

.privacy_text04.font16{
	font-size:3.8vw;

}

.privacy_text05{
	line-height:2;
}

.privacy_text05.font16{
	font-size:3.8vw;
}

.privacy_text05:not(:last-child){
	margin-bottom:7vw;
}

.privacy_text_detail01{
	font-weight:500;
	display:block;
	margin-bottom:1vw;
}

.privacy_text_detail01.font18{
	font-size:3.8vw;
	letter-spacing:0;
}

.privacy_text_detail02{
	font-weight:normal;
	display:block;
	text-indent:0em;
}

.privacy_text02 li:not(:last-child) .privacy_text_detail02{
	margin-bottom:5vw;
}




.line{
	position:relative;
	width:100%;
	height:1px;
	background:#d1e8de;
	margin-top:12vw;
	margin-bottom:12vw;
}

.line02{
	margin-top:5vw;
	margin-bottom:5vw;
}

.line03{
	margin-top:7vw;
	margin-bottom:7vw;
}






/* お問い合わせ */
.form_caption01{
	font-weight:500;
}

.form_caption02{
	margin-top:2vw;
	color:#666666;
}

.form_caption02.font16{
	font-size:3.8vw;
}

.red{
	color:#ff0000;
}


.form01{
	width:100%;
	background:#f7f7f7;
	padding:3vw;
	border:solid 1px #d2d2d2;
	border-radius:6px;
	box-sizing:border-box;
}

textarea.form01{
	height:160px;
	font-family:"Zen Kaku Gothic New", "Helvetica", "Arial", sans-serif;
	display:block;
}

.form01:focus{
	outline:none;
	border-color:#007f41;
	background:#fff;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
}

.form01::placeholder{
	color:#999999;
}

.form_attention_set ul{
	width:100%;
	max-height:25vw;
	overflow-y:auto;
	margin-left:auto;
	margin-right:auto;
	background:#f7f7f7;
	padding:3vw 5vw 3vw 7vw;
	display:block;
	box-sizing:border-box;
	border-radius:8px;
}



.form_attention_set .font14{
	font-size:3.2vw;
}

.form_attention_text01{
	margin-top:12vw;
	display:block;
	line-height:1.8;
	font-weight:500;
}

.form_attention_text02 a{
	color:#000000;
}

.form_attention_text02{
	display:block;
	margin-top:3vw;
	margin-bottom:5vw;
	padding-left:3vw;
	padding-right:0;
	color:#666666;
}

.form_attention_text02 li{
	text-indent:-3vw;
	text-align:justify;
	line-height:1.8;
}

.form_attention_text03{
	display:block;
	color:#666666;
	line-height:1.8;
	letter-spacing:0;
}

.form_attention_text03 a{
	color:#666666;
}

.form_attention_text02 li:not(:last-child){
	margin-bottom:5vw;
}



/* =========================
   Contact Form 7 submit
========================= */
.form_submit_wrap{
	text-align:center;
}

.form_submit{
	position:relative;
	display:inline-flex;
	justify-content:center;
	margin-top:12vw;
}

/* CF7ボタンを.btn01完全統一 */
.form_submit input.btn01{
	position:relative;
	width:62.5vw;
	height:10.5vw;

	display:flex;
	align-items:center;
	justify-content:center;

	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;

	color:#ffffff;

	border-radius:8px;
	box-shadow:0 0 8px 0 rgba(64,128,128,0.4);

	border:none;
	cursor:pointer;

	transition:
	background 0.2s,
	box-shadow 0.2s,
	filter 0.2s;
}

/* hover */
.form_submit:hover input.btn01{
	filter:brightness(1.1) saturate(1.1);
}

/* CF7は疑似要素使えないので親に付与 */
.form_submit::after{
	content:"";
	position:absolute;
	right:4vw;
	top:50%;
	transform:translateY(-50%);

	width:5vw;
	height:5vw;
	border-radius:50%;
	background:#fff;

	pointer-events:none;
	z-index:1;
}

.form_submit::before{
	content:"";
	position:absolute;
	right:calc(50% - 133px);
	top:50%;
	right:5.5vw;
	transform:translateY(-50%);

	width:0;
	height:0;

	border-top:3.5px solid transparent;
	border-bottom:3.5px solid transparent;
	border-left:6px solid #046f59;

	pointer-events:none;
	transition:transform 0.2s ease;
	z-index:2;
}

/* hover連動 */
.form_submit:hover::before{
	transform:translateX(0) translateY(-50%) scale(1);
}

.form_check_caption{
	font-weight:500;
	display:block;
	margin-top:0;
	margin-bottom:1vw;
	margin-left:7vw;
}

.form_line{
	position:relative;
	width:calc(100% - 7vw);
	height:1px;
	background:#d1e8de;
	margin-left:7vw;
	margin-right:0;
	display:block;
	margin-top:4vw;
	margin-bottom:4vw;
}

.check_item{
	display:flex;
	gap:2vw;
	margin-bottom:0;
	margin-left:7vw;
	cursor:pointer;
	
	flex-direction:column;
	align-items:flex-start;
}

.check_item:last-child{
	margin-bottom:-3vw;
}

.check_item input{
	accent-color:#007f41;
	width:3vw;
	height:3vw;
	margin-right:1vw;
	
	vertical-align: middle;
	position: relative;
}

.page_table_check_set{
	position:relative;
	flex:1;
}



/* 会社情報 */
.company_link_set{
	position:relative;
	top:0;
	right:auto;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:7vw;
}

.company_link_set .btn01{
	width:72.5vw;
	height:10.5vw;
}


.company_link_set .btn01.font16{
	font-size:3.6vw;
}

.page_table{
	position:relative;
	width:100%;
	margin:0 auto 0;
	border-top:solid 1px #d1e8de;
}

.page_table li{
	position:relative;
	padding:5vw 0 6vw;
	border-bottom:solid 1px #d1e8de;
	display:block;
	align-items:flex-start;
	flex-wrap:wrap;
}

.company_table li{
	padding:5vw 0 5vw;
}

.page_table_text01{
	position:relative;
	width:100%;
	font-weight:500;
	line-height:1.8;
	flex-shrink:0;
	margin-bottom:1vw;
}

.page_table_text02{
	flex:1;
	min-width:0;
	line-height:1.8;
	font-size:3.8vw;
	letter-spacing:0;
}

.page_table_text03{
	font-weight:500;
	line-height:1.8;
}

.page_table_mb{
	margin-bottom:5vw;
	display:block;
}

.page_table_mb.font16{
	font-size:3.8vw;
}

.company_message_set{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
}

.company_message_photo{
	position:relative;
	width:57vw;
	height:auto;
}

.company_message_text01{
	position:relative;
	text-align:right;
	display:block;
	margin-top:2vw;
	line-height:1;
}

.company_message_text_set{
	position:relative;
	width:100%;
	margin-top:7vw;
	display:block;
}

.company_message_text02{
	position:relative;
	display:block;
	line-height:2;
}

.company_message_text03{
	position:relative;
	display:block;
	line-height:2;
	margin-top:10vw;
	font-weight:500;
}

.company_message_text04{
	position:relative;
	display:block;
	line-height:2;
	margin-top:10vw;
	margin-bottom:5px;
	font-weight:500;
}


.company_circle01,
.company_circle02,
.company_circle03{
	position:absolute;
	border-radius:50%;
	z-index:0;

	animation:floatCircle 12s ease-in-out infinite;
}

/* circle01 */
.company_circle01{
	width:67vw;
	height:67vw;

	top:80vw;
	left:0;
	margin-left:-18vw;
	background:rgba(232,201,46,0.4);
}

/* circle02 */
.company_circle02{
	width:42vw;
	height:42vw;

	top:260vw;
	left:auto;
	right:-18vw;
	margin-left:0;

	animation-duration:15s;
	animation-delay:2s;
	background:rgba(232,201,46,0.3);
}

/* circle03 */
.company_circle03{
	width:24vw;
	height:24vw;

	bottom:-14vw;
	left:auto;
	right:18vw;
	margin-left:0;

	animation-duration:10s;
	animation-delay:1s;
	background:rgba(232,201,46,0.2);
}

.company_member_set{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6vw;
}

.company_member_set:nth-child(4) img,
.company_member_set:nth-child(5) img{
	display:none;
}

.company_member_set:nth-child(4) .company_member_name_set,
.company_member_set:nth-child(5) .company_member_name_set{
	width:100%;
	text-align:center;
}


.company_member_set:not(:last-child){
	margin-bottom:12vw;
}

.company_member_top{
	display:flex;
	align-items:center;
	gap:6vw;
}

.company_member_photo{
	display:block;
	width:28vw;
	height:auto;
}

.company_member_name_set{
	position:relative;
	width:auto;
	display:flex;
	flex-direction:column;
}

.company_member_name_text01{
	line-height:1;
	margin-bottom:2vw;
	font-weight:500;
}

.company_member_name_text02{
	line-height:1.6;
	font-weight:500;
}

.company_member_name_text02.font26{
	font-size:5.8vw;
}

.line_v{
	width:100%;
	height:1px;
	align-self:auto;
	background:#d1e8de;
}

.company_member_career_set{
	position:relative;
}

.company_member_career_text01{
	line-height:1;
	margin-bottom:2vw;
	font-weight:500;
}

.company_member_career_text02{
	line-height:1.6;
	color:#666666;
}

.company_member_career_text03{
	margin-top:2vw;
	line-height:1.8;
	color:#666666;
}

.comapany_access_caption{
	position:relative;
	margin:0 auto 0;
	width:100%;
	height:auto;
}

.comapany_access_contents{
	position:relative;
	width:90%;
	margin:0 auto 0;
	text-align:center;
}

.comapany_access_map_set{
	position:relative;
	margin-top:12vw;
	margin-bottom:7vw;
}

.comapany_access_map_set iframe{
	width:100%;
	height:60vw;
	border:0;
	display:block;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
}


.comapany_access_text01{
	line-height:2;
}


.comapany_access_text01.font18{
	font-size:3.4vw;
}

.comapany_access_text02{
	color:#666666;
	text-align:left;
	display:inline-block;
	margin:4vw auto 0;
	line-height:2;
}


.comapany_access_text02.font14{
	font-size:3.2vw;
}






/* 採用フォーム */
.form02{
	width:30vw;
	background:#f7f7f7;
	padding:3vw;
	border:solid 1px #d2d2d2;
	border-radius:6px;
}

.form_space{
	line-height:1;
	margin:0 2vw;
}

.select_wrap select{
	width:100%;
	box-sizing:border-box;
}


select.form01{
	appearance:none;
	-webkit-appearance:none;

	cursor:pointer;

	background-image:none;
	width:100%;
}

.select_wrap{
	position:relative;
	width:100%;
	flex-shrink:0;
}

.select_wrap::after{
	content:"";

	position:absolute;
	right:5vw;
	top:50%;

	transform:translateY(-50%);

	width:0;
	height:0;

	border-left:4px solid transparent;
	border-right:4px solid transparent;
	border-top:7px solid #007f41;

	pointer-events:none;
}





/* 採用情報 */
.slider{
	width:100%;
	overflow:hidden;
	margin-bottom:7vw;
}

.slider_track{
	display:flex;
	width:max-content;
	will-change:transform;
	transform:translate3d(0,0,0);
}

.slider_track img{
	width:auto;
	height:44vw;
	flex-shrink:0;
	margin-right:3vw;
	display:block;
}

.recruit_text01{
	width:100%;
	height:auto;
	margin:0 auto 7vw;
}

.recruit_text02{
	line-height:2;
}


/* 求人エリア */
.job_title01{
	font-weight:500;
	color:#007f41;
	margin-bottom:7vw;
}

.job_caption01{
	font-weight:500;
	margin-bottom:2vw;
}

.job_text01{
	color:#666666;
	margin-bottom:7vw;
	line-height:2;
}

.job_table{
	margin-top:45px;
	
}






/* Paradigm流DXについて */
.paradigm_dx_contents{
	position:relative;
	width:100%;
	padding-bottom:0;

	background:#ffffff;

	background-image:url("../images/page/paradigm_dx_bg01_pc.svg");
	background-repeat:no-repeat;
	background-position:center bottom;
	background-size:max(1400px, 100vw) auto;
}

.paradigm_dx_text01{
	margin:0 auto 7vw;
	width:100%;
	height:auto;
}

.paradigm_dx_logo01{
	width:44.5vw;
	height:auto;
	margin:0 auto 7vw;
}

.paradigm_dx_text02{
	font-weight:500;
	text-align:center;
	line-height:1.8;
}

.page_contents_set02{
	margin-top:0;
	padding-top:12vw;
	padding-bottom:20vw;
	margin-bottom:-20vw;
}

.page_caption h3{
	margin-bottom:10px;
	line-height:1.6;
	font-weight:500;
	color:#ffffff;
}

.paradigm_dx_text03{
	line-height:2;
	text-align:justify;
}

.products_detail_box_text01{
	line-height:2;
	text-align:justify;
}

.paradigm_dx_bg_set{
	position:absolute;
	top:60px;
	width:100%;
	overflow:hidden;
}

.paradigm_dx_bg02{
	position:relative;
	width:500vw;
	margin-top:0;
	margin-left:-40vw;
}

.paradigm_dx_bg03{
	position:relative;
	width:500vw;
	margin-top:-20vw;
	margin-left:-250vw;
}

.paradigm_dx_image_set{
	position:relative;
	width:100%;
	margin-top:7vw;
	margin-bottom:12vw;
}

.paradigm_dx_image_circle_set{
	position:relative;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3vw;
	margin-bottom:7vw;
	flex-wrap:wrap;
}


.paradigm_dx_image_circle{
	position: relative;
	
	width:45vw;
	height:45vw;
	

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	border-radius:50%;
	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;
	color:#ffffff;
	text-decoration:none;

	gap:5px;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	
	text-align:center;
}


.paradigm_dx_image_circle_text{
	line-height:1.6;
	font-weight:500;
}

.paradigm_dx_image_circle_text.font17,
.paradigm_dx_image_circle_text.font18{
	font-size:3.2vw;
	letter-spacing:0;
}

.paradigm_dx_text04{
	text-align:center;
	color:#007f41;
	line-height:2;
	font-weight:500;
}

.paradigm_dx_text04.font20{
	letter-spacing:0;
	font-size:3.8vw;
}

.paradigm_dx_text05{
	color:#007f41;
	line-height:1.6;
	font-weight:500;
	margin-bottom:3vw;
}

.paradigm_dx_text05.font28{
	padding-left:1.3em;
	text-indent:-1.3em;
	font-size:4.8vw;
	letter-spacing:0;
}

.paradigm_dx_indent{
	position:relative;
	padding-left:0;
	padding-right:0;
}

.paradigm_dx_text06{
	line-height:1.6;
	font-weight:500;
	margin-bottom:3vw;
}

.paradigm_dx_text06.font20{
	font-size:4vw;
	letter-spacing:0;
}

.paradigm_dx_text07{
	line-height:1.8;
	color:#666666;
}

.paradigm_dx_text07.font16{
	font-size:3.8vw;
	letter-spacing:0;
}

.paradigm_dx_indent:last-of-type .paradigm_dx_text07{
	margin-bottom:12vw;
}



.page_white_box{
	position:relative;
	width:100%;
	margin:auto;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	box-sizing:border-box;
	padding:5vw 0;
	border-radius:16px;
	background:#ffffff;
}

.page_white_box:not(:first-of-type){
	margin-top:7vw;
}

.page_white_box:last-of-type{
	margin-bottom:12vw;
}

/* 特定ページだけ解除 */
.page_contents_recruit_set{
	padding-bottom:12vw;
}


.page_recruit_box_set .page_white_box:last-of-type{
	margin-bottom:0;
}

.page_white_box_text01{
	color:#007f41;
	font-weight:500;

	display:flex;
	align-items:center;
	gap:2vw;
	padding-left:5vw;
	padding-right:5vw;
	line-height:1;
	box-sizing:border-box;
	flex-wrap:wrap;
}

.sp_break{
	display:block;
	width:100%;
}

.page_white_box_circle{
	width:40px;
	height:40px;

	display:flex;
	justify-content:center;

	border-radius:50%;
	background:#007f41;
	color:#ffffff;
	margin-right:10px;
	line-height:35px;
}

.page_white_box_text02{
	font-weight:500;
	padding-left:5vw;
	padding-right:5vw;
	box-sizing:border-box;
	line-height:2;
}

.page_white_box_text02.font22{
	font-size:3.8vw;
}

.page_white_box_text03{
	padding-left:5vw;
	padding-right:5vw;
	box-sizing:border-box;
	line-height:2;
}

.page_white_box_text03.font18{
	font-size:3.8vw;
}

.bold{
	font-weight:500;
}




/* サービス */
.service_text01{
	position:relative;
	margin:0 auto 7vw;
	width:112%;
	height:auto;
	margin-left:-6%;
	
}

.service_text02{
	font-weight:500;
	text-align:center;
	margin-bottom:7vw;
}

.service_text02.font22{
	font-size:3.8vw;
}

.service_box_set{
	position:relative;
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}

.service_box{
	position:relative;
	width:calc(50% - 1.5vw);
	display:flex;
	align-items:center;
	justify-content:center;
	padding-top:5vw;
	padding-bottom:5vw;
	font-weight:500;
	line-height:2;
	

background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;

	color:#ffffff;
	text-align:center;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
}

.service_box.font24{
	font-size:3.8vw;
}


.service_list{
	position:relative;
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	margin-bottom:12vw;
	flex-wrap:wrap;
	gap:5vw;
}

.service_list li{
	position:relative;
	width:100%;
	background:#f2f8f5;
	padding:15px;
	box-sizing:border-box;
	
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);

	border-radius:8px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

.service_list_img {
	position:relative;
	width:35vw;
	height:auto;
	display:block;
	margin-right:3vw;
}

.service_list_caption{
	font-weight:500;
	margin-top:0;
	margin-bottom:0;
	line-height:1.6;
}


.service_list_text{
	color:#666666;
	margin-top:10px;
	margin-bottom:10px;
	line-height:1.6;
}


.service_text03{
	line-height:2;
	text-align:center;
}

.service_text03,font18{
	font-size:3.8vw;
}


.service_text04{
	color:#007f41;
	line-height:1.6;
	font-weight:500;
	margin-bottom:2vw;
}

.service_text04.font28{
	font-size:4.8vw;
}

.service_text05{
	line-height:1.6;
	font-weight:500;
	margin-bottom:2vw;
}

.service_text05.font20{
	font-size:4vw;
}

.service_text06{
	line-height:1.6;
	color:#666666;
}

.service_text06.font16{
	font-size:3.8vw;
}

.service_number_detail_set{
	position:relative;
	width:100%;
	display:flex;
	align-items:top;
	flex-wrap:wrap;
}

.service_number_detail_set img{
	position:relative;
	width:12vw;
	height:auto;
	display:block;
}

.service_number_detail_set:not(:last-child){
	margin-bottom:7vw;
}

.service_number_head{
	display:flex;
	align-items:flex-start;
	column-gap:5vw;
}

.service_number_text01{
	position:relative;
	margin-top:-2vw;
	width:calc(100% - 17vw);
	font-weight:500;
	color:#007f41;
	line-height:1.6;
	margin-bottom:3vw;
}

.service_number_text01.font28{
	font-size:4.8vw;
}

.service_number_text02{
	width:100%;
	margin:0 0 0 0; /* 画像幅+余白 */
	line-height:2;
	color:#666;
}

.solution_detail_set{
	position:relative;
	width:100%;
}

.solution_text01{
	position:relative;
	width:108%;
	height:28vw;
	background-image:url("../images/page/service_bg01_pc.png");
	background-position:center top;
	background-size:100% auto;
	background-repeat:no-repeat;
	margin:auto;
	z-index:1.5;
	display:block;
	align-items:center;
	justify-content:center;
	color:#ffffff;
	font-weight:500;
	letter-spacing:0.025em;
	box-sizing:border-box;
	padding-left:0.5em;
	margin-left:-4%;
}

.solution_text01.font28{
	position:relative;
	padding-top:6.5vw;
	font-size:4.5vw;
	text-align:center;
}

.solution_parts01{
	position:absolute;
	width:18vw;
	top:19vw;
	left:50%;
	margin-left:-9vw;
	z-index:1;
}

.solution_text02{
	position:relative;
	width:100%;
	margin:auto;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	box-sizing:border-box;
	padding:5vw 0;
	border-radius:16px;
	background:#ffffff;
	margin-top:5vw;
	display:flex;
	align-items:center;
	justify-content:center;
	line-height:1.6;
	text-align:center;
	font-weight:500;
	color:#198d5c;
}

.solution_text02.font30{
	font-size:5.8vw;
}

.solution_detail_set:not(:last-child){
	margin-bottom:12vw;
}



.tech_set_text01{
	color:#007f41;
	font-weight:500;
	margin-bottom:1vw;
}



.tech_set_text02{
	font-weight:500;

	display:flex;
	align-items:center;
	gap:0;
	margin-left:1.8em;
	line-height:1.6;
}

.tech_set_text02:not(:last-child){
	margin-bottom:7vw;
}





/* 経営の想い */
.philosophy_text01{
	position:relative;
	margin:0 auto 12vw;
	display:block;
	width:112%;
	margin-left:-6%;
}

.philosophy_photo01{
	position:relative;
	margin:0 auto 7vw;
	display:block;
	width:100%;
	height:auto;
}

.philosophy_caption{
	position:relative;
	margin:0 auto 7vw;
	display:block;	
	width:112%;
	margin-left:-6%;
}

.philosophy_caption_set:not(:first-of-type){
	margin-top:12vw;
	display:block;
}

.philosophy_text02{
	line-height:2;
	color:#666666;
	text-align:left;
	letter-spacing:0;
}

.philosophy_text03{
	color:#000000;
	font-weight:500;
}


.philosophy_text04_set{
	position:relative;
	margin-top:12vw;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:5vw;
}

.philosophy_text04.font16{
	font-size:3.8vw;
}

.philosophy_sign{
	width:30vw;
	height:auto;
}

.philosophy_sign02{
	width:112%;
	height:auto;
}


.philosophy_text05_set{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:7vw;
}


.philosophy_text05{
	color:#007f41;
	font-weight:500;
	line-height:1;
}


.page_contents_philosophy_set{
	position:relative;
	width:100%;
	margin:12vw auto 0;
	padding-top:12vw;
	padding-bottom:12vw;
	background:#fffff2;
}


.philosophy_circle01,
.philosophy_circle02,
.philosophy_circle03{
	position:absolute;
	border-radius:50%;
	z-index:0;

	animation:floatCircle 12s ease-in-out infinite;
}

/* circle01 */
.philosophy_circle01{
	width:420px;
	height:420px;

	top:240px;
	left:50%;
	margin-left:340px;
	background:rgba(232,201,46,0.4);
}

/* circle02 */
.philosophy_circle02{
	width:160px;
	height:160px;

	top:1200px;
	left:50%;
	margin-left:-620px;

	animation-duration:15s;
	animation-delay:2s;
	background:rgba(232,201,46,0.3);
}

/* circle03 */
.philosophy_circle03{
	width:90px;
	height:90px;

	bottom:30px;
	left:50%;
	margin-left:320px;

	animation-duration:10s;
	animation-delay:1s;
	background:rgba(232,201,46,0.2);
}





/* 実績 */
.products_text01{
	position:relative;
	margin:0 auto 7vw;
	width:112%;
	margin-left:-6%;
}

.products_circle_set{
	position:relative;
	width:112%;
	height:144vw;
	margin-left:0;
	margin-bottom:12vw;
	padding-top:-2vw;
	
	background-image:url("../images/page/products_bg01_sp.png");
	background-position:center top;
	background-size:100% auto;
	background-repeat:no-repeat;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:5vw;
	margin-left:-6%;
	flex-direction:column;
	}

.products_circle{
	position: relative;
	
	width:67vw;
	height:67vw;
	

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	border-radius:50%;
	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;
	color:#ffffff;
	text-decoration:none;

	gap:2vw;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	
	text-align:center;
	
}

.products_circle_text01{
	line-height:1;
	font-weight:500;
	margin-top:0;
	margin-bottom:2vw;
}

.products_circle_text02{
	line-height:1.6;
	font-weight:500;
	margin-bottom:2vw;
}

.products_circle_text02.font24{
	font-size:3.8vw;
}



.products_text02{
	line-height:1;
	font-weight:500;
	margin-bottom:7vw;
}

.products_text02.font22{
	font-size:4.2vw;
	line-height:2;
}

.products_circle .btn02{
	position:relative;
	width:47vw;
	height:10.5vw;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;


	color:#ffffff;
	
	border-radius:8px;
	border:solid 1px rgba(255,255,255,0.2);
	
	transition:
	background 0.2s,
	box-shadow 0.2s,
	filter 0.2s;
}

/* 白丸 */
.products_circle .btn02::after{
	content:"";
	position:absolute;
	right:4vw;
	top:50%;
	transform:translateY(-50%);

	width:5vw;
	height:5vw;
	border-radius:50%;
	background:#fff;
}

/* 三角 */
.products_circle .btn02::before{
	content:"";
	position:absolute;
	right:5.75vw;
	top:50%;

	transform:translateY(-50%) scale(1);

	width:0;
	height:0;

	border-top:3.5px solid transparent;
	border-bottom:3.5px solid transparent;
	border-left:6px solid #046f59;

	z-index:1;

	transition:transform 0.2s ease;
}





/* 実績詳細 */

.products_detail01_text{
	position:relative;
	line-height:1.6;
	font-weight:500;
	margin-bottom:2vw;
	margin-top:10vw;
	display:block;
}


.products_detail01_text.font28{
	font-size:4.5vw;
	text-align:center;
	letter-spacing:0;
}

.products_detail02_text{
	line-height:2;
	color:#666666;
	text-align:center;
}

.products_detail02_text.font18{
	font-size:3.8vw;
	letter-spacing:0;
}

.products_detail_set{
	position:relative;
	width:112%;
	height:auto;
	min-height:62vw;
	margin-left:-6%;
	margin-bottom:2vw;
	
	background-image:url("../images/page/products_detail_bg01_sp.png");
	background-position:center top;
	background-size:100% auto;
	background-repeat:no-repeat;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	flex-direction:column;
}

.products_detail03_text{
	line-height:2;
	text-align:center;
	margin-bottom:12vw;
	letter-spacing:0;
}

.products_detail03_text.font18{
	font-size:3.5vw;
}





.products_detail_circle_set{
	position:relative;
	width:103%;
	margin-left:-1.5%;
}

.products_detail_circle{
	position: relative;
	
	width:45vw;
	height:45vw;
	

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	border-radius:50%;
	background:
	linear-gradient(
		135deg,
		rgba(0,127,65,0.4) 0%,
		rgba(9,86,125,0.6) 100%
	),
	#007f41;
	color:#ffffff;
	text-decoration:none;

	gap:0;
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);
	
	text-align:center;
	
}

.products_detail_circle_text01{
	line-height:1.6;
	font-weight:500;
	margin-top:0;
	margin-bottom:0;
}

.products_detail_circle_text01.font22{
	font-size:4.2vw;
	letter-spacing:0;
}

.products_detail_circle_text02{
	line-height:1.8;
	letter-spacing:0;
}

.products_detail_circle_row01{
	display:flex;
	justify-content:center;
	margin-bottom:-3vw;
}

.products_detail_circle_row02{
	display:flex;
	justify-content:space-between;
}


/* 左斜線 */
.products_detail_line01{
	position:absolute;
	top:22vw;
	left:50%;
	margin-left:0;
	
	width:48vw;
	height:1px;
	
	background:#2e8b57;
	transform:rotate(60deg);
	transform-origin:left center;
	
	opacity:0.2;
}

/* 右斜線 */
.products_detail_line02{
	position:absolute;
	top:22vw;
	left:50%;
	
	width:48vw;
	height:1px;
	
	background:#2e8b57;
	transform:rotate(-60deg);
	transform-origin:right center;
	opacity:0.2;
	margin-left:-48vw;
}

/* 横線 */
.products_detail_line03{
	position:absolute;
	left:50%;
	bottom:22vw;
	
	width:48vw;
	height:1px;
	
	background:#2e8b57;
	transform-origin:centert center;
	opacity:0.2;
	margin-left:-24vw;
}


.products_detail_box_set:not(:last-child){
	margin-bottom:7vw;
}

.products_detail_box_set_recruit{
	margin-top:7vw;
}




.products_detail_box_list{
	position:relative;
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	flex-direction:column;
	gap:5vw;
}

.products_detail_box_list li{
	position:relative;
	width:100%;
	background:#ffffff;
	padding:25px;
	box-sizing:border-box;
	
	box-shadow: 0 0 8px 0 rgba(64,128,128,0.4);

	border-radius:8px;
	display:flex;
	flex-direction:column;
	align-items:center;
}


.products_detail_box_list_caption{
	font-weight:500;
	margin-bottom:4vw;
	line-height:1.6;
	text-align:center;
	color:#007f41;
}

.products_detail_box_list_caption.font22{
	font-size:5.8vw;
}

.products_detail_box_list_text{
	color:#666666;
	margin-top:5vw;
	line-height:1.6;
}

.products_detail_box_list_img{
	flex-shrink:0;
	align-self:center;
	width:63vw;
	height:auto;
}

.products_detail02_text01{
	position:relative;
	margin:0 auto 3vw;
	width:112%;
	height:auto;
	margin-left:-6%;
}

.products_detail02_text02{
	font-weight:500;
	text-align:center;
	margin-bottom:7vw;
}

.products_detail02_text02.font28{
	font-size:4.2vw;
}

.products_detail02_text03{
	text-align:center;
	margin-bottom:12vw;
	line-height:2;
}

.products_detail02_text03.font18{
	font-size:3.8vw;
}







/* グラフ */
.recruit_table_caption{
	position:relative;
	margin-top:5vw;
}

.recruit_table{
	width:90%;
	display:block;
	margin:3vw auto 3vw;
	background:none;
	box-shadow:none;
}

.recruit_table_label{
	width:100%;
	height:10vw;
	display:flex;
	text-align:center;
	color:#000000;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	text-align:left;
}

.recruit_table_label:nth-child(1){
	background:none;
}

.recruit_table_label:nth-child(2){
	background:none;
}

.recruit_table_label:nth-child(3){
	background:none;
}

.recruit_table_label:nth-child(4){
	background:none;
}

.recruit_table_label:nth-child(5){
	background:none;
}

.recruit_table_text01{
	width:30vw;
	flex-shrink:0;
}

.recruit_table02 .recruit_table_text01{
	width:38vw;
	flex-shrink:0;
}

.recruit_table_bar{
	display:block;
	width:calc(var(--w) * 1.5%);
	height:5vw;
	border-radius:2px;
}

.recruit_table_label:nth-child(1) .recruit_table_bar{
	background:#56a396;
}

.recruit_table_label:nth-child(2) .recruit_table_bar{
	background:#25a18f;
}

.recruit_table_label:nth-child(3) .recruit_table_bar{
	background:#0b9a84;
}

.recruit_table_label:nth-child(4) .recruit_table_bar{
	background:#2d8476;
}

.recruit_table_label:nth-child(5) .recruit_table_bar{
	background:#1e7b6d;
}

.recruit_attention{
	text-align:right;
	color:#666666;
}













/* SP/PC用 */
.rps_del{
	display:none;
}
.rps_visible{
	display:block;
}




}