﻿@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* Reset
---------------------------------------------------------------------- */
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,select,input,textarea,p,blockquote,th,td {
	margin: 0px;
	padding: 0px;
}

li {
	list-style-type: none;
}



/* common
---------------------------------------------------------------------- */
html {}

body {
	min-width: 1150px;
	color: #444444;
	font-family: 'micorsoft yahei', Arial, sans-serif;
	font-size: 14px;
	line-height: 1.6em;
}

a{
	color:#444444;
	text-decoration:none;
	overflow:hidden;
	outline:none; 
}
	a:hover{ color:#444444; text-decoration: underline;}
	a:link{	color:#444444;}
	a:visited{color:#444444;}
	a:active {text-decoration:none;}

img{
	max-width:100%;
	vertical-align: bottom;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-ms-interpolation-mode: bicubic;
}

@media all and (-ms-high-contrast: none){
	img[src$=".svg"],
	img[src$=".svgz"] {
		width: 100%;
	}
}

.inner{
	margin: 0 auto;
	max-width: 1048px;
	box-sizing: border-box;
}

.ef-hover{ transition: all 0.4s ease; }
	.ef-hover:hover{ opacity: 0.7; }

.pcOnly{ display: inline; }
.spOnly{ display: none; }

.txtR{ text-align: right; }
.txtC{ text-align: center; }
.txtL{ text-align: left; }

.fltR{ float: right; }
.fltL{ float: left; }

.txtB,strong,b{ font-weight: bold; }

.txtS{ font-size: 90% !important; }

.clear::after {
  display: block;
  clear: both;
  content: '';
}

/* color */
.coBLU{ color: #0066b3; }
.coRED{ color: #ff0000; }

/* search ---------------------- */
.searchAreaBlock{
	margin-right: 20px;
}
	#header .searchAreaBlock{ padding-top: 6px; }
	#footer .searchAreaBlock{ padding-top: 5px; }

.searchAreaBlock form{
	position: relative;
}

.searchAreaBlock input[type=text]{
	padding: 5px 35px 5px 5px;
	width: 200px;
	border: 1px solid #0066b3;
	box-sizing: border-box;
	border-radius: 0;
}

.searchAreaBlock input[type=submit]{
	border: none;
	width: 30px;
	height: 100%;
	background: #0066b3 url(../img/search.svg) no-repeat center center;
	background-size: auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	border-radius: 0;
}

.searchAreaBlock input[type=submit]:hover{
	opacity: 0.7;
}


/* language -------------------- */
.langAreaBlock{}
	#header .langAreaBlock{ padding-top: 6px; margin-right: 20px; }
	#footer .langAreaBlock{ padding-top: 5px; }

.langAreaBlock a{}

.langAreaBlock a span{
	padding-left: 25px;
	background: url(../img/global.svg) no-repeat left center;
	background-size: auto;
}


@media only screen and (max-width: 768px) {
	body { min-width: inherit; font-size: 3.733333333vw; }
	a:hover{ text-decoration: none; }
	.inner{ padding-right: 5.333333333vw; padding-left: 5.333333333vw; }
	.ef-hover{ transition: all 0s ease; }
		.ef-hover:hover{ opacity: 1; }

	.pcOnly{ display: none; }
	.spOnly{ display: inline; }

	.searchAreaBlock input[type=text]{
		outline: none;
		-webkit-appearance: none;
		appearance: none;
	}
}



/* icon
---------------------------------------------------------------------- */
span.icm{ padding-right: 28px; }
span.icon-none{ padding-right: 0; }

span.icon-newsPDF{ padding-right: 20px; background: url(../img/icon-newsPDF.svg) no-repeat right 2px center; background-size: auto 16px; }
span.icon-pdf{ background: url(../img/icon-pdf.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-doc{ background: url(../img/icon-doc.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-xls{ background: url(../img/icon-xls.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-dxf{ background: url(../img/icon-dxf.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-stp{ background: url(../img/icon-stp.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-zip{ background: url(../img/icon-zip.svg) no-repeat right 2px center; background-size: auto 20px; }
span.icon-dl{ background: url(../img/icon-dl.svg) no-repeat right 2px center; background-size: auto 20px; }

.linkArw{
	display: inline-block;
	padding-left: 13px;
	position: relative;
}
	.linkArw::before{
		content: '';
		display: block;
		margin-top: -3px;
		width: 5px;
		height: 5px;
		border-top: 2px solid #444444;
		border-right: 2px solid #444444;
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		left: 0;
	}
	.linkArw.anchor::before{
		transform: rotate(135deg);
		left: 2px;
	}

.linkArw:hover::before{
	border-top-color: #0066b3;
	border-right-color: #0066b3;
}
	/* Gmenu */
	#Gmenu .linkArw::before{
		border-top-color: #ffffff;
		border-right-color: #ffffff;
	}

@media only screen and (max-width: 768px) {
	span.icm{ padding-right: 7.28vw; background-size: auto 5.5vw; }
	
	span.icon-newsPDF{ padding-right: 5.2vw; background-size: auto 4.4vw; }

	.linkArw{ padding-left: 3.5vw; }
		.linkArw::before{ margin-top: -0.9vw; width: 1.5vw; height: 1.5vw; }
	.linkArw:hover::before{ border-top-color: #444444; border-right-color: #444444; }
}



/* btnStyle
---------------------------------------------------------------------- */
#content .btnStyle{
	margin: 0 auto;
	width: 290px;
}

#content .btnStyle a{
	display: block;
	padding: 25px 0;
	text-align: center;
	font-size: 16px;
	position: relative;
	transition: all 0.4s ease;
	z-index: 0;
}
	#content .btnStyle a::before{
		content: '';
		border-right: 50px solid transparent;
		border-bottom: 80px solid #0066b2;
		transform: translateX(-100%);
		transition: all 0.4s ease;
		position: absolute;
		top: 0;
		right: -50px;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
	#content .btnStyle a::after{
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -2;
	}
	#content .btnStyle a:hover{ text-decoration: none; }
	#content .btnStyle a:hover::before{
		transform: translateX(0);
	}

	/* btnStyleBLU */
	#content .btnStyleBLU a{ color: #0066b2; border: 2px solid #0066b2; }
	#content .btnStyleBLU a::before{ border-bottom-color: #0066b2; }
	#content .btnStyleBLU a::after{ background: #ffffff; }
	#content .btnStyleBLU a:hover{ color: #ffffff !important; }

	/* btnStyleWHT */
	#content .btnStyleWHT a{ color: #ffffff; border: 2px solid #ffffff; }
	#content .btnStyleWHT a::before{ border-bottom-color: #ffffff; }
	#content .btnStyleWHT a::after{ background: #0066b2; }
	#content .btnStyleWHT a:hover{ color: #0066b2 !important; }

	/* btnBgTRA */
	#content .btnBgTRA a::after{ background: none; }


@media only screen and (max-width: 768px) {
	#content .btnStyle{ width: 53.33333333vw }
	#content .btnStyle a{ padding: 4vw 0; font-size: 3.466666667vw; transition: all 0s ease; }
	#content .btnStyle a::before{ display: none; }
	#content .btnStyleBLU a:hover{ color: #0066b2 !important; }
	#content .btnStyleWHT a:hover{ color: #ffffff !important; }
}



/* ef-line
---------------------------------------------------------------------- */
#content a .ef-line{
	position: relative;
}
	#content a .ef-line::after{
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		border: 0px solid #0066b3;
		position: absolute;
		top: 0;
		left: 0;
		box-sizing: border-box;
		transition: all 0.2s ease;
	}

#content a:hover .ef-line::after{
	border-width: 5px;
}


@media only screen and (max-width: 768px) {
	#content a .ef-line::after{ display: none; }
}



/* header
---------------------------------------------------------------------- */
#header{
	width: 100%;
	min-width: 1150px;
	border-top: 4px solid #0066b2;
	background: rgba(255,255,255,0.8);
	position: fixed;
	z-index: 2;
}

/* contArea -------------------- */
#header .contArea{
	padding: 15px 0;
	height: 72px;
	box-sizing: border-box;
	overflow: hidden;
	transition: all 0.4s ease;
}
	body.shrinking #header .contArea{ padding: 0;  height: 0; }

#header .contArea .inner{
	display: flex;
	justify-content: space-between;
}

#header .contArea .logo{
	width: 150px;
}

#header .contArea .nav{
	display: flex;
}

#header .contArea .contact{
	margin: -15px 0;
}

#header .contArea .contact a{
	display: block;
	padding: 21px 0 0 0;
	width: 140px;
	min-height: 72px;
	color: #ffffff;
	text-align: center;
	background: #0066b3;
	box-sizing: border-box;
}

#header .contArea .contact a span{
	padding-left: 25px;
	position: relative;
}

#header .contArea .contact a span::before{
		content: "?";
		display: block;
		margin-top: -10px;
		width: 20px;
		height: 20px;
		color: #0066b3;
		line-height: 20px;
		background: #ffffff;
		border-radius: 100%;
		position: absolute;
		top: 50%;
		left: 0;
	}


/* Gnav ------------------------ */
#header #Gnav{
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
}

#header #Gnav ul.list{
	display: flex;
	justify-content: space-between;
	position: relative;
}
	#header #Gnav ul.list::before{
		content: "";
		display: block;
		margin-top: -9px;
		width: 1px;
		height: 18px;
		background: #a0a0a0;
		position: absolute;
		top: 50%;
		right: 0;
	}

#header #Gnav ul.list li{
	width: 175px;
	position: relative;
}
	#header #Gnav ul.list li:first-of-type,
	#header #Gnav ul.list li:last-of-type{ width: 174px; }

	#header #Gnav ul.list li::before{
		content: "";
		display: block;
		margin-top: -9px;
		width: 1px;
		height: 18px;
		background: #a0a0a0;
		position: absolute;
		top: 50%;
		left: 0;
	}

#header #Gnav ul.list li a{
	display: block;
	padding: 20px 0;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	line-height: 1em;
}
	#header #Gnav ul.list li a::after{
		content: "";
		display: block;
		width: 100%;
		height: 0;
		background: #0066b3;
		position: absolute;
		left: 0;
		bottom: -1px;
		transition: all 0.2s ease;
	}

/* hover / on */
#header #Gnav ul.list li a:hover,
#header #Gnav ul.list li a.on{
	color: #0066b3;
}
	#header #Gnav ul.list li a:hover::after,
	#header #Gnav ul.list li a.on::after{
		height: 4px;
	}

/* active */
#header #Gnav ul.list li a.active{
	color: #0066b3;
}
	#header #Gnav ul.list li a.active::before{
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		background: #0066b3;
		position: absolute;
		left: 0;
		bottom: -1px;
	}


/* Gmenu ----------------------- */
#header #Gmenu{
	display: none;
	background: rgba(0, 102, 179, 0.8);
}

#header #Gmenu .inner{
	padding: 20px 0;
	position: relative;
}

/* close --------  */
#header #Gmenu .close{
	position: absolute;
	top: 20px;
	right: 0;
}

#header #Gmenu .close a{
	display: block;
	width: 28px;
	height: 28px;
	background: rgba(0, 0, 0, 0.5);
}


/* menuArea -----  */
#header #Gmenu .menuArea{
	color: #ffffff;
}

/* Gmenu0 */
#header #Gmenu .Gmenu1 .menuAreaInner{
	display: flex;
}

#header #Gmenu .Gmenu1 .list{
	width: 230px;
}

#header #Gmenu .Gmenu1 .list a{
	color: #ffffff;
	font-weight: bold;
}

#header #Gmenu .Gmenu1 .list a i{
	margin-right: 5px;
	font-size: 12px;
}

#header #Gmenu .Gmenu1 .list .tit{
	margin-bottom: 13px;
}

#header #Gmenu .Gmenu1 .list ul{
	padding-left: 20px;
}

#header #Gmenu .Gmenu1 .list ul li{
}
	#header #Gmenu .Gmenu1 .list ul li+li{ margin-top: 3px; }

#header #Gmenu .Gmenu1 .list ul li a{
	display: block;
	padding: 10px;
}

#header #Gmenu .Gmenu1 .list ul li:not(.link) a:hover,
#header #Gmenu .Gmenu1 .list ul li:not(.link) a.on{
	text-decoration: none;
	background: #005aa6;
}

/* menulist */
#header #Gmenu .Gmenu1 .menulist{
	width: 818px;
	background: #005aa6;
	transition: all 0.8s ease;
	transition-delay: 0.2s;
	overflow: hidden;
}

#header #Gmenu .Gmenu1 .menulist a{
	color: #ffffff;
}

#header #Gmenu .Gmenu1 .menulist a i{
	margin-right: 5px;
	font-size: 12px;
}

#header #Gmenu .Gmenu1 .menulistInner{
	padding: 30px;
	width: 818px;
	height: 100%;
	box-sizing: border-box;
	overflow-x: auto;
}

#header #Gmenu .Gmenu1 .menulist .menuBlock{
	display: none;
}
	#header #Gmenu .Gmenu1 .menulist .block0{ display: block; }

#header #Gmenu .Gmenu1 .menulist .tit{}

#header #Gmenu .Gmenu1 .menulist .tit a{
	font-weight: bold;
}

#header #Gmenu .Gmenu1 .menulist .menuBlockInner{
	padding: 0 0 0 25px;
}

#header #Gmenu .Gmenu1 .menulist dl{
	padding-top: 9px;
	margin-top: 9px;
	border-top: 1px solid #6188af;
}

#header #Gmenu .Gmenu1 .menulist dl dt{
}

#header #Gmenu .Gmenu1 .menulist dl dt a{
	font-weight: bold;
}

#header #Gmenu .Gmenu1 .menulist dl dd{
	padding-left: 35px;
	font-size: 12px;
	line-height: 1.4em;
}

#header #Gmenu .Gmenu1 .menulist ul{
	display: flex;
	flex-wrap: wrap;
}

#header #Gmenu .Gmenu1 .menulist ul li{
	margin-top: 7px;
	width: 33.3333%;
}

#header #Gmenu .Gmenu1 .menulist ul li a{
	display: inline-block;
	padding-left: 1em;
	position: relative;
}

#header #Gmenu .Gmenu1 .menulist ul li a i{
	margin: -4px 0 0 0;
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 0;
}

/* GmenuOther */
#header #Gmenu .GmenuOther{}

#header #Gmenu .GmenuOther .list a{
	color: #ffffff;
	font-weight: bold;
}

#header #Gmenu .GmenuOther .list a i{
	margin-right: 5px;
	font-size: 12px;
}

#header #Gmenu .GmenuOther .list .tit{
	margin-bottom: 13px;
}

#header #Gmenu .GmenuOther .list ul{
	display: flex;
	padding-left: 20px;
	margin-top: -13px;
	flex-wrap: wrap;
	box-sizing: border-box;
}
	

#header #Gmenu .GmenuOther .list ul li{
	margin-top: 13px;
	width: 200px;
}
	

#header #Gmenu .Gmenu1 .list ul li a{
	display: block;
}


@media only screen and (max-width: 768px) {
	#header{ min-width: inherit; transition: all 0.4s ease; }
		#header.menu_open{ background: rgba(255,255,255,1); }

	/* contArea -------------------- */
	#header .contArea,
	body.shrinking #header .contArea{ padding: 4vw 0; height: auto; }
		#header .contArea{ transition: all 0s ease; }
	#header .contArea .inner{ display: block; position: relative; }
	#header .contArea .logo{ width: 25.06666667vw; }
	#header .contArea .nav{ display: none; }	

	/* spmenuicon ------------------ */
	#header #spmenuicon{ margin-top: -2.9vw; position: absolute; top: 50%; right: 5.333333333vw; }
	#header #spmenuicon .menu-trigger,
	#header #spmenuicon .menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#header #spmenuicon .menu-trigger {
		width: 7vw;
		height: 5.8vw;
		position: relative;
	}
	#header #spmenuicon .menu-trigger span {
		width: 100%;
		height: 2px;
		background-color: #000;
		position: absolute;
		left: 0;
	}
	#header #spmenuicon .menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	#header #spmenuicon .menu-trigger span:nth-of-type(2) {
		margin-top: -1px;
		top: 50%;
	}
		#header #spmenuicon .menu-trigger span:nth-of-type(2)::after {
			content: '';
			width: 100%;
			height: 2px;
			background-color: #000;
			position: absolute;
			top: 0;
			left: 0;
			transition: all .4s;
		}

	#header #spmenuicon .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	#header #spmenuicon .menu-trigger.active span:nth-of-type(1) { transform: translateY(20px) scale(0); }
	#header #spmenuicon .menu-trigger.active span:nth-of-type(2) { transform: rotate(-45deg); }
	#header #spmenuicon .menu-trigger.active span:nth-of-type(2)::after { transform: rotate(90deg); }
	#header #spmenuicon .menu-trigger.active span:nth-of-type(3) { transform: translateY(-20px) scale(0); }

	/* Gnav ------------------------ */
	#header #Gnav{ display: none; padding-bottom: 4vw; border-bottom: none; }
	#header #Gnav ul.list{ display: block; position: static; }
	#header #Gnav ul.list::before{ display: none; }
	#header #Gnav ul.list li{ width: 100%; border-bottom: 1px solid #dadada; position: static; }
		#header #Gnav ul.list li:first-of-type,
		#header #Gnav ul.list li:last-of-type{ width: 100%; }
		#header #Gnav ul.list li::before{ display: none; }
	#header #Gnav ul.list li a{ padding: 4.4vw 4.8vw; text-align: left; font-size: 4.533333333vw; }
		#header #Gnav ul.list li a::after{ display: none; }

	#header #Gnav ul.list li a:hover,
	#header #Gnav ul.list li a.on{ color: #444444; }

	/* search ---------------------- */
	#Gnav .searchAreaBlock{ margin-right: 0; }
		#header .searchAreaBlock{ padding: 4vw 5.333333333vw; border-bottom: 1px solid #dadada; }
	#Gnav .searchAreaBlock input[type=text]{ padding: 1vw 12vw 1vw 2vw; width: 100%; font-size: 4.266666667vw; line-height: 2em; }
	#Gnav .searchAreaBlock input[type=submit]{ width: 10.66666667vw; }
	#Gnav .searchAreaBlock input[type=submit]:hover{ opacity: 1; }

	/* language -------------------- */
	#Gnav .langAreaBlock{}
		#header #Gnav .langAreaBlock{ padding: 0; margin-right: 0; }
	#Gnav .langAreaBlock a{ display: block; padding: 4.4vw 4.8vw; font-size: 5.333333333vw; }
	#Gnav .langAreaBlock a span{ padding-left: 6.4vw; background-position: left 2vw; background-size: 4.4vw; }

	/* contact --------------------- */
	#Gnav .contact{}
	#Gnav .contact a{ display: block; padding: 4.4vw 4.8vw; color: #ffffff; font-size: 5.333333333vw; background: #0066b3; }
	#Gnav .contact a span{ padding-left: 6.4vw; position: relative; }

	#Gnav .contact a span::before{
		content: "?";
		display: block;
		margin-top: -2vw;
		width: 4.4vw;
		height: 4.4vw;
		color: #0066b3;
		text-align: center;
		font-size: 4vw;
		line-height: 4.4vw;
		background: #ffffff;
		border-radius: 100%;
		position: absolute;
		top: 50%;
		left: 0;
	}

	/* Gmenu ----------------------- */
	#header #Gmenu{ display: none !important; }
}



/* content
---------------------------------------------------------------------- */
#content{}

/* contentHeader --------------- */
#contentHeader{
	padding-top: 132px;
	background: url(../img/commonHeaderBg.jpg) no-repeat center bottom;
	background-size: cover;
}

#contentHeader .inner{
	padding-top: 60px;
	padding-bottom: 60px;
	min-height: 152px;
	position: relative;
	box-sizing: border-box;
}
	#contentHeader.listHeader .inner{ padding-top: 115px; padding-bottom: 115px;}
	#contentHeader.detailHeader .inner{}


/* breadcrumb */
#contentHeader nav.breadcrumb{
	position: absolute;
	top: 5px;
	left: 0;
}

#contentHeader nav.breadcrumb ul{
	display: block;
	font-size: 12px;
	line-height: 1em;
}

#contentHeader nav.breadcrumb ul li{
	float: left;
	margin-top: 10px;
	position: relative;
}
	#contentHeader nav.breadcrumb ul li + li{
		padding-left: 18px;
		margin-left: 10px;
	}

	#contentHeader nav.breadcrumb ul li + li::before{
		content: '';
		display: block;
		margin-top: -3px;
		width: 5px;
		height: 5px;
		border-top: 2px solid #444;
		border-right: 2px solid #444;
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		left: 0;
	}

/* pageTit */
#contentHeader .pageTit{
	color: #0066b3;
	text-align: center;
	font-size: 26px;
	line-height: 1.4em;
}

#contentHeader .pageTit span{
	display: inline-block;
	margin-top: 15px;
	font-size: 10px;
	font-weight: normal;
	line-height: 1em;
	position: relative;
}
	#contentHeader .pageTit span::before,
	#contentHeader .pageTit span::after{
		content: "";
		display: block;
		width: 80px;
		height: 1px;
		background: #0066b3;
		position: absolute;
		top: 50%;
	}
	#contentHeader .pageTit span::before{ left: -110px; }
	#contentHeader .pageTit span::after{ right: -110px; }


/* contentInner ---------------- */
#contentInner{}

#contentInner > .inner{
	padding: 80px 50px 130px;
	position: relative;
}


/* pagination(listPNav) -------- */
#content #listPNav{
	margin-top: 60px;
}

#content #listPNav .itemList{
	display: flex;
	margin: 0 auto;
	width: 220px;
	justify-content: center;
	position: relative;
}

#content #listPNav a{
	width: 30px;
	height: 30px;
	font-size: 16px;
}

#content #listPNav .arw{
	position: absolute;
}
	#content #listPNav .prev{ left: 0; }
	#content #listPNav .next{ right: 0;}

#content #listPNav .arw a{
	display: block;
	position: relative;
}
	#content #listPNav .arw a::before{
		content: '';
		display: block;
		margin-top: -3px;
		width: 5px;
		height: 5px;
		border-top: 2px solid #0066b3;
		border-right: 2px solid #0066b3;
		position: absolute;
		top: 50%;
		left: 50%;
	}
	#content #listPNav .prev a::before{ margin-left: -2px; transform: rotate(-135deg); }
	#content #listPNav .next a::before{ margin-left: -4px; transform: rotate(45deg); }
	
#content #listPNav .arw a:hover{
	opacity: 0.6;
}

#content #listPNav .item{
	margin: 0 1px;
}

#content #listPNav .item a{
	display: flex;
	border: 1px solid #e0e0e0; 
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}

#content #listPNav .item a.on,
#content #listPNav .item a:hover{
	color: #ffffff;
	text-decoration: none;
	border: 1px solid #0066b3;
	background: #0066b3;
}


@media only screen and (max-width: 768px) {
	#contentHeader{ padding-top: 19.33333333vw; }
	#contentHeader .inner{ padding-top: 8.4vw; padding-bottom: 8.4vw; min-height: 0; }

	#contentHeader nav.breadcrumb{ display: none; }

	#contentHeader .pageTit{ font-size: 6.666666667vw; line-height: 1.6em; }

	/* pageTit 
	#contentHeader .pageTit span{
		display: inline-block;
		margin-top: 15px;
		font-size: 10px;
		font-weight: normal;
		line-height: 1em;
		position: relative;
	}
		#contentHeader .pageTit span::before,
		#contentHeader .pageTit span::after{
			content: "";
			display: block;
			width: 80px;
			height: 1px;
			background: #0066b3;
			position: absolute;
			top: 50%;
		}
		#contentHeader .pageTit span::before{ left: -110px; }
		#contentHeader .pageTit span::after{ right: -110px; }*/

	#contentInner > .inner{ padding: 15.2vw 10vw; }

	/* pagination(listPNav) */
	#content #listPNav{ margin-top: 15vw; }
	#content #listPNav .itemList{ width: 100%; }
	#content #listPNav a{ width: 7.6vw; height: 7.6vw; font-size: 3.6vw; }
	#content #listPNav .arw a::before{ margin-top: -0.9vw; width: 1.5vw; height: 1.5vw; }
	#content #listPNav .prev a::before{ margin-left: -0.4vw; }
	#content #listPNav .next a::before{ margin-left: -1.3vw; }

	#content #listPNav .arw a:hover{ opacity: 1; }
	#content #listPNav .item{ margin: 0 3vw; }
	#content #listPNav .item a:hover{ color: #444444; border: 1px solid #e0e0e0; background: #ffffff; }
}



/* pageTop
---------------------------------------------------------------------- */
#pageTop{
	display: none;
	line-height: 1em;
	position: fixed;
	right: 15px;
	bottom: 40px;
	cursor: pointer;
	z-index: 1;
}

#pageTop span{
	display: block;
	position: relative;
}
	#pageTop span::before,
	#pageTop span::after{
		content: "";
		display: block;
		width: 1px;
		position: absolute;
		left: 50%;
	}
		#pageTop span::before{ height: 200px; background: #bcbcbc; top: -225px; }
		#pageTop span::after{ height: 30px; background: #0b6bb3; top: -225px; animation: pageTopLine 1.75s ease 0s infinite normal none; }

@keyframes pageTopLine {
	0% { transform: translateY(200px); opacity: 0; }
	80% { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(0); opacity: 0; }
}


@media only screen and (max-width: 768px) {
	#pageTop{ padding: 0 2vw;  right: 2vw; bottom: 7vw; }
	#pageTop span::before{ height: 14.4vw; top: -18vw; }
	#pageTop span::after{ height: 2.4vw; top: -18vw; animation: pageTopLineSP 1.75s ease 0s infinite normal none;}
	@keyframes pageTopLineSP {
		0% { transform: translateY(18vw); opacity: 0; }
		80% { transform: translateY(0); opacity: 1; }
		100% { transform: translateY(0); opacity: 0; }
	}
}



/* footer
---------------------------------------------------------------------- */
#footer{
	font-size: 12px;
	background: #f2f2f2;
}

/* linkArea -------------------- */
#footer .linkArea{
	padding: 20px 0;
}

#footer .linkArea ul{
	display: flex;
	margin: 0 auto;
	max-width: 300px;
	justify-content: space-between;
}

#footer .linkArea ul li{
	width: 120px;
}

#footer .linkArea ul li a{
	display: block;
	padding: 15px 0;
	text-align: center;
	line-height: 1em;
	background: #ffffff;
}

#footer .linkArea ul li a:hover{
	color: #0066b3;
	text-decoration: none;
}
	#footer .linkArea ul li.link01 a.linkArw::before{ left: 16px; }
	#footer .linkArea ul li.link02 a.linkArw::before{ left: 10px; }

#footer .linkArea ul li a span{
	padding-left: 1em;
}

/* sitemapArea ----------------- */
#footer .sitemapArea{
	padding: 50px 0 60px;
	border-top: 1px solid #ffffff;
}

/* headArea */
#footer .sitemapArea .headArea{
	display: flex;
	margin-bottom: 35px;
}

#footer .sitemapArea .headArea .logo{
	margin-right: 30px;
	width: 100px;
}

/* listArea */
#footer .sitemapArea .listArea{
	display: flex;
	justify-content: space-between;
}

#footer .sitemapArea .block{
}

/* tit */
#footer .sitemapArea .block h3{
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.1em;
}

#footer .sitemapArea .block h3 a:hover{
	text-decoration: none;
}
	#footer .sitemapArea .block h3 a:hover span.tit{ text-decoration: underline; }

#footer .sitemapArea .block h3 span{
}
	#footer .sitemapArea .block h3 span.tit{}
	#footer .sitemapArea .block h3 span.sub{
		color: #aeaeae;
		font-size: 10px;
		line-height: 1em;
	}

/* list */
#footer .sitemapArea .block ul{}

#footer .sitemapArea .block ul li{
	padding-left: 15px;
	line-height: 2em;
	position: relative;
}
	#footer .sitemapArea .block ul li::before{
		content: "";
		display: block;
		width: 4px;
		height: 1px;
		background: #aeaeae;
		position: absolute;
		top: 50%;
		left: 0;
	}

#footer .sitemapArea .block .box{}
	#footer .sitemapArea .block .box + .box{ margin-top: 47px; }

/* crArea ---------------------- */
#footer .crArea{
	padding: 15px 0;
	border-top: 1px solid #ffffff;
}

#footer .crArea .inner{
	display: flex;
	justify-content: space-between;
}

#footer .crArea ul{
	display: flex;
}

#footer .crArea ul li{
	line-height: 1em;
	position: relative;
}
	#footer .crArea ul li + li{
		padding-left: 18px;
		margin-left: 17px;
	}

	#footer .crArea ul li + li::before{
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background: #5b5b5b;
		position: absolute;
		top: 0;
		left: 0;
	}

#footer .copyright{
	line-height: 1em;
}

#footer .copyright small{
	font-size: 12px;
}


@media only screen and (max-width: 768px) {
	#footer{ font-size: 3.466666667vw; }

	/* linkArea -------------------- */
	#footer .linkArea{ padding: 6vw 0; }
	#footer .linkArea ul{ max-width: 80vw; }
	#footer .linkArea ul li{ width: 34.66666667vw; }
	#footer .linkArea ul li a{ padding: 4vw 0; }
	#footer .linkArea ul li a:hover{ color: #444444; }
		#footer .linkArea ul li.link01 a.linkArw::before{ left: 4.8vw; }
		#footer .linkArea ul li.link02 a.linkArw::before{ left: 3.2vw; }

	/* sitemapArea ----------------- */
	#footer .sitemapArea{ padding: 14vw 0 2vw; }
	#footer .sitemapArea .headArea{ margin-bottom: 11.2vw; justify-content: space-between; }

	#footer .sitemapArea .headArea .logo{ margin-right: 6vw; width: 20.53333333vw; }
	#footer .searchAreaBlock{ padding-top: 1vw; margin-right: 4vw; }
	#footer .searchAreaBlock input[type=text]{ padding: 0.5vw 12vw 0.5vw 2vw; width: 41.6vw; line-height: 1.7em; }
	#footer .searchAreaBlock input[type=submit]{ width: 6vw; }
	#footer .langAreaBlock{ padding-top: 2.3vw; line-height: 1em; }
	#footer .langAreaBlock a{ font-size: 2.8vw; }
	#footer .langAreaBlock a span { padding-left: 4.8vw; }


	#footer .sitemapArea .listArea{ display: flex; flex-wrap: wrap; }
	#footer .sitemapArea .block{ margin-bottom: 12vw; width: 48%; }
	#footer .sitemapArea .block h3{ margin-bottom: 4vw; font-size: 4vw; }
	#footer .sitemapArea .block h3 span.sub{ font-size: 2.666666667vw; }
	#footer .sitemapArea .block ul li{ padding-left: 2vw; font-size: 3.466666667vw; line-height: 1.4em; }
	#footer .sitemapArea .block ul li + li{ margin-top: 2vw; }
	#footer .sitemapArea .block ul li::before{ width: 0.8vw; }
	#footer .sitemapArea .block .box + .box{ margin-top: 11.2vw; }

	/* crArea ---------------------- */
	#footer .crArea{ padding: 4vw 0; }
	#footer .crArea .inner{ display: block; text-align: center; }
	#footer .crArea ul{ display: block; margin-bottom: 2.8vw; }
	#footer .crArea ul li{ display: inline-block; }
		#footer .crArea ul li + li{ padding-left: 5.2vw; margin-left: 5.2vw; }

	#footer .copyright{}
	#footer .copyright small{ font-size: 3.2vw; }
}



/* changeLayout
---------------------------------------------------------------------- */
#changeLayout{
	padding: 20px 0;
	background: #0066b2;
}

#changeLayout ul.switch{
	margin: 0 auto;
	width: 300px;
	text-align: center;
}

#changeLayout ul.switch li{}

#changeLayout ul.switch li a{
	display: block;
	padding: 20px 0;
	width: 100%;
	text-decoration: none;
	line-height: 1em;
	background: #ffffff;
}

#changeLayout ul.switch li a span{
	background-repeat: no-repeat;
	background-position: left center;
}
	#changeLayout ul.switch li a#btnPC span{ padding-left: 30px; background-image: url(../img/change_pc.svg); background-size: auto 18px; }
	#changeLayout ul.switch li a#btnSP span{ padding-left: 17px; background-image: url(../img/change_sp.svg); background-size: auto 18px; }


@media only screen and (max-width: 768px) {
	#changeLayout{ display: block; padding: 5.333333333vw 0;  }
	#changeLayout ul.switch{ width: 100%; }
	#changeLayout ul.switch li a{ padding: 4.5vw 0; }
		#changeLayout ul.switch li a#btnPC span{ padding-left: 8vw; background-size: auto 5vw; }
}




/* confirm_modal
---------------------------------------------------------------------- */
#confirm_modal{
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
}

#confirm_modal .modalInner{
	padding: 30px;
	width: 700px;
	border: 5px solid #0066b2;
	background: #ffffff;
	position: fixed;
	top: calc(50% - 175px);
	left: calc(50% - 350px);
	box-sizing: border-box;
}

#confirm_modal p{
	font-size: 16px;
	line-height: 1.6em;
}
	#confirm_modal p + p{ margin-top: 20px; }

#confirm_modal .btnArea{
	margin-top: 40px;
}

#confirm_modal p.tit{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

#confirm_modal .btnAreaInner{
	display: flex;
	margin-top: 20px;
}

@media only screen and (max-width: 768px) {
	#confirm_modal .modalInner{ padding: 4vw; width: 94%; top: 40vw; left: 3%; }
	#confirm_modal p{ font-size: 4vw; line-height: 1.5; }
		#confirm_modal p + p{ margin-top: 4.8vw; }
	#confirm_modal .btnArea{ margin-top: 9.6vw; }
	#confirm_modal p.tit{ font-size: 4.2667vw }
	#confirm_modal .btnAreaInner{ display: block; margin-top: 4.8vw; }
	#confirm_modal .btnStyle + .btnStyle{ margin-top: 4.8vw; }
}




/* Print
---------------------------------------------------------------------- */
@media print {
	#header{
		position: static;
	}

	#contentHeader{
		padding-top: 0;
	}

	#content .btnStyleBLU a::before{
		display: none;
	}

	#pageTop{
		display: none;
	}
}