@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,main,article,section,aside,figure,figcaption {display:block;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption,img,span,a {box-sizing:border-box;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}
table {border-collapse:collapse;}
h1,h2,h3,h4,h5,h6 {font-weight:bold;}

/* ユーティリティー */
a {zoom:1; text-decoration:none; color:#000; transition:opacity 0.7s; display:block;}
a:hover {opacity:0.8;}
.fgo {font-family:'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;}
.fmin {font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}
.fshu {font-family:dnp-shuei-mincho-pr6, sans-serif;}
.fcor {font-family:copperplate, serif; font-weight:700;}

.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
.page {
	width:calc(100% - 40px);
		max-width: 1280px;
	margin:0 auto;
}

* {
	box-sizing: border-box;
}

body {
	word-wrap: break-word;
	overflow-wrap: break-word;
	color:#666666;
	font-family:'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
	font-size:14px;
	line-height:1.4;
	-webkit-text-size-adjust:100%;
}

body p {
	line-height:1.8;
}


/* -------------------------------------
header
------------------------------------- */
/* header {
background-color: #fff;
}
#mainimg {
	position:relative;
}
#mainimg #title {
	width:33.5%;
	margin:0 auto;
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:1;
}
.mainslide {
	line-height:0;
}
.mainslide li {
	outline:none;
}
.mainslide li .sp {
	display:none;
}

.mainslide .slick-dots {
	font-size:0;
	text-align:center;
	position:absolute;
	bottom:25px;
	left:0;
	right:0;
}
.mainslide .slick-dots li {
	width:10px;
	height:10px;
	display:inline-block;
	margin:0 5px;
	border-radius:50%;
	background-color:#FFF;
	transition:background-color 0.3s;
}
.mainslide .slick-dots li:hover,
.mainslide .slick-dots li.slick-active {
	background-color:#B98B00;
}
.mainslide .slick-dots li:hover {
	cursor:pointer;
}
.mainslide .slick-dots button {
	display:none;
}
.mainslide .slide-arrow {
	position:absolute;
	top:50%;
	z-index:1;
	transform:translateY(-50%);
	transition:opacity 0.3s;
}
.mainslide .slide-arrow:hover {
	cursor:pointer;
	opacity:0.8;
}
.mainslide .slide-arrow.prev {
	left:30px;
}
.mainslide .slide-arrow.next {
	right:30px;
}


#gnavi {
	max-width:960px;
	margin:0 auto;
	padding:10px 0;
}
#gnavi #logo {
	width:23.9%;
}
#gnavi #logo .sp {
	display:none;
}
#gnavi nav {
	width:76.1%;
}
#gnavi nav li {
	width:calc(99.9% / 8);
	border-right:1px solid #B98B00;
}
#gnavi nav li:nth-last-child(2) {
	border-right:none;
}
#gnavi nav li.sp {
	display:none;
}
#gnavi nav li a {
	text-align:center;
	padding:3px 5px;
}
#gnavi nav li a .ja {
	font-size:17px;
	font-weight:500;
	line-height:1.2;
	margin-bottom:3px;
}
#gnavi nav li a .ja.fnt_s {
	font-size:14px;
}
#gnavi nav li a .eng {
	font-size:12px;
	font-weight:600;
	color:#B98B00;
	display:block;
	margin-bottom:2px;
}
#gnavi nav li a img {
	width:30px;
	height:auto;
}


#gnavi a#menu_btn,
#gnavi a#menu_btn span {
	display:inline-block;
	transition:all .4s;
}
#gnavi a#menu_btn {
	width:30px;
	height:30px;
	display:none;
	position:absolute;
	top:13px;
	right:15px;
	z-index:10;
}
#gnavi a#menu_btn span {
	width:22px;
	height:3px;
	margin:0 auto;
	border-radius:10px;
	background-color:#B98B00;
	position:absolute;
	left:0;
	right:0;
}
#gnavi a#menu_btn span:nth-of-type(1) {
	top:6px;
}
#gnavi a#menu_btn span:nth-of-type(2) {
	top:14px;
}
#gnavi a#menu_btn span:nth-of-type(3) {
	top:22px;
}
#gnavi a#menu_btn.active {
	opacity:1.0;
}
#gnavi a#menu_btn.active span:nth-of-type(1) {
	transform:translateY(8px) rotate(-315deg);
}
#gnavi a#menu_btn.active span:nth-of-type(2) {
	opacity:0;
}
#gnavi a#menu_btn.active span:nth-of-type(3) {
	transform:translateY(-8px) rotate(315deg);
}
*/

header {
	height: 150px;
	width: 100%;
	overflow: visible;
	position: fixed;
	z-index: 10;
	top: 0;
	background-color: rgba(255,255,255,0.8);
}
header.active {
	background-color: rgba(255,255,255,1);
}
header div.page {
	font-size: 0;     
}

/*============================
#logo
============================*/
header div.page *,footer div.page * {

	display: inline-block;
	vertical-align:middle;
}
header div.page p#logo,footer div.page p#logo {
	width: 325px;
}
header div.page p#logo a,footer div.page p#logo a {
}
header div.page p#logo a img.img,footer div.page p#logo a img.img {
	width: 117px;
	margin-right: 25px;
	position: relative;
	z-index: 1;
}
header div.page p#logo a span,footer div.page p#logo a span {
	font-size: 20px;
	line-height:1.4em;
}

/*============================
#gnavi
============================*/
header div.page div#gnavi,footer div.page div#gnavi {
	text-align: right;
	width:calc(100% - 325px);
}

/*============================
#gnavi_wrap
============================*/
header div.page div#gnavi div#gnavi_wrap,footer div.page div#gnavi div#gnavi_wrap {
	width: 100%;
}

/*============================
#menu_btn
============================*/
header a#menu_btn {
	display: none;
	/* display: block; */
	position: absolute;
top: 50%;
width: 50px;
height: 30px;
right: 20px;
transform : translateY(-50%);
-webkit-transform : translateY(-50%);
-moz-transform : translateY(-50%);
-ms-transform : translateY(-50%);
-o-transform : translateY(-50%);
z-index: 3;
}
header a#menu_btn span {
	display: block;
	position: absolute;
	width: 50px;
height: 5px;
background-color: #1C4B8E;
}
header a#menu_btn span:first-child {
	top: 0px;
}
header a#menu_btn span:nth-child(2) {
	top: 13px;
}
header a#menu_btn span:last-child {
	top:25px;
}

header a#menu_btn.active {

}
header a#menu_btn.active span:first-child {
	top: 13px;
	transform: rotate(45deg);
}
header a#menu_btn.active span:nth-child(2) {
	display: none;
}
header a#menu_btn.active span:last-child {
	top: 13px;
	transform: rotate(-45deg);
}




header div.page div#gnavi div#gnavi_wrap nav,footer div.page div#gnavi div#gnavi_wrap nav {
	width: 100%;
}
header div.page div#gnavi div#gnavi_wrap nav ul,footer div.page div#gnavi div#gnavi_wrap nav ul {
	width: 100%;
	max-width: 820px;
	font-size: 0;
}
header div.page div#gnavi div#gnavi_wrap nav ul li,footer div.page div#gnavi div#gnavi_wrap nav ul li {
	text-align: center;
			display: inline-block;
vertical-align:middle;
margin: 0 20px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth,footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
	font-size: 18px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth span,footer div.page div#gnavi div#gnavi_wrap nav ul li a span {
	position: relative;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a:hover span:after {
	content:"";
	width: 100%;
	height: 2px;
	display: block;
		background-color: #006699;
	position: absolute;
	bottom: -5px;
left: 50%;
transform : translateX(-50%);
-webkit-transform : translateX(-50%);
-moz-transform : translateX(-50%);
-ms-transform : translateX(-50%);
-o-transform : translateX(-50%);
}
main {
}

/*============================
#mainimg
============================*/
main div#mainimg {
	width: 100%;
	height: 1080px;
	position: relative;
	/* background:url(../imgs/mainimg1_pc.jpg) center center /cover no-repeat; */
}


/*============================
#title
============================*/
main div#mainimg h1#title {
	text-align: center;
		color:#fff;
		font-weight: normal;
				position: absolute;
top: 50%;
left: 50%;
transform : translate(-50%,-50%);
-webkit-transform : translate(-50%,-50%);
-moz-transform : translate(-50%,-50%);
-ms-transform : translate(-50%,-50%);
-o-transform : translate(-50%,-50%);
opacity: 1;
display: block;
z-index: 2;
}
main div#mainimg h1#title span {
	text-align: center;
	display: block;
	text-shadow: 0px 0px 2px rgba(60,60,60,0.6);

}
main div#mainimg h1#title span .sp {
	display: none;
}
main div#mainimg h1#title span.lrg {
	font-size: 43px;
	letter-spacing: 0.4em;
	line-height: 1.6em;
	margin-bottom: 30px;
}

main div#mainimg h1#title span.min {
	font-size: 24px;
		line-height: 1.8;
	letter-spacing: 0.2em;
}
main div#mainimg ul.mainslide {
width: auto;
height: 100%;
}
main div#mainimg ul.mainslide li {
	width: auto;
height: 100%;
}
main div#mainimg ul.mainslide li img.img {
	width: auto;
	height: 100%;
}


main div#mainimg .slick-slider .slick-track,main div#mainimg .slick-slider .slick-list {
	width: auto;
height: 100%;
}

.slick-dots {
	display: none;
}

main div#mainimg ul.mainslide li img.img.pc {
}
main div#mainimg ul.mainslide li img.img.sp {
	display: none;
}

/*============================
#feature
============================*/
main section#feature {
	padding:100px 0 0;
		background-color: #EDEBDD;
}
main section#feature div.page {
}

main section div.page .secttl {
	color:#006699;
	text-align: center;
		position: relative;
		margin-bottom: 40px;
}
main section div.page .secttl span {
	display: block;
	line-height:1em;
	position: relative;
}
main section div.page .secttl span.lrg {
	font-size: 44px;
	z-index: 2;
}
main section div.page .secttl span.min.en {
	color:#fff;
	font-size: 64px;
	font-weight: 100;
	top: -20px;
	z-index: 1;
}

main section#feature div.page p.secttl {
}
main section#feature div.page p.secttl span {

}
main section#feature div.page p.secttl span.lrg {
}
main section#feature div.page p.secttl span.min.en {
}

/*============================
#fea_ct
============================*/
main section#feature div.page div#fea_ct {
	margin-bottom: 20px;
}
main section#feature div.page div#fea_ct ul {
	font-size: 0;
}
main section#feature div.page div#fea_ct ul li {
	width:calc((99.9% - 120px)/2);
		display: inline-block;
vertical-align:top;
position: relative;
margin: 0 30px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_img {
	position: relative;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_img img.img {
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt {
	display: block;
	padding:40px;
		background-color: #fff;
	box-shadow: 0px 0px 15px -5px #777777;
	-webkit-box-shadow: 0px 0px 15px -5px #777777;
	-moz-box-shadow: 0px 0px 15px -5px #777777;
	-ms-box-shadow: 0px 0px 15px -5px #777777;
	-o-box-shadow: 0px 0px 15px -5px #777777;
	position: relative;
	left: 30px;
	top: -30px;
z-index: 2;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt h2 {
	font-size: 25px;
	color:#005D87;
	margin-bottom: 20px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt p {
	font-size: 15px;
}

/*============================
#fea_hv
============================*/
main section#feature div.page div#fea_hv {
	font-size: 0;
	padding:35px 100px;
	margin-bottom: 55px;
				background-color:#005D87;
}
main section#feature div.page div#fea_hv >* {
	display: inline-block;
vertical-align:middle;
}
main section#feature div.page div#fea_hv img#fea_hv_img {
}
main section#feature div.page div#fea_hv div#fea_hv_txt {
	color:#FFFFFF;
		width:calc(100% - 320px);
		padding-left: 45px;
}
main section#feature div.page div#fea_hv div#fea_hv_txt h3 {
	font-size: 25px;
	margin-bottom: 20px;
}
main section#feature div.page div#fea_hv div#fea_hv_txt p {
	font-size: 15px;
}

main section .bg {
	width: 100%;
	height: auto;
}


/*============================
#process
============================*/
main section#process {
	padding: 50px 0;
}

/*============================
#img
============================*/
main section#process img#img {
}
main section#process div.page {
}
main section#process div.page p.secttl {
}
main section#process div.page p.secttl span.lrg {
}
main section#process div.page .secttl span.min.en {
	color:#EDEBDD;
}
main section#process div.page h2.minttl {
}

/*============================
#pro_ct
============================*/
main section#process div.page div#pro_ct {
}
main section#process div.page div#pro_ct ol {
	text-align: center;
		font-size: 0;
	position: relative;

}
main section#process div.page div#pro_ct ol li {
	text-align: center;
		color:#fff;
		width:calc((99.9% - 150px)/3);
		display: inline-block;
	vertical-align:top;
	margin:25px;
	padding:40px 25px 30px;
		background-color:#005D87;
	border-top:15px solid #EDEBDD;
	position: relative;
}
main section#process div.page div#pro_ct ol li:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 19.5px 0 19.5px 25px;
	border-color: transparent transparent transparent #006699;
	position: absolute;
	top: 35px;
	left: -35px;
}
main section#process div.page div#pro_ct ol li:first-child:before {
	display: none;
}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl {
	display: inline-block;
vertical-align:top;
	text-align: center;
		position: relative;
	padding-left: 75px;
	margin-bottom: 30px;

}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl img {
	position: absolute;
	position: absolute;
top: 50%;
left: 0;
transform : translateY(-50%);
-webkit-transform : translateY(-50%);
-moz-transform : translateY(-50%);
-ms-transform : translateY(-50%);
-o-transform : translateY(-50%);
}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl span {
	display: block;
	line-height:1.2em;
}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl span.lrg {
	font-size: 33px;
	margin-bottom: 10px;
}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl span.min {
	font-size: 16px;
}
main section#process div.page div#pro_ct ol li div.pro_ct_img {
	margin-bottom: 20px;
}
main section#process div.page div#pro_ct ol li div.pro_ct_img img {
}
main section#process div.page div#pro_ct ol li div.fea_ct_txt {
}
main section#process div.page div#pro_ct ol li div.fea_ct_txt p {
	font-size: 16px;
	text-align:left;
}

/*============================
#example
============================*/
main section#example {
		background-color: #EDEBDD;
}
main section#example div.page {
	padding:50px 0;
}
main section#example div.page p.secttl {
}
main section#example div.page p.secttl span.lrg {
}
main section#example div.page p.secttl span.min.en {
}

/*============================
#exa_ct
============================*/
main section#example div.page div#exa_ct {
}
main section#example div.page div#exa_ct ol {
	font-size: 0;
}
main section#example div.page div#exa_ct ol li {
	width:calc((99.9% - 100px)/2);
	margin: 25px;
		display: inline-block;
vertical-align:top;
}
main section#example div.page div#exa_ct ol li img.exa_ct_img.img {
	margin-bottom: 10px;
}
main section#example div.page div#exa_ct ol li p.exa_ct_txt {
	font-size: 25px;
	font-weight: bold;
	color: #006699;
}

/*============================
#achievement
============================*/
main section#achievement {
	padding:50px;
		background:url(../imgs/achievement_bg.jpg) center center /cover no-repeat;
}
main section#achievement div.page {
}
main section#achievement div.page p.secttl {
}
main section#achievement div.page p.secttl span.lrg {
}
main section#achievement div.page p.secttl span.min.en {
}

/*============================
#ahi_ct
============================*/
main section#achievement div.page div#ahi_ct {
	width: 100%;
	overflow:scroll;
}
main section#achievement div.page div#ahi_ct table { 
	width: 960px;
	height: auto;
	margin: 0 auto;
	background-color: #fff;
}
main section#achievement div.page div#ahi_ct table * {
	text-align: center;
	 border:1px solid #C0DBE2;
}
main section#achievement div.page div#ahi_ct table tbody {
}
main section#achievement div.page div#ahi_ct table tbody tr {
}
main section#achievement div.page div#ahi_ct table tbody tr th {
	color:#fff;
	height: 49px;
		background-color: #006699;
}
main section#achievement div.page div#ahi_ct table tbody tr td {
	height: 35px;
}

/*============================
#vision
============================*/
main section#vision {
	padding:50px 0;
	background-color: #006699;
}
main section#vision div.page {
	padding:66px 150px;
	color: #006699;
background-color: #EDEBDD;
}

/*============================
#vis_ct
============================*/
main section#vision div.page div#vis_ct {
}
main section#vision div.page div#vis_ct p.secttl {
}
main section#vision div.page div#vis_ct p.secttl span.lrg {
}
main section#vision div.page div#vis_ct p.vis_ct_txt {
	text-align: center;
	font-size: 16px;
}

/*============================
#company
============================*/
main section#company {
	color:#fff;
		padding:50px 0;
	background-color: #006699;
}
main section#company * {
	color:#fff;
	font-style: normal;
	text-align: center;
}
main section#company div.page {
}
main section#company div.page p.secttl {
	color:#fff;
}
main section#company div.page p.secttl span.lrg {
}

/*============================
#com_ct
============================*/
main section#company div.page div#com_ct {
}
main section#company div.page div#com_ct address {
	padding:45px 0;
	margin-bottom: 45px;
		border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}
main section#company div.page div#com_ct address dl {
}
main section#company div.page div#com_ct address dl dt {
	font-size: 25px;
	line-height:1.8em;
	font-weight: bold;
	margin-bottom: 20px;
}
main section#company div.page div#com_ct address dl dd {
	font-size: 16px;
	line-height:1.8em;
}
main section#company div.page div#com_ct address dl dd a {
	display: inline;
}

/*============================
#kanren
============================*/
main section#company div.page div#com_ct p#kanren {
}
main section#company div.page div#com_ct p#kanren a {
	display: inline;
}
footer {
	border-top:1px solid #fff;
	background-color: #006699;
}
footer div.page {
	font-size: 0;
	padding-bottom: 15px;
}
footer div.page * {
	color:#fff;
}

/*============================
#logo
============================*/
footer div.page p#logo {
}
footer div.page p#logo a {
}
footer div.page p#logo a img.img {
}
footer div.page p#logo a span {
}

/*============================
#gnavi
============================*/
footer div.page div#gnavi {
	
}

/*============================
#gnavi_wrap
============================*/
footer div.page div#gnavi div#gnavi_wrap {
}
footer div.page div#gnavi div#gnavi_wrap nav {
}
footer div.page div#gnavi div#gnavi_wrap nav ul {
	font-size: 0;
}
footer div.page div#gnavi div#gnavi_wrap nav ul li {
	display: inline-block;
vertical-align:middle;
}
footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
	font-size: 16px;
}
footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth span {
}

/*============================
#cp
============================*/
footer p#cp {
	text-align: center;

	padding:10px;
		background-color: #EDEBDD;
}
footer p#cp small {
	font-size: 16px;
	text-align: center;
			color:#006699;
}

/*============================
#totop
============================*/
div#totop {
}
div#totop a {
}
div#totop a img.img {
}



/* -------------------------------------
common
------------------------------------- */
main {
	overflow:hidden;
}
.img {
	width:100%;
	height:auto;
	display:block;
}
.sptel {
	cursor:default;
	pointer-events:none;
}

/* 
.inv_mov {
	opacity:0;
	transition:opacity 1.0s, transform 1.0s;
}
.tl_yb {
	transform:translate(0,60px);
}
.tl_yt {
	transform:translate(-60px,0);
}
.tl_xl {
	transform:translate(-60px,0);
}
.tl_xr {
	transform:translate(60px,0);
}
.tl_rol {
	transform:rotate(-10deg);
}
.tl_ror {
	transform:rotate(10deg);
}
.mov {
	opacity:1.0;
	transform:translate(0,0) rotate(0deg);
	transition:opacity 1.0s, transform 1.0s;
}
.mov.delay100 {
	transition-delay:100ms;
}
.mov.delay200 {
	transition-delay:200ms;
}
.mov.delay300 {
	transition-delay:300ms;
}
.mov.delay400 {
	transition-delay:400ms;
}
.mov.delay500 {
	transition-delay:500ms;
} */
#totop {
	width:121px;
	height:121px;
	display:none;
	position:fixed;
	bottom:20px;
	right:20px;
	z-index:5;
	display: none;
}
#totop a {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	width:121px;
	height:121px;
		background:url(../imgs/totop_off.png) no-repeat center center;
	background-size:100% auto;
	transition:background 0.3s;
}
#totop a:hover {
	background:url(../imgs/totop_on.png) no-repeat center center;
	background-size:100% auto;
	opacity:1.0;
}

.scroll-hint-icon {
	width: 150px;
	height: 150px;
border-radius: 50%;
background: rgba(0, 93, 135, .7);
}

.scroll-hint-icon:before {
	position: absolute;
	top: 65%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
	top: 60px;
}

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

}
@media screen and (max-width:1200px) {
	header {
		height: 105px;
	}
	header div.page div#gnavi, footer div.page div#gnavi {
				width: calc(100% - 270px);
}
	header div.page p#logo, footer div.page p#logo {
		width: 270px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li, footer div.page div#gnavi div#gnavi_wrap nav ul li {
	margin: 0 15px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth, footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
	font-size: 16px;
}

	header div.page p#logo a img.img, footer div.page p#logo a img.img {
		width: 80px;
		margin-right: 20px;
}
header div.page p#logo a span, footer div.page p#logo a span {
	font-size: 18px;
}

	main div#mainimg {
		height: 600px;
	}
}
@media screen and (max-width:1000px) {

	header div.page div#gnavi, footer div.page div#gnavi {
		width: calc(100% - 245px);
}
	header div.page p#logo, footer div.page p#logo {
		width: 245px;
}
header div.page p#logo a img.img, footer div.page p#logo a img.img {
	margin-right: 10px;
}
header div.page p#logo a span, footer div.page p#logo a span {
	font-size: 16px;
}
eader div.page div#gnavi div#gnavi_wrap nav ul li, footer div.page div#gnavi div#gnavi_wrap nav ul li {
	margin: 0 10px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth, footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
	font-size: 15px;
}

main div#mainimg h1#title span.lrg {
	font-size: 35px;
	margin-bottom: 20px;
}
main div#mainimg h1#title span.min {
	font-size: 20px;
}

main section#feature div.page div#fea_ct ul li div.fea_ct_txt {
	padding: 30px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt h2,main section#feature div.page div#fea_hv div#fea_hv_txt h3 {
	font-size: 23px;
	margin-bottom: 15px;
}
main section#feature div.page div#fea_hv {
	padding: 25px 50px;
}
main section#feature div.page div#fea_hv div#fea_hv_txt {
	width: calc(100% - 275px);
	padding-left: 25px;
}
main section#process div.page div#pro_ct ol li {
	width: calc((99.9% - 120px)/3);
	margin: 20px;
	padding: 25px 15px 15px;
	border-top: 10px solid #EDEBDD;
	}
	main section#process div.page div#pro_ct ol li p.pro_ct_ttl span.lrg {
		font-size: 25px;
		margin-bottom: 5px;
}
main section#process div.page div#pro_ct ol li p.pro_ct_ttl {
	margin-bottom: 25px;
	padding-left: 55px;
}
main section#process div.page div#pro_ct ol li div.pro_ct_img {
	text-align: center;
		margin:0 auto 15px;
}
main section#process div.page div#pro_ct ol li div.pro_ct_img img {
	width: 160px;
	height: auto;
	margin: 0 auto;
}
}
@media screen and (max-width:980px) {
	/* -------------------------------------
	header
	------------------------------------- */
	
	header div.page p#logo, footer div.page p#logo {
		width: 225px;
		z-index: 10;
		position: relative;
}
header div.page div#gnavi, footer div.page div#gnavi {
	width: calc(100% - 225px);
}
	header div.page p#logo a span, footer div.page p#logo a span {
		font-size: 14px;
}
	header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth, footer div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
		font-size: 14px;
}
header div.page div#gnavi div#gnavi_wrap nav ul li, footer div.page div#gnavi div#gnavi_wrap nav ul li {
	margin: 0 8px;
}

main section#example div.page div#exa_ct ol li p.exa_ct_txt {
	font-size: 20px;
}

main section#vision div.page {
	padding: 35px 20px;
}
}
@media screen and (max-width:800px) {


	header {
	transition: all 0.5s ease-out;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
}
	
	header a#menu_btn {
		display: block;
	}

	footer div.page div#gnavi {
		display: none;
	}
	header div.page div#gnavi {
		position: absolute;
		top: -100vh;
		pointer-events: none;
	}
	header div.page div#gnavi.active {
		top: 100%;
		opacity: 1;
		pointer-events: auto;
	}
	header div.page div#gnavi {
		width: 100vw;
		position: absolute;
		left: 50%;
		opacity: 0;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		background-color: #fff;
		transition: all 0.5s ease-out;
		-webkit-transition: all 0.5s ease-in-out;
		-moz-transition: all 0.5s ease-in-out;
		-ms-transition: all 0.5s ease-in-out;
		-o-transition: all 0.5s ease-in-out;
	}
	header div.page div#gnavi {
width: 100%;
border-bottom:1px solid #006699;
	}
	header div.page div#gnavi div#gnavi_wrap nav ul li {
		display: block;
		margin: 0;
		border-top:1px solid #006699;
			}
			header div.page div#gnavi div#gnavi_wrap nav ul li a {
				font-size: 16px;
								color:#006699;
				padding:25px 0;
					}


main section#feature div.page div#fea_ct ul li {
		width: 100%;
	margin: 0 0 30px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_img {
	width:calc(100% - 40px);
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt {
	position: relative;
width:calc(100% - 40px);
}

main section#feature div.page div#fea_hv {
	padding: 25px 20px;
}
main section#feature div.page div#fea_hv img#fea_hv_img {
	display: block;
	margin: 0 auto 25px;
}
main section#feature div.page div#fea_hv div#fea_hv_txt {
	width: 100%;
	padding-left: 0;
}

main section#process div.page div#pro_ct ol li {
	width: 100%;
	max-width: 485px;
		margin: 20px auto;
	padding: 25px 15px 15px;
}
main section#process div.page div#pro_ct ol li:first-child:before {
	display: block;
}
main section#process div.page div#pro_ct ol li:last-child:before {
display: none;
}
main section#process div.page div#pro_ct ol li:before {
	border-width: 25px 19.5px 0 19.5px;
	border-color: #006699 transparent transparent transparent;

	position: absolute;
	left: 50%;
	top: auto;
	bottom: -30px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}


main section#example div.page div#exa_ct ol li {
	width: 100%;
	margin: 25px auto;
	display: block;
}

#totop,#totop a {
	width: 70px;
	height: 70px;
}

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




	

	/* -------------------------------------
	header
	------------------------------------- */
	/* header {
		padding-top:59px;
		margin-bottom:30px;
	}
	#mainimg #title {
		width:250px;
	}
	.mainslide li img {
		width:751px;
		position:relative;
		left:50%;
		transform:translateX(-50%);
	}
	
	#gnavi {
		width:100%;
		padding:0;
		background-color:rgba(255,255,255,1.0);
		position:fixed;
		top:0;
		left:0;
		z-index:50;
		box-shadow: 0 10px 10px -5px rgba(0,0,0,0.15);
	}
	#gnavi #logo {
		width:450px;
		height:59px;
		padding:15px 20px;
	}
	#gnavi #logo .pc {
		display:none;
	}
	#gnavi #logo .sp {
		display:block;
	}
	#gnavi nav {
		width:100%;
		display:none;
		padding:0 20px 20px 20px;
	}
	#gnavi nav li {
		width:calc(99.9% / 2);
		border-bottom:1px solid #B98B00;
		border-right:none;
	}
	#gnavi nav li.sp {
		display:block;
	}
	#gnavi nav li:nth-child(odd) {
		border-right:1px solid #B98B00;
	}
	#gnavi nav li:nth-last-child(1) {
		border-bottom:none;
	}
	#gnavi nav li a {
		padding:18px 20px 18px 65px;
		position:relative;
	}
	#gnavi nav li a .tb {
		display:block;
	}
	#gnavi nav li a .cell {
		display:block;
	}
	#gnavi nav li a .ja {
		font-size:22px;
	}
	#gnavi nav li:nth-child(1) a .ja {
		font-size:22px;
	}
	#gnavi nav li a .ja.fnt_s {
		font-size:22px;
	}
	#gnavi nav li a .ja br {
		display:none;
	}
	#gnavi nav li a .eng {
		display:none;
	}
	#gnavi nav li a img {
		width:35px;
		height:auto;
		position:absolute;
		top:50%;
		left:20px;
		z-index:1;
		transform:translateY(-50%);
	}
	
	#gnavi a#menu_btn {
		display:block;
	}
	
	
	
	#totop {
		width:54px;
		height:60px;
	}
	#totop a {
		height:60px;
	} */
}
@media screen and (max-width:700px) {

}
@media screen and (max-width:640px) {
	main div#mainimg {
		height: 740px;
	}
	main div#mainimg ul.mainslide li img.img.pc {
		display: none;
	}
	main div#mainimg ul.mainslide li img.img.sp {
		display: block;
	}
	
	/* -------------------------------------
	header
	------------------------------------- */
	/* header {
		padding-top:58px;
	}
	
	.mainslide li img {
		width:100%;
		
	}
	.mainslide li .pc {
		display:none;
	}
	.mainslide li .sp {
		display:block;
	}
	
	#gnavi #logo {
		width:435px;
		height:58px;
		padding:16px 20px 15px 20px;
	}
	#gnavi nav li a {
		padding:15px 15px 15px 60px;
	}
	#gnavi nav li a .ja {
		font-size:20px;
	}
	#gnavi nav li:nth-child(1) a .ja {
		font-size:20px;
	}
	#gnavi nav li a .ja.fnt_s {
		font-size:20px;
	}
	#gnavi nav li a img {
		width:33px;
		left:15px;
	}
	
	
	
	#totop {
		width:52px;
		height:58px;
	}
	#totop a {
		height:58px;
	} */
}
@media screen and (max-width:500px) {



	/* header {
		padding-top:54px;
	}
	
	#mainimg #title {
		width:230px;
	}
	
	#gnavi #logo {
		width:340px;
		height:54px;
		padding:17px 20px 16px 20px;
	}
	
	#gnavi nav li {
		width:100%;
		border-bottom:1px solid #B98B00;
	}
	#gnavi nav li:nth-child(odd) {
		border-right:none;
	}
	#gnavi nav li:nth-last-child(2) {
		border-bottom:1px solid #B98B00;;
	}
	#gnavi nav li a {
		text-align:left;
		padding:15px 10px 15px 55px;
	}
	#gnavi nav li a .ja {
		font-size:17px;
	}
	#gnavi nav li:nth-child(1) a .ja {
		font-size:17px;
	}
	#gnavi nav li a .ja.fnt_s {
		font-size:17px;
	}
	#gnavi nav li a img {
		width:30px;
		left:10px;
	}
	
	#gnavi a#menu_btn {
		top:11px;
	}
	
	
	#totop {
		width:50px;
		height:56px;
		bottom:15px;
		right:15px;
	}
	#totop a {
		height:56px;
	} */
}
@media screen and (max-width:480px) {
	header {
		height: 80px;
}
header div.page div#gnavi {
	top: 80px;
}
header div.page p#logo a img.img, footer div.page p#logo a img.img {
	width: 60px;
	margin-right: 15px;
}
header a#menu_btn {
	width: 35px;
	height: 30px;
}
header a#menu_btn span {
	width: 35px;
	height: 3px;
}
header div.page div#gnavi div#gnavi_wrap nav ul {
	border-bottom:13px solid #006699;
}
header div.page div#gnavi div#gnavi_wrap nav ul li a.smooth {
	font-size: 14px;
	padding: 20px 0;
}

main {
	padding-top: 80px;
}
main div#mainimg {
	height: 580px;
}
	main div#mainimg h1#title {
		width: 100%;
	}
	main div#mainimg h1#title span .sp {
		display: none;
	}
	main div#mainimg h1#title span.min .sp:last-child {
display: block;
	}
	main section#feature div.page div#fea_ct ul li div.fea_ct_img img.img {
		width: calc(100% - 30px);
}


	main div#mainimg h1#title span.lrg {
		font-size: 25px;
		margin-bottom: 20px;
}
main div#mainimg h1#title span.lrg .sp {
	display: block;
}
main div#mainimg h1#title span.min {
	font-size: 14px;
}

main section#feature {
	padding: 50px 0 0;
}
main section div.page .secttl span.lrg {
	font-size: 30px;
}
main section div.page p.secttl span.en,main section#process div.page .secttl span.min.en,main section div.page .secttl span.min.en {
	font-size: 40px;
}
main section div.page .secttl {
	margin-bottom: 25px;
}

main section#feature div.page div#fea_ct ul li {
	margin: 0 0 10px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_img {
	width: calc(100% - 20px);
}
main section#feature div.page div#fea_ct ul li div.fea_ct_img img.img {
	width: calc(100% - 30px);
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt {
	width: calc(100% - 50px);
	left: 25px;
	padding: 15px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt h2, main section#feature div.page div#fea_hv div#fea_hv_txt h3 {
	font-size: 19px;
	margin-bottom: 10px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt p {
	font-size: 14px;
}
main section#feature div.page div#fea_hv img#fea_hv_img {
	width: calc(100% - 50px);
	height: auto;
	display: block;
	margin: 0 auto 20px;
}
main section#feature div.page div#fea_ct ul li div.fea_ct_txt h2, main section#feature div.page div#fea_hv div#fea_hv_txt h3 {
	font-size: 17px;
}
main section#feature div.page div#fea_hv {
	padding: 20px;
}

main section#process div.page div#pro_ct ol {
margin: 0 auto;
	max-width: 365px;
}

main section#process div.page h2.minttl {
	font-size: 15px;
}
main section#process div.page div#pro_ct ol li:before {
	border-width: 15px 14.5px 0 14.5px;
	bottom: -28px;
}
main section#process div.page div#pro_ct ol li div.pro_ct_img img {
	width: 210px;
}

main section#example div.page div#exa_ct ol li p.exa_ct_txt {
	font-size: 17px;
}

main section#company div.page div#com_ct address {
	padding: 25px 0;
	margin-bottom: 25px;
}
main section#company div.page div#com_ct address dl dt {
	font-size: 19px;
	margin-bottom: 10px;
}
main section#vision div.page div#vis_ct p.vis_ct_txt br:nth-child(2),main section#vision div.page div#vis_ct p.vis_ct_txt br:nth-child(3) {
display: none;
}

main section#achievement {
	padding: 50px 0;
}

#totop,#totop a {
	width: 50px;
	height: 50px;
}

#achievement a,#achievement a:hover,#achievement img,#achievement img:hover {
opacity: 1 !important;
}

	/* header {
		padding-top:50px;
	}
	
	#gnavi #logo {
		width:280px;
		height:50px;
		padding:18px 20px 15px 20px;
	}
	#gnavi nav li a {
		padding:15px 10px 15px 55px;
	}
	#gnavi nav li a .ja {
		font-size:16px;
	}
	#gnavi nav li:nth-child(1) a .ja {
		font-size:16px;
	}
	#gnavi nav li a .ja.fnt_s {
		font-size:16px;
	}
	#gnavi nav li a img {
		width:30px;
		left:10px;
	}
	#gnavi a#menu_btn {
		top:10px;
	}
	

	#totop {
		width:46px;
		height:51px;
	}
	#totop a {
		height:51px;
	} */
}
@media screen and (max-width:340px) {
	main div#mainimg {
		height: 460px;
}
}
@media screen and (min-width:769px) {
	
}