@charset "utf-8";
/*
Theme Name: 
Theme URI:
Description:
Author:TCD
Author URI:https://www.tcd.jp/
Version:1.1
*/

/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/

body {
	width: 100% !important;
	color: #101010;
	line-height: 1.5;
	overflow: hidden;
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Sans JP", sans-serif!important;
	font-weight: 500;
}

html{
	scroll-padding-top: 70px;
	scroll-behavior: smooth;
}

.muk{
	font-family: "Mukta Mahee", sans-serif!important;
}

.serif{
	font-family: "Noto Serif JP", serif!important;
}

.barlow{
	font-family: "Barlow", sans-serif!important;
}

/* color */
.white{
	color: #ffffff!important;
}
.blue{
	color: #1E7FB8;
}
.blue2{
	color: #0C3178!important;
}
.red{
	color: red;
}
.green{
	color: #AACF52;
}
.green2{
	color:#017129;
}
.yellow{
	color: yellow;
}
.black{
	color: #101010;
}
.black2{
	color: #4E4E4E!important;
}
.black3{
	/* color: #262626; */
}
.gray{
	color: #A7AAA9;
}
.brown{
	color:#6A574C;
}

.bgwh{
	background: #ffffff;
}
.bgblu{
	background: #1E7FB8!important;
}
.bgblu2{
	background: #0C3178!important;
}
.bgbla{
	background:#101010;
}
.bgred{
	background: red;
}
.bggre{
	background: #AACF52!important;
}
.bgyel{
	background: yellow;
}

/*リンク表示方法*/

a {
	text-decoration: none;	
}

a:link {
	color: #101010;
}

a:visited {
	color: #101010;
}

a:active {
	color: #101010;
}

a:hover {
	opacity: 0.7;
}

a:hover img {
	opacity: 1;
}

.hLogo a:hover{
	opacity: 1;
}

:has( > .lista){
	position: relative;
}

.lista{
	position: absolute;
	left: 0;
	top:0;
	width:100%;
	height:100%;
	z-index: 1;
}

a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
/*-----------------------------------------------------------
PCサイズ
-----------------------------------------------------------*/

.pc,.pc2 {
	display: block;
}

.sp,.sp2, .spTel {
	display: none;
}

.pcTel {
	display: inline;
}


/*-----------------------------------------------------------
header
-----------------------------------------------------------*/

header {
	padding: 10px 2% 11px 1.33%;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9999;
	/* transition: .4s; */
}

header.headerScroll{
	background: #ffffffcc;
}

.hLogo{
	max-width: 122px;
	width: 30%;
}


.logo a:hover img {
	opacity: 1;
}

.headerTel {
	margin: 0 0 0 0;
	padding: 0px 0 0;
	font-weight: 900;
}

.off_img{
	display:block;
}

.on_img{
	display:none;
}

.headerScroll .off_img{
	display:none;
}

.headerScroll .on_img{
	display:block;
}

/*-----------------------------------------------------------
テーブル共通
-----------------------------------------------------------*/

table {
	border-collapse: separate;
}


/*-----------------------------------------------------------
 nav
-----------------------------------------------------------*/

.pc_nav{
	width: 80%;
	display: flex;
	max-width: 881px;
	align-items: center;
	justify-content: flex-end;
}

.nav_list1{
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.nav_list1 li {
	margin-left:auto;
}

.nav_list1 li:first-child{
	margin:0;
}

.company .comp_bar .nv_cont:before,
.business .bus_bar .nv_cont:before,
.technology .tec_bar .nv_cont:before,
.sdgs .sus_bar .nv_cont:before,
.recruit .rec_bar .nv_cont:before{
	position:absolute;
	content:"";
	width:100%;
	height:1px;
	background:#707070;
	bottom: -3px;
	left:0;
}

.nv_cont{
	display: flex;
	text-decoration: none;
	font-size: 1.5rem;
	align-items:center;
	font-weight:500;
	cursor: pointer;
	color: #4E4e4e;
	position:relative;
}

.nv_cont:hover{
	opacity:0.7;
}

.nv_cont > img{
	margin-right:7.5px;
}

.nav_list1 .nv_cont2{
	background:#0C3178;
	color:#fff;
	padding: 4px 19px;
	font-size: 1.5rem;
}

.close_cont{
	position:absolute;
	top:100%;
	width:100%;
	right: 0;
}

.close_page{
	background: #4e4e4e;
	padding: 30px 4%;
}

li:nth-child(1) .close_page{
	max-width:932px;
}

.nav_list2{
	display:flex;
	justify-content:space-between;
}

.nav_list2 a{
	color:#fff;
	font-size: 1.5rem;
}

.close_lang{
	background:#FFFFFF;
	max-width:111px;
	box-shadow: -2px 2px 4px #00000029;
}

.lang_list li{
	text-align:right;
	padding:4px 11.8px;
	border-bottom:1px solid;
}

.lang_list li:last-child{
	border-bottom:none;
}

.headerUl{
	display:none;
}

/*-----------------------------------------------------------
#slide
-----------------------------------------------------------*/


/*-----------------------------------------------------------
#cover
-----------------------------------------------------------*/

#cover {
	max-width: 1920px;
	width: 100%;
	margin: 47px auto 0;
	position:relative;
}

#cover .title{
	line-height: 1.4444;
	font-size: clamp(2.7rem,4vw,4.5rem);
	font-weight:500;
	letter-spacing:0.03em;
	color:#FFFFFF;
	text-shadow:0 1px 9px #00000099;
	position:absolute;
	top:0%;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	max-width: max-content;
}

.mv_sld{
	width:100%;
}

.add-animation .mv_sld{
  animation: zoomUp 10s linear 0s normal both;
}

.mv_sld　img{
  width: 100%;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1); /* 拡大率 */
  }
}

.mv_rec{
	position: fixed;
	bottom: 5%;
	right: 2.6%;
	max-width:188px;
	width: 21%;
	z-index:1;
	overflow: hidden;
}

.mv_rec:before{
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	z-index:-1;
	box-shadow: 0 -3px 6px #00000029;
  background: #ffffffa3;
  backdrop-filter: blur(6px);
}

.mv_rec img{
}

.mv_bar{
	display:flex;
	position:absolute;
	bottom: 6.3%;
	left:0;
	right:0;
	margin:auto;
	max-width:640px;
	width: 80%;
	align-items: center;
	overflow:hidden;
}

.mv_bar span{
	display:flex;
	align-items: center;
	position: relative;
}


.mv_bar span:before{
	position:absolute;
	z-index:1;
	width:100%;
	height:100%;
	content:"";
	background:#ffffffd9;
	top:0;
	right:0;
	z-index: 1;
}


.slick-active .mv_bar span:before{
	animation: bar 5.8s linear forwards;
}


.slick-active .mv_bar.s3 span:before{
	animation: bar 6.8s linear forwards;
}

.slick-active .mv_bar.s1 span:before{
	animation: bar 4.8s linear forwards;
}

/* bar */
@keyframes bar{
  0% { width:100%; }
  100% { width:0%;}
}

/*-----------------------------------------------------------
 #main
-----------------------------------------------------------*/

#main {
	width: 100%;
	margin: 0px auto 0;
}

.flex{
	display: flex;
	justify-content: space-between;
}

.inner{
	width: 95%;
	max-width: 1066px;
	margin: 0 auto;
}

.inner2{
	width: 98%;
	max-width: 1326px;
	margin: 0 auto;
}

.mainTit{
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight:700;
	font-size: clamp(1.4rem,2vw,1.6rem);
	letter-spacing:0.06em;
	max-width: max-content;
}

.mainTit .en_tit{
	font-size: 7rem;
	line-height: 1.65714;
	font-size: clamp(3rem,6vw,7rem);
	font-weight:600;
	letter-spacing:0em;
	margin-right: 22px;
}

.mainTit2{
	font-size: 5.6rem;
	line-height: 1.3214;
	font-weight: 500;
	font-size: clamp(2rem,4.1vw,5.6rem);
}

.mainTit3{
	font-size: 2.8rem;
	line-height: 1.4285;
	font-weight: 600;
	font-size: clamp(1.8rem,3vw,2.8rem);
}

.ft28{
	font-size: 2.8rem;
	line-height: 1.6785;
	font-weight: 600;
	font-size: clamp(1.6rem,3vw,2.8rem);
	letter-spacing: 0.12em;
}

.subTit{
	font-size: 2.4rem;
	line-height:1.2;
	font-weight:700;
	font-size: clamp(2rem,4vw,2.4rem);
}

.content01{padding: 44px 0 150px;margin: 0 auto;}

.co1_img{
	max-width:456px;
	margin:0 auto 160px;
	width:100%;
}

.co1_in{
	width: 88.214%;
	position: relative;
}

.co1_div1{
	width: 78.424%;
}

.co1_in .mainTit{
	margin-left: 7.84%;
}

.co1_in .title{
	position:absolute;
	right:0;
	height: 100%;
	top: 10%;
	font-size: 2.9rem;
	line-height: 1.8;
	font-weight: 400;
	font-size: clamp(1.8rem, 2.6vw, 2.9rem);
	letter-spacing: 0.1em;
	pointer-events: none;
}

.co1_in .title span{
	display:block;
}

.co1_in .title .l_sp{
	padding-top: 14.4%;
}

.ver {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.co1_in .text{
	letter-spacing: 0.04em;
	max-width: 805px;
	width: 100%;
	margin-left: auto;
	margin-top: 40px;
	padding-left: 2%;
}

.co1_div2{
	margin-left:auto;
	max-width:450px;
	width:100%;
	margin-top: 81px;
}

.co1_div2 .btn1:first-child{
	margin-bottom:46px;
}

.btn1{
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid #4D4D4D;
	height:52px;
	width:100%;
	max-width: 450px;
	background: #fff;
	font-size: clamp(1.4rem, 1.6vw, 2.1rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	/* transition: .4s; */
}
.btn1.pc{
	display:flex;
}
.btn1.sp{
	display:none;
}

.btn1.bgblu{
	border: 1px solid #1E7FB8;
}

.btn1.bggre{
	border: 1px solid #AACF52;
}

.btn1 img{
	transition:.4s;
	margin-right: 3%;
}

.btn1:hover img{
	margin-right:1.5%;
	margin-left:1.5%;
}

.content02{
	padding: 80px 0 200px;
	border-top: 1px solid #707070;
}

.content02 .mainTit{
	text-align:center;
	margin: 0 auto;
}

.content02 .mainTit span{
	display:block;
	margin: 0;
}

.content02 .mainTit .tit{
	line-height:1;
}

.co2_img_area{
	margin:50px auto 0;
	overflow: hidden;
}

.co2_img_area img{
	width:100%;
}

/* co2_flex1 */

.co2_img_area .flex1{
	margin-bottom: 0.54%;
}

.co2_img_area .flex1 .left{
	width: 56.562%;
	position: relative;
}

.no_over{
	overflow: hidden;
}

.co2_img_area .flex1 .left .text_area{
	bottom: 5%;
	max-width: 703px;
	left:0;
	display: flex;
	justify-content: space-between;
	width: 98%;
}

.co2_img_area .flex1 .left .text_area .left2{
	width: 38.165%;
	margin-top: 7%;
}

.arrow_cont1{
	height: 1.8px;
	background: #fff;
	width:100%;
	position: relative;
	border-radius: 10px;
}
.arrow_cont1:before{
	position:absolute;
	content:"";
	width:1.8px;
	height: 28px;
	background:#fff;
	right: 12px;
	bottom: -6px;
	transform: rotateZ(300deg);
	border-radius: 10px;
}

.co2_img_area .flex1 .left .text_area .right2{
	width: 59.034%;
	text-align: right;
}

.co2_img_area .flex1 .right{
	width: 42.912%;
}

/* co2_flex2 */

.co2_img_area .flex2{
	margin-bottom: 0.54%;
}

.co2_img_area .flex2 .left{
	width: 71.192%;
}

.co2_img_area .flex2 .right{
	width: 28.206%;
}


.co2_img_area .flex2 .left .img1{
	height: 41.582vw;
	max-height:568px;
	margin-bottom: 0.9434%;
}

.co2_img_area .flex2 .left .img2{
	position: relative;
}

.co2_img_area .flex2 .left .img2 .text_area{
	position:absolute;
	bottom: 13.005%;
	display: flex;
	justify-content: space-between;
	max-width: 879px;
	width: 98%;
	margin: 0 auto;
	left: 0;
	right: 0;
	align-items: flex-end;
}

.co2_img_area .flex2 .left .img2 .text_area .left2{
	max-width:447px;
	width: 49%;
}

.co2_img_area .flex2 .left .img2 .text_area .right2{
	max-width:401px;
	width: 49%;
}

.co2_img_area .flex2 .left .img2 .text_area .left2 .mainTit2{
	margin-bottom: 2.323%;
}

.co2_img_area .flex2 .left .img2 .text_area .left2 .mainTit3{
	filter: opacity(0.9);
	color: #54d6f7;
}

.co2_img_area .flex2 .left .img2 .text_area .right2 .arrow_cont1{
	max-width:383px;
}

.co2_img_area .flex2 .left .img2 .text_area .right2 .text{
	max-width: 354.5px;
	margin-left: auto;
	width: 100%;
	margin-top: 4.1%;
}


video{
	width:100%;
	height:100%;
	object-fit:cover;
}


/* co2_flex3 */

.co2_img_area .flex3{
	flex-wrap:wrap;
}

.co2_img_area .flex3 .left{
	width: 42.912%;
}

.co2_img_area .flex3 .right{
	width: 28.206%;
	width: 56.562%;
}

.co2_img_area .flex3 .center{
	width:100%;
	position:relative
}

.co2_img_area .flex3 .center .text_area{
	position:absolute;
	bottom: 14.8%;
	max-width: 1279px;
	display: flex;
	justify-content: space-between;
	width: 98%;
	left: 0;
	margin: 0 auto;
	align-items: flex-end;
}

.co2_img_area .flex3 .center .text_area .left2{
	max-width:396px;
	width: 49%;
}

.co2_img_area .flex3 .center .text_area .right2{
	max-width:462px;
	width: 49%;
}

.co2_img_area .flex3 .center .text_area .left2 .mainTit2{
	margin-bottom: 1.27%;
	padding-left: 11.3%;
}

.co2_img_area .flex3 .center .text_area .left2 .mainTit3{
	padding-left: 11.3%;
}




.co2_div1{
	display:flex;
	max-width:871px;
	margin:151px auto 0;
	width: 90%;
	justify-content:space-between;
}

.co2_div1 .btn1{
	width:48%;
	max-width:414px;
}

.co2_img_area .text_area{
	position:absolute;
}


.co2_img_area .text_area .mainTit2{
	letter-spacing: 0.02em;
}


.co2_img_area .text_area .text{
	color:#fff;
	font-size: 1.7rem;
	font-size: clamp(1.4rem, 1.4vw, 1.7rem);
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.588;
}





.content03{
	padding: 80px 0;
	border-top: 1px solid #707070;
}

.content03 .video{
	margin:4px auto 45px;
	width:100%;
}

.content03 .text{
	letter-spacing:0.04em;
}

.content03 .btn1{
	margin: 100px auto 85px;
}

.arrow_area{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
}

.arrow_area p{
	margin-bottom:16px;
}

.content04{
	padding: 60px 0 0;
	border-top: 1px solid #707070;
}

.content04 .co1_in{
	margin-left:auto;
	max-width:1175px;
	max-width: initial;
	width: 86%;
}

.content04 .co1_div1{
	margin-left:auto;
	max-width: initial;
	width: 80.443%;
}

.sld1_cont{
	margin-right:20px;
}

.content04 .co1_in .mainTit {
    margin-right: 7.84%;
	margin-left:auto;
}

.content04 .mainTit .en_tit{
	margin-right:0;
	margin-left:14px;
}

.content04 .co1_in .title{
	left:0;
	right:auto;
	top: 11%;
}

.content04 .co1_in .title .l_sp {
    padding-top: 12%;
}

.content04 .co1_in .text{
	margin-left:0;
	max-width:870px;
}

.content04 .co1_div2{
	margin-right: 7.3%;
}


.content05{
	padding:151px 0 146px;
}

.co5_in{
	margin-right:auto;
	width: 93.705%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.co5_in .left{
	width: 46.094%;
	padding-bottom: 53px;
}

.co5_in .right{
	width: 50.547%;
}

.co5_in .right .title{
	line-height: 1.8;
	font-weight: 500;
	font-size: clamp(2.2rem, 2.4vw, 3.1rem);
	letter-spacing: 0.05em;
}

.co5_in .right .text{
	letter-spacing:0.04em;
}

.co5_in .right .co5_div{
	margin:80px 0 0 auto;
	max-width:469px;
	width:100%;
}

.co5_in .right .co5_div .btn1{
	max-width:469px;
}

.co5_in .right .co5_div .bnr{
	max-width:173px;
	width: 40%;
	display:block;
	margin-left:auto;
	margin-top:17px;
}

.content06{
	background:#EAEEF0;
	padding: 70px 0 150px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
}

.topics_list1{
	margin:16px auto 53px;
	border-top:1px solid #707070;
}

.topics_list1 li{
	padding:41px 0 0;
	border-bottom:1px solid #707070;
	font-size: 1.7rem;
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.7;
	position:relative;
	padding-left:30px;
}

.topics_list1 li:hover{
	opacity:0.7;
}

.topics_list1 li:before{
	position:absolute;
	content:"";
	background:url(./img/common/arrow1_blu.svg)no-repeat;
	background-size:contain;
	width:14px;
	height:17px;
	left:0;
	top:46px;
}

.pagetop_area{
	padding:90px 0 150px;
	text-align: center;
	border-top: 1px solid #707070;
}

.pagetop_cont{
	max-width: 268px;
	margin: 0 auto;
	text-align: center;
}

.pagetop_area .img1{
	margin:0px auto 65px;
}

.pagetop_area .img2{
	max-width:80px;
	margin:0 auto;
}

/*-----------------------------------------------------------
 footer
-----------------------------------------------------------*/

footer {
	margin: 0px auto 0;
	background: #4E4E4E;
	color: #fff;
	padding: 30px 0  0;
}

.ft_in{
	max-width:1288px;
	margin:0 auto;
	width: 95%;
}


.ft_in > .top{
	padding:0 0 17px;
	border-bottom:1px solid #707070;
}

.ft_in > .top .flex1{
	
}

.ft_in > .top .flex1 .left{
	max-width:268px;
	width: 26%;
	padding-top: 33px;
	margin-left: 2.718%;
}

.ft_in > .top .flex1 .right{
	max-width:917px;
	width: 72%;
	display: flex;
	justify-content: space-between;
}

.ft_div1{
	max-width:320px;
	width: 35%;
	padding-top:22px;
}

.ft_div2{
	max-width:584px;
	width: 64%;
}


.tel_btn{font-size: clamp(1.6rem, 2vw, 3.3rem);display: flex;margin-top: 13px;letter-spacing: 0.04em;font-weight:600;line-height:1.3636;align-items:baseline;}

.tel_btn span{letter-spacing: 0.03em;margin-right: 7%;font-size: clamp(1.4rem, 1.4vw, 1.6rem);}

.ft_div2 .img{
	max-width: 469px;
	width: 100%;
	margin-left: auto;
	margin-bottom: 4.62%;
}

.ft_div2 .text{
	line-height: 1.6875;
	font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}

.ft_in > .bottom{
	padding: 13px 0 19px;
}

.ft_in > .bottom .flex2{
	max-width:1220px;
	margin:0 auto;
	width:100%;
}

.ft_list1 li{
	margin-bottom: 16%;
	font-size:1.5rem;
	font-size: clamp(1rem, 1.2vw, 1.5rem);
}

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

.ft_list1 li a{
	color:#fff;
}

.ft_in > .bottom .flex3{
	align-items: flex-end;
	margin-top: -2.8%;
}

.ft_in > .bottom .flex3 .left{
	max-width:321px;
	width: 32%;
}

.ft_in > .bottom .flex3 .center{
	max-width:422px;
	width: 37%;
	padding-bottom: 20px;
}

.ft_in > .bottom .flex3 .right{
	max-width:365px;
	width: 28%;
	padding-bottom: 20px;
}

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

.ft_list3 li.bar{
	width:1px;
	height:14px;
	background:#fff;
}

.ft_list3 li{
	color:#fff;
	font-size:1.5rem;
	font-size: clamp(1.2rem, 1.2vw, 1.5rem);
}

.ft_list3 li a{
	color:#fff;
}

.ft_in > .bottom .flex3 .right .btn1:last-child{
	margin-top:17px;
}


.copyright {
	background: #101010;
	color: #fff;
	text-align: center;
	padding: 13px 0;
	font-size:1rem;
	letter-spacing:0.03em;
	font-weight:400;
	line-height:1.4;
}




/* 全ページ共通クラス
----------------------------------------------------------- */

/*--- パンくず ---*/

.pankuzu_area{
	background:#EAEEF0;
	width:100%;
}

.pankuzu {
    width: 95%;
    margin: 0 auto;
    font-size: 12px;
    padding: 12px 0 11px;
	max-width: 1216px;
	line-height:1.4166667;
	font-weight:400;
}

.pankuzu li {
    display: inline;
}

.pankuzu li:first-child {
    margin: 0;
}

.pankuzu li a {
}

/*--- ページトップ ---*/
#pageTop {
	position: fixed;
	bottom: 200px;
	right: 25px;
	z-index: 9999;
}


/* -- お問い合わせ -- */

input {
	vertical-align: middle;
}

.btnBox1 {
	text-align: center;
}

.contact_cf .clearForm,.contact_cf .clearForm2 {
	padding: 10px 5px;
}


.clearForm,
.clearForm2,
.toHome {
	width: 100%;
	cursor: pointer;
	outline: 0;
	color: #FFFFFF!important;
	font-size: 1.8rem;
	border: none;
	font-weight: 600;
	transition: .2s;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	background: none;
	margin: 0 auto!important;
	height: 100%;
	background: #AACF52;
	height: 50px;
}

.contact01 .clearForm,
.contact01 .clearForm2,
.contact01 .toHome{
	background: #0C3178;
}


.toHome {
	margin: 50px auto 0 !important;
	text-decoration: none;
	display: block;
	text-align: center;
}

.tb_inp.mabo{
	margin-bottom:16px;
}

textarea {
	padding: 10px 5px;
	height: 200px;
	width: 100%;
	background: #FFFFFF;
}

input,
textarea,
button,
select,
option {
	outline: none;
}

input[name="zip"]{
	max-width:366px;
}

input[type="text"],
input[type="email"],
input[type="tel"]{
	height: 40px;
	padding: 5px;
	width: 100%;
	background: #1E7FB81a;
}

::placeholder{
	color:#CCCCCC;
}

input[type="text"],
input[type="email"],
input[type="tel"]{
	border: 1px solid #1E7FB8;
	border-radius:2px;
}

select{
	height: 40px;
	padding: 5px;
	width: 100%;
	background: #fff;
}

option,
select{
	border: 1px solid #707070;
	border-radius:2px;
}

select[name="pref"]{
	max-width:229px;
}

select[name="about"]{
	max-width:295px;
}

textarea{
	border: 1px solid #707070;
	border-radius:2px;
}

input[type="date"]{
	width:100%;
	max-width:204px;
	height:42px;
}

input[type="file"]{
	width:100%;
	display:block;
}

button {
	border: none;
	outline: none;
	background: none;
}

.form_notice1 {
	font-size: 85.714%;
	display: block;
	margin: 5px 0 0;
}

.form_notice2 {
	font-size: 87.5%;
}

.modification_wrap {
	overflow: hidden;
}

.modification {
	width: 221px;
	float: left;
	margin: 0 0 0 246px;
}

.send_bt {
	width: 221px;
	float: right;
	margin: 0 245px 0 0;
}

.error_style {
	color: #FF0000;
	display: block;
	margin: 8px 0 0;
}


.contact_tb tr:first-child th,
.contact_tb tr:first-child td{
	border-top: 1px solid #707070;
}

.contact_tb th, .contact_tb td {
	padding: 3.753% 0;
	font-size: 1.6rem;
	position: relative;
	font-weight: 500;
	border-bottom: 1px solid #707070;
	letter-spacing: 0;
}


.contact_tb {
	width: 100%;
	margin: auto;
}

.contact_tb .text2{
	font-size:1.4rem;
	font-weight:500;
	line-height:1.857;
	margin-top:17px;
}

.contact_tb .text .small{
	display:block;
	font-weight: 400;
}


.contact_tb th {
	width: 28.5%;
	text-align: left;
	padding-right: 1%;
}

.contact_tb th label{
	position:relative;
}

.contact_tb th label > span{
	display:block;
}


.contact_tb th.vert{
	vertical-align:top;	
}

.contact_tb td {width: 71.5%;font-weight: 400;}

.contact_tb td .text{
	font-size:1.4rem;
}


.send_btn{position:relative;margin: 50px auto 0;max-width: 322px;width: 100%;}



.send_btn:hover{
	opacity:0.7;
}

em{
	color: #AACF52;
}

.contact01 em{
	color: #0C3178;
}

.pla_flex{
	display: flex;
	align-items: center;
}

.pla_flex.old_flex .inp{
	max-width: 115px;
}

.pla_flex .inp{
	max-width: 366px;
	width: 100%;
	margin-right: 15px;
}

.pla_flex .place{
	flex-shrink: 0;
	color:#707070;
}

.rad_flex1{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 400px;
}

.rad_flex1 > span{
	margin-bottom:21px;
	display:flex;
	align-items:center;
}

.rad_flex1 > span:last-child{
	margin-bottom:0;
}

.contact_tb input[type=radio]{
	accent-color: #AACF52;
}

.rad_flex.rad_flex2{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:302px;
}

/* デフォルトのラジオボタンのスタイル */
input[type="radio"] {
  appearance: none;
  border: 1px solid  #707070;
  border-radius: 50%;
  height: 20px;
  margin: 0;
  position: relative;
  width: 20px;
  position: relative;
  margin-right: 7px;
}

/* チェックされたラジオボタン内側のスタイル */
input[type="radio"]::before {
  background-color:  #fff;
  border-radius: 50%;
  bottom: 0;
  content: "";
  height: 12px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 12px;
	border:1px solid #707070;
}

/* チェックされたらラジオボタン内側を表示 */
input[type="radio"]:checked{
  border: 1px solid  #AACF52;
}
input[type="radio"]:checked::before {
	border:1px solid #AACF52;
  background-color:  #AACF52;
}

input[type="radio"].redi2:checked{
  border: 1px solid  #0C3178;
}
input[type="radio"].redi2:checked::before {
	border:1px solid #0C3178;
  background-color:  #0C3178;
}

/* wordpress 記事 */
.detail_area img{
	margin-bottom:62px;
	    width: revert-layer;
}

.detail_area p:has(img){
	margin:0;
}


.aligncenter{
	margin:0 auto 24px;
	display:block;
}


.detail_area p{
	margin-bottom:33px;
	font-size: clamp(1.4rem,2.3vw,1.6rem);
	line-height:1.5;
	letter-spacing:0.04em;
}

.detail_area h2{
	margin-bottom:33px;
	font-size: clamp(2.1rem, 4.1vw, 4.5rem);
	line-height:1.285;
	letter-spacing:0.03em;
}

.detail_area h3{
	margin-bottom:33px;
	font-size: clamp(2rem,2.3vw,3.5rem);
	line-height:1.285;
	letter-spacing:0.03em;
}

.detail_area h4{
	margin-bottom:33px;
	font-size: clamp(1.8rem,2.3vw,2.4rem);
	line-height:1.285;
	letter-spacing:0.03em;
}

.detail_area .center{
	text-align:center;
}

/* article */

#art_cov{
	margin-top: 46.5px;
	max-height: 530px;
	width: 100%;
	height: 40vw;
	color:#fff;
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
}

#art_cov.sp_small {
	height: 25.623vw;
}

#art_cov.sp_small  .title {
    margin: 0 auto 5.2%;
}

.business #art_cov{
	background:url(./img/business/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.private #art_cov{
	background:url(./img/private/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.public #art_cov{
	background:url(./img/public/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.company #art_cov{
	background:url(./img/company/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.message #art_cov{
	background:url(./img/message/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.belief #art_cov{
	background:url(./img/belief/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.info #art_cov{
	background:url(./img/info/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.affiliated #art_cov{
	background:url(./img/affiliated/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.history #art_cov{
	background:url(./img/history/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.sdgs #art_cov{
	background:url(./img/sdgs/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.technology #art_cov{
	background:url(./img/technology/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

.machinery #art_cov{
	background:url(./img/machinery/mv.jpg)no-repeat center bottom;
	background-size:cover;
}

#art_cov .title{
	width: 95%;
	margin: 0 auto 4.832%;
	font-size: clamp(3.6rem,5vw,6.7rem);
	font-weight:600;
	line-height:1.37313;
	max-width: 1216px;
}

#art_cov .title .sub{
	position:relative;
	display:block;
	margin-top: 1.4%;
	font-size: 1.6rem;
	font-weight:700;
	line-height:1.5;
	padding-left:14px;
}

#art_cov .title .sub:before{
	position:absolute;
	content:"";
	width:2px;
	height:11px;
	background:#fff;
	left:0;
	top:2.5px;
	bottom:0;
	margin:auto;
}

.art_div1{
	padding:65px 0 100px;
	border-bottom:1px solid #707070;
}

.art_inner{
	max-width:1216px;
	width: 95%;
	margin:0 auto;
}

.artTit1{
	font-size:clamp(2.4rem,4.1vw,4.5rem);
	font-weight:700;
	letter-spacing:0.03em;
	line-height:1.4444;
}


.artTit2{
	font-size: clamp(3rem,4.1vw,5.5rem);
	font-weight:600;
	letter-spacing:0em;
	line-height:1.0909;
}

.artTit2 .sub{
	position:relative;
	display:block;
	font-size: clamp(1.3rem,1.6vw,1.6rem);
	font-weight:700;
	line-height:1.5;
	letter-spacing:0.03em;
	padding-left:14px;
}

.artTit2 .sub:before{
	position:absolute;
	content:"";
	width:2px;
	height:11px;
	background:#fff;
	left:0;
	top:2.5px;
	bottom:0;
	margin:auto;
}

.art_div1 .text{
	margin-top:34px;
	line-height:2;
	letter-spacing:0.03em;
}

.bar_cont{
	max-width:456px;
	margin:0 auto;
	width:100%;
}

.buss01{
	padding:54px 0 193px;
}

.buss01_div{
	position:relative;
	z-index:1;
}

.buss01_div .text_area{padding: 7.44% 0 7.197%;max-width: 396px;width: 72.24%;margin-left: 4.113%;}

.buss01_div .text_area .sub{
	margin-top:8px;
}

.buss01_div .text_area .text{
	margin-top:19px;
	letter-spacing:0.04em;
	font-weight:400;
	line-height:2;
}

.buss01_div  a.white{
	display:flex;
	width:100%;
	height:80px;
	align-items:center;
	padding-left: 6.58%;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	position:relative;
}

.buss01_div a img{
	margin-right:16px;
}


.buss01_div.buss01_div1{
	margin:144px auto 0;
}

.buss01_div.buss01_div2{
	margin:41px auto 0;
}

.buss01_div.buss01_div1:before{
	background:url(./img/business/co11.jpg)no-repeat center top;
	background-size:cover;
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:-1;
	transition:.4s;
}

.buss01_div.buss01_div2:before{
	background:url(./img/business/co12.jpg)no-repeat center top;
	background-size:cover;
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:-1;
	transition:.4s;
}

.buss01_div:hover:before{
	filter:brightness(1.6);
}

/* private */

.art_inner2{
	max-width:1066px;
	width:95%;
	margin:0 auto;
}

.artTit3{
	font-size: clamp(4rem,7vw,7rem);
	font-weight:700;
	letter-spacing:0.03em;
	line-height:1.3857;
	color:#101010;
}

.artTit3 .sub{
	position:relative;
	font-size: clamp(1.5rem,3vw,3.1rem);
	font-weight:500;
	line-height:3;
	letter-spacing:0.03em;
}

.prv01{
	padding:50px 0 191px;
	background: url(./img/private/bg1.jpg);
}

.prv01 .title_area{
	padding-bottom:15px;
	border-bottom:1px solid #101010;
	margin-bottom:50px;
}

.prv01 .artTit1{
	color:#101010;
}

.prv01 .text{
	margin:25px auto 60px;
	line-height:2;
	letter-spacing:0.04em;
	font-weight:400;
	color:#101010;
}

.prv02{
	background:#F2F2F2;
}

.prv02 .art_inner2{
	padding:90px 0 200px;
	position:relative;
	z-index: 1;
}

.prv02 .art_inner2:before{
	position:absolute;
	content:"";
	width:50%;
	height:50%;
	max-width:533px;
	top:0;
	right:0;
	background:url(./img/private/co2_sou.png)no-repeat top right;
	background-size:contain;
	pointer-events: none;
	z-index: -1;
}

.prv02_div1{
	/* padding-top: 54px; */
}

.prv02_div2{
	padding-top: 150px;
}

.tit_fl1{
	display:flex;
	align-items:center;
}

.tit_fl1 .title1{
	flex-shrink:0;
	color: #101010;
}

.tit_fl1 .bar{
	width:100%;
	height: 0.7px;
	background: #101010;
	margin-left: 8px;
}

.ft31{
	font-size: clamp(1.8rem,4.1vw,3.1rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.4516;
}

.ft22{
	font-size: clamp(1.6rem,3vw,2.2rem);
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.44;
}

.ft25{
	font-size: clamp(1.6rem,3vw,2.5rem);
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.44;
}

.case_list1{
	margin:30px auto 0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.case_list1 li{
	width: 49.6%;
	max-width: 528px;
	margin-top:50px;
}

.case_list1 li .text_area{
	background:#fff;
	padding: 5.684%;
}

.case_list1 li .text_area .title{
	color:#101010;
	min-height:81px;
}

.case_list1 li .text_area .date{
	margin-top:10px;
	line-height:1.5;
	font-weight:400;
	padding-bottom:20px;
}

.case_list1 li .text_area .comp{
	border-top:1px solid #707070;
	padding-top:20px;
	text-align:right;
	color:#707070;
}

/* engineer */

#rec_cov{
	height:320px;
	padding-top:89px;
	margin: 46px auto 0;
	position: relative;
}

/* .engineer #rec_cov{
	background:url(./img/engineer/mv.jpg)no-repeat left;
	background-size:cover;
}

.foreman #rec_cov {
    background: url(./img/foreman/mv.jpg) no-repeat left;
    background-size: cover;
}

.director #rec_cov {
    background: url(./img/director/mv.jpg) no-repeat left;
    background-size: cover;
}
 */

#rec_cov.noback{
	background:none;
}

#rec_cov.noback .img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#rec_cov.noback .img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

#rec_cov .title{
	width: 95%;
	font-size: clamp(1.9rem,5vw,3.4rem);
	font-weight:600;
	line-height:1.23;
	max-width: 1216px;
	color:#fff;
	margin: 0 auto;
	letter-spacing: 0.06em;
}

#rec_cov .title .sub{
	position:relative;
	display:block;
	margin-top: 1.152%;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5625;
	max-width: 280px;
	letter-spacing: 0.03em;
}

.engi01{
	padding:130px 0 206px;
}

.recTit{
	position:relative;
	padding-left:33px;
	font-size: clamp(2rem, 4.1vw, 3.1rem);
}
.recTit:before{
	position:absolute;
	content:"";
	width:6px;
	height: 41px;
	background:#AACF52;
	left:0;
	top: 0;
}

.rec01_div1{
	margin:91px auto 0;
}

.rec01_div1 .war_text{
	max-width:450px;
	margin:8px auto 0;
	font-size:1.4rem;
	width: 90%;
}

.rec_list{
	margin:0 auto 120px;
}

.rec_list li{
	border-top:1px solid #707070;
	display:flex;
	padding:30px 0;
	font-weight: 400;
	line-height: 1.625;
}

.rec_list li:last-child{
	border-bottom:1px solid #707070;
}

.rec_list li .left{
	max-width:235px;
	width: 26%;
}

.rec_list li .right{
	max-width:784px;
	width: 74%;
}

.rec01_div1 .btn1{
	margin:0 auto;
}

.rec01_div2{
	margin:218px auto 0;
}

.rec01_div2 .title{
	font-size: clamp(1.9rem,3vw,2.6rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.423;
	margin-bottom: 45px;
}

.rec_btn1{
	padding:123px 35px 50px;
	width: 49.5%;
	max-width:523px;
	position:relative;
	z-index:1;
	overflow: hidden;
}

.rec_btn1.engi{
	/* background:url(./img/recruit/link.jpg)no-repeat center; */
	/* background-size:cover; */
}

.rec_btn1.fore{
	/* background:url(./img/engineer/link1.jpg)no-repeat center; */
	/* background-size:cover; */
}

.rec_btn1.dire{
	/* background:url(./img/engineer/link2.jpg)no-repeat center; */
	/* background-size:cover; */
}

.rec_btn1 .img{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:-2;
}

.rec_btn1 .img img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:.4s;
}

.rec_btn1:hover .img img{
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.rec_btn1:before{
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:#101010;
	opacity:0.3;
	z-index:-1;
	transition:.4s;
}

.rec_btn1:hover{
	opacity:1;
}

.rec_btn1:hover:before{
	opacity:0;
}

.rec_btn1:after{
	position:absolute;
	content:"";
	width: 25px;
	height: 38px;
	bottom: 54.4px;
	right: 33.5%;
	background:url(./img/engineer/arrow.svg)no-repeat;
	background-size:contain;
	right: 3%;
	bottom: 5%;
}

.rec_btn1 .text1{
	color:#fff;
	font-size: clamp(2.4rem,3vw,3.3rem);
	font-weight:600;
	letter-spacing:0.06em;
	line-height:1.423;
}

.rec_btn1 .text1 span{
	display:block;
	max-width: 244px;
	margin-top:17px;
	font-size:1.6rem;
	letter-spacing: 0.03em;
	font-weight: 400;
	line-height: 1.5625;
	min-height:47px;
}

/* recruit */

#recruit_cover{
	position:relative;
	margin-top: 46.5px;
}

#recruit_cover .back_img img{
	width:100%;
}

#recruit_cover .title1{
	position: absolute;
	top: 4.8%;
	left: 3.36%;
	font-size: clamp(4rem, 4vw, 5.5rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2181;
}

.modal_btns{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}

.modal_btns .modalOpen{
	position:absolute;
	position:absolute;
	transition: .4s;
	cursor: pointer;
}

.modal_btns .modalOpen:hover{
	transform: scale(1.2);
	/* filter: brightness(1.3); */
}
.modal_btns .modalOpen img{
	transition:.4s;
}
.modal_btns .modalOpen:hover img{
	transform: scale(1.2);
	/* filter: brightness(1.3); */
}


.modal_btn1{
	top: 36.769%;
	left: 47.658%;
	width: 8.86%;
}

.modal_btn2{
	top: 46%;
	left: 32%;
	width: 6.837%;
}

.modal_btn3{
	top: 22.718%;
	left: 37.2%;
	width: 8.51%;
}

.modal_btn4{
	top: 22.718%;
	left: 58%;
	width: 6.27%;
}

.modal_btn5{
	top: 39.6%;
	left: 63.1%;
	width: 7.413%;
}

.modal_btn6{
	top: 36.77%;
	left: 78.486%;
	width: 8.773%;
}

.modal_btn7{
	top: 52.46%;
	left: 75.5%;
	width: 8.646%;
}

.modal_btn8{
	top: 65%;
	left: 34.6%;
	width: 5.33%;
}

.modal_btn9{
	top: 79%;
	left: 69.2%;
	width: 10.43%;
}

.modals{
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	margin:auto;
	display: flex;
	align-items: center;
	width: 100%;
	pointer-events: none;
}

.modal{
	width: 100%;
	height: 100%;
	align-items: center;
	pointer-events: initial;
	    display: flex;
}

.modal-box{
	max-width:396px;
	position: relative;
	border: 0.5px solid #A7AAA9;
	z-index:1;
	overflow: hidden;
}

.modal-box:before{
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	z-index:-1;
	box-shadow: 0 -3px 6px #00000029;
	background: #ffffffa3;
	backdrop-filter: blur(6px);
}
.modal-cont{
	max-width:396px;
	width:100%;
	position: relative;
	min-height: 486px;
}

.modal-cont .flex{
	padding-bottom:2.2px;
	align-items:center;
}

.modal-cont .flex .spot{
	font-size: clamp(2.4rem,3vw,2.3rem);
	font-weight:500;
	letter-spacing:0em;
	line-height:1.39;
	padding-left:22px;
}

.modal-cont .flex .spot span{
	font-size: clamp(3rem,4vw,3.4rem);
	font-weight:700;
	letter-spacing:0em;
	line-height:1.3;
	margin-left:5px;
}

.modal-cont .flex .comp{
	font-size:1.4rem;
	font-weight:600;
	letter-spacing:0.03em;
	color:#4E4E4E;
	padding-right:21px;
}

.modal-cont .flex .comp span{
	margin-right:5.5px;
	font-size:2.4rem;
	font-weight:400;
	letter-spacing:0.03em;
	line-height:1.33;
}

.modal-cont .img{
	
}

.modal-cont .text_area{
	padding:33.8px 21px 73px;
}

.modal-cont .text_area .title{
	font-size:1.9rem;
	font-weight:700;
	letter-spacing:0.04em;
	line-height:1.421;
}

.modal-cont .text_area .text{
	margin:6.8px auto 0;
	font-size:1.5rem;
	font-weight:400;
	letter-spacing:0.03em;
	line-height:1.3;
}

.modalClose{
	position:absolute;
	bottom: 27.2px;
	right: 25.3px;
}

.bar_area img{
	display:block;
	width: 100%;
}

.rec01{
	padding:207px 0 180px;
	background:#F2F2F2;
	position:relative;
}

.rec01:before{
	position:absolute;
	content:"";
	max-width:671px;
	width: 50%;
	height:651px;
	background: url(./img/recruit/bg1.png)no-repeat bottom left;
	background-size:contain;
	right: -18.302%;
	bottom: 3%;
}

.rec01 .text{
	max-width: 947px;
	margin-top: 34px;
	letter-spacing: 0.04em;
}

.rec01 .text span{
	text-decoration:underline;
}

.rec02{
	padding:83px 0 129px;
	border-top:1px solid #707070;
}

.ft38{
	font-size: clamp(2rem,4vw,3.8rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.5789;
}

.rec02 .title1{
	margin-bottom:23px;
}

.ft26{
	font-size: clamp(1.8rem,3vw,2.6rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.423;
}

.ft24{
	font-size: clamp(1.6rem,3vw,2.4rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.458333;
}

.rec02 .title2{
	margin-top:34px;
}

.rec02 .text{
	margin-top:15px;
	letter-spacing:0.04em;
	font-weight:400;
}

.rec03{
	padding:60px 0 80px;
	background:#F2F2F2;
	position: relative;
}

.rec03:before{
	position:absolute;
	content:"";
	width:249px;
	height:249px;
	background:url(./img/recruit/co33.svg)no-repeat;
	background-size:contain;
	bottom:21px;
	right:-79px;
}

.ft33{
	font-size: clamp(2rem,4vw,3.3rem);
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.454545;
}

.rec03 .title1{
	margin-bottom:13px;
}

.rec03_li{
	display:flex;
	justify-content:space-between;
}


.rec03_li li{
	max-width:580px;
	width:49%;
}

.rec03_li .title2{
	margin:25px auto 0;
}

.rec03_li .text{
	margin-top:10px;
	letter-spacing:0.04em;
	font-weight:400;
}

.rec_arrow{
	padding:150px 0;
}

.rec04{
	padding:60px 0 120px;
	background:#F2F2F2;
}

.rec04 .title1{
	margin-bottom:17px;
}

.rec04 .flex{
	flex-wrap:wrap;
}

.rec04 .flex .rec_btn1{
max-width: 588px;
margin-top: 40px;
}

.rec04 .flex .rec_btn1:nth-child(1),
.rec04 .flex .rec_btn1:nth-child(2){
	margin-top:0;
}

.rec05{
	padding:115px 0 157px;
}

.rec05_div{
	background:url(./img/recruit/bg5.jpg)no-repeat center;
	background-size:cover;
	padding: 60px 15px 89px;
	text-align:center;
}

.rec05_div .text{
	letter-spacing:0.04em;
	margin:20px auto 0;
}

.rec05_div .btn1{
	margin:40px auto 0;
}

.rec06{
	background:#F2F2F2;
	padding:90px 0 150px;
	border-top:10px solid #1E7FB8;
	position:relative;
}

.rec06 .ab_text{
	font-size: clamp(12.6rem,10vw,18.5rem);
	font-weight:800;
	letter-spacing:0.13em;
	line-height:0.7;
	position:absolute;
	top:0;
	color:#4E4E4E;
	opacity:0.15;
	left: -3.36%;
}

.rec06 .title1{
	text-align:center;
	margin-bottom:14.5px;
	font-size: clamp(2rem, 3vw, 2.6rem);
}

.all_open{
	display:flex;
	align-items:center;
	max-width:168px;
	background:#FFFFFF;
	justify-content:center;
	height:45.53px;
	margin-bottom:16px;
	margin-left:auto;
	font-size:1.7rem;
	font-weight:600;
	color:#4E4E4E;
	cursor:pointer;
}

.all_open img{
	margin-right:13px;
}



.qanda_list li{
	padding: 23px 0 0;
}

.qanda_list li:first-child{
	border-top:1px solid #707070;
}

.qanda_list li dt,
.qanda_list li dd{
	display:flex;
	align-items:baseline;
	font-weight: 500;
	position: relative;
	padding: 0 31px;
}

.qanda_list li dt{
	padding-bottom: 13px;
	border-bottom:1px solid #707070;
	font-size: 1.7rem;
	letter-spacing: 0.03em;
}

.qanda_list li dd{
	padding: 20px 52px 11px 31px;
	background:#fff;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	font-weight: 400;
}

.qanda_list li .que,
.qanda_list li .ans{
	display:flex;
	align-items:center;
	margin-right:13px;
	flex-shrink:0;
	justify-content:center;
	font-size:2.3rem;
	font-weight:800;
	letter-spacing: 0.2em;
}



.qanda_list dt .pulu{
	position: absolute;
	display: flex;
	right: 32px;
	width: 24px;
	height: 24px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.qanda_list dt .pulu span{
	width: 21px;
	background: #1E7FB8;
	height: 3px;
	display: block;
	position: absolute;
	right: 0;
}

.qanda_list .open  .pulu span + span{transform: rotate(0deg);}

.qanda_list  .pulu span + span{transform: rotate(90deg);}

.rec_arrow2{
	padding:130px 0 0px;
}

.rec07{
	padding:100px 0 200px
}

.rec07_div{
	width:100%;
	height: 29vw;
	background:url(./img/recruit/bg7.jpg)no-repeat center;
	background-size:cover;
	margin:18px auto 0;
	display:flex;
	align-items:flex-end;
	justify-content:flex-end;
	max-height: 320px;
}

.rec07_div .btn_area{
	max-width:430px;
	width:100%;
	margin-right: 3.29%;
	margin-bottom: 3.29%;
}

.rec07_div .btn_area .btn1.bgtra{
	margin-top: 3.48%;
}

.btn1.bgtra{
	
background: #ffffffa3;
	
backdrop-filter: blur(6px);
}

.btn1 .gaibu_icon{
	margin-right:0;
	margin-left:10px;
}

.btn1:hover .gaibu_icon{
	margin-right:0;
	margin-left:10px;
}

/* topics */

#art_cov2{
	background:#0C3178;
	height: 26vw;
	margin:46.5px auto 0;
	width: 100%;
	color:#fff;
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
	max-height: 350px;
}


#art_cov2 .title{
	width: 95%;
	margin: 0 auto 3.7278%;
	font-size: clamp(3.6rem,5vw,6.7rem);
	font-weight:600;
	line-height:1.37313;
	max-width: 1216px;
}

#art_cov2 .title .sub{
	position:relative;
	display:block;
	margin-top: 1.4%;
	font-size: 1.6rem;
	font-weight:700;
	line-height:1.5;
	padding-left:14px;
}

#art_cov2 .title .sub:before{
	position:absolute;
	content:"";
	width:2px;
	height:11px;
	background:#fff;
	left:0;
	top:2.5px;
	bottom:0;
	margin:auto;
}

.topics01{
	padding:150px 0 22px;
}

.topics01 .title1{
	text-align:center;
	margin:0 auto 85px;
	font-size: clamp(2.1rem, 4.1vw, 3.1rem);
}

.cate_list{
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.423;
	justify-content:flex-start;
}

.cate_list li{
	margin-right:2.5%;
	width:18%;
}

.cate_list li:last-child{
	margin-right:0;
}

.cate_list li a.active,
.cate_list li a:hover{
	border-bottom:1px solid;
}

.topics01 .bar_area{
	margin:39px auto 30px;
}

.swipe_area{
	max-width:950px;
	width:95%;
	margin:0 auto;
}

.year_list{
	display:flex;
	align-items:center;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4444;
}

.year_list li{
	margin-right: 2.85%;
}

.year_list li:last-child{
	margin-right: 0%;
}

.year_list li a.active,
.year_list li a:hover{
	border-bottom:1px solid;
}

.topics01 .title_area{
	padding-bottom:60px;
	border-bottom:1px solid #707070;
	margin-bottom:128px;
}

.topics_list2{
	margin:14px auto 80px;
}

.topics_list2 li{
	display:flex;
	align-items:center;
	border-top:1px solid #707070;
	padding: 18px 5.442%;
}

.topics_list2 li:last-child{
	border-bottom:1px solid #707070;
}

.topics_list2 li:hover{
	background:#EAEEF0;
}

.dacate{
	display:flex;
	align-items:center;
	margin-right:56px;
	flex-shrink:0;
}

.dacate .date{
	letter-spacing:0.03em;
	font-weight:500;
	line-height:1.5;
	color:#4E4E4E;
	margin-right:20px;
}

.dacate .cate{
	font-size:1.2rem;
	color:#fff;
	background:#A7AAA9;
	min-width: 134px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.topics_list2 li .title2{
	letter-spacing:0.04em;
	font-weight:400;
	line-height:1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.topics_list2 li:hover .title2{
	border-bottom:1px solid;
}

.topi_num{
	text-align:center;
	color:#4E4E4E;
	letter-spacing:0.04em;
}


.pagination-list{
	display:flex;
	margin: 76px auto 0;
	justify-content: center;
	width: 100%;
	flex-wrap: wrap;
}

.pagination-list .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	width:51px;
	height: 52px;
	background: #fff;
	border: 1px solid #4D4D4D;
	margin: 0 0.2%;
	transition:.4s;
	font-weight: 500;
	text-decoration: none;
}


.pagination-list .page-numbers.prev{
	background:#fff;
	position:relative;
}

.pagination-list .page-numbers.next{
	background:#fff;
	position:relative;
}

.pagination-list .page-numbers.prev:before,
.pagination-list .page-numbers.next:before{
	content: '';
	width:6px;
	height: 6px;
	border-top: solid 2px #499D9C;
	border-right: solid 2px #499D9C;
	position: absolute;
	left: 0px;
	top:0px;
	transform: rotate(-135deg);
	right:0;
	bottom:0;
	margin:auto;
}

.pagination-list .page-numbers.next:before{
	transform: rotate(45deg);
}

.pagination-list .page-numbers.current,
.pagination-list .page-numbers:hover{
	background: #ccc;
	opacity:1;
}

.topics02{
	padding:134px 0 100px;
}

.topics02 .title_area{
	padding-bottom:54px;
	border-bottom:1px solid #707070;
	margin:0 auto 20px;
}

.topics02 .title_area .title{
	text-align:center;
	font-size: clamp(2.1rem, 4.1vw, 4.5rem);
	letter-spacing:0.03em;
	font-weight:700;
	line-height:1.4444;
}

.topics02 .date{
	letter-spacing:0.03em;
	font-weight:500;
	line-height:1.5;
	color:#4E4E4E;
	text-align:right;
}


.topics02 .cate{
	font-size:1.4rem;
	color:#fff;
	background:#A7AAA9;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width:max-content;
	padding:0 14px;
	margin-left:auto;
	margin-top:6px;
}

.detail_area{
	margin:62px auto 176px;
}

.back_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width:51px;
	height: 52px;
	background: #fff;
	border: 1px solid #4D4D4D;
	transition:.4s;
	margin:0 auto;
}

.back_btn:hover{
	opacity:1;
	background: #ccc;
}

/* company */
.comp01.art_div1{
padding: 65px 0 205px;
position: relative;
}

.comp01.art_div1:before{
	position:absolute;
	content:"";
	max-width:394px;
	width: 29%;
	height: 398px;
	background: url(./img/company/co1_sou.svg)no-repeat top right;
	background-size: contain;
	top: 0;
	right: 0;
	z-index: -1;
}

.comp02{
	padding:54px 0 200px;
}

.comp01_list{
	margin-top:100px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.comp01_list li{
	margin-top:40px;
	max-width:588px;
	width:49%;
	position:relative;
	height: 28vw;
	z-index:1;
	overflow: hidden;
	max-height: 320px;
}

.comp01_list li.long{
	width:100%;
	max-width:initial;
	height: 35vw;
	max-height: 445px;
}

.comp01_list li:before{
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index: -2;
	transition:.4s;
}

.comp01_list li:hover:before{
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.comp01_list li.mes_btn:before{
	background:url(./img/company/co11.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.bel_btn:before{
	background:url(./img/company/co12.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.inf_btn:before{
	background:url(./img/company/co13.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.his_btn:before{
	background:url(./img/company/co14.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.aff_btn:before{
	background:url(./img/company/co15.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.mach_btn:before{
	background:url(./img/technology/link1.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li.asso_btn:before{
	background:url(./img/technology/link2.jpg)no-repeat center;
	background-size:cover;
}

.comp01_list li:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #101010;
    opacity: 0.3;
    z-index: 0;
    transition: .4s;
    z-index: -1;
}


.comp01_list li:hover:after{
    opacity: 0;
}

.comp01_list li.long .text{
	font-size: clamp(3rem,5vw,6.7rem);
	font-weight:600;
	line-height:1.37313;
	position:absolute;
	top: 4.495%;
	left: 4.1%;
}

.comp01_list li.long .text span{
	position:relative;
	display:block;
	margin-top: 2.43%;
	font-size: 1.6rem;
	font-weight:700;
	line-height:1.5;
	padding-left: 14px;
}

.comp01_list li.long .text span:before{
	position:absolute;
	content:"";
	width:2px;
	height:11px;
	background:#fff;
	left:0;
	top:2.5px;
	bottom:0;
	margin:auto;
}

.comp01_list li.long .btn1{
	position:absolute;
	bottom: 6.75%;
	right: 2.5%;
	max-width: 470px;
	border: none;
}



.comp01_list li.short .text{
	font-size: clamp(2.9rem,3.7vw,4.7rem);
	font-weight:600;
	line-height:1.37313;
	position:absolute;
	top: 36%;
	left: 5.96%;
}

.comp01_list li.short .text span{
	position:relative;
	display:block;
	margin-top: 2.43%;
	font-size: 1.6rem;
	font-weight:700;
	line-height:1.5;
	padding-left: 14px;
}

.comp01_list li.short .text span:before{
	position:absolute;
	content:"";
	width:2px;
	height:11px;
	background:#fff;
	left:0;
	top:2.5px;
	bottom:0;
	margin:auto;
}

.comp01_list li.short .comp_btn1{
	position:absolute;
	bottom: 6%;
	right: 5.96%;
	border: none;
	display:flex;
	align-items:baseline;
	font-size:2rem;
	font-weight:700;
}

.comp01_list li.short .comp_btn1 img{
	margin-right:17px;
}

.mess01{
	padding:120px 0 200px;
}

.mess01 .title{
	font-size: clamp(2rem,4vw,3rem);
	font-weight:700;
	line-height:1.66667;
}

.mess01 .title span{
	color:#707070;
	display:block;
	margin-bottom:15px;
	font-size: clamp(1.6rem,4vw,2rem);
	font-weight:600;
	line-height:1;
}

.mess01 .img{
	margin:50px auto 92px;
}

.mess01 .text_area .title2{
	letter-spacing:0.03em;
	font-weight:700;
}

.mess01 .text_area .text1{
	font-size:1.6rem;
	font-weight:400;
	line-height:1.5;
	letter-spacing:0.04em;
	margin-top:46px;
}

.mess01 .text_area .text2{
	margin-top:45px;
	color:#4E4E4E;
	font-size: clamp(1.5rem,4vw,2rem);
	font-weight:500;
	text-align:right;
}

/* belief */

.beli01{
	padding:200px 0 100px;
}

.beli01 .flex{
	align-items:center;
	justify-content:flex-start;
}

.beli01 .flex .text_area{
	max-width:533px;
	width: 54%;
	margin-right: 9.7%;
}

.beli01 .flex .img{
	max-width:343px;
	width: 36%;
}

.beli01 .flex .text_area .title{
	font-size: clamp(2.4rem,4vw,4rem);
	font-weight:500;
	line-height:1.2;
	letter-spacing:0.05em;
}

.beli01 .flex .text_area .text1{
	font-size:1.7rem;
	font-weight:400;
	letter-spacing:0.04em;
	line-height:2;
	margin-top:70px;
}

.beli01 .img1{
	margin-top: 12.2%;
}

.beli02{
	border-top:1px solid #707070;
	padding:111px 0 200px;
}

.artTit4{
	font-size: clamp(2.7rem,4vw,3.5rem);
	font-weight:600;
	line-height:1.2857;
	letter-spacing:0.03em;
	padding-left:33px;
	border-left:6px solid #1E7FB8;
}

.artTit4.gr_bar{
	border-left:6px solid #AACF52;
}

.artTit4 .sub{
	font-size: clamp(1.6rem,4vw,1.8rem);
	font-weight:700;
	letter-spacing:0.03em;
}

.beli02 .title{
	margin:36px auto 22px;
	font-weight:600;
	line-height:1.4615;
	letter-spacing:0.03em;
}

.beli02 .text{
	line-height:2;
	letter-spacing:0.04em;
	font-weight:400;
}

.bot_bnr_area img{
	width:100%;
}

/* info */

.inf01{
	padding:130px 0 0;
}

 .inf_list{
	margin-top:94px;
}

.inf_list li{
	display:flex;
	align-items:flex-start;
	border-top:1px solid #A7AAA9;
	padding:15px 0;
	font-size: 1.6rem;
	line-height: 2;
}

.inf_list li:last-child{
	border-bottom:1px solid #A7AAA9;
}

.inf_list li > .left{
	padding-left: 1.877%;
	width: 18.3%;
	font-weight: 500;
}

.inf_list li > .right{
	width: 81.7%;
	font-weight: 400;
}

.inf02{
	padding: 150px 0 180px;
}

.inf01 .artTit4,
.inf02 .artTit4 {
    font-size: clamp(2.3rem, 4vw, 3.5rem);
}

.map{
	width:100%;
	max-width:717px;
	height:538px;
	margin: 30px 0 0;
}

.map iframe{
	width:100%;
	height:100%;
}

/* affiliated */

.affi01.beli01 {
    padding: 157px 0 15px;
}

.affi01 .title1{
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height:1.6;
    letter-spacing:0.02em;
    font-weight:700;
    margin-bottom:7px;
}

.affi01 .text2{
    font-size: clamp(1.6rem, 3vw, 3rem);
    line-height:1.46667;
    letter-spacing:0.04em;
    font-weight:300;
}

.affi01.beli01 .flex .text_area .text1{
	
margin-top: 45px;
}

.beli01.affi01 .img1 {
    margin-top: 14.1%;
}

.affi02{
padding: 150px 0 0;
}

.inf02.affi03{padding: 110px 0 180px;}

/* history */
.his01{
	position:relative;
	z-index: 1;
}

.his01:before{
	position:absolute;
	content:"";
	width: 29.5%;
	height:100%;
	left:0;
	top:0;
	background: linear-gradient(to top, #fff 0% ,#fbfbfb 20%,#fbfbfb 80%,#fff 100%);
	z-index: -1;
}

.his01 .art_inner2{
	padding:151px 0 200px;
	max-width: initial;
	z-index: 1;
	margin-left: 14.642%;
	margin-right: 13.178%;
	width: 72.18%;
}

.his01 .sou1{
	position: absolute;
	top: 4.5%;
	left: 45.608%;
	width: 107.248%;
}

.his01 .sou2{
	position: absolute;
	width: 169%;
	top: 41.5%;
	right: -20%;
}

.his01 .sou3{
	position: absolute;
	width: 51.245%;
	top: 65.7%;
	right: 51%;
	z-index: -1;
}

.his01 .text1{
	color:#4E4E4E;
	line-height:1.7692;
	letter-spacing:0.03em;
	font-weight:500;
	margin-bottom:162px;
	font-size: clamp(1.6rem, 3vw, 2.6rem);
}

.his_div .title{
	font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.45;
	color:#4E4E4E;
	margin-bottom:85px;
}

.his_list{
	position:relative;
}

.his_list:before{
	position:absolute;
	content:"";
	width: 31px;
	height: 111.5%;
	background:url(./img/history/arrow2.svg)no-repeat bottom left;
	background-size:contain;
	top: 25px;
	left: 15.65%;
	border-left: 2px solid #4e4e4e;
	border-radius: 2px;
}

.his_list li{
	display:flex;
	align-items: flex-start;
	margin-bottom: 100px;
	position: relative;
}

.his_list li:before{
	position:absolute;
	content:"";
	width:23px;
	height:23px;
	background:#4E4E4E;
	border-radius:50%;
	border:3px solid #fff;
	top: 20px;
	left: 14.2%;
}

.his_list li .left{
	max-width:237px;
	width: 25%;
	font-size: 5rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	color:#4E4E4E;
}

.his_list li .right{
	max-width: 749px;
	width: 75%;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.333;
	color: #4E4E4E;
	padding-top: 15px;
}

.his_list li .right .text .unli{
	text-decoration:underline;
}

.his_list li .right .img{
	max-width:594px;
	width:100%;
	margin-top:35px;
}

.his_div1{
	/* max-width: 749px; */
	width: 75%;
	margin-left:auto;
	margin-top: 265px;
}


.his_div1 .img{
	max-width: 460px;
	width: 80.37%;
	margin-bottom: 6.9%;
}

.his_div1 .text{
	font-size: 3.8rem;
	color:#4E4E4E;
	font-weight:600;
	letter-spacing:0.07em;
	line-height:1.444;
}

/* sdgs */
.sus01{
	background:#AACF52;
	color:#fff;
	padding:120px 0;
}

.sus01 .flex .artTit1{
	flex-shrink:0;
	margin-right:4%;
}

.sus01 .flex .text{
	max-width:533px;
	width:100%;
	font-size:1.6rem;
	font-weight:600;
	line-height:2;
	letter-spacing:0.03em;
}

.sus02{
	padding:100px 0 200px;
}

.sus02_div{
	margin-bottom:94px;
}

.sus02_div:last-child{
	margin-bottom:0px;
}

.sus02_div .recTit{
	margin-bottom:31px;
	font-size: clamp(2rem, 3.8vw, 3.1rem);
}

.sus02_div .title1{
	margin-bottom:24px;
	font-size:2rem;
	font-weight:600;
	letter-spacing:0.03em;
	line-height:1.45;
}

.sus02_div .text1{
	letter-spacing:0.04em;
	line-height:2;
	font-weight:400;
}


.sus02_div .text1 .med{
	font-weight:500;
}

.sus02_div .img1{
	margin-top:38px;
	width:100%;
	margin-bottom:60px;
}

.sus02_div .text2{
	letter-spacing:0.04em;
	line-height:2;
	font-weight:400;
	margin-top:20px;
}

.sus02_div .flex1 .img2{
	max-width:153px;
	width:30%;
}

.sus02_div2 .flex1 .img2{
	margin-top:16px;
}

.sus02_div .mabo{
	margin-bottom:60px;
}

.sus02_div3 .img1{
	max-width:624px;
}

.sus02_div .flex2 .text1{
	max-width:841px;
	width: 79%;
}

.sus02_div .flex2 .img3{
	max-width: 126.27px;
	width: 19%;
}

.sus02_div4 .img1{
	max-width:404px;
}

.sus02_div4 .text2{margin-top: 0px;}

/* technology */
.technology .art_div1{
	
}

.tech01{
	padding:54px 0 0;
}

.tech01_list{
	margin: 170px 0 80px;
	display:flex;
	flex-wrap:wrap;
	position:relative;
}

.tech01_list:before{
	position:absolute;
	content:"";
	width:2px;
	height:100%;
	background:#EAEEF0;
	left:50%;
	top:0;
}

.tech01_list li{
	width:50%;
	border-bottom:2px solid #EAEEF0;
	padding-top: 41px;
	padding-bottom: 45px;
	position:relative;
}

.tech01_list li:before{
	position:absolute;
	content:"";
	width:59px;
	height:2px;
	top:-2px;
}

.tech01_list li.tech1_li_bl1:before{
	background:#1E7FB8;
}

.tech01_list li.tech1_li_gre:before{
	background:#AACF52;
}

.tech01_list li.tech1_li_gra:before{
	background:#A7AAA9;
}

.tech01_list li.tech1_li_bl2:before{
	background:#0C3178;
}

.tech01_list li:nth-child(1),
.tech01_list li:nth-child(2){
	border-top:2px solid #EAEEF0;
}

.tech01_list li:nth-child(2n+1){
padding-right: 5.711%;
padding-left: 11.201%;
}

.tech01_list li:nth-child(2n+2){
padding-left: 5.711%;
padding-right: 11.201%;
}

.tech01_list li .num{
	font-size:5rem;
	font-weight:600;
	letter-spacing:0.03em;
}

.tech01_list li .title{
	font-size: clamp(2rem, 3.8vw, 2.3rem);
	margin-top:18px;
}

.tech01_list li .text1{
	line-height:2;
	letter-spacing:0.04em;
	font-weight:400;
	margin-top:20px;
}

li.tech1_li_bl1 .num,
li.tech1_li_bl1 .title{
	color:#1E7FB8;
}

li.tech1_li_gre .num,
li.tech1_li_gre .title{
	color:#AACF52;
}

li.tech1_li_gra .num,
li.tech1_li_gra .title{
	color:#A7AAA9;
}

li.tech1_li_bl2 .num,
li.tech1_li_bl2 .title{
	color:#0C3178;
}

.tech02{
	padding:100px 0 200px;
}

.tech02_list li{
	width: 94.51%;
	margin-bottom: 100px;
}

.tech02_list li .title_area{
	display:flex;
	justify-content:space-between;
	flex-direction:row-reverse;
	position: relative;
	margin-bottom:25px;
}

.tech02_list li .title_area:before{
	position:absolute;
	content:"";
	width:0.8px;
	height:100%;
	background:#707070;
	left:73.122%;
	top:0;
}

.tech02_list li .title_area .title1{
	width: 26.878%;
	font-size: clamp(2.5rem,4vw,4rem);
	font-weight:600;
	letter-spacing:0.07em;
	line-height:1.64;
	padding-left: 3.99%;
}

.tech02_list li .title_area .title2{
	width: 73.122%;
	text-align: right;
	font-size: clamp(1.7rem,4vw,3.8rem);
	font-weight:600;
	letter-spacing: 0.08em;
	line-height: 1.447;
	padding-right: 1.743%;
	padding-top: 12.5%;
}

.tech02_list li .flex{
	
}

.tech02_list li:nth-child(2n){
	margin-left:auto;
}

.tech02_list li:nth-child(2n) .flex{
	flex-direction:row-reverse;
}

.tech02_list li .flex .img_area{
	width: 73.122%;
}

.tech02_list li .flex .text_area{
	width: 26.878%;
	display:flex;
	justify-content:center;
	padding-top:60px;
}

.tech02_list li .title3{
	font-size: clamp(1.5rem,3vw,2.9rem);
	font-weight:400;
	line-height: 1.174;
}

.tech02_list li .flex .title3{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.08em;
}

.tech02_list li .flex .title3 span{
	display:block;
}

.tech02_list li .flex .title3 span:last-child{
	padding-top:70px;
	margin-right:29px;
}

.tech02_list li .flex .img_area .text1{
	font-size: clamp(1.4rem,2.4vw,2rem);
	font-weight:500;
	letter-spacing:0.04em;
	line-height:1.45;
	margin-top:27px;
	text-align:right;
}

.tech02_list li:nth-child(2) .flex .img_area .text1{
	text-align:left;
}

.tech02_list li:last-child{
	margin-bottom:150px;
}

.tech02_list li .text_area2{
	margin-top:70px;
	max-width:max-content;
	margin-left:auto;
}

.tech02_list li .text_area2 .text2{
	max-width:max-content;
	margin-left:auto;
	margin-top:30px;
	font-size: clamp(1.4rem,2.4vw,2.2rem);
	font-weight:400;
	letter-spacing:0.06em;
	line-height:1.59;
}

.tech02 .img1{
	margin-bottom:120px;
}

.tech02 .img1 img{
	width:100%;
}

.tech02 .arrow_area{
	color:#4E4E4E;
}

.link_area .comp01_list.tech02_list2.comp01_list li{
	margin-top:0;
}

/* machinery */

.mach01{
	background:#1D1D1D;
	color:#fff;
	padding:120px 0 110px;
}

.mach01 .art_inner{
	max-width:965px;
}

.mach01 .title{
	 font-size: clamp(2rem, 4.1vw, 4.5rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.4444;
	margin-bottom:40px;
}

.mach01 .text{
	line-height:2;
	letter-spacing:0.03em;
	margin-top:35px;
	font-weight:500;
}

.mach01 .arrow_area{
	margin:100px  auto 0;
}

.mach02{
	background:#A7AAA9;
	padding:234px 0 0px;
}

.mach02 .inner{
	max-width: 1161px;
}

.mach02 .title_area{
	display:flex;
	align-items:center;
	margin-bottom:29px;
}

.mach02 .title_area .title1{
	flex-shrink:0;
}

.mach02 .title_area .text{
	margin-left: 4.307%;
	line-height:1.5;
	letter-spacing:0.04em;
}

.mach02_list1 > li{
	background:#ffffff;
	margin-bottom:20px;
	position:relative;
	padding:25px 39px 16px;
	min-height:500px;
	display:flex;
	align-items:flex-start;
	flex-direction:column;
	justify-content:flex-end;
	z-index: 1;
	overflow: hidden;
}

.mach02_list1 > li.mabo{
	margin-bottom:100px;
}

.mach02_list1 li .title{
	top:25px;
	position:absolute;
	left:39px;
	font-size: clamp(2rem, 3vw, 4rem);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.25;
}

.mach02_list1 li .title span{
	display:block;
	font-size: clamp(1.4rem, 2.4vw, 1.6rem);
	font-weight:400;
}

.mach02_list1 li .img {
	position:absolute;
	pointer-events:none;
	z-index: -1;
}

.mach02_list1 li.r_img .img{
	max-width:500px;
	width: 43%;
	right: 0;
	bottom: 0%;
	height: 100%;
}

.mach02_list1 li.r_img .img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.mach02_list1 li .img.img1{
	max-width:831px;
	width: 72%;
	left: 17.5%;
	bottom: 8.4%;
}

.mach02_list1 li .img2{
	max-width:508px;
	width: 44%;
	left: 30%;
	bottom: 15.1%;
}

.mach02_list1 li .img.img3{
	max-width: 722px;
	width: 63%;
	left: 24%;
	bottom: 9.8%;
}


.mach02_list1 li .img.img5{
	max-width: 778px;
	width: 68%;
	left: 22.93%;
	bottom: 12.4%;
}

.mach02_list1 li .img.img6{
	max-width: 523px;
	width: 45%;
	left: 30.9%;
	bottom: 13.8%;
}



.mach02_list1 li .name{
	position:absolute;
	bottom:15px;
	right:40px;
	text-align:right;
	font-size: clamp(2.6rem, 3vw, 5rem);
	font-weight:600;
	line-height:1.36;
	color:#4E4E4E;
}

.mach02_list1 li .name span{
	display:block;
	font-size: clamp(1.7rem, 2.4vw, 2.8rem);
	letter-spacing:0.03em;
	line-height:1.352;
}

.mach02_list1 li.r_img .name{
	position:initial;
	text-align:left;
	margin-bottom: 16px;
}


.mach02_list2{
	max-width: max-content;
	width:100%;
	min-width: 292px;
}

.mach02_list2 li{
	border-bottom:1px solid #707070;
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-weight:400;
	line-height:1.5625;
	padding:9.5px 0;
}

.mach02_list2 li:last-child{
	border-bottom:none;
}

.mach02_list2 li .text3{
	max-width:max-content;
	margin-left:auto;
}

.mach02_div1{
	margin-bottom:120px;
}

.mach02_div1:last-child{
	margin-bottom:0px;
}

.all_img{
	margin:200px auto 0;
}

.all_img img{
	width:100%;
}

/* privacy */

.privacy01{
	margin: 145px 0;
}

.privacy01 .box{
	font-size: 1.8rem;
	margin: 0 0 50px;
	line-height: 1.8;
}

.privacy01 li{
	margin-top: 70px;
}

.privacy01 li:first-child{
	margin-top: 0;
}

.privacy01 dt{
	font-size: 2rem;
	margin-bottom: 10px;
	font-weight: 500;
}

.privacy01 dd{
	line-height: 1.7;
}

.privacy01 dl li{
	margin-top: 25px;
}

/* entry */

#art_cov3{
	background:#AACF52;
	height: 26vw;
	margin:46.5px auto 0;
	width: 100%;
	color:#fff;
	display:flex;
	align-items: flex-start;
	justify-content:flex-start;
	max-height: 320px;
}


#art_cov3 .title{
	width: 95%;
	margin: 4.7% auto 0;
	font-size: clamp(1.9rem,4vw,3.4rem);
	font-weight:600;
	line-height: 1.4414;
	max-width: 1066px;
	letter-spacing: 0.06em;
}

#art_cov3 .title .sub{
	position:relative;
	display:block;
	margin-top: 1.32%;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5625;
	letter-spacing: 0.03em;
}

.entry01{
	padding: 120px 0 200px;
}

.page_bar{
	display:flex;
	justify-content:center;
	align-items:center;
}

.page_bar li{
	width:33.33334%;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	position:relative;
	text-align: center;
	padding-bottom: 22px;
}

.page_bar li:before,
.page_bar li:after{
	position:absolute;
	content:"";
	width:50%;
	height:1px;
	bottom: 3px;
	background:#707070;
}

.page_bar.var3 li:before,
.page_bar.var3 li:after{
	background:#AACF52;
}

.page_bar.var2 li:nth-child(2):before,
.page_bar.var2 li:nth-child(1):after{
	background:#AACF52;
}

.page_bar li:before{
	left:0;
}

.page_bar li:after{
	right:0;
}

.page_bar li .num{
	font-size:2.5rem;
	font-weight:700;
	letter-spacing:0.05em;
	line-height:1.36;
}

.page_bar li .text1{
	font-weight:500;
	line-height:1.625;
}

.page_bar li .page_dot{
	width: 8px;
	height: 8px;
	background: #707070;
	position: absolute;
	z-index: 1;
	bottom: 0;
}

.page_bar li.active,
.page_bar li.active2{
	color:#AACF52;
}

.contact01 .page_bar li.active,
.contact01 .page_bar li.active2{
	color:#0C3178;
}

.contact01 .page_bar li.active .page_dot,
.contact01 .page_bar li.active2 .page_dot{
	background: #0C3178;
}

.contact01 .page_bar.var3 li:before,
.contact01 .page_bar.var3 li:after{
	background: #0C3178;
}

.contact01 .page_bar.var2 li:nth-child(2):before,
.contact01 .page_bar.var2 li:nth-child(1):after{
	background: #0C3178;
}

.page_bar li.active .page_dot{
	width: 16px;
	height: 16px;
	background: #AACF52;
	bottom: -4px;
}

.page_bar li.active2 .page_dot{
	background: #AACF52;
}

.page_bar li:first-child:before{
	display:none;
}

.page_bar li:last-child:after{
	display:none;
}

.entry01_div{
	margin:85px auto 0;
}

.entry01_div .text1{
	line-height:1.625;
	font-weight:400;
	margin-bottom:20px;
}

.entry01_div .text1 a{
	text-decoration:underline;
}

.entry01_div2{
	padding:170px 0 0;
	text-align:center;
}

.entry01_div2 .text1{
	font-size:2.4rem;
	font-weight:500;
	letter-spacing:0.03em;
	line-height:1.416667;
}

.entry01_div2 .text2{
	font-size:1.5rem;
	font-weight:400;
	line-height:1.7333;
	margin-top:30px;
}

.ft_comp_list{
	display:flex;
	max-width:469px;
	align-items:center;
	justify-content:space-between;
	padding: 1.37% 1.714% 1.714%;
	background:#fff;
	margin-left:auto;
	margin-bottom: 4.62%;
}


.ft_comp_list.sp{
	display:none;
}

.ft_comp_list li{
	
width: 23.386%;
}
.co2_img_area a {
	transition: filter 0.3s ease;
  }
  
  .co2_img_area a:hover {
	filter: brightness(1.2); /* ← 1.0が通常、1.2で明るく */
  }
.mv_anm span {
	opacity: 0;
	display: inline-block;
	transform: translateY(20px);
	transition: all 0.5s ease;
  }
  
  .mv_anm span.show {
	opacity: 1;
	transform: translateY(0);
  }
/*-- 固定ここまで --*/


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width: 1921px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
	


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1921px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


	

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
	
.mv_rec{
	bottom: 9%;
}

.ft_in > .top .flex1 .left{
	margin-left:0;
}

.his01 .art_inner2 {
    width: 95%;
	margin:0 auto;
	max-width:983px;
}

.his_list li .left{
	width: 25%;
	font-size: 4rem;
}

.his_list li .right{
	width: 75%;
	font-size: 2rem;
}


.his_list:before{
	left: 17.55%;
}


.his_list li:before{
	top: 14px;
	left: 16%;
}

.his_list li {
    margin-bottom: 60px;
}

.his_div1 {
    margin-top: 180px;
}
	
.his_div1 .text {
    font-size: clamp(1.7rem, 4vw, 4rem);
}

.his01:before{
	width: 23%;
}

.his01 .text1 {
    margin-bottom: 100px;
}

.mach02_list1 li .img.img1 {
    left: 22%;
}

.mach02_list1 li .img2{
	left: 36%;
}

.mach02_list1 li .img.img3{
	left: 30%;
}

.mach02_list1 li .img.img5{
	left: 30%;
}

.mach02_list1 li .img.img6 {
    left: 37%;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
	
	
		


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/

img {
	width: auto;
	max-width: 100%;
	height: auto;
}





/*-- お問い合わせ --*/


.nav_list1 .nv_cont{
	font-size:1.2rem;
}

.nav_list2 a {
    font-size: 1.2rem;
}

.nav_list1 .nv_cont2 {
    padding: 4px 4px;
    font-size: 1.2rem;
}

.close_page {
    padding: 10px 4%;
}

.co1_div2 {
    margin-top: 80px;
}

.co1_div2 .btn1:first-child {
    margin-bottom: 20px;
}

.content01 {
    padding: 44px 0 80px;
}

.co1_in .text {
    margin-top: 20px;
}

.co2_div1 {
    margin: 60px auto 0;
}

.content03 .video {
    margin: 4px auto 20px;
}


.co2_img_area .flex2 .left .img2 .text_area .left2{
	width: 45%;
}

.co2_img_area .flex2 .left .img2 .text_area .right2{
	width: 57%;
}


.co2_img_area .flex1 .left .text_area .left2{
	width: 30%;
}

.co2_img_area .flex1 .left .text_area .right2{
	width: 70%;
}

.mainTit2 {
    font-size: clamp(2rem, 3.8vw, 5.6rem);
}

body{
	font-size:1.5rem;
}

.buss01_div a.white {
    height: 60px;
    font-size: 1.8rem;
}

.rec_btn1{
	padding: 90px 20px 20px;
}

.rec_btn1:after{
	right:10%;
	bottom: 30px;
}

.modal-cont .text_area{
	padding: 16px 10px 50px;
}

.rec01 {
    padding: 100px 0;
}

.modal-cont {
    min-height: initial;
}

.rec07_div .btn_area {
    margin-right: 1%;
    margin-bottom: 1%;
}

.rec07_div .btn_area .btn1.bgtra {
    margin-top: 1%;
}

.cate_list{
	font-size:2rem;
}

.comp01.art_div1 {
    padding: 65px 0 80px;
}

.beli01 .flex .text_area {
    width: 59%;
    margin-right: 4%;
}

.sus02_div4 .text2 {
    margin-top: 20px;
}

.mach02_list1 > li{
	min-height: 48.115vw;
}
	
.mach02_list1 li .img.img1{
	left: 32%;
	bottom: 18%;
}

.mach02_list1 li .img2{
	left: 45%;
	bottom: 21%;
}

.mach02_list1 li .img.img3{
	left: 39%;
	bottom: 17%;
}


.mach02_list1 li .img.img5{
	left: 34%;
	bottom: 21%;
}

.mach02_list1 li .img.img6{
	left: 46%;
	bottom: 21%;
}

.contact_tb th, .contact_tb td{
	font-size:1.4rem;
}

.modal-box {
    max-width: 350px;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1000px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc {
	display: none;
}

.sp {
	display: block;
}

nav li a {
	font-size: 1.5rem;
}

a[href*="tel:"] {
	pointer-events: initial;
	cursor: pointer;
	text-decoration: none;
	}
	

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



.headerUl{
	display: flex;
	width: 50%;
	justify-content: flex-end;
}

.menuBtn {
	/* width: 35%; */
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 16px;
}


/*--- modal ---*/

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 14px;
  height: 12px;
  z-index: 9999;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #101010;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 6px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span,
.headerScroll .menu-trigger span{
	background:#111;
}
	
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(5.5px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translateY(-5.5px) rotate(45deg);
}

/*gnav*/
.gnav{
    background: #fff;
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 999;
    transition: 1s;
    left: 0;
    top: 0;
}

.gnav.active{
	display: block;
}

.gnav__menu{
    display: block;
    width: 100%;
    height: 100%;
    padding: 47px 0 0px;
}

.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: fixed;
    width: 100%;
	top: 0px;
    overflow: scroll;
}

nav .gnav__menu__item{
    margin: 10px auto 0;
    width: 95%;
    border-bottom: 1px solid #ccc;
}

.gnav__menu__item a{
    color: #111;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
    transition: .5s;
    background: none;
    width: 100%;
    padding: 0 0 10px 0;
    display: block;
}

nav .gnav__menu__item a.btn03{
    padding: 0 5%;
    font-size: 2rem;
}

.pc_nav{
	display:none;
}


.mv_rec{
	display:none!important;
}

.content01 {
	padding: 60px 0 90px;
}

.co1_img {
    margin: 0 auto 70px;
    width: 58.67%;
}

.co1_in {
    width: 90.67%;
    width: 100%;
}

.co1_div1 {
    width: 100%;
}

.co1_in .title {
    position: initial;
    top: 0%;
    font-size: clamp(1.8rem, 4vw, 2.9rem);
    text-align: center;
    margin: 46px auto 20px;
}

.ver {
    -ms-writing-mode: initial;
    writing-mode: initial;
}

.co1_in .title .l_sp {
    padding-top: 0%;
}

.co1_in .mainTit {
    margin-left: 35px;
    margin-bottom: 15px;
}

.mainTit .en_tit{
	margin:0;
	font-size:3rem;
	line-height:1.66667;
}

.mainTit .tit{
	display:block;
	font-size:1.9rem;
	font-weight:500;
	line-height: 1;
}

.co1_div1 .img{
	width: 90.67%;
}

.co1_in .text{
	width: 81.334%;
	padding: 0;
	margin: 0 auto;
}

.co1_div2 {
    width: 53%;
    margin: 50px auto 0;
    min-width: 200px;
}

.co1_div2 .btn1{
	margin:0 auto;
}

.btn1{
	height:34px;
	font-size: 1.3rem;
	font-weight: 500;
	min-width: 200px;
	width: 59%;
}
	
.btn1 img{
	width: 9.1px;
}

.inner {
    width: 89.334%;
}

.content03 {
    padding: 48px 0 90px;
}

.content03 .video{
	margin:15px auto 21px;
}

.content03 .btn1 {
    margin: 40px auto 50px;
    max-width: 252px;
    width: 100%;
}

.arrow_area .arrow{
	width:15px;
}

.content04 {
    padding: 50px 0 0;
}
	
.content04 .co1_in {
    width: 100%;
}

.content04 .co1_div1{
	width:100%;
}

.content04 .co1_in .mainTit{
	width: 90.67%;
	margin-left: auto;
	margin-right: 0;
	max-width: initial;
	flex-direction: column-reverse;
	display: flex;
}

.content04 .mainTit .en_tit {
    margin-left: 0px;
}

.content04 .co1_div1 .img{
	margin-left:auto;
}

.sld1_cont {
    margin-right: 10px;
}

.content04 .co1_in .title .l_sp {
    padding-top: 0%;
}

.content04 .co1_in .text{
	margin-left:auto;
}

.content04 .co1_div2 {
    margin-right: 35px;
}

.content05 {
    padding: 80px 0 90px;
}

.content02 {
    padding: 47px 0 90px;
}
	
.content02 .inner2{
	width:100%;
}

.content02 .text1{
	text-align:center;
	font-size: clamp(1.2rem,2vw,1.6rem);
	margin: 20px auto 40px;
}


.co2_img_area {
    margin: 0px auto 0;
}

/* co2_flex1 */

.co2_img_area .flex1{
	margin-bottom: 0.534%;
}


.co2_img_area .flex1 .left .text_area{
	bottom: 26%;
	flex-direction:column;
	width: 91.5%;
}

.co2_img_area .flex1 .left .text_area .left2{
	width: 100%;
	margin-top: 7%;
}

.arrow_cont1{
	height: 0.8px;
}
.arrow_cont1:before{
	width:0.8px;
	height: 20px;
	right: 7px;
	bottom: -5px;
}

.co2_img_area .flex1 .left .text_area .right2{
	width: 100%;
	text-align: right;
	margin-top: 10%;
}


.co2_img_area .flex1 .left .text_area .right2 .text{
	display:none;
}

    .mainTit2 {
        font-size: clamp(2.1rem, 3.8vw, 5.6rem);
		font-weight:600;
    }

.mainTit3 {
    font-size: clamp(1.4rem, 3vw, 2.8rem);
}
	
/* co2_flex2 */

.co2_img_area .flex2{
	margin-bottom: 0.534%;
}

.co2_img_area .flex2 .left{
	width: 100%;
}

.co2_img_area .flex2 .right{
	display:none;
}


.co2_img_area .flex2 .left .img1{
	height: 60.27vw;
	max-height:initial;
	margin-bottom: 0.534%;
}

.co2_img_area .flex2 .left .img2{
	position: relative;
}

.co2_img_area .flex2 .left .img2 .text_area{
	bottom: 13.005%;
	width: 94.134%;
	flex-direction: row-reverse;
	right: auto;
	align-items: flex-start;
}

.co2_img_area .flex2 .left .img2 .text_area .left2{
	width: 47.026%;
	text-align: right;
}

.co2_img_area .flex2 .left .img2 .text_area .right2{
	width: 50.145%;
}

.co2_img_area .flex2 .left .img2 .text_area .left2 .mainTit2{
	margin-bottom: 2.323%;
}

.co2_img_area .flex2 .left .img2 .text_area .left2 .mainTit3{font-size: clamp(1.5rem, 3vw, 2.8rem);}

.co2_img_area .flex2 .left .img2 .text_area .right2 .arrow_cont1{margin-top: 9%;}

.co2_img_area .flex2 .left .img2 .text_area .right2 .text{display: none;}

/* co2_flex3 */


.co2_img_area .flex3 .left{
	width: 42.912%;
	order: 2;
}

.co2_img_area .flex3 .right{
	width: 100%;
	order: 1;
	margin-bottom: 0.534%;
}

.co2_img_area .flex3 .center{
	width: 56.562%;
	order: 3;
}

.co2_img_area .flex3 .right .img1{
	height: 75.734vw;
}

.co2_img_area .flex3 .center .text_area{
	bottom: 14.8%;
	width: 98%;
}

.co2_img_area .flex3 .center .text_area .left2{
	max-width:initial;
	width: 87.57%;
}

.co2_img_area .flex3 .center .text_area .right2{display: none;}

.co2_img_area .flex3 .center .text_area .left2 .mainTit2{
	margin-bottom: 0;
	padding-left: 7.3%;
	font-size: clamp(1.9rem, 3.8vw, 5.6rem);
}

.co2_img_area .flex3 .center .text_area .left2 .mainTit3{
	padding-left: 7.3%;
	margin-bottom: 11.5%;
}

.co2_img_area .flex3 .center .text_area .left2 .arrow_cont1{
		width: 82.6%;
}

.content02 .text2{
width: 82.145%;
margin: 21px auto 0;
}

.co2_div1 {
	margin: 32px auto 0;
	flex-direction: column;
	min-width: 200px;
	align-items: center;
	width: 53%;
}

.co2_div1 .btn1 {
    width: 100%;
}
	
.co2_div1 .btn1:first-child{
	margin-bottom:20px;
}


.co5_in{
	width: 90.67%;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.co5_in .left{
	width: 60.8%;
	padding-bottom: 45px;
}

.co5_in .right{
	width: 81.33%;
	margin: 0 auto;
}

.co5_in .right .title{
	font-size: clamp(1.8rem, 4vw, 3.1rem);
	letter-spacing: 0.09em;
}

.co5_in .right .text{
	letter-spacing: 0.01em;
	margin-top: 15px;
}

.co5_in .right .co5_div{
	margin: 35px 0 0 auto;
	max-width:469px;
	width:100%;
}

.co5_in .right .co5_div .btn1{min-width: 200px;width: 65%;}

.co5_in .right .co5_div .bnr{
	margin-top: 15px;
	margin-left: 0;
	width: 30%;
	min-width: 120px;
}

.content06{
	padding: 47px 0 90px;
}

.topics_list1{
	margin: 45px auto 40px;
}

.topics_list1 li{
	padding: 16px 0px 7px;
	letter-spacing: 0em;
	padding-left: 25px;
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
}

.topics_list1 li .title{
	width: 85%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.topics_list1 li:before{
	top: 18px;
}

.content06 .btn1{
	margin:0 auto;
}

.pagetop_area{
	padding: 100px 0 90px;
}

.pagetop_cont{
	max-width:189px;
}


.pagetop_cont .img2{
	width:50px;
	margin:0 auto;
}

.pagetop_area .img1{
	margin: 0px auto 60px;
}

.btn_cont{
	margin:60px auto 0;
	max-width:260px;
}


.btn_cont .btn1{
	width:100%;
}


.btn_cont .btn1:first-child{
	margin-bottom:19px;
}


footer {
	padding: 50px 0  0;
}

.ft_in{
	width: 100%;
}


.ft_in > .top{
	padding: 0 0 56px;
	border-bottom: none;
	width: 89.334%;
	margin: 0 auto;
}
	
.ft_in > .top .flex1 .left{
	max-width: initial;
	width: 100%;
	padding-top: 0;
}


.ft_in > .top .flex1 .left .logo{
	max-width:192.7px;
	margin-bottom: 29px;
}

.ft_in > .top .flex1 .right{display: none;}

.ft_in > .top .flex1 .left .add .text1{
	font-size: 1.7rem;
	font-weight: 600;
}

.ft_in > .top .flex1 .left .add .text2{
	font-size: 1.3rem;
	font-weight:500;
	margin-top: 10px;
}

.tel_btn{font-size: 2rem;margin-top: 8px;align-items: center;}

.tel_btn span{margin-right: 11px;font-size: 1.3rem;}

.ft_list2{
	display:flex;
	flex-wrap:wrap;
}

.ft_list2 li{
	width:50%;
	border-bottom:1px solid #959595;
}

.ft_list2 li:nth-child(2n+1){
	border-right:1px solid #959595;
}


.ft_list2 li:nth-child(1),
.ft_list2 li:nth-child(2){
	border-top:1px solid #959595;
}

.ft_list2 li a{
	color:#fff;
	height:59px;
	display:flex;
	align-items:center;
	padding-left:18px;
	font-size:1.5rem;
	letter-spacing:0.03em;
	font-weight:500;
}

.ft_in > .bottom{
	padding: 13px 0 19px;
}

.ft_in > .bottom .flex2{
	max-width:1220px;
	margin:0 auto;
	width:100%;
}

.ft_list1 li{
	margin-bottom: 16%;
	font-size:1.5rem;
	font-size: clamp(1rem, 1.2vw, 1.5rem);
}

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

.ft_in > .bottom .flex3{
	align-items: flex-end;
	margin-top: 0;
	flex-direction: column-reverse;
}

.ft_in > .bottom .flex3 .left{
	width: 89.334%;
	max-width: initial;
	margin: 0 auto;
}

.ft_in > .bottom .flex3 .center{
	width: 100%;
	padding-bottom: 90px;
	margin: 0 auto;
}

.ft_in > .bottom .flex3 .right{
	max-width: 305px;
	width: 100%;
	padding-bottom: 0;
	padding-top: 40px;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: 500;
}

.ft_in > .bottom .flex3 .right .btn1{
	width: 200px;
	margin: 20px auto 0;
}

.ft_list3 li.bar{
	width:1px;
	height:14px;
	background:#fff;
}

.ft_list3 li{
	color:#fff;
	font-size:1.5rem;
	font-size: clamp(1.2rem, 1.2vw, 1.5rem);
}


.ft_in > .bottom .flex3 .right .btn1:last-child{
	margin-top:17px;
}


.copyright {
	padding: 13px 5.333%;
	text-align: left;
}

.btn1.pc{
	display:none;
}
.btn1.sp{
	display:flex;
}

.sp_cont{
	max-width: 422px;
	width:100%;
	margin:20px auto;
}

.ft_comp_list.sp{
	display:flex;
}

.ft_list3{
	max-width: 200px;
}

.ft_list3 li.bar{
	display:none;
}
	
.ft_list3 li{
	font-size:1rem;
}

header {
	padding: 10px 20px;
}

.hLogo {
    width: 37%;
}

.gnav_li1.cont{
	background:#0C3178;
	color:#fff;
}

.gnav_list li.gnav_li1.cont dt:before{
	background: url(./img/common/hd_arrow2.svg) no-repeat;
}
	
.gnav_list li dl{
	font-size:1.5rem;
	border-top:1px solid #707070;
	font-weight:500;
}

.gnav_list li dt{
	padding:15px 21px 10px;
	position:relative;
}

.gnav_list li dt .title img{
	margin-right:8px;
}


.gnav_list li dt:before{
	position:absolute;
	content:"";
	background:url(./img/common/hd_arrow.svg)no-repeat;
	width: 11px;
	height:18px;
	right: 21px;
	top:0;
	bottom:0;
	margin:auto;
	transition:.4s;
}
	
.gnav_list li dl.open dt:before{
	transform:rotateY(180deg);
}

.gnav_list li dd{
	background:#EAEEF0;
}

.gnav_list2 li{
	border-top:1px solid #707070;
	text-align:right;
	padding:16px 25px 10px;
}

	.gnav_li3{
		padding:33px 21px 39px;
	}


	.gnav_li3 a{
		display:flex;
		max-width:122px;
		width:100%;
	}

.mv_bar{
	bottom: 5.55%;
	width: 50.667%;
}

.bar_cont{
	/* max-width:125px; */
	width: 35.09%;
}

#art_cov {
    height: 45.334vw;
    height: 75.47vw;
}

#art_cov.sp_small {
    height: 45.334vw;
}

.business #art_cov {
    background: url(./img/business/mv_sp.jpg) no-repeat center bottom;
    background-size: cover;
}

.private #art_cov {
    background: url(./img/private/mv_sp.jpg) no-repeat center bottom;
    background-size: cover;
}

.company #art_cov{
	background:url(./img/company/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.message #art_cov{
	background:url(./img/message/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.belief #art_cov{
	background:url(./img/belief/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.info #art_cov{
	background:url(./img/info/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.affiliated #art_cov{
	background:url(./img/affiliated/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.history #art_cov{
	background:url(./img/history/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.sdgs #art_cov{
	background:url(./img/sdgs/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.technology #art_cov{
	background:url(./img/technology/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}

.machinery #art_cov{
	background:url(./img/machinery/mv_sp.jpg)no-repeat center bottom;
	background-size:cover;
}


#art_cov .title{
	width: 89.334%;
	margin: 0 auto 30px;
	font-size: clamp(3.6rem,7vw,6.7rem);
	line-height: 1;
}

#art_cov .title .sub{
	margin-top: 10px;
	letter-spacing:0.06em;
}

.art_div1 {
    padding: 70px 0 80px;
}

.art_div1 .text {
    margin-top: 30px;
    line-height: 1.7857;
    letter-spacing: 0.01em;
	font-size:1.4rem;
}

.art_inner{
	width: 89.334%;
}

.buss01 {
    padding: 50px 0 100px;
}

.buss01_div.buss01_div1{
	margin:48px auto 0;
}

.buss01_div.buss01_div2{
	margin:20px auto 0;
}

.buss01_div.buss01_div1:before{
	background:url(./img/business/co11_sp.jpg)no-repeat center top;
	background-size:cover;
}

.buss01_div.buss01_div2:before{
	background:url(./img/business/co12_sp.jpg)no-repeat center top;
	background-size:cover;
}
	
    .buss01_div a.white {
        height: 50px;
        font-size: clamp(1.1rem,2.4vw,1.6rem);
    }

	.buss01_div a img{
		width:10px;
		margin-right:9px;
	}

.buss01_div .text_area .text{
        font-size: clamp(1rem,2.4vw,1.6rem);
}

.artTit2 .sub{
	margin-top:5px;
}

.buss01_div .text_area {
    padding: 8.959% 0 9.855%;
    margin-left: 4.48%;
}

.prv02_div2 {
    padding-top: 80px;
}

.case_list1{
	margin: 20px auto 0;
}

.case_list1 li{
	margin: 20px auto 0;
	width: 100%;
}

.prv02 .art_inner2 {
    padding: 60px 0 100px;
}

.case_list1 li .text_area .title{
	min-height:49px;
}

	.case_list1 li .text_area .date{
	margin-top: 9px;
	padding-bottom: 15px;
	font-size: 1.4rem;
}

.case_list1 li .text_area .comp{
	padding-top: 15px;
}

.case_list1 li .text_area {
    padding: 16px 14.5px 20px;
}

.prv01 .title_area {
    padding-bottom: 10px;
    margin-bottom: 25px;
}

.prv01 .text {
    margin: 20px auto 55px;
    line-height: 1.78;
    letter-spacing: 0.01em;
	font-size:1.4rem;
}

.prv01 {
    padding: 60px 0 100px;
}

.prv02 .art_inner2:before {
    width: 50%;
    height: 50%;
    max-width: 176px;
    background: url(./img/private/co2_sou_sp.png) no-repeat top right;
    background-size: contain;
}

#rec_cov .title{
	width:89.334%;
}

#rec_cov {
    height: 37.334vw;
    padding-top: 6.67%;
    margin: 46px auto 0;
}

.engineer #rec_cov {
    background: url(./img/engineer/mv_sp.jpg) no-repeat left;
    background-size: cover;
}

.foreman #rec_cov {
    background: url(./img/foreman/mv_sp.jpg) no-repeat left;
    background-size: cover;
}

.director #rec_cov {
    background: url(./img/director/mv_sp.jpg) no-repeat left;
    background-size: cover;
}

#rec_cov .title .sub{
	font-size:1.4rem;
	line-height: 1.2857;
	margin-top: 5px;
}

.engi01 {
    padding: 70px 0 100px;
}

.rec01_div1 {
    margin: 47px auto 0;
}

.rec_list li{
	padding:20px 0;
	font-weight: 400;
	line-height: 1.625;
	font-size:1.4rem;
	flex-direction:column;
}

.rec_list li .left{
	max-width:initial;
	width: 100%;
}

.rec_list li .right{
	max-width:initial;
	width: 100%;
	margin-top:5px;
}

.rec_list {
    margin: 0 auto 50px;
}

.rec01_div1 .btn1{
	width: 90%;
}

.rec01_div2 {
    margin: 120px auto 0;
}

.rec01_div2 .title{
	text-align:center;
	margin-bottom: 20px;
}

.rec01_div2 .flex{
	flex-direction:column;
}

.rec_btn1{
	width:100%;
	margin:20px auto 0;
	padding: 73px 20px 36px;
}

.rec_btn1 .text1 span {
    margin-top: 10px;
    font-size: 1.4rem;
    line-height: 1.2857;
    min-height: 37px;
}

.modal_btns{
	display:none;
}

.rec01 {
	padding: 70px 0 141px;
}

.rec01 .artTit1 {
    font-size: clamp(2rem, 4.1vw, 4.5rem);
}

.rec01 .text {
    margin-top: 15px;
    letter-spacing: 0.01em;
    font-size:1.4rem;
    line-height:1.714;
    position: relative;
    z-index: 1;
}

.rec01:before {
    width: 115%;
    height: 414px;
    right: -45.38%;
    bottom: 2.34%;
}

.rec02{padding: 90px 0 50px;border: none;}

.rec02 .mainTit .en_tit{
	font-size: 3.6rem;
}
	
.rec02 .mainTit .tit{
	display: inline;
	font-size: 1.5rem;
	margin-left: 5px;
}

.rec02 .title1 {
    margin-top: 7px;
    margin-bottom: 10px;
}

.rec02 .text{
	font-size:1.4rem;
}

.rec03 {
    padding: 35px 0 70px;
}

.rec03:before{
	width:186px;
	height:186px;
	bottom:60px;
	right:-29px;
}

.rec03 .title1{
	margin-bottom:10px;
}

.rec03_li{
	flex-direction:column;
}

.rec03_li li{
	width:100%;
	margin:0 auto 50px;
}
	
.rec03_li li:last-child{
	margin:0 auto 0px;
}

.rec03_li .title2{
	margin: 20px auto 0;
}

.rec03_li .text{
	font-size:1.4rem;
}

.rec_arrow {
    padding: 50px 0 100px;
}

.rec04{
	padding:40px 0 70px;
}

.rec04 .title1{
	margin-bottom: 10px;
	font-size: 2rem;
}

.rec04 .flex{
	flex-wrap:wrap;
}

.rec04 .flex .rec_btn1{
margin-top: 20px;
}

.rec04 .flex .rec_btn1:nth-child(2){
	margin-top:20px;
}
	
.rec04 .flex .rec_btn1:nth-child(1){
	margin-top:0;
}

.rec05{
	padding: 70px 0 100px;
}

.rec05_div{
	background: url(./img/recruit/bg5_sp.jpg)no-repeat center;
	background-size:cover;
	padding: 30px 15px 35px;
	text-align: left;
}

.rec05_div .title1{
	text-align:center;
}

.rec05_div .text{
	margin: 10px auto 0;
	font-size: 1.4rem;
}

.rec05_div .btn1{
	margin: 27px auto 0;
	width: 85.4%;
}

.rec06 .ab_text {
    font-size: clamp(12.6rem, 10vw, 18.5rem);
    letter-spacing: 0.13em;
    left: -7.47%;
    line-height: 1.4;
}

.rec06 {
    padding: 90px 0 70px;
    border-top: 10px solid #1E7FB8;
}

.rec06 .title1 {
    margin-bottom: 40px;
}

.all_open {
    max-width: 127.28px;
    height: 34.55px;
    margin-bottom: 20px;
    font-size: 1.4rem;
}


.qanda_list li{
	padding: 20px 0 0;
}


.qanda_list li dt,
.qanda_list li dd{
	padding: 0 5px;
}

.qanda_list li dt{
	font-size: 1.4rem;
	padding-bottom: 13px;
	padding-right: 15px;
}

.qanda_list li dd{
	padding: 24px 15px 40px 7px;
	font-size: 1.4rem;
}

.qanda_list li .que,
.qanda_list li .ans{
	margin-right: 9px;
}



.qanda_list dt .pulu{
	right: 0px;
	width: 15px;
	height: 15px;
}

.qanda_list dt .pulu span{
	width: 15px;
	height: 2px;
}
	
.rec_arrow2 {
    padding: 50px 0 0px;
}

.rec07 {
    padding: 100px 0;
}

.rec07_div {
    height: 46.67vw;
    background: url(./img/recruit/bg7_sp.jpg) no-repeat center;
    background-size: cover;
    margin: 10px auto 0;
    justify-content: center;
    max-height: initial;
}

.rec07_div .btn_area {
	margin:0 auto;
	margin-bottom: 4.48%;
}

.rec07_div .btn_area .btn1{
	margin:0 auto;
	width: 77.613%;
}

.rec07_div .btn_area .btn1.bgtra {
	margin-top: 7px;
}

.rec_slider_area{
	padding:50px 0 0;
}

.modal-cont{
	max-width:335px;
	margin: 0 auto 32px;
	border: 0.5px solid #A7AAA9;
	box-shadow: 0 3px 6px #00000029;
	min-height: 460px;
}



.modal-cont .flex{
	padding-top:4.5px;
	padding-bottom:9.5px;
}

.modal-cont .flex .spot{
	font-size: clamp(2rem,3vw,2.3rem);
	line-height:1.35;
	padding-left:15px;
}

.modal-cont .flex .spot span{
	font-size: clamp(2.9rem,4vw,3.4rem);
	line-height:1.344;
	margin-left:5px;
}

.modal-cont .flex .comp{
	padding-right:15px;
}

.modal-cont .flex .comp span{
	font-size:2.4rem;
}

.modal-cont .text_area{
	padding:20px 15px 45px;
}

.modal-cont .text_area .title{
	font-size:1.5rem;
	line-height:1.4;
}

.modal-cont .text_area .text{
	margin:10px auto 0;
	font-size:1.4rem;
	line-height:1.3928;
}

.rec_sld_btn{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:94px;
	margin: 0px auto 0;
}

.topics01 {
    padding: 70px 0 100px;
}

#art_cov2{
	height:170px;
}

#art_cov2 .title{
	margin-bottom:30px;
	width: 89.334%;
}

.topics01 .title1 {
    margin: 0 auto 20px;
}

.topics01 .bar_area {
    margin: 10px auto 15px;
}

.swipe_area {
    width: 89.334%;
    overflow-x: scroll;
    padding: 10px 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
	
    .cate_list {
        font-size: 1.5rem;
        justify-content: flex-start;
    }

.cate_list li{
margin-right: 1.25%;
        width: 19%;
}

.cate_list li:last-child{
	margin-right:0px;
}

.swipe_cont1{
	min-width: 484px;
}

.year_list{
	font-size: 1.5rem;
}

.year_list li{
	margin-right: 15px;
}
	
.swipe_area::-webkit-scrollbar{
  display: none;
}

.topics01 .title_area {
    padding-bottom: 25px;
    margin-bottom: 60px;
}

.topics_list2 li {
    padding: 20px 15px;
	flex-direction:column;
	align-items:flex-start;
}

.dacate{
	margin-right:0px;
}

.dacate .date{
	margin-right:13px;
}


.topics_list2 li .title2{
	font-size:1.4rem;
	margin-top: 10px;
	line-height: 1.42857;
	-webkit-line-clamp: 2;
}

.topics_list2 {
    margin: 0px auto 40px;
}

.pagination-list{
	margin: 60px auto 0;
}

.pagination-list .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	width:51px;
	height: 52px;
	background: #fff;
	border: 1px solid #4D4D4D;
	margin: 0 0.2%;
	transition:.4s;
	font-weight: 500;
	text-decoration: none;
}


.topics02{
	padding: 70px 0 100px;
}

.topics02 .title_area{
	padding-bottom: 30px;
	margin: 0 auto 30px;
}

.topics02 .title_area .title{
	text-align:center;
	font-size: clamp(2.1rem, 4.1vw, 4.5rem);
	letter-spacing:0.03em;
	font-weight:700;
	line-height:1.4444;
}

.topics02 .cate{
	font-size:1.2rem;
}

.detail_area{
	margin:40px auto 70px;
}

.detail_area img{
	margin-bottom:36px;
}

.detail_area p{
	margin-bottom:25px;
}

.detail_area h2{
	margin-bottom:25px;
}

.detail_area h3{
	margin-bottom:25px;
}

.detail_area h4{
	margin-bottom:25px;
}

.comp01_list li{
	width:100%;
	max-height:initial;
	height: 41.6vw;
	margin: 0 auto;
	margin-top: 3%;
}

.comp01_list li.long{
	height: 53.6vw;
}

.comp01_list li.long .text {
    top: 7.5%;
    left: 4.5%;
}

.comp01_list li.long .text span {
    margin-top: 5px;
    font-size: 1.3rem;
}

.comp01_list li.long .btn1 {
    bottom: 7.5%;
    right: 4.5%;
    width: 40%;
    min-width: 137px;
    height: 27px;
}

.comp01_list li.short .text {
    top: 22.45%;
    left: 4.5%;
    font-size: clamp(3rem, 3.7vw, 4.7rem);
}

.comp01_list li.short .comp_btn1 {
    bottom: 6%;
    right: 5.96%;
    font-size: 1.1rem;
}
	
.comp01_list li.short .comp_btn1 img{
	width:8px;
	margin-right:8px;
}

.comp02 {
    padding: 50px 0 100px;
}

.comp01_list {
    margin-top: 50px;
}

.comp01.art_div1:before {
    width: 64%;
    height: 398px;
}

.mess01 {
    padding: 70px 0 100px;
}

.mess01 .text_area .text1 {
    font-size: 1.4rem;
    letter-spacing: 0.01em;
    margin-top: 25px;
}

.mess01 .img {
    margin: 25px auto 53px;
}

    .mess01 .img img{
		width:100%;
    }


.beli01{
	padding:70px 0 80px;
}

.beli01 .flex{
	flex-direction:column;
}

.beli01 .flex .text_area{
	max-width:initial;
	width: 100%;
	margin-right: 0%;
}

	
.beli01 .flex .text_area .img2{
	
width: 55.58%;
	
margin: 50px auto 0;
}

.beli01 .flex .img{
	display:none;
}

.beli01 .flex .text_area .title{
	line-height:2;
	letter-spacing:0.03em;
	text-align:center;
}

.beli01 .flex .text_area .text1{
	font-size:1.4rem;
	line-height:1.928;
	margin-top:50px;
}

.beli01 .img1{
	margin-top: 70px;
}

.beli02{
	padding: 80px 0 100px;
}

.artTit4{
	padding-left:14px;
	border-left:4px solid #1E7FB8;
}


.beli02 .title{
	margin:30px auto 25px;
	font-weight:700;
	line-height:1.5;
	letter-spacing:0.02em;
}

.beli02 .text{
	line-height:1.714;
	font-size:1.5rem;
}

.inf01 {
    padding: 70px 0 0;
}

.inf_list {
    margin-top: 47px;
}

.art_inner2 {
	width:89.334%;
}


.inf_list li{
	padding:20px 0;
	font-size: 1.4rem;
	line-height: 1.7;
	flex-direction:column;
}
	
.inf_list li > .left{
	padding-left: 0%;
	width: 100%;
	font-weight: 500;
	margin-bottom:5px;
}

.inf_list li > .right{
	width: 100%;
}

.inf02{
	padding: 80px 0 100px;
}


.map{
	height:252px;
	margin:49px 0 0;
}

.affi01.beli01 {
    padding: 70px 0 0px;
}

.affi02 {
    padding: 80px 0 0;
}

.inf02.affi03 {
    padding: 80px 0 80px;
}

.affi01 .text2{
	margin-top:10px;
}

.affi01.beli01 .flex .text_area .text1 {
    margin-top: 20px;
}

.affi01.beli01 .flex .img {
    display: block;
    width: 66%;
    margin: 40px auto 0;
}

.beli01.affi01 .img1 {
    margin-top: 70px;
}

.his01 .art_inner2 {
    padding: 70px 0 100px;
    width: 89.334%;
}

    .his01 .text1 {
        margin-bottom: 67px;
    }

.his_div .title {
    margin-bottom: 47px;
}

    .his01:before {
        width: 9.5%;
    }

    .his_list li {
        margin-bottom: 70px;
        flex-direction:column;
        padding-left: 8.959%;
    }


.his_list li .left{
	width: 100%;
	font-size: 3rem;
}

.his_list li .right{
	width: 100%;
	font-size: 1.8rem;
	padding-top: 14px;
}

.his_list li .right .text span.gray{
	display:block;
	margin-top:20px;
}


.his_list:before{
	left: 0px;
	border-left: 1px solid #4e4e4e;
	width: 15px;
	height: 104.5%;
}


.his_list li:before{
	top: 14px;
	left: -6.5px;
	border: 1px solid #fff;
	width: 13px;
	height: 13px;
}

.his_div1 {
    margin-top: 100px;
    width: 100%;
    padding-left: 8.959%;
}
	
.his_div1 .text {
}

.his01:before{
	width: 23%;
	display:none;
}

.his_div1 .img {
    margin-bottom: 13px;
    width: 80.37%;
}

.his_list li .right .img {
    margin-top: 30px;
}

.his01 .sou1{
	top: 6.6%;
	left: 16.534%;
	width: 209.334%;
}

.his01 .sou2{
	width: 262.8%;
	top: 38.7%;
	right: -39%;
}

.his01 .sou3{
	width: 89.334%;
	top: 62.5%;
	right: 19%;
}

.sus01{
	padding:70px 0 80px;
}

.sus01 .flex{
	flex-direction:column;
}

.sus01 .flex .artTit1{
	margin-right:0%;
	width:100%;
	margin-bottom:30px;
}

.sus01 .flex .text{
	max-width:initial;
	font-size:1.4rem;
	font-weight:500;
	line-height:1.785;
	letter-spacing:0.01em;
}

.sus02{
	padding:100px 0;
}

.sus02_div{
	margin-bottom:80px;
}
	
.sus02_div .recTit{
	margin-bottom:35px;
}

.sus02_div .title1{
	margin-bottom:10px;
	font-size: clamp(1.4rem, 3.8vw, 2rem);
	font-weight:500;
	letter-spacing:0em;
	line-height:1.714;
}

.sus02_div .text1{
	letter-spacing: 0em;
	line-height: 1.857;
}

.sus02_div .img1{
	margin-top: 35px;
	margin-bottom: 35px;
}

.sus02_div .flex1{
	flex-direction:column;
}
	
.sus02_div .text2{
	letter-spacing:0em;
	line-height:1.857;
	margin-top:25px;
	font-size:1.4rem;
}

.sus02_div .flex1 .img2{
	max-width:135px;
	width:100%;
	margin-top: 25px;
}

.sus02_div2 .flex1 .img2{
	margin-top:25px;
}

.sus02_div .mabo{
	margin-bottom: 35px;
}

.sus02_div3 .img1{
	max-width: initial;
	margin: 0 auto;
}

.sus02_div .flex2{
	flex-direction:column;
}

.sus02_div .flex2 .text1{
	max-width:initial;
	width: 100%;
}

.sus02_div .flex2 .img3{
	width: 100%;
	margin-top: 25px;
}

.sus02_div4 .img1{
	max-width: initial;
}

.sus02_div4 .img1 img{
	width:100%;
}

	
.sus02_div4 .text2{margin-top: 25px;}

.tech01_list {
    margin: 76px 0 50px;
}

.tech01_list:before{
	display:none;
}

.tech01_list li{
	width:100%;
	padding: 28px 5.333% 41px!important;
}


.tech01_list li .num{
	font-size:3.6rem;
}

.tech01_list li .title{
	font-size: clamp(2rem, 3.8vw, 2.3rem);
}

.tech01_list li .text1{
	line-height:1.7857;
	letter-spacing:0.01em;
	margin-top:17px;
	font-size:1.4rem;
}

.tech01_list li:nth-child(2) {
    border-top:none;
}




.tech02{
	padding:100px 0;
}

.tech02_list li{
	width: 94.667%;
	margin-bottom: 90px;
}

.tech02_list li .title_area{
	flex-direction: column;
	margin-bottom: 30px;
	padding-left: 5.634%;
}

.tech02_list li .title_area:before{
	display:none;
}

.tech02_list li .title_area .title1{
	width: 100%;
	padding-left: 0;
}

.tech02_list li .title_area .title2{
	width: 100%;
	text-align: left;
	padding-right: 0;
	padding-top: 20px;
}

.tech02_list li .flex{
	
}

.tech02_list li:nth-child(2n){
	margin-left:auto;
}

.tech02_list li:nth-child(2n) .flex{
	flex-direction:row-reverse;
}

.tech02_list li:nth-child(1) .flex .img_area{
	width: 75.212%;
}

.tech02_list li:nth-child(1) .flex .img_area .img{
	width: 97.756%;
}

.tech02_list li:nth-child(2) .flex .img_area{
	width: 83.384%;
}

.tech02_list li:nth-child(2) .flex .img_area .img{
	width: 88.18%;
	margin-left: auto;
}

.tech02_list li:nth-child(3) .flex .img_area{
	width: 91.55%;
	width: 73.523%;
}
	
.tech02_list li:nth-child(3) .flex .img_area .img{
	width: 80.31%;
	width: 100%;
}

.tech02_list li .flex .text_area{
	width: 15%;
	padding-top: 0;
	justify-content: flex-end;
}

.tech02_list li:nth-child(2n) .flex .text_area{
	justify-content:flex-start;
}

.tech02_list li:nth-child(1) .title3{margin-top: -94px;}



.tech02_list li .flex .title3 span:last-child{
	padding-top: 40px;
	margin-right: 10px;
}

.tech02_list li .flex .img_area .text1{
	margin-top: 10px;
	width: 100%;
}

.tech02_list li:nth-child(2) .flex .img_area .text1{
	text-align:left;
	width: 88.18%;
	margin-left: auto;
}

.tech02_list li:nth-child(3) .flex .img_area .text1{
	text-align: left;
	width: 88.18%;
	margin-left: auto;
	width: 80.31%;
	width: 100%;
	max-width: max-content;
}

	
.tech02_list li:last-child{
	margin-bottom: 80px;
}

.tech02_list li .text_area2{
	margin: 58px auto 0;
    width: 89.334%;
	max-width:initial;
}

.tech02_list li .text_area2 .title3{
	text-align:right;
	line-height:1.58;
	letter-spacing: 0.03em;
	text-align: left;
}

.tech02_list li .text_area2 .text2{
	margin: 23px auto 0;
	text-align: center;
	text-align: left;
	margin-left: 0;
}

.tech02 .img1{
	margin-bottom: 58px;
}

.link_area .comp01_list.tech02_list2{
	margin-top: 63px;
}

.link_area .comp01_list.tech02_list2.comp01_list li:last-child{
	margin-top:20px;
}

.mach01 {
    padding: 70px 0 60px;
}

.mach01 .title{
	line-height:1.5;
	margin-bottom: 25px;
}

.mach01 .text{
	margin-bottom:20px;
	font-size: 1.4rem;
	letter-spacing: 0.01em;
	font-weight: 400;
	line-height: 1.7857;
}

.mach01 .arrow_area {
    margin: 30px auto 0;
}


.mach02{
	padding:100px 0 0px;
}

.mach02 .title_area{
	margin-bottom:55px;
	flex-direction:column;
	align-items:flex-start;
}

.mach02 .mach02_div1:last-child .title_area{
	margin-bottom:25px;
}

.mach02 .mach02_div1:last-child .title_area .title1{
	margin:0;
}

.mach02 .title_area .title1{
	margin-bottom:20px;
}

.mach02 .title_area .text{
	margin-left: 0%;
	line-height:1.7857;
	letter-spacing:0.01em;
	font-size:1.4rem;
}

.mach02_list1 > li{
	margin-bottom:10px;
	padding:20px 15px;
	min-height:initial;
	justify-content:flex-start;
}
	

.mach02_list1 > li.mabo{
	margin-bottom:40px;
}

.mach02_list1 li .title{
	position:initial;
	line-height: 1.5;
}


.mach02_list1 li .img {
	position:initial;
	margin:3px auto 5px;
	width:100%!important;
}


.mach02_list1 li .name{
	position:initial;
	text-align:left;
	line-height:1.38;
	margin-bottom: 10px;
}


.mach02_list1 li.r_img .name{
	margin-bottom: 10px;
}


.mach02_list2{
	max-width: initial;
	width:100%;
	min-width: initial;
}


.mach02_div1{
	margin-bottom:100px;
}

.mach02_div1:last-child{
	margin-bottom:0px;
}

.all_img{
	margin:100px auto 0;
}

.contact_tb th,
.contact_tb td{
	display:block;
	font-size: 1.4rem;
}
	
.contact_tb th{
	width:100%;
	border-bottom:none;
	padding: 20px 0 11px;
}
	
.contact_tb td{
	width:100%;
	padding: 0px 0 20px;
}

.contact_tb tr:first-child td{
	border-top:none;
}

#art_cov3{
	height: 37.334vw;
}
	
#art_cov3 .title{width: 89.334%;margin-top: 6.67%;}

#art_cov3 .title .sub{
	margin-top: 5px;
	font-size: 1.4rem;
}

.entry01 {
    padding: 70px 0 100px;
}

.page_bar li .num{
	font-size:2rem;
}
	
.page_bar li .text1{
	font-size:1.5rem;
}


.page_bar li.active .page_dot{
	width: 18px;
	height: 18px;
	bottom: -5px;
}

.entry01_div {
    margin: 51px auto 0;
}

.entry01_div .text1 {
    margin-bottom: 12px;
	font-size:1.4rem;
}

.rad_flex1{
	flex-direction:column;
}

.rad_flex1 > span {
    margin-bottom: 25px;
}

.pla_flex{
	flex-direction:column;
	align-items:flex-start;
}

.pla_flex .place{
	font-size:1.3rem;
	margin-top:5px;
}

.rad_flex.rad_flex2{
	width:100%;
	flex-direction:column;
	align-items:flex-start;
}

.rad_flex.rad_flex2 > span{
	margin-bottom: 25px;
}

.pla_flex.old_flex{
	flex-direction:initial;
	align-items:center;
}

.contact_tb .text .small{
	display:inline;
	margin-left:8px;
}

textarea{
	height:341px;
}

.send_btn {
    margin: 100px auto 0;
    max-width: 267px;
}

.clearForm, .clearForm2, .toHome{
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	height: 35px;
}

.entry01_div2{
	padding:95px 0 0;
}

.entry01_div2 .text1{
	font-size:1.8rem;
}

.entry01_div2 .text2{
	font-size:1.4rem;
	margin-top:10px;
}


select[name="pref"]{
	max-width:185px;
}

select[name="about"]{
	max-width:241px;
}
.privacy01 .inner {
    font-size: 14px;
}
	
    #recruit_cover .title1 {
        top: 5.4%;
        left: 9.337%;
        font-size: clamp(4rem, 10vw, 5.5rem);
        line-height: 1.375;
    }
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc2, .pcTel {
	display: none;
}

.sp2 {
	display: block;
}

.spTel  {
	display: inline;
}


/*-- テーブル --*/

table {
	width: 100%;
}





/*-- ページトップ --*/

#pageTop {
	display: none !important;
}


/* フッター
----------------------------------------------------------- */

.sp nav {
	margin: 0 auto;
}


body{
	font-size:1.3rem;
	font-weight: 400;
}

.swipe_area {
    width: 94.667%;
	margin:0 0 0 auto;
}

.his_list:before{
	left: 1px;
}

.his_list li .right{
	font-size: 1.5rem;
}


.recTit:before {
    width: 4px;
    height: 25px;
	top:4px;
}

.recTit{
	padding-left:19px;
}
	
.link_area .comp01_list.tech02_list2.comp01_list li:last-child{
	height: 50.934vw;
}

.link_area .comp01_list.tech02_list2.comp01_list li.short .text{
	top: 18.34%;
}

.privacy01{
	margin: 75px 0;
}

.privacy01 li{
	margin-top: 50px;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 591px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-front.ui-dialog-buttons {
    width: 94% !important;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
}

.choose_list1 {
	width: 96%;
	font-size: 90%;
}

.choose_list1 > li {
	width: 49%;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 320px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* animation */

/* MVアニメーション */
.mv_anm {
	opacity:0;
  }
  
  .active .mv_anm,
  .active.mv_anm{
	animation:fade_l 0.6s linear forwards;
  }

/* タイトルアニメーション */
.fade1 {
  clip-path: inset(0 100% 0 0);
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}

.active .fade1,
.active.fade1{
  clip-path: inset(0);
}
/* フェードイン */
.fade2{
	opacity: 0;
	transition: .5s;
}

.active .fade2,
.active.fade2{
  opacity: 1;
}

.fade3 {
	opacity:0;
}

/* 下からフェードイン */
.active .fade3,
.active.fade3{
animation:fade_anm 0.5s linear forwards;
}


@keyframes fade_anm {
from {
transform:translateY(20%);
	opacity:0;
}
to {
transform:translateY(0%);
	opacity:1;
}
}

/* 左からフェードイン */
.fade_l {
	opacity:0;
}

.active .fade_l,
.active.fade_l{
animation:fade_l 0.6s linear forwards;
}


@keyframes fade_l {
from {
transform:translateX(-5%);
	opacity:0;
}
to {
transform:translateX(0%);
	opacity:1;
}
}

/* 右からフェードイン */
.fade_r {
	opacity:0;
}

.active .fade_r,
.active.fade_r{
animation:fade_r 0.6s linear forwards;
}


@keyframes fade_r {
from {
transform:translateX(5%);
	opacity:0;
}
to {
transform:translateX(0%);
	opacity:1;
}
}

/* 下からフェードイン */
.fade_b {
	opacity:0;
}

.active .fade_b,
.active.fade_b{
animation:fade_b 0.6s linear forwards;
}


@keyframes fade_b {
from {
transform:translateY(10%);
	opacity:0;
}
to {
transform:translateY(0%);
	opacity:1;
}
}

/* 画像スライド */
.anm_slide1{
	transform: translateX(-100%);
	opacity:0;
	transition: 1.5s;
}

.anm.active .anm_slide1,
.anm.active.anm_slide1{
	transform: translateX(0%);
	opacity:1;
}

/* ズームフェード */
.anm_zoom{
	opacity:0;
}

.anm.active .anm_zoom,
.active.anm_zoom{
	animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@media screen and (max-width: 768px) {
	.anm_zoom_sp{
	transform: scale(0.8);
	  opacity: 0;
	}
	
	.anm.active .anm_zoom_sp,
	.active.anm_zoom_sp{
		animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	}
}
   
  @keyframes zoomIn {
	0% {
	  transform: scale(0.8);
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	  transform: scale(1);
	}
  }


.late2{
	animation-delay:1.2s!important;
	transition-delay:1.2s!important;
}

.late2s{
	animation-delay:0.7s!important;
	transition-delay:0.7s!important;
}

.late3{
	animation-delay:1.7s!important;
	transition-delay:1.7s!important;
}

.flate1{
	animation-delay:0.7s!important;
	transition-delay:0.7s!important;
}
.flate2{
	animation-delay:1.4s!important;
	transition-delay:1.4s!important;
}
.flate3{
	animation-delay:2.1s!important;
	transition-delay:2.1s!important;
}
.flate4{
	animation-delay:2.8s!important;
	transition-delay:2.8s!important;
}