@charset "UTF-8";
/*
 * common.css
 *
 */


/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	background-image:url(../img/bg_img.jpg);
	background-repeat:no-repeat;
	background-position:top;
}
img {
	vertical-align:bottom;
}
h3 {
	font-size:26px;
	font-weight:bold;
	color:#fff;
	margin:20px auto 30px;
	padding: 15px 0 15px 100px;
	background-image:url(../img/ttl_bg.jpg);
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:100% auto;	
}
h4,h5 {
	font-weight:bold;
}
.bold {
    font-weight: bold;
}
a:hover {
	opacity:0.6;
}
#menuToggle,
.only_sp {
    display: none;
}
/*==================================
             header
==================================*/

#headerIn {
	width:1300px;
	position:absolute;
  	left: 0;
  	right: 0;
  	margin:40px auto 0;
}
#head-top {
	font-size:14px;
}
#head-h1 {
	width : 1300px;
	margin : 10px auto 0;
	position:absolute;
  	left: 0;
  	right: 0;	
}
#head-h1 h1{
	float:left;
	margin:2px 0px;
	font-size:14px;
	color:#fff;
}
#head-h1 ul li{
	padding : 0px 10px;
	font-size:12px;
	margin:2px 0px;
	float:left;
	border-left:#fff 1px solid;
}
#head-h1 ul li:last-child{
	border-right:#fff 1px solid;
}
#head-h1 a{
	color:#fff;
	text-decoration:none;
}
#head-h1 ul li a:hover{
	opacity:0.5;
}
#head-h1 nav {
	float:right;
}
#headerLogo_left {
	display:inline-block;
	width:294px;
	margin:0 20px 0 0;
	text-align:left;
	vertical-align:top;
}
#navi1 {
	margin:0 auto;
	background-color:#FFFFFF;
}
#navi1 ul {
	display:flex;
	display : -webkit-box;     /* old Android */
	display : -webkit-flex;    /* Safari etc. */
	display : -ms-flexbox;     /* IE10        */
	flex-wrap        : wrap;
	-webkit-flex-wrap: wrap;          /* Safari etc. */
	-ms-flex-wrap    : wrap;          /* IE10        */
    justify-content: space-around;
	width:90%;
	margin:20px auto;
}
#navi1 li {
	width:15%;
	font-size:15px;
	line-height:1.2em;
	text-align:center;
}
#navi1 li:last-of-type {
	border-right:none;
}
#navi1 a {
	text-decoration:none;
	display:block;
	color:#114FA3;
	font-weight:bold;
}
#navi1 a:hover {
	color:#00B2DE;
}
.navi_en {
	font-size:12px;
	color:#114FA3;	
}
.top_img {
    display: inline-block;
    margin: 0 0 20px;
}
#headerIn h2 {
    position: absolute;
    text-align: center;
    color: #fff;
    font-weight: bold;
    margin: 60px auto;
    left: 0;
    right: 0;
    font-size: 36px;
}
.page #headerIn {
	position:static;
  	margin:0 auto;
}
.page #head-h1 a {
    color: #000;
}
.page #head-h1 ul li {
    border-left: #000 1px solid;
}
.page #head-h1 {
    position: static;
}
.page #head-h1 h1 {
    position: static;
    color:#000;	
}
.page #headerLogo_left {
    margin: 5px 0 0 0;
}
.page h2 img {
	width:100%;
	height:auto;
}

/*==================================
             contents
==================================*/

#contents {
	background:#FFFFFF;
	margin:0 auto;
	text-align:center;	
}
.top_page #contents {
	margin:100px auto;	
}
.box {
	width:1300px;
	margin:30px auto;
}
.sub_box {
	width:1100px;
	margin:0 auto;
}
.contact_tel {
	margin:50px auto 0;
	padding:90px 0;
	background-image:url(../img/contact_bg.jpg);
	background-position:50% 50%;
	background-repeat:no-repeat;
}
.contact_tel li {
	display:inline-block;
	width:400px;
	margin:0 20px;
	padding:50px;
	background-color:#fff;
	box-shadow: 0 0 8px gray;
	vertical-align:top;
}
.contact_tel h4 {
	font-size:22px;
}

.contact_tel a:hover {
	opacity:0.5;
}
.tel p {
	font-size:28px;
	font-weight:bold;
}
.tel p::before {
    content: '\f2a0';
    left: 0;
    margin: 0 10px 0 0;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: relative;
    color: #114FA3;
}
.contact_tel .mail {
	padding:47px;	
}
.mail p  {
	margin:5px 0 0;
	font-size:16px;		
}
.mail p a {
	display:block;
	padding:10px 0;
	background-color:#114FA3;
	color:#fff;
	text-decoration:none;
	font-weight:bold;
}
.mail p a::before {
    content: '\f0e0';
    left: 0;
    margin: 0 10px 0 0;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: relative;
    color: #fff;
}

/*==================================
             footer
==================================*/

#footer {
	background-color:#114FA3;
}
#footer_box {
	width:1300px;
	margin:0 auto;
	border-top:#114FA3 solid 1px;
}
#footer_left , #footer_right {
	display:inline-block;
}
#footer_left {
	margin:20px auto;
}
#footer_left img {
	vertical-align:middle;
}
#footer_left p{
	margin:10px 0 0;
	color:#fff;
}
#footer_right {
	float:right;
	margin:20px 50px 20px 0;
}
#footer_right ul{
	display:inline-block;
	vertical-align:top;
	margin:0 5px 0 0;
}
#footer_right ul li {
	background-image:url(../img/arrow_01.png);
	background-position:0% 50%;
	background-repeat:no-repeat;
	background-size:10px auto;	
	padding:0 0 0 20px;
	line-height:2em;
	margin:10px 20px 0 0;
}
#footer_right ul li a {
	color:#fff;
}
#footer_right ul li::before {
	margin:0 10px 0 0;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f105';	
}
#copyright {
	text-align:center;
	color:#FFFFFF;
	padding:10px;
  	font-family: Verdana, "Droid Sans" !important;	
}

/*==================================
             pagetop
==================================*/
#pageTop {
	position: fixed;
	z-index: 9999;
	bottom: 20px;
	right: 15px;
	font-size: 12px;
}
#pageTop a {
	background: #665e53;
	text-decoration: none;
	color: #fff;
	font-size:14px;
	padding: 10px 15px;
	text-align: center;
	display: block;
	-moz-opacity: 0.5;
	opacity: 0.5;
	border-radius: 3px; 
}
#pageTop a:hover {
	text-decoration: none;
	background: #999;
	color: #fff;
}
#pageTop a:before {
    content: "▲";
}

/*==================================
            top以外共通
==================================*/
.page h2 {
	padding:100px 0;
	color:#fff;
	background-image:url(../../company/img/company_top.jpg);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:100% auto;
	font-size:26px;
	font-weight:bold;
}
.sub_ttl {
	display:block;
	width:200px;
	margin:0 auto;
	border-top:#5DA1FE solid 1px;
	font-size:16px;
}
#main .view_more_link {
    width: 200px;
    margin: 20px auto;
    background-color: #666;
}
#main .view_more_link p {
	height:auto;
}
#main .view_more_link a {
    display: block;
    padding: 7px 20px 7px 6px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
}
#main .view_more_link a::after {
    font-family: 'Font Awesome 5 Free';
    content: '\f105';
    color: #fff;
    font-weight: 900;
    float: right;
}
#main .view_more_link.bg_blue {
    background-color: #114FA3;
}
.top_about h5,
.top_recruit h5 {
	margin:30px auto 15px;
    font-size: 24px;
	font-weight:bold;
	color:#114FA3;
}
#main .first_copy {
    margin: 40px auto;
    color: #114FA3;
    font-size: 28px;
	font-weight:bold;
	text-align:center;
}
#main .copy_box {
	width:1100px;
	margin:30px auto;
    font-size: 18px;
    line-height: 2em;
    text-align: left;
}

/* スタッド溶接とは */

.about_info h4 {
    border: #114FA3 solid 2px;
        border-left-color: rgb(17, 79, 163);
        border-left-style: solid;
        border-left-width: 2px;
    border-left-color: rgb(17, 79, 163);
    border-left-style: solid;
    border-left-width: 2px;
    border-left: #114FA3 solid 15px;
    color: #114FA3;
    font-size: 22px;
    font-weight: bold;
    text-align: left;
    padding: 10px 10px 10px 20px;
    margin: 30px auto;
    background-position: left;
    background-repeat: no-repeat;
}
.about_stud_info h4 {
	margin:0 auto 30px;
	font-size:22px;
}
.about_info {
	margin:50px auto;
}
.about_info ul {
	display:flex;
	display : -webkit-box;     /* old Android */
	display : -webkit-flex;    /* Safari etc. */
	display : -ms-flexbox;     /* IE10        */
	flex-wrap        : wrap;
	-webkit-flex-wrap: wrap;          /* Safari etc. */
	-ms-flex-wrap    : wrap;          /* IE10        */
    justify-content: space-between;
}
.about_info ul li {
	width:32%;
}
.about_info ul li p {
	width:auto;
}
.about_info ul li img {
	width:100%;
	height:auto;
}
.about_info h5 {
    margin: 10px auto 0;
    padding: 10px 0;
    background: #114FA3;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}
.about_info_headed ,
.headed_stud img {
	display:inline-block;
}
.about_info_headed {
	width:57%;
	padding:1%;
	margin:0 auto;
	vertical-align:top;
}
.headed_stud img {
	width:40%;
		height:auto;
}
.headed_stud p {
	width:auto;
}
.about_stud_info p {
	width:1000px;
	margin:20px auto;
   	font-size: 16px;
	text-align:left;
	line-height:1.7em;
}
.about_info ul li p {
	width:auto;
	margin:20px auto;
   	font-size: 16px;
	text-align:left;
	line-height:1.7em;
	text-align:justify;
}
.about_info_headed p {
    width: auto;
    margin: 20px auto;
    font-size: 16px;
    text-align: left;
    line-height: 1.7em;
}

/* 工法 */

.method_info p {
	width:1100px;
	margin:0 auto 30px;
	font-size:18px;
	text-align:left;
	line-height:1.7em;
}
.method_info .first_copy {
    margin: 40px auto;
    color: #114FA3;
    font-size: 28px;
    font-weight: bold;
	text-align:center;
}
.method_info .box img {
	margin:20px;
}
.method_info video {
	width:1100px;
	margin:30px auto 50px;
}
.headed_stud_page .method_info video {
	width:1100px;
	margin:30px auto 50px;
}
.method_info h3 {
    margin: 50px auto 30px;
    padding: 15px 0;
    background: #114FA3;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
}

/* 施工事例 */

.top_products {
	margin:20px auto;
}
.top_products ul,
.works_info ul {
	display:flex;
	display : -webkit-box;     /* old Android */
	display : -webkit-flex;    /* Safari etc. */
	display : -ms-flexbox;     /* IE10        */
	flex-wrap        : wrap;
	-webkit-flex-wrap: wrap;          /* Safari etc. */
	-ms-flex-wrap    : wrap;          /* IE10        */
    justify-content: space-between;
	margin:50px auto;
}
.top_products ul h4,
.works_info ul h4 {
	display:table-cell;
	width:250px;
	height:70px;
    padding:0;
    font-size: 17px;
    color: #fff;
    font-weight: bold;
    background-color: #5B5C5C;
	vertical-align:middle;
}
.top_products ul li:nth-of-type(2) h4, .works_info ul li:nth-of-type(2) h4 {
    font-size: 16px;
}
.top_products ul li,
.works_info ul li {
	margin:5px;
}
.top_products ul li img,
.works_info ul li img {
	width:250px;
	height:auto;
}
#main .top_products ul li .view_more_link,
#main .works_info ul li .view_more_link {
    width: 200px;
    margin: 20px auto;
    background-color: #fff;
	border:#114FA3 solid 3px;
}
#main .top_products ul li .view_more_link a,
#main .works_info ul li .view_more_link a {
	color:#114FA3;
}
#main .top_products ul li .view_more_link a:hover,
#main .works_info ul li .view_more_link  a:hover {
    background-color: #114FA3;
	opacity:1;
	color:#fff;
}
#main .top_products ul li .view_more_link a:hover,
#main .works_info ul li .view_more_link  a:hover {
    background-color: #114FA3;
	opacity:1;
	color:#fff;
}
#main .top_products ul li .view_more_link a::after,
#main .works_info ul li .view_more_link a::after {
    color: #114FA3;
}

#main .top_products ul li .view_more_link a:hover::after,
#main .works_info ul li .view_more_link a:hover::after  {
    color: #fff;
}
/*==================================
         menuToggle
==================================*/
#humberger-menu {
	display:none;
}

#menuToggle {
  display: block;
  position: absolute;
  top: 49px;
  right: 12px;
  z-index: 100;
  -webkit-user-select: none;
  user-select: none;
}

#menuToggle input {
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 102; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle span {
	display: block;
	width: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;
	background: #114FA3;
	border-radius: 3px;
	z-index: 101;
	transform-origin: 4px 0px;
	-ms-transform-origin: 4px 0px; /* IE 9 */
	-webkit-transform-origin: 4px 0px; /* Safari and Chrome */
	-moz-transform-origin: 4px 0px; /* Firefox */
	-o-transform-origin: 4px 0px; /* Opera */

	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Firefox 4 */
	-moz-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease;
	-webkit-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Safari and Chrome */
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Opera */
}

#menuToggle span:first-child {
	transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%; /* IE 9 */
	-webkit-transform-origin: 0% 0%; /* Safari and Chrome */
	-moz-transform-origin: 0% 0%; /* Firefox */
	-o-transform-origin: 0% 0%; /* Opera */
}

#menuToggle span:nth-last-child(2) {
	transform-origin: 0% 100%;
	-ms-transform-origin: 0% 100%; /* IE 9 */
	-webkit-transform-origin: 0% 100%; /* Safari and Chrome */
	-moz-transform-origin: 0% 100%; /* Firefox */
	-o-transform-origin: 0% 100%; /* Opera */
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(45deg) translate(-2px, -1px);
	-moz-transform: rotate(45deg) translate(-2px, -1px); /* Firefox 4 */
	-webkit-transform: rotate(45deg) translate(-2px, -1px); /* Safari and Chrome */
	-o-transform: rotate(45deg) translate(-2px, -1px); /* Opera */
	background: #232323;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	transform: rotate(0deg) scale(0.2, 0.2);
	-moz-transform: rotate(0deg) scale(0.2, 0.2); /* Firefox 4 */
	-webkit-transform: rotate(0deg) scale(0.2, 0.2); /* Safari and Chrome */
	-o-transform: rotate(0deg) scale(0.2, 0.2); /* Opera */
}

/*
 * Ohyeah and the last one should go the other direction
 */
#menuToggle input:checked ~ span:nth-last-child(2) {
	opacity: 1;
	transform: rotate(-45deg) translate(0, -1px);
	-moz-transform: rotate(-45deg) translate(0, -1px); /* Firefox 4 */
	-webkit-transform: rotate(-45deg) translate(0, -1px); /* Safari and Chrome */
	-o-transform: rotate(-45deg) translate(0, -1px); /* Opera */
}

/*
 * Make this absolute positioned
 * at the top left of the screen
 */
#menu {
	position: absolute;
	width: 300px;
	margin: -100px 0 0 0;
	padding: 50px 50px 50px 50px;
	padding-top: 125px;
	right: -100px;
	background: #F2F2F2;
	list-style-type: none;
	-webkit-font-smoothing: antialiased;
	/* to stop flickering of text in safari */
	transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%; /* IE 9 */
	-webkit-transform-origin: 0% 0%; /* Safari and Chrome */
	-moz-transform-origin: 0% 0%; /* Firefox */
	-o-transform-origin: 0% 0%; /* Opera */
	transform: translate(100%, 0);
	-moz-transform: translate(100%, 0); /* Firefox 4 */
	-webkit-transform: translate(100%, 0); /* Safari and Chrome */
	-o-transform: translate(100%, 0); /* Opera */
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	-moz-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Firefox 4 */
	-webkit-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Safari and Chrome */
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Opera */
}

#menu li {
    padding: 10px 50px 10px 10px;
	width: max-content;
    font-size: 14px;
    background-size: 7px auto;
	border-bottom:1px solid #333333;
}
#menu li a {
    color: #000;
    text-decoration: none;
}
#menu li a::before {
    left: 0;
    margin: 0 10px 0 0;
    font-family: 'Font Awesome 5 Free';
    content: '\f054';
    font-weight: 900;
    position: relative;
    color: #00246C;
}
#menu li h4 {
    padding: 10px 0 5px 20px;
    color: #113D96;
    background-image: url(../img/page_top_bg.png);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 7px auto;
}
#menu li.business ul li {
    background-image: none;
}
#menu li.business {
    padding: 0;
    background-image: none;
}

/*
 * And let's fade it in from the left
 */
#menuToggle input:checked ~ ul {
	transform: scale(1.0, 1.0);
	-ms-transform: scale(1.0, 1.0); /* IE 9 */
	-webkit-transform: scale(1.0, 1.0); /* Safari and Chrome */
	-o-transform: scale(1.0, 1.0); /* Opera */
	-moz-transform: scale(1.0, 1.0); /* Firefox */
	opacity: 1;
}

#humberger-menu {
	top:0px;
	right:10px;
	z-index:100000000;
	position:absolute;
	transition : .3s;
	-moz-transition: .3s; /* Firefox 4 */
	-webkit-transition: .3s; /* Safari and Chrome */
	-o-transition: .3s; /* Opera */
	position:fixed;
}
.menu-off {
	position: fixed;
}
.hum-show {
	position: fixed;
	width: 100%;
	opacity:0.4;
}
