@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 176px;
}
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: 100px 0;
}



/*タイトル
========================================== */
.h2Tit{
 font-size: 4rem;
}
.h2TitEn{
 font-size: 4rem;
}
.h2TitEn span{
	font-size: 120px;
}

.h3Tit {
  font-size: 3rem;
	margin-bottom: 55px;
}
.h4Tit {
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.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{
	width: 100%;
}
header > div{
	position: relative;
}


/* =======================================
	gnavi
========================================== */
.gnavi{
}
#gnaviList.pcFlex{
	position: relative;
	justify-content: space-between;
	padding: 0;
}
#gnaviList li{
	position: relative;
	font-size: min(1.07vw,1.6rem);
	font-weight: 600;
	flex: 1;
}
#gnaviList li a{
	position: relative;
	display: grid;
	place-content: center;
	padding: 3px;
}
#gnaviList li + li a::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	content: "";
	display: block;
	width: 0px;
	height: 100%;
	border-left: 1px dotted var(--LSkyblue);
}
#gnaviList li.current a,
#gnaviList li a:hover{
	background-color: var(--LSkyblue);
	color: var(--wh);
}

.gnavi .contact{
	position: absolute;
	right: 0;
	top: -10px;
}
.gnavi .contact a:hover{
 opacity: .7;
}

/* =======================================
	main
========================================== */
main{
 padding-top: 116px;
}


/* =======================================
	footer
========================================== */
footer a:hover{
	opacity: .7;
}
footer{
	overflow: hidden;
}
.footerBox.pcFlex{
	justify-content: space-between;
}
.footerLeft{
	width: 40%;
}
.footerRight{
	position: relative;
	width: 60%;
	padding-left: min(5.3vw, 64px);
	z-index: 2;
}
.footerRight::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: -50vw;
	content: "";
	display: block;
	width: 50vw;
	height: 100%;
	background-color: var(--navy);
	z-index: 1;
}
#footerLink.pcFlex{
	flex-wrap: wrap;
	gap: 20px calc((100% - 4.1em * 5)/4);
}
#footerLink.pcFlex li:not(:last-child){
	width: 4.1em;
}


/* =======================================
	pgs common
========================================== */

/*-- mainTitle --*/
.mainTitle{
	height: 200px;
}
.mainTitle:after{
	width: 59vw;
	height: 200px;
	background-size: 100% 200px;
}
.mainTitle h2{
	font-size: 4rem;
	height: 200px;
}

/*-- table --*/
.basicTable >dt{
	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;
	height: 56px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 10px;
}
.anchorLink + section{
	padding-top: 65px;
}


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

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


/*		#topLead PC
-----------------------------*/
#topLead .inner{
 justify-content: space-between;
}
#topLead h2 span{
 top: -80px;
 left: -180px;
}
#topLead .inner .txts{
 width: 44.5%;
 max-width: 460px;
 padding-top: 110px;
}
#topLead .inner figure{
 width: 67.5%;
 max-width: 700px;
 margin-right: -17.3%;
}

/*		topBnr PC
-----------------------------*/


/*		#topSpecial PC
-----------------------------*/
#topSpecial .pcFlex{
 justify-content: space-between;
 flex-flow: row-reverse;
 align-items: center;
}
#topSpecial .pcFlex .txts{
 width: 44.5%;
 max-width: 460px;
}
#topSpecial .pcFlex figure{
 width: 48.1%;
 max-width: 500px;
}

#topSpecial .pcFlex .txts p{
 font-size: 18px;
 line-height: 2;
}
#topSpecial .pcFlex .txts .btnWrap{
 margin-top: 60px;
}

/*		#topWorks PC
-----------------------------*/
#topWorks{
 position: relative;
}
#topWorks .pcFlex{
 align-items: flex-end;
 justify-content: space-between;
 flex-flow: row-reverse;
}
#topWorks .pcFlex .txts{
 width: 55%;
 max-width: 570px;
}
#topWorks .pcFlex figure{
 width: 55%;
 max-width: 570px;
 margin-left: -12.85vw;
}


/*		#topCompany PC
-----------------------------*/
#topCompany .pcFlex{
 justify-content: space-between;
 align-items: center;
}
#topCompany .txts{
 width: 40.5%;
 max-width: 420px;
}

#topCompany figure{
 width: 42.5%;
 max-width: 439px;}


/*		#topNews PC
-----------------------------*/
#topNews{
}
#topNews h2{
}
#topNews ul{
 padding: 0 40px;
}
#topNews ul li{
	padding: 20px 10px 20px 80px;
}
#topNews ul li p:not(.date){
 width:68%;
 padding-left: 14px;
 max-width:calc(100% - 72px - 120px - 52px) ;
}
#topNews a:hover{
 opacity: .7;
}
#topNews .btnWrap{
 margin-top: 55px;
}

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


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

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