@charset "utf-8";

@font-face {
  font-family: 'tpr';
  src:
    url('fonts/tpr.ttf?b7szcw') format('truetype'),
    url('fonts/tpr.woff?b7szcw') format('woff'),
    url('fonts/tpr.svg?b7szcw#tpr') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'tpr' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tpr-triplearr:before {
  content: "\e900";
}


html, body {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	border: 0;
	line-height: 1.5em;
	color: #222;
  font-family: 'Noto Sans JP', sans-serif;
	/*font-family: 'Noto Serif JP', serif;*/
  font-weight: 400;
	font-size: 16px;

	
}
*, ::before, ::after{
	box-sizing: border-box;
}

ul{
	list-style: none;
}
ul,li,div{
	box-sizing: border-box;
}
ul,li{
	margin: 0;
	padding: 0;
}
body{
	background: #fff;
}

img{
	width: 100%;
	height: auto;
	vertical-align:top;
}
h2,h3,h4{
	margin: 0;
	padding: 0;
}

main{
	margin: 0px 0 0 0;
	padding: 100px 0 0 0;
}


.pc{
	display: block;
}
.sp{
	display: none;
}

.mrgtch{
	margin-top: 3em;
}

@media screen and (max-width: 767px) {
	
main{
	margin: 0px 0 0 0;
	padding: 50px 0 0 0;
}
	
	.pc{
	display: none;
}
.sp{
	display: block;
}
	.mrgtch{
	margin-top: 2em;
}
	
}



	body,html{
		margin: 0;
		padding: 0;
	}
	ul{list-style:none}
	.wrap{
		width: 100%;
		text-align: center;
		background: #000;
	}
		.main{
		width: 1100px;
		margin: 0 auto;
			background: #fff;
			padding: 0em 0;
	}





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

		.main{
		width: 100%;
		margin: 0 auto;
			background: #fff;
			padding: 0em 0;
	}

}



	ul.speclist{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 85%;
		margin:0 auto;
		box-sizing: border-box;
		font-family: 'Noto Sans JP', sans-serif;
		padding-bottom: 70px;
	}
	
		ul.speclist > li{
			font-size: 26px;
		background: linear-gradient(180deg, rgba(240, 235, 219, 0.8)5%, rgba(223, 212, 177, 0.9)30% 70%, rgba(240, 235, 219, 0.8)100%);
			padding:1.4em 0.9em;
			border: 0px solid #222;
			width: 30%;
			margin: 10px;
			box-sizing: border-box;
			filter:drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
	}






@media screen and (max-width: 767px) {
	
	
	ul.speclist{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 98%;
		margin:0 auto 0 1.7%;
		box-sizing: border-box;
		font-family: 'Noto Sans JP', sans-serif;
		padding-bottom: 30px;
	}
	
		ul.speclist > li{
			font-size: 3.4vw;
		background: linear-gradient(180deg, rgba(240, 235, 219, 0.8)5%, rgba(223, 212, 177, 0.9)30% 70%, rgba(240, 235, 219, 0.8)100%);
			padding: 1.1em 0.9em;
			border: 0px solid #222;
			width: 44vw;
			margin: 2vw;
			box-sizing: border-box;
			filter:drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
	}

	
	
}















	
	.wdbg{
		background: url("../../img/bg.jpg");
		margin: 0;
		padding: 0;
		color: #fff;
	}

.wdbg p{
	margin: 0;
	line-height: 2em;
	font-size: 25px;
	padding: 1.5em 0 2em 0;
	font-family: 'Noto Sans JP', sans-serif;
}

h3{
	font-size: 45px;
	padding: 1em 0 0 0;
	font-weight: normal;
	font-family: 'Jost', sans-serif;

}


	.bkbg{
		margin: 0;
		padding: 0;
		color: #fff;
		background: #000;
	}

.bkbg p{
	margin: 0;
	line-height: 2em;
	font-size: 25px;
	padding: 1.5em 0 2em 0;
	font-family: 'Noto Sans JP', sans-serif;
}


	.whbg{
		margin: 0;
		padding: 0;
		color: #000;
		background: #fff;
	}

.whbg p{
	margin: 0;
	line-height: 2em;
	font-size: 25px;
	padding: 1.5em 0 2em 0;
	font-family: 'Noto Sans JP', sans-serif;
}


h3.h3min{
	font-size: 39px;
	padding: 1em 0 0 0;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;

}

h3.h3min > span{

	border-bottom: 2px solid #000;
}




h3.h3min2{
	font-size: 39px;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;
display: block;
	padding: 1em 0 2em 0;
	box-sizing: border-box;
}










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

.wdbg p{
	margin: 0;
	line-height: 2em;
	font-size: 2.9vw;
	padding:1.5em 0 2em 0;
}
	
	h3{
	font-size: 5vw;
	padding: 1em 0 0 0;
	font-weight: normal;
	font-family: 'Jost', sans-serif;

}

	.bkbg p{
	margin: 0;
	line-height: 2em;
	font-size: 2.9vw;
	padding:1.5em 0 2em 0;
}

	.whbg p{
	margin: 0;
	line-height: 2em;
	font-size: 2.9vw;
	padding:1.5em 0 2em 0;
}
	
	
	h3.h3min{
	font-size: 4vw;
	padding: 1em 0 0 0;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;

}
	
	h3.h3min2{
	font-size: 4vw;
	padding: 1em 0 0 0;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;

}

	h3.h3min > span{

	border-bottom: 1px solid #000;
}
	

}









.footer{
	width: 100%;
	background: #fff;
	color: #000;
	padding: 1em 6%;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.ftbox{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: 23px;
	line-height: 1.7em;
	text-align: left;
	align-items: center;
}

div.ftbox > div:nth-child(1){
	flex-basis: 20%;
}
div.ftbox > div:nth-child(2){
	flex-basis: 75%;
	font-family: 'Noto Sans JP', sans-serif;
}

.pdb3em{
	padding-bottom: 3em;
	
}



@media screen and (max-width: 767px) {
	
	.footer{
	width: 100%;
	background: #fff;
	color: #000;
	padding: 1em 3%;
	margin-bottom: 20px;
	box-sizing: border-box;
}
	
.ftbox{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size:2.6vw;
	line-height: 1.4em;
	text-align: left;
	align-items: center;
}
	
	div.ftbox > div:nth-child(1){
	flex-basis: 20%;
}
div.ftbox > div:nth-child(2){
	flex-basis: 78%;
	font-family: 'Noto Sans JP', sans-serif;
}
	
	.pdb3em{
	padding-bottom: 1em;
	
}
	
	
	
	
}













.cntwrap{
	padding: 2.5em 0;
	font-family: 'Noto Sans JP', sans-serif;
}


a.btmlink{
	
	font-size: 26px;
	padding: 0.7em 3.0em;
	border: 3px solid #fff;
	box-sizing: border-box;
	filter:drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.9));
	color: #fff !important;
	background-color: rgba(256,256,256,0.0);text-decoration: none;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	user-select: none;
	display: block;
}

a.btmlink:hover{

	color: #fff !important;
	background-color: rgba(256,256,256,0.3);text-decoration: none;
}


.wd85{
	width: 100%;
	text-align: center;
}

.wd85 img{
	width: 85%;
	height: auto;
}

.cmname{
	display: inline-block;
	font-size: 60px;
	margin-right: 0.7em;
}

.adrtxt{
	display: inline-block;
	font-size: 26px;
	text-align: left;
	line-height: 1.3em;
	margin-left: 0.5em;
}



.mrgpcbox{
	margin: 3em 0;
}



@media screen and (max-width: 767px) {
	
	
	a.btmlink{
	
	font-size: 4vw;
	padding: 0.7em 2.0em;
	border: 1px solid #fff;
	box-sizing: border-box;
	filter:drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.9));
	color: #fff !important;
	background-color: rgba(256,256,256,0.0);text-decoration: none;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	user-select: none;
	display: block;
}

a.btmlink:hover{

	color: #fff !important;
	background-color: rgba(256,256,256,0.3);text-decoration: none;
}

	
	
	
	
	.wd85{
	width: 100%;
	text-align: center;
		margin-top: 20px;
}
	
	.wd85 img{
	width: 96%;
	height: auto;
}
	
	.mrgpcbox{
	margin: 1em 0;
}
	
	
	.cmname{
	display: block;
		margin-bottom: 0.7em;
	font-size:6vw;
		width: 100%;
}
.adrtxt{
	display: inline-block;
	font-size: 4vw;
	text-align: left;
	line-height: 1.3em;
	margin-left: 0.5em;
}

	
	
	
}











.telnm{
	display: block;

	font-size: 60px;
		margin: 60px 0 20px 0;
}


.cmpinfo{
	margin: 3em 0;
}



@media screen and (max-width: 767px) {
	
	
	.telnm{
	display: block;

	font-size: 7vw;
		margin: 30px 0 0px 0;
}

	
	
	.cmpinfo{
		width: 96%;
	margin: 3em auto 0 2%;
}
	
	
	
	
}






ul.topspcbl{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 90%;
	margin-left:5%;
	padding-top:2em;
	padding-bottom:2em;
	justify-content: space-around;
	align-items: flex-start;
}

ul.topspcbl > li{
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 10px;
	background: #dfd4b1;
	padding: 0.4em 0.8em 0.4em 0.8em;
	color: #000;
}

ul.topspcbl > li:nth-child(4){
	font-size: 28px;
	margin: 0 10px;
	background: #000;
	padding: 0.0em 0.0em 0.0em 0.0em;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	text-align: right;
	line-height: 1.5em;
}

.dp02-nms{
	font-size: 80px;
}
.dp02-nms02{
	font-size: 55px;
}








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

	ul.topspcbl{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 96%;
	margin-left:2%;
	padding-top:1em;
	padding-bottom:1em;
	justify-content: space-around;
	align-items: flex-start;
}
	
ul.topspcbl > li{
	font-size: 3vw;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 5px;
	background: #dfd4b1;
	padding: 0.2em 0.6em 0.2em 0.6em;
	color: #000;
}

ul.topspcbl > li:nth-child(4){
	font-size: 2.5vw;
	margin: 0 10px;
	background: #000;
	padding: 0.0em 0.0em 0.0em 0.0em;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	text-align: right;
	line-height: 1.5em;
}

	.dp02-nms{
	font-size: 6vw;
}
.dp02-nms02{
	font-size: 5vw;
}


}
















.fix-panel{
	line-height: 1.1em;
	color: #fff;
	position: fixed;
	top:70px;

	right: 0;
	z-index: 9998;
font-size: 20px;
	font-family: 'Jost', sans-serif;
	
}

.fix-panel > ul.rtpnl{
	display: flex;
	flex-direction: column;
}
.fix-panel > ul.rtpnl > li{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-top: 0px;
	
}

.fix-panel > ul.rtpnl > li > a{
	color: #fff;
	text-decoration: none;
	background: #1f3b8f;
	padding:0.8em 0.5em 0.5em 0.5em;
	font-size: 20px;
	display: flex;
	justify-content: center;

}
.fix-panel > ul.rtpnl > li > a:hover{
	background: #294ebd;
}


.fix-panel > ul.rtpnl > li:nth-child(2) > a{
	background: #f15a24;
}
.fix-panel > ul.rtpnl > li:nth-child(2) > a:hover{
	background: #ff7240;
}










ul.mnjfox{
		display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
ul.mnjfox > li{
		margin: 0.0em 0;
}




@media screen and (max-width: 767px) {
	
	
	
	.fix-panel{
	line-height: 1.1em;
	color: #fff;
	position: fixed;
	top:10px;

	right: 0;
	z-index: 9998;
font-size: 14px;
	
}

.fix-panel > ul.rtpnl{
	display: flex;
	flex-direction: column;
}
.fix-panel > ul.rtpnl > li{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-top: 0px;
	
}

.fix-panel > ul.rtpnl > li > a{
	color: #fff;
	text-decoration: none;
	/*display: block;*/
	background: #1f3b8f;
	padding:0.4em 0.4em 0.4em 0.4em;
	font-size: 14px;
	display: flex;
	justify-content: center;

}
.fix-panel > ul.rtpnl > li > a:hover{

	background: #294ebd;

}
	
	
	


.fix-panel > ul.rtpnl > li:nth-child(2) > a{
	background: #f15a24;
}
.fix-panel > ul.rtpnl > li:nth-child(2) > a:hover{
	background: #ff7240;
}



	
	


	
}







.btnwrap{
	display: flex;
	width: 70%;
	margin-left: 15%;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}




@media screen and (max-width: 767px) {
	
	.btnwrap{
	display: flex;
	width: 96%;
	margin-left: 2%;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

	
	
}






	.tsvfub{
		position: relative;
		background: #000;
		color: #fff;
		padding: 2em 0 0 0;
		box-sizing: border-box;
	}
	.tcpboxw{
		display: flex;
		width: 85%;
		margin-left: 7%;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		text-align: left;
		font-size: 20px;
		line-height: 1.7em;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
		.tcpboxw > div:nth-child(1){
		flex-basis: 50%;
	}
			.tcpboxw > div:nth-child(2){
		flex-basis: 45%;
	}
	.tcptlt{
		display: inline-block;
		font-size: 125%;
		margin-bottom: 0.5em;
		font-family: 'Noto Serif JP', serif;
	}
	.child_1{
  order: 1;
}
	
	.absl01{
		position: absolute;
		top: 0;
		left: 0;
		width: 300px;
	}
	
		.absl02{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 210px;
	}
	
	.mrgchg {margin-top: 2.5em;}
	.prd2em{padding-top: 4em;}
	
	@media screen and (max-width: 767px) {
		
			.tsvfub{
		position: relative;
		background: #000;
		color: #fff;
		padding: 0.0em 0 0 0;
		box-sizing: border-box;
	}
		
			.tcpboxw{
		display: flex;
		width: 96%;
		margin-left: 2%;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		text-align: left;
		font-size: 2.5vw;
		line-height: 1.7em;
	}
			.tcpboxw > div:nth-child(1){
		flex-basis: 50%;
	}
			.tcpboxw > div:nth-child(2){
		flex-basis: 48%;
	}
		
		
		
			.absl01{
		position: absolute;
		top: 0;
		left: 0;
		width: 20vw;
	}
	
		.absl02{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 15vw;
	}
		
		.mrgchg {margin-top: 1.3em;}
		
			.prd2em{padding-top: 2em;}
		
	}




.cnpflx{
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		width: 85%;
		margin: 0 auto;
		color: #000;
		font-size: 22px;
		line-height: 1.6em;
			margin-top: 40px;
	}
		.cnpflx > div:nth-child(1){
		flex-basis: 59%;
	}
			.cnpflx > div:nth-child(1) > img{
		width: 100%;
				height: auto;
	}
	.cnpflx > div:nth-child(2){
		flex-basis: 37%;
		text-align: left;
	
	}
	.cnp-m01{
		font-size: 120%;
		margin-bottom: 0.1em;
		/*margin-top: 0.8em*/
	}
	.cnpflx > div:nth-child(2) > div.cnp-m01{
		margin-top: 0.8em
	}
	.cnpflx > div:nth-child(2) > div:nth-child(1){
		margin-top: 0em
	}
		.cnp-m02{
		padding-left: 1.7em;
		white-space: nowrap;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
	.cnpdes{
		font-size: 27px;
	}
	.cnpdes > span{
		padding-bottom: 0.2em;
		border-bottom: 3px solid #000;
	}	

	
	
	@media screen and (max-width: 767px) {
		
		.cnpflx{
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		width: 96%;
		margin: 0 auto;
		color: #000;
		font-size: 2.5vw;
		line-height: 1.6em;
			margin-top: 20px;
	}
		.cnpflx > div:nth-child(1){
		flex-basis: 59%;
	}
			.cnpflx > div:nth-child(1) > img{
		width: 100%;
				height: auto;
	}
	.cnpflx > div:nth-child(2){
		flex-basis: 40%;
		text-align: left;
	
	}
	.cnp-m01{
		font-size: 120%;
		margin-bottom: 0.1em;
		/*margin-top: 0.8em*/
	}
	.cnpflx > div:nth-child(2) > div.cnp-m01{
		margin-top: 0.8em
	}
	.cnpflx > div:nth-child(2) > div:nth-child(1){
		margin-top: 0em
	}
		
		
		
		
		
		
				.cnp-m02{
		padding-left: 1.7em;
		white-space: normal;
	}
	
	.cnpdes{
		font-size: 4vw;
		margin: 1em 0 1.2em 0;
	}
	.cnpdes > span{
		padding-bottom: 0.05em;
		border-bottom: 1px solid #000;
	}	
		
		
		
	}




/* pjg */
.pjg-header-wrap{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
width: 100%;
padding: 0px 25px;;
box-sizing: border-box;
background: #ffffff;
height: 80px;
}
.pjg-header-wrap h1{
width: 230px;
margin: 0;
}

ul.header-nav{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
ul.header-nav > li{
margin-left: 2em;
}
ul.header-nav a{
color: #222;text-decoration: none;

}
ul.header-nav a:hover{
color: #888;text-decoration: none;

}
ul.header-nav a:visited{
color: #222;text-decoration: none;

}



.tophead{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}

.tophead > div:nth-child(1){
width: 30%;
padding: 3%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
.tophead > div:nth-child(2){
width: 70%;
}


























main{
margin: 0;
padding: 0;
font-size: 16px;
line-height: 1.7em;
text-align:justify;
line-break: strict;
color: #444;
}

.content_wrap{
width: 100%;
text-align: center;
}

.content{
width: 1100px;
text-align: left;
margin: 0 auto;
padding: 30px 0 50px 0;
}
h2{
text-align: center;
font-size: 33px;
color:#0074ca;
margin-top: 3em;
font-weight: 600;
}

.about_logo{
width: 100%;
margin: 6em 0;
text-align: center;
}
.about_logo > img{
width: 50%;

}
.txt-right{
text-align: right;
}



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

.content{
width: 94%;
text-align: left;
margin: 0 auto 0 3%;
padding: 1em 0;
}


h2{
text-align: center;
font-size: 20px;
color:#0074ca;
margin-top: 1em;
}




.about_logo{
width: 100%;
margin: 1em 0;
text-align: center;
}
.about_logo > img{
width: 90%;

}




}


footer{
width: 100%;
min-height: 300px;
background: #797979;
color: #fff;
padding: 100px 0;
text-align: center;
}

ul.footer-nav{
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
margin: 0 auto;
}
ul.footer-nav > li{
margin-left: 2em;
}
.copyrighttxt{
margin-top: 100px;
}

ul.footer-nav a{
text-decoration: none;
color: #fff;
}
ul.footer-nav a:hover{
text-decoration: none;
color: #ddd;
}
ul.footer-nav a:visited{
text-decoration: none;
}

@media screen and (max-width: 767px) {
footer{
width: 100%;
min-height: auto;
background: #797979;
color: #fff;
padding: 20px 0;
text-align: center;
}
ul.footer-nav{
display: inline-flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
margin: 0 auto;
}
ul.footer-nav > li{
margin-left: 0em;
margin: 0.5em 0 ;
font-size: 4vw;
width: 100%;
text-align: center;
}
.copyrighttxt{
margin-top: 3em;
font-size: 3vw;
}
}


.bg_b_type01{
background: url("images/bc_btm01.png"),linear-gradient(to top, rgba(0, 159, 244,0.00)0%, rgba(0, 159, 244,0.00)100px, rgba(0, 159, 244,0.09)101px, rgba(0, 159, 244,0.09)130px, rgba(0, 159, 244,0.00)131px, rgba(0, 159, 244,0.00)10%);
background-repeat: no-repeat;
background-position: right bottom;
}

.bg_b_type02{
background: url("images/bg_topright.png"),linear-gradient(to bottom, rgba(0, 159, 244,0.10)0%, rgba(0, 159, 244,0.10)15px, rgba(0, 159, 244,0.00)16px, rgba(0, 159, 244,0.00)100%);
background-repeat: no-repeat;
background-position:top 15px right 0px,0 0;
}
.bg_b_type03{
background: url("images/bg_topright.png");
background-repeat: no-repeat;
background-position:top 0px right 0px;
}

.bg_b_type04{
background: #f5f5f5;
}



.bg_t_type01{
background: url("images/bc_lefttop01.png");
background-repeat: no-repeat;
background-position: left top;
}



.bg_t_type01-top{
background: url("images/bc_lefttop01.png"),linear-gradient(to bottom, rgba(0, 159, 244,0.10)0%, rgba(0, 159, 244,0.10)140px, rgba(0, 159, 244,0.00)141px, rgba(0, 159, 244,0.00)100%);
background-repeat: no-repeat;
background-position:top 190px left 0px,top 190px left 20%;
}


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

.bg_b_type01{
background-size: 50%;
}

.bg_b_type02{
background-size: 50%;
}

.bg_b_type03{
background-size: 50%;
}

.bg_t_type01{
background-size: 50%;
}

.bg_t_type01-top{
background-size: 50%;
}

}


.bg_t_type02{
background: #edf7ff;

}



.bg_t_type03{
background: url("images/bc_righttop.png");
background-repeat: no-repeat;
background-position: right top;
}


.bg_t_type04{
background: url("images/bc_lefttop02.png");
background-repeat: no-repeat;
background-position: left top;
}


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



.bg_t_type03{
background-size: 50%;
}


.bg_t_type04{
background-size: 50%;
}


}



.about_footer{
margin-top: 3em;
padding-top: 2em;
border-top: 1px solid #000;


}




.about_link{
padding-top: 2em;


}









.main-txt{
width: 100%;
margin: 3em 0 0 0;
}

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

.main-txt{
width: 100%;
margin: 1.5em 0 0 0;
font-size: 3.5vw;
line-height: 1.6em;
}

}


.main_header{
width: 100%;
/*border-bottom:5px solid #5496ff;*/
border-bottom:5px solid rgba(26,146,236,0.4);
}
.main_header_img{
border-bottom:20px solid rgba(26,146,236,1.0);
height: 270px;

background-repeat: no-repeat;
background-size: cover;
background-position: 50% 40%;
}
.pjg_header_img{
background-image: url("images/bcg01.jpg");
}
.pjgtwins_header_img{
background-image: url("images/bcg02.jpg");
}
.about_header_img{
background-image: url("images/bcg03.jpg");
}
.link_header_img{
background-image: url("images/bcg04.jpg");
}


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

.main_header_img{
border-bottom:10px solid rgba(26,146,236,1.0);
height: 100px;

background-repeat: no-repeat;
background-size: cover;
background-position: 50% 40%;
}

}






.bg_type02{
background-image:linear-gradient(to top, rgba(84, 159, 244,0.2)0%, rgba(0, 159, 244,0.9)100%), url("images/bccg.jpg");
background-repeat: no-repeat;
background-size: cover;
}




.wraph2{
width: 100%;
text-align: center;
margin: 6em 0 3em 0;
}




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


.wraph2{
width: 100%;
text-align: center;
margin: 1em 0 0.5em 0;
}


}

















.h2clswtxt{
color: #fff;
}


.h2clswtxt-l{
    position: relative;
    display: inline;
    padding: 0 1.7em;
		margin: 0 auto;
}
.h2clswtxt-l:before,
.h2clswtxt-l:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 1.2em;
    height: 2px;
    background-color: #fff;
}
.h2clswtxt-l:before {
    left: 0em;
}
.h2clswtxt-l:after {
    right: 0em;
}




.h2clswtxt-lb{
    position: relative;
    display: inline;
    padding: 0 1.7em;
		margin: 0 auto;
}
.h2clswtxt-lb:before,
.h2clswtxt-lb:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 1.2em;
    height: 2px;
    background-color: #2882b9;
}
.h2clswtxt-lb:before {
    left: 0em;
}
.h2clswtxt-lb:after {
    right: 0em;
}

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


.h2clswtxt-lb{
    position: relative;
    display: inline;
    padding: 0 0em;
		margin: 0 auto;
}

.h2clswtxt-lb:before,
.h2clswtxt-lb:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 0em;
    height: 0px;
    background-color: #2882b9;
}



}




.featurebox{
width: 100%;
text-align: left;
padding: 3.5em;
background: #fff;
box-sizing: border-box;
margin: 1em 0;
}

.featurebox-bcg{

background: linear-gradient(to right bottom, rgba(238,241,245,1.0)0%, rgba(255,255,255,1.0)100%);
/*filter:  drop-shadow(#bbb 3rem 3rem 0rem);*/
position:relative;
}

.featurebox-bcg:before, .featurebox-bcg:after{ 
    position: absolute;
    bottom: -40px;
    content:'';
    width: 50%;
    height: 50%;
    display: inline-block;
    box-sizing: border-box;
}
.featurebox-bcg:after{
    border-right: solid 40px #ccc;
    border-bottom: solid 40px #ccc;
    right: -40px;
}





ul.featurelist{
font-size: 22px;
color: #0074cb;
list-style: disc;
margin-left: 1em;
font-weight: 600;
}

ul.featurelist > li{
margin-top: 1.8em;
font-weight: 600;
}

/*
ul.featurelist > li::marker{
font-size: 150%;
vertical-align: -0.25em;
}
*/


ul.featurelist > li:first-child{
margin-top: 0em;
}


ul.featurelist > li p{
font-size: 16px;
color: #000;
font-weight: 400;
}

h4{
font-size: 18px;
font-weight: bold;
padding: 0;
color: #0074cb;
margin: 3em 0 0 0;
}



.h4sub{
font-size: 18px;
font-weight: bold;
padding: 0;
color: #0074cb;
margin: 1em 0 0.5em 0;
}








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


.featurebox-bcg:before, .featurebox-bcg:after{ 
    position: absolute;
    bottom: -4px;
    content:'';
    width: 50%;
    height: 50%;
    display: inline-block;
    box-sizing: border-box;
}
.featurebox-bcg:after{
    border-right: solid 4px #ccc;
    border-bottom: solid 4px #ccc;
    right: -4px;
}



ul.featurelist{
font-size: 4vw;
color: #0074cb;
list-style: disc;
margin-left: 1em;
font-weight: 600;
}


.featurebox{
width: 100%;
text-align: left;
padding: 0.5em;
background: #fff;
box-sizing: border-box;
margin: 0.5em 0;
}

ul.featurelist > li{
margin-top: 1.4em;
font-weight: 600;
}


ul.featurelist > li p{
font-size: 3.5vw;
line-height: 1.6em;
margin: 0;
}




h4{
font-size: 4vw;
font-weight: bold;
padding: 0;
color: #0074cb;
margin: 1em 0 0 0;
}



.h4sub{
font-size: 3.5vw;
font-weight: bold;
padding: 0;
color: #0074cb;
margin: 1em 0 0.5em 0;
}






}


.normal-tbl > table td{
background: #fff;
}





table.pjgtbl {
width: 100%;
font-size: 14px;
border-spacing: 0px;

border-collapse: collapse;
border:1px solid #333;
margin: 1em 0;
line-height: 1.5em
}
table.pjgtbl td{
border:1px solid #888;
padding: 0.2em;
box-sizing: border-box;
text-align: center;
vertical-align:middle;
}

img.img50t{
width: 90%;
height: auto;
}

table.tblsafet td{
background: #fff;
}
table.tblsafet tr > td:nth-child(2){
background: #eee;
}

table.tblsafet2 td{
background: #fff;
}
table.tblsafet2 tr > td:nth-child(1){
background: #eee;
width: 18%;
}

.flxsp01{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.flxsp01 > div:nth-child(1){
width: 40%;

}
.flxsp01 > div:nth-child(2){
width: 57%;

}


.flxsp50{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.flxsp50 > div:nth-child(1){
width: 48%;

}
.flxsp50 > div:nth-child(2){
width: 48%;

}




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


table.pjgtbl {
width: 100%;
font-size: 12px;
line-height: 1.2em;
overflow-x: auto;
   /* display: block;*/
}



table.xscroll {

overflow-x: auto;
display: block;
}





.flxsp01{
display: flex;
flex-direction: column;

}


.flxsp01 > div:nth-child(1){
width: 100%;

}
.flxsp01 > div:nth-child(2){
width: 100%;

}



.flxsp50{
display: flex;
flex-direction: column;
}
.flxsp50 > div:nth-child(1){
width: 100%;

}
.flxsp50 > div:nth-child(2){
width: 100%;

}






}

.tblcapt{
font-size: 80%;
line-height: 1.3em;

box-sizing: border-box;
}

.tblcapt span{
text-indent: -1em;
padding-left: 1em;
box-sizing: border-box;
display: inline-block;
}




.koukazai > dl{
display: flex;
flex-direction: row;
justify-content: flex-start;
font-size: 16px;
}

.koukazai dt{
font-weight: 700;
color: #696fa3;
width: auto;
white-space: nowrap;
}
.koukazai dt > span{
font-weight: 700;
background: #696fa3;
color: #fff;
}

.koukazai dd{
margin-left: 1em;
width: auto;
}

.tbletopca{
width: 100%;
text-align: right;
font-size: 80%
}



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

.koukazai > dl{
display: flex;
flex-direction: column;
justify-content: flex-start;
font-size: 3.5vw;
line-height: 1.6em;
}

}









td.emptyline{
    background-image: linear-gradient(to left bottom, transparent calc(50% - 1px), #000 calc(50% - .5px), #000 calc(50% + .5px), transparent calc(50% + 1px), #fff);
    background-repeat: no-repeat;
}

table.firstline-g tr:nth-child(1) > td{
background: #eee;
/*border-bottom: 1px solid #aaa;*/
}


table.deameter-tbl tr > td{
background: #effbd7;
}

.rgblucolor{
background-color: #b9ecee !important;
}


.tblcapdl dl{
display: flex;
flex-direction: row;
justify-content: flex-start;
margin: 0.5em 0;
}
.tblcapdl dt{
width: auto;
white-space: nowrap;
font-weight: bold;
color: #777;
}
.tblcapdl dd{
width: auto;
margin: 0 0 0 0.5em;
}

.middlewide{
width: 74%;
margin: 0 auto;
}

.middlewide-2{
width: 80%;
margin: 1em auto;
}


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

.middlewide{
width: 100%;
margin: 0 auto;
}

}






.pjgflx03{
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 3em;
}


.pjgflx03 > div:nth-child(1){
width: 25%;
}
.pjgflx03 > div:nth-child(2){
width: 72%;
}

ul.pjgflx03-01{
display: flex;
flex-direction: row;
justify-content: center;
margin: 3em;
}

ul.pjgflx03-01 > li{
width: 81%;
margin: 0.5em;
}

ul.pjgflow{
display: flex;
flex-direction: row;
flex-wrap: wrap;
}

ul.pjgflow > li{
width: 33.3%;
background: #4ff;
}



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


.pjgflx03{
display: flex;
flex-direction: column;
justify-content: space-between;
margin: 0em;
font-size: 3.5vw;
line-height: 1.6em;
}

.pjgflx03 > div:nth-child(1){
width: 100%;
}
.pjgflx03 > div:nth-child(2){
width: 100%;
}


ul.pjgflow > li{
width: 50%;
background: #4ff;
}

}


ul.pjgflow02 h5{
width: 100%;
font-size: 22px;
text-align: center;
background: linear-gradient(to right, #d4e5ef, #c4e2f7);
padding: 1em ;
box-sizing: border-box;
font-weight: normal;
margin: 0;
}
ul.pjgflow02 li{
text-align: center;
margin-bottom: 1em;
}
ul.pjgflow02 li:last-child{
margin-bottom: 0em;
}
ul.pjgflow02 p.bigclip{
width: 80%;
font-size: 18px;
text-align: center;
padding: 1em ;
box-sizing: border-box;
font-weight: normal;
margin: 1em auto;
position: relative;
}

p.bigclip:before, p.bigclip:after{ 
    position: absolute;
    top: 0;
    content:'';
    width: 10px;
    height: 100%;
    display: inline-block;
    box-sizing: border-box;
}
p.bigclip:before{
    border-left: solid 2px #555;
    border-top: solid 2px #555;
    border-bottom: solid 2px #555;
    left: 0;
}
p.bigclip:after{
    border-top: solid 2px #555;
    border-right: solid 2px #555;
    border-bottom: solid 2px #555;
    right: 0;
}

.under-down {
  display: inline-block;
  vertical-align: middle;
  color: #67aed4;
  line-height: 1;
  width: 2em;
  height: 2em;
  border: 0.4em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
	margin: 0.5em auto;
}


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

ul.pjgflow02 h5{
width: 100%;
font-size: 4vw;
text-align: left;
background: linear-gradient(to right, #d4e5ef, #c4e2f7);
padding: 0.3em ;
box-sizing: border-box;
font-weight: normal;
margin: 0;

}

ul.pjgflow02 p.bigclip{
width: 100%;
font-size: 3.5vw;
text-align: left;
padding: 0.5em ;
box-sizing: border-box;
font-weight: normal;
margin: 0.5em auto;
position: relative;
}



}

.kogataki{
display: flex;
justify-content: space-between;
margin: 2em 0;
}
.kogataki > div:nth-child(1){
width: 25.3%;
}
.kogataki > div:nth-child(2){
width: 74.3%;
}

.kogataki p{
width: 100%;
text-align: center;
margin: 0;
font-size: 15px;
background: #888;
color: #fff;
padding: 0.8em 0.1em;;
box-sizing: border-box;
line-height: 1.3em;
}

.kogatacap{
display: flex;
font-size: 15px;
}
.kogatacap > p:nth-child(1){
width: 55%;

}
.kogatacap > p:nth-child(2){
width: 45%;

}

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

.kogataki p{

font-size: 11px;

}
}




.h2sub{
    position: relative;
    display: inline-block;
    padding: 0 1.7em;
		margin: 0 auto;
		color: #9e9e9e;
		font-size: 80%;
		line-height: 3em;
}
.h2sub:before,
.h2sub:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 1.2em;
    height: 2px;
    background-color: #9e9e9e;
}
.h2sub:before {
    left: 0em;
}
.h2sub:after {
    right: 0em;
}


.mdttlt{
font-size: 150%;
margin: 3em 0 1em 0;
color: #0074cb;
}


.ctg-spc{
border-bottom: 1px solid #222;
padding: 0;
}

.ctg-spc span{
display: inline-block;
background: #888;
color: #fff;
margin: 0;
padding: 0.1em 1em;
}





.about_link a{
color: #0074ca;
font-weight: bold;
font-size: 103%;
display: inline-block;
position: relative;
padding-left: 0.8em;
text-decoration: none;
}
.about_link a:hover{
color: #0074ca;
font-weight: bold;
text-decoration: underline;
}
.about_link a:visited{
color: #0074ca;font-weight: bold;
}
.about_link a::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0px;
  width: 0px;
  height: 0px;
  margin: auto;
  border: 5px solid;
	border-color: transparent transparent #0074ca transparent;
	
  transform: rotate(90deg);
  box-sizing: border-box;
}










.topcp02{
font-size: 28px;
text-align: center;
line-height: 1.6em;
color: #65abd6;
margin: 2em 0 0 0 ;
}



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

.topcp02{
font-size: 5vw;
text-align: left;
line-height: 1.6em;
color: #65abd6;
margin: 1em 0 0 0 ;
}

}

a.mainbtn{
padding: 0.8em;
width: 350px;
color: #fff;
font-size: 22px;
display: inline-block;
background: linear-gradient(to right bottom, rgba(26,146,236,1.0)0%, rgba(0,116,202,1.0)100%);
text-align: center;
text-decoration: none;
margin: 1em auto;
cursor: pointer;
user-select: none;
transition:.2s all cubic-bezier(0.45, 0, 0.55, 1);
position: relative;
}
a.mainbtn:hover{
background: linear-gradient(to right bottom, rgba(26,146,236,0.8)0%, rgba(0,116,202,0.8)100%);
opacity: 0.8;
}
a.mainbtn:visited{

}
.mainbtn::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}


.normal-wrap{
width: 100%;
text-align: center;
}

.w-content{
display: flex;
flex-direction: row;
justify-content: center;

}

.w-content > img{
width: 27%;
margin-right: 5px;
}




/* inq */




.guideline{margin:20px 0;}
.guideline table { width: 100%; }
.guideline th, .guideline td { padding: 10px; }
.guideline th { background: #CCCCCC;width: 160px; text-align: left;line-height:21px;font-size:15px; }
.guideline td { background: #E5E5E5;text-align: left;line-height:21px;font-size:14px;}
.guideline td p{ line-height:21px;font-size:14px;}
 

.sc_contw{
	width:862px;
	margin:0 auto;
}


@media screen and ( max-width:767px ){
	.guideline{width:100%;margin:20px auto;}
    .guideline table { margin: 0 0px; }
    .guideline table th,
    .guideline table td{
    width: 100%;
    display: block;
    border-top: none;
    }
  .guideline table tr:first-child th { border-top: 1px solid #fff; }
	
	
		.sc_contw{
		width:100%;
		font-size: 3.5vw;
	}
	
	.guideline th {font-size:3.5vw; }
.guideline td { font-size:3.5vw;}
.guideline td p{ font-size:3.5vw;}



	
}









.square_btn_red {
	margin:7px auto;
	width:300px;
	text-align: center;
    position: relative;
    display: inline-block;
    font-weight: bold;
	font-size: 17px;
    padding: 0.7em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #E50012;
    transition: .4s;
	border-radius: 50px;
  }

.square_btn_red:hover {
    background: #FF2133;
}

@media screen and ( max-width:767px ){
	.square_btn_red {
	margin:10px auto;
	width:80%;
	padding: 1.7em 0.5em;
  }
}

a.but-arr_red {
  position: relative;
}
 
a.but-arr_red:before {
  position: absolute;
  content: "";
  width: 13px;
  height: 23px;
  top: 50%;
  right: 10px;
  margin: -11px 0 0 0;
  background-image: url(../img/arr-w.png);
  background-repeat: no-repeat;
  background-size: 13px 23px;
}


input.klmwform{
	width:100%;
	padding:4px;
	font-size: 100%;
}

textarea.klmwform{
	width:100%;
	font-size: 100%;
}

#bus-fld {
}

select.klmwform{
	/*appearance: none !important;*/
	padding:0.4em;
	font-size: 100%;
	border:1px solid #000;
}




input.klmwformz{
	padding:4px;
	font-size: 100%;
}

.red {
    color: #ff0000;
}


.top-tlt-sub{
font-size: 24px;
margin: 1em;
color: #67aed4;
}




@media screen and ( max-width:767px ){
.top-tlt-sub{
font-size: 5vw;
margin: 0.5em;
color: #67aed4;
}
}







ul.top-t-conts{
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin:0 auto;;
}
ul.top-t-conts > li{
width: 49%;
margin: 10px 0;
}


.end-section{
padding-bottom: 100px;
}



#logo{
width: 100px;
margin: 10px;
}





#mainHeader #logo img{width: 110px;height: auto;}

ul.gnav{margin:0;padding:0;}
	ul.gnav li{margin:0;}

#mainHeader{
	background: #fff;
	position: relative;
	z-index: 900;
	max-width:100%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	z-index: 250;
	height: 60px;
	overflow: hidden;
	border-bottom: 1px solid #6e6e6e;
}
#mainHeader #logo{
width:140px;
	margin:0px 0 0 0px;
	padding:20px 0 0 15px;
	box-sizing: border-box;
	float:left;
	background: #fff;
	height: 60px;
}

#mainHeader #menu-ent{
	width:97px;
	margin:0px 0px 0 0;
		float:right;
	background: #ff8005;
	height: 60px;
}


#mainHeader #menusp{
width:51px;
	margin:0px 0px 0 0;
		float:right;
	background: #1163b6;
}

    .nav-wrap{
        box-sizing: border-box;
/**/
        position: fixed;
        top: 0;
        width: 100%;
		z-index:200;
		height: 64px;
		
		display: none;
    }
	.navi{max-width:100%;height: 100%;}


    .gnav {
		padding:20px 0;
      
      background: #585f64;
      width: 100%;
		margin-left:0;
		height: 100%;
      z-index: 99;

		position: fixed;
    }


ul.gnav-ul{
	padding:0px 0;
	list-style-type: none;
	/*height: 100%;*/
	height: calc(100% - 70px);
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
}

    ul.gnav-ul li {
      
	  color:#fff;
		
			background:url(../img/arr-r-w.svg) 96% center no-repeat;
	background-size:7px 15px;
		
		width:80%;
		margin-left:10%;
		
		
    }

    ul.gnav-ul li a {
      display: block;
	  color:#fff;
	  font-weight:bold;
      text-decoration: none;
      padding: .9rem 1rem;
	
		
		border-bottom: 1px solid #fff;
    }


ul.gnav-ul li.gnav-sublist a{
	font-weight: normal;
	
	color: #ddd;
}



ul.gnav-ul li.spnav04,ul.gnav-ul li.spnav05,ul.gnav-ul li.spnav06{
	background:url(../img/plus.svg) 97% center no-repeat;
	background-size:20px 20px;
	
	
	
}

.navlstbn{
	     display: block;
	  color:#fff;
	  font-weight:bold;
      text-decoration: none;
      padding: .9rem 1rem;
	
		
		border-bottom: 1px solid #fff;
}







ul.gnav-ul li.spnav04 a.disabled{
    pointer-events: none;
}
ul.gnav-ul li.spnav05 a.disabled{
    pointer-events: none;
}
ul.gnav-ul li.spnav06 a.disabled{
    pointer-events: none;
}


.spnav-btn.open .navlstbn{

	background-color: #888;
	background-image:url(../img/minus.svg);
	background-size:25px 20px;
	background-position: 96.5% center;
	background-repeat: no-repeat;
		
    }





ul.gnav-ul li a:hover {
	color:#fff;
}


#spnv-s01,#spnv-s02,#spnv-s03{
	display: none;
}



@media screen and ( max-width:767px ){
	main {
	margin-top: 60px;
	font-size: 3.5vw;
	line-height: 1.9em;
  }
}


.backtop {
	width:69px;
	height:auto;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:150;
}

navi{
display: none;
}
















