@charset "utf-8";
/* CSS Document */


body {
	font-family:'Noto Sans Japanese',Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	height:100%;
}

html{
    height:100%;
}

* html div#wrapper{
    height:100%;
}


* {
	margin:0;
	padding:0;
}


img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
	border:0;　
}
img a {
	border:0;
}

.lf {
	float:left;
}

.ri {
	float:right;
}

.cl {
	clear:both;
}

a {
	outline:hidden;
	outline:none;
}

/* HEADER  BASE------------------------------------------- */



header {
	width:100%;
}

.error_list {
	font-size: 12px;
	margin-bottom: 10px;
}

@media print, screen and (min-width: 771px){

body {
	color:#323333;
}
.wrapper {
	display:block;
	width:100%;
	height:100%;	
	min-height: 100%;
}
.pc-none {
	display:none !important;
}
.fix {
	width:1200px;
	margin:0 auto;
}
img {
	display:block;
}
.spmain {
	display:none;
}
#mobile-bar {
	display:none;
}
	
}
	
/* HEADER------------------------------------------- */
@media print, screen and (min-width: 771px) {
	.header {
		display: block;
		height: 89px;
		width: 100%;
		min-width: 1200px;
		margin: 0 auto;
		background: #FFF;
	}
	.head-top {
		display: block;
		height: 89px;
	}
	.header h1 {
		display: block;
		float: left;
		padding-left: 20px;
		padding-top: 17px;
	}
	.head-top .ref {
		display: block;
		float: right;
		padding-right: 20px;
	}
	.head-top .ref li {
		display: block;
		float: left;
	}
	.head-top .ref li:nth-child(5) {
		float: right;
		margin-left: 13px;
	}	
}
@media print, screen and (min-width: 771px) and (max-width: 1600px){
	.tp-main {
		background: url(../images/mainbg.jpg) top center no-repeat;
	}
}
@media print, screen and (min-width: 1601px) {
	.tp-main {
		background: url(../images/mainbg.jpg) top center no-repeat;
		background-size: 100% auto;
	}
}
@media print, screen and (min-width: 771px){
	.tp-main {
		display: block;
		height: 800px;
	}
	.tp-main h2 {
		display: block;
		text-align: center;
		padding-top: 285px;
	}
	.tp-main h2 img {
		display: inline-block;
	}
  /* slideshow */
  #slideshow {overflow: hidden; -webkit-transform: translateZ(0);-webkit-backface-visibility: hidden;-webkit-perspective: 1000; width: 100%; left: 0;}
  #t-logo { margin: 0 auto; position: relative; top: 50%;  -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); z-index: 100; text-align: center; color: #fff;}
  #top #title {opacity: 0; width: 100%; height: 100%; position: relative; bottom: 3px;background: url('/assets/img/title.svg') no-repeat center; -webkit-background-size: 75% 120%; -o-background-size: 75% 120%; background-size: 75% 120%;}
  #top #read {opacity: 0; font-size:1.4em; letter-spacing: .2em; padding-top: 1em; line-height: 1.6; color:#fff;}
  #top #read.animated {opacity: 1;}
  #wplink {opacity: 0; width: 60px; height: 60px; position: absolute; bottom: 20px; z-index: 200;left: 50%;margin-left: -30px;}
  #wplink .arrow {width: 26px; height: 26px; position:absolute;top:50%; left:50%; margin:-19px 0px 0 -12px; border-left:2px solid #fff; border-bottom:2px solid #fff; -o-transform:rotate(-45deg); -ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);}
  #shadow {background-color: rgba(0,0,0,0.4);position: absolute; bottom: 0;left: 0; width: 100%; height: 100%;}
	/* zoomslider */
	.zs-enabled{position:relative}.zs-enabled .zs-slideshow,.zs-enabled .zs-slides,.zs-enabled .zs-slide{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;overflow:hidden}.zs-enabled .zs-slideshow .zs-slides .zs-slide{background:transparent none no-repeat 50% 50%;background-size:cover;position:absolute;visibility:hidden;opacity:0;-webkit-transform:scale(1.2, 1.2);-moz-transform:scale(1.2, 1.2);-ms-transform:scale(1.2, 1.2);-o-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}.zs-enabled .zs-slideshow .zs-slides .zs-slide.active{visibility:visible;opacity:1}.zs-enabled .zs-slideshow .zs-bullets{position:absolute;z-index:4;bottom:20px;left:0;width:100%;text-align:center}.zs-enabled .zs-slideshow .zs-bullets .zs-bullet{display:inline-block;cursor:pointer;border:2px solid #ccc;width:14px;height:14px;border-radius:8px;margin:10px;background-color:#4a4a4a}.zs-enabled .zs-slideshow .zs-bullets .zs-bullet.active{background-color:#ccc}.zs-enabled .zs-slideshow:after{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;background:transparent none repeat 0 0}
	#t-logo {
		width: 100% !important;
	}
	#t-logo h2 {
		width: 100% !important;
		text-align: center !important;
	}
	#t-logo h2 img {
		display: inline-block !important;
	}
}
	
/* CONTETNS------------------------------------------- */

@media print, screen and (min-width: 771px) {
	.contents {
		display:block;
	}
	#top-bg {
		position: relative;
	}
	.top-box01 {
		display: block;
	}
	.top-box01 h2 {
		display: block;
		text-align: center;
		padding-top: 90px;
	}
	.top-box01 h2 img {
		display: inline-block;
	}
	.top-box01 h3 {
		display: block;
		text-align: center;
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.top-box01 h3 img {
		display: inline-block;
	}
	.top-box01 p {
		display: block;
		text-align: center;
		font-size: 15px;
		line-height: 180%;
		padding-bottom: 50px;
	}
	.img-box01 {
		display: block;
	}
	.img-box01 figure {
		display: block;
		float: left;
	}
	.img-box01 figcaption {
		display: block;
		text-align: center;
		font-size: 14px;
	}
	
	
	.top-box02 {
		display: block;
		padding-bottom: 105px;
	}
	.top-box02 h2 {
		display: block;
		text-align: center;
		padding-bottom: 40px;
	}
	.top-box02 h2 img {
		display: inline-block;
	}
	.top-box02 .list {
		display: block;
	}
	.top-box02 .list li {
		display: block;
		float: left;
		width: 20%;
	}
	.top-box02 .list li img {width: 100%;}
	.more-b {
		display: block;
		text-align: center;
		padding: 25px;
	}
	.more-b img {
		display: inline-block;
	}
}	
	
@media print, screen and (min-width: 771px) and (max-width: 1600px){
	.top-box03 .bg-box {
		background: url(../images/bg02.jpg) top center no-repeat;
	}
}
@media print, screen and (min-width: 1601px) {
	.top-box03 .bg-box {
		background: url(../images/bg02.jpg) top center no-repeat;
		background-size: 100% auto;
	}
}
@media print, screen and (min-width: 771px) {
	.top-box03 {
		display: block;
		padding-bottom: 75px;
	}
	.top-box03 h2 {
		display: block;
		text-align: center;
		padding-bottom: 30px;
	}
	.top-box03 h2 img {
		display: inline-block;
	}
	.top-box03 .bg-box {
		display: block;
		height: 467px;
		margin-bottom: 30px;
	}
	.top-box03 .bg-box h3 {
		display: block;
		text-align: center;
		padding-bottom: 40px;
		padding-top: 75px;
	}
	.top-box03 .bg-box h3 img {
		display: inline-block;
	}
	.top-box03 .bg-box p {
		display: block;
		text-align: center;
		font-size: 14px;
		line-height: 200%;
		padding-bottom: 50px;
	}
	.top-box03 .bg-box .list {
		display: block;
		width: 354px;
		margin: 0 auto;
	}
	.top-box03 .bg-box .list li {
		display: block;
		float: left;
		width: 50%;
	}
	.top-box03 .bg-box .list li a {
		display: block;
		text-align: center;
		background: #FFF;
		text-decoration: none;
		font-size: 14px;
		color: #5b8327;
		padding-top: 13px;
		padding-bottom: 13px;
		position: relative;
	}
	.top-box03 .bg-box .list li:nth-child(1) a::after {
		position: absolute;
		content: "";
		right: 0px;
		top: 15px;
		width: 1px;
		height: 17px;
		background: #c3c3c3;
	}
	
}

/* footer------------------------------------------- */

.footer {
	display:block;
	position: relative;
}


@media print, screen and (min-width: 771px){
	.footer .inn-bg {
		display: block;
		background: #eeeeee;
	}
	.foot-top {
		display: block;
		padding-top: 22px;
	}
	.foot-top .lef {
		display: block;
		float: left;
		width: 24%;
		border-left: #dbdbdb solid 1px;
		height: 160px;
		padding-top: 15px;
	}
	.foot-top p {
		display: block;
		position: relative;
		font-weight: bold;
		font-size: 14px;
		padding-left: 12px;
		margin-left: 22px;
		margin-bottom: 5px;
	}
	.foot-top p::before,
	.foot-top p::after{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.foot-top p::before{
		left: 4px;
		box-sizing: border-box;
		width: 7px;
		height: 7px;
		border: 6px solid transparent;
		border-left: 6px solid #003379;
	}
	.foot-top ul {
		display: block;
		margin-left: 40px;
	}
	.foot-top li {
		display: block;
		position: relative;
		font-size: 12px;
		font-weight: bold;
		padding-top: 5px;
		padding-left: 12px;
		padding-bottom: 1px;
	}
	.foot-top li::before,
	.foot-top li::after{
		position: absolute;
		top: 4px;
		bottom: 0;
		left: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.foot-top li::before{
		left: 4px;
		box-sizing: border-box;
		width: 7px;
		height: 7px;
		border: 4px solid transparent;
		border-left: 4px solid #003379;
	}
	.foot-top a {
		text-decoration: none;
		color: #333333;
	}
	.foot-middle {
		display: block;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.foot-middle figure {
		display: block;
		float: left;
	}
	.foot-middle p {
		display: block;
		float: left;
		font-size: 12px;
		line-height: 200%;
		padding-left: 26px;
		padding-top: 29px;
	}


	.foot-bottom {
		display: block;		
		min-width: 1200px;
		background: #003379;
	}
	.copy {
		display: block;
		text-align: center;
	}
	.copy small {
		font-size: 11px;
		color: #FFF;
		display: block;
		padding-top: 14px;
		padding-bottom: 14px;
		text-align: center;
	}
	#page-top {
		display: block;
		text-align: right;
		padding-right: 10%;
		height: 48px;
		overflow: hidden;
	}
	#page-top img {
		display: inline-block;
	}
}


/* subpage------------------------------------------- */

@media print, screen and (min-width: 771px) and (max-width: 1600px){
	.sub-main {
		background:url(../images/about/sub-bg.jpg) top center no-repeat;
	}
}
@media print, screen and (min-width: 1601px) {
	.sub-main {
		background: url(../images/about/sub-bg.jpg) top center no-repeat;
		background-size: 100% auto;
	}
}
@media print, screen and (min-width: 771px){
	#sub-bg {
		padding-top: 25px;
	}
	.sub-main {
		display: block;
		height: 200px;
	}
	.sub-main .fix {
		position: relative;
		height: 200px;
	}
	.sub-main h2 {
		display: block;
		text-align: center;
		padding-top: 57px;
	}
	.sub-main h2 img {
		display: inline-block;
	}
	.sub-main p {
		display: block;
		text-align: left;
		position: absolute;
		left: 10px;
		bottom: 10px;
		color: #FFF;
		font-size: 14px;
		width: 100%;
	}
	.sub-main p a {
		color: #FFF;
		text-decoration: underline;
	}
	
	
	.sub-nav-base {
		display: block;
		background: url(../images/about/subv-bg.jpg) left top repeat-x;
		height: 73px;
	}
	.sub-nav-base li {
		display: block;
		float: left;
		position: relative;
	}
	.sub-nav-base li::before {
		position: absolute;
		right: 0px;
		top: 13px;
		content: "";
		width: 1px;
		height: 29px;
		background: #e1e1e1;
	}
	.sub-nav-base li:nth-child(1)::after {
		position: absolute;
		left: 0px;
		top: 13px;
		content: "";
		width: 1px;
		height: 29px;
		background: #e1e1e1;
	}
	.sub-nav-base a {
		display: block;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		height: 55px;
		padding-left: 25px;
		padding-right: 25px;
		color: #333333;
		text-decoration: none;
		position: relative;
	}
	.sub-nav-base a span {
		display: block;
		padding-top: 14px;
	}
	.sub-nav-base a.current::after,
	.sub-nav-base a:hover::after {
		position: absolute;
		content: "";
		left: 0px;
		bottom: 0px;
		width: 94%;
		margin-left: 3%;
		margin-right: 3%;
		height: 3px;
		background: #1c4988;
	}
}

@media print, screen and (min-width: 771px){
	.about01 {
		display: block;
	}
	.about01 h2 {
		display: block;
		padding-bottom: 95px;
	}
	.im-ri01 {
		display: block;
		padding-bottom: 70px;
	}
	.im-ri01 figure {
		display: block;
		float: right;
	}
	.im-ri01 .txt {
		display: block;
		float: left;
		width: 665px;
	}
	.im-ri01 h3 {
		display: block;
		font-size: 24px;
		color: #1c4988;
		padding-bottom: 30px;
	}
	.im-ri01 p {
		display: block;
		font-size: 15px;
		line-height: 190%;
	}
	.im-lf01 {
		display: block;
		padding-bottom: 70px;
	}
	.im-lf01 figure {
		display: block;
		float: left;
	}
	.im-lf01 .txt {
		display: block;
		float: right;
		width: 665px;
	}
	.im-lf01 h3 {
		display: block;
		font-size: 24px;
		color: #1c4988;
		padding-bottom: 30px;
	}
	.im-lf01 p {
		display: block;
		font-size: 15px;
		line-height: 190%;
	}
	
	
	.collm-box {
		display: block;
		padding-bottom: 70px;
	}
	.collm-box h3 {
		display: inline-block;
		color: #FFF;
		font-size: 17px;
		padding-top: 8px;
		padding-bottom: 8px;
		padding-left: 35px;
		padding-right: 35px;
		background: #1d4988;
	}
	.collm-box .box {
		display: block;
		background: #eeeeee;
		padding: 50px;
	}
	.collm-box .box figure {
		display: block;
		float: right;
		width: 253px;
	}
	.collm-box .box figure img {
		width: 100%;
	}
	.collm-box .box .txt {
		display: block;
		float: left;
		/* width: 755px; */
	}
	.collm-box .box .txt h4 {
		display: block;
		font-size: 21px;
		color: #1c4988;
		padding-bottom: 20px;
	}
	.collm-box .box .txt p {
		display: block;
		font-size: 15px;
		line-height: 190%;
		columns: 2;
		column-rule: 1px solid #cdcdcd;
		column-gap: 4em;
	}
	
	.item-listwrap {
		display: block;
		padding-bottom: 80px;
	}
	.item-listwrap ul {
		display:block;
		margin-left: 50px;
		padding-top: 50px;
	}
	.item-listwrap li {
		display:block;
		float:left;
		padding-right:60px;
		padding-bottom:50px;
	}
	.item-listwrap li:nth-child(4n) {
		padding-right: 0px;
	}
	.item-listwrap a {
		color:#FFF;
		text-decoration:none;
	}
	.item-listwrap figure {
		position: relative;
		overflow: hidden;
		width: 235px;
		height:200px;
	}
	.item-listwrap figcaption {
		position: absolute;
		top: -100%;
		left: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.5);
		-webkit-transition: .3s;
		transition: .3s;
		opacity: 1;
	}
	.item-listwrap figure:hover figcaption {
		top: 0;
		left: 0;
	}
	.item-listwrap figcaption div {
		padding-top:110px;
	}
	.item-listwrap figcaption h3 {
		display:block;
		text-align:center;
		font-size:16px;
	}
	.item-listwrap figcaption p {
		display:block;
		text-align:center;
		font-size:14px;
	}
	.item-listwrap .one img {
		width:100%;
		height:auto;
	}
	
	.stitle {
		display: block;
		color: #FFF;
		font-size: 30px;
		background: #1d4988;
		padding-top: 14px;
		padding-bottom: 14px;
		padding-left: 35px;
		padding-right: 35px;
		margin-bottom: 35px;
	}
	.cont-t {
		display: block;
		font-size: 15px;
		line-height: 190%;
		padding-bottom: 35px;
	}
	.red {
		color: #9C0608;
	}
	.cont-tab {
		width: 100%;
		font-size: 15px;
		line-height: 190%;
		border-left: #ccc solid 1px;
		border-top: #ccc solid 1px;
		border-collapse:collapse;
	}
	.cont-tab th {
		text-align: left;
		padding: 20px;
		border-right: #ccc solid 1px;
		border-bottom: #FFF solid 1px;
		background: #B1CAEF;
		width: 20%;
	}
	.cont-tab td {
		text-align: left;
		padding: 20px;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}
	.co-one {
		padding-top: 4px;
		padding-bottom: 4px;
	}
	.n001 {
		width: 60%;
		height: 30px;
		border: #ccc solid 1px;
	}
	.n002 {
		width: 20%;
		height: 30px;
		border: #ccc solid 1px;
	}
	.n003 {
		width: 10%;
		height: 30px;
		border: #ccc solid 1px;
	}
	.cont-tab select {
		width: 22%;
		height: 30px;
		border: #ccc solid 1px;
	}
	.cont-tab textarea {
		width: 90%;
		height: 160px;
		border: #ccc solid 1px;
	}
	.cbtn {
		display: block;
		padding: 35px;
		text-align: center;
	}
	.sbt {
		width: 400px;
		height: 65px;
		font-size: 16px;
		background: #111;
		text-align: center;
		color: #FFF;
		border: none;
	}
	
	.priv-ti {
		display: block;
		font-size: 17px;
		border-bottom: #ccc dotted 4px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	
	.pb80 {
		padding-bottom: 80px;
	}
	.maps-lf01 {
		display: block;
	}
	.maps-lf01 .map {
		display: block;
		float: left;
		width: 67%;
	}
	.maps-lf01 .map iframe {
		width: 100%;
		height: 350px;
	}
	.maps-lf01 .txt {
		display: block;
		float: right;
		width: 30%
	}
	.maps-lf01 .txt p {
		display: block;
		margin: 0 0 1em;
		font-size: 16px;
		line-height: 190%;
	}
	
	
	.cent-ti {
		display: block;
		text-align: center;
		font-size: 17px;
		line-height: 210%;
		padding-bottom: 40px;
	}
	.serv-link {
		display: block;
	}
	.serv-link li {
		display: block;
		float: left;
		width: 18%;
		margin-left: 1%;
		margin-right: 1%;
	}
	.serv-link a {
		display: block;
		text-align: center;
		position: relative;
		color: #FFF;
		font-size: 14px;
		text-decoration: none;
		background: #111;
		padding-top: 14px;
		padding-bottom: 14px;
	}
	.serv-link a::before,
	.serv-link a::after{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.serv-link a::before{
		left: 4px;
		box-sizing: border-box;
		width: 4px;
		height: 4px;
		border: 4px solid transparent;
		border-left: 4px solid #FFF;
	}
	
	
	.sitemap-base {
		display: block;
		padding-top: 35px;
		padding-bottom: 60px;
	}
	.sitemap-base .lef {
		display: block;
		float: left;
		width: 23%;
		margin-right: 2%;
	}
	.sitemap-base p {
		display: block;
		font-size: 16px;
		padding: 10px;
		border: #ccc solid 2px;
	}
	.sitemap-base p a {
		color: #111;
		text-decoration: none;
	}
	.sitemap-base li {
		display: block;
		font-size: 14px;
		margin-left: 15px;
		padding-bottom: 7px;
		padding-top: 7px;
	}
	.sitemap-base li a {
		display: block;
		color: #111;
		text-decoration: none;
		border: #EFEFEF solid 1px;
		padding: 6px;
	}
	
	.faqs {
		display: block;
	}
	.faqs dl {
		display: block;
		padding: 20px;
	}
	.faqs dl:nth-child(2n){
		background: #EFEFEF;
	}
	.faqs dl dt {
		display: block;
		font-size: 18px;
		font-weight: bold;
		position: relative;
		color: #1D4988;
		padding-left: 32px;
		padding-top: 8px;
		padding-bottom: 20px;
	}
	.faqs dl dt::before {
		position: absolute;
		left: 0px;
		top: 0px;
		content: "Q.";
		font-size: 27px;
		color: #1D4988;
		font-weight: bold;
	}
	.faqs dl dd {
		display: block;
		margin-left: 35px;
		position: relative;
		padding-top: 10px;
		font-size: 14px;
		padding-left: 30px;
	}
	.faqs dl dd::before {
		position: absolute;
		left: 0px;
		top: 0px;
		content: "A.";
		font-size: 27px;
		color: #FFAA01;
		font-weight: bold;
	}
	.entcc {
		display: block;
		text-align: center;
		padding: 30px;
	}
	.entcc p {
		display: block;
		padding: 10px;
		font-size: 15px;
		text-align: center;
	}
	.entcc img {
		display: inline-block;
	}
	
	.works-base {
		display: block;
	}
	.works-base li {
		display: block;
		float: left;
		width: 48%;
		margin-bottom: 45px;
	}
	.works-base li p {
		display: block;
		width: 100%;
		height: 400px;
		overflow: hidden;
	}
	.works-base li span {
		display: block;
		background: #111;
		text-align: center;
		color: #FFF;
		font-size: 13px;
		padding-top: 6px;
		padding-bottom: 6px;
	}
	.works-base li:nth-child(2n) {
		float: right;
	} 
	.works-base li img {
		width: 100%;
	}
	
	.btn005 {
		display: block;
		width: 420px;
		margin: 0 auto;
		padding-bottom: 45px;
	}
	.btn005 a {
		display: block;
		background: #111;
		text-align: center;
		font-size: 22px;
		text-decoration: none;
		color: #FFF;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
}







