@charset "UTF-8";
/* CSS Document */
@media screen and (min-width:960px){
html {
	font-size: 16px;
}

body {
	width: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/**********************************
hover
**********************************/
a {
    color: #22609e;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all  0.4s ease;
}
	
a:hover {
    color: #828282;
}


a img {
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all  0.4s ease;
}
	
a img:hover {
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}

/**********************************
Header
**********************************/
header {
	width: 100%;
	background-color: #fff;
	position: fixed;
	top: 0;
	z-index: 9999;
}

header.scroll_on {
	box-shadow:0px 2px 6px -1px #666;
}

.header_wrap {
	width: 93.75%;
	/*max-width: 1200px;*/
	padding: 8px 0;
	margin: 0 auto;
	display: flex;
	display: -moz-flex;
	display: -o-flex;
	display: -webkit-flex;
	display: -ms-flex;
	justify-content: space-around;
	-moz-justify-content: space-around;
	-o-justify-content: space-around;
	-webkit-justify-content: space-around;
	-ms-justify-content: space-around;
	align-items: center;
	-moz-align-items: center;
	-o-align-items: center;
	-webkit-align-items: center;
	-ms-align-items: center;
}

.header_wrap .header_logo {
	width: 34%;
	margin-left: 0.125%;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all  0.6s ease;
}

.header_wrap .header_logo img {
	width: 100%;
	height: auto;
}

header.scroll_on .header_wrap .header_logo {
	width: 24%;
}


/**********************************
Global navigation
**********************************/
nav {
	width: 56%;
}

.navi_wrap {
	width: 100%;
	display: flex;
	display: -moz-flex;
	display: -o-flex;
	display: -webkit-flex;
	display: -ms-flex;
	justify-content: space-between;
	-moz-justify-content: space-between;
	-o-justify-content: space-between;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
}

.navi_wrap li {
}


.navi_wrap li a {
	position: relative;
	display: inline-block;
  	font-size: 0.875rem;
	font-weight: 700;
	color: #313131;
	letter-spacing: 0.2em;
}

.navi_wrap li a:hover {
	color: #00ade2;
}

.navi_wrap li a:before,
.navi_wrap li a:after{
	position: absolute;
	top: 1.3em;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #00ade2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}


.navi_wrap li a:before{
	left: 50%;
}

.navi_wrap li a:after{
	right: 50%;
}

.navi_wrap li a:hover:before,
.navi_wrap li a:hover:after{
	width: 50%;
}


.navi_wrap li.current a {
	color: #00ade2;
}

.navi_wrap li.current a:before,
.navi_wrap li.current a:after{
	width: 50%;
}


/**********************************
Slide show
**********************************/
.slide_wrap {
	width: 93.75%;
	/*max-width: 1200px;*/
	margin: 0 auto;
	position: relative;
}

.slide_wrap li {
}


.slide_wrap li img {
	width: 100%;
}


.slide_wrap .message {
	width: 74%;
	top: 50%;
	margin-top: -18px;
	left: 50%;
	margin-left: -37.5%;
	position: absolute;
	z-index: 8888;
	display: none;
}

.slide_wrap .message img {
	width: 100%;
	height: auto;
}

/**********************************
Container
**********************************/
.contents_wrap {
	width: 93.75%;
	/*max-width: 1200px;*/
	margin: 0 auto;
	position: relative;
}

/***** Top page *****/
.contents_wrap .feature_menu {
	width: 100%;
	display: flex;
	display: -moz-flex;
	display: -o-flex;
	display: -webkit-flex;
	display: -ms-flex;
	justify-content: space-around;
	-moz-justify-content: space-around;
	-o-justify-content: space-around;
	-webkit-justify-content: space-around;
	-ms-justify-content: space-around;
	position: absolute;
	top: -44px;
	z-index: 8888;
}


.contents_wrap .feature_menu .feature_inner {
	width: 47%;
	background-color: #ecf7f9;
	box-shadow:0px -3px 11px -4px #212121;
}

.contents_wrap .feature_menu .feature_inner h2 {
	width: auto;
	padding: 12px;
	font-size: 1.125rem;
	font-weight: 700;
	color: #074a6f;
	letter-spacing: 0.1em;
}

.contents_wrap .feature_menu .feature_inner ul {
	width: 100%;
}

.contents_wrap .feature_menu .feature_inner ul li{
}

.contents_wrap .feature_menu .feature_inner ul li a {
	display: block;
	width: auto;
	padding: 22px 12px 22px 34px;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #fff;
	background-image: url(../images/menu_arrow.png);
	background-repeat: no-repeat;
	background-position: 8px 50%;
}

.contents_wrap .feature_menu .feature_inner:first-of-type li:first-of-type a {
	/*background-color: #edcc7b;*/
	background-color: #0094ba;
}

.contents_wrap .feature_menu .feature_inner:first-of-type li:first-of-type a:hover {
	/*background-color: #e8b133;*/
	background-color: #0071a5;
}

.contents_wrap .feature_menu .feature_inner:first-of-type li:last-of-type a {
	/*background-color: #63d3a8;*/
	background-color: #0094ba;
}

.contents_wrap .feature_menu .feature_inner:first-of-type li:last-of-type a:hover {
	/*background-color: #00bc5e;*/
	background-color: #0071a5;
}

.contents_wrap .feature_menu .feature_inner:last-of-type li:first-of-type a {
	/*background-color: #edadad;*/
	background-color: #0094ba;
}

.contents_wrap .feature_menu .feature_inner:last-of-type li:first-of-type a:hover {
	/*background-color: #ea6464;*/
	background-color: #0071a5;
}

.contents_wrap .feature_menu .feature_inner:last-of-type li:last-of-type a {
	/*background-color: #75bbc4;*/
	background-color: #0094ba;
}

.contents_wrap .feature_menu .feature_inner:last-of-type li:last-of-type a:hover {
	/*background-color: #15b1bf;*/
	background-color: #0071a5;
}

.contents_wrap .feature_menu .feature_inner ul li:last-of-type a {
	border-top: solid 2px #fff;
}

.contents_wrap .top_page {
	padding-top: 140px;
}

.contents_wrap .top_page h2 {
	width: auto;
	text-align: center;
	border-bottom: solid 2px #5794d6;
	font-size: 1.875rem;
	letter-spacing: 0.2em;
	font-weight: 700;
	padding: 12px 0;
	color: #333;
	margin-top: 32px;
}
.contents_wrap .top_page .contents_inner {
	width: auto;
	padding: 12px 1% 36px;
	background-image: url(../images/top_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	color: #000;
	font-size: 1.125rem;
	line-height: 2em;
}

.contents_wrap .top_page .contents_inner p {
	margin-top: 24px;
}

.contents_wrap .top_page .contents_inner p span {
	font-size: 1.25rem;
	font-weight: 700;
}

/***** Sub page *****/
.main_visual_wrap {
	width: 93.75%;
	margin: 44px auto 0;
}

.main_visual_wrap img {
	width: 100%;
	height: auto;
}

/* 会社案内 */
.company_table {
	width: 74%;
	margin: 24px auto 0;
}

.company_table th {
	width: 22%;
	text-align: center;
	vertical-align: middle;
	font-size: 1rem;
	background-color: #58a7b7;
	border-bottom: solid 2px #fff;
	padding: 14px 2%;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 700;
}

.company_table td {
	font-size: 1.125rem;
	padding: 14px 2% 14px 4%;
	line-height: 1.5em;
	border-bottom: solid 2px #efefef;
}

.history_table {
	width: 74%;
	margin: 24px auto 0;
}

.history_table th {
	width: 14%;
	text-align: right;
	vertical-align: middle;
	padding: 12px 1%;
	border-bottom: dashed 2px #cdcdcd;
}

.history_table td {
	text-align: left;
	vertical-align: middle;
	padding: 12px 2%;
	border-bottom: dashed 2px #cdcdcd;
}

.company_list {
	width: 74%;
	margin: 24px auto 0;
}

.company_list li {
	margin-top: 16px;
	list-style: disc;
}

/* 設備情報 */
.machines_table {
	width: 74%;
	margin: 24px auto 0;
}

.machines_table th {
	width: 22%;
	background-color: #58a7b7;
	vertical-align: middle;
	text-align: center;
	font-size: 1rem;
	color: #fff;
	font-weight: 700;
	padding: 16px 1%;
	border-left: solid 2px #fff;
	border-right: solid 2px #fff;
	letter-spacing: 0.2em;
	line-height: 1.5em;
}

.machines_table td {
	vertical-align: middle;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	padding: 18px 1%;
	border: solid 2px #efefef;
	line-height: 1.5em;
}

.ability_list {
	width: 74%;
	margin: 24px auto 0;
}

.ability_list li {
	margin-top: 16px;
	list-style: disc;
}


/* 当社の強み */

/* アクセス */
.google_map {
}

.google_map iframe {
	display: block;
	width: 70%;
	height: 400px;
	margin: 24px auto 0;
}


/* Adjust style */
.heading01 {
	width: auto;
	padding: 10px 16px;
	margin-top: 24px;
	line-height: 1.5em;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: #000;
	background-color: #eee;
}

.heading02 {
	padding: 12px 2%;
	font-size: 1.125rem;
	border-bottom: solid 2px #00a1c9;
	color: #00a1c9;
	font-weight: 700;
	width: 88%;
	margin: 18px auto 0;
	letter-spacing: 0.2em;
}

.heading03 {
	width: auto;
	padding: 10px 16px;
	margin-top: 24px;
	line-height: 1.5em;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: #d60003;
	border: solid 2px #d60003;
	background-color: #fff;
}

.text {
	width: 90%;
	font-size: 1.125rem;
	margin: 24px auto 0;
	line-height: 1.7em;
}

.fwb {
	font-weight: 700;
	font-size: 110%;
}

/**********************************
Back to top button
**********************************/
#totop {
	width: 44px;
	position:fixed;
	right: -160px;
	bottom: 102px;
	cursor: pointer;
	-webkit-transition: all 0.5s linear;
    -moz-transition: all 0.5s linear;
    -o-transition: all 0.5s linear;
    transition: all 0.5s linear;
}

#totop img {
	width: 100%;
	height: auto;
}

#totop.totop_in {
	right: 18px;
}

/**********************************
Footer
**********************************/
footer {
	width: 100%;
	background-color: #eaeaea;
	box-shadow:0px -3px 6px -1px #d6d6d6;
	margin-top: 58px;
}

.footer_wrap {
	width: 93.75%;
	/*max-width: 1200px;*/
	margin: 0 auto;
	padding: 24px 0;
}

.footer_wrap .footer_logo {
	width: 32.5%;
	margin-left: 4%;
}

.footer_wrap .footer_logo img {
	width: 100%;
	height: auto;
}


.footer_wrap .footer_address {
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.5em;
	margin: 10px 0 0 6%;
	color: #074a6f;
}

.footer_wrap .footer_address span {
	font-size: 0.75rem;
	font-weight: 700;
}

.footer_wrap {
}

.copyright {
	width: auto;
	padding: 8px 0;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	background-color: #004466;
	color: #fff;
	letter-spacing: 0.1em;
}

.sp_only {
	display: none;
}

}