@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 130px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 48%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 40px 0;
}



/*タイトル
========================================== */
.h2Tit,
.h3Tit {
  font-size:3rem;
	margin-bottom: 24px;
}
.h4Tit {
	font-size: 2.2rem;
	margin-bottom: 24px;
	margin-top: 45px;
}
.h5Tit {  
	font-size: 2rem;
	margin-bottom: 20px;
}
.h6Tit{
	font-size: 1.8rem;
	margin-bottom: 20px;
}

/*
　テキスト
========================================== */

.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */
.pcFlex.btnWraps{
		gap:20px 40px;
		justify-content: center;
	}

/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	gap:0 1.5%;
 margin-top: 80px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	font-size: 1.8rem;
	width: 40px;
	height: 40px;
}

/*-- pager --*/
.pager{
	margin: 50px auto 0;
}
.pager a{
	font-size: 1.6rem;
}

/* =======================================
	header
========================================== */
header{
	height: 120px;
}
header .flex{
	height: 120px;
 align-items: flex-end;
}
header #logo{
 line-height: 1;
}
header #logo a{
 padding: 45px 0;
}
header #logo a:hover{
 opacity: .8;
}
/* =======================================
	gnavi
========================================== */
.gnavi{
 flex: 1;
	max-width: 826px;
}
.gnavi .contact{
 position: absolute;
 top: 18px;
 right: 0;
}
#gnaviList{
	position: relative;
 align-items: center;
	justify-content: flex-end;
	padding: 0;
}
#gnaviList > li{
 margin-right: min(5vw,70px);
	font-size: min(1.07vw,1.6rem);
}

#gnaviList > li > a{
 position: relative;
 display: block;
 color: var(--bk);
 padding: 0 0 18px;
 font-weight:600;
 white-space: nowrap;
 line-height: 1.2;
}
#top #gnaviList > li:nth-of-type(1) a,
#news #gnaviList > li:nth-of-type(2) a,
#business #gnaviList > li:nth-of-type(2) a,
#company #gnaviList > li:nth-of-type(3) a,
#recruit #gnaviList > li:nth-of-type(5) a{
 color: var(--Lblue);
}
#top #gnaviList > li:nth-of-type(1) a::after,
#news #gnaviList > li:nth-of-type(2) a::after,
#business #gnaviList > li:nth-of-type(2) a::after,
#company #gnaviList > li:nth-of-type(3) a::after,
#recruit #gnaviList > li:nth-of-type(5) a::after,
#gnaviList > li.current > a::after{
 content: "";
 display: block;
 background: var(--Lblue);
 width: calc(100% + 10px);
 height: 2px;
 position: absolute;
 left: 50%;
 transform: translate(-50%, 0);
 bottom: 10px;
}

/*-- hover --*/
#gnaviList li a:hover{
 color: var(--Lblue);
}

/* =======================================
	main
========================================== */
main{
 padding-top: 116px;
}
/* =======================================
	footContact
========================================== */
#footContact{
}
#footContact >.pcFlex{
 align-items: center;
}
#footContact h2{
 width:min(20%,238px) ;
}
#footContact ul{
 width: min(80%,965px);
 padding: 20px 0;
}
#footContact ul li{
 width: 48.5%;
}
#footContact ul li + li{
 border-left: 1px #333333 dotted;
 width: 51.5%;
}

/* =======================================
	footer
========================================== */
footer a:hover{
	opacity: .7;
}
#footLinks{
 background: var(--yellowgreen);
 justify-content: center;
 height: 70px;
}
#footLinks li{
 width: min(16.66%,202px);
}
#footLinks li a{
 position: relative;
 display: grid;
 place-content: center;
 height: 100%;
 color: #fff;
}
#footLinks li + li a::before{
 content: "";
 display: block;
 width: 1px;
 height: 16px;
 background: #fff;
 position: absolute;
 left:0;
 top: 0;
 bottom: 0;
 margin: auto;
}
.footerBox{
}


/* =======================================
	pgs common
========================================== */
section{
	margin-bottom: 60px;
}

/*-- mainTitle --*/
.mainTitle{
	height: 200px;
}

/*-- table --*/
.basicTable >dt{
	border-right: 1px dotted var(--blue);
	padding: 20px 2.5%;
	width: 23%;
}
.basicTable >dd{
	padding: 10px 2.5%;
	width: 77%;
}
.basicTable >dt:last-of-type{
	border-bottom: none;
}
 .basicTable >dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: 1.8rem;
}

/*		anchorLink
-----------------------------*/
.anchorLink{
	padding: 35px 0;
	gap:0 30px;
}
.anchorLink ul{
	padding: 35px 0;
	gap:15px 20px;
}
.pageLinks{
	gap:15px 30px;
	padding: 35px 0 ;
}
.pageLinks ul{
	gap:15px 20px;
}
.anchorLink li,
.pageLinks li{
	flex: 1;
 max-width: 300px;
	height: 56px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 10px;
}
.anchorLink + section{
	padding-top: 65px;
}

/* =======================================
	top PC
========================================== */

/*		#mv PC
-----------------------------*/


/*		#topNews PC
-----------------------------*/
#topNews{
	margin-top: -30px
}
#topNews.pcFlex{
 justify-content: space-between;
}
#topNews .title{
	width: 186px;
	height: 162px;
	margin-top: -40px
}
#topNews .title h2{
	display: flex;
	align-items: center;
 justify-content: center;
 width: 122px;
	height: 100px;
 padding-top: 8px;
}

#topNews ul{
 width: calc(100% - 186px - 20px);
 max-width: 860px;
}
#topNews ul li a{
}
#topNews ul li p:not(.date){
 width:87.2%;
 max-width:calc(100% - 5.7em - 29px) ;
}
#topNews a:hover{
 opacity: .7;
}


/*		#topMenu PC
-----------------------------*/
#topMenu ul{
 justify-content: space-between;
 flex-flow: row wrap;
 gap:10px 8px;
}
#topMenu ul li{
 width: calc((100% - 8px)/2)
}

/* =======================================
	company
========================================== */

#companyMessage .pcFlex.txtImgBox{
	gap: 40px;
}
#companyMessage .txts{
	flex: 1;
}
#companyAccess .pcFlex.txtImgBox{
	gap: 40px;
}
#companyEsgAbout.pcFlex{
	gap: 40px;
	align-items: center;
}
#companyEsgAbout .txts{
 width: calc(50% - 40px);
}
#companyEsgAbout figure{
}
.companyEsgBody.pcFlex{
	gap: 60px;
}

#company #access .basicTable dt{
	width: 11%;
}
#company #access .basicTable dd{
	padding: 5px 0 5px 1.5%;
	width: 89%;
}

/* =======================================
business
========================================== */
.jobList li{
	width: 178px;
	height: 178px;
	font-size: min(2.1vw , 30px);
}

.pcFlex.txtImgBox{
gap: 30px;
	
}

.pcFlex.txtImgBox figure{
	width: 390px;
}
.pcFlex.txtImgBox .txts{
	width: calc(100% - 420px)
}

.pcFlex.txtImgBox .txts.flexSpaceBetween figure{
	width: 260px
}


/* =======================================

========================================== */


/* =======================================

========================================== */





/* =======================================
	news
========================================== */
/*		一覧
-----------------------------*/

ul#newsList{
 padding: 0 40px;
}
ul#newsList li{
	padding: 20px 10px 20px 80px;
}
ul#newsList li p:not(.date){
 width:68%;
 padding-left: 14px;
 max-width:calc(100% - 72px - 120px - 52px) ;
}
ul#newsList a:hover{
 opacity: .7;
}

/*	詳細　single
-----------------------------*/
article{
 padding: 100px 0;
}
#newsDetail h3{
	font-size: 2.4rem;
}
#newsDetail .newsInfo{
	font-size: 1.6rem;
}
.pcFlex.newsDetailCont{
	flex-direction: row-reverse;
	gap: 40px;
}
.pcFlex.newsDetailCont figure{
	width: 400px;
	text-align: center;
}
.pcFlex.newsDetailCont figure img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.pcFlex.newsDetailCont .txts{
	flex: 1;
}

/* =======================================
	contact
========================================== */
#contactInfoNum li{
	width: calc((100% - 30px)/2);
}
#contactForm .basicTable label input[type=radio]{
	width: auto;
}

/* =======================================
	form
========================================== */
#contactForm .basicTable > dt{
	padding: 20px 2.5%;
	width: 25%;
}
#contactForm .basicTable > dd{
	padding: 20px 2.5%;
	width: 75%;
}
#contactForm .basicTable dd h4{
	margin-bottom: 5px;
}
#contactForm .basicTable dd h4:nth-of-type(2),
#contactForm .basicTable dd p{
	margin-top: 10px;
}
#contactForm .basicTable input:not([type=checkbox]){
	padding: 8px;
	width: 80%;
}
#contactForm .basicTable textarea{
	padding: 8px;
	width: 100% !important;
}
#contactForm .basicTable .hissu{
	padding: 3px 3% 4px;
}
.confirm {
  margin-top: 40px;
}

/* =======================================
	privacypolicy
========================================== */
#privacyPolicy{
	margin-top: 50px;
}
.policyBox{
	padding: 20px 2%;
}
.policyBox .h5Tit{
	margin-top: 40px;
}
.contactPrivacy{
	margin-top: 40px;
}