@charset "utf-8";
	* html .clearfix {
	zoom:1
}
* + html .clearfix {
	zoom:1
}
.clearfix:after {
	height:0;
	visibility:hidden;
	content:".";
	display:block;
	clear:both
}
.flex,.flexA,.flexB,.flexC {
	display:flex;
	flex-wrap:wrap
}
.flexA {
	justify-content:space-around
}
.flexB {
	justify-content:space-between
}
.flexC {
	justify-content:center
}
.comBorTop {
	padding-top: 60px;
	border-top: 2px dashed #CCC;
}
@media all and (max-width:896px) {
	.comBorTop {
	padding-top: 30px;
}
}
.pageTitle {
	padding:50px 0;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#FFF;
	min-height:200px;
	text-shadow:0 0 3px #000;
	text-align:center;
	background:url(../img/common/page_title_bg.jpg) no-repeat center center / cover
}
.pageTitle .en {
	display:block;
	font-size:6rem;
	letter-spacing:3.5px
}
.pageTitle .jp {
	padding:8px 30px;
	position:relative;
	display:inline-block;
	font-size:2.4rem;
	letter-spacing:1px
}
.pageTitle .jp:before,.pageTitle .jp:after {
	margin-top:-3px;
	position:absolute;
	top:50%;
	left:100%;
	width:100px;
	height:6px;
	content:'';
	background:#FFF;
	box-shadow:0 0 3px #000
}
.pageTitle .jp:after {
	left:auto;
	right:100%
}
@media all and (max-width:896px) {
	.pageTitle .en {
	font-size:3rem
}
.pageTitle .jp {
	padding:5px 20px;
	font-size:1.5rem
}
.pageTitle .jp:before,.pageTitle .jp:after {
	width:80px;
	background-size:100% auto
}
}#breadCrumb {
	margin-bottom:60px;
	padding:3px 10px 7px;
	background:#F5F5F5
}
#breadCrumb ul {
	margin:0 auto;
	max-width:1280px
}
#breadCrumb li {
	margin-right:10px;
	display:inline;
	color:#000;
	letter-spacing:1.5px
}
#breadCrumb a {
	margin-right:12px
}
#breadCrumb a:hover {
	opacity:0.7
}
@media all and (max-width:896px) {
	#breadCrumb {
	margin-bottom:30px;
	padding:5px 10px
}
}.content {
	margin:0 auto 60px;
	padding:0 15px;
	max-width:1280px;
	overflow:hidden
}
@media all and (max-width:896px) {
	.content {
	margin-bottom:30px
}
}.comImgBox {
	margin-bottom:60px;
	display:flex;
	justify-content:space-between
}
.comImgBox .photoBox {
	width:400px
}
.comImgBox .photoBox img {
	width:100%
}
.comImgBox .textBox {
	width:calc(100% - 440px)
}
.comImgBox p {
	margin-bottom:2em;
	text-align:justify;
	line-height:2
}
.comImgBox p:last-child {
	margin-bottom:0
}
@media all and (max-width:896px) {
	.comImgBox {
	margin-bottom:40px;
	flex-wrap:wrap
}
.comImgBox .photoBox {
	margin-bottom:30px;
	width:100% !important;
	order:0 !important
}
.comImgBox img {
	width:100%
}
.comImgBox .textBox {
	width:100% !important
}
#main .comImgBoxR01 h2 {
	margin-bottom:0
}
}#main h2 {
	margin-bottom:40px;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	text-align:center;
	overflow:hidden
}
#main h2 span {
	margin-bottom:10px;
	position:relative;
	display:inline-block;
	color:#000;
	line-height:2;
	font-size:3rem
}
#main h2 span:after {
	position:absolute;
	left:-10%;
	bottom:0;
	width:120%;
	height:5px;
	content:'';
	background-color:#000
}
@media all and (max-width:896px) {
	#main h2 {
	margin-bottom:20px;
	font-size:1.4rem
}
#main h2 span:after {
	height:2px
}
#main h2 span {
	margin-bottom:0;
	font-size:2rem;
	line-height:1.8
}
}#main h3 {
	margin-bottom:30px;
	padding-left:18px;
	position:relative;
	font-size:2.5rem;
	font-weight:500;
	line-height:1.2;
	letter-spacing:3px;
	border-left:2px solid rgba(116,214,117,1)
}
#main h3 span {
	margin-right:18px;
	color:#102d61;
	font-size:2.8rem;
	letter-spacing:0;
	font-family:'Oswald',sans-serif
}
@media all and (max-width:896px) {
	#main h3 {
	margin-bottom:15px;
	padding-left:10px;
	font-size:1.6rem;
	letter-spacing:0
}
#main h3:before {
	height:20px
}
#main h3 span {
	margin-right:10px;
	font-size:2rem
}
}#main h4 {
	margin-bottom:15px;
	font-size:2rem
}
.comDotBg {
	padding:40px 0 70px;
	background:url(../img/common/bg_dot.png) repeat
}
.comDotBg .content {
	margin-bottom:0
}
@media all and (max-width:896px) {
	#main h4 {
	margin-bottom:10px;
	font-size:1.6rem
}
	.comDotBg {
	padding:30px 0 50px
}
}.comContact {
	padding:50px 0 50px;
	background:url(../img/common/bg_dot.png) repeat
}
.comContact .content {
	margin-bottom:0
}
.comContact ul {
	display:flex;
	justify-content:center
}
.comContact li {
	margin:0 20px;
	width:350px;
	background-color:#FFF
}
.comContact a {
	display:flex;
	height:110px;
	color:#FFF;
	align-items:center;
	justify-content:center;
	font-size:1.8rem;
	text-align:center;
	letter-spacing:2px;
	border-radius:5px;
	background-color:#102d61
}
.comContact a img {
	margin-right:10px;
	vertical-align:middle
}
.comContact li:first-child a {
	font-size:1.2rem;
	letter-spacing:0
}
.comContact .wei a {
	background-color:#75D675
}
.comContact .txt {
	display:block;
	text-align:left
}
.comContact .txt .telTxt {
	display:block;
	font-size:2.8rem;
	font-weight:600;
	line-height:1
}
@media all and (max-width:896px) {
	.comContact {
	padding:10px 0 30px
}
.comContact ul {
	flex-wrap:wrap
}
.comContact li {
	margin:5px 10px
}
.comContact a {
	letter-spacing:0;
	font-size:1.4rem;
	height:70px
}
.comContact a img {
	max-width:60px
}
}
.comTable {
	width:100%;
	border-collapse:separate;
	background-color:#FFF
}
.comTable th,.comTable td {
	padding:24px 30px 23px;
	font-size:1.6rem;
	border:1px solid #AAA
}
.comTable th {
	width:20%;
	color:#FFF;
	font-weight:500;
	background-color:#AAA;
	border-bottom:1px solid #FFF
}
.comTable tr:last-child th {
	border-bottom:1px solid #AAA
}
.comTable a {
	text-decoration:underline
}
.comTable .mapLink {
	margin-top: 10px;
	padding: 5px 10px;
	color: #FFF;
	font-size: 1.4rem;
	display: inline-block;
	background: #3363B5;
	text-decoration: none;

}
@media all and (min-width:897px) {
	.comTable a:hover {
	text-decoration:none
}
.comTable .mapLink:hover {
	opacity: 0.7;
}
}@media all and (max-width:896px) {
	.comTable th,.comTable td {
	padding:5px 10px !important;
	display:block;
	font-size:1.2rem;
	width:100% !important;
	box-sizing:border-box
}
.comTable th {
	border-bottom:none
}
}.comLink {
	margin-top:38px;
	margin-top:50px;
	text-align:center
}
.wp-pagenavi span,.comLink a {
	width:256px;
	color: #333;
	padding:16px 30px;
	position:relative;
	display:inline-block;
	letter-spacing:1.5px;
	font-weight:500;
	vertical-align:top;
	box-sizing:border-box;
	border:1px solid #333;
	transition:0.3s
}
.comLink .back:after {
	display:none
}
.comLink a:after {
	margin-top:-3px;
	position:absolute;
	top:50%;
	width:7px;
	height:7px;
	width:5px;
	height:5px;
	right:20px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
	transition:0.3s;
	content:''
}
.wp-pagenavi .previouspostslink:after,.comLink .prev:after {
	right:auto !important;
	left:20px;
	-webkit-transform:rotate(225deg);
	-ms-transform:rotate(225deg);
	transform:rotate(225deg)
}
.comLink li {
	margin:0 18px 10px;
	display:inline-block
}
@media all and (min-width:897px) {
	.comLink a:hover {
	color:#fff;
	background-color:#333
}
.comLink a:hover:after {
	border-color:#FFF;
	right:15px
}
.comLink .prev:hover:after {
	left:15px
}
}@media all and (max-width:896px) {
	.comLink {
	margin-top:30px;
	margin-bottom:10px
}
.comLink a {
	width:200px;
	padding:10px 15px
}
}.wp-pagenavi {
	margin-top:38px
}
.wp-pagenavi span,.wp-pagenavi a {
	margin:0 6px 0 5px;
	padding:0 3px;
	width:auto;
	height:36px;
	min-width:36px;
	color:#102d61;
	line-height:32px;
	cursor:pointer
}
.wp-pagenavi a:after {
	display:none
}
.wp-pagenavi span.current {
	color:#fff;
	background-color:#102d61
}
.wp-pagenavi .last,.wp-pagenavi .pages,.wp-pagenavi .first,.wp-pagenavi .extend {
	display:none
}
.wp-pagenavi a:after {
	width:7px;
	height:7px
}
.wp-pagenavi .nextpostslink:after {
	right:15px;
	display:block
}
.wp-pagenavi .previouspostslink:after {
	left:15px;
	display:block
}
@media all and (max-width:896px) {
	.wp-pagenavi {
	margin-top:25px
}
.wp-pagenavi span,.wp-pagenavi a {
	margin:0 3px
}
}
.mainVisual {
	background-color: #000052;
}
.mainVisual .foo li {
	width:100%;
	float:left
}
.mainVisual .inner video {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1440px;
}
.mainVisual .foo img {
	width:100%
}
#main .grayBg {
	padding:60px 10px 10px;
	background-color:#F5F5F5
}
#main .about {
	padding:60px 0
}
#main .about .comLink li:not(last-child) {
	margin-bottom:20px
}
@media all and (max-width:896px) {
	#main .about {
	margin:30px auto 0;
	padding:30px 10px 10px
}
#main .about .comLink {
	margin-top:30px
}
}#main .works {
	padding:60px 0 2px;
}
#main .works .sliderBox {
	padding:0 75px;
	position:relative
}
#main .works .sliderBox a {
	display:block;
	position:relative;
	transition:.3s
}
#main .works .sliderBox a:hover {
	opacity:0.7
}
#main .works .sliderBox span {
	width:100%;
	height:100%;
	display:flex;
	position:absolute;
	left:0;
	bottom:0;
	opacity:0;
	color:#FFF;
	font-size:1.6rem;
	align-items:center;
	justify-content:center;
	text-shadow:2px 2px 5px #000,-2px 2px 5px #000,2px -2px 5px #000,-2px -2px 5px #000;
	background-color:rgba(0,0,0,0.4);
	transition:.3s
}
#main .works .arrow a {
	position:absolute;
	padding:10px;
	width:56px;
	height:56px;
	top:50%;
	color:#FFF;
	transform:translateY(-50%);
	background:-webkit-linear-gradient(-30deg,#333 0%,#333 50%,#000 50.001%,#000 100%);
	background:linear-gradient(-212deg,#333 0%,#333 50%,#000 50.001%,#000 100%);
}
#main .works .arrow a:after {
	margin:-5.5px -2.5px 0;
	right:50% !important;
	width:7px;
	height:7px;
	border-color:#FFF
}
#main .works .arrow .prev {
	left:0
}
#main .works .arrow .prev:after {
	left:50% !important
}
#main .works .arrow .next {
	right:0
}
@media all and (min-width:897px) {
	#main .comLink a:hover:after {
	right:15px
}
#main .works li a:hover span {
	opacity:1
}
#main .works .arrow a:hover {
	background:#FFF
}
#main .works .arrow a:hover:after {
	border-color:#0F2D61
}
}@media all and (max-width:896px) {
	#main .works {
	padding:30px 0 10px
}
#main .works h3 {
	margin:0 15px 15px
}
#main .works .sliderBox {
	padding:0 40px;
	margin:0 0
}
#main .works li {
	padding:0;
	width:100%
}
#main .works .arrow a {
	width:30px;
	height:30px
}
}#main .proList {
	margin:0 auto 50px;
	max-width:1280px;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
}
#main .proList > li {
	min-width:10%;
	padding: 5px;
}
#main .proList a {
	padding:25px 10px;
	display:block;
	position:relative;
	text-align:center;
	font-size:1.6rem;
	border-radius:10px
}
#main .proList a:before {
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background-color: #333;
	content:'';
	z-index:1;
	opacity: 0.5;
	transition:0.3s;
	border-radius:10px
}
#main .proList .on a:before {
	transform:scale(0.94,0.86)
}
@media all and (min-width:897px) {
	#main .proList a:hover:before {
	transform:scale(0.94,0.86)
}
}@media all and (max-width:896px) {
	#main .proList {
	margin:0 10px 30px
}
#main .proList li {
	width:50%
}
#main .proList a {
	padding:5px;
	font-size:1.3rem
}
}#main .news {
	padding:50px 0;
	border-top: 2px dashed #CCC;
}
#main .comTxtArea {
	display:block;
	font-size:1.4rem;
	font-weight:600;
	font-family:'Open Sans',sans-serif;
	letter-spacing:1px
}
#main .comTxtArea span {
	display:inline-block;
	padding:2px 5px;
	min-width:50px;
	color:#FFF;
	font-size:1rem;
	text-align:center;
	vertical-align:middle
}
#main .comTxtArea .tag {
	margin-right:10px;
	background-color:#FF4047
}
#main .comTxtArea .category {
	margin-left:15px;
	background-color:#1C51AD
}
#main .comTxtArea .category.new {
	background-color:#74D574
}
@media all and (max-width:896px) {
	#main .comTxtArea {
	letter-spacing:0
}
}#main .newsList {
	display:flex;
	flex-wrap:wrap;
}
#main .newsList li {
	padding: 5px; 
	width: 33.3%;
	box-sizing: border-box;
}
#main .newsList a {
	height: 100%;
	padding:20px;
	display:block;
	position:relative;
	color:#444;
	font-size:1.6rem;
	border:1px solid #333;
	box-sizing: border-box;
	
}
#main .newsList a:after {
	margin-top:-3px;
	position:absolute;
	right:22px;
	top:50%;
	width:7.5px;
	height:7.5px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
	content:''
}
#main .newsList .comTxtArea {
	margin-bottom:8px;
	color:#333
}
@media all and (min-width:897px) {
	#main .newsList a:hover {
	color:#FFF;
	background-color:#333
}
#main .newsList a:hover .comTxtArea {
	color:#FFF
}
#main .newsList a:hover:after {
	border-color:#FFF
}
}@media all and (max-width:896px) {
	#main .newsList {
	margin:-5px 0 0
}
#main .newsList li {
	margin:5px 0;
	width:100%
}
#main .newsList a {
	padding:10px 15px;
	font-size:1.4rem
}
}#conts .worksList {
	display:flex;
	flex-wrap:wrap
}
#main .worksList li {
	padding:10px;
	float:left;
	width:25%
}
#main .worksList a {
	display:block;
	padding:30px;
	color:#444;
	font-size:1.5rem;
	text-align:center;
	border-radius:10px;
	box-shadow:0 0 5px rgba(0,0,0,0.2);
	background:#FFF;
}
#main .worksList a:hover {
	box-shadow:0 0 10px #D4A74E
}
#main .worksList img {
	width:100%;
	margin-bottom:10px
}
@media all and (max-width:896px) {
	#main .worksList li {
	padding:5px;
	width:33.33%
}
#main .worksList a {
	padding: 5px;
}
}
#main .detailBox {
	font-size:1.6rem;
	line-height:1.929;
	letter-spacing:1px
}
#main .detailBox p  {
	margin-bottom: 20px;
}
#main .detailBox .photo {
	margin-bottom: 20px;
	text-align: center;
}
#main .detailBox .ttlBox {
	margin-bottom: 20px;
	display:flex;
	justify-content:space-between;
	align-items: center;
	border-bottom: 2px solid #333;
}
#main .detailBox .date {
	font-size:1.4rem;
	font-weight:bold;
	color:#333
}
#main .slideBox {
	margin-bottom:40px;
	display:flex;
	justify-content:space-between
}
#main .slideBox li {
	width:100%;
	float:left
}
#main .slideBox .photoUl {
	width:75%;
	margin-bottom:30px
}
#main .slideBox .photoUl img {
	margin:0 auto
}
#main .thumbUl {
	width:20%
}
#main .thumbUl li {
	width:100%;
	padding:10px;
	box-sizing:border-box
}
#main .slideBox .thumbUl img {
	width:100%;
	cursor:pointer
}
#main .slideBox .thumbUl .on img,
#main .slideBox .thumbUl img:hover {
	opacity: 0.7
}
#main .detailBox .comTable {
	margin:50px auto
}
#main .detailBox .comTable:last-child {
	margin-bottom:0
}
}#main .detailBox .comTable th,#main .detailBox .comTable td {
	padding:15px 30px
}
#main .noteUl {
	margin-bottom:20px
}
#main .noteUl li {
	padding:0 0 0.5em 0.8em;
	text-indent:-0.8em
}
@media all and (max-width:896px) {
	#main .detailBox {
	font-size:1.4rem;
	line-height:1.5;
	letter-spacing:0
}
#main .detailBox .ttlBox {
	display:block
}
#main .detailBox .date {
	text-align:right;
	margin-bottom:10px
}
#main .slideBox {
	margin:0 0 20px;
	display:block
}
#main .slideBox .photoUl {
	width:100%;
	margin-bottom:15px
}
#main .thumbUl {
	width:100%;
	overflow:hidden
}
#main .thumbUl li {
	padding:10px;
	float:left;
	width:25%
}
}#main .access {
	padding:60px 0
}
.mainWrap {
	margin:0 auto 60px;
	max-width:1440px;
	display:flex;
	justify-content:space-between
}
#main aside {
	padding:15px;
	width:280px
}
#main aside h3 {
	margin-bottom:15px;
	font-size:2rem
}
#main aside .proList {
	margin-bottom:30px
}
#main aside .proList .sub li {
	width: auto;
	margin-bottom:5px;
}
#main aside .proList > li {
	width: 100%;
}
#main aside .proList a {
	padding:3px 10px
}
#main aside .newsList {
	margin-top:15px
}
#main aside .newsList li {
	margin:0;
	width:100%;
	padding:5px;
	border-bottom:1px dotted #CCC
}
#main aside .newsList .comTxtArea {
	display:none
}
#main aside .newsList a {
	padding:5px 20px 5px 5px;
	font-size:1.3rem;
	border:none
}
#main .newsList a:after {
	right:15px
}
#conts {
	width:calc(100% - 280px)
}
@media all and (max-width:896px) {
	#main .access {
	padding:30px 0
}
.mainWrap {
	flex-wrap:wrap
}
#main aside {
	order:2;
	width:100%
}
#main aside .proList li {
	padding:4px;
	width:auto
}
#main aside .proList > li {
	width: 100%;
}
#main aside .proList .sub {
	display: flex;
	flex-wrap: wrap;
}
#main aside .proList .sub li {
	margin-bottom: 0
}
#main aside .proList a {
	font-size:1.3rem
}
#main aside h3 {
	font-size:1.6rem
}
#conts {
	width:100%
}
}.mapBox .link {
	margin-bottom:20px;
	text-align:center
}
.mapBox .link a {
	margin:0 2px;
	padding:5px 10px;
	color:#FFF;
	cursor:pointer;
	display:inline-block;
	background-color:#3363B5
}
.mapBox .link a:hover {
	background-color:#102D61
}
.map-box1 {
	height:400px
}
.conLink {
	margin-top:30px;
	display:flex;
	justify-content:center
}
.conLink li {
	max-width:48%;
	padding:5px;
	text-align:center
}
.conLink span {
	display:block
}
@media all and (max-width:896px) {
	.map-box1 {
	height:200px
}
#main .news {
	padding:30px 0
}
}.fadeIn {
	opacity:0;
	-webkit-transition:all 1s;
	transition:all 1s
}
.fadeIn.on {
	opacity:1
}
.fadeInLeft {
	opacity:0;
	transform:translate(-50px,0);
	-webkit-transition:all 1s;
	transition:all 1s
}
.fadeInLeft.on {
	opacity:1;
	transform:translate(0,0)
}
.fadeInRight {
	opacity:0;
	transform:translate(50px,0);
	-webkit-transition:all 1s;
	transition:all 1s
}
.fadeInRight.on {
	opacity:1;
	transform:translate(0,0)
}
.fadeInDown {
	opacity:0;
	transform:translate(0,-50px);
	-webkit-transition:all 1s;
	transition:all 1s
}
.fadeInDown.on {
	opacity:1;
	transform:translate(0,0)
}
.fadeInUp {
	opacity:0;
	transform:translate(0,50px);
	-webkit-transition:all 1s;
	transition:all 1s
}
.fadeInUp.on {
	opacity:1;
	transform:translate(0,0)
}
.centerTxt {
	margin:2em 0;
	font-size:1.6rem;
	text-align:center
}
@media all and (max-width:896px) {
	.centerTxt {
	margin:1em 0;
	font-size:1.4rem
}
}
#main .productsBtm .worksList {
	margin: 100px 0;
	display: flex;
}
#main .productsBtm .worksList li {
	padding: 5px;
	width: calc(100%/8);
}
#main .productsBtm .worksList a {
	padding: 10px;
}