@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root{
    --black: #222;
    --green: #0aa546;
    --green02: #80b616;
	--yellow: #fcffa3;
	--blue: #3198c5;
	--orange: #e99200;
}


*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	
}

*::before,
*::after{
	
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
	letter-spacing: 0.02em;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{
	/* letter-spacing: 0.02em; */
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #222;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

section{
	position: relative;
}

table{
	border-collapse: collapse;
	width: 100%;
}

body{
	color: #222;
	font-size: 16px;
	/* letter-spacing: -0.03em; */
	
	font-family: "Zen Kaku Gothic New", sans-serif;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	font-feature-settings: "palt" 1;
}

img{
	display: block;
	object-position: center;
	width: 100%;
}

#body_wrap{
	overflow: hidden;
}


a{
	color: #222;
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
	a[href^="tel:"] {
		pointer-events: none;
	}
}

main{
	padding-top: 140px;
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.common_hover_opa{
	transition: 0.4s;
	transition-property: opacity;
}


@media (any-hover:hover){
.common_hover_opa:hover{
	opacity: 0.7;
}

}


/*
------------------------------------
共通パーツ
------------------------------------
*/

.hide{
	display: none!important;
}

.container{
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
}

.container_800{
	max-width: 800px;
	margin:0 auto;
}

/*黄色マーカー*/
.marker_yellow{
	background: linear-gradient(to top, var(--yellow) -20%, var(--yellow) 30%, transparent 60%, transparent 100%);
}

/*グレー背景*/
.common_gray_bg{
	width:100%;
	height:100%;
	background-color: #e9e9e9;
	position: absolute;
	top:0;
	left:0;
	z-index: -8;
}

.common_shape_bg{
	content:'';
	width:1920px;
	height:100%;
	background-color: #dedede;
	position: absolute;
	top:0;
	z-index: -7;
}

.common_shape_bg.left{
	clip-path: polygon(0 0, 100% 0, calc(100% - 300px) 100%, 0 100%);
}
.common_shape_bg.right{
	clip-path: polygon(300px 0, 100% 0, 100% 100%, 0 100%);
}

/*セクションのタイトルセット*/
.common_sec_title_set{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--green);

	line-height: 1.3;
	font-weight: bold;
}

.common_sec_title_set .ja_title{
	font-size: 34px;
	line-height: 1.3;
}

.common_sec_title_set .en_title{
	font-family: 'Lato', sans-serif;
	font-size: 70px;
	margin-top: 20px;
	line-height: 1.3;
}


/*上下ボーダーのセクションタイトル*/
.common_top_bottom_border_title{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 95px;
	gap:24px 0;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	color: var(--green);
	border-top:4px solid var(--green);
	border-bottom:4px solid var(--green);
}


/*緑色のボタン*/

.common_green_button{
	width: 290px;
	height: 72px;
	border-radius: 4px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #fff;
	position: relative;
	transition-duration: 0.4s;
	transition-property: background-color;
}

@media(any-hover:hover){
	.common_green_button:hover{
		background-color: #078638;
	}
}


.common_green_button .radi{
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
	display: flex;
	justify-content: center;
	align-items: center;
	
}

.common_green_button .radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}


/*両サイドボーダーのタイトル*/
.common_side_border_title{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:0 20px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.08;

}

.common_side_border_title::before,
.common_side_border_title::after{
	content:'';
	width: 37px;
	height: 2px;
	background-color: var(--green);
}

/*下線ボーダーのタイトル*/
.common_bottom_border_title{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: fit-content;
	margin:0 auto;
}

.common_bottom_border_title::after{
	content:"";
	width: 100%;
	min-width: 140px;
	height: 3px;
	background-color: #0ba546;
	margin-top: 16px;
}

.common_bottom_border_title02{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

.common_bottom_border_title02::after{
	content:'';
	width: 80px;
	height: 2px;
	margin-top: 24px;
	background-color: var(--green);
}

.common_bottom_full_border_title{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	border-bottom:2px solid var(--green);
	padding-bottom: 16px;
}


/*左側棒付き見出し*/
.common_left_border_head{
	margin-top: 32px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	display: flex;
	align-items: flex-start;
}

.common_left_border_head::before{
	content:'';
	flex-shrink: 0;
	width: 16px;
	height: 2px;
	margin-right: 12px;
	margin-top: 14px;
	background-color: var(--green);
}


/*左側丸付き見出し*/
.common_radi_head{
	display: flex;
	align-items: flex-start;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.17;
}

.common_radi_head::before{
	content:'';
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: solid 5px var(--green);
	background-color: #fcffa3;
	margin-top: 6px;
	margin-right: 14px;
}


/*olリスト*/
.common_ol li{
	padding-left: 40px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.8;
}

.common_ol li + li{
	margin-top: 15px;
}

.common_ol li::before {
	content: counter(cnt)"";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height:30px;
	border-radius: 50%;
	background-color:var(--green);
	font-size: 20px;
	font-weight: bold;
	line-height:1;
	color: var(--yellow);
	position: absolute;
	left:0;
	top:2px;
	padding-bottom: 2px;
}

/*
------------------------------------
ヘッダー
------------------------------------
*/

.header{
	position: absolute;
	width:100%;
	top:0;
	left:0;
	z-index: 25;
	background-color: #fff;
}

.header.fix_header{
	position: fixed;
	transition-duration: 0.4s;
	transform: translateY(-100%);
}
.header.fix_header.show{
	transform: translateY(0);
}

.header.drawer_opened{
	transform: translateY(0);
}

.header.mega_hover{
	/* background-color: #fff; */
}

.header .header_frame{
	/* padding-top:20px; */
	padding-inline: min(24px , calc(24 / 1700 * 100vw));
	position: relative;
	z-index: 30;
}

.header .header_frame .header_bg_frame{
	overflow: hidden;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.header .header_frame .header_bg_frame::after{
	content:'';
	width:100vw;
	height:100%;
	background-color: #e9e9e9;
	position: absolute;
	top:0;
	right:calc(50% + 800px);
	opacity: 0;
}

.header .header_frame .header_bg{
	position: absolute;
	top:0;
	right:calc(50% + 150px);
	width:782px;
	height:1022px;
	opacity: 0;
}

.header .header_frame .header_bg img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: right;
}


.header .header_inner{
	max-width: 1740px;
	margin: 0 auto;
}

.header .header_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 140px;
}

.header .header_left{
	position: relative;
	z-index: 35;
}

.header .header_logo{
	display: block;
	/* width:552px; */
	width:min(552px , calc(552 / 1700 * 100vw));
}

.header .header_line{

}

.header .header_line01{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	z-index: 35;
}

.header .sns_list{
	display: flex;
	align-items: center;
	gap:0 16px;
	margin-right: 40px;
}

.header .sns_list a{
	display: block;
}

.header .sns_list .facebook{
	width:30px;
}
.header .sns_list .insta{
	width:29px;
}
.header .sns_list .x{
	width:24px;
}
.header .sns_list .youtube{
	width:32px;
}

.header .header_search{
	margin-right: 20px;
	
}

.header .header_search form{
	display: flex;
}

.header .header_search_keyword{
	width:204px;
	height:36px;
	border-radius: 3px 0 0 3px;
	background-color: #e9e9e9;
	padding:0 12px;
	font-size: 12px;
	letter-spacing: 0.04em;
	border:none;
}

.header .header_search_keyword::placeholder{
	color: #838383;
}

.header .header_search_button{
	width: 36px;
	height:36px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border-radius: 0 3px 3px 0;
	background-color: var(--green);
}

.header .header_search_button::after{
	content:'';
	width: 14px;
	height: 14px;
	background-image: url('../img/common/icon_search_white.png');
}

.header .recruit_button{
	width: 214px;
	height: 50px;
	border-radius: 50px;
	background-color: var(--green);
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	color: #fff;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header .recruit_button .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	right:15px;
	top:0;
	bottom:0;
	margin:auto;
}

.header .recruit_button .radi::after{
	
	content:'';
	width:9px;
	height:8px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.header .header_line02{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 14px;
}

.header .header_parent_menu{
	display: flex;
	align-items: center;
	/* gap:0 40px; */
	gap:0 min(40px , calc(40 / 1700 * 100vw));
}

.header .header_parent_item{

}

.header .header_parent_item_inner{
	position: relative;
}

.header .header_parent_item_inner::before{
	content:'';
	width:100%;
	height:calc(100% + 20px);
	position: absolute;
	top:0;
	left:0;
	z-index: 30;
}

.header .header_parent_link{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 40;
	transition-duration: 0.4s;
	transition-property: color;
	line-height: 1;
	font-weight: 500;
	font-size: min(16px , calc(16 / 1700 * 100vw));
}

.header .header_parent_link::after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 7px 6.5px 0 6.5px;
	border-color: var(--green) transparent transparent transparent;
	margin-left: 7px;
}

@media(any-hover:hover){
	.header .header_parent_item:hover .header_parent_link{
		color:var(--green);
	}
}

.header .shop_link{
	margin-left: min(20px , calc(20 / 1700 * 100vw));
	width: min(214px , calc(214 / 1700 * 100vw));;
	height: min(36px , calc(36 / 1700 * 100vw));
	padding: 0 8px;
	border-radius: 36px;
	border: solid 2px var(--green);
	background-color: #fff;
	font-weight: bold;
	color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: -0.04em;
	font-size: min(16px , calc(16 / 1700 * 100vw));
	position: relative;
	z-index: 35;
}

.header .shop_link::after{
	content:'';
	width: min(19px , calc(19 / 1700 * 100vw));
	height: min(17px , calc(17 / 1700 * 100vw));
	background-image: url('../img/common/icon_shop_green.png');
	margin-left: 8px;
	flex-shrink: 0;
}


/*メガメニュー*/

.header .header_mega{
	position: absolute;
	width:100%;
	top:calc(100% - 20px);
	left:0;
	
	transition-duration: 0.5s;
	opacity: 0;
	transition-property: opacity;
	pointer-events: none;
	z-index: 30;
}

.header .header_mega.dev{
	opacity: 1;
	pointer-events: auto;
}

.header .header_mega.show{
	opacity: 1;
	pointer-events: auto;
}



.header .header_mega_inner{
	position: relative;
	/* padding-top: 120px;
	padding-bottom: 120px; */
	padding-top: 80px;
	padding-bottom: 80px;
	padding-inline: 20px;
	background-color: #fff;
}

.header .header_mega_inner::before{
	content:'';
	width:100%;
	height:1000px;
	position: absolute;
	bottom:calc(100% - 1px);
	left:0;
	background-color: #fff;
	pointer-events: none;
}

.header .header_mega_inner::after{
	content:'';
	position: absolute;
	width:100%;
	height:100vh;
	top:calc(100% - 1px);
	left:0;
	pointer-events: none;
	background-color: rgba(0,0,0,0.8);
	
}


.header .header_mega_contents{
	margin:0 auto;
	max-width: 1200px;
}

.header .header_mega_head{
	display: flex;
	justify-content: center;
	align-items: center;
	width:fit-content;
	font-size: 28px;
	font-weight: bold;
	line-height: 1;

}


.header .header_mega_head .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: solid 2px var(--green);
	background-color: #fff;
	flex-shrink: 0;
	margin-left: 20px;
}

.header .header_mega_head .radi::after{
	content:'';
	width:9px;
	height:8px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}


/*メガメニュー 製品情報*/

.header .header_mega_product_list{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap:0 2px;
}

.header .header_mega_product_card{
	display: block;
	aspect-ratio: 1 / 1.36;
	position: relative;
	overflow: hidden;
}

.header .header_mega_product_card::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0, 0, 0, 0.62);
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
}

.header .header_mega_product_card::after{
	content:'';
	width:100%;
	height:100%;
	background-color: var(--green);
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
	opacity: 0;
	transition-duration: 0.4s;
}


.header .header_mega_product_bg{
	width:100%;
	height:100%;
	object-fit: cover;
} 

.header .header_mega_product_head{
	position: absolute;
	z-index: 5;
	bottom:12px;
	width:100%;
	padding:0 12px;
	color:#fff;
	white-space:nowrap;
}

.header .header_mega_product_head .en_title{
	opacity: 0.6;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	line-height: 1.42;
	letter-spacing: 0.06em;
}

.header .header_mega_product_head .ja_title{
	margin-top: 2px;
	font-size: 18px;
	font-weight: bold;

	line-height: 1.4;
}

.header .header_mega_product_head .ja_title span{
	border-bottom: 2px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

.header .mega_product_icon{
	position: absolute;
	z-index: 4;
} 


.header .mega_product01_icon{
	width:163px;
	top:28px;
	left:18px;
}
.header .mega_product02_icon{
	width:189px;
	top:48px;
	left:5px;
}
.header .mega_product03_icon{
	width:166px;
	top:13px;
	left:17px;
}
.header .mega_product04_icon{
	width:246px;
	top: -20px;
    left: 12px;
}
.header .mega_product05_icon{
	width:177px;
	top:15px;
	left:17px;
}
.header .mega_product06_icon{
	width:181px;
	top:11px;
	left:16px;
}


@media(any-hover:hover){
	.header .header_mega_product_card:hover::after{
		opacity: 1;
	}

	.header .header_mega_product_card:hover .header_mega_product_head .ja_title span{
		border-color: #fff;
	}

}


/*メガメニュー サポート情報*/
.header .header_mega_support_flex{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:0 78px;
}

.header .header_mega_support_head{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;

	padding-bottom: 20px;
	border-bottom:2px solid #e9e9e9;
}

.header .header_mega_support_list{
	margin-top: 36px;
}

.header .header_mega_support_list li + li{
	margin-top: 30px;
}

.header .header_mega_support_button{
	display: flex;
	align-items: center;
	width: 360px;
	height: 85px;
	position: relative;
	border-radius: 4px;
	border: solid 1px var(--green);
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.2;
	color: var(--green);
	transition-duration: 0.4s;
}

.header .header_mega_support_button::before{
	content:'';
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

.header .header_mega_support_button.green{
	background-color: var(--green);
	color:#fff;
}

.header .header_mega_support_button.download{
	padding-left: 72px;
}
.header .header_mega_support_button.download::before{
	width: 22px;
	height: 20px;
	left:28px;
	background-image: url('../img/common/icon_download_white.png');
}

.header .header_mega_support_button.support{
	padding-left: 118px;
}
.header .header_mega_support_button.support::before{
	width: 26px;
	height: 30px;
	left:28px;
	background-image: url('../img/common/icon_support_green.png');
}

.header .header_mega_support_button.catalog{
	padding-left: 80px;
}
.header .header_mega_support_button.catalog::before{
	width: 34px;
	height: 34px;
	left:22px;
	background-image: url('../img/common/icon_catalog02_green.png');
}

.header .header_mega_support_button.personal{
	padding-left: 75px;
}
.header .header_mega_support_button.personal::before{
	width: 27px;
	height: 23px;
	left:28px;
	background-image: url('../img/common/icon_personal_white.png');
}

.header .header_mega_support_button.company{
	padding-left: 79px;
}
.header .header_mega_support_button.company::before{
	width: 23px;
	height: 32px;
	left:32px;
	background-image: url('../img/common/icon_company_green.png');
}


@media(any-hover:hover){
	.header .header_mega_support_button.green:hover{
		color: var(--green);
		background-color: #fff;
	}
	.header .header_mega_support_button:hover{
		background-color: var(--green);
		color:#fff;
	}


	.header .header_mega_support_button.download:hover::before{
		background-image: url('../img/common/icon_download_green.png');
	}

	.header .header_mega_support_button.support:hover::before{
		background-image: url('../img/common/icon_support_white.png');
	}

	.header .header_mega_support_button.catalog:hover::before{
		background-image: url('../img/common/icon_catalog02_white.png');
	}
	

	.header .header_mega_support_button.personal:hover::before{
		background-image: url('../img/common/icon_personal_green.png');
	}
	
	.header .header_mega_support_button.company:hover::before{
		background-image: url('../img/common/icon_company_white.png');
	}

}

/*メガメニュー 企業情報*/
.header .header_mega_text_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:40px 44px;
	margin-top: 72px;
}

.header .header_mega_text_list a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:0 10px 24px;
	border-bottom:2px solid #e9e9e9;
	transition-duration: 0.4s;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;

}

.header .header_mega_text_list a::after{
	content:'';
	width:9px;
	height:8px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
	flex-shrink: 0;
	margin-left: 6px;
}

@media(any-hover:hover){
	.header .header_mega_text_list a:hover{
		color:var(--green);
		border-color: var(--green);
	}
	
}

/*メガメニュー 事業紹介*/

.header .header_mega_business_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:0 20px;
}

.header .header_mega_business_card{
	display: block;
	aspect-ratio: 1 / 0.69;
	position: relative;
	overflow: hidden;
}

.header .header_mega_business_card::after{
	content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    transition-duration: 0.4s;
}

.header .header_mega_business_bg{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.header .header_mega_business_head{
	position: absolute;
	width:100%;
	padding-left: 20px;
	padding-right: 30px;
	z-index: 5;
	bottom:20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;

	text-align: left;
	color: #fff;
}

.header .header_mega_business_head p > span{
	transition-duration: 0.4s;
	border-bottom: 2px solid transparent;
	transition-property: border-color;
}


.header .header_mega_business_head .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: solid 2px #fff;
}

.header .header_mega_business_head .radi::after{
	content:'';
	width:9px;
	height:8px;
	background-image: url('../img/common/icon_arrow_min_right_white.png');
}

@media(any-hover:hover){
	.header .header_mega_business_card:hover::after{
		opacity: 0.7;
	}

	.header .header_mega_business_card:hover .header_mega_business_head p > span{
		border-color: #fff;
	}

	/* .header .header_mega_business_card:hover .header_mega_business_bg{
		opacity: 0.7;
	} */

}




/*メガメニュー その他*/

.header .header_mega_other_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:0 44px;
}

.header .header_mega_other_card{
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.header .header_mega_other_head{
	min-height: 44px;
	padding: 4px 8px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.36;

	color: #fff;
	transition-duration: 0.4s;
	transition-property: color;
}

.header .header_mega_other_thumb{
	aspect-ratio: 1 / 0.385;
}

.header .header_mega_other_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}


@media(any-hover:hover){
	.header .header_mega_other_card:hover .header_mega_other_head{
		color:var(--yellow);
	}

	.header .header_mega_other_card:hover .header_mega_other_thumb img{
		opacity: 0.7;
	}
}

/*
------------------------------------
ページ下部のサポートセクション
------------------------------------
*/

.common_support_section{
	position: relative;
	padding-top: 80px;
	padding-bottom: 96px;
}

.common_support_section .common_shape_bg{
	right:calc(50% + 560px);
}

.common_support_section .sec_head{
	font-size: 34px;
	font-weight: bold;
	line-height: 1.82;
	letter-spacing: 0.06em;
	text-align: center;
}

.common_support_section .support_flex{
	display: flex;
	justify-content: center;
	gap:0 60px;
	margin-top: 56px;
}

.common_support_section .support_block{
	width:420px;
	position: relative;
	padding:48px 30px 60px;
	border-radius: 4px;
}

.common_support_section .support_block::before{
	content:'';
	width: 120px;
	height: 6px;
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	
}

.common_support_section .support_block.white{
	background-color: #fff;
}
.common_support_section .support_block.white::before{
	background-color: var(--green);
}
.common_support_section .support_block.white .support_head{
	color: var(--green);
}

.common_support_section .support_block.green{
	background-color: var(--green);
}
.common_support_section .support_block.green::before{
	background-color: #fff;
}
.common_support_section .support_block.green .support_head{
	color: #fff;
}



.common_support_section .support_head{
	display: flex;
	flex-direction: column;
	align-items: center;

}

.common_support_section .support_head_ja{
	font-size: 26px;
	line-height: 1;
	font-weight: bold;
}

.common_support_section .support_head_en{
	font-family: 'Lato', sans-serif;
	font-size: 54px;
	line-height: 1;
	margin-top: 10px;
}

.common_support_section .support_button_list{
	margin-top: 28px;
}

.common_support_section .support_button_list li + li{
	margin-top: 30px;
}

.common_support_section .support_button{
	width: 360px;
	height: 85px;
	display: flex;
	align-items: center;
	border-radius: 4px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.2;
	position: relative;
	transition-duration: 0.4s;
}
.common_support_section .support_button::before{
	content:'';
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}


.common_support_section .support_button.download{
	padding-left: 72px;
	background-color: var(--green);
	color:#fff;
}
.common_support_section .support_button.download::before{
	width: 22px;
	height: 20px;
	left:28px;
	background-image: url('../img/common/icon_download_white.png');
}

.common_support_section .support_button.support{
	padding-left: 118px;
	background-color: var(--yellow);
	color: var(--green);
}
.common_support_section .support_button.support::before{
	width: 26px;
	height: 30px;
	left:28px;
	background-image: url('../img/common/icon_support_green.png');
}

.common_support_section .support_button.catalog{
	padding-left: 80px;
	background-color: var(--yellow);
	color: var(--green);
}
.common_support_section .support_button.catalog::before{
	width: 34px;
	height: 34px;
	left:22px;
	background-image: url('../img/common/icon_catalog02_green.png');
}

.common_support_section .support_button.personal{
	padding-left: 75px;
	background-color: var(--yellow);
	color: var(--green);
	border:1px solid var(--yellow);
}
.common_support_section .support_button.personal::before{
	width: 27px;
	height: 23px;
	left:28px;
	background-image: url('../img/common/icon_personal_green.png');
}

.common_support_section .support_button.company{
	padding-left: 79px;
	border:1px solid #fff;
	color: #fff;
}
.common_support_section .support_button.company::before{
	width: 23px;
	height: 32px;
	left:32px;
	background-image: url('../img/common/icon_company_white.png');
}



@media(any-hover:hover){
	.common_support_section .support_button.download:hover{
		background-color: var(--yellow);
		color:var(--green);
	}
	.common_support_section .support_button.download:hover::before{
		background-image: url('../img/common/icon_download_green.png');
	}

	.common_support_section .support_button.support:hover{
		background-color: var(--green);
		color:#fff;
	}
	.common_support_section .support_button.support:hover::before{
		background-image: url('../img/common/icon_support_white.png');
	}

	.common_support_section .support_button.catalog:hover{
		background-color: var(--green);
		color:#fff;
	}
	.common_support_section .support_button.catalog:hover::before{
		background-image: url('../img/common/icon_catalog02_white.png');
	}

	.common_support_section .support_button.personal:hover{
		border-color: #fff;
		background-color: var(--green);
		color: #fff;
	}
	.common_support_section .support_button.personal:hover::before{
		background-image: url('../img/common/icon_personal_white.png');
	}

	.common_support_section .support_button.company:hover{
		background-color: var(--yellow);
		color: var(--green);
		border-color: var(--yellow);
	}
	.common_support_section .support_button.company:hover::before{

		background-image: url('../img/common/icon_company_green.png');
	}
	
}


.common_support_section.support_none .support_block_support{
	display: none;
}
/*
------------------------------------
フッター
------------------------------------
*/

#pagetop{
	position: fixed;
	bottom:20px;
	right:30px;
	border-radius: 50%;
	z-index: 10;
	cursor: pointer;
	width:70px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transition-duration: 0.4s;
}

#pagetop.show{
	opacity: 1;
	pointer-events: auto;
}


footer{
	padding-top: 80px;
	padding-bottom: 24px;
}


footer .footer_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .footer_logo{
	display: block;
	width:302px;
}

footer .footer_sub_menu{
	display: flex;
	align-items: center;
	gap:0 60px;
}

footer .footer_sub_link{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

footer .sns_list{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 36px;
	gap:0 16px;
}

footer .sns_list a{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #e9e9e9;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .sns_list .facebook{
	padding-inline: 5px;
}
footer .sns_list .insta{
	padding-inline: 5px;
}
footer .sns_list .x{
	padding-inline: 8px;
}
footer .sns_list .youtube{
	padding-inline: 4px;
}

footer .footer_copy{
	margin-top: 80px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-align: center;
	opacity: 0.5;
}
/*
------------------------------------
トップページ
------------------------------------
*/

body.top_body{
	
}

body.top_body .header .header_frame .header_bg{
	opacity: 1;
}

body.top_body .header_frame .header_bg_frame::after{
	opacity: 1;
}


body.top_body.loading01,
body.top_body.loading02{
	width: 100%;
	height: 100%;
	position: fixed;
}


main.top_main{
	padding-top: 0;
}

.loading_section{
	position: fixed;
	width:100%;
	top:0;
	left:0;
	z-index: 9999;
	background-color: #fff;
	transition-duration: 1.3s;
	opacity: 0;
	pointer-events: none;
}

.loading_section.loading01,
.loading_section.loading02{
	opacity: 1;
	pointer-events: auto;
}

.loading_section .loading_inner{
	height: 100vh;
	height: calc(var(--vh2, 1vh) * 100);
	position: relative;
}

.loading_section .loading_logo_box{
	width:395px;
	aspect-ratio: 1 / 0.377;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}

.loading_section .loading_logo_frame{
	height:100%;
	width: 100%;
	transition-duration: 1s;
	overflow: hidden;
	transform: scaleX(0);
	
}

.loading_section .loading_logo_frame.show{
	width: 100%;
	transform: scaleX(1);
}

.loading_section .loading_logo{
	/* width:395px; */
	width:100%;
}


.top_section{
	position: relative;
}



.top_fv_section{
	padding-top: 140px;
	padding-bottom: 50px;
	overflow: hidden;
}

.top_fv_section::before{
	content:'';
	width:100%;
	height:140px;
	top:0;
	left:0;
	background-color: #fff;
	z-index: -1;
	position: absolute;
}

.top_fv_section::after{
	content:'';
	width:100vw;
	height:100%;
	z-index: -4;
	background-color: #e9e9e9;
	position: absolute;
	top:0;
	right:calc(50% + 800px);
}

.top_fv_section .shape_bg{
	position: absolute;
	top:0;
	z-index: -3;
	right:calc(50% + 150px);
	width:782px;
	height:1022px;
	min-height: 100%;
}

.top_fv_section .shape_bg img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: right;
}

.top_fv_section .common_shape_bg{
	right:calc(50% + 150px);
}

.top_fv_section .top_fv_inner{
	/* padding-inline: min(24px , calc(24 / 1700 * 100vw)); */
	padding-inline: min(40px , calc(40 / 1700 * 100vw));
}

.top_fv_section .top_fv_area{
	/* max-width: 1740px; */
	max-width: 1600px;
	margin:0 auto;
	position: relative;
}

.top_fv_section .top_fv_nav{
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: solid 2px #fff;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	cursor: pointer;
}

.top_fv_section .top_fv_nav::after{
	content:'';
	width:17px;
	height:17px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.top_fv_section .top_fv_prev{
	left:-29px;
}
.top_fv_section .top_fv_prev::after{
	transform: rotateZ(180deg);
}

.top_fv_section .top_fv_next{
	right:-29px;
}

.top_fv_section .swiper-container{
	overflow: hidden;
}

.top_fv_section .top_fv_card{
	display: block;
	aspect-ratio: 1 / 0.46;
}

.top_fv_section a.top_fv_card{
	transition-duration: 0.4s;
	transition-property: opacity;
}

@media(any-hover:hover){
	.top_fv_section a.top_fv_card:hover{
		opacity: 0.7;
	}
	
}

.top_fv_section .top_fv_card img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_fv_section .top_fv_nation{
	display: flex;
	align-items: center;
	margin-top: 20px;
	gap:0 9px;
}

.top_fv_section .top_fv_nation .swiper-pagination-bullet{
	width:13px;
	height:13px;
	opacity:1;
	background:#fff;
	transition-duration: 0.4s;
	border-radius: 50%;
	cursor: pointer;
}

.top_fv_section .top_fv_nation .swiper-pagination-bullet-active{
	opacity:1;
	background-color: var(--green);
}

.top_pickup_section{
	padding-top: 56px;
	padding-bottom: 100px;
}

.top_pickup_section .slide_area{
	margin-top: 56px;
	overflow: hidden;
	position: relative;
}

.top_pickup_section .top_pickup_nav{
	width: 64px;
	height: 64px;
	top:68px;
	background-color: var(--green);
	border-radius: 50%;
	position: absolute;
	z-index: 10;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_pickup_section .top_pickup_nav::after{
	content:'';
	width:12px;
	height:24px;
	background-image: url('../img/common/icon_angle_right_white.png');
	
}

.top_pickup_section .top_pickup_next{
	right:32px;
}
.top_pickup_section .top_pickup_next::after{
	background-image: url('../img/common/icon_angle_right_white.png');
}
.top_pickup_section .top_pickup_prev{
	left:32px;
}
.top_pickup_section .top_pickup_prev::after{
	transform: rotateZ(0);
	background-image: url('../img/common/icon_angle_left_white.png');
}

.top_pickup_section .top_pickup_slide{
	width:450px;
	padding:0 25px;
}

.top_pickup_section .top_pickup_card{
	display: block;
	padding-bottom: 8px;
}

.top_pickup_section .top_pickup_thumb{
	aspect-ratio: 1 / 0.5;
	
}

.top_pickup_section .top_pickup_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
	transition-property: opacity;
}

.top_pickup_section .top_pickup_info{
	margin-top: 20px;

	line-height: 1.5;
}

.top_pickup_section .top_pickup_head{
	width: fit-content;
	padding:8px 12px;
	border-radius: 100px;
	background-color: #fdffc3;
	font-weight: 500;
	color: var(--green);
}

.top_pickup_section .top_pickup_kind{
	margin-top: 6px;
	font-size: 22px;
	font-weight: bold;
}

.top_pickup_section .top_pickup_code{
	margin-top: 2px;
	font-weight: 500;
}

.top_pickup_section .top_pickup_kind span,
.top_pickup_section .top_pickup_code span{
	border-bottom:2px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

@media(any-hover:hover){
	.top_pickup_section .top_pickup_card:hover .top_pickup_kind span,
	.top_pickup_section .top_pickup_card:hover .top_pickup_code span{
		border-color:inherit;
	}

	.top_pickup_section .top_pickup_card:hover .top_pickup_thumb img{
		opacity: 0.7;
	}
}

.top_pickup_section .top_pickup_scrollbar{
	margin-top: 56px;
	height:6px;
	width: 800px;
	margin:56px auto 0;
	background-color: #e9e9e9;
	display: none;
}

.top_pickup_section .top_pickup_scrollbar .swiper-scrollbar-drag {
	background-color: var(--green);
	height:6px;	
}

.top_pickup_section .top_pickup_nation{
	margin-top: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 16px;
}


.top_pickup_section .top_pickup_nation .swiper-pagination-bullet{
	width:13px;
	height:13px;
	opacity:1;
	background-color: #dedede;
	transition-duration: 0.4s;
	border-radius: 50%;
	cursor: pointer;
	
}

.top_pickup_section .top_pickup_nation .swiper-pagination-bullet-active{
	opacity:1;
	background-color: var(--green);
}

.top_news_section{
	padding-top: 96px;
	padding-bottom: 96px;
}

.top_news_section .common_shape_bg{
	left:calc(50% + 250px);
}

.top_news_section .news_box{
	margin-top: 56px;
	padding:20px 20px 30px;
	background-color: #fff;
}

.top_news_section .news_frame{
	max-height: 390px;
	
	overflow-y: auto;
	scrollbar-color: var(--green) #e9e9e9; 
}

/* スクロールバー全体 */
.top_news_section .news_frame::-webkit-scrollbar {
	width: 6px; /* 横スクロールの場合は height を使う */
	border-radius: 10px;
}

/* スクロールバーのトラック（背景） */
.top_news_section .news_frame::-webkit-scrollbar-track {
	background-color: #e9e9e9;
}

/* スクロールバーのつまみ（ドラッグ部分） */
.top_news_section .news_frame::-webkit-scrollbar-thumb {
	background-color: var(--green);
	border-radius: 10px;
}


.top_news_section .news_list{
	padding:0 80px;
}
.top_news_section .news_card{
	display: flex;
	align-items: flex-start;
	padding:18px 0;
	position: relative;
}

.top_news_section .news_card::after{
	content:'';
	width:100%;
	height:1px;
	position: absolute;
	bottom:0;
	left:0;
	transition-duration: 0.4s;
	background-color: #e9e9e9;
}

.top_news_section .news_date{
	flex-shrink: 0;
	min-width: 90px;
	padding-right: 8px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;

	color: #aaa;
	padding-top: 2px;
}

.top_news_section .news_category{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: none;
	min-width: 112px;
	min-height: 26px;
	padding: 2px 12px 4px;
	border-radius: 40px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;

	color: #fff;
	flex-shrink: 0;
	margin-right: 16px;
}

.top_news_section .news_title{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.67;
	letter-spacing: 0.01em;
	transition-duration: 0.4s;
	transform: translateY(-2px);
}


.top_news_section .news_category.news_event{
	background-color: #2ea8d0;
}
.top_news_section .news_category.news_product{
	background-color: var(--green);
}
.top_news_section .news_category.news_info{
	background-color: #eca826;
}
.top_news_section .news_category.news_other{
	background-color: #003fb2;
}

@media(any-hover:hover){
	.top_news_section .news_card:hover::after{
		background-color: var(--green);
	}

	.top_news_section .news_card:hover .news_title{
		color: var(--green);
	}
}

.top_news_section .news_button{
	margin:40px auto 0;
}


.top_product_section{
	padding-top: 96px;
	padding-bottom: 90px;
}

.top_product_section .product_list{
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.top_product_section .product_card{
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 0.675;
}

.top_product_section .product_card::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.62);
	position: absolute;
	top:0;
	left:0;
}


.top_product_section .product_card::after{
	content:'';
	width:100%;
	height:100%;
	background-color: var(--green);
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
	opacity: 0;
	transition-duration: 0.4s;
}


.top_product_section .product_card .product_bg{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_product_section .product_deco{
	position: absolute;
	z-index: 2;
} 

.top_product_section .product_head{
	position: absolute;
	z-index: 3;
	width:100%;
	left:0;
	bottom:24px;
	padding-left:32px;
	padding-right: 32px;
	color:#fff;
	white-space: nowrap;
	
}

.top_product_section .product_head_en{
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.06em;
	opacity: 0.6;
}

.top_product_section .product_head_ja{
	position: relative;
	padding-right: 40px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.43;

}

.top_product_section .product_head_ja_text{
	border-bottom: 2px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

@media(any-hover:hover){
	.top_product_section .product_card:hover::after{
		opacity: 1;
	}
	
	.top_product_section .product_card:hover .product_head_ja_text{
		border-color: #fff;
	}
}


.top_product_section .product_radi{
	position: absolute;
	z-index: 3;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: solid 2px #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	right:0;
	bottom:0;

}

.top_product_section .product_radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_white.png');
}

.top_product_section .product01_deco{
	width:calc(329 / 400 * 100%);
	left:calc(45 / 400 * 100%);
	top:calc(24 / 270 * 100%);
}

.top_product_section .product02_deco{
	width:calc(354 / 400 * 100%);
	left:calc(16 / 400 * 100%);
	top:calc(12 / 270 * 100%);
}

.top_product_section .product03_deco{
	width:calc(295 / 400 * 100%);
	left:calc(44 / 400 * 100%);
	top:calc(25 / 270 * 100%);
}

.top_product_section .product04_deco{
	width:calc(396 / 400 * 100%);
	left:calc(36 / 400 * 100%);
	top:calc(-10 / 270 * 100%);
}

.top_product_section .product05_deco{
	width:calc(320 / 400 * 100%);
	left:calc(50 / 400 * 100%);
	top:calc(21 / 270 * 100%);
}

.top_product_section .product06_deco{
	width:calc(373 / 400 * 100%);
	left:calc(20 / 400 * 100%);
	top:calc(38 / 270 * 100%);
}

.top_product_section .remark_list{
	margin-top: 28px;

}

.top_product_section .remark_list li{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
	position: relative;
	padding-left: 18px;
}

.top_product_section .remark_list li::before{
	content:"・";
	position: absolute;
	left:0;
	top:0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.top_product_section .remark_list li + li{
	margin-top: 8px;
}

.top_product_section .access_head{
	min-height: 50px;
	margin-top: 32px;
	padding: 8px 24px;
	background-color: #efefef;
	display: flex;
	justify-content: center;
	align-items: center;
	/* gap:0 30px; */
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-align: center;
	color: var(--green);
}

.top_product_section .access_head::before,
.top_product_section .access_head::after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 11px 10.5px 0 10.5px;
	border-color: var(--green) transparent transparent transparent;
}

.top_product_section .access_head::before{
	margin-right: 30px;
}
.top_product_section .access_head::after{
	margin-left: 8px;
}

.top_product_section .link_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:0 27px;
}

.top_product_section .link_card{
	display: block;
	overflow: hidden;
	border-radius: 4px;
}

.top_product_section .link_thumb{
	aspect-ratio: 1 / 1.242;
	position: relative;
}

.top_product_section .link_thumb::after{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.5);
	position: absolute;
	top:0;
	left:0;
	transition-duration: 0.4s;
}

.top_product_section .link_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_product_section .link_en{
	font-family: 'Montserrat', sans-serif;
	position: absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 26px;
	line-height: 1.8;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
	color:rgba(255,255,255,0.6);
	transition-duration: 0.4s;
	white-space: nowrap;
	z-index: 3;
}

.top_product_section .link_bottom{
	min-height: 70px;
	padding: 2px 12px;
	background-color: var(--green);
	display: flex;
	/* justify-content: space-between; */
	align-items: center;
	transition-duration: 0.4s;
	color:#fff;
	gap:0 14px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;

	color: #fff;
	white-space: nowrap;
	position: relative;
}

.top_product_section .link_bottom::after{
	content:'';
	width:8px;
	height:9px;
	background-color: #fff;
	position: absolute;
	bottom:10px;
	right:10px;
	transition-duration: 0.4s;
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%);
}

.top_product_section .link_bottom .remark{
	font-size: 14px;
	font-weight: 500;
	line-height: 1.29;
}

@media(any-hover:hover){
	.top_product_section .link_card:hover .link_thumb::after{
		opacity: 0;
	}
	.top_product_section .link_card:hover .link_en{
		color: var(--green);
		text-shadow:
		/* 1つ目：全体にシャドウをつける */
		0 0 10px rgba(253, 255, 195, 0.9),
		/* 2つ目：下方向 */
		0 5px 10px rgba(253, 255, 195, 0.9),
		/* 3つ目：右方向 */
		5px 0 10px rgba(253, 255, 195, 0.9),
		/* 4つ目：上方向 */
		0 -5px 10px rgba(253, 255, 195, 0.9),
		/* 5つ目：左方向 */
		-5px 0 10px rgba(253, 255, 195, 0.9);
		/* text-shadow: 3px 3px 3px rgba(253, 255, 195, 0.9); */

	}
	.top_product_section .link_card:hover .link_bottom{
		color: var(--yellow);
	}
	.top_product_section .link_card:hover .link_bottom::after{
		background-color: var(--yellow);
	}
}

.top_company_section{
	padding-top: 96px;
	padding-bottom: 90px;
}

.top_company_section .common_shape_bg{
	right:calc(50% + 250px);
}

.top_company_section .company_list{
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:56px 45px;
}

.top_company_section .company_card{
	display: block;
}

.top_company_section .company_thumb{
	aspect-ratio: 1 / 0.497;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
}

.top_company_section .company_thumb::after{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0, 0, 0, 0.6);
	position: absolute;
	top:0;
	left:0;
	opacity: 0;
	transition-duration: 0.4s;
}

.top_company_section .company_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_company_section .company_title{
	margin-top: 16px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	font-size: 22px;
	line-height: 1.3;
	font-weight: bold;

}

.top_company_section .company_title span{
	display: inline;
	border-bottom: 2px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

.top_company_section .company_title::after{
	content:'';
	width:20px;
	height:12px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
	flex-shrink: 0;
	margin-left: 8px;
	margin-top: 8px;
}

@media(any-hover:hover){
	.top_company_section .company_card:hover .company_thumb::after{
		opacity: 1;
	}

	.top_company_section .company_card:hover .company_title span{
		border-color: inherit;
	}
}

.top_service_section{
	padding-top: 96px;
	padding-bottom: 96px;
	background-color: #2db561;
}

.top_service_section .common_sec_title_set{
	color:#fff;
}

.top_service_section .service_list{
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:30px 30px;
}

.top_service_section .service_card{
	display: block;
	padding:10px 10px 32px;
	background-color: #fff;
	border-radius: 3px;
	overflow: hidden;
}

.top_service_section .service_thumb{
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
}

.top_service_section .service_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.top_service_section .service_thumb::after{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.6);
	position: absolute;
	top:0;
	left:0;
	transition-duration: 0.4s;
}


.top_service_section .service_thumb .thumb_radi{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--yellow);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom:20px;
	right:20px;
	z-index: 1;
}

.top_service_section .service_thumb .thumb_radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.top_service_section .service_title_box{
	position: absolute;
	color:#fff;
	width:100%;
	top:210px;
	padding-left: 20px;
	padding-right: 64px;

	z-index: 2;
}

.top_service_section .service_title{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.1;
}

.top_service_section .service_title span{
	border-bottom: 2px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

@media(any-hover:hover){

	.top_service_section .service_card:hover .service_thumb::after{
		opacity: 0.7;
	}

	.top_service_section .service_card:hover .service_title span{
		border-color: inherit;
	}
}

.top_service_section .service_sub{
	margin-top: 12px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
}

.top_service_section .service_info{
	padding:24px 20px 0;
}

.top_service_section .service_text{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.67;
	letter-spacing: 0.01em;
	min-height: 94px;
}

.top_service_section .service_info ul{
	margin-top: 8px;
	padding:10px 12px;
	border-radius: 3px;
	background-color: #e9e9e9;
}

.top_service_section .service_info ul li{
	display: flex;
	align-items: flex-start;
	font-weight: 500;
	line-height: 1.3;

}

.top_service_section .service_info ul li + li{
	margin-top: 10px;
}

.top_service_section .service_info ul li .radi{
	position: relative;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: solid 1px #acacac;
	flex-shrink: 0;
	margin-right: 9px;
	margin-top: 3px;
}

.top_service_section .service_info ul li .radi::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_check_green.png');
	position: absolute;
	top: -1px;
    right: -2px;
}

.top_technology_section{
	padding-top: 90px;
	padding-bottom: 100px;
}

.top_technology_section .common_shape_bg{
	left:calc(50% + 160px);
}

.top_technology_section .technology_area{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	margin-top: 56px;
	padding:0 20px;
}

.top_technology_section .technology_list{
	/* max-width: 1740px; */
	max-width: 1030px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.top_technology_section .technology_item{
	/* width:19%; */
	max-width: 320px;
	height: auto;
}

.top_technology_section .technology_card{
	display: block;
	min-height: 100%;
	position: relative;
	padding:9.2% 8.5% 68px;
	/* padding:9.2% 9.2% 68px; */
	border-radius: 4px;
	background-color: #fff;
}

.top_technology_section .technology_thumb{
	aspect-ratio: 1 / 0.69;
	border-radius: 4px;
	overflow: hidden;
}

.top_technology_section .technology_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.top_technology_section .technology_info{
	margin-top: 16px;
}

.top_technology_section .technology_head{
	position: relative;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.45;

	padding-bottom: 16px;
}

.top_technology_section .technology_head::after{
	content:'';
	width: 40px;
	height: 4px;
	background-color: var(--green);
	position: absolute;
	left:0;
	bottom:0;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.top_technology_section .technology_card:hover .technology_head::after{
		width:100%;
	}

	.top_technology_section .technology_card:hover .technology_thumb img{
		opacity: 0.7;
	}
}


.top_technology_section .technology_text{
	margin-top: 12px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.78;
	letter-spacing: 0.01em;
	font-feature-settings: 'palt';
}

.top_technology_section .technology_radi{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: solid 2px var(--green);
	position: absolute;
	right:15px;
	bottom:20px;
	display: flex;
	justify-content: center;
	align-items: center;
} 

.top_technology_section .technology_radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.top_technology_section .other_area{
	margin-top: 96px;
}

.top_technology_section .other_list{
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:0 44px;
}

.top_technology_section .other_card{
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.top_technology_section .other_head{
	min-height: 44px;
	padding: 4px 8px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.36;

	color: #fff;
	transition-duration: 0.4s;
	transition-property: color;
}


.top_technology_section .other_thumb{
	aspect-ratio: 1 / 0.385;
}

.top_technology_section .other_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}


@media(any-hover:hover){
	.top_technology_section .other_card:hover .other_head{
		color:var(--yellow);
	}

	.top_technology_section .other_card:hover .other_thumb img{
		opacity: 0.7;
	}
}


.top_recruit_section{
	padding-top: 96px;
	padding-bottom: 96px;
	background-color: #2db561;
}

.top_recruit_section .common_sec_title_set{
	color:#fff;
}

.top_recruit_section .recruit_list{
	margin-top: 56px;
	display: grid;
	/* grid-template-columns: repeat(4, 1fr); */
	grid-template-columns: repeat(5, 1fr);
	gap:0 25px;
}

.top_recruit_section .recruit_card{
	display: block;
	height:130px;
	border-radius: 4px;
	border: solid 3px var(--yellow);
	background-color: var(--yellow);
	transition-duration: 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.55;

	text-align: center;
	color: var(--green);
}

.top_recruit_section .recruit_card::after{
	content:'';
	width:11px;
	height:11px;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	background-color: var(--green);
	position: absolute;
	bottom:8px;
	right:8px;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.top_recruit_section .recruit_card:hover{
		background-color: #2db561;
		color: var(--yellow);
	}
	.top_recruit_section .recruit_card:hover::after{
		background-color: var(--yellow);
	}
}

.top_info_section{
	padding-top:96px;
	padding-bottom: 96px;
}

.top_info_section .column_area{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	margin-top: 60px;
}

.top_info_section .column_inner{
	max-width:1780px;
	padding-inline: 20px;
	margin: 0 auto;
}

.top_info_section .column_list{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap:30px;
	width: fit-content;
	margin:0 auto;
}

.top_info_section .column_card{
	display: block;
}

.top_info_section .column_thumb{
	aspect-ratio: 1 / 1;
}

.top_info_section .column_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.top_info_section .column_text_area{
	padding-top: 28px;
}

.top_info_section .column_info_flex{
	display: flex;
	align-items: center;
	gap:6px;
}

.top_info_section .column_date{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #73ab88;
}

.top_info_section .column_category{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 110px;
	min-height: 26px;
	border-radius: 999px;
	background-color: var(--green);
	padding:3px 12px;
	font-weight: 500;
	line-height: 1.3;
	color: #fff;
}

.top_info_section .column_title{
	margin-top: 4px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.78;
}

.top_info_section .column_button{
	margin:60px auto 0;
}
/*
------------------------------------
下層mv
------------------------------------
*/

.page_mv_section{
	position: relative;
	min-height:250px;
	padding:32px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page_mv_section::before{
	content:'';
	width:100vw;
	height:100%;
	position: absolute;
	top:0;
	right:calc(50% + 440px);
	opacity: 0.57;
	background-color: var(--green);
	z-index: 1;
	clip-path: polygon(0 0, 100% 0, calc(100% - 80px) 100%, 0% 100%);
}
.page_mv_section::after{
	content:'';
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.5);
	position: absolute;
	top:0;
	left:0;
	z-index:0;
}
.page_mv_section .page_title_set{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 50px;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	position: relative;
	z-index: 4;
}

.page_mv_section .page_mv_bg{
	position: absolute;
	z-index: -1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit: cover;
}
/*
------------------------------------
パンクズ
------------------------------------
*/

.common_bread_section{
	padding:30px 0 0;
}

.common_bread_section .bread_list{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:15px;
	line-height: 1.2;

}

.common_bread_section .bread_list a{
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_bread_section .bread_list a:hover{
		opacity: 0.5;
	}
}

.common_bread_section .bread_list .arrow{
	width: 7px;
	height: 12px;
	background-image: url('../img/common/icon_angle_right_green.png');
	background-position: contain;
	background-repeat: no-repeat;
	margin-top: 4px;
}


/*
------------------------------------
企業情報共通
------------------------------------
*/

.common_company_link_section{
	padding-top: 100px;
}

.common_company_link_section .company_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.common_company_link_section .company_card {
    display: block;
	border-radius: 4px;
    overflow: hidden;
	position: relative;
	aspect-ratio: 1 / 0.54;
}

.common_company_link_section .company_card::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(10, 165, 70, 0.3);
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
	opacity: 0;
	transition-duration: 0.4s;
}

.common_company_link_section .company_card.active::before{
	opacity: 1;
}

.common_company_link_section .company_thumb {
    /* aspect-ratio: 1 / 0.54; */
    aspect-ratio: 1 / 0.45;
}

.common_company_link_section .company_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: top;
}

.common_company_link_section .company_title_block{
	position: absolute;
	width:100%;
	bottom:0;
	left:0;
}

.common_company_link_section .company_title{
	position: relative;
	z-index: 3;
	margin-top: -3px;
	height:50px;
	display: flex;
	align-items: center;
	padding: 2px 16px;
    background-color: var(--green);
    transition-duration: 0.4s;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;

    color: #fff;
	transition-duration: 0.4s;
}

.common_company_link_section .company_title::after{
	content: '';
    width: 12px;
    height: 12px;
    background-color: #fcffa4;
    position: absolute;
    bottom: 10px;
    right: 10px;
    transition-duration: 0.4s;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%);
}

.common_company_link_section .company_title span{
	border-bottom: 2px solid transparent;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_company_link_section .company_card:hover::before{
		opacity: 1;
	}

	.common_company_link_section .company_card:hover .company_title{
		color: #fcffa4;
	}

	.common_company_link_section .company_card:hover .company_title span{
		border-color: inherit;
	}
}


/*
------------------------------------
会社概要
------------------------------------
*/

body.companyinfo_body{
	
}

main.companyinfo_main{

}

.companyinfo_mv_section{
	background-image: url('../img/companyinfo/companyinfo_mv.jpg');
}

.companyinfo_section{

}

.companyinfo_outline_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.companyinfo_outline_section .table_frame{
	margin-top: 60px;
}

.companyinfo_outline_section .outline_table{

}

.companyinfo_outline_section .outline_table th,
.companyinfo_outline_section .outline_table td{
	border-bottom: 1px solid #ccc;
	vertical-align: top;
}

.companyinfo_outline_section .outline_table tr:first-child th,
.companyinfo_outline_section .outline_table tr:first-child td{
	border-top: 1px solid #ccc;
}

.companyinfo_outline_section .outline_table th{
	white-space: nowrap;
	background-color: #efefef;
	white-space: nowrap;
	padding:20px 32px;
	border-left: 1px solid #ccc;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
}

.companyinfo_outline_section .outline_table td{
	width:100%;
	padding:20px 32px;
	border-right: 1px solid #ccc;
	font-size: 18px;
	line-height: 1.56;
}

.companyinfo_outline_section .member_list li{
	display: flex;
	align-items: flex-start;
}


.companyinfo_outline_section .member_list li + li{
	margin-top: 3px;
}

.companyinfo_outline_section .member_list .member_head{
	flex-shrink: 0;
	padding-right: 4px;
	min-width: 150px;
}

.companyinfo_outline_section .outline_table td p + p{
	margin-top: 3px;
}

.companyinfo_outline_section .outline_table .deal_list li + li{
	margin-top: 3px;
}

.companyinfo_movie_section{
	position: relative;
	padding-top: 100px;
	padding-bottom: 100px;
}

.companyinfo_movie_section .common_shape_bg{
	left:calc(50% + 300px);
}

.companyinfo_movie_section .movie_frame{
	margin-top: 56px;
	max-width: 700px;
	aspect-ratio: 1 / 0.5625;
	margin-inline: auto;
}

.companyinfo_movie_section .movie_frame iframe{
	width:100%;
	height:100%;
	display: block;
}

.companyinfo_pdf_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.companyinfo_pdf_section .pdf_frame{
	max-width: 900px;
	margin:56px auto 0;
}

.companyinfo_pdf_section .pdf_button_frame{
	margin-top: 60px;
	display: flex;
	justify-content: center;
}

.companyinfo_pdf_section .pdf_button{
	width:600px;
	max-width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 72px;
	padding: 4px 64px;
	border-radius: 4px;
	background-color: var(--green);
	transition-duration: 0.4s;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height: 1.2;
	color: #fff;
	position: relative;
}

.companyinfo_pdf_section .pdf_button::before{
	content:'';
	width: 32px;
	height: 36px;
	background-image: url('../img/common/icon_pdf_white_green.png');
	margin-right: 12px;
	flex-shrink: 0;
}

.companyinfo_pdf_section .pdf_button .radi{
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top:0;
	bottom:0;
	right:20px;
	margin: auto;
}

.companyinfo_pdf_section .pdf_button .radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

@media(any-hover:hover){
	.companyinfo_pdf_section .pdf_button:hover{
		color: #fcffa4;
	}
}

/*
------------------------------------
沿革
------------------------------------
*/

body.history_body{
	
}

main.history_main{

}

.history_mv_section{
	background-image: url('../img/history/history_mv.jpg');
}

.history_section{

}

.history_list_section{
	padding-top: 96px;
	padding-bottom: 120px;
}

.history_list_section .history_list{
	margin-top: 80px;
}

.history_list_section .history_line{
	padding-bottom:36px;
	position: relative;
	display: flex;
	align-items: flex-start;
}

.history_list_section .history_line::after{
	content:'';
	width:3px;
	height:100%;
	background-color: var(--green);
	opacity: 0.2;
	position: absolute;
	top: 14px;
    left: 136px;
	z-index: -3;
}

.history_list_section .history_line:last-child::after{
	/* content:none; */
}

.history_list_section .history_left{
	flex-shrink: 0;
	width:120px;
	padding-right: 8px;
}

.history_list_section .history_year{
	display: flex;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;

	color: var(--green);
	gap:0 2px;
}

.history_list_section .history_year span{
	font-family: 'Lato', sans-serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
	padding-bottom: 2px;
}

.history_list_section .history_center{
	flex-shrink: 0;
	width:65px;
}

.history_list_section .history_right{
	width:100%;
	padding-top: 3px;
}

.history_list_section .history_contents{
	position: relative;
	display: flex;
	align-items: flex-start;
}

.history_list_section .history_contents::before{
	content:'';
	width: 15px;
	height: 15px;
	background-color: var(--green);
	border-radius: 50%;
	position: absolute;
	top:8px;
	left:-55px;
}

.history_list_section .history_contents + .history_contents{
	margin-top: 24px;
}

.history_list_section .history_month{
	flex-shrink: 0;
	width:70px;
	padding-right: 8px;
	display: flex;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;

	color: #808080;
	gap:0 2px;
} 

.history_list_section .history_month span{
	font-family: 'Lato', sans-serif;
	font-size: 24px;
	font-weight: bold;
	padding-top: 2px;
}

.history_list_section .history_text{
	font-size: 18px;

	line-height: 1.4;
	padding-top: 2px;
}

.history_list_section .history_text p + p{
	margin-top: 6px;
}

.history_list_section .history_line:last-child .history_contents:last-child::after{
	content: '';
    width: 10px;
    height: calc(100% + 46px);
    background-color: #fff;
    position: absolute;
    top: 14px;
    left: -52px;
    z-index: -1;
}

/*
------------------------------------
経営理念/代表あいさつ
------------------------------------
*/

body.greeting_body{
	
}

main.greeting_main{

}

.greeting_mv_section{
	background-image: url('../img/greeting/greeting_mv.jpg');
}

.greeting_section{

}

.greeting_message_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.greeting_message_section .philosophy_area{
	margin-top: 40px;
}

.greeting_message_section .philosophy_block{
	margin-top: 40px;
	padding:66px 24px 80px;
	position: relative;
	border-radius: 4px;
	background-color: var(--green);
	color: #fff;
	overflow: hidden;
}

.greeting_message_section .philosophy_head{
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;

	text-align:center;
	font-style: italic;
}

.greeting_message_section .philosophy_box{
	max-width: 960px;
	min-height: 250px;
	margin:40px auto 0;
	position: relative;
	z-index: 3;
	padding:24px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(0,0,0,0.15);
}

.greeting_message_section .philosophy_list li{
	display: flex;
	align-items: flex-start;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.3;

}

.greeting_message_section .philosophy_list li::before{
	content:'一.';
	font-size: 22px;
	font-weight: bold;
	line-height: 1.3;

	color:#fff;
	margin-right: 4px;
	flex-shrink: 0;
}

.greeting_message_section .philosophy_list li + li{
	margin-top: 14px;
}

.greeting_message_section .philosophy_andes{
	width:630px;
	position: absolute;
	right:-8px;
	bottom:-8px;
}

.greeting_message_section .message_area{
	margin-top: 100px;
}

.greeting_message_section .message_flex{
	display: flex;
	align-items: flex-start;
	margin-top: 50px;
}

.greeting_message_section .message_left{
	width:100%;
}

.greeting_message_section .message_text{
	font-size: 18px;
	line-height: 1.89;

}

.greeting_message_section .message_text p + p{
	margin-top: 24px;
}

.greeting_message_section .message_right{
	flex-shrink: 0;
	width:575px;
	margin-left: 64px;
}

.greeting_message_section .sign_flex{
	margin-top: 24px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.greeting_message_section .sign_company{
	font-size: 14px;
}

.greeting_message_section .sign_career{
	font-size: 20px;
}

.greeting_message_section .sign_company + .sign_career{
	margin-top: 2px;
}

.greeting_message_section .sign_name{
	margin-left: 32px;
	font-size: 34px;
	font-weight: bold;

}

.greeting_message_section .sign_name img{
	height:61px;
	width:auto;
}

/*
------------------------------------
拠点紹介
------------------------------------
*/

body.locations_body{
	
}

main.locations_main{

}

.locations_mv_section{
	background-image: url('../img/locations/locations_mv.jpg');
}

.locations_list_section{
	padding-top: 100px;
	padding-bottom: 120px;
}

.locations_list_section .anchor_list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 56px;
}

.locations_list_section .anchor_item{
	width:20%;
	max-width: 200px;
	border-right:1px solid #ccc;
}

.locations_list_section .anchor_item:first-child{
	border-left:1px solid #ccc;
}

.locations_list_section .anchor_link{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding:6px 8px 14px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing:0.04em;
	list-style: 1.2;
}

.locations_list_section .anchor_link .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 8px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: var(--green);
}

.locations_list_section .anchor_link .radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_white.png');
	transform: rotateZ(90deg);
}

.locations_list_section .area{
	margin-top: 80px;
}

.locations_list_section .office_list{
	margin-top: 24px;
}

.locations_list_section .office_block{
	border-radius: 4px;
	overflow: hidden;
}

.locations_list_section .office_block + .office_block{
	margin-top: 50px;
}

.locations_list_section .office_head{
	min-height: 70px;
	padding: 8px 16px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 30px;
	font-weight: bold;
	color: #fff;
}

.locations_list_section .office_contents{
	padding:50px;
	background-color: #f3f3f3;
	min-height: 407px;
	position: relative;
}

.locations_list_section .office_text_area{
	max-width: 590px;
}

.locations_list_section .office_name{
	font-size: 22px;
	font-weight: bold;
	padding-bottom: 12px;
	border-bottom: 2px solid #ddd;
}

.locations_list_section .office_img{
	position: absolute;
	top:50px;
	right:50px;
	width:460px;
	aspect-ratio: 1/0.67;
	border-radius: 4px;
	overflow: hidden;
}

.locations_list_section .office_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.locations_list_section .office_address{
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.67;
}

.locations_list_section .office_map{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 290px;
	min-height: 60px;
	margin-top:20px;
	padding: 6px 12px;
	border-radius: 120px;
	border: solid 2px var(--green);
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: var(--green);
}

.locations_list_section .office_map::before{
	content:'';
	width: 16px;
	height: 24px;
	background-image: url('../img/common/icon_map_green.png');
	flex-shrink: 0;
	margin-right: 7px;
}

.locations_list_section .office_tel{
	margin-top: 20px;
	font-size: 18px;
	line-height: 1.67;
}

/*
------------------------------------
社会環境活動
------------------------------------
*/

body.eco_body{
	
}

main.eco_main{

}

.eco_mv_section{
	background-image: url('../img/eco/eco_mv.jpg');
}

.eco_environment_section{
	position: relative;
	padding-top: 100px;
	padding-bottom: 100px;
	margin-top: 100px;
}

.eco_environment_section .common_shape_bg{
	left:calc(50% + 280px);
}

.eco_environment_section .environment_flex{
	margin-top: 50px;
	display: flex;
	align-items: flex-start;
}

.eco_environment_section .environment_img{
	width:600px;
	flex-shrink: 0;
	margin-right: 50px;
	border-radius: 4px;
	overflow: hidden;
}

.eco_environment_section .environment_text{
	padding-top: 12px;
	width:100%;
	font-size: 18px;
	line-height: 1.89;
}

.eco_active_section{
	padding-top: 100px;
	padding-bottom: 120px;
}

.eco_active_section .active_list{
	margin-top: 72px;
}

.eco_active_section .active_block{
	min-height: 407px;
	padding: 50px 0;
	border-radius: 4px;
	background-color: #f3f3f3;
	position: relative;
	display: flex;
	align-items: center;
}

.eco_active_section .active_block::before{
	content:'';
	width: 10px;
	height: 190px;
	background-color: var(--green);
	position: absolute;
	top:0;
}

.eco_active_section .active_block + .active_block{
	margin-top: 40px;
}

.eco_active_section .active_contents{
	width: 564px;
	max-width: 100%;
}

.eco_active_section .active_name{
	font-size: 38px;
	font-weight: bold;
	line-height: 1.2;
}

.eco_active_section .active_img{
	position: absolute;
	width:460px;
	aspect-ratio: 1 / 0.67;
	border-radius: 4px;
	overflow: hidden;
	top: 50%;
	transform: translateY(-50%);
}

.eco_active_section .active_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.eco_active_section .active_img .gray{
	width:100%;
	height:100%;
	background-color: #dedede;
}
.eco_active_section .active_text{
	font-size: 18px;
	line-height: 1.89;
	margin-top: 24px;
}

.eco_active_section .active_button{
	width: 290px;
	min-height: 72px;
	margin-top:32px;
	border-radius: 4px;
	padding:4px 50px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: #fff;
	transition-duration: 0.4s;
	position: relative;
}

.eco_active_section .active_button .radi{	
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
}

.eco_active_section .active_button .radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

@media(any-hover:hover){
	.eco_active_section .active_button:hover{
		color:#fcffa4;
	}
}

.eco_active_section .active_block:nth-child(odd){
	padding-left: 50px;
}
.eco_active_section .active_block:nth-child(odd)::before{
	left:0;
}
.eco_active_section .active_block:nth-child(odd) .active_img{
	right:50px;
}

.eco_active_section .active_block:nth-child(even){
	padding-right: 50px;
	justify-content: flex-end;
}
.eco_active_section .active_block:nth-child(even)::before{
	right:0;
}
.eco_active_section .active_block:nth-child(even) .active_img{
	left:50px;
}


/*
------------------------------------
社会環境活動 子ページ共通
------------------------------------
*/

.common_eco_wrap{
	padding-top: 100px;
	padding-bottom: 150px;
}

.common_eco_wrap .common_eco_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.common_eco_wrap .eco_article{
	width:800px;
	max-width: 100%;
}

.common_eco_sidebar_area{
	width:300px;
}

.common_eco_sidebar{
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fff;
	overflow: hidden;
}

.common_eco_sidebar .eco_parent_link{
	min-height:64px;
	display: flex;
	align-items: center;
	padding:12px 20px;
	gap:20px;
	font-size: 22px;	
	font-weight: bold;
	line-height: 1.36;
	color: #fff;
	background-color: var(--green);
}

.common_eco_sidebar .eco_parent_link .radi{
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.common_eco_sidebar .eco_parent_link .radi::after{
	content:'';
	width:12px;
	height:11px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.common_eco_sidebar ul li{
	padding-inline:20px;
}

.common_eco_sidebar ul li a{
	display: flex;
	align-items: flex-start;
	padding:16px 8px;
	border-bottom:1px solid #ddd;
	font-size: 18px;
	gap:12px;
}

.common_eco_sidebar ul li.active{
	background-color: #e0f4e9;
	
}

.common_eco_sidebar ul li.active a{
	pointer-events: none;
	border-bottom: none;
	font-weight: bold;
}

.common_eco_sidebar ul li a::before{
	content:'';
	width:12px;
	height:11px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
	flex-shrink: 0;
	margin-top: 10px;
}

.common_eco_sidebar ul li:last-child a{
	border-bottom: none;
}


.common_eco_green_head{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.17;
	color: var(--green);
}

.common_eco_text{
	font-size: 20px;
	line-height: 2;
}

.common_eco_text p + p{
	margin-top: 20px;
}

.common_eco_guide_box{
	margin-top: 30px;
	padding: 36px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfce0;
}

.common_eco_guide_box ul{

}

.common_eco_guide_box ul li{
	position: relative;
	padding-left: 44px;
	font-size: 20px;	
	line-height: 1.8;
}

.common_eco_guide_box ul li::before{
	content:'一、';
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: var(--green);
	position: absolute;
	left:0;
	top:3px;
}

.common_eco_guide_box ul li + li{
	margin-top: 24px;
}

.common_eco_sign_block{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	margin-top: 30px;
}

.common_eco_sign_block .sign_job{
	font-size: 20px;
	line-height: 2;
}

.common_eco_sign_block .sign_name{
	margin-top: 8px;
	font-size: 50px;
}

.common_eco_sign_block .sign_name img{
	height:58px;
	width: auto;
}
/*
------------------------------------
CSRの取り組み
------------------------------------
*/
body.csr_body{
	
}

main.csr_main{

}

.csr_mv_section{
	background-image: url('../img/csr/csr_mv.jpg');
}

.csr_philo_section{

}

.csr_philo_section .area{
	margin-top: 40px;
}

.csr_philo_section .area + .area{
	margin-top: 64px;
}

.csr_philo_section .common_eco_text{
	margin-top: 16px;
}

.csr_org_section{
	padding-top: 100px;
}

.csr_org_section .csr_org_frame{
	margin-top: 40px;
}

/*
------------------------------------
環境方針・品質方針
------------------------------------
*/
body.eco_policy_body{
	
}

main.eco_policy_main{

}

.eco_policy_mv_section{
	background-image: url('../img/eco_policy/eco_policy_mv.jpg');
}

.policy_mv_section{
	background-image: url('../img/eco_policy/eco_policy_mv.jpg');
}

.eco_policy_section .common_eco_text{
	margin-top: 20px;
}

.eco_policy_env_section{

}

.eco_policy_env_section .area{
	margin-top: 70px;
}

.eco_policy_quality_section{
	padding-top: 100px;
}

.eco_policy_quality_section .list_box{
	margin-top: 32px;
	border-radius: 4px;
	background-color: #fcfde0;
	padding:32px 40px;
}

.eco_policy_quality_section .list_box li{
	position: relative;
	padding-left: 26px;
	font-size: 20px;
	line-height: 1.6;
}

.eco_policy_quality_section .list_box li::before{
	content:'';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:11px;
}

.eco_policy_quality_section .list_box li + li{
	margin-top: 12px;
}

.eco_policy_quality_section .list_box + .common_eco_text{
	margin-top: 28px;
}

.eco_policy_iso_section{
	padding-top: 100px;
}

.eco_policy_iso_section .area{
	margin-top: 32px;
}

.eco_policy_iso_section .area + .area{
	margin-top: 72px;
}

.eco_policy_iso_section ol{
	margin-top: 32px;
	font-size: 20px;
	line-height: 1.8;
}

.eco_policy_iso_section ol li + li{
	margin-top: 32px;
}

.eco_policy_iso_section ul{
	padding-left: 16px;
	margin-top: 24px;
}

.eco_policy_iso_section ul li{
	position: relative;
	padding-left: 20px;
	font-size: 20px;
	line-height: 1.8;
}

.eco_policy_iso_section ul li::before{
	content:'・';
	font-size: 20px;
	line-height: 1.8;
	position: absolute;
	left:0;
	top:0;
}

.eco_policy_iso_section ol ul{
	margin-top: 0;
}

.eco_policy_iso_section .common_eco_text ul{
	margin-top: 0;
}	


/*
------------------------------------
クリーンウォーク
------------------------------------
*/
body.eco_env_body{
	
}

main.eco_env_main{

}

.eco_env_mv_section{
	background-image: url('../img/eco_env/eco_env_mv.jpg');
}

.env_communication_mv_section{
	background-image: url('../img/eco_env/eco_env_mv.jpg');
}


.eco_env_mv_section{

}


.eco_env_section{

}

.eco_env_section .history_list{
	margin-top: 40px;
}

.eco_env_section .history_block + .history_block{
	margin-top: 20px;
}

.eco_env_section .history_head{
	position: relative;
	display: flex;
	align-items: center;
	padding:12px 64px 12px 32px;
	min-height: 60px;
	cursor: pointer;
	border-radius: 4px;
	background-color: var(--green);
	font-size: 24px;
	font-weight: bold;
	color: #fff;
}

.eco_env_section .history_head::after{
	content:'';
	width: 22px;
	height: 22px;
	position: absolute;
	right:30px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
	background-image: url('../img/common/icon_radi_arrow_right_white_green.png');
	transform: rotateZ(90deg);
}

.eco_env_section .history_head.active::after{
	transform: rotateZ(-90deg);
}

.eco_env_section .history_contents{
	padding-top: 32px;
	padding-bottom: 60px;
	font-size: 20px;
	line-height: 2;
	display: none;
}

.eco_env_section .history_contents>*:first-child{
	margin-top: 0!important;
}
.eco_env_section .history_contents>*:last-child{
	margin-bottom: 0!important;
}

.eco_env_section .history_text{
	margin:30px 0;
}

.eco_env_section .history_img{
	max-width: 600px;
	margin:30px auto;
}

.eco_env_section .column_block{
	margin:48px 0;
	display: flex;
	align-items: flex-start;
}

.eco_env_section .column_img{
	width:360px;
	flex-shrink: 0;
}

.eco_env_section .column_text{
	width: 100%;
	order: 1;
}

.eco_env_section .column_text p + p{
	margin-top: 8px;
}
.eco_env_section .column_img.float_left{
	margin-right: 40px;
	order: 0;
}

.eco_env_section .column_img.float_right{
	margin-left: 40px;
	order: 2;
}

/*
------------------------------------
安全衛生の推進
------------------------------------
*/
body.safety_body{
	
}

main.safety_main{

}

.safety_mv_section{
	background-image: url('../img/safety/safety_mv.jpg');
}

.safety_section .common_eco_text{
	margin-top: 30px;
}

.safety_section .safety_img{
	max-width: 640px;
	margin:56px auto 0;
}
   

/*
------------------------------------
倫理行動規範
------------------------------------
*/
body.rinri_body{
	
}

main.rinri_main{

}

.rinri_mv_section{
	background-image: url('../img/rinri/rinri_mv.jpg');
}

.rinrikihan_mv_section{
	background-image: url('../img/rinri/rinri_mv.jpg');
}

.rinri_section{

}

.rinri_section .common_eco_green_head{
	margin-bottom: 20px;
}

.rinri_section .area{
	margin-top: 70px;
}

.rinri_section .area + .area{
	margin-top: 60px;
}

.rinri_section .list_box{
	border-radius: 4px;
	background-color: #fcfde0;
	margin-top: 16px;
	padding:32px 40px;
}

.rinri_section .rule_list{
	font-size: 20px;
	line-height: 1.8;
}

.rinri_section .rule_list > li + li{
	margin-top: 26px;
} 

.rinri_section .rule_list ul{
	margin-left: 40px;
	margin-top: 16px;
}

.rinri_section .rule_list ul li{
	position: relative;
	padding-left: 22px;
	font-size: 20px;
	line-height: 1.8;
}

.rinri_section .rule_list ul li + li{
	margin-top: 12px;
}

.rinri_section .rule_list ul li .num{
	position: absolute;
	top:0;
	left:0;
}

/*
------------------------------------
アクセス
------------------------------------
*/

body.access_body{
	
}

main.access_main{

}

.access_mv_section{
	background-image: url('../img/access/access_mv.jpg');
}

.access_list_section{
	padding-top: 120px;
	padding-bottom: 120px;
}
.access_list_section .area{
	margin-top: 72px;
}

.access_list_section .area + .area{
	margin-top: 90px;
}

.access_list_section .office_box{
	max-width: 700px;
	min-height: 190px;
	margin: 50px auto 0;
	padding: 24px;
	border-radius: 4px;
	border: solid 2px var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
}

.access_list_section .office_box li{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
}

.access_list_section .office_box li + li{
	margin-top: 9px;
}

.access_list_section .access_block{
	margin-top: 60px;
	display: flex;
	align-items: flex-start;
}

.access_list_section .access_left{
	width:100%;
}

.access_list_section .access_map{
	flex-shrink: 0;
	width:640px;
	margin-left: 50px;
	aspect-ratio: 1 / 0.6875;
	margin-top: 6px;
}

.access_list_section .access_map iframe{
	width:100%;
	height:100%;
	display: block;
}

.access_list_section .access_address{
	font-size: 18px;
	line-height: 1.89;
}

.access_list_section .root_box{
	margin-top: 24px;
	border-radius: 4px;
	background-color: #efefef;
	padding:32px 50px 32px;
}

.access_list_section .root_head{
	font-size: 22px;
	font-weight: bold;
	color: var(--green);
}

.access_list_section .root_list{
	margin-top: 16px;
}

.access_list_section .root_list li{
	font-size: 18px;
	line-height: 1.94;
	position: relative;
	padding-left:20px ;
}

.access_list_section .root_list li::before{
	content:'';
	width: 10px;
	height:10px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:13px;
}


/*
------------------------------------
製品情報一覧ページ
------------------------------------
*/

body.product_list_body{
	
}

main.product_list_main{

}

.product_list_mv_section{
	background-image: url('../img/product_list/product_list_mv.jpg');
}

.product_list_link_section{
	padding-top: 100px;
}


.product_list_link_section .product_category01::before{
	width: 50px;
	height: 89px;
	background-image: url('../img/product_list/icon_product01.png');
	left:40px;
}
.product_list_link_section .product_category02::before{
	width: 62px;
	height: 78px;
	background-image: url('../img/product_list/icon_product02.png');
	left:32px;
}
.product_list_link_section .product_category03::before{
	width: 94px;
	height: 52px;
	background-image: url('../img/product_list/icon_product03.png');
	left:20px;
}
.product_list_link_section .product_category04::before{
	width: 96px;
	height: 60px;
	background-image: url('../img/product_list/icon_product04.png');
	left:20px;
}
.product_list_link_section .product_category05::before{
	width: 89px;
	height: 80px;
	background-image: url('../img/product_list/icon_product05.png');
	left:20px;
}
.product_list_link_section .product_category06::before{
	width: 91px;
	height: 75px;
	background-image: url('../img/product_list/icon_product06.png');
	left:20px;
}

.product_list_contents_section{
	margin-top: 100px;
}


.product_list_contents_section .common_bottom_border_title::after {
    width: 80px;
	height:2px;
    min-width: auto;
}

.product_list_contents_section .no_result{
	margin-top: 24px;
	font-size: 18px;
	text-align: center;
}

.product_list_contents_section .product_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:40px;
	margin-top: 50px;
}

.product_list_contents_section .product_card{
	display: block;
	border-radius: 4px;
	background-color: #efefef;
	overflow: hidden;
}

.product_list_contents_section .product_thumb{
	aspect-ratio: 1 / calc(260 / 372);
	background-color: #f8f8f8;
}

.product_list_contents_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.product_list_contents_section .product_text_area{
	border-top:4px solid var(--green);
	padding:24px 30px 28px;
}

.product_list_contents_section .product_name,
.product_list_contents_section .product_model{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

.product_list_contents_section .product_guide{
	margin-top: 16px;
	line-height: 1.75;
}

.product_list_support_section{
	margin-top: 100px;
}


/*
------------------------------------
製品情報詳細
------------------------------------
*/

body.single_product_body{
	
}

main.single_product_main{

}

.single_product_mv_section{
	background-image: url('../img/product/product_mv.jpg');
}

.product_top_section{
	padding-top: 60px;

}

main.single_product_main .product_fix_online{
	position: fixed;
	right:0;
	top:0;
	bottom:0;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	z-index: 10;
}

main.single_product_main .product_fix_online a{
	width:140px;
	pointer-events: auto;
}

.product_top_section .product_name{
	margin-top: 80px;
	font-size: 54px;
	font-weight: bold;
	color:var(--green);
	text-align: center;
	line-height: 1.2;
}


.product_top_section .product_lead{
	margin-top: 32px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.product_top_section .product_problem_area{
	margin-top: 40px;
	padding:50px;
	position: relative;
	background-color: #efefef;
	z-index: 2;
}

.product_top_section .product_problem_area.angle::after{
	content:"";
	width:100%;
	height:90px;
	background-color: #efefef;
	position: absolute;
	top:calc(100% - 1px);
	left:0;
	clip-path: polygon(50% 100%, 0 0, 100% 0);


}

.product_top_section .product_problem_head{
	min-height: 65px;
	padding: 8px 16px;
	border-radius: 100px;
	background-color: var(--green);
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product_top_section .product_problem_list{
	margin-top: 20px;
}

.product_top_section .product_problem_item{
	padding:30px 60px;
	display: flex;
	align-items: flex-start;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
}

.product_top_section .product_problem_item + .product_problem_item{
	border-top:1px solid #ccc;
}

.product_top_section .product_problem_item:last-child{
	padding-bottom: 0;
}

.product_top_section .product_problem_item::before{
	content:'';
	width:46px;
	height:38px;
	background-image: url('../img/common/icon_list_check_gray_green.png');
	flex-shrink: 0;
	margin-right: 15px;
}

.product_top_section .product_problem_item p{
	padding-bottom:1px;
}

.product_top_section .product_feature_area{
	margin-top: 40px;
	padding:80px 0;
	position: relative;
}

.product_top_section .product_feature_area.active{
	padding-top: 210px;
	margin-top: -72px;
}

.product_top_section .product_feature_area::before{
	content:'';
	width:100vw;
	height:100%;
	background-color:var(--green) ;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index:-1;
}

.product_top_section .product_feature_head{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 34px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

.product_top_section .product_feature_head::before,
.product_top_section .product_feature_head::after{
	content:'';
	width:3px;
	height:50px;
	background-color: #fff;
}

.product_top_section .product_feature_head::before{
	margin-right: 32px;
	transform: rotateZ(-35deg);
}

.product_top_section .product_feature_head::after{
	margin-left: 24px;
	transform: rotateZ(35deg);
}
.product_top_section .product_feature_head span{
	padding-bottom: 10px;
}

.product_top_section .product_feature_list{
	margin-top: 36px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:20px;
}

.product_top_section .product_feature_item{
	width: 224px;
	height: 224px;
	padding: 8px;
	border: solid 3px #c9cd5e;
	background-color: var(--yellow);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.5;
}

.product_top_section .product_feature_item.active{
	cursor: pointer;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.product_top_section .product_feature_item.active:hover{
		opacity: 0.7;
	}
}

.product_top_section .product_feature_item.radius{
	border-radius: 50%;
}

.product_top_section .product_feature_text{
	margin-top: 24px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.89;
	color: #fff;
}

.product_movie_section{
	padding-top: 100px;
}

.product_movie_section .movie_frame{
	max-width: 800px;
	aspect-ratio: 1 / 0.5625;
	margin:40px auto 0;
}

.product_movie_section .movie_frame iframe{
	width:100%;
	height:100%;
	display: block;
}

.product_catalog_section{
	position: relative;
	padding:80px 0;
	margin-top: 100px;
	background-image: url('../img/product/catalog_area_bg.jpg');
}

.product_voice_section + .product_catalog_section{
	margin-top: 0;
}

.product_catalog_section.has_sns{
	background-image: url('../img/product/catalog_area_bg02.jpg');
}

.product_catalog_section .white_box{
	background-color: #fff;
	padding:50px;
}

.product_catalog_section .button_flex{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:50px;
}

.product_catalog_section .button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 525px;
	min-height: 121px;
	border-radius: 4px;
	transition-duration: 0.4s;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.38;
	letter-spacing: 0.05em;
	position: relative;
}

@media(any-hover:hover){
	.product_catalog_section .button:hover{
		opacity: 0.7;
	}
}

.product_catalog_section .button .radi{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:30px;
	top:0;
	bottom:0;
	margin:auto;
}

.product_catalog_section .button .radi::after{
	content:"";
	width:12px;
	height:10px;
	background-position: right;
}

.product_catalog_section .button .button_text{
	position: relative;
}

.product_catalog_section .button .button_text span{
	letter-spacing: -0.02em;
}
.product_catalog_section .button .button_text::before{
	content:'';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.product_catalog_section .button.catalog{
	border: solid 3px var(--green);
	background-color: var(--yellow);
	color:var(--green);
}
.product_catalog_section .button.catalog .radi{
	background-color: var(--green);
}
.product_catalog_section .button.catalog .radi::after{
	background-image: url('../img/common/icon_arrow_min_right_white.png');
}
.product_catalog_section .button.catalog .button_text::before{
	width: 56px;
	height: 43px;
	background-image: url('../img/common/icon_catalog_green.png');
	right:calc(100% + 22px);
}

.product_catalog_section .button.online{
	border: solid 3px #a12307;
	background-color: #e7340c;
	color:#fff;
	padding-left: 50px;
	color: #fff;
}
.product_catalog_section .button.online .radi{
	background-color: #fff;
}
.product_catalog_section .button.online .radi::after{
	background-image: url('../img/common/icon_arrow_min_right_red.png');
}
.product_catalog_section .button.online .button_text::before{
	width: 59px;
	height: 62px;
	background-image: url('../img/common/icon_cart_white.png');
	right:calc(100% + 22px);
}

.product_catalog_section .sns_head{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 48px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
	color: var(--green);
}

.product_catalog_section .sns_head::before,
.product_catalog_section .sns_head:after{
	content:'';
	width:3px;
	height:40px;
	background-color: var(--green);
}

.product_catalog_section .sns_head::before{
	transform: rotateZ(-35deg);
	margin-right: 22px;
}

.product_catalog_section .sns_head::after{
	transform: rotateZ(35deg);
	margin-left: 14px;
}

.product_catalog_section .sns_head span{
	padding-bottom: 8px;
}

.product_catalog_section .sns_list{
	margin-top: 15px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:0 26px;
}

.product_catalog_section .sns_link{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #e9e9e9;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.product_catalog_section .sns_link:hover{
		opacity: 0.7;
	}
}

.product_catalog_section .sns_link.facebook img{
	width:44px;
}
.product_catalog_section .sns_link.insta img{
	width:42px;
}
.product_catalog_section .sns_link.x img{
	width:35px;
}
.product_catalog_section .sns_link.youtube img{
	width:47px;
}

.product_voice_section{
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: #efefef;
}

.product_voice_section .product_voice_list{
	margin-top: 40px;
}

.product_voice_section .product_voice_block{
	padding:40px;
	border-radius: 4px;
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.product_voice_section .product_voice_block + .product_voice_block{
	margin-top: 30px;
}

.product_voice_section .product_voice_icon{
	flex-shrink: 0;
	width:150px;
	aspect-ratio: 1 / 1;
}

.product_voice_section .product_voice_icon img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 50%;
}

.product_voice_section .product_voice_text{
	width: 100%;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.89;
}

.product_voice_section .product_voice_block:nth-child(odd){
}
.product_voice_section .product_voice_block:nth-child(odd) .product_voice_icon{
	margin-right: 50px;
}

.product_voice_section .product_voice_block:nth-child(even){
	flex-direction: row-reverse;
}
.product_voice_section .product_voice_block:nth-child(even) .product_voice_icon{
	margin-left: 50px;
}


.product_other_section{
	padding-top: 100px;
}

.product_other_section .other_box{
	position: relative;
	padding:40px 50px 40px;
	background-color: #efefef;
}
.product_other_section .other_box::before{
	content:'';
	width: 120px;
	height: 6px;
	background-color: var(--green);
	position: absolute;
	left:0;
	right:0;
	top:0;
	margin:auto;
}

.product_other_section .other_head{
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	color: var(--green);
	line-height: 1;
}

.product_other_section .other_merit_list{
	margin-top: 32px;
}

.product_other_section .other_merit_line{
	padding:24px 64px;
	border-top: 1px solid #ccc;
	display: flex;
	align-items: flex-start;
}

.product_other_section .other_merit_line::before{
	content:'';
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--green);
	margin-right: 10px;
	margin-top: 10px;
}

.product_other_section .other_merit_text{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
}


.product_spec_section{
	padding-top: 100px;
}

.product_spec_section .product_spec_frame{
	margin-top: 50px;
}

.product_spec_section .product_spec_title{
	min-height: 70px;
	padding: 12px 24px;
	background-color: var(--green);
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product_spec_section .product_spec_line{
	padding:20px 0;
	display: flex;
	align-items: center;
	border-bottom:1px solid #ccc;
	font-size: 18px;
	line-height: 1.56;
}

.product_spec_section .product_spec_head{
	width:50%;
	padding-right: 40px;
	text-align: right;
}

.product_spec_section .product_spec_text{
	width:50%;
	padding-left: 40px;
}


.product_maintenance_section{
	padding-top: 100px;
}

.product_maintenance_section .product_maintenance_box{
	padding:50px;
	border-radius: 4px;
	background-color: #efefef;
}

.product_maintenance_section .product_maintenance_head{
	min-height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px 16px;
	border-radius: 100px;
	background-color: #0ba546;
	font-size: 34px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.product_maintenance_section .product_maintenance_lead{
	margin-top: 16px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.product_maintenance_section .product_maintenance_list{

}

.product_maintenance_section .product_maintenance_contents{
	padding:32px 0;
}

.product_maintenance_section .product_maintenance_contents + .product_maintenance_contents{
	border-top:1px solid #ccc;
}

.product_maintenance_section .product_maintenance_sub_head{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
	position: relative;
	padding-left: 32px;
}

.product_maintenance_section .product_maintenance_sub_head::before{
	content:'';
	width: 18px;
	height: 3px;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:15px;
}

.product_maintenance_section .product_maintenance_text{
	margin-top: 8px;
	font-size: 18px;
	line-height: 1.89;
}


.product_safe_section{
	padding-top: 100px;
}
.product_maintenance_section + .product_safe_section{
	padding-top: 60px;
}

.product_safe_section .product_safe_box{
	padding:50px;
	border-radius: 4px;
	background-color: #efefef;
}

.product_safe_section .product_safe_head{
	min-height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px 16px;
	border-radius: 100px;
	background-color: #0ba546;
	font-size: 34px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.product_safe_section .product_safe_list{
	margin-top: 40px;
}

.product_safe_section .product_safe_line + .product_safe_line{
	margin-top: 6px;
}	

.product_safe_section .product_safe_line{
	position: relative;
	padding-left: 18px;
	font-size: 18px;
	line-height: 1.89;
}
.product_safe_section .product_safe_line::before{
	content:'・';
	font-size: 18px;
	line-height: 1.89;
	position: absolute;
	left:0;
	top:0;
}


.product_contents_section{
	padding-top: 100px;
}


.product_contents_section .product_contents_list{
	margin-top: 50px;
}

.product_contents_section .product_contents_list iframe{
	display: block;
	margin:24px auto;
	max-width: 100%;
	height:auto;
	aspect-ratio: 1 / 0.5625;
}

.product_contents_section .product_contents_list a{
	text-decoration: underline;
}

@media(any-hover:hover){
	.product_contents_section .product_contents_list a:hover{
		text-decoration: none;
	}
}

.product_contents_section .product_contents_one_column{

}

.product_contents_section * + .product_contents_one_column{
	margin-top: 100px;
}

.product_contents_section .product_contents_one_column_head{
	width: fit-content;
	margin-inline:auto;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	border-bottom:3px solid var(--green);
}

.product_contents_section .product_contents_one_column_text{
	font-size: 18px;
	line-height: 1.89;
	width: fit-content;
	margin-inline: auto;
}

.product_contents_section * + .product_contents_one_column_text{
	margin-top: 24px;
}

.product_contents_section * + .product_contents_one_column_img{
	margin-top: 50px;
}

.product_contents_section .product_contents_two_column{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.product_contents_section * + .product_contents_two_column{
	margin-top: 100px;
}


.product_contents_section .product_contents_block{
	width:48%;
}

.product_contents_section .product_contents_block_head{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 24px;
	border-left:3px solid var(--green);
	display: flex;
	align-items: center;
	min-height: 50px;
	padding-bottom: 3px;
}

.product_contents_section .product_contents_block_text{
	font-size: 18px;
	line-height: 1.89;
}


.product_contents_section * + .product_contents_block_text{
	margin-top: 24px;
}

.product_contents_section * + .product_contents_block_img{
	margin-top: 32px;
}


.product_contents_section .product_contents_remark{
	padding:50px;
	border-radius: 4px;
	background-color: #efefef;
}

.product_contents_section * + .product_contents_remark{
	margin-top: 40px;
}

.product_contents_section .product_contents_remark_block{
	padding-bottom: 40px;
}

.product_contents_section .product_contents_remark_block + .product_contents_remark_block{
	padding-top: 40px;
	border-top:1px solid #ccc;
}

.product_contents_section .product_contents_remark_block:last-child{
	padding-bottom: 0;
}

.product_contents_section .product_contents_remark_head{
	margin-bottom: 12px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
	position: relative;
	padding-left:32px;
}

.product_contents_section .product_contents_remark_head::before {
    content: '';
    width: 18px;
    height: 3px;
    background-color: var(--green);
    position: absolute;
    left: 0;
    top: 15px;
}

.product_contents_section .product_contents_remark_table{
	width: 100%;
}

.product_contents_section .product_contents_remark_table th,
.product_contents_section .product_contents_remark_table td{
	vertical-align: top;
	font-weight: normal;
	font-size: 18px;
	line-height: 1.2;
	text-align: left;
	padding:6px 0;
}

.product_contents_section .product_contents_remark_table th{
	white-space: nowrap;
	padding-right: 20px;
}

.product_contents_section .product_contents_remark_table td{
	width:100%;
}

.product_contents_section .product_install_area{
	
}

.product_contents_section * + .product_install_area{
	margin-top: 120px;
}

.product_contents_section .product_install_head{
	width: fit-content;
	margin-inline:auto;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	border-bottom:3px solid var(--green);
}

.product_contents_section .product_install_list{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:40px 0;
}

.product_contents_section .product_install_block{
	width:580px;
	
	border-radius: 4px;
	overflow: hidden;
}

.product_contents_section .product_install_thumb{
	aspect-ratio: 1 / 0.517;
	display: flex;
}

.product_contents_section .product_install_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.product_contents_section .product_install_place{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 50px;
	padding: 8px 16px;
	background-color: var(--green);
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	color: #fff;
}

.product_contents_section .product_install_text{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #efefef;
	min-height: 80px;
	padding: 8px 16px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.product_contents_section .install_button{
	margin:60px auto 0;
	width: 350px;
}


/*
------------------------------------
製品導入事例
------------------------------------
*/


body.case_list_body{
	
}

main.case_list_main{

}

.case_list_section{
	position: relative;

}

.case_list_mv_section{
	background-image: url('../img/case_list/case_list_mv.jpg');
}

.case_list_link_section{
	padding-top: 100px;
}

.common_anchor_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:30px 42px;
}

.common_anchor_list .anchor_link{
	display: flex;
	align-items: center;
	height:120px;
	padding-left:134px;
	padding-right: 80px;
	border-radius: 4px;
	background-color: var(--green);
	font-size: 22px;
	font-weight: bold;
	line-height: 1.45;
	color: #fff;
	position: relative;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_anchor_list .anchor_link:hover{
		opacity: 0.7;
	}
}

.common_anchor_list .anchor_link span{
	font-size: 17px;
	white-space: nowrap;
}


.common_anchor_list .anchor_link .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	border: solid 2px #fff;
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
}

.common_anchor_list .anchor_link .radi::after{
	content:'';
	width:12px;
	height:14px;
	background-image: url('../img/common/icon_arrow_min_bottom_white.png');
}

.common_anchor_list .anchor_link::before{
	content:'';
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
}

.case_list_link_section .case_category01::before{
	width: 50px;
	height: 89px;
	background-image: url('../img/case_list/icon_case01.png');
	left:40px;
}
.case_list_link_section .case_category02::before{
	width: 64px;
	height: 94px;
	background-image: url('../img/case_list/icon_case02.png');
	left:32px;
}
.case_list_link_section .case_category03::before{
	width: 86px;
	height: 85px;
	background-image: url('../img/case_list/icon_case03.png');
	left:20px;
}
.case_list_link_section .case_category04::before{
	width: 96px;
	height: 60px;
	background-image: url('../img/case_list/icon_case04.png');
	left:20px;
}
.case_list_link_section .case_category05::before{
	width: 89px;
	height: 80px;
	background-image: url('../img/case_list/icon_case05.png');
	left:21px;
}



.case_list_contents_section{
	padding-top: 100px;
}

.case_list_contents_section .no_result{
	font-size: 18px;
	margin-top: 24px;
}

.case_list_contents_section .case_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:48px 42px;
	margin-top: 50px;
}

.case_list_contents_section .case_card{
	display: block;
}

.case_list_contents_section .case_thumb{
	aspect-ratio: 1 / calc(260 / 372);
}

.case_list_contents_section .case_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.case_list_contents_section .case_text_area{
	padding-top: 24px;
}

.case_list_contents_section .case_name{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

.case_list_contents_section .case_model{
	width: fit-content;
	min-height: 40px;
	margin-top: 12px;
	padding: 6px 14px;
	border-radius: 4px;
	background-color: #efefef;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
}

.case_list_contents_section .case_card ul{
	margin-top: 16px;
}

.case_list_contents_section .case_card ul li{
	font-size: 18px;
	line-height: 1.67;
	position: relative;
	padding-left: 16px;
}

.case_list_contents_section .case_card ul li::before{
	content:'';
	width:8px;
	height:8px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:12px;
}

.case_list_support_section{
	margin-top: 100px;
}

/*
------------------------------------
製品導入事例 詳細
------------------------------------
*/


body.case_detail_body{
	
}

main.case_detail_main{

}


.case_detail_mv_section{
	background-image: url('../img/case_list/case_detail_mv.jpg');
}


.case_detail_about_section{
	padding-top: 100px;
}

.case_detail_about_section .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.case_detail_about_section .left{
	width:570px;
}

.case_detail_about_section .right{
	width:570px;
}

.case_detail_about_section .case_main_img{
	aspect-ratio: 1 / 1;
}

.case_detail_about_section .case_main_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.case_detail_about_section .case_title{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	padding-left: 16px;
	border-left:4px solid var(--green);
}

.case_detail_about_section .case_table_frame{
	margin-top: 30px;
}

.case_detail_about_section .case_table{

}

.case_detail_about_section .case_table th,
.case_detail_about_section .case_table td{
	vertical-align: top;
	padding:20px 20px;
	text-align: left;
	font-size: 18px;
	line-height: 1.67;
	border: 1px solid #ccc;
}


.case_detail_about_section .case_table th{
	font-weight: bold;
	background-color: #efefef;
	width: 145px;
}

.case_detail_about_section .case_table td{
	width:calc(100% - 145px);
}

.case_detail_list_section{
	padding-top: 100px;
	padding-bottom: 150px;
}

.case_detail_list_section .case_area{
	margin-top: 40px;
}

.case_detail_list_section .case_area + .case_area{
	margin-top: 80px;
}

.case_detail_list_section .case_kind{
	position: relative;
	display: flex;
	align-items: center;
	min-height: 68px;
	background-color: #fcfce0;
	padding:20px 30px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
}

.case_detail_list_section .case_kind::before{
	content:'';
	width: 30px;
	height: 30px;
	background-color: var(--green);
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.case_detail_list_section .case_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:50px 20px;
}

.case_detail_list_section .case_card{
	display: block;
}

.case_detail_list_section .case_img{
	aspect-ratio: 1 / calc(380 / 285);
}

.case_detail_list_section .case_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.case_detail_list_section .case_text{
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.67;
} 

.case_detail_list_section .button_area{
	margin-top: 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:28px;
}

.case_detail_list_section .button_area .button{
	width: 420px;
	max-width: 100%;
}

.case_detail_list_section .button_area .common_green_button{
	padding:8px 54px;
	height: auto;
	min-height: 72px;
}

.case_detail_list_section .list_button{
	min-height: 72px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fff;
	font-size: 18px;
	font-weight: bold;
	color: var(--green);
	position: relative;
	transition-duration: 0.4s;
}

.case_detail_list_section .list_button .radi{
	width: 26px;
	height: 26px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	position: absolute;
	left:20px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

.case_detail_list_section .list_button .radi::after{
	content:'';
	width:12px;
	height:11px;
	background-image: url('../img/common/icon_arrow_min_right_white.png');
	transform: rotateZ(180deg);
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.case_detail_list_section .list_button:hover{
		background-color: var(--green);
		color:#fff;
	}
	.case_detail_list_section .list_button:hover .radi{
		background-color: #fff;
	}
	.case_detail_list_section .list_button:hover .radi::after{
		background-image: url('../img/common/icon_arrow_min_right_green.png');
	}
}

/*
------------------------------------
環境システム事業
------------------------------------
*/


body.environment_body{
	
}

main.environment_main{

}

.environment_section{
	position: relative;

}

.environment_mv_section{
	background-image: url('../img/environment/environment_mv.jpg');
}
.environment_systems_mv_section{
	background-image: url('../img/environment/environment_mv.jpg');
}


.environment_guide_section{
	padding-top: 96px;
	padding-bottom: 88px;
}

.environment_guide_section .guide_head{
	margin-top: 56px;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.environment_guide_section .guide_text{
	font-size: 20px;
	line-height: 1.9;
	max-width: 900px;
	margin:32px auto 0;
}

.environment_guide_section .guide_text p + p{
	margin-top: 32px;
}

.environment_plan_section{
	position: relative;
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_plan_section .common_shape_bg{
	right:calc(50% + 240px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 420px) 100%, 0 100%);
}

.environment_plan_section .plan_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:40px 0;
	margin-top: 40px;
}


.environment_plan_section .plan_item{
	width:380px;
}

.environment_plan_section .plan_item.full{
	width:100%;
}

.environment_plan_section .plan_block{
	min-height: 100%;
	background-color: #fff;
	padding:10px 10px 32px;
	border-radius: 4px;
	overflow: hidden;
}

.environment_plan_section .plan_thumb{
	border-radius: 4px;
	overflow: hidden;
}


.environment_plan_section .plan_text_araa{
	margin-top: 16px;
	padding-inline: 10px;
}

.environment_plan_section .plan_title{
	font-size: 28px;
	font-weight: bold;

	line-height: 1.3;
	text-align: center;
}

.environment_plan_section .plan_block ul{
	margin-top: 16px;
}

.environment_plan_section .plan_block ul li{
	position: relative;
	padding-left: 22px;
	font-size: 18px;
	line-height: 1.3;

}

.environment_plan_section .plan_block ul li::before{
	content:'';
	width:10px;
	height:10px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:8px;
}

.environment_plan_section .plan_block ul li + li{
	margin-top: 8px;
}

.environment_plan_section .ul_flex{
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.environment_plan_section .ul_flex .ul_frame{
	width:370px;
	padding-left: 30px;
	
}

.environment_plan_section .ul_flex .ul_frame + .ul_frame{
	border-left: 1px solid #ddd;
}

.environment_plan_section .ul_flex ul{
	margin-top: 0;

}

.environment_purpose_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_purpose_section .purpose_block{
	border-radius: 4px;
	overflow: hidden;
	border:1px solid var(--green);
	background-color: #fff;
	margin-top: 40px;
}

.environment_purpose_section .purpose_head{
	min-height: 70px;
	padding: 10px 16px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
}

.environment_purpose_section .purpose_contents{
	padding:24px 40px 40px;
}

.environment_purpose_section .purpose_sub_head{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}



.environment_purpose_section .flex{
	margin-top: 16px;
	display: flex;
	align-items: center;
}

.environment_purpose_section .list_block{
	width:100%;
}

.environment_purpose_section .list_block ol li{
	counter-increment: cnt;
	position: relative;
	padding:18px 0;
	padding-left: 36px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	
}

.environment_purpose_section .list_block ol li + li{
	border-top: 1px solid #ddd;
}

.environment_purpose_section .list_block ol li::before{
	font-family: 'Lato', sans-serif;
	content: counter(cnt);
	position: absolute;
	left:0;
	top:16px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	color:#fff;
	background-color: var(--green);
}

.environment_purpose_section .img_block{
	width:280px;
	flex-shrink: 0;
	margin-left: 44px;
	border-radius: 4px;
	overflow: hidden;
} 


.environment_purpose_section .box_flex{
	display: flex;
	justify-content: space-between;
	margin-top: 28px;
}

.environment_purpose_section .box{
	width:540px;
	padding:32px 12px 36px;
	border-radius: 4px;
	background-color: #f3f3f3;
}

.environment_purpose_section .box_head{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: var(--green);
}

.environment_purpose_section .box ul{
	margin-top: 24px;
	width: fit-content;
	margin-inline: auto;
}

.environment_purpose_section .box ul li{
	position: relative;
	padding-left: 22px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.2;
}

.environment_purpose_section .box ul li::before{
	content:'＊';
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.4px;
	color: var(--green);
	position: absolute;
	left:0;
	top:1px;
}

.environment_purpose_section .box ul li + li{
	margin-top: 14px;
}

.environment_technology_section{
	padding:96px 0;
	position: relative;
}

.environment_technology_section .common_shape_bg{
	left:calc(50% + 240px);
}

.environment_technology_section .technology_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:30px;
}

.environment_technology_section .technology_block{
	border-radius: 4px;
	overflow: hidden;
	background-color: #fff;
}

.environment_technology_section .technology_thumb{
	aspect-ratio: 1 / 0.683;
}

.environment_technology_section .technology_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.environment_technology_section .technology_text_area{
	min-height:130px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:12px;
}

.environment_technology_section .technology_name{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

.environment_technology_section .technology_name span{
	color:#d93636;
	font-size: 12px;
	vertical-align: super;
}

.environment_technology_section .technology_remark{
	margin-top: 30px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	color: #d93636;
}

.environment_patents_section{
	padding-top: 96px;
	padding-bottom: 100px;
	background-color: var(--green);
} 

.environment_patents_section .common_bottom_border_title02{
	color:#fff;
}
.environment_patents_section .common_bottom_border_title02::after{
	background-color:#fff;
}

.environment_patents_section .patents_block{
	margin-top: 40px;
	padding:30px 30px 40px;
	background-color: #fff;
	border-radius: 4px;
}

.environment_patents_section .patents_flex{
	display: flex;
	align-items: center;
}

.environment_patents_section .patents_img{
	width:600px;
	flex-shrink: 0;
	margin-left: 50px;
	aspect-ratio: 1 / 0.616;
}

.environment_patents_section .patents_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.environment_patents_section .patents_ul_block{
	width:100%;
}

.environment_patents_section .patents_line{
	padding:14px 0;
	display: flex;
	justify-content: center;
}

.environment_patents_section .patents_line + .patents_line{
	border-top:1px solid  #ddd;
}

.environment_patents_section .patents_item{
	display: flex;
	align-items: center;
}

.environment_patents_section .patents_item::before{
	content:'';
	width:47px;
	height:40px;
	background-image: url('../img/common/medal_patent.png');
	flex-shrink: 0;
	margin-right: 18px;
}

.environment_patents_section .patents_head{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
}

.environment_patents_section .patents_num{
	min-width:97px;
	padding-left: 24px;
	display: flex;
	justify-content: flex-end;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
}

.environment_patents_section .patents_remark{
	margin-top: 20px;
	font-size: 18px;
	text-align: right;
}

.environment_strength_section{
	padding-top: 96px;
	padding-bottom: 100px;
} 

.environment_strength_section .strength_text{
	max-width: 873px;
	font-size: 20px;
	line-height: 1.9;
	margin:28px auto 0;
}

.environment_strength_section .strength_img{
	margin-top: 56px;
}

.environment_product_section{
	position: relative;
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_product_section .common_shape_bg{
	right:calc(50% + 300px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 560px) 100%, 0 100%);
}

.environment_product_section .create_flex{
	margin-top: 52px;
	display: flex;
	align-items: center;
}

.environment_product_section .create_text{
	width:100%;
	font-size: 20px;
	line-height: 1.9;
}

.environment_product_section .create_img{
	flex-shrink: 0;
	width:450px;
	margin-left: 72px;
}

.environment_product_section .create_img img{
	border-radius: 4px;
}

.environment_product_section .self_area{
	margin-top: 96px;
}

.environment_product_section .self_area .self_guide{
	margin-top: 32px;
	text-align: center;
	font-size: 20px;
	line-height: 1.3;
	text-align: center;
}

.environment_product_section .self_area .self_list{
	display: flex;
	gap:30px;
	margin-top: 40px;
	width:fit-content;
	margin-inline:auto;
}

.environment_product_section .self_area .self_item{
	width:380px;
}

.environment_product_section .self_area .self_card{
	position: relative;
	border-radius: 4px;
	overflow: hidden;
	background-color: #fff;
	padding-top: 220px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100%;
}

.environment_product_section .self_area .self_thumb{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:220px;
}

.environment_product_section .self_area .self_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.environment_product_section .self_area .self_title{
	min-height: 113px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:12px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.environment_product_section .product_area{
	margin-top: 96px;
}


.environment_product_section .product_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:30px;
	margin-top: 40px;
}

.environment_product_section .product_card{
	position: relative;
	border-radius: 4px;
	overflow: hidden;
}

.environment_product_section .product_thumb{
	aspect-ratio:1 / 0.683 ;
}

.environment_product_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.environment_product_section .product_name{
	position: absolute;
	bottom:0;
	left:0;
	z-index: 2;
	width:100%;
	min-height: 40px;
	padding: 4px 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	background-color: rgba(10 , 165 , 70 , 0.8);
}


.environment_product_section .product_banner{
	display: block;
	max-width: 700px;
	margin:80px auto 0;
	border-radius: 4px;
	overflow: hidden;
}

.environment_sale_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_sale_section .sale_flex{
	margin-top: 56px;
	display: flex;
	align-items: center;
}

.environment_sale_section .sale_img{
	width:450px;
	border-radius: 4px;
	overflow: hidden;
	flex-shrink: 0;
	margin-left: 64px;
}

.environment_sale_section .sale_text{
	width:100%;
	font-size: 20px;
	line-height: 1.9;
}

.environment_net_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_net_section .common_shape_bg{
	left: calc(50% - 120px);
	clip-path: polygon(600px 0, 100% 0, 100% 100%, 0 100%);
}

.environment_net_section .net_area{
	margin-top: 56px;
}

.environment_net_section .net_sub_head{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: var(--green);
}

.environment_net_section .net_guide{
	width: fit-content;
	max-width: 886px;
	margin:12px auto 0;
	font-size: 20px;
	line-height: 1.9;
}

.environment_net_section .net_flex{
	margin-top: 40px;
	display: flex;
	align-items: center;
}

.environment_net_section .net_img{
	width:640px;
	flex-shrink: 0;
	margin-right: 60px;
}

.environment_net_section .net_tel_area{
	width:100%;
}

.environment_net_section .tel_item + .tel_item{
	margin-top: 20px;
}

.environment_net_section .free_box{
	height: 120px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.environment_net_section .free_num{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Lato', sans-serif;
	font-size: 46px;
	font-weight: bold;
	color: var(--green);
}

.environment_net_section .free_num::before{
	content:'';
	width: 57px;
	height: 44px;
	background-image: url('../img/common/icon_free_call_blue.png');
	flex-shrink: 0;
	margin-right: 12px;
}


.environment_net_section .tel_box{
	border-radius: 4px;
	overflow: none;
	border:2px solid;
	background-color: #fff;
}

.environment_net_section .tel_head{
	height:45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}

.environment_net_section .tel_contents{
	min-height:80px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.environment_net_section .tel_num{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Lato', sans-serif;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.2;
}

.environment_net_section .tel_num::before{
	content:'';
	width:24px;
	height:26px;
	flex-shrink: 0;
	margin-right: 7px;
}

.environment_net_section .tel_box.blue{
	border-color: var(--blue);
}
.environment_net_section .tel_box.blue .tel_head{
	background-color: var(--blue);
}
.environment_net_section .tel_box.blue .tel_num{
	color: var(--blue);
}
.environment_net_section .tel_box.blue .tel_num::before{
	background-image: url('../img/common/icon_tel_blue.png');
}

.environment_net_section .tel_box.orange{
	border-color: var(--orange);
}
.environment_net_section .tel_box.orange .tel_head{
	background-color: var(--orange);
}
.environment_net_section .tel_box.orange .tel_num{
	color: var(--orange);
}
.environment_net_section .tel_box.orange .tel_num::before{
	background-image: url('../img/common/icon_tel_orange.png');
}

.environment_net_section .tel_box.big{
	border-color: var(--green02);
}
.environment_net_section .tel_box.big .tel_head{
	background-color: var(--green02);
	height:60px;
	font-size: 22px;
}
.environment_net_section .tel_box.big .tel_contents{
	height:110px;
}
.environment_net_section .tel_box.big .tel_num{
	color: var(--green02);
	font-size: 40px;
}
.environment_net_section .tel_box.big .tel_num::before{
	width: 30px;
	height: 33px;
	background-image: url('../img/common/icon_tel_green02.png');
}


.environment_alliance_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.environment_alliance_section .alliance_guide{
	max-width: 880px;
	margin:24px auto 0;
	font-size: 20px;
	line-height: 1.9;
}

.environment_alliance_section .alliance_button{
	min-width: 420px;
	margin:40px auto 0;
}

.environment_alliance_section .contact_block{
	padding:44px 24px 50px;
	border-radius: 4px;
	background-image: url('../img/environment/contact_bg.jpg');
	margin-top: 70px;
}

.environment_alliance_section .contact_head{
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #fff;
}

.environment_alliance_section .contact_box{
	max-width:880px ;
	padding:40px 24px 32px;
	display: flex;
	justify-content: center;
	background-color: var(--yellow);
	margin:24px auto 0;
	position: relative;
}

.environment_alliance_section .contact_box::after{
	content:'';
	width: 200px;
	height: 192px;
	background-image: url('../img/environment/icon_contact.png');
	position: absolute;
	z-index: 2;
	bottom:-29px;
	right:-100px;
}

.environment_alliance_section .contact_box ul li{
	display: flex;
	align-items: flex-start;
}

.environment_alliance_section .contact_box ul li + li{
	margin-top: 20px;
}

.environment_alliance_section .contact_box .line_head{
	width: 150px;
	height: 50px;
	border-radius: 9999px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 26px;
	color:#fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	flex-shrink: 0;
}

.environment_alliance_section .contact_box .tel{
	display: flex;
	align-items: center;
	width: fit-content;
	font-family: 'Lato', sans-serif;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
}

.environment_alliance_section .contact_box .tel::before{
	content:'';
	flex-shrink: 0;
	width: 30px;
	height: 33px;
	margin-right: 11px;
	background-image: url('../img/common/icon_tel_green.png');
}

.environment_alliance_section .contact_box .tel_time{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	padding-top: 8px;
}

.environment_alliance_section .contact_box .tel_time span{
	font-size: 18px;
}

.environment_alliance_section .contact_box .tel_time + .tel_time{
	margin-top: 10px;
	padding-top: 0;
}


/*
------------------------------------
電子デバイス事業
------------------------------------
*/


body.electric_body{
	
}

main.electric_main{

}

.electric_section{
	position: relative;

}

.electric_mv_section{
	background-image: url('../img/electric/electric_mv.jpg');
}

.electric_device_mv_section{
	background-image: url('../img/electric/electric_mv.jpg');
}

.electric_guide_section{
	padding-top: 100px;
	padding-bottom: 210px;
}

.common_link_flex{
	display: flex;
	justify-content: space-between;
}

.common_link_flex .link_block{
	width:570px;
	border-radius: 4px;
	border:2px solid var(--green);
	overflow: hidden;
	background-color: #fff;
	position: relative;
}

.common_link_flex .link_head{
	height: 70px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	padding:8px 12px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}


.common_link_flex .link_contents{
	padding:20px 40px 140px;
}

.common_link_flex .link_contents ul li{
	display: flex;
	align-items: flex-start;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	padding:17px 0;
	padding-left: 20px;
}

.common_link_flex .link_contents ul li::before{
	content:'';
	width: 10px;
	height:10px;
	border-radius: 50%;
	flex-shrink: 0;
	background-color:var(--green);
	margin-right: 12px;
	margin-top: 8px;
}

.common_link_flex .link_contents ul li + li{
	border-top:1px solid #ddd;
}

.common_link_flex .link_button_frame{
	position: absolute;
	bottom:40px;
	left:0;
	width:100%;
}

.common_link_flex .link_button{
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 auto 0;
	max-width: 420px;
	height: 73px;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: var(--yellow);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
	position: relative;
	transition-duration:0.4s;
}

.common_link_flex .link_button .radi{
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration:0.4s;
}

.common_link_flex .link_button .radi::after{
	content:'';
	background-image: url('../img/common/icon_arrow_min_bottom_yellow.png');
	width:10px;
	height:11px;
	transition-duration:0.4s;
}

@media(any-hover:hover){
	.common_link_flex .link_button:hover{
		color: var(--yellow);
		background-color: var(--green);
	}

	.common_link_flex .link_button:hover .radi{
		background-color: var(--yellow);
	}

	.common_link_flex .link_button:hover .radi::after{
		background-image: url('../img/common/icon_arrow_min_bottom_green.png');
	}
}

.electric_guide_section .partner_area{
	margin-top: 100px;
}

.electric_guide_section .partner_img{
	position: relative;
	aspect-ratio: 1 / 0.366;
}

.electric_guide_section .partner_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.electric_guide_section .partner_area .text_area{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
}

.electric_guide_section .partner_area .text_box{
	background-color: rgba(255,255,255,0.8);
	padding:16px 64px;
	text-align: center;
	clip-path: polygon(32px 0%, 100% 0, calc(100% - 32px) 100%, 0% 100%);
	box-shadow:0 0 13px rgba(0,0,0,0.16);

}

.electric_guide_section .partner_area .text01{
	font-size: 32px;
	font-weight: bold;
	line-height: 1.2;
}

.electric_guide_section .partner_area .text02{
	margin-top: 8px;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
}

.electric_guide_section .partner_text{
	max-width: 880px;
	margin:48px auto 0;
	font-size: 20px;
	line-height: 1.9;
}

.electric_guide_section .device_area{
	margin-top: 90px;
}

.electric_guide_section .device_list{
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap:10px;
}

.electric_guide_section .device_item{
	border-radius: 4px;
	background-color: #e9e9e9;
	padding:28px 8px 24px;
}

.electric_guide_section .device_icon{
	height:78px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.electric_guide_section .device_icon img{
	width:auto;
}

.electric_guide_section .device_icon01{
	height:49px;
}
.electric_guide_section .device_icon02{
	height:78px;
}
.electric_guide_section .device_icon03{
	height:70px;
}
.electric_guide_section .device_icon04{
	height:74px;
}
.electric_guide_section .device_icon05{
	height:73px;
}

.electric_guide_section .device_name{
	margin-top: 14px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.electric_guide_section .solution_area{
	margin-top: 88px;
}

.electric_guide_section .solution_block{
	margin-top: 28px;
	padding:40px;
	background-color: var(--green);
}

.electric_guide_section .solution_box{
	max-width: 880px;
	margin:0 auto;
	position: relative;
	padding:24px 24px 32px;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.electric_guide_section .solution_box::after{
	content:'';
	width: 159px;
	height: 193px;
	background-image: url('../img/electric/deco_solution.png');
	position: absolute;
	bottom:-8px;
	right:-56px;
	z-index: 3;
}

.electric_guide_section .solution_contents{
	padding:0 24px;
	overflow: hidden;
}

.electric_guide_section .solution_contents ul li{
	position: relative;
	display: flex;
	align-items: flex-start;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	padding:16px 0;
}

.electric_guide_section .solution_contents ul li + li::before{
	content:'';
	width:100vw;
	height:1px;
	background-color: #ddd;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.electric_guide_section .solution_contents ul li .check{
	margin-right: 10px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: solid 1px #acacac;
	position: relative;
	margin-top: 2px;
}

.electric_guide_section .solution_contents ul li .check::before{
	content:'';
	width:21px;
	height:20px;
	background-image: url('../img/common/icon_check_green.png');
	position: absolute;
	top:0;
	right:-2px;
}


.electric_guide_section .flow_area{
	margin-top: 88px;
}

.electric_guide_section .flow_frame{
	margin-top: 28px;
	padding:50px 36px 50px 64px;
	background-color: #e9e9e9;
}

.electric_factory_section{
	position: relative;
	padding-top: 96px;
	padding-bottom: 96px;
}

.electric_factory_section .common_shape_bg{
	right:calc(50% + 220px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 670px) 100%, 0 100%);
}

.electric_factory_section .factory_flex{
	margin-top: 50px;
	display: flex;
	align-items: center;
}

.electric_factory_section .factory_img{
	flex-shrink: 0;
	width:600px;
	aspect-ratio: 1 / 0.616;
	margin-right: 60px;
	border-radius: 4px;
	overflow: hidden;
}

.electric_factory_section .factory_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.electric_factory_section .factory_text{
	font-size: 20px;
	line-height: 2;
}

.electric_factory_section .strength_area{
	margin-top: 80px;
}

.electric_factory_section .strength_list{
	margin-top: 24px;
	display: flex;
	justify-content: space-between;
}

.electric_factory_section .strength_item{
	width:380px;
	border-radius: 4px;
	background-color: var(--green);
	padding:48px 40px 56px;
	position: relative;

}

.electric_factory_section .strength_text{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.9;
	color: #fff;
}

.electric_factory_section .strength_num{
	position: absolute;
	right:20px;
	bottom:20px;
	font-size: 60px;
	font-weight: bold;
	line-height: 1;
	color: var(--yellow);
}


.electric_factory_section .product_area{
	margin-top: 88px;
}

.electric_factory_section .product_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:40px 30px;
}

.electric_factory_section .product_thumb{
	aspect-ratio: 1 / calc(190 / 278);
}

.electric_factory_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.electric_factory_section .product_name{
	margin-top: 16px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}


.electric_factory_section .equipment_area{
	margin-top: 88px;
}

.electric_factory_section .equipment_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:40px 30px;
}

.electric_factory_section .equipment_thumb{
	aspect-ratio: 1 / calc(190 / 278);
}

.electric_factory_section .equipment_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.electric_factory_section .equipment_name{
	margin-top: 16px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

/*
------------------------------------
メカトロニクス事業
------------------------------------
*/


body.mechatronics_body{
	
}

main.mechatronics_main{

}

.mechatronics_section{
	position: relative;

}

.mechatronics_mv_section{
	background-image: url('../img/mechatronics/mechatronics_mv.jpg');
}


.mechatronics_link_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.mechatronics_center_section{
	padding-top: 96px;
	padding-bottom: 96px;
}

.mechatronics_center_section .common_shape_bg{
	right:calc(50% + 220px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 1400px) 100%, 0 100%);
}

.mechatronics_center_section .center_img{
	position: relative;
	aspect-ratio: 1 / 0.366;
	margin-top: 50px;

}

.mechatronics_center_section .center_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.mechatronics_center_section .center_img .text_area{
	position: absolute;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	
	
}

.mechatronics_center_section .center_img .text_area01{
	left:0;
	bottom:50px;
}

.mechatronics_center_section .center_img .text_area02{
	top:0;
	left:0;
	height:100%;
}

.mechatronics_center_section .center_img .text_box{
	background-color: rgba(255,255,255,0.8);
	padding:16px 64px;
	text-align: center;
	clip-path: polygon(32px 0%, 100% 0, calc(100% - 32px) 100%, 0% 100%);
	box-shadow:0 0 13px rgba(0,0,0,0.16);

}

.mechatronics_center_section .center_img .text01{
	font-size: 32px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.mechatronics_center_section .center_img .text02{
	margin-top: 8px;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
}

.mechatronics_center_section .center_text{
	margin: 44px auto 0;
	max-width: 854px;
	font-size: 20px;
	line-height: 1.9;
}

.mechatronics_center_section .info_list{
	margin-top: 84px;
	display: flex;
	justify-content: space-between;
}

.mechatronics_center_section .info_block{
	padding:10px 10px 36px;
	background-color: #fff;
	border-radius: 4px;
	width:380px;
}

.mechatronics_center_section .info_text_area{
	margin-top: 20px;
}

.mechatronics_center_section .info_name{
	font-size: 28px;
	line-height: 1.14;
	font-weight: bold;
	text-align: center;
}

.mechatronics_center_section .info_ul{
	margin-top: 16px;
	padding-inline: 12px;
}

.mechatronics_center_section .info_ul li{
	padding-left: 22px;
	font-size: 18px;
	line-height: 1.67;
	position: relative;
}

.mechatronics_center_section .info_ul li::before{
	content:'';
	width:10px;
	height:10px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:11px;
}

.mechatronics_center_section .info_ul li + li{
	
}


.mechatronics_center_section .info_ul_flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.mechatronics_center_section .info_list02 .info_block{
	background-color: #e9e9e9;
}

.mechatronics_center_section .info_list02 .info_block.full{
	width:790px;
	max-width: 100%;
}

.mechatronics_center_section .solution_area{
	margin-top: 96px;
}

.mechatronics_center_section .solution_block{
	margin-top: 28px;
	padding:40px;
	background-color: var(--green);
}

.mechatronics_center_section .solution_box{
	max-width: 1020px;
	margin:0 auto;
	position: relative;
	padding:24px 24px 32px;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mechatronics_center_section .solution_box::after{
	content:'';
	width: 159px;
	height: 193px;
	background-image: url('../img/electric/deco_solution.png');
	position: absolute;
	bottom:-8px;
	right:-56px;
	z-index: 3;
}

.mechatronics_center_section .solution_contents{
	padding:0 40px;
	overflow: hidden;
}

.mechatronics_center_section .solution_contents ul li{
	position: relative;
	display: flex;
	align-items: flex-start;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	padding:16px 0;
}

.mechatronics_center_section .solution_contents ul li + li::before{
	content:'';
	width:100vw;
	height:1px;
	background-color: #ddd;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.mechatronics_center_section .solution_contents ul li .check{
	margin-right: 10px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: solid 1px #acacac;
	position: relative;
	margin-top: 2px;
}

.mechatronics_center_section .solution_contents ul li .check::before{
	content:'';
	width:21px;
	height:20px;
	background-image: url('../img/common/icon_check_green.png');
	position: absolute;
	top:0;
	right:-2px;
}


.mechatronics_center_section .strength_area{
	margin-top: 80px;
}

.mechatronics_center_section .strength_list{
	margin-top: 24px;
	display: flex;
	justify-content: space-between;
}

.mechatronics_center_section .strength_item{
	width:380px;
	border-radius: 4px;
	background-color: var(--green);
	padding:48px 40px 56px;
	position: relative;

}

.mechatronics_center_section .strength_head{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.46;
	letter-spacing: 0.52px;
	text-align: center;
	color: #fff;
	margin-bottom: 16px;
	margin-top: -16px;
}

.mechatronics_center_section .strength_head::after{
	content:'';
	width: 67px;
	height: 2px;
	background-color: #fff;
	margin-top: 12px;

}

.mechatronics_center_section .strength_text{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.9;
	color: #fff;
}

.mechatronics_center_section .strength_num{
	position: absolute;
	right:20px;
	bottom:20px;
	font-size: 60px;
	font-weight: bold;
	line-height: 1;
	color: var(--yellow);
}


.mechatronics_center_section .custom_area{
	margin-top: 88px;
}

.mechatronics_center_section .custom_box{
	padding: 80px 24px 72px;
	border-radius: 4px;
	background-color: #fff;
	margin-top: 36px;
}

.mechatronics_center_section .custom_img{
	max-width: 700px;
	margin:0 auto;
}

.mechatronics_center_section .custom_head{
	text-align: center;
	margin-top: 40px;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: var(--green);
}

.mechatronics_center_section .custom_text{
	max-width: 880px;
	margin:36px auto 0;
	font-size: 20px;
	line-height: 1.9;
}

.mechatronics_center_section .product_area{
	margin-top: 88px;
}

.mechatronics_center_section .product_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:40px 30px;
}

.mechatronics_center_section .product_list_three{
	grid-template-columns: repeat(3, 1fr);
}
.mechatronics_center_section .product_list_four{
	grid-template-columns: repeat(4, 1fr);
}

.mechatronics_center_section .product_thumb{
	aspect-ratio: 1 / calc(190 / 278);
}

.mechatronics_center_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.mechatronics_center_section .product_name{
	margin-top: 16px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.mechatronics_center_section .technology_area{
	margin-top: 90px;
}

.mechatronics_center_section .technology_box{
	margin-top: 40px;
	padding:60px 60px 48px;
	border-radius: 4px;
	background-color: #e9e9e9;
}

.mechatronics_center_section .technology_flex{
	display: flex;
	align-items: center;
}

.mechatronics_center_section .technology_img{
	flex-shrink: 0;
	width:480px;
	margin-right: 50px;
}

.mechatronics_center_section .technology_contents_area{
	width:100%;
}

.mechatronics_center_section .technology_block{
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fff;
	overflow: hidden;
}

.mechatronics_center_section .technology_head{
	height: 60px;
	border: solid 2px var(--green);
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.17;
	color: #fff;
}

.mechatronics_center_section .technology_contents{
	padding:24px 56px;
}

.mechatronics_center_section .ul_flex{
	display: flex;
	justify-content: space-between;
}

.mechatronics_center_section .ul_box + .ul_box{
	margin-top: 24px;
}

.mechatronics_center_section .ul_head{
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	color: var(--green);
}

.mechatronics_center_section .ul_box ul{
	margin-top: 6px;

}

.mechatronics_center_section .ul_box ul li{
	position: relative;
	padding-left: 16px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.56;
}

.mechatronics_center_section .ul_box ul li::before{
	content:'';
	width:9px;
	height:9px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:11px;
}

.mechatronics_center_section .technology_text{
	margin:40px auto 0;
	max-width: 880px;
	font-size: 20px;
	line-height: 1.9;
}


/*
------------------------------------
採用情報
------------------------------------
*/


body.recruit_body{
	
}

main.recruit_main{

}

.recruit_section{
	position: relative;

}

.recruit_section .c_recruit_link_list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:30px;
}

.recruit_section .c_recruit_link_list li{
	width:380px;
}

.recruit_section .c_recruit_link_list .button{
	width:100%;
	letter-spacing: 0;
	padding-right: 20px;
}

.recruit_mv_section{
	background-image: url('../img/recruit/recruit_mv.jpg');
}

.recruit_anchor_section{
	padding-top: 72px;
}

.recruit_anchor_section .anchor_list{
	display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 56px;
}

.recruit_anchor_section .anchor_item:first-child {
    border-left: 1px solid #ccc;
}

.recruit_anchor_section .anchor_item {
    border-right: 1px solid #ccc;
}

.recruit_anchor_section .anchor_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 6px 40px 14px;
	max-width: 248px;
    font-size: 18px;
    font-weight: bold;
	white-space: nowrap;
    line-height: 1.2;
}

.recruit_anchor_section .anchor_link .radi {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: var(--green);
}

.recruit_anchor_section .anchor_link .radi::after {
    content: '';
    width: 10px;
    height: 10px;
    background-image: url(../img/common/icon_arrow_min_right_white.png);
    transform: rotateZ(90deg);
}

.recruit_feature_section{
	padding-top: 120px;
	padding-bottom: 100px;
}

.recruit_feature_section .feature_bg{
	width:1920px;
	position: absolute;
	z-index: -1;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
}

.recruit_feature_section .feature_head{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:26px 0;
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: var(--green);
}

.recruit_feature_section .feature_head .line{
	display: flex;
	align-items: center;
	gap:0 18px;
}


.recruit_feature_section .feature_head .text_bg{
	background-color: var(--green);
	color: var(--yellow);
	padding:8px 12px;
	border-radius: 4px;
	min-height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.recruit_feature_section .feature_flex{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.recruit_feature_section .feature_img_area{
	flex-shrink: 0;
	width:591px;
	margin-left: 52px;
}

.recruit_feature_section .feature_sub_head{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
}

.recruit_feature_section .feature_text_area{
	width:100%;
	padding-top: 24px;
}

.recruit_feature_section .feature_text{
	margin-top: 24px;
	font-size: 18px;
	line-height: 1.89;
}

.recruit_feature_section .c_recruit_link_list{
	margin-top: 72px;
}

.recruit_message_section{
	padding-top: 96px;
	padding-bottom: 90px;
}

.recruit_message_section .common_shape_bg{
	right:calc(50% + 220px);
}

.recruit_message_section .message_contents{
	margin-top: 50px;
}

.recruit_message_section .message_head{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.67;
}

.recruit_message_section .message_text{
	margin-top: 32px;
	font-size: 18px;
	line-height: 1.89;
}

.recruit_message_section .message_text p + p{
	margin-top: 24px;
}

.recruit_message_section .message_img_area{
	width:575px;
	margin-left: 64px;
	float:right;
}

.recruit_message_section .message_img{
	aspect-ratio: 1 / 0.67;
}

.recruit_message_section .message_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.recruit_message_section .sign_flex{
	margin-top: 24px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.recruit_message_section .sign_company{
	font-size: 14px;
}

.recruit_message_section .sign_career{
	font-size: 20px;
}

.recruit_message_section .sign_company + .sign_career{
	margin-top: 2px;
}

.recruit_message_section .sign_name{
	margin-left: 32px;
	font-size: 34px;
	font-weight: bold;

}

.recruit_message_section .sign_name img{
	height:61px;
	width:auto;
}

.recruit_strength_section{
	padding-top: 96px;
	padding-bottom: 100px;
	background-color: var(--green);
}

.recruit_strength_section .common_sec_title_set{
	color:#fff;
}

.recruit_strength_section .strength_list{
	margin-top: 56px;
}

.recruit_strength_section .strength_block{
	padding:50px;
	background-color: #fff;
	display: flex;
	align-items: flex-start;
	gap:50px;
	position: relative;
}

.recruit_strength_section .strength_block::before{
	content:'';
	width: 10px;
	height: 190px;
	background-color: var(--yellow);
	position: absolute;
	top:0;
}

.recruit_strength_section .strength_block:nth-child(even){
	flex-direction: row-reverse;
}

.recruit_strength_section .strength_block:nth-child(even)::before{
	right:0;
}

.recruit_strength_section .strength_block:nth-child(odd)::before{
	left:0;
}

.recruit_strength_section .strength_block + .strength_block{
	margin-top: 40px;
}

.recruit_strength_section .strength_img_area{
	flex-shrink: 0;
	width:450px;
}

.recruit_strength_section .strength_img{
	aspect-ratio: 1 / 1;
}

.recruit_strength_section .strength_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}


.recruit_strength_section .strength_text_area{
	width:100%;
}

.recruit_strength_section .strength_catch{
	font-size: 54px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
}

.recruit_strength_section .strength_head{
	margin-top: 20px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
}

.recruit_strength_section .strength_text{
	margin-top: 26px;
	min-height: 300px;
	border-radius: 4px;
	background-color: #efefef;
	padding:28px 56px 32px 40px;
	font-size: 18px;
	line-height: 1.89;
}

.recruit_career_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.recruit_career_section .career_catch{
	text-align: center;
	margin-top: 56px;
	font-size: 30px;
	font-weight: bold;

}

.recruit_career_section .career_map_frame{
	margin-top: 44px;
}

.recruit_career_section .c_recruit_link_list{
	margin-top: 70px;
}

.recruit_voice_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.recruit_voice_section .common_shape_bg{
	left:calc(50% - 370px);
	clip-path: polygon(1000px 0, 100% 0, 100% 100%, 0 100%);
}

.recruit_voice_section .voice_list{
	margin-top: 56px;
}

.recruit_voice_section .voice_block{
	padding: 50px;
	border-radius: 4px;
	background-color: #fff;
	display: flex;
	align-items: center;
	gap:50px;
}


.recruit_voice_section .voice_block + .voice_block{
	margin-top: 40px;
}

.recruit_voice_section .voice_block:nth-child(even){
	flex-direction: row-reverse;
}

.recruit_voice_section .voice_img_area{
	width:460px;
	aspect-ratio: 1 / 0.667;
	flex-shrink: 0;
} 

.recruit_voice_section .voice_img_area img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.recruit_voice_section .voice_text_area{
	width:100%;
}

.recruit_voice_section .voice_info_flex{
	display: flex;
	align-items: center;
	gap:28px;
}

.recruit_voice_section .voice_name{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
}

.recruit_voice_section .voice_place{
	min-width: 157px;
	min-height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 6px 16px;
	border-radius: 4px;
	background-color: var(--green);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}

.recruit_voice_section .voice_text{
	margin-top: 20px;
	font-size: 18px;
	line-height: 1.89;
}

.recruit_voice_section .challenge_block{
	margin-top: 108px;
	padding:56px 50px 50px;
	border-radius: 4px;
	border: solid 3px var(--green);
	background-color: #fff;
	position: relative;
}

.recruit_voice_section .challenge_head{
	position: absolute;
	border-radius: 9999px;
	background-color: var(--green);
	top: -28px;
	left: 50%;
	transform: translateX(-50%);
}

.recruit_voice_section .challenge_head_inner{
	min-width: 350px;
	height: 60px;
	padding:4px 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 34px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	position: relative;
}

.recruit_voice_section .challenge_head_inner::after{
	content:'';
	width: 21px;
	height: 18px;
	background-color: var(--green);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	position: absolute;
	top:calc(100% - 2px);
	left:0;
	right:0;
	margin:auto;
}

.recruit_voice_section .challenge_title{
	font-size: 34px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: var(--green);
}

.recruit_voice_section .challenge_ul_flex{
	margin-top: 24px;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	padding-inline: 20px;
}

.recruit_voice_section .challenge_ul li{
	padding:22px 0;
	padding-left: 20px;
	white-space: nowrap;
	font-size: 20px;
	line-height: 1.3;
	position: relative;
}

.recruit_voice_section .challenge_ul li::before{
	content:'';
	width:12px;
	height:12px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:30px;
}


.recruit_voice_section .challenge_ul:first-child li + li::after{
	content:'';
	width:100vw;
	height:1px;
	background-color: #ccc;
	position: absolute;
	top:0;
	left:0;
}

.recruit_voice_section .challenge_img_flex{
	margin-top: 24px;
	padding-inline: 20px;
	display: flex;
	justify-content: space-between;
}

.recruit_voice_section .challenge_img{
	width:505px;
}

.recruit_voice_section .challenge_img img{
	border-radius: 4px;
}

.recruit_voice_section .active_block{
	margin-top: 50px;
	padding:50px;
	border-radius: 4px;
	background-image: url('../img/recruit/active_bg.jpg');
}

.recruit_voice_section .active_head{
	font-size: 38px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:0 24px;
}

.recruit_voice_section .active_head::before,
.recruit_voice_section .active_head::after{
	content: '';
    width: 3px;
    height: 40px;
    background-color: #fff;
	flex-shrink: 0;
	margin-top: 8px;
}

.recruit_voice_section .active_head::before{
	transform: rotateZ(-35deg);
}
.recruit_voice_section .active_head::after{
	transform: rotateZ(35deg);
}

.recruit_voice_section .active_list{
	margin-top: 32px;
	display: flex;
	justify-content: space-between;
}

.recruit_voice_section .active_item{
	width:252px;
	padding:32px 16px 24px;
	border-radius: 4px;
	background-color: #fff;
}

.recruit_voice_section .active_icon{
	min-height:85px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.recruit_voice_section .active_icon img{
	width:auto;
}

.recruit_voice_section .active_icon01{
	height:85px;
}
.recruit_voice_section .active_icon02{
	height:85px;
}
.recruit_voice_section .active_icon03{
	height:78px;
}
.recruit_voice_section .active_icon04{
	height:78px;
}

.recruit_voice_section .active_text{
	margin-top: 16px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.33;
	text-align: center;
}

.recruit_money_section{
	padding-top: 96px;
	
}

.recruit_money_section .money_frame{
	margin-top: 56px;
	padding:50px;
	border-radius: 4px;
	background-color: var(--green);
}

.recruit_money_section .money_block{
	border-radius: 4px;
	background-color: #fff;
	padding:40px 50px;
	display: flex;
	align-items: flex-start;
	gap:50px;
}

.recruit_money_section .money_img_area{
	flex-shrink: 0;
	width:230px;
	margin-top: 12px;
}

.recruit_money_section .money_text_area{
	width:100%;
}

.recruit_money_section .money_text{
	font-size: 18px;
	line-height: 1.89;
}

.recruit_money_section .money_text p + p{
	margin-top: 16px;
}

.recruit_money_section .money_text a{
	color:var(--green);
	border-bottom:1px solid var(--green);
}

.recruit_money_section .money_remark{
	color: #e7340c;
	position: relative;
	padding-left: 20px; 
	font-weight: bold;
}

.recruit_money_section .money_remark::before{
	content:'※';
	font-size: 18px;
	line-height: 1.89;
	position: absolute;
	color: #e7340c;
	top:0;
	left:0;
}

.recruit_banner_section{
	padding-top: 96px;
	padding-bottom: 100px;
}

.recruit_banner_section .sec_title{
	font-size: 46px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

.recruit_banner_section .c_recruit_link_list{
	margin-top: 44px;
}

.recruit_banner_section .banner{
	display: block;
	max-width: 700px;
	margin-inline: auto;
	margin-top:60px;
}

.recruit_banner_section .banner + .banner{
	margin-top:40px;
}

/*
------------------------------------
募集要項 
------------------------------------
*/



body.appli_body{
	
}

main.appli_main{

}

.appli_mv_section{
	background-image: url('../img/recruit/recruit_mv.jpg');
}


.appli_list_section{
	padding-top: 96px;
}

.appli_list_section .appli_title{
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color:var(--green);
}

.appli_list_section .no_result{
	text-align: center;
	margin-top: 24px;
}

.appli_list_section .appli_list{
	margin-top: 56px;
}

.appli_list_section .appli_item + .appli_item{
	margin-top: 40px;
}

.appli_list_section .appli_card{
	display: flex;
	align-items: flex-start;
	gap:50px;
	padding:50px;
	border-radius: 4px;
	background-color: #efefef;
}

.appli_list_section .appli_text_area{
	width:100%;
}

.appli_list_section .appli_img_area{
	width:460px;
	flex-shrink: 0;
}

.appli_list_section .appli_img{
	aspect-ratio: 1 / 0.667;
}

.appli_list_section .appli_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.appli_list_section .appli_img .gray_thumb{
	width:100%;
	height:100%;
	border-radius: 4px;
	background-color: #CDCDCD;
}

.appli_list_section .appli_name{
	font-size: 32px;
	font-weight: bold;
	line-height: 1.3;
	border-bottom:1px solid var(--green);
	padding-bottom: 12px;
}

.appli_list_section .appli_place{
	margin-top: 32px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}

.appli_list_section .appli_money{
	margin-top: 8px;
	font-size: 24px;
	font-weight: bold;
	color: var(--green);
}

.appli_list_section .appli_tag_list{
	margin-top: 30px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:10px;
}

.appli_list_section .appli_tag{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	height: 38px;
	padding: 4px 16px;
	border-radius: 4px;
	background-color: var(--green);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}

.appli_single_section{
	
}

.appli_single_section .appli_entry_button{
	margin:40px auto 0;
	width:420px;
	max-width:100%;
}

.appli_single_guide_section{
	padding-top: 96px;
}

.appli_single_guide_section .appli_title{
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color:var(--green);
}

.appli_single_guide_section .appli_place{
	margin-top: 16px;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.appli_single_guide_section .appli_feature_list{
	margin-top: 60px;

}

.appli_single_guide_section .appli_feature_block{
	padding:50px;
	border-radius: 4px;
	background-color: #efefef;
}

.appli_single_guide_section .appli_feature_block + .appli_feature_block{
	margin-top: 30px;
}

.appli_single_guide_section .appli_feature_head{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	padding-left: 20px;
	border-left:5px solid var(--green);

}

.appli_single_guide_section .appli_feature_text{
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.89;
}

.appli_single_guide_section .appli_img_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:20px;
}

.appli_single_guide_section .appli_img_list li{
	aspect-ratio: 1 / 0.7;
}

.appli_single_guide_section .appli_img_list img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.appli_single_info_section{
	padding-top: 100px;
}

.appli_single_info_section .appli_single_info_area + .appli_single_info_area{
	margin-top: 60px;
}

.appli_single_info_section .appli_sub_head{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	color: var(--green);
}

.appli_single_info_section .appli_info_text{
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.89;
}


.appli_single_info_section .detail_list{
	margin-top: 24px;
	font-size: 18px;
	line-height: 1.89;
}

.appli_single_info_section .appli_table_frame{
	margin-top: 24px;

}


.appli_single_info_section .appli_table{
	
}

.appli_single_info_section .appli_table th,
.appli_single_info_section .appli_table td{
	font-size: 18px;
	line-height: 1.78;
	padding:18px 32px;
	vertical-align: top;
	text-align: left;
}

.appli_single_info_section .appli_table th{
	white-space: nowrap;
	font-weight: bold;
	min-width: 220px;
	background-color: #efefef;
	border:1px solid #ccc;
}

.appli_single_info_section .appli_table td{
	width:100%;
	max-width: calc(100% - 220px);
	border:1px solid #ccc;
}

.appli_single_info_section .appli_table_map{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.appli_single_info_section .appli_table_map::before{
	content:'';
	width: 16px;
	height: 24px;
	flex-shrink: 0;
	margin-right: 8px;
	background-image: url('../img/common/icon_map_green.png');
	
}


/*
------------------------------------
カタログ・取扱説明書ダウンロード 
------------------------------------
*/



body.download_body{
	
}

main.download_main{

}

.download_mv_section{
	background-image: url('../img/download/download_mv.jpg');
}


.download_contents_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.download_contents_section .download_category01::before{
	width: 50px;
	height: 89px;
	background-image: url('../img/download/icon_download01.png');
	left:40px;
}
.download_contents_section .download_category02::before{
	width: 94px;
	height: 52px;
	background-image: url('../img/download/icon_download02.png');
	left:20px;
}
.download_contents_section .download_category03::before{
	width: 96px;
	height: 60px;
	background-image: url('../img/download/icon_download03.png');
	left:20px;
}
.download_contents_section .download_category04::before{
	width: 89px;
	height: 80px;
	background-image: url('../img/download/icon_download04.png');
	left:20px;
}
.download_contents_section .download_category05::before{
	width: 89px;
	height: 73px;
	background-image: url('../img/download/icon_download05.png');
	left:20px;
}
.download_contents_section .download_category07::before{
	width: 64px;
	height: 94px;
	background-image: url('../img/download/icon_download07.png');
	left:32px;
}

.download_contents_section .download_category06{
	justify-content: center;
	padding-left: 0;
	padding-right: 12px;
	background-color: #333333;
}

.download_contents_section .download_frame{
	max-width: 1000px;
	margin:100px auto 0;
}

.download_contents_section .common_bottom_full_border_title.download_category06{
	border-bottom:2px solid #333333;
	background: none;
}

.download_contents_section .download_area + .download_area{
	margin-top: 100px;
}

.download_contents_section .no_result{
	font-size: 18px;
	margin-top: 24px;
}

.download_contents_section .download_item{
	border-bottom:1px solid #ccc;
	padding:30px 0;
}

.download_contents_section .download_block{
	display: flex;
	align-items: flex-start;
}
	

.download_contents_section .download_text_area{
	width:100%;
	padding-right: 8px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

.download_contents_section .download_thumb{
	flex-shrink: 0;
	width:110px;
	height:110px;
}

.download_contents_section .download_thumb img{
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.download_contents_section .download_button_area{
	flex-shrink: 0;
	margin-left: 30px;
	width:400px;
}

.download_contents_section .download_button_list{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:20px;
}

.download_contents_section .download_button_item{
	min-width: calc(50% - 10px);
}

.download_contents_section .download_button{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 44px;
	padding: 6px;
	border-radius: 4px;
	background-color: var(--yellow);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
	color: var(--green);
}

/*
------------------------------------
販売代理店　販売パートナー募集 
------------------------------------
*/



body.partner_body{
	
}

main.partner_main{

}

.partner_mv_section{
	background-image: url('../img/partner/partner_mv.jpg');
}


.common_anchor_box{
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fcfde0;
	overflow: hidden;
}

.common_anchor_box .box_head{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 70px;
	padding: 12px 24px;
	background-color: var(--green);
	cursor: pointer;
}

.common_anchor_box .box_head_text{
	position: relative;
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #fff;
}

.common_anchor_box .box_head_text::before{
	content:'';
	width: 30px;
	height: 20px;
	background-image: url('../img/common/icon_anchor_box.png');
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right:calc(100% + 18px);
	margin-top: 1px;
}

.common_anchor_box .box_head_text span{
	font-size: 16px;
	line-height: 1;
	color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left:calc(100% + 14px);
	white-space: nowrap;
}

.common_anchor_box .box_contents{
	padding:40px 24px 48px;
}

.common_anchor_box .box_contents_inner{
	max-width: 672px;
	margin:0 auto;
} 


.common_anchor_box .head_list{
	
}


.common_anchor_box .head_list li{
	line-height: 1.3;
}
.common_anchor_box .head_list li + li{
	margin-top: 24px;
}

.common_anchor_box .head_list a{
	padding-left: 20px;
	position: relative;
	font-size: 20px;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-color: #808080;
	transition-duration: 0.4s;
	display: block;
}

.common_anchor_box .head_list a::before{
	content:'';
	width: 12px;
	height: 2px;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:15px;
}

@media(any-hover:hover){
	.common_anchor_box .head_list a:hover{
		opacity: 0.7;
	}
}


.partner_anchor_section{
	padding-top: 100px;
}

.partner_product_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.partner_product_section .product_text{
	margin-top: 32px;
	font-size: 20px;
	line-height: 2;
}

.partner_product_section .product_img{
	max-width: 585px;
	margin:30px auto 0;
}

.partner_strength_section{
	position: relative;
	padding-top: 100px;
	padding-bottom: 100px;
}

.partner_strength_section .common_shape_bg{
	left:calc(50% + 300px);
}

.partner_strength_section .strength_text{
	margin-top: 32px;
	font-size: 20px;
	line-height: 2;
}

.partner_strength_section .strength_box{
	padding:52px 24px;
	background-color: #fff;
	margin-top: 40px;
}

.partner_strength_section .strength_img{
	max-width: 582px;
	margin:0 auto;
}

.partner_sale_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.partner_sale_section .sale_flex{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.partner_sale_section .sale_img{
	width:129px;
	flex-shrink: 0;
	margin-left: 52px;
	border:1px solid #ccc;
}

.partner_sale_section .sale_text{
	width:100%;
	font-size: 20px;
	line-height: 2;
}

.partner_support_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.partner_support_section .common_shape_bg{
	right:calc(50% + 240px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 500px) 100%, 0 100%);
}

.partner_support_section .sub_head{
	margin-top: 48px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.08;
	text-align: center;
	color: var(--green);
}

.partner_support_section .list_box{
	margin-top: 30px;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fcfde0;
	overflow: hidden;
	padding:40px 40px 52px;
}

.partner_support_section .list_box ol li{
	padding-left: 45px;
	counter-increment: cnt;
	position: relative;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	
}

.partner_support_section .list_box ol li + li{
	margin-top: 20px;
}

.partner_support_section .list_box ol li::before {
	content: counter(cnt)"";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height:30px;
	border-radius: 50%;
	background-color:var(--green);
	font-size: 20px;
	font-weight: bold;
	line-height:1;
	color: var(--yellow);
	position: absolute;
	left:0;
	top:0px;
	padding-bottom: 2px;
}

.partner_support_section .gal_box{
	margin-top: 50px;
	padding:50px 60px;
	background-color: #fff;
}

.partner_support_section .gal_list{
	display: flex;
	flex-wrap: wrap;
	gap:48px 40px;
}

.partner_support_section .gal_list li{
	width:500px;
}

.partner_support_section .gal_list img{
	width:auto;
	height:282px;
}

.partner_contact_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.partner_contact_section .p01{
	max-width: 800px;
	font-size: 20px;
	line-height: 2;
	margin:40px auto 0;
}


/*
------------------------------------
inti-fion方式（空気負イオン技術）
------------------------------------
*/

body.inti_body{
	
}

main.inti_main{

}

.inti_mv_section{
	background-image: url('../img/inti/inti_mv.jpg');
}

.negative-ion_mv_section{
	background-image: url('../img/inti/inti_mv.jpg');
}

.inti_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.inti_section  .inti_min_head{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.08;
	color: var(--green);
	text-align: center;
}



.inti_section .about_area{

}

.inti_section .about_area .about_flex{
	display: flex;
	align-items: flex-start;
	gap:0 60px;
	margin-top: 52px;
}

.inti_section .about_area .about_flex + .about_flex{
	flex-direction: row-reverse;
	margin-top: 80px;
}

.inti_section .about_area .about_img_box{
	width:384px;
	flex-shrink: 0;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fff;
	overflow: hidden;
}

.inti_section .about_area .about_img_head{
	height: 60px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	color: #fff;
}

.inti_section .about_area .about_img_contents{
	min-height:347px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:16px;
}

.inti_section .about_area .about_img{
	width:312px;
}

.inti_section .about_area .about_text_box{
	width:100%;
}

.inti_section .about_area .about_text_contents + .about_text_contents{
	margin-top: 40px;
}

.inti_section .about_area .inti_min_head{
	text-align: left;
}

.inti_section .about_area .about_text{
	margin-top: 10px;
	font-size: 20px;
	line-height: 2;
}

.inti_section .about_area .list_box{
	margin-top: 24px;
	padding:40px;
	border-radius: 4px;
	background-color: #fcfde0;
}

.inti_section .about_area .list_box li{
	position: relative;
	padding-left: 26px;
	font-size: 20px;
	line-height: 1.3;
}

.inti_section .about_area .list_box li + li{
	margin-top: 10px;
}

.inti_section .about_area .list_box li::before{
	content:'';
	width:11px;
	height:11px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:8px;
}

.inti_section .method_area{
	margin-top: 80px;
}

.inti_section .method_area .method_frame + .method_frame{
	margin-top: 56px;
}

.inti_section .method_area .method_box{
	margin-top: 30px;
	min-height: 480px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fff;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:24px 48px 24px 40px;
}

.inti_section .method_area .method_img img{
	height:370px;
	width:auto;
}

.inti_section .method_area .method_text_area{
	width:480px;
}


.inti_section .method_area .method_text{
	margin-top: 20px;
	font-size: 20px;
	line-height: 2;
}

.inti_section .method_area .method_remark{
	margin-top: 20px;
	padding:20px 30px;
	border-radius: 4px;
	background-color: #e9e9e9;
	font-size: 20px;
	line-height: 2;
}

.inti_section .method_area .method_remark.green{
	background-color: #e1f4e9;
}

.inti_section .strength_area{
	margin-top: 80px;
}

.inti_section .strength_area .strength_text{
	margin-top: 10px;
	font-size: 20px;
	line-height: 2;
}

.inti_section .comfortable_area{
	margin-top: 80px;
}

.inti_section .comfortable_area .comfortable_text{
	margin-top: 16px;
	font-size: 20px;
	line-height: 2;
}

.inti_section .comfortable_area .comfortable_head{
	margin-top: 36px;
	min-height: 54px;
	padding: 10px 12px;
	border-radius: 100px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.17;
	color: #fff;
}

.inti_section .comfortable_area .comfortable_box{
	margin-top: 20px;
	padding:42px 50px 40px;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: #fcfde0;
}


.inti_section .comfortable_area .box_head::before{
	margin-right: 6px;
	margin-top: 4px;
}

.inti_section .comfortable_area .comfortable_remark{
	margin-top: 10px;
	line-height: 1.63;
}

.inti_section .experiment_area{
	margin-top: 60px;
}

.inti_section .experiment_area .experiment_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:0 60px;
}

.inti_section .experiment_area .experiment_img{
	width:560px;
	flex-shrink: 0;
}

.inti_section .experiment_area .experiment_text_area{
	width:100%;
}

.inti_section .experiment_area .inti_min_head{
	text-align: left;
}

.inti_section .experiment_area ol li{
	padding-left: 40px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.8;
}

.inti_section .experiment_area ol li + li{
	margin-top: 15px;
}

.inti_section .experiment_area ol li::before {
	content: counter(cnt)"";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height:30px;
	border-radius: 50%;
	background-color:var(--green);
	font-size: 20px;
	font-weight: bold;
	line-height:1;
	color: var(--yellow);
	position: absolute;
	left:0;
	top:2px;
	padding-bottom: 2px;
}

.inti_section .experiment_area .experiment_text_area ol{
	margin-top: 24px;
}

.inti_section .experiment_area .experiment_head{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

.inti_section .experiment_area .experiment_text{
	font-size: 20px;
	line-height: 1.8;
	margin-top: 40px;
}

.inti_section .experiment_area ol .experiment_text{
	margin-top: 12px;
}

.inti_section .experiment_area .result_flex{
	margin-top: 60px;
	display: flex;
}

.inti_section .experiment_area .result_img{
	flex-shrink: 0;
	width:360px;
	margin-right: 40px;
}

.inti_section .experiment_area .result_text_box{
	width:100%;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfde0;
	padding:24px 50px;
	display: flex;
	align-items: center;
}

.inti_section .experiment_area .result_head{
	margin-bottom: 12px;
}

.inti_section .experiment_area .result_head::before{
	margin-right: 6px;
}

.inti_section .experiment_area .result_text{
	font-size: 20px;
	line-height: 2;
}

.inti_section .experiment_area .result_text .right{
	text-align: right;
	display: block;
}

.inti_section .experiment_area .result_text_box ol{
	margin-top: 24px;
}

.inti_section .experiment_area .result_text_box .result_text{
	line-height: 1.4;
}

.inti_section .experiment_area .result_remark_block{
	margin-top: 48px;
}

.inti_section .experiment_area .result_remark_block + .result_flex{
	margin-top: 32px;
}

.inti_section .experiment_area .remark_head{
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	color: var(--green);
	margin-bottom: 12px;
}

.inti_section .movie_area{
	margin-top: 80px;
}

.inti_section .movie_area .movie_flex{
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:0 28px;
}

.inti_section .movie_area .movie_frame{
	aspect-ratio: 1 / calc(328 / 586);
}

.inti_section .movie_area .movie_frame iframe{
	width:100%;
	height:100%;
	display: block;
}

.inti_section .movie_area .movie_name{
	font-size: 18px;
	line-height: 1.56;
	margin-top: 12px;
}

.inti_section .study_area{
	margin-top: 80px;
}

.inti_section .study_area .study_head{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 54px;
	padding: 8px 16px;
	border-radius: 1000px;
	background-color: var(--green);
	font-size: 24px;
	font-weight: bold;
	line-height: 1.17;
	color: #fff;
}

.inti_section .study_area .study_text{
	margin-top: 20px;
	font-size: 20px;
	line-height: 2;
}

.inti_section .study_area .study_text .right{
	display: block;
	text-align: right;
}

.inti_section .study_area .list_box{
	margin-top: 32px;
	padding:40px 50px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfde0;
}

.inti_section .study_area .list_box li{
	padding-left: 22px;
	position: relative;
	font-size: 20px;
	line-height: 1.8;
}

.inti_section .study_area .list_box li::before{
	content:'';
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:12px;
}

.inti_section .study_area .study_img{
	margin-top: 40px;
}

/*
------------------------------------
ひかりクリスタ
------------------------------------
*/

body.hikari_body{
	
}

main.hikari_main{

}

.hikari_mv_section{
	background-image: url('../img/hikari/hikari_mv.jpg');
}

.__photocatalyst_mv_section{
	background-image: url('../img/hikari/hikari_mv.jpg');
}

.hikari_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.hikari_link_section{
	padding-bottom: 0;
}

.hikari_section .hikari_text{
	font-size: 20px;
	line-height: 2;
}

.hikari_section .hikari_text .right{
	display: block;
	text-align: right;
}

.hikari_section .hikari_sub_head{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: var(--green);
}

.hikari_section .graph_name{
	display: flex;
	align-items: flex-start;
	gap:0 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

.hikari_section .graph_name::before{
	content:'';
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	background-color: var(--green);
	margin-right:10px;
	margin-top: 8px;
}

.hikari_outline_section{

} 

.hikari_outline_section .hikari_sub_head{
	margin-top: 56px;
}

.hikari_outline_section .hikari_text{
	max-width: 800px;
	margin-inline: auto;
	margin-top: 24px;
}

.hikari_outline_section .feature_box{
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	max-width: 1100px;
	margin:32px auto 0;
}

.hikari_outline_section .feature_list{
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.hikari_outline_section .feature_item{
	width: 320px;
	border-radius: 4px;
	background-color: #fcfde0;
	overflow: hidden;
}

.hikari_outline_section .feature_head{
	min-height: 54px;
	padding:4px 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}	

.hikari_outline_section .feature_contents{
	padding:24px 30px;
	font-size: 20px;
	line-height: 1.8;
}

.hikari_outline_section .crysta_box{
	max-width: 1100px;
	margin-inline: auto;
	margin-top: 72px;
	padding:40px 52px 40px 40px;
	display: flex;
	align-items: center;
	border-radius: 4px;
	border: solid 2px #379ad6;
	background-color: rgba(55 , 154 , 214 , 0.06);
	overflow: hidden;
}

.hikari_outline_section .crysta_img_area{
	flex-shrink: 0;
	width:116px;
	margin-right: 32px;
}

.hikari_outline_section .crysta_img + .crysta_img{
	margin-top: 12px;
}

.hikari_outline_section .crysta_contents{
	font-size: 20px;
	line-height: 1.8;
}

.hikari_outline_section .crysta_contents .blue{
	color: #379ad6;
}

.hikari_outline_section .crysta_contents + .crysta_contents{
	margin-top: 24px;
	line-height: 2.5;
}

.hikari_outline_section .crysta_contents span{
	padding: 4px 16px;
	border-radius: 4px;
	background-color: #379ad6;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}

.hikari_outline_section .theory_area{
	margin-top: 80px;
}

.hikari_outline_section .theory_box{
	max-width: 1100px;
	margin-inline: auto;
	margin-top: 30px;
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfde0;
	overflow: hidden;
}

.hikari_outline_section .theory_num{
	display: flex;
	align-items: flex-start;
	font-size: 20px;
	line-height: 1.8;
}

.hikari_outline_section .theory_num .radi{
	flex-shrink: 0;
	margin-right: 10px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	color: #fcffa3;
	padding-bottom: 2px;
	margin-top: 3px;
}

.hikari_outline_section .theory_info{
	margin-top: 32px;
}

.hikari_outline_section .theory_list{
	margin-top: 20px;
	display: flex;
	align-items: center;
	gap:22px;
}

.hikari_outline_section .theory_item{
	width:300px;
	aspect-ratio: 1 / 1;
}

.hikari_outline_section .theory_item img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.hikari_outline_section .theory_angle{
	width: 24px;
	height: 41px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background-color: var(--green);
} 

.hikari_outline_section .difference_area{
	max-width: 1100px;
	margin:80px auto 0;
}

.hikari_outline_section .difference_box{
	margin-top: 30px;
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfde0;
	overflow: hidden;
}

.hikari_outline_section .difference_head{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

.hikari_outline_section .difference_text{
	font-size: 20px;
	line-height: 1.8;
	margin-top: 4px;
}

.hikari_outline_section .difference_box li + li{
	margin-top: 32px;
}

.hikari_history_section{
	
}

.hikari_history_section .common_shape_bg{
	left:calc(50% + 280px);
}

.hikari_history_section .history_frame{
	margin-top: 50px;
}

.hikari01_section{
	
}

.hikari01_section .hikari_sub_head{
	margin-top: 48px;
}

.hikari01_section .hikari_sub_head span{
	font-size: 18px;
	padding:0 2px;
}

.hikari01_section .hikari_text{
	max-width: 800px;
	margin:10px auto 0;
}

.hikari01_section .feature_box{
	max-width: 1100px;
	margin:40px auto 0;
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fff;
	overflow: hidden;
}

.hikari01_section .feature_text{
	margin-top: 12px;
	font-size: 20px;
	line-height: 1.8;
}

.hikari01_section .feature_remark{
	margin-top: 12px;
	line-height: 1.5;
}

.hikari01_section .feature_contents{
	margin-top: 32px;
}

.hikari01_section .feature_contents .common_left_border_head span{
	font-size: 16px;
}

.hikari01_section .feature_flex{
	margin-top: 20px;
	display: flex;
}

.hikari01_section .feature_img{
	flex-shrink: 0;
}

.hikari01_section .feature_img img{
	height:176px;
	width:auto;
}

.hikari01_section .feature_angle{
	flex-shrink: 0;
	margin-left: 11px;
	margin-right: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hikari01_section .feature_angle::after{
	content:'';
	width: 24px;
	height: 41px;
	background-color: var(--green);
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

.hikari01_section .feature_info{
	width:100%;
	display: flex;
	align-items: center;
	padding:24px 0;
	padding-left: 44px;
	padding-right: 60px;
	border-radius: 4px;
	background-color: #fcfde0;
	font-size: 20px;
	line-height: 1.8;
}

.hikari01_section .graph_area{
	margin-top: 60px;
}

.hikari01_section .graph_head{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:20px 0;
}

.hikari01_section .graph_head span{
	background-color: #fcffa3;
}

.hikari01_section .graph_frame{
	width: fit-content;
	margin:56px auto 0;
}

.hikari01_section .graph{
	margin-top: 20px;
	max-width: 650px;
	margin-inline: auto;
}	

.hikari02_section{

}

.hikari02_section .common_shape_bg{
	right:calc(50% + 240px);
	clip-path: polygon(0 0, 100% 0, calc(100% - 1100px) 100%, 0 100%);
}


.hikari02_section .hikari_sub_head{
	margin-top: 48px;
}

.hikari02_section .hikari_text{
	max-width: 800px;
	margin-inline: auto;
	margin-top: 10px;
}

.hikari02_section .hikari_text + .hikari_text{
	margin-top: 20px;
}

.hikari02_section .white_box{
	padding:50px;
	border-radius: 4px;
	background-color: #fff;
	margin-top: 50px;
}

.hikari02_section .feature_box{
	border-radius: 4px;
	border: solid 2px #0aa546;
	padding:40px;
}

.hikari02_section .feature_box ol {
	margin-top: 24px;
}

.hikari02_section .feature_box ol li{
	padding-left: 32px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.2;
}

.hikari02_section .feature_box ol li + li{
	margin-top: 16px;
}

.hikari02_section .feature_box ol li span{
	font-size: 16px;
}
.hikari02_section .feature_box ol li::before {
	content: counter(cnt)".";
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
	position: absolute;
	left:0;
	top:-1px;
}

.hikari02_section .feature_img{
	max-width: 702px;
	margin:30px auto 0;
}

.hikari02_section .plate_area{
	margin-top: 60px;
}

.hikari02_section .plate_flex{
	display: flex;
	align-items: center;
	gap:0 50px;
}

.hikari02_section .plate_img{
	flex-shrink: 0;
	width:600px;
}

.hikari02_section .plate_text_area{
	width:100%;
}

.hikari02_section .plate_head{
	line-height: 1.7;
	text-align: left;
	margin-top: 0;
}

.hikari02_section .plate_text{
	margin-top: 12px;
}

.hikari02_section .graph_frame{
	width: fit-content;
	margin:80px auto 0;
}

.hikari02_section .graph{
	width:930px;
	max-width: 100%;
	margin:20px auto 0;
}

.hikari02_section .graph_head{
	margin-top: 50px;
	text-align: center;
	line-height: 1.2;
}

.hikari02_section .graph_head span{
	font-size: 24px;
	font-weight: bold;
	background-color: var(--yellow);
	
}

.hikari02_section .merit_area{
	margin-top: 80px;
}

.hikari02_section .merit_box{
	border-radius: 4px;
	border: solid 2px #0aa546;
	background-color: #fcfde0;
	overflow: hidden;
	margin-top: 30px;
	padding:40px;
}

.hikari02_section .merit_head{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

.hikari02_section .merit_text{
	font-size: 20px;
	line-height: 1.8;
	margin-top: 6px;
}

.hikari03_section{

}

.hikari03_section .hikari_sub_head{
	margin-top: 44px;
}

.hikari03_section .hikari_text{
	max-width: 800px;
	margin-inline: auto;
	margin-top: 10px;
}

.hikari03_section .feature_box{
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	max-width: 1100px;
	margin:48px auto 0;
}

.hikari03_section .feature_text{
	font-size: 20px;
	line-height: 1.8;
	margin-top: 16px;
}

.hikari03_section .feature_box ol {
	margin-top: 24px;
}

.hikari03_section .feature_box ol li{
	padding-left: 32px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.2;
}

.hikari03_section .feature_box ol li + li{
	margin-top: 16px;
}

.hikari03_section .feature_box ol li span{
	font-size: 16px;
}
.hikari03_section .feature_box ol li::before {
	content: counter(cnt)".";
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
	position: absolute;
	left:0;
	top:-1px;
}

.hikari03_section .feature_img{
	max-width: 760px;
	margin:40px auto 0;
}

.hikari03_section .example_frame{
	max-width: 760px;
	margin:50px auto 0;
}

.hikari03_section .example_item{
	position: relative;
}


.hikari03_section .example_head{
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
	height: 34px;
	padding-left:16px;
	padding-right: 32px;
	background-color: var(--green);
	font-size: 19px;
	font-weight: bold;
	line-height: 1.47;
	color: #fff;
	clip-path: polygon(0 0, 100% 0, 87% 100%, 0% 100%);
}

.hikari03_section .graph_frame{
	width: fit-content;
	margin:70px auto 0;
}

.hikari03_section .graph{
	width:720px;
	max-width: 100%;
	margin:20px auto 0;
}

.hikari04_section{

}

.hikari04_section .common_shape_bg{
	left:calc(50% - 100px);
	clip-path: polygon(900px 0, 100% 0, 100% 100%, 0 100%);
}

.hikari04_section .text_contents{
	margin-top: 40px;
}

.hikari04_section .head_text{
	margin-top: 24px;
	font-size: 20px;
	font-weight: bold;
	line-height: 2;
}

.hikari04_section .min_text{
	line-height: 2;
}

.hikari04_section .white_box{
	padding:50px;
	margin:48px auto 0;
	border-radius: 4px;
	background-color: #fff;
}

.hikari04_section .feature_box{
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
}

.hikari04_section .feature_box ol {
	margin-top: 24px;
}

.hikari04_section .feature_box ol li{
	padding-left: 32px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.8;
}

.hikari04_section .feature_box ol li + li{
	margin-top: 16px;
}

.hikari04_section .feature_box ol li span{
	font-size: 16px;
}
.hikari04_section .feature_box ol li::before {
	content: counter(cnt)".";
	font-size: 20px;
	font-weight: bold;
	line-height: 1.8;
	color: var(--green);
	position: absolute;
	left:0;
	top:-1px;
}

.hikari04_section .feature_img{
	margin-top: 32px;
}

.hikari04_section .graph_frame{
	width: fit-content;
	margin:70px auto 0;
}

.hikari04_section .graph{
	width:720px;
	max-width: 100%;
	margin:20px auto 0;
}

.hikari04_section .ethanol_box{
	margin-top: 50px;
	padding:40px;
	border-radius: 4px;
	background-color: #fcfde0;
	max-width: 880px;
	margin-inline: auto;
}

.hikari04_section .ethanol_box + .ethanol_box{
	margin-top: 20px;
}

.hikari04_section .ethanol_head{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 20px;
	position: relative;
}


.hikari04_section .ethanol_head::before{
	content:'';
	width: 13px;
	height:13px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:8px;
}

.hikari04_section .ethanol_sub_head{
	margin-top: 20px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: var(--green);
	margin-left: 20px;
}

.hikari04_section .ethanol_contents + .ethanol_contents{
	margin-top: 32px;
}

.hikari04_section .ethanol_box ul{
	margin-top: 12px;
	margin-left: 20px;
}

.hikari04_section .ethanol_box ul li{
	position: relative;
	padding-left: 20px;
	font-size: 20px;
	line-height: 1.5;
}

.hikari04_section .ethanol_box ul li::before{
	content:'・';
	font-size: 20px;
	line-height: 1.5;
	position: absolute;
	left:0;
	top:0;
}

.hikari04_section .ethanol_box ul li + li{
	margin-top: 8px;
}

.hikari04_section .ethanol_text{
	margin-top: 12px;
	font-size: 20px;
	line-height: 2;
}

.hikari05_section{

}

.hikari05_section .hikari05_inner{
	max-width: 1100px;
	margin-inline: auto;
}

.hikari05_section .hikari_text{
	max-width: 800px;
	margin:40px auto 0;
}

.hikari05_section .feature_box{
	padding:40px;
	border-radius: 4px;
	border: solid 2px #0aa546;
	margin:48px auto 0;
}

.hikari05_section .feature_box ol {
	margin-top: 20px;
}

.hikari05_section .feature_box ol li{
	padding-left: 32px;
	counter-increment: cnt;
	position: relative;
	font-size: 20px;
	line-height: 1.8;
}

.hikari05_section .feature_box ol li + li{
	margin-top: 16px;
}

.hikari05_section .feature_box ol li::before {
	content: counter(cnt)".";
	font-size: 20px;
	font-weight: bold;
	line-height: 1.8;
	color: var(--green);
	position: absolute;
	left:0;
	top:-1px;
}

.hikari05_section .feature_box .feature_head{
	font-weight: bold;
}


.hikari05_section .experiment_area{
	margin-top: 56px;
}

.hikari05_section .table_area{
	margin-top: 24px;
}

.hikari05_section .table_area + .table_area{
	margin-top: 36px;
}

.hikari05_section .table_head{
	min-height: 50px;
	padding: 10px 16px;
	border-radius: 9999px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	gap:0 14px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	color: #fff;
}

.hikari05_section .table_head span{
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--yellow);
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 2px;
}

.hikari05_section .table_frame{
	margin-top: 30px;
	position: relative;
}

.hikari05_section .table_frame::after{
	content:'';
	width: 110px;
	height: 110px;
	border-radius: 50%;
	right:-55px;
	bottom:-55px;
	position: absolute;
	z-index: 3;
}

.hikari05_section .table_frame01::after{
	background-image: url('../img/hikari/table_deco05_01.png');
}
.hikari05_section .table_frame02::after{
	background-image: url('../img/hikari/table_deco05_02.png');
}

.hikari05_section .table_remark{
	margin-top: 16px;

}

.hikari05_section .table_remark li{
	position: relative;
	padding-left: 32px;
	counter-increment: cnt;
	line-height: 1.63;
}

.hikari05_section .table_remark li::before {
	content: "※"counter(cnt);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.63;
	color: #e7340c;
	position: absolute;
	left:0;
	top:0;
}

.hikari05_section .type_area{
	margin-top: 60px;
}

.hikari05_section .type_head{
	padding:18px 0;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	text-align: center;
	border-top:2px solid var(--green);
	border-bottom:2px solid var(--green);
}

.hikari05_section .type_list{
	margin-top: 32px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:32px;
}

.hikari05_section .type_card{
	display: block;
}

.hikari05_section .type_thumb{
	aspect-ratio: 1 / calc(260 / 346);
}

.hikari05_section .type_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.hikari05_section .type_name{
	margin-top: 16px;
	text-align: center;
	font-size: 18px;
	line-height: 1.56;
}

.hikari_product_section{

} 

.hikari_product_section .common_shape_bg{
	left:calc(50% + 240px);
}

.hikari_product_section .product_list{
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:36px 30px;
}

.hikari_product_section .product_card{
	display: block;
}

.hikari_product_section .product_thumb{
	aspect-ratio: 1 / calc(253 / 380);
}

.hikari_product_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.hikari_product_section .product_name{
	margin-top: 16px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.33;
}

.hikari_movie_section .movie_frame{
	max-width: 640px;
	aspect-ratio: 1 / calc(360 / 640);
	margin:50px auto 0;
}

.hikari_movie_section .movie_frame iframe{
	display: block;
	width:100%;
	height:100%;
}


/*
------------------------------------
お役立ち情報 詳細
------------------------------------
*/

body.single_column_body{
	
}

main.single_column_main{

}

.single_column_mv_section{
	background-image: url('../img/column/column_mv.jpg');
}

.single_column_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.single_column_section .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap:50px;
}

.common_column_sidebar{
	flex-shrink: 0;
	width:300px;
}

.common_column_sidebar .common_left_border_head{
	margin-top: 0;
}

.common_column_sidebar a{
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_column_sidebar a:hover{
		opacity: 0.7;
	}
}


.common_column_sidebar .author_block{
	padding:24px 8px;
	border-radius: 4px;
	border: solid 2px var(--green);
	background-color: rgba(10 , 165 , 70 , 0.08);
	overflow: hidden;
}

.common_column_sidebar .author_head{
	width: fit-content;
	margin:0 auto;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	color: var(--green);
	border-bottom:1px solid var(--green);
	padding-bottom: 10px;
}

.common_column_sidebar .author_name{
	margin-top: 8px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.common_column_sidebar .relation_area{
	margin-top: 64px;
}

.common_column_sidebar .relation_list{
	margin-top: 8px;
}

.common_column_sidebar .relation_list li + li{
	border-top:1px solid #ccc;
}

.common_column_sidebar .relation_block{
	display: block;
	padding:20px 0;
	font-weight: 500;
	line-height: 1.88;
	color: var(--green);
}

.common_column_sidebar .category_area{
	
}

.common_column_sidebar .author_block + .category_area,
.common_column_sidebar .relation_area + .category_area{
	margin-top: 64px;
}

.common_column_sidebar .category_list{
	margin-top: 24px;
}

.common_column_sidebar .category_list li + li{
	margin-top: 18px;
}

.common_column_sidebar .category_list a{
	display: flex;
	align-items: flex-start;
	font-size: 18px;
	line-height: 1.3;
}

.common_column_sidebar .category_list a.active span{
	border-bottom:1px solid;
}

.common_column_sidebar .category_list a::before{
	content:'';
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-image: url('../img/common/icon_radi_arrow_right_green_white.png');
	flex-shrink: 0;
	margin-right: 12px;
	margin-top: 1px;
}


.common_column_sidebar .news_category_list{
	margin-top: 24px;
}

.common_column_sidebar .news_category_list li + li{
	margin-top: 18px;
}


.common_column_sidebar .news_category_list a{
	display: flex;
	align-items: center;
	gap:12px;
}

.common_column_sidebar .news_category_list a::before{
	content:'';
	width:13px;
	height:12px;
	flex-shrink: 0;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.common_column_sidebar .news_category_list a span{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 112px;
	min-height:28px;
	padding:3px 6px;
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	color:#fff;
}
.single_column_section .single_column_article{
	width:800px
}

.single_column_section .column_title{
	font-size: 38px;
	font-weight: bold;
	line-height: 1.58;
	text-align: left;
}

.single_column_section .info_flex{
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap:20px;
}

.single_column_section .column_date{
	flex-shrink: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #ababab;
}

.single_column_section .column_category{
	min-height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:6px 16px;
	border-radius: 9999px;
	background-color: var(--green);
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color:#fff;
}

.single_column_section .common_anchor_box{
	margin-top: 50px;
}

.single_column_section .common_single_block{
	margin-top: 60px;
}

.common_single_block{
	line-height: 1.5;
}


.common_single_block h2{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	text-align: left;
	padding-bottom: 12px;
	border-bottom:2px solid var(--green);
	margin-top:80px;
	margin-bottom: 24px;
}

.common_single_block h3{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	color: var(--green);
	margin-top: 40px;
	margin-bottom: 16px;
}

.common_single_block p{
	font-size: 20px;
	line-height: 2;
}

.common_single_block > p{
	margin:16px 0;
}

.common_single_block p a{
	color:var(--green);
	border-bottom:1px solid var(--green);
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_single_block p a:hover{
		opacity: 0.7;
	}
}


.common_single_block .wp-block-image{
	max-width: 100%;
	margin:24px 0;
}

.common_single_block .wp-block-buttons{
	margin:32px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.common_single_block .wp-block-button__link{
	min-width: 460px;
	min-height: 72px;
	border-radius: 4px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #fff;
	position: relative;
	transition-duration: 0.4s;
	transition-property: background-color;
	padding:12px 56px;
}

.common_single_block .wp-block-button__link::after{
	content:'';
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-image: url('../img/common/icon_radi_arrow_right_white_green.png');
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
}

@media(any-hover:hover){
	.common_single_block .wp-block-button__link:hover{
		background-color: #078638;
	}
}


.common_single_block ul{
	margin:24px 0;
}

.common_single_block ul li{
	padding-left: 20px;
	font-size: 20px;
	line-height: 2;
	position: relative;
}

.common_single_block ul li::before{
	content:'';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:15px;
}


.common_single_block ol{
	margin:24px 0;
}

.common_single_block ol li{
	padding-left: 32px;
    counter-increment: cnt;
    position: relative;
    font-size: 20px;
    line-height: 2;
}

.common_single_block ol li::before {
    content: counter(cnt) ".";
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
    color: var(--green);
    position: absolute;
    left: 0;
    top: 0;
}

/*
------------------------------------
お役立ち情報 一覧
------------------------------------
*/

body.archive_column_body{
	
}

main.archive_column_main{

}

.archive_column_mv_section{
	background-image: url('../img/column/column_mv.jpg');
}

.archive_column_list_section{
	padding-top: 100px;
	padding-bottom: 150px;
}

.archive_column_list_section .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap:50px;
}

.archive_column_list_section .archive_column_article{
	width:800px;
}

.archive_column_list_section .column_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:48px 0;
}

.archive_column_list_section .column_item{
	width:48.5%;
	max-width: 380px;
}

.archive_column_list_section .column_card{
	display: block;
}

.archive_column_list_section .column_thumb{
	aspect-ratio: 1 / calc(238 / 380);
}

.archive_column_list_section .column_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.archive_column_list_section .column_text_area{
	padding-top: 24px;
}

.archive_column_list_section .column_info_flex{
	display: flex;
	align-items: center;
	gap:16px;
}

.archive_column_list_section .column_date{
	flex-shrink: 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.02em;
	color: #ababab;
}

.archive_column_list_section .column_category{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 28px;
	padding: 4px 16px;
	border-radius: 9999px;
	background-color: var(--green);
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}

.archive_column_list_section .column_title{
	margin-top: 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
}

.common_page_nation{
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:20px;
}

.common_page_nation span.current{/*現在のページボタン*/
	width: 40px;
	height: 40px;
	background-color:var(--green);
	border: 1px solid var(--green);
	color: #ffffff;
	border-radius: 50%;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.common_page_nation a.page-numbers{/*指定のページ移動ボタン*/
	width: 40px;
	height: 40px;
	color:var(--green);
	border: 1px solid var(--green);
	border-radius: 50%;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	transition-duration: 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
	
}

.common_page_nation a.page-numbers.next::after,
.common_page_nation a.page-numbers.prev::after{/*next prevボタン*/
	content:'';
	width:12px;
	height:11px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.common_page_nation a.page-numbers.prev::after{
	transform: rotateZ(180deg);
}

@media(any-hover:hover){
	.common_page_nation a.page-numbers:hover{
		background-color:var(--green);
	}

	.common_page_nation a.page-numbers:hover.next::after,
	.common_page_nation a.page-numbers:hover.prev::after{
		background-image: url('../img/common/icon_arrow_min_right_white.png');
	}

}



/*
------------------------------------
お知らせ 一覧
------------------------------------
*/

body.archive_news_body{
	
}

main.archive_news_main{

}

.archive_news_mv_section{
	background-image: url('../img/news/news_mv.jpg');
}


.archive_news_list_section{
	padding-top: 100px;
	padding-bottom: 140px;
}

.archive_news_list_section .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.archive_news_list_section .archive_news_article{
	width: 100%;
	max-width: 800px;
}

.archive_news_list_section .news_list{

}

.archive_news_list_section .news_item{
	border-bottom:1px solid #e9e9e9;
}

.archive_news_list_section .news_block{
	padding:25px 0;
	display: block;
}

.archive_news_list_section .news_info_flex{
	display: flex;
	align-items: center;
	
}

.archive_news_list_section .news_date{
	flex-shrink: 0;
	min-width: 93px;
	padding-right: 6px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
	letter-spacing: 0.02em;
	color: #ababab;
}

.archive_news_list_section .news_category{
	min-width: 112px;
	min-height: 26px;
	padding: 4px 12px;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #fff;
}

.archive_news_list_section .news_category.news_event{
	background-color: #2ea8d0;
}
.archive_news_list_section .news_category.news_product{
	background-color: var(--green);
}
.archive_news_list_section .news_category.news_info{
	background-color: #eca826;
}
.archive_news_list_section .news_category.news_other{
	background-color: #003fb2;
}

.archive_news_list_section .news_title{
	margin-top: 12px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.67;
}

/*
------------------------------------
お知らせ 詳細
------------------------------------
*/

body.single_news_body{
	
}

main.single_news_main{

}

.single_news_mv_section{
	background-image: url('../img/news/news_mv.jpg');
}


.single_news_section{
	padding-top: 100px;
	padding-bottom: 140px;
}

.single_news_section .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.single_news_section .single_news_article{
	width: 100%;
	max-width: 800px;
}

.single_news_section .news_title{
	font-size: 38px;
	font-weight: bold;
	line-height: 1.58;
	letter-spacing: 0.02em;
	text-align: left;
}

.single_news_section .info_flex{

}

.single_news_section .info_flex{
	margin-top: 16px;
	display: flex;
	align-items: center;
	gap:20px;
}

.single_news_section .news_date{
	flex-shrink: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #ababab;
	letter-spacing: 0.02em;
}

.single_news_section .news_category{
	min-width:112px;
	min-height: 26px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:3px 16px;
	border-radius: 9999px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
	color:#fff;
}

.single_news_section .news_category.news_event{
	background-color: #2ea8d0;
}
.single_news_section .news_category.news_product{
	background-color: var(--green);
}
.single_news_section .news_category.news_info{
	background-color: #eca826;
}

.single_news_section .news_single_block{
	padding-top: 40px;
	margin-top: 30px;
	border-top:3px solid var(--green);
}

.single_news_section .common_single_block h2{
	padding:20px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	background-color: #fcfce0;
	border-top:2px solid var(--green);
	border-bottom:2px solid var(--green);
}

.single_news_section .link_flex{
	max-width: 570px;
	margin:100px auto ;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:0 10px;
}

.single_news_section .link_flex .link{
	min-width: 85px;
}

.single_news_section .link_flex .link a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition-duration: 0.4s;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color: var(--green);
}

.single_news_section .link_flex .link a::after{
	content:'';
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-image: url('../img/common/icon_radi_arrow_right_green_white.png');
}


.single_news_section .link_flex .link.link_prev a{
	flex-direction: row-reverse;
}

.single_news_section .link_flex .link.link_prev a::after{
	transform: rotateZ(180deg);
}

@media(any-hover:hover){
	.single_news_section .link_flex .link a:hover{
		opacity: 0.7;
	}
}


.single_news_section .link_flex .link_archive{
	width: 300px;
	height: 72px;
	border-radius: 4px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	transition-duration: 0.4s;
	color: #fff;
}

@media(any-hover:hover){
	.single_news_section .link_flex .link_archive:hover{
		background-color: #078638;
	}
}


/*
------------------------------------
高精度機械加工
------------------------------------
*/

body.metal_body{
	
}

main.metal_main{

}

.metal_mv_section{
	background-image: url('../img/metal/metal_mv.jpg');
}

.tec_metalproc_mv_section{
	background-image: url('../img/metal/metal_mv.jpg');
}


.metal_link_section{
	padding-top: 100px;
}

.metal_tec_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.metal_tec_section .tec_img{
	max-width: 778px;
	margin:50px auto 0;
}

.metal_example_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.metal_example_section .common_shape_bg{
	left:calc(50% + 240px);
}

.metal_example_section .example_list{
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:30px;
}

.metal_example_section .example_thumb{
	aspect-ratio: 1 / calc(280 / 380);
}

.metal_example_section .example_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 4px;
}

.metal_example_section .example_name{
	margin-top: 16px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.metal_equipment_section{
	padding-top: 100px;
	padding-bottom: 100px;
} 

.metal_equipment_section .equipment_area{
	margin-top: 50px;
	position: relative;
	padding-right: 330px;
}

.metal_equipment_section .equipment_list{
	margin-top: 24px;
}

.metal_equipment_section .equipment_line{
	display: flex;
	align-items: flex-start;
	gap:16px;
	font-size: 20px;
	line-height: 1.3;
}


.metal_equipment_section .equipment_line + .equipment_line{
	margin-top: 8px;
}

.metal_equipment_section .equipment_text01{
	flex-shrink: 0;
	width: 275px;
	
}
.metal_equipment_section .equipment_img_area{
	position: absolute;
	right:0;
	top:0;
	width:306px;
}


.metal_equipment_section .equipment_img_block + .equipment_img_block{
	margin-top: 40px;
}

.metal_equipment_section .equipment_img_name{
	margin-top: 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.56;
	text-align: center;
}

/*
------------------------------------
サポート情報
------------------------------------
*/

body.support_body{
	
}

main.support_main{

}

main.support_main .common_support_section{
	margin-top: 150px;
}

.support_mv_section{
	background-image: url('../img/support/support_mv.jpg');
}

.support_section .support_inner{
	max-width: 1000px;
	margin-inline: auto;
}

.support_about_section{
	padding-top: 100px;
}

.support_about_section .support_img{
	margin-top: 50px;
}

.support_about_section .green_box{
	border-radius: 4px;
	background-color: var(--green);
	padding:56px 12px 50px;
}

.support_about_section .form_box{
	margin-top: 50px;
	
}

.support_about_section .box_head{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:0 12px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

.support_about_section .box_head::before,
.support_about_section .box_head::after{
	content:'';
	width: 28px;
	height: 2px;
	background-color: #efefef;
}

.support_about_section .box_head .mail{
	display: flex;
	align-items: center;
	gap:0 9px;
}

.support_about_section .box_head .mail::before{
	content:'';
	width: 30px;	
	height: 21px;
	flex-shrink: 0;
	background-image: url('../img/common/icon_mail_white.png');
	margin-top: 2px;
}

.support_about_section .button_flex{
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:40px;
}

.support_about_section .support_button{
	width: 360px;
    height: 85px;
    display: flex;
    align-items: center;
    border-radius: 4px;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.2;
    position: relative;
    transition-duration: 0.4s;
}

.support_about_section .support_button::before{
	content:'';
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

.support_about_section .support_button.personal{
	padding-left: 75px;
	background-color: var(--yellow);
	color: var(--green);
	border:1px solid var(--yellow);
}
.support_about_section .support_button.personal::before{
	width: 27px;
	height: 23px;
	left:28px;
	background-image: url('../img/common/icon_personal_green.png');
}

.support_about_section .support_button.company{
	padding-left: 79px;
	border:1px solid #fff;
	color: #fff;
}
.support_about_section .support_button.company::before{
	width: 23px;
	height: 32px;
	left:32px;
	background-image: url('../img/common/icon_company_white.png');
}



@media(any-hover:hover){

	.support_about_section .support_button.personal:hover{
		border-color: #fff;
		background-color: var(--green);
		color: #fff;
	}
	.support_about_section .support_button.personal:hover::before{
		background-image: url('../img/common/icon_personal_white.png');
	}

	.support_about_section .support_button.company:hover{
		background-color: var(--yellow);
		color: var(--green);
		border-color: var(--yellow);
	}
	.support_about_section .support_button.company:hover::before{

		background-image: url('../img/common/icon_company_green.png');
	}
	
}

.support_about_section .time_flex{
	margin-top: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:16px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
	color: #fff;
}

.support_about_section .time_flex span{
	font-size: 16px;
	font-weight: 500;
}

.support_about_section .tel_box{
	margin-top: 50px;
}

.support_about_section .tel_num{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	margin-top: 32px;
	font-family: 'Lato', sans-serif;
	font-size: 50px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}

.support_about_section .tel_num::before{
	content:'';
	width: 57px;
	height: 44px;
	background-image: url('../img/common/icon_free_call_white.png');
}

.support_about_section .tel_time{
	margin-top: 20px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.56;
	text-align: center;
	color: #fff;
}

.support_about_section .banner_area{
	margin-top: 80px;
}

.support_about_section .banner_text{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.support_about_section .banner{
	display: block;
	margin-top: 30px;
}

.support_faq_section{
	padding-top: 120px;
}

.support_faq_section .faq_list{
	margin-top: 48px;
}

.support_faq_section .faq_question{
	position: relative;
	padding:28px 56px 28px 72px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 1px solid  #ccc;
	cursor: pointer;
}

.support_faq_section .faq_question::before{
	content:'Q';
	font-family: 'Lato', sans-serif;
	width: 38px;
	height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	border-radius: 50%;
	color:#fff;
	position: absolute;
	left:20px;
	top:22px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
}

.support_faq_section .faq_question::after{
	content:'';
	width:22px;
	height:22px;
	background-image: url('../img/common/icon_plus_green.png');
	position: absolute;
	right:20px;
	top:32px;
}

.support_faq_section .faq_question.active::after{
	background-image: url('../img/common/icon_minus_green.png');
}

.support_faq_section .faq_answer{
	padding-bottom: 30px;
	display: none;
}

.support_faq_section .faq_answer_text{
	position: relative;
	background-color: rgba(10 , 165 , 70 , 0.08);
	padding:32px 32px 48px 72px;
	line-height: 2;
}

.support_faq_section .faq_answer_text::before{
	content:'A';
	font-family: 'Lato', sans-serif;
	width: 38px;
	height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: solid 2px var(--green);
	background-color: #fff;
	color:var(--green);
	position: absolute;
	left:20px;
	top:32px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.27;
}


/*
------------------------------------
製品検索
------------------------------------
*/

body.search_body{
	
}

main.search_main{

}

.search_mv_section{
	background-image: url('../img/search/search_mv.jpg');
}

.search_section{
	padding-top: 60px;
	padding-bottom: 100px;
}

.search_section .search_inner{
	max-width: 800px;
	margin-inline: auto;
}

.search_section .search_flex{
	max-width: 600px;
	margin:0 auto;

}

.search_section .search_flex form{
	display: flex;
}

.search_section .search_keyword {
    width: 100%;
    height: 40px;
    border:1px solid #ccc;
	border-right: none;
    padding: 0 12px;
    letter-spacing: 0.04em;
}

.search_section .search_button {
	flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: var(--green);
}

.search_section .search_button::after{
	content: '';
    width: 14px;
    height: 14px;
    background-image: url(../img/common/icon_search_white.png);
}

.search_section .page_title{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-top: 16px;
}

.search_section .keyword_head{
	margin-top: 16px;
	width: fit-content;
	margin-inline: auto;
}

.search_section .no_result{
	font-weight: bold;
	margin-top: 40px;
	text-align: center;
}

.search_section .search_list{
	margin-top: 40px;
}

.search_section .search_item{
	border-bottom: 1px solid #ccc;
}

.search_section .search_item:first-child{
	border-top: 1px solid #ccc;
}

.search_section .search_card{
	display: block;
	padding:20px 0;
}

.search_section .search_name{
	font-size: 24px;
	font-weight: bold;
}

.search_section .total_result{
	width: fit-content;
	margin:16px auto 0;
	letter-spacing: 0.02em;
}

.search_section .total_result strong{
	font-size: 22px;
}

.search_section .search_text{
	margin-top: 6px;
	font-size: 18px;
	line-height: 2;
}


/*
------------------------------------
フォームページ共通
------------------------------------
*/

body.form_body{
	
}

main.form_main{

}

.form_section{
	padding-top: 100px;
}

.form_section .container{
	max-width: 1040px;
}

.form_section .page_title{
	font-size: 32px;
	text-align: center;
	line-height: 1.5;
	font-weight: bold;
}

.form_section .web_text_area{
	margin-top: 64px;
}

.form_section .web_head{
	font-size: 28px;
	text-align: center;
	font-weight: bold;
	color:var(--green);
}

.form_section .web_text{
	margin-top: 16px;
	font-size: 18px;
	line-height: 2;
}

.form_section .web_text p + p{
	margin-top: 8px;
}

.form_section .web_ol{
	margin-top: 48px;
}

.form_section .web_ol a{
	color:rgb(29, 105, 237);
}

.form_section .web_ol li{
	padding-left: 24px;
	counter-increment: cnt;
	position: relative;
	font-size: 18px;
	line-height: 1.8;
}

.form_section .web_ol li + li{
	margin-top: 10px;
}

.form_section .web_ol li::before {
	content: counter(cnt)".";
	font-size: 18px;
	line-height: 1.8;
	font-weight: bold;
	color: var(--green);
	position: absolute;
	left:0;
	top:0;
}

.form_section .must_text{
	font-size: 18px;
	margin-top: 16px;
}

.form_section .must_text span{
	color:#ff0000;
}

.form_section .form_area{
	margin-top: 64px;
}

.form_section .form_box{
	border:2px solid var(--green);
	border-radius: 4px;
	padding:40px;
}

.form_section .form_line{
	display: flex;
	align-items: flex-start;
}

.form_section .form_line{
	margin-top: 32px;
}

.form_section .form_left{
	flex-shrink: 0;
	width:240px;
	padding-right: 16px;
}

.form_section .form_right{
	width:100%;
}

.form_section .form_label{
	font-size: 18px;
	display: flex;
	align-items: center;
	min-height: 40px;
	position: relative;
	width: fit-content;
}

.form_section .form_label.must::after{
	content:'＊';
	font-size: 18px;
	color:#ff0000;
	margin-left: 4px;
}

.form_section .text_input{
	display: block;
	width:100%;
	height:40px;
	padding:0 12px;
	font-size: 18px;
	letter-spacing: 0.02em;
	border:1px solid gray;
}

.form_section .radio_list{
	padding-top: 7px;
}
.form_section .radio_list .wpcf7-form-control{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:16px 24px;
}

.form_section .radio_list .wpcf7-list-item{
	margin:0
}

.form_section .radio_list label{
	display: flex;
	align-items: center;
	gap:6px;
}
.form_section .address_flex{
	display: flex;
	align-items: flex-start;
	gap:16px;
}

.form_section .address_example{
	margin-top: 8px;
}

.form_section .address_remark{
	line-height: 2;
	margin-top: 10px;
}

.form_section .address_remark a{
	color:rgb(29, 105, 237);
}

.form_section .address_frame{
	width:260px;
}

.form_section select{
	display: block;
	width:100%;
	height:40px;
	padding:0 12px;
	font-size: 18px;
	letter-spacing: 0.02em;
	border:1px solid gray;
	cursor: pointer;
}

.form_section textarea{
	display: block;
	width:100%;
	height:200px;
	padding:12px;
	font-size: 18px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	border:1px solid gray;
}

.form_section .document_area{
	margin-top: 64px;
}

.form_section .document_area .document_head{
	font-size: 28px;
    text-align: center;
    font-weight: bold;
    color: var(--green);
}

.form_section .document_area .document_text{
	margin-top: 16px;
	text-align: center;
	font-size: 18px;
}

.form_section .document_area .document_line{
	display: flex;
	align-items: flex-start;
	margin-top: 32px;
}

.form_section .document_area .document_left{
	flex-shrink: 0;
	font-size: 18px;
	width:300px;
	padding-right: 16px;
}

.form_section .document_area .document_right{
	width:100%;
}

.form_section .agree_area{
	width: fit-content;
	margin: 40px auto 0;
}

.form_section .agree_area label{
	display: flex;
	align-items: center;
	gap:12px;
	cursor: pointer;
	font-size: 18px;
}

.form_section .agree_area input{
	width: 20px;
	height:20px;
}

.form_section .agree_area .wpcf7-list-item{
	margin:0;
}

.form_section .submit_area{
	margin-top: 48px;
	display: flex;
	justify-content: center;
}

.form_section .submit_frame{
	position: relative;
}


.form_section .submit{
	border:none;
	cursor: pointer;
	width: 400px;
	max-width: 100%;
	height: 60px;
	border-radius: 4px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #fff;
	position: relative;
	transition-duration: 0.4s;
	transition-property: background-color;
}

@media(any-hover:hover){
	.form_section .submit:hover{
		background-color: #078638;
	}
}

.form_section .submit.off{
	pointer-events: none;
	cursor: not-allowed;
}

.form_section .submit_frame .radi{
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	right:20px;
	top:17px;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}

.form_section .submit_frame .radi::after{
	content:'';
	width:10px;
	height:10px;
	background-image: url('../img/common/icon_arrow_min_right_green.png');
}

.tel_section{
	padding-top: 100px;
	padding-bottom: 100px;
}


.tel_section .web_head{
	font-size: 28px;
	text-align: center;
	font-weight: bold;
	color:var(--green);
}


.tel_section .tel_block{
	padding:40px 24px 40px;
	border-radius: 4px;
	background-image: url('../img/form/tel_bg.jpg');
	margin-top: 40px;
}

.tel_section .tel_head{
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #fff;
}


.tel_section .tel_inner{
	max-width:880px ;
	margin-inline: auto;
}
.tel_section .tel_box{
	
	padding:40px 24px 32px;
	display: flex;
	justify-content: center;
	background-color: var(--yellow);
	margin:24px auto 0;
	position: relative;
}

.tel_section .tel_box::after{
	content:'';
	position: absolute;
	z-index: 2;
}

.tel_section .tel_box.personal::after{
	width: 200px;
	height: 192px;
	background-image: url('../img/form/deco_personal.png');
	bottom:-29px;
	right:-100px;
}
.tel_section .tel_box.company::after{
	width: 162px;
	height: 196px;
	background-image: url('../img/form/deco_company.png');
	bottom:-20px;
	right:-80px;
}
.tel_section .tel_box.entry::after{
	width: 162px;
	height: 196px;
	background-image: url('../img/form/deco_entry.png');
	bottom:-20px;
	right:-20px;
}

.tel_section .tel_box ul li{
	display: flex;
	align-items: flex-start;
}

.tel_section .tel_box ul li + li{
	margin-top: 20px;
}

.tel_section .tel_box .line_head{
	width: 200px;
	height: 50px;
	border-radius: 9999px;
	background-color: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 26px;
	color:#fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	flex-shrink: 0;
}

.tel_section .tel_address{
	font-size: 24px;
	font-weight: bold;
	line-height: 2;
} 

.tel_section .tel_box .tel{
	display: flex;
	align-items: center;
	width: fit-content;
	font-family: 'Lato', sans-serif;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--green);
}

.tel_section .tel_box .tel::before{
	content:'';
	flex-shrink: 0;
	width: 57px;
	height: 44px;
	margin-right: 11px;
	background-image: url('../img/common/icon_free_call_blue.png');
}

.tel_section .tel_box.entry .tel::before{
	width: 30px;
	height: 33px;
	margin-right: 9px;
	background-image: url('../img/common/icon_tel_green.png');
}

.tel_section .tel_box .tel_time{
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	padding-top: 8px;
}

.tel_section .tel_box .tel_time span{
	font-size: 18px;
}

.tel_section .tel_box .tel_time + .tel_time{
	margin-top: 10px;
	padding-top: 0;
}

.tel_section .add_text01{
	font-size: 26px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	margin-top: 20px;
}

.tel_section .add_text02{
	margin-top: 24px;
	color:#fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.67;
	position: relative;
	padding-left: 40px;
	letter-spacing: -0.01em;
}

.tel_section .add_text02 .float{
	position: absolute;
	top:0;
	left:0;
}



/*
------------------------------------
完了画面
------------------------------------
*/

.complete_section{
	padding-top: 100px;
	padding-bottom: 11px;
}

.complete_section .page_title{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.complete_section .complete_text{
	width: fit-content;
	margin:24px auto 0;
	font-size: 18px;
	line-height: 2;
}

.complete_section .top_button{
	margin:32px auto 0;
}

/*
------------------------------------
お問い合わせ
------------------------------------
*/

.contact_mv_section.contact_personal{
	background-image: url('../img/contact/contact_personal_mv.jpg');
}

.contact_mv_section.contact_company{
	background-image: url('../img/contact/contact_company_mv.jpg');
}



/*
------------------------------------
エントリー
------------------------------------
*/

body.entry_body{
	
}

main.entry_main{

}

.entry_mv_section{
	background-image: url('../img/recruit/recruit_mv.jpg');
}


/*
------------------------------------
公式SNS
------------------------------------
*/


body.sns_body{
	
}

main.sns_main{

}

.sns_mv_section{
	background-image: url('../img/sns/sns_mv.jpg');
}


.sns_section{
	padding-top: 100px;
	padding-bottom: 150px;
}

.sns_section .p01{
	margin-top: 32px;
	font-size: 20px;
	line-height: 2;
	text-align: center;
}

.sns_section .sns_list{
	margin-top: 80px;
}

.sns_section .sns_item{
	border-bottom: 1px solid #ccc;
}
.sns_section .sns_item:first-child{
	border-top: 1px solid #ccc;
}

.sns_section .sns_block{
	padding:50px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.sns_section .sns_right{
	width:400px;
	flex-shrink: 0;
	margin-left: 24px;
}

.sns_section .sns_head{
	display: flex;
	align-items: center;
	gap:16px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

.sns_section .sns_head::before{
	content:'';
	flex-shrink: 0;
	width:44px;
	height:44px;
}

.sns_section .sns_head.facebook::before{
	background-image: url('../img/common/icon_facebook.png');
}
.sns_section .sns_head.insta::before{
	background-image: url('../img/common/icon_insta.png');
}
.sns_section .sns_head.x::before{
	background-image: url('../img/common/icon_x.png');
}

.sns_section .sns_text{
	margin-top: 36px;
	font-size: 18px;
	line-height: 1.67;
}

.sns_section .sns_link{
	margin-top: 2px;
	font-size: 18px;
	line-height: 1.67;
}

.sns_section .sns_link a{
	color:var(--green);
}

.sns_section .sns_link a span{
	border-bottom:1px solid var(--green);
}

.sns_section .sns_link a::after{
	content:'';
	display: inline-block;
	width:19px;
	height:16px;
	background-image: url('../img/sns/icon_link_green.png');
	margin-left: 10px;
	vertical-align: middle;
}

/*
------------------------------------
個人情報保護方針
------------------------------------
*/


body.privacy_body{
	
}

main.privacy_main{

}

.privacy_mv_section{
	background-image: url('../img/privacy/privacy_mv.jpg');
}

.privacypolicy_mv_section{
	background-image: url('../img/privacy/privacy_mv.jpg');
}


.privacy_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

.privacy_section .privacy_inner{
	max-width: 1000px;
	margin-inline: auto;
}

.privacy_section .privacy_text{
	margin-top: 24px;
	font-size: 20px;
	line-height: 2;
}

.privacy_section ul{
	margin-top: 24px;
}

.privacy_section ul li{
	padding-left: 20px;
	font-size: 20px;
	line-height: 2;
	position: relative;
}

.privacy_section ul li::before{
	content:'';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:15px;
}


/*
------------------------------------
サイトマップ
------------------------------------
*/


body.sitemap_body{
	
}

main.sitemap_main{

}

.sitemap_mv_section{
	background-image: url('../img/sitemap/sitemap_mv.jpg');
}


.sitemap_section{
	padding-top: 80px;
	padding-bottom: 80px;
}


/*
------------------------------------
追加ページ
------------------------------------
*/


body.add_page_body{
	
}

main.add_page_main{

}

.add_page_mv_section{
	background-image: url('../img/add_page/add_page_mv.jpg');
}


.add_page_section{
	padding-top: 80px;
	padding-bottom: 80px;
}


/*
------------------------------------
404
------------------------------------
*/


body.page404_body{
	
}

main.page404_main{

}

.page404_section{
	padding-top: 80px;
	padding-bottom: 80px;
}


.page404_section .p01{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.page404_section .p02{
	width: fit-content;
	margin:24px auto 0;
	font-size: 18px;
	line-height: 1.67;
}

.page404_section .top_button{
	margin:32px auto 0;
}