@charset "utf-8";
body {
  background: var(--mainColor);
}
header nav .btnContact a{
  border: 0;
}
/* videoWrap
======================*/
#videoWrap{
	display: block;
  width: 100%;
	height: 100%;
  overflow: hidden;
	position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  background: #000;
}
#videoWrap .targetImg{
	opacity: 0;
	width: 100%;
	height: 100%;
}
#videoWrap .targetImg:not(.animated){
	opacity: 1;
	transition: all 0.5s ease;
}
#videoWrap .targetImg.animated{
	opacity: 0;
	transition: all 0.5s ease;
}
#videoWrap picture,
#videoWrap img{
	width: 100%;
  height: 100%;
  object-fit: cover;
	position: fixed;
	top: 0;
	left: 0;
}
#videoWrap #bgImg1{
	position: fixed;
	z-index: 3;
	background: var(--mainColor-crr);
}
#videoWrap #bgImg2{
	z-index: 2;
}

#videoWrap #bgImg3{
	z-index: 1;
}
@media (max-width:767px){ /* for SP */
	#videoWrap{
		height: 80dvh;
	}
	#videoWrap picture,
	#videoWrap img{
		width: 100%;
		height: 80dvh;
	}
}
main,
#contact,
footer{
	position: relative;
	z-index: 30;
}

/* slideShow
======================*/
#slideGrad{
	display: block;
	width: 100%;
	height: 38dvh;
	background: linear-gradient(180deg, rgba(2, 74, 120,0) 0%, rgba(2, 74, 120,0.4) 58%, rgba(2, 74, 120,0) 100%);
	position: fixed;
	top: 29dvh;
	left: 0;
	mix-blend-mode: multiply;
	z-index: 5;
}
#slideShow{
	display: grid;
	place-content: center;
	place-items: center;
	width: inherit;
	height: inherit;
}
#slideShow li{
	grid-column: 1;
	grid-row: 1;
	width: inherit;
	height: inherit;
}
#slideShow li picture{
	display: block;
	width: inherit;
}
#slideShow li img{
	object-fit: cover;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
#slideShow li:nth-child(1) img{
	opacity: 1;
	object-position: left 20% bottom 12%;
	animation: fadeSlide 20s 0s infinite linear backwards;
}
#slideShow li:nth-child(2) img{
	animation: upSlide 20s 10s infinite linear backwards;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
}
@media (max-width:1239px){ /* for TABとSP */
}
@media (max-width:767px){ /* for SP */
	#slideGrad{
		height: 28dvh;
		top: 21dvh;
	}
	#slideGrad{
		height: 28dvh;
		top: 21dvh;
	}
}

		@keyframes fadeSlide {
			0%{
				visibility: visible;
				opacity: 0;
				transform: scale(1);
			}
			5%{
				opacity: 1;
			}
			48%{
				opacity: 1;
			}
			53%{
				opacity: 0;
				transform: scale(1.06);
			}
			100%{
				opacity: 0;
			}
		}
		@keyframes upSlide {
			0%{
				visibility: visible;
				opacity: 0;
				transform: scale(1.1) translateY(-5%);
			}
			5%{
				opacity: 1;
			}
			48%{
				opacity: 1;
			}
			53%{
				opacity: 0;
				transform: scale(1.1) translateY(5%);
			}
			100%{
				opacity: 0;
			}
		}


/* mainVIsual
======================*/
#top_mainVisual{
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	gap: 1.4em;
	width: 100%;
	height: 100dvh;
	padding-bottom: 0.6em;
	color: #FFF;
  transition: all 0.8s ease-in-out;
}
#top_mainVisual h1{
	display: block;
	text-align: center;
	font-weight: 800;
  font-size: clamp(3rem, 3.5vw, 3.125rem); 
	text-shadow: 0px 0px 8px rgba(0, 39, 130, 0.5);
  position: relative;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  margin-top: 0.2em;
  line-height: 1.5;
}
#top_mainVisual h1 span {
  font-size: 85%; 
}
#top_mainVisual strong{
	display: block;
	text-align: center;
	line-height: 1;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.14em;
  text-indent: 0.14em;
	text-shadow: 0px 0px 8px rgba(0, 39, 130, 0.7);
  position: relative;
  z-index: 1;
}

@media (min-width:1240px){ /* for PC */
  #top_mainVisual .tabspClear {
    display: none;
  }
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	
	#top_mainVisual{
		padding-left: 3vw;
		padding-right: 3vw;
	}
	#top_mainVisual strong{
		font-size: 1.375rem;
	}
	
}
@media (max-width:1239px){ /* for TABとSP */
}
@media (max-width:767px){ /* for SP */
	
	#top_mainVisual{
		height: 64vh;
	}
	#top_mainVisual h1{
		padding-top: 15vw;
		font-size: 2rem;
	}
  #top_mainVisual h1 span {
    font-size: 1.5rem 
  }
	#top_mainVisual strong{
		font-size: 1.0625rem;
	}
	
}

/* top_invest
======================*/
#top_invest{
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
  padding: 120px 0;
	position: relative;
  transition: all 0.8s ease-in-out;
}
#top_invest.show{
  background: url("/common/images/top/bg_tex.png") rgba(255, 255, 255, 0.1) repeat left top;
	background-blend-mode: overlay;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}
#top_invest::before{
	content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(29,33,163,0) 0%, rgba(27,31,160,0) 10%, rgba(0,33,112,0.5) 100%);
  transition: all 0.8s ease-in-out;
  opacity: 0;
}
#top_invest.show::before{
  opacity: 1;
}
/* クラスを付与すると表示 */
#top_invest.show {
    opacity: 1;
}
.investCont{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: var(--width);
	min-height: 640px;
	margin: 0 auto;
	padding: 45px 530px 40px 70px;
	background: #FFF;
	position: relative;
	z-index: 2;
}
.investCont h2{
	display: block;
	color: var(--mainColor);
	font-size: 3.25rem;
	font-weight: 800;
	margin-bottom: 0.4em;
	line-height: 1.3;
  letter-spacing: 0.05em;
}
.investCont h2 span{
  font-weight: 600;
  padding: 0 0.2em;
}
.investCont strong{
	display: block;
	font-size: 1.5rem;
	margin-bottom: 1.3em;
	letter-spacing: var(--letter);
}
.investCont .lead{
	line-height: 2.6;
	letter-spacing: var(--letter);
	margin-bottom: 2.2em;
}
.investCont ul{
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 15px;
	width: 100%;
}
.investCont ul li{
	display: block;
	width: 100%;
	max-width: 330px;
}
.investCont a{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 70px;
	height: 100%;
	padding: 8px 18px 8px 30px;
	font-size: 1.125rem;
	color: #FFF;
	text-decoration: none;
	background: var(--mainColor);
	transition: background-color 0.3s ease;
}
.investCont a:hover,
.investCont a:focus{
	background: var(--mainColor-crr);
	transition: background-color 0.3s ease;
}
.investCont a svg{
	/*12px 16px*/
	width: 0.666em;
	height: 0.777em;
	margin-left: auto;
	fill: currentColor;
}
.investCont a span[lang="en"]{
	font-family: var(--pop);
}
.investCont .top_investBg{
	display: block;
	width: 38vw;
	max-width: 450px;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	right: 0;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	#top_invest{
		padding-left: 3vw;
		padding-right: 3vw;
	}
	.investCont{
		padding: 5vw 44vw 5vw 6vw;
	}
	.investCont h2{
		font-size: 2.75rem;
	}
	.investCont .lead br{
		display: none;
	}
	.investCont .top_investBg{
		width: 36vw;
	}
	.investCont .top_investBg img{
		object-fit: cover;
		height: 100%;
	}
}
@media (max-width:1239px){ /* for TABとSP */
	.investCont ul{
		gap: 10px;
	}
	.investCont li:nth-child(1),
	.investCont li:nth-child(2){
		max-width: 100%;
	}
}
@media (max-width:767px){ /* for SP */
	
	#top_invest{
		padding: 5vw 2vw;
	}
	.investCont{
		height: auto;
		padding: 10vw 6vw 8vw 6vw;
	}
	.investCont h2{
		font-size: 2rem;
		line-height: 1.2;
	}
	.investCont strong{
		font-size: 1.375rem;
		margin-bottom: 0.8em;
	}
	.investCont .lead{
		line-height: 2.2;
		margin-bottom: 1em;
	}
	.investCont ul{
		gap: 3vw;
		margin-bottom: 5.5vw;
	}
	.investCont a{
		min-height: auto;
		margin-bottom: 0;
		padding: 4vw 1em 4vw 1em;
		font-size: 1rem;
	}
	.investCont .top_investBg,
	.investCont .top_investBg img{
		display: block;
		width: 100%;
		max-width: none;
		aspect-ratio: 4/3;
		height: auto;
		object-fit: cover;
		position: relative;
		top: auto;
		right: auto;
	}
}

/* top_serviceh2
======================*/
#top_serviceh2{
	display: block;
	width: 100%;
	height: 200px;
	color: #FFF;
	background: url("/common/images/top/blue_bg2.jpg") var(--mainPaleColor) no-repeat center top / auto 100%;
}
.serviceInner{
	display: grid;
	grid-template-columns: auto 1fr;
	align-content: center;
	gap: 0 44px;
	width: 100%;
	max-width: var(--width);
	height: 100%;
	margin: 0 auto;
}
.serviceInner .h2_caption{
	grid-column: 1/3;
	grid-row: 1;
}
.serviceInner .h2_title{
	grid-column: 1;
	grid-row: 2;
}
.serviceInner .lead{
	grid-column: 2;
	grid-row: 2;
	line-height: 1.8;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	.serviceInner{
		padding-left: 3vw;
		padding-right: 3vw;
	}
}
@media (max-width:1239px){ /* for TABとSP */
}
@media (max-width:767px){ /* for SP */
	
	#top_serviceh2{
		height: auto;
		background: url("/common/images/top/blue_bg2_sp.jpg") var(--mainPaleColor) no-repeat center top / cover;
	}
	.serviceInner{
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0;
		height: auto;
		padding: 10vw 4vw 11vw 4vw;
	}
	.serviceInner .h2_title{
		font-size: 2.0625rem;
		margin-bottom: 0.5em;
	}
	.serviceInner .lead{
		font-size: 1rem;
		line-height: 2;
		letter-spacing: var(--letter);
	}
	.serviceInner .lead br{
		display: none;
	}
	
}

/* top_service
======================*/
#top_service{
	display: block;
	width: calc((100% / 2) + 80px);
  background: url("/common/images/top/concept_bg.png") #ecf2f9 no-repeat right 50% top;
	background-attachment: fixed;
	margin-left: auto;
  position: relative;
	overflow: hidden;
}
.serviceParts{
	display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 70vh;
  margin: 0 0 0 auto;
	padding-left: 108px;
  text-align: left;
  position: relative;
}
.serviceParts.t1{
	background: rgba(208,217,226,0.4);
}
.serviceParts.t2{
	background: rgba(188,205,225,0.4);;
}
.serviceParts + hr{
	display: block;
  width: 100%;
  height: 1px;
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  background: rgba(0,80,160,0.15);	
}
.serviceParts .h2_caption{
	margin-bottom: 0.8em;
	margin-left: 3px;
}
.serviceParts .h2_caption::before{
	top: 0.6em;
}
.serviceParts .h2_caption::after{
	content: "";
	display: block;
	width: 112px;
	height: 1px;
	background: #a5c1de;
	position: absolute;
	top: 0.75em;
	left: -112px;
}
.serviceParts .h2_title{
	font-size: 2.625rem;
	margin-bottom: 0.7em;
}
.serviceParts .lead{
	line-height: 1.8;	
	margin-bottom: 1.85em;
	max-width: 42em;
	padding-right: 1em;
}
.serviceParts img{
	display: none;
}
.serviceParts .moreBtn{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 280px;
	min-height: 70px;
	margin-bottom: 5px;
	padding: 8px 18px 8px 23px;
	font-size: 1.125rem;
	color: #ffffff;
	text-decoration: none;
	background: var(--mainColor);
	transition: color 0.3s ease, background-color 0.3s ease, var(--fadeIn);
}
.serviceParts .moreBtn:hover,
.serviceParts .moreBtn:focus{
	color: #FFF;
	background: var(--mainColor-crr);
	transition: color 0.3s ease, background-color 0.3s ease;
}
.serviceParts .moreBtn svg{
	/*12px 16px*/
	width: 0.666em;
	height: 0.777em;
	margin-left: auto;
	fill: currentColor;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	#top_service{
		width: 100%;
		background: #edf0f4;
	}
	.serviceParts{
		display: grid;
		grid-template-columns: 32vw 1fr;
		grid-template-rows: repeat(6,auto) 1fr;
		gap: 0 5vw;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
		padding: 0 3vw 0 0;
	}
	.serviceParts .h2_caption::after{
		content: none;
	}
	.serviceParts .h2_title{
		width: 100%;
		font-size: 2.125rem;
	}
	.serviceParts .lead{
		margin-bottom: 1em;
	}
	.serviceParts .lead br{
		display: none;
	}
	.serviceParts .moreBtn{
		max-width: 230px;
	}
	.serviceParts img{
		grid-column: 1;
		grid-row: 1/6;
		display: block;
		width: 32vw;
		height: 54vw;
		object-fit: cover;
		object-position: 12% center;
		order: 1;
	}
  .serviceParts img#t2_sp {
    object-position: 70% center;
  }
	.serviceParts.t1 .h2_caption{
		margin-top: 11vw;
	}
	.serviceParts.t2 .h2_title{
		margin-top: 15vw;
	}
	
}
@media (max-width:1239px){ /* for TABとSP */
}
@media (max-width:767px){ /* for SP */
	#top_service{
		width: 100%;
		background: #edf0f4;
	}
	.serviceParts{
		justify-content: flex-start;
		width: 100%;
		height: auto;
		padding: 9vw 4vw;
		margin: 0;
	}
	.serviceParts .h2_caption{
		margin-bottom: 0.5em;
		margin-left: 0;
	}
	.serviceParts .h2_caption::before{
		top: 0.5em;
	}
	.serviceParts .h2_caption::after{
		content: none;
	}
	.serviceParts .h2_title{
		font-size: 2.0625rem;
		margin-bottom: 0.4em;
	}
	.serviceParts .lead{
		width: 100%;
		font-size: 1rem;
		line-height: 2;	
		margin-bottom: 0;
	}
	.serviceParts img{
		display: block;
		width: 100%;
		height: 48vw;
		object-fit: cover;
		margin-top: 1.6em;
		margin-bottom: 1.5em;
	}
	.serviceParts .moreBtn{
		max-width: 100%;
		min-height: auto;
		margin-bottom: 0;
		padding: 3.5vw 1em 3.5vw 1em;
	}
	
}

/* top_sstnh2
======================*/
#top_sstnh2{
	display: block;
	width: 100%;
	height: 200px;
	color: #FFF;
	background: url("/common/images/top/blue_bg2.jpg") var(--mainPaleColor) no-repeat center top / auto 100%;
}
#top_sstnh2 .sstnInner{
	display: grid;
	grid-template-columns: auto 1fr;
	align-content: center;
	gap: 0 44px;
	width: 100%;
	max-width: var(--width);
	height: 100%;
	margin: 0 auto;
}
#top_sstnh2 .sstnInner .h2_caption{
	grid-column: 1/3;
	grid-row: 1;
}
#top_sstnh2 .sstnInner .h2_title{
	grid-column: 1;
	grid-row: 2;
}
#top_sstnh2 .sstnInner .lead{
	grid-column: 2;
	grid-row: 2;
	line-height: 1.8;
}
@media (min-width:1240px){ /* for PC */
	
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	
	#top_sstnh2 .sstnInner{
		padding-left: 3vw;
		padding-right: 3vw;
	}
	
}
@media (max-width:1239px){ /* for TABとSP */
	
}
@media (max-width:767px){ /* for SP */
	
	#top_sstnh2{
		height: auto;
		background: url("/common/images/top/blue_bg2_sp.jpg") var(--mainPaleColor) no-repeat center top / cover;
	}
	#top_sstnh2 .sstnInner{
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0;
		height: auto;
		padding: 10vw 4vw 11vw 4vw;
	}
	#top_sstnh2 .sstnInner .h2_title{
		font-size: 2.0625rem;
		margin-bottom: 0.5em;
	}
	#top_sstnh2 .sstnInner .lead{
		font-size: 1rem;
		line-height: 2;
		letter-spacing: var(--letter);
	}
	#top_sstnh2 .sstnInner .lead br{
		display: none;
	}
	
}

/* top_sstn
======================*/
#top_sstn{
	display: block;
	width: 100%;
	height: 424px;
	background: #343637;
	position: relative;
}
#top_sstn .sstnBg,
#top_sstn .sstnBg img{
	display: block;
	width: 100%;
	height: 424px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#top_sstn .sstnInner{
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	width: 100%;
	max-width: var(--width);
	height: 100%;
	margin: 0 auto;
	padding: 30px 50px;
	color: #FFF;
	position: relative;
	z-index: 2;
}
#top_sstn .sstnInner .h2_title{
	line-height: 1.3;
	margin-bottom: 28px;
}
#top_sstn .sstnInner a{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 280px;
	min-height: 70px;
	margin-bottom: 5px;
	padding: 8px 18px 8px 22px;
	font-size: 1.125rem;
	color: #ffffff;
	text-decoration: none;
	background: var(--mainColor);
	transition: color 0.3s ease, background-color 0.3s ease;
}
#top_sstn .sstnInner a:hover,
#top_sstn .sstnInner a:focus{
	color: var(--mainColor);
	background: #ffffff;
	transition: color 0.3s ease, background-color 0.3s ease;
}
#top_sstn .sstnInner a svg{
	/*12px 16px*/
	width: 0.666em;
	height: 0.777em;
	margin-left: auto;
	fill: currentColor;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
}
@media (max-width:1239px){ /* for TABとSP */
	#top_sstn .sstnInner{
		padding-left: 3vw;
		padding-right: 3vw;
	}
}
@media (max-width:767px){ /* for SP */
	
	#top_sstn{
		height: auto;
	}
	#top_sstn .sstnBg,
	#top_sstn .sstnBg img{
		height: 100%;
	}
	#top_sstn .sstnInner{
		height: auto;
		padding: 13vw 4vw 10vw 4vw;
	}
	#top_sstn .sstnInner .h2_title{
		margin-bottom: 1.05em;
	}
	#top_sstn .sstnInner a{
		max-width: 53vw;
		min-height: auto;
		margin-bottom: 0;
		padding: 4vw 1em 4vw 1.1em;
	}
	
}

/* top_news
======================*/
#top_news{
	display: block;
	width: 100%;
	padding-top: 18dvh;
	background: #FFF;
	position: relative;
}
#top_news::before{
	content: "";
	display: block;
  width: 100%;
  height: 28dvh;
	background: url("/common/images/top/newsbg.jpg") no-repeat center center / cover;
	background-attachment: fixed;
  position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 0;
}
#top_newsWrapper{
	display: grid;
	width: 100%;
}
.newsCont{
	display: grid;
	grid-template-columns: 1fr 220px;
	grid-template-rows: repeat(2,auto) minmax(100px, 1fr);
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 62px 50px 88px 50px;
	max-width: var(--width);
	background: var(--bgColor-light);
	position: relative;
	z-index: 2;
}
.newsCont .h2_caption{
	grid-column: 1;
	grid-row: 1;
	margin-bottom: 0.15em;
}
.newsCont .h2_title{
	grid-column: 1;
	grid-row: 2;
	font-size: 2.25rem;
	margin-bottom: 14px;
}
.newsCont .newsMoreBtn{
	grid-column: 2;
	grid-row: 1/3;
	justify-self: center;
	align-self: center;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 58px;
	padding: 8px 18px 8px 22px;
	margin-bottom: 5px;
	color: #FFF;
	text-decoration: none;
	background: var(--mainColor);
	transition: background-color 0.3s ease, var(--fadeIn);
}
.newsCont .newsMoreBtn:hover,
.newsCont .newsMoreBtn:focus{
	background: var(--mainColor-crr);
	transition: background-color 0.3s ease;
}
.newsCont .newsMoreBtn svg{
	/*12px 16px*/
	width: 0.75em;
	height: 0.875em;
	margin-left: auto;
	fill: currentColor;
}
.newsCont ul{
	grid-column: 1/3;
	grid-row: 3;
}
.newsCont ul li{
	display: grid;
	grid-template-columns: 6.5em auto 1fr;
	gap: 0.6em 0;
	letter-spacing: var(--letter);
	padding-top: 32px;
	padding-bottom: 26px;
}
.newsCont ul li:not(:last-child){
	border-bottom: var(--border);
}
.newsCont ul li time{
	align-self: center;
	line-height: 1;
}
.newsCont ul li .cat{
	grid-column: 2;
	grid-row: 1;
	display: inline-block;
	padding: 0.4em 1.5em;
	font-size: 0.875rem;
	line-height: 1;
	color: #FFF;
	background: var(--mainColor);
}
.newsCont ul li .txt{
	grid-column: 1/4;
	grid-row: 2;
}
.newsCont ul li a{
	display: inline-block;
	line-height: 1.5;
	color: var(--fontColor);
}
.newsNothingMsg{
	display: block;
	padding-top: 5em;
	padding-bottom: 5em;
	color: var(--fontColor-gray);
	text-align: center;
}
@media (min-width:1240px){ /* for PC */
	
	#top_newsWrapper::before{
		content: "";
		display: block;
		width: calc((100% - 1180px) / 2 + 2px);
		height: calc(100% - 18dvh);
		background: var(--bgColor-light);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
	}
	
}
@media (min-width:768px) and (max-width:1239px){ /* for TABのみ */
	
	#top_newsWrapper{
		width: 94vw;
		background: var(--bgColor-light);
	}
	.newsCont{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	
}
@media (max-width:1239px){ /* for TABとSP */
}
@media (max-width:767px){ /* for SP */
	
	#top_news{
		padding-top: 17vw;
	}
	#top_news::before{
		height: 37vw;
		background: url("/common/images/top/newsbg_sp.jpg") no-repeat center center / cover;
	}
	#top_newsWrapper{
		width: 96vw;
		margin-left: auto;
		margin-right: auto;
	}
	.newsCont{
		grid-template-columns: 1fr;
		grid-template-rows: repeat(2,auto) minmax(100px, 1fr) auto;
		padding: 2em 6vw 2.15em 6vw;
	}
	.newsCont .h2_caption{
		margin-bottom: 0.2em;
	}
	.newsCont .h2_title{
		font-size: 2.0625rem;
		margin-bottom: 0.7em;
	}
	.newsCont .newsMoreBtn{
		grid-column: 1;
		grid-row: 4;
		justify-self: center;
		max-width: 53vw;
		min-height: auto;
		padding: 1.35em 1em;
		margin-bottom: 0;
		margin-top: 1.9em;
	}
	.newsCont .newsMoreBtn span{
		display: block;
		line-height: 1;
		letter-spacing: var(--letter);
		width: calc(100% - 0.75em);
		text-align: center;
	}
	.newsCont ul{
		grid-column: 1;
		grid-row: 3;
	}
	.newsCont ul li{
		grid-template-columns: 5.5em auto 1fr;
		gap: 0.3em 0;
		padding-top: 1em;
		padding-bottom: 1em;
		letter-spacing: 0;
	}
	.newsCont ul li:first-child{
		border-top: var(--border);
	}
	.newsCont ul li:last-child{
		border-bottom: var(--border);
	}
	.newsCont ul li time{
		font-size: 0.875rem;
	}
	.newsCont ul li .cat{
		padding: 0.2em 0.6em;
		font-size: 0.8125rem;
	}
	.newsCont ul li a{
		font-size: 0.9375rem;
		line-height: 1.3;
	}
}

footer{
 background: #fff;
}
footer .otherSites li a{
  border: #e2e7ed solid 1px;
}
@media (min-width:1240px){ /* for PC */
  footer{
    padding-top: 1em;
  }
}