@charset "utf-8";


/* ---------------------------------------------
 base modules
------------------------------------------------ */

.body {
  min-width: 1300px; /* コンテンツ幅に書き直す */
  clear:both;
}
.wrap{ clear:both; }

.inner {
  width: 1200px; /* コンテンツ幅に書き直す */
  margin: 0 auto;
}

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

.fitimg img { max-width: 100%; }

#adminBox{
	position:fixed;
	top:100px;
	left:0;
	right:0;
	z-index:99999;
}

/* ---------------------------------------------
 header
------------------------------------------------ */

.header{
	background:#fff;
	width:100%;
  height:100px;
  margin:0 auto;
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:9999;
  transition: all 0.2s ease;
}

.header .logo{
  position:absolute;
  left:50px;
  top:28px;
  transition: all 0.2s ease;
}

.header .logo img{
  transition: all 0.2s ease;
}

.header .global-navigation{
	font-size:87.5%;
	position:absolute;
	right:116px;
	top:0;
}

.header .global-navigation ul{
	display:flex;
	line-height:100px;
  transition: all 0.2s ease;
}

.header .global-navigation ul li{
	margin:0 0 0 30px;
}

.header .global-navigation ul li a{
	display:flex;
	position:relative;
}

.header .global-navigation ul li a:link,
.header .global-navigation ul li a:visited{
	color:#111;
	text-decoration:none;
}

.header .global-navigation ul li.stay a,
.header .global-navigation ul li a:hover,
.header .global-navigation ul li a:active{
	color:#001781;
	font-weight:bold;
	text-decoration:none;
}

.header .global-navigation ul li.stay a::before,
.header .global-navigation ul li a:hover::before,
.header .global-navigation ul li a:active::before{
	background:#001781;
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:5px;
}

.sdgs-body .header .global-navigation ul li.stay:nth-child(6) a{
	color:#111;
	font-weight: normal;
}
.sdgs-body .header .global-navigation ul li.stay:nth-child(6) a:hover,
.sdgs-body .header .global-navigation ul li.stay:nth-child(6) a:active{
	color:#001781;
	font-weight:bold;
}

.sdgs-body .header .global-navigation ul li.stay:nth-child(6) a::before{
	display: none;
}

.sdgs-body .header .global-navigation ul li:nth-child(6) a:hover::before,
.sdgs-body .header .global-navigation ul li:nth-child(6) a:active::before{
	display: block;
}

.header .utility-navigation{
  position:absolute;
  right:0;
  top:0;
}

.header .utility-navigation li{
	width:76px;
}

.header .utility-navigation ul li a{
	background:#e00209;
	box-sizing:border-box;
	display:block;
	text-align:center;
	height:76px;
	padding:27px 0 0;
  transition:opacity 0.2s ease;
}

.header .utility-navigation ul li a:link,
.header .utility-navigation ul li a:visited,
.header .utility-navigation ul li a:hover,
.header .utility-navigation ul li a:active{
	text-decoration:none;
}

.header .utility-navigation ul li a:hover,
.header .utility-navigation ul li a:active{
	opacity:0.5;
}

.header .utility-navigation ul li a img:hover{
	opacity:1;
}

/* scroll */

.header.scroll{
  height:76px;
}

.header.scroll .logo{
  top:18px;
}

.header.scroll .logo img{
	image-rendering: -webkit-optimize-contrast;
	width:150px;
}

.header.scroll .global-navigation ul{
	line-height:76px;
}


/* ---------------------------------------------
 container
------------------------------------------------ */

.container{
  width:1200px;
  margin:0 auto;
}

.container.two-column{
	display:flex;
	justify-content:space-between;
}

/* ------ title -------------------------------- */

.page-title{
	background:url(../images/bg_h1_001.jpg) 50% 50% / cover no-repeat;
	text-align:left;
	height:400px;
	position:relative;
	overflow:hidden;
	margin:100px 0 0;
}

.page-title::before{
	background:rgba(0,23,129,0.9);
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:50%;
	margin-right:70px;
	transform:skewX(32.2deg);
	transform-origin:right bottom;
	z-index:1;
}

.page-title::after{
	background:-moz-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 30%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.9) 100%);
	background:-webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 30%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.9) 100%);
	background:linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 30%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.9) 100%);
	height:70px;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	visibility:visible;
}

.page-title .inner{
	height:400px;
	position:relative;
	z-index:3;
}

.page-title h1{
	color:#fff;
	font-size:188%;
	font-weight:bold;
	text-shadow:0 0 8px #001781,0 0 10px #001781;
	position:absolute;
	top:50%;
	left:0;
	transform:translate(0,-50%);
}

/* ------ topic-path --------------------------- */

.page-title .topic-path{
	display:flex;
	flex-wrap:wrap;
  text-align:left;
  color:#98a5e0;
	line-height:1;
  list-style:none;
	position:absolute;
	left:0;
	bottom:19px;
	margin:0 2px;
}

.topic-path li{
	text-indent:0;
	position:relative;
	margin:0 11px 0 0;
	padding:0 13px 0 0;
}

.topic-path li:last-child{
	margin:0;
	padding:0;
}

.topic-path li::before{
	display:none;
}

.topic-path li::after{
	background:#98a5e0;
	content:"";
	width:1px;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
}

.topic-path li:last-child::after{
	display:none;
}

.topic-path a,
.topic-path a:link,
.topic-path a:visited {
  color:#98a5e0;
  text-decoration:none;
}

.topic-path a:hover,
.topic-path a:active {
  text-decoration:underline;
}

/* ------ pagetop ------------------------------ */

.pagetop{
  width: 980px;
  margin: 10px auto;
  text-align:right;
  font-size:78%;
}

.pagetop a,
.pagetop a:link,
.pagetop a:hover,
.pagetop a:visited,
.pagetop a:active {
  text-decoration:none;
  color:#666;
  padding:5px 10px 5px 15px;
}

/* content
------------------------------------------------ */

.content {
/*
  width:840px;
  float:left;
*/
  text-align:left;
}

.two-column .content{
  width:840px;
}

/* sidebar
------------------------------------------------ */

.sidebar{
	background:#f2f3f9;
  width:300px;
/*  float:right;*/
  text-align:left;
	margin:30px 0 0;/*50px 0 0*/
	padding:26px 0 36px;
}


/* ------ local-navigation --------------------- */

.sidebar .local-navigation{
  border-top:1px solid #001781;
  margin:31px 30px 0;
	padding:25px 0 0;
}

.sidebar .local-navigation:first-child{
	border-top:none;
	margin-top:0;
	padding-top:0;
}

.sidebar .local-navigation h2{
	color:#001781;
	font-family:'Montserrat', sans-serif;
	font-size:156%;
  font-weight:normal;
  margin:0;
}

.sidebar .local-navigation ul{
  margin:10px 0 0;
}

.sidebar .local-navigation ul span{
  font-size:78%;
}

.sidebar .local-navigation ul li{
	margin:10px 0 0;
}

.sidebar .local-navigation li a{
	display:block;
  padding-left:17px;
	position:relative;
}

.sidebar .local-navigation li a::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 1px #da1919;
  border-right: solid 1px #da1919;
  position: absolute;
  top: 0.75em;
  left: 0;
  transform: rotate(45deg);
}

.sidebar .local-navigation li a:link,
.sidebar .local-navigation li a:visited,
.sidebar .local-navigation li a:hover,
.sidebar .local-navigation li a:active{
	color:#666;
  text-decoration:none;
}

/* ------ banner ------------------------------- */

.sidebar .banner{
  margin-top:0;
}

.sidebar .banner li{
  margin-bottom:10px;
}



/* ---------------------------------------------
 footer
------------------------------------------------ */

.footer{
  clear:both;
	margin:78px 0 0;
}

.footer .inquiry{
	color:#fff;
	display:flex;
}

.footer .inquiry::after{
	display:none;
}

.footer .inquiry dl{
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	width:50%;
}

.footer .inquiry dl dt{
	font-size:87.5%;
	font-weight:bold;
	text-align:left;
	line-height:1.43;
}

.footer .inquiry .inq-tel{
	background:#0c269f;
	padding:39px 0 43px 45px;
}

.footer .inquiry .inq-tel dt{
	margin:2px 25px 0 0;
}

.footer .inquiry .inq-tel dd{
	font-size:75%;
	text-align:center;
	line-height:1;
}

.footer .inquiry .inq-tel dd span{
	display:inline-block;
	font-family:'Montserrat', sans-serif;
	font-size:250%;
	font-weight:600;
	letter-spacing:0.1em;
	margin:0 0 6px;
}

.footer .inquiry .inq-web{
	background:#001781;
	padding:40px 50px 40px 0;
}

.footer .inquiry .inq-web dt{
	margin:1px 25px 0 0;
}

.footer .inquiry .inq-web dd{
	line-height:50px;
	width:241px;
}

.footer .inquiry .inq-web dd a{
	background:#fff;
	border-radius:25px;
	display:block;
	font-weight:bold;
	text-align:center;
  transition:opacity 0.2s ease;
}

.footer .inquiry .inq-web dd a:link,
.footer .inquiry .inq-web dd a:visited,
.footer .inquiry .inq-web dd a:hover,
.footer .inquiry .inq-web dd a:active{
	color:#001781;
	text-decoration:none;
}

.footer .inquiry .inq-web dd a:hover,
.footer .inquiry .inq-web dd a:active{
	opacity:0.5;
}

.footer .banner{
	background:#fff;
	padding:31px 0 32px;
}

.footer .banner ul{
	display:flex;
	justify-content:center;
	/* justify-content: flex-start; */
	flex-wrap: wrap;
}
.footer .banner ul.banner02{
	display:flex;
	/* justify-content:center; */
	justify-content: flex-start;
	flex-wrap: wrap;
}
.footer .banner ul.banner02.fl-center{
	justify-content:center;
}
.footer .banner .banner01 li{
	background:#e5e5e5;
	box-sizing:border-box;
	width:470px;
	margin:0 10px;
	padding:21px 20px 20px 20px;
}

.footer .banner .banner01 li a{
	float:left;
}

.footer .banner .banner01 li dl{
	color:#444;
	float:left;
	text-align:left;
	line-height:1.3;
	width:362px;
	margin:20px 0 0 0;
}

.footer .banner .banner01 li dl dt{
	font-size:88%;
	font-weight:bold;
}

.footer .banner .banner01 li dl dd{
	font-size:75%;
	margin:5px 0 0;
}

.footer .banner .banner01 li dl dd a{
	float:none;
}

.footer .banner .banner02{
	margin:0px auto 0;
	width: 900px;
}

.footer .banner .banner02 li{
	margin:0 9px 10px;
}
/* .footer .banner .banner02_01 li{
	width: 100px;
} */
.footer .banner .banner02_01 li img{
	height: 40px;
	width:auto;
}
/* .footer .banner .banner02 li:first-child,
.footer .banner .banner02 li:nth-child(2),
.footer .banner .banner02 li:nth-child(3){
	margin-top:26px;
} */


.footer .banner .banner02 li a:link,
.footer .banner .banner02 li a:visited,
.footer .banner .banner02 li a:hover,
.footer .banner .banner02 li a:active{
	color:#000;
	text-decoration:none;
}

.footer .banner .banner02 li span{
	display:block;
	font-size:81%;
	text-align:center;
	line-height:26px;
}

.footer #pagetop{
	position:fixed;
	right:40px;
	bottom:40px;
	z-index:9999;
}

.footer #pagetop a{
	background:#001781;
	border-radius:50%;
	display:block;
	text-indent:100%;
	width:50px;
	height:50px;
	position:relative;
	overflow:hidden;
	white-space:nowrap;
	transition:opacity 0.2s ease; 
}

.footer #pagetop a:hover,
.footer #pagetop a:active{
	opacity:0.8;
}

.footer #pagetop a::before{
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	content:"";
	width:10px;
	height:10px;
	position:absolute;
	top:20px;
	left:19px;
	transform:rotate(-45deg);
}

.address{
  float:left;
  text-align:left;
	margin:41px 0 0 51px;
}

.address dl{
	display:flex;
}

.address dl dt{
	margin:8px 30px 0 0;
}

.address dl dd dl dt{
	margin:0 1em 0 0;
}

.footer .utility-navigation{
  font-size:87.5%;
	float:right;
	text-align:right;
	margin:44px 50px 0 0;
}

.footer .utility-navigation ul{
	display:flex;
}

.footer .utility-navigation ul li{
	margin:0 0 0 27px;
}

.footer .utility-navigation ul li a{
	display:block;
}

.footer .utility-navigation ul li a:link{ color:#001781; }
.footer .utility-navigation ul li a:visited{ color:#17467b; }
.footer .utility-navigation ul li a:hover,
.footer .utility-navigation ul li a:active{ color:#001781; }

.copyright{
	font-family:'Montserrat', sans-serif;
  font-size:68%;
  text-align:center;
	letter-spacing:0.1em;
  margin:47px 0 0;
	padding:0 0 50px;
}



.foot_bnr h2{
	color: #001781;
	clear: both;
	font-size: 125%;
	font-weight: bold;
	margin: 50px 0 0;
	padding: 0;
  }