@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=KoHo:wght@600&display=swap');

section.page-header {
	margin:0;
	padding-top:0;
	position:relative;
	margin-top:0;
	height:350px;
}

.page-header.company {
	background:url(../images/company/top-company.jpg) no-repeat top center;
}

.page-header.products {
	background:url(../images/products/top-products.jpg) no-repeat top right;
}

.page-header.equipment {
	background:url(../images/equipment/top-equipment.jpg) no-repeat top right;
}

.page-header.contact {
	background:url(../images/contact/top-contact.jpg) no-repeat top right;
}

.page-header::before {
  background:rgba(10,60,150,0.5);
  position:absolute;
  content: "";
  display:block;
  margin:0 auto;
  height:100%;
  width:100%; 
}

section.page-header h1 {
	color:#19448e;
	margin:0;
	font-size:24px;
	font-weight: 600;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif!important;
	width:240px;
	height:240px;
	line-height:240px;
	background:rgba(255,255,255,0.8);
	position:relative;
	top:50px;
	left:50px;
	/*outline : 1px solid #fff;
outline-offset : -20px;*/
}

section.page-header h1 span {
	display:block;
	color:rgba(25,47,96,0.3);
	font-size:80px;
	font-family: 'KoHo', sans-serif;
}

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

section.page-header {
	margin:0;
	padding-top:0;
	position:relative;
	margin-top:0;
	height:250px;
}

section.page-header h1 {
	color:#19448e;
	margin:0 auto;
	font-size:17px;
	font-weight:700;
	text-align:center;
	width:120px;
	height:170px;
	line-height:170px;
	background:rgba(255,255,255,0.8);
	position:relative;
	top:50px;
	left:0;
/*outline : 1px solid #fff;
outline-offset : -20px;*/
}
section.page-header h1 span {
	display:block;
	color:rgba(25,47,96,0.3);
	font-size:50px;
	margin-left:-55px;
	margin-top:-25px;
	font-family: 'KoHo', sans-serif;
}

}


section.page-header h1:before,
section.page-header h1:after {
  display:none;
}

section.page-header h1:after {
  display:none;
}

section.page-header h1:before {
   display:none; 
}

h1.subpage {
  position: relative;
  padding: 1.5rem 0 0rem 5px;
  text-align: center;
  font-size:30px;
  letter-spacing:2px;
  font-family: 'Noto Sans JP', sans-serif!important;
}

h1.subpage:after {
  display:none;
}

h1.subpage:before {
  top: auto;
  right:0;
  border-top:none;  
  position: absolute;
  bottom: -30px;
  left: calc(50% - 30px);
  width: 60px;
  height: 2px;
  content: '';
  background:#19448e;
}


table.basic-table {
width:100%;
 border-collapse:collapse;
 border-top:1px solid #ddd;
}

table.basic-table th {
 border-bottom:1px solid #ddd;
 padding:20px 0;
 font-weight: 600;
 width:25%;
 letter-spacing:2px;
 color:#444;
 vertical-align:top;
}

table.basic-table th.three {
letter-spacing:10px;}


table.basic-table td {
 border-bottom:1px solid #ddd;
 padding:20px 0;
}

table.basic-table td.blue {
 border-bottom:1px solid #ddd;
 background:#fafafa;
 padding:20px 20px;
}

@media screen and (max-width: 650px){
table.basic-table th {
 width:40%;
 font-size:14px;
 letter-spacing:0px;
}
}

/*会社案内 アオト板金*/


#company02{
	overflow: hidden;
}

#company02 li{
	float: left;
	width: calc(100%/2);
	line-height: 0;
	position:relative;
	/*background:rgba(10,60,150,1.0);*/
	overflow:hidden;
}

#company02 li img {
	display: block;
	width: 100%;
	height: auto;
	z-index:-1;
	transform: scale(1);
	transition: .3s ease-in-out;
	/*opacity: .7;*/filter: grayscale(100%);
}

@media screen and (max-width: 650px){
#company02 li{
	float: left;
	width: calc(100%/2);
	line-height: 0;
	position:relative;
	/*background:rgba(10,60,150,1.0);*/
	overflow:hidden;
}	
}

/*経営理念*/
#philosophy h3 {
	color:#19448e;
	font-size:20px;
	font-weight: 600;
	text-align:center;
	padding:0 0 30px;
}

.aoto_bankin{
	clear: both;
	overflow: hidden;
	padding-bottom: 50px;
}

.aoto_bankin div {float:left;width:55%;}
.aoto_bankin img{
	float:right;
	width:35%;
	margin: 5px 0 20px 10%;
}

.aoto_bankin h2 {
	position:relative;
	margin:0 0 15px;
	font-size:20px;
	padding-left:0;
	text-align:left;
	line-height:1.5;font-family: 'Noto Sans JP', sans-serif!important;
	padding-right: 0;
	color:#19448e;
}

.aoto_bankin p{
	margin-bottom: 20px;
}

@media only screen and (max-width: 414px){
.aoto_bankin div {
	float:none;width:100%;
}
.aoto_bankin img{
	float: none;
	display: block;width:100%;
	margin: 0 auto 20px;
}

.metal-spinning h2 {
	position:relative;
	margin:0 0 30px;
	font-size:24px;
	padding-left:15%;
	text-align:left;
	line-height:1.5;
}
}

/*　品質管理 */
#quality-management h3 {
	color:#19448e;
	font-size:20px;
	text-align:left;
	font-weight: 600;
	padding:0 0 20px;
}


table.equip-table {
width:100%;
 border-collapse:collapse;
 border-top:1px solid #ddd;
}

table.equip-table th {
 border-bottom:1px solid #ddd;
 border-right:1px solid #ddd;
 padding:20px 15px;
 width:20%;
 letter-spacing:2px;
 color:#444;
 vertical-align:top;
}

table.equip-table td {
 border-bottom:1px solid #ddd;
 padding:20px 15px;
 border-left:1px solid #ddd;
}

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

table.equip-table th.name,table.equip-table td {
 width:100%;
 display:block;
}
}


table.tbl-r05 {
border-top: solid 1px #ddd;
  margin: 20px auto;
  width:100%;
}
.tbl-r05 th {
  border-bottom: solid 1px #ddd;
  padding:25px;
  text-align:center;font-size:15px;
}
.tbl-r05 td {
border-bottom: solid 1px #ddd;
  padding:20px;  
  text-align:center;
}

.tbl-r05 td.blue {
color:#19448e;
font-weight:bold;
}

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

.tbl-r05 {
width:100%;
border-top:none !important;
border-bottom: solid 1px #ddd;
}
.tbl-r05 td:first-child {
  background: #fafafa;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}
  .tbl-r05 {
    width:100%;
	border-top:none;
	border-bottom: solid 1px #ddd;
  }
  .tbl-r05 .thead {
    display: none;
  }
  .tbl-r05 tr {
    width: 100%;
  }
  .tbl-r05 td {
	display: block;
	text-align: right;
	width: 100%;
	padding:10px;
	border-bottom:none;
  }
  .tbl-r05 td:first-child {
    /*font-weight: bold;*/
    text-align: center;
  }
  .tbl-r05 td:before {
    content: attr(data-label);
    float: left;
	font-size:14px;
    /*font-weight: bold;*/
    /*margin-right: 10px;*/
  }
}

.equip-name { 
	font-size:18px!important;
	margin:10px auto 50px!important;
	text-align:center!important;
}


table.product-table {
width:100%;
margin-top:25px;
 border-collapse:collapse;
 border-top:1px solid #ddd;
}

table.product-table th {
 border-bottom:1px solid #ddd;
 padding:15px 0;
 width:25%;
 letter-spacing:2px;
 color:#19448e;
 vertical-align:top;
}

table.product-table th.three {
letter-spacing:10px;}


table.product-table td {
 border-bottom:1px solid #ddd;
 padding:15px 0;text-align:left;
}

@media screen and (max-width: 650px){
table.product-table th {
 width:40%;
 font-size:14px;
 letter-spacing:0px;
}
table.product-table td {
}
}



/* 製品案内アニメ */
/* ---------------------------- */

.multiple-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.multiple-item{
    width: 49%;
    margin-top: 0px;
}

.multiple-item:nth-child(-n+2){
    margin-top: 20px;
}


/* ---------------------------- */

/* アニメーション前 */
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.is-active .u-fade-type-up{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}

.is-active .u-fade-type-up:nth-child(2){transition-delay: 0.5s;}
.is-active .u-fade-type-up:nth-child(3){transition-delay: 1s;}
.is-active .u-fade-type-up:nth-child(4){transition-delay: 1.5s;}
.is-active .u-fade-type-up:nth-child(5){transition-delay: 2s;}
.is-active .u-fade-type-up:nth-child(6){transition-delay: 2.5s;}
.is-active .u-fade-type-up:nth-child(7){transition-delay: 3s;}
.is-active .u-fade-type-up:nth-child(8){transition-delay: 3.5s;}
.is-active .u-fade-type-up:nth-child(9){transition-delay: 4s;}

@media screen and (min-width: 768px) {
    .multiple-item{
        width: 32%;
    }

    .multiple-item:nth-child(-n+3){
        margin-top: 0;
    }
}

table.hera-table {
width:100%;
font-size:14px;
 border-collapse:collapse;
 border-top:1px solid #ddd;
}

table.hera-table th {
 border-bottom:1px solid #ddd;
 padding:20px;
 letter-spacing:2px;
 color:#444;
 vertical-align:top;
}

table.hera-table td {
 border-bottom:1px solid #ddd;
 padding:20px;
}

table.hera-table td.hera {
 background:rgba(162,194,230,0.2);
}
table.hera-table th.hera {
 background:rgba(162,194,230,0.4);
}

table.hera-table td.hera span {
 font-weight:bold;
 font-size:16px;
 color:#19448e;
}

@media screen and (max-width: 650px){
table.basic-table th {
 width:40%;
 font-size:14px;
 letter-spacing:0px;
}
}


table.hera-table02 {
width:100%;
font-size:14px;
 border-collapse:collapse;
 border-top:1px solid #ddd;
}

table.hera-table02 th {
 border-bottom:1px solid #ddd;
 padding:20px;
 letter-spacing:2px;
 color:#444;
 font-size:15px;
 line-height:1.4;
 vertical-align:top;
}

table.hera-table02 td {
 border-bottom:1px solid #ddd;
 padding:20px;
 text-align:right;
 font-size:15px;
}

table.hera-table02 td.hera {
 background:rgba(162,194,230,0.2);
 font-size:17px;color:#19448e;
}
table.hera-table02 th.hera {
 background:rgba(162,194,230,0.4);
}

table.hera-table02 th span,table.hera-table02 td span {
 font-size:12px;
}

@media screen and (max-width: 650px){
table.basic-table th {
 width:40%;
 font-size:14px;
 letter-spacing:0px;
}
}
 
 
.flow ul {
  padding: 0;
}
.flow li {
  list-style-type: none;
}
.flow dd {
  margin-left: 0;
  font-size:16px;
}

.flow {
  border-top: 3px solid #19448e;
}
.flow > li {
  padding: 50px 30px;
}
.flow > li {
  border-bottom: 3px solid #19448e;
  position: relative;
}
.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 12%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color:#19448e;
}
.flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}
.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flow > li dl dt {
  font-size: 24px;
  font-weight: 600;
  color: #19448e;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 1vw;
  text-align: center;
}
.flow > li dl dt .icon {
  font-size:16px;
  color: #fff;
  font-weight:normal;
  background:#2ca9e1;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
}

@media screen and (max-width: 650px){
.flow > li {
  padding: 50px 0px;
}

.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  left: 25%;
}

.flow > li dl dt {
  display:inline-block;
    -ms-flex-preferred-size:80%;
  flex-basis:80%;
  margin-right: 1.5vw;
}
}

h3.contact-h3 {
 border-left:#19448e 5px solid;
 padding:10px 20px 8px;
 font-size:20px;
 margin:80px 0 30px;
}

a.btn-download {
  font-size:16px;
  color: #fff;
  padding:20px 50px;margin:30px;
  /*border-radius: 100vh;*/
  background:#2ca9e1;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
}

a.btn-download span {
 color:#fff;
}

a.btn-download:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .3);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .3);
  text-decoration:none;
}

@media screen and (max-width: 650px){
a.btn-download {
display:block;padding:20px 20px;
text-align:center;
}
}

/* 表組の基本設定 */
.table-form dt
{ color:#444;
    font-size: 15px;line-height:1.7;
    padding: 20px 50px 20px 0px;
    float: left;position: relative;display: block;clear: left;
    border-top:1px solid #ddd;
	text-align:left;
    width:25%;box-sizing:border-box;
	vertical-align:middle;
}

.table-form dd
{ width:75%;
    font-size: 15px;
    padding:20px;
	color:#444;
	box-sizing:border-box;
	line-height:1.7;
    float: left;position: relative;display: block;
    border-top: 1px solid #ddd;
}

/* 幅が指定より狭いときは見出し列と内容を上下に表示 */
@media screen and (max-width: 631px) { /* 表＋左右マージンを取る事を考えて、幅を指定する */
    .table-form {width:100%;margin:0 auto;}
    .table-form dt
     {
        width: 100%;
		text-align:center;
		padding: 20px 0 20px 0;
    }
.table-form dd
     {
        width: 100%;
    }
.table-form dt.last { border:none;}
.table-form dd.last { border:none; border-top: 1px solid rgb(210, 210, 210);}

}

.must {display:inline-block;
vertical-align: middle;
font-size:11.5px;color:#fff; background:#ff6347 ;padding:2px 8px;margin:0 0 0 5px; }


.table-form input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #aaaaaa;
	border: 1px solid #555;
	border-radius:4px;
}

.table-form input[type=text],textarea {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #555;
	border: 1px solid #888;
}
.table-form[type='text']:focus {
	border: 1px solid rgb(41, 136, 226);
	outline: none;
	box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}


.table-form input::-webkit-input-placeholder {
	color: #999;
}
.table-form input:-ms-input-placeholder {
	color: #999;
}
.table-form input::-moz-placeholder {
	color: #999;
}

.btn-square-pop {
  position: relative;
  font-family: 'Barlow','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
  display: inline-block;
  padding:0.8em 1em 0.7em;
  text-decoration: none;
  color: #FFF;
  margin:30px 15px;
  font-size:15px;
  background:#192f60;/*背景色*/
  border:0px solid #fff;/*少し濃い目の色に*/
  border-radius: 4px;/*角の丸み*/
  cursor: pointer;
	transition : all 0.5s ease 0s;
}

.btn-square-pop:hover {
	opacity: 0.7;}
	
.btn-square-pop:active {
  border:0px solid #fff;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

/*　大阪ものづくり　TOPから移動　*/
.mono h3{
	margin: 150px auto;
	font-size:35px;
	padding:0 30px;
	text-align: center;
	position:relative;
	font-weight: 600;
}
