@charset "UTF-8";
/* CSS Document */
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* 上記css改変ver 2020 */
/* ============================================ */
body {
  font-size: 1.3rem;
  font-family: 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Lucida Grande', 'Lucida Sans Unicode', 'ＭＳ Ｐゴシック', Arial, Verdana, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #333333;
}

.font-mincho{
    font-family: 'ＭＳ Ｐ明朝', 'MS PMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', serif;	
}

/* IE調整用 */
_:-ms-input-placeholder, :root body {
  font-family: "メイリオ", Meiryo, sans-serif;
}
header {
  width: 100%;
}
main {
  color: #333;
}
img {
  height: auto;
  max-width: 100%;
}
main th, main td {
  padding: .5em;
  border: 1px solid #C9C9C9;
  text-align: left;
  vertical-align: unset;
}
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }
}
/* テーブル */
/* ============================================ */
.table_scroll table th {
  background: #0060C7;
  color: #fff;
}
th {
  background: #EEE;
  font-weight: bold;
}
main table.align-center th, main table.align-center td {
  vertical-align: middle;
}
.table_scroll table th {
/*  padding: 1em .5em;*/
}
table.sp-block {
  table-layout: unset;
}
table.contact th {
  background: #EEF1F8;
}



@media screen and (max-width: 767px) {
  .table_scroll td, .table_scroll th {
    display: table-cell;
  }
  table td, table th {
    display: block;
    width: 100%;
  }
  .table_scroll {
    overflow-x: scroll;
    margin-bottom: 1.6em;
  }
  .table_scroll table {
    width: 100rem;
    margin-bottom: 0;
  }
  table.sp-block col {
    width: 100%;
  }
	table.normal-table th,
table.normal-table td {
	display: table-cell;
}
	
}
/* リスト */
/* ============================================ */
main ul, main ol {}
ol {
  counter-reset: item;
}

ol.list-circlenum > li {
  counter-increment: item;
  position: relative;
  padding-left: 1.8em;
}
ol.list-circlenum > li:before {
  content: counter(item);
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
	height: 1.4em;
	width: 1.4em;
	position: absolute;
	top: 2px;
	left: 0;
	font-size: .8em;
}

ol.list-num > li {
  counter-increment: item;
  position: relative;
  padding-left: 1.5em;
}
ol.list-num > li:before {
  position: absolute;
  left: 0;
  content: counter(item);
}
ol.list-brackets > li {
  counter-increment: item;
  position: relative;
  padding-left: 2.25em;
}
ol.list-brackets > li:before {
  position: absolute;
  left: -.5em;
  content: "（"counter(item) "）";
}
ol.list-notes-num > li {
  counter-increment: item;
  position: relative;
  padding-left: 2.5em;
}
ol.list-notes-num > li:before {
  position: absolute;
  left: 0;
  content: "※"counter(item) " ";
}
.list-notes > li {
  position: relative;
  padding-left: 1.5em;
}
.list-notes > li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}
.list-line > li {
  position: relative;
  padding-left: .8em;
}
.list-line > li::before {
  content: '-';
  position: absolute;
  top: 0;
  left: 0;
  color: #188fcb;
  font-weight: bold;
}
.list-dot > li {
  position: relative;
  padding-left: .8em;
}
.list-dot > li::before {
  content: '';
  border-radius: 50%;
  width: .4em;
  height: .4em;
  display: inline-block;
  background: #188fcb;
  position: absolute;
  top: .5em;
  left: 0;
}
.list-dot.black > li::before {
  background: #111;
}
.list-square > li {
  position: relative;
  padding-left: .8em;
}
.list-square > li::before {
  content: '';
  width: .6em;
  height: .6em;
  display: inline-block;
  background: #08306D;
  position: absolute;
  top: 0.5em;
  left: -0.1em;
}
.list-diamond > li {
  position: relative;
  padding-left: .8em;
}
.list-diamond > li::before {
content: '◆';
    display: inline-block;
    position: absolute;
    left: -0.3em;
    top: -.1em;
}
.list-dot.black > li::before {
  background: #111;
}

.list-dot.blue > li::before {
  background: #6076fb;
}
ol.list-num > li:not(:last-child), ol.list-brackets > li:not(:last-child), ol.list-notes-num > li:not(:last-child), .list-notes > li:not(:last-child), .list-dot > li:not(:last-child) {}
.item-dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #666;
}
.item-dl dt {
  width: 12em;
  background: #f6f6f6;
  padding: 1em;
}
.item-dl dd {
  width: calc(100% - 13.5em);
  padding: 1em 0;
  position: relative;
}
.item-dl dd::after {
  content: '';
  border-bottom: 1px solid #666;
  position: absolute;
  bottom: 0;
  left: -13.5em;
  width: calc(100% + 13.5em);
}
.item-dl.item-dl-documents dt {
  width: 21em;
}
.item-dl.item-dl-documents dd {
  width: calc(100% - 22.5em);
  padding: 1em 0;
  position: relative;
}
.item-dl.item-dl-documents dd::after {
  content: '';
  border-bottom: 1px solid #666;
  position: absolute;
  bottom: 0;
  left: -22.5em;
  width: calc(100% + 22.5em);
}
ul.indent {
  margin: 0 0 0 1em;
}
.note {
    position: relative;
    margin-left: 1.2em;
    text-indent: -1.3em;
	display: block;
}
.note:before {
    content: "※";
}
@media screen and (max-width: 767px) {
  .item-dl {
    border-top: none;
  }
  .item-dl dt {
    width: 100%;
    border-top: 1px solid #ccc;
    font-weight: bold;
    padding: .25em .5em;
  }
  .item-dl dd {
    width: 100%;
    padding: .5em 0 1em;
  }
  .item-dl dd:last-child {
    padding-bottom: 0;
  }
  .item-dl dd::after {
    width: 0;
  }
  .item-dl.item-dl-documents dt {
    width: 100%;
    border-top: 1px solid #ccc;
    font-weight: bold;
    padding: .25em .5em;
  }
  .item-dl.item-dl-documents dd {
    width: 100%;
    padding: .5em 0 1em;
  }
  .item-dl.item-dl-documents dd::after {
    width: 0;
  }
}
/* ページトップボタン */
/* ============================================ */
.bt-pagetop {
  position: fixed;
  bottom: 1em;
  right: 1em;
  display: none;
}
.link-pagetop {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 100%;
  background: #333;
}
.link-pagetop:hover {
  background: #999;
}
.link-pagetop:after {
  position: absolute;
  content: '';
  top: calc(50% - .25em);
  left: calc(50% - .5em);
  display: block;
  width: 1em;
  height: 1em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.link-pagetop {
  width: 40px;
  height: 40px;
}
/* PC・SPの表示・非表示　 */
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
/* flex */
/* ============================================ */
.wrap-row {
  display: flex;
  justify-content: space-between;
}
.wrap-row.j-center{
	justify-content: center;
}
.wrap-row > div,.wrap-row > section{
	margin-bottom: 2em;
}

.flex-wrap{
    flex-wrap: wrap;
}

.pc-flex-100{
	flex-basis: 100%;
}

.max-50{
	max-width: 50rem;
	margin: auto;
}
.width-100 {
  width: 100%;
}
.width-90 {
  width: 90%;
}
.width-85 {
  width: 85%;
}
.width-80 {
  width: 80%;
}
.width-75 {
  width: 75%;
}
.width-70 {
  width: 70%;
}
.width-65 {
  width: 65%;
}
.width-60 {
  width: 60%;
}
.width-55 {
  width: 55%;
}
.width-50 {
  width: 50%;
}
.width-45 {
  width: 45%;
}
.width-40 {
  width: 40%;
}
.width-35 {
  width: 35%;
}
.width-30 {
  width: 30%;
}
.width-25 {
  width: 25%;
}
.width-20 {
  width: 20%;
}
.width-15 {
  width: 15%;
}
.width-10 {
  width: 10%;
}

.width-5 {
  width: 5%;
}

.col-width-100 {
  width: 100%;
}
.col-width-90 {
  width: 88%;
}
.col-width-85 {
  width: 83%;
}
.col-width-80 {
  width: 78%;
}
.col-width-75 {
  width: 73%;
}
.col-width-70 {
  width: 68%;
}
.col-width-65 {
  width: 63%;
}
.col-width-60 {
  width: 58%;
}
.col-width-55 {
  width: 53%;
}
.col-width-50 {
  width: 48.5%;
}
.col-width-45 {
  width: 44%;
}
.col-width-40 {
  width: 39%;
}
.col-width-35 {
  width: 34%;
}
.col-width-33 {
  width: 32%;
}
.col-width-30 {
  width: 29%;
}
.col-width-25 {
  width: 24%;
}
.col-width-20 {
  width: 19%;
}
.col-width-15 {
  width: 14%;
}
.col-width-10 {
  width: 9%;
}
.w-1 {
  width: 1em;
}
.w-2 {
  width: 2em;
}
.w-3 {
  width: 3em;
}
.w-4 {
  width: 4em;
}
.w-5 {
  width: 5em;
}
.w-6 {
  width: 6em;
}
.w-7 {
  width: 7em;
}
.w-8 {
  width: 8em;
}
.w-9 {
  width: 9em;
}
.w-10 {
  width: 10em;
}


@media screen and (max-width: 767px) {
 .wrap-row {
    flex-direction: column;
  }	
.wrap-row.sp-col2 > div {
    width: 48% !important;
}
.wrap-row.sp-col2 {
    flex-direction: unset;
}
.col-width-10, .col-width-15, .col-width-20, .col-width-25, .col-width-30,.col-width-33, .col-width-35, .col-width-40, .col-width-45, .col-width-50, .col-width-55, .col-width-60, .col-width-65, .col-width-70, .col-width-75, .col-width-80, .col-width-85, .col-width-90, .col-width-95, .col-width-100 {
        width: 100%;
    }
.width-10, .width-15, .width-20, .width-25, .width-30, .width-35, .width-40, .width-45, .width-50, .width-55, .width-60, .width-65, .width-70, .width-75, .width-80, .width-85, .width-90, .width-95, .width-100 {
        width: 100%;
    }
	
.pc-flex-100{
	flex-basis: auto;
}
	
}

/* フォーム */
/* ============================================ */
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="phone"], input[type="tel"], input[type="number"], input[type="datetime"], input[type="date"], input[type="month"], input[type="color"], input[type="time"], input[type="search"], input[type="datetime-local"], button, input[type="submit"], input[type="reset"], textarea {
  background: #fff;
  border: 1px solid #bbbcc0;
  position: relative;
  z-index: 2;
  -webkit-appearance: none;
  -moz-transition: border ease 0.5s;
  transition: border ease 0.5s;
  padding: .3em .35em;
  line-height: 1.618em;
  border-radius: 0;
  outline: none;
}
input[type="reset"], input[type="submit"], input[type="file"], input[type="radio"], input[type="checkbox"], select, button {
  cursor: pointer;
}
input[type="radio"], input[type="checkbox"] {
  position: relative;
  top: -1px;
  margin-right: .5rem;
}
button, input[type="submit"], input[type="reset"] {
  font-weight: bold;
  display: block;
  font-size: 1.4rem;
  padding: .8em 4em;
  margin: 0 auto;
  border: 1px solid transparent;
  color: #333333;
  background: #eeeded;
  cursor: pointer;
  border-radius: 2px;
  -webkit-appearance: none;
}
button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
  color: rgba(0, 0, 0, 0.5);
  background: #dbdada;
}
.txtboxM {
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.txtboxL {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.box_privacy {
  width: 100%;
  height: 15rem;
  overflow: auto;
  margin: 0 0 2rem;
  padding: 2rem;
  background: #F6F6F6;
  border: 1px solid #DDD;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .txtboxM {
    width: 100%;
  }
}
/* margin/padding */
/* ============================================ */
.mt-0 {
  margin-top: 0 !important;
}
.mt-05 {
  margin-top: .5em !important;
}
.mt-1 {
  margin-top: 1em !important;
}
.mt-2 {
  margin-top: 2em !important;
}
.mt-3 {
  margin-top: 3em !important;
}
.mt-4 {
  margin-top: 4em !important;
}
.mt-5 {
  margin-top: 5em !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-05 {
  margin-bottom: .5em !important;
}
.mb-1 {
  margin-bottom: 1em !important;
}
.mb-2 {
  margin-bottom: 2em !important;
}
.mb-3 {
  margin-bottom: 3em !important;
}
.mb-4 {
  margin-bottom: 4em !important;
}
.mb-5 {
  margin-bottom: 5em !important;
}
.ml-0 {
  margin-left: 0 !important;
}
.ml-1 {
  margin-left: 1em !important;
}
.ml-2 {
  margin-left: 2em !important;
}
.ml-3 {
  margin-left: 3em !important;
}
.mr-0 {
  margin-right: 0 !important;
}
.mr-1 {
  margin-right: 1em !important;
}
.mr-2 {
  margin-right: 2em !important;
}
.mr-3 {
  margin-right: 3em !important;
}
.ml-auto {
  margin-left: auto !important;
}
.mr-auto {
  margin-right: auto !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-05 {
  padding-top: .5em !important;
}
.pt-1 {
  padding-top: 1em !important;
}
.pt-2 {
  padding-top: 2em !important;
}
.pt-3 {
  padding-top: 3em !important;
}
.pt-4 {
  padding-top: 4em !important;
}
.pt-5 {
  padding-top: 5em !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pb-05 {
  padding-bottom: .5em !important;
}
.pb-1 {
  padding-bottom: 1em !important;
}
.pb-2 {
  padding-bottom: 2em !important;
}
.pb-3 {
  padding-bottom: 3em !important;
}
.pb-4 {
  padding-bottom: 4em !important;
}
.pb-5 {
  padding-bottom: 5em !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.pl-1 {
  padding-left: 1em !important;
}
.pl-2 {
  padding-left: 2em !important;
}
.pl-3 {
  padding-left: 3em !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pr-1 {
  padding-right: 1em !important;
}
.pr-2 {
  padding-right: 2em !important;
}
.pr-3 {
  padding-right: 3em !important;
}


.pl-pr-1{
	padding: 0 1em;
}

/* print CSS*/
/* ============================================ */
@media print {
  body {
    width: 1300px;
    zoom: 0.8;
    -webkit-print-color-adjust: exact;
  }
  header {
    position: relative;
  }
  .bt-pagetop {
    display: none;
  }
}
/* 共通 */
/* ============================================ */
main, header, footer {
  min-width: 100rem;
}
.content > section:not(:last-child) {
  margin-bottom: 4em;
}
section > section {
  margin-bottom: 2.4em;
}
section > section:last-child {
  margin-bottom: 0;
}
.d-block{
	display: block;
}
.allow-icon {
    position: relative;
    text-indent: -0.6em;
    margin: 0 0 0 1em;
}
.allow-icon:before {
    content: url("/common/images/icon01.png?2025");
    position: relative;
    right: 5px;
}
.allow-icon2 {
    position: relative;
    text-indent: -0.6em;
    margin: 0 0 0 1em;
}
.allow-icon2:before {
    content: url(/common/images/icon03.png?2025);
    position: relative;
    right: 5px;
}
.wrapper {
  display: flex;
  justify-content: space-between;
  width: 98rem;
  margin: auto;
  margin-bottom: 4em;
}
.wrapper .content {
  flex-basis: 68rem;
}
.page_ttl.products {
  background-image: url(/common/images/ttl_product_bg.jpg?2025);
}
.page_ttl.sitemap {
  background-image: url(/common/images/ttl_sitemap_bg.jpg?2025);
}
.page_ttl.news {
  background-image: url(/common/images/ttl_news_bg.jpg?2025);
}
.page_ttl.company {
  background-image: url(/common/images/ttl_company_bg.jpg?2025);
}
.page_ttl.inquiry {
  background-image: url(/common/images/ttl_inquiry_bg.jpg?2025);
}
.page_ttl.factory {
  background-image: url(/common/images/ttl_introduction_bg.jpg?2025);
}
.page_ttl.owner {
  background-image: url(/common/images/ttl_owner_bg.jpg?2025);
}
.page_ttl.quality {
  background-image: url(/common/images/ttl_quality_bg.jpg?2025);
}
.page_ttl.recruit {
  background-image: url(/common/images/ttl_recruit_bg.jpg?2025);
}
.page_ttl {
  background-position: top center;
  background-repeat: no-repeat;
  height: 13.2rem;
  margin-bottom: 2.6em;
}
.bread {
  margin: auto;
  margin-bottom: 2em;
  max-width: 98rem;
  position: relative;
}
.t-center {
  text-align: center;
}
.t-left {
  text-align: left;
}
.t-right {
  text-align: right;
}
p:not(:last-child) {
  margin-bottom: 1em;
}
.bold {
  font-weight: bold;
}
a.common_link {
    color: #006ebb;
    border-bottom: 1px dotted;
	display: inline-block;
}
a.common_btn {
    text-align: center;
    font-weight: bold;
    font-size: 105%;
    background-image: linear-gradient(180deg, #0096D0 10%, #0081C4 51%, #0074B7 52%, #0161AA 100%);
    color: #fff;
    padding: .75em .5em;
    display: inline-block;
    border-radius: 5px;
	border: solid 1px #999;
}
a.common_link_gray {
    font-weight: bold;
    background: #073763;
    border-radius: 5px;
    align-items: center;
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 1em 1em;
    font-size: 1.6rem;
}
span.reproduction {
    display: inline-block;
    position: relative;
    top: 2px;
    width: 1em;
    height: 1em;
    border: 2px solid;
    border-radius: 3px;
    margin-right: 0.5em;
}
span.reproduction:before {
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.3em solid transparent;
    border-left: 0.5em solid currentColor;
    box-sizing: border-box;
    content: "";
}
.font-90{
	font-size: 90%;
}
.font-100{
	font-size: 100% !important;
}
.font-110{
	font-size: 110%;
}
.font-120{
	font-size: 120%;
}
.font-3rem{
	font-size: 3rem;
}
.page_link {
    padding-top: 6.5rem;
    margin-top: -6.5rem;
}
iframe {
    width: 100%;
    min-height: 35rem;
}
.bottom_border {
   border-bottom: 1px #ddd solid;
}
.bottom_border_gray {
   border-bottom: 1px #B6B6B6 solid;
}
.b-bottom-gradation {
    position: relative;
}
.b-bottom-gradation:before {
    content: '';
    position: absolute;
    width: 13rem;
    height: 4px;
    right: 0;
    left: 0;
    bottom: 0px;
    margin: 0 auto;
    background: linear-gradient(90deg, #0A457F, #0079c0 50%, #0a4581 74%);
}
.back_line_box {
    padding: 1em;
    position: relative;
    background-size: 4px 4px;
    box-shadow: inset 0px 3px 4px 0px #878787;
    z-index: 10;
    background: linear-gradient(to bottom, #cfcfcf , #ffffff 61%);
}
.back_line_box:before {
	content:"";
	background: url(/common/images/wrap_contact_back.png?2025) 100%;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -1;
}
.back_line_box2 {
    position: relative;
    z-index: 10;
    background: linear-gradient(0deg, rgb(209 209 209) 24%, rgba(255, 255, 255, 1) 58%);
    padding: 1.5em;
/*    box-shadow: 0px 2px 0px 0px #7d7d7d;*/
	border-left: solid 1px;
    border-right: solid 1px;
    border-image: linear-gradient(to top, #bbb, #fff) 1;
	border-bottom: #bbbbbb 2px solid;
}
.back_line_box2:before {
    content: "";
    background: url(/common/images/wrap_contact_back.png?2025) 100%;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}
.back_line_box2:after {
    content: "";
    position: absolute;
    width: 102%;
    height: 50%;
    left: -1%;
    top: 0;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 85%);
    z-index: -1;
}
.back_line_box2.half:after{
	height: 100%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 45%);
}
.back_line_box2.long:after{
height: 100%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 60%);
}
.c-blue{
	color: #08306D;
}
.c-red{
	color: #c90000;
}
.c-white{
	color: #fff;	
}
.back-blue{
	background: #0060C7;
}

@media screen and (max-width: 767px) {
  section > section {}
  main, header, footer {
    min-width: unset;
  }
  .wrapper {
    width: 98%;
    margin: auto;
    display: block;
  }
  .wrapper .content {
    margin-bottom: 2em;
  }
  .page_ttl {
    margin-bottom: 2em;
  }
  .bread {
    width: 98%;
  }
	.sp_display_table{
		display: table!important;
	}
.font-3rem{
	font-size: 2.5rem;
}
	a.common_btn{
		max-width: 30rem;
	}
.sp-t-center {
  text-align: center;
}
iframe {
    min-height: 28rem;
}
	
.sp-border {
    border-bottom: solid 1px #F0F0F0;
    margin: 2em 0;
}
	
}

/* 見出し */
/* ============================================ */
.heading1 {
  background: linear-gradient(to bottom, #f7f7f7 50%, #ededed);
  padding: 1em 1em .6em 1em;
  font-weight: bold;
  font-size: 2em;
  box-shadow: 0px 1px 3px 0px #666666;
  position: relative;
  border-bottom: 6px solid #949494;
  margin-bottom: 1.1em;
}
.heading1:before {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 71%;
  height: 6px;
  background: #004067;
}
.heading2 {
  background: linear-gradient(to bottom, #ffffff 50%, #f1f1f0);
  padding: 0.8em 1em 0.6em 1em;
  font-weight: bold;
  font-size: 1.7em;
  position: relative;
  margin-bottom: 1em;
  border-top: 3px solid #f2f2f2;
}
.heading2:before {
  content: '';
  position: absolute;
  top: -3px;
  left: 0;
  width: 30%;
  height: 3px;
  background: #006ebb;
}
.heading2 a.other {
    color: #3570c3;
    font-size: 0.7em;
    margin: 0 0 0 1em;
    position: relative;
    bottom: 2px;
}
.heading3 {
  padding: 0 0em 0.6em 0em;
  font-weight: bold;
  font-size: 1.4em;
  position: relative;
  margin-bottom: 1em;
}
.heading3:before {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0em;
  width: 5rem;
  height: 4px;
  background: linear-gradient(90deg, #0A457F, #0079c0 50%, #0a4581 74%);
}
.heading3.center {
  text-align: center;
}
.heading3.center:before {
  right: 0;
  left: 0;
  margin: 0 auto;
}
.heading4 {
    font-weight: bold;
    font-size: 1.5em;
    position: relative;
    margin-bottom: 1em;
}
.heading5 {
    padding: 0.8em;
    background: #F6F6F6;
    box-shadow: inset 0px -3px 4px 0px #afafaf;
    font-size: 1.4rem;
    border: solid 1px #dddddd;
    margin-bottom: 1em;
}
.heading6 {
    background: #434343;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    padding: .5em 1em;
    display: inline-block;
    margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .heading1 {
    font-size: 1.6em;
  }
  .heading2 {
    font-size: 1.4em;
  }
  .heading3 {
    font-size: 1.3em;
  }
	.heading4 {
    	font-size: 1.3em;
	}
.heading5 {
     font-size: 1.3rem;
}
.heading2 a.other {
display: block;
margin: 0;
bottom: auto;
margin-top: .2em;
}
}
/* ヘッダ */
/* ============================================ */
.head-top {
  border-top: solid 5px #083b79;
  background: linear-gradient(to bottom, #ffffff 50%, #ececec);
  padding: .8em 1em;
  position: relative;
  z-index: 8;
}
.head-top > div {
  display: flex;
  justify-content: space-between;
  width: 98rem;
  margin: auto;
}
.select ul {
  display: flex;
  align-items: center;
}
header h1 {
  margin-left: 7.4em;
  font-size: 1.2rem;
}
.head-top > div > section {
  padding: .5em 0 0 0;
}
p.top-only {
  margin-left: 6em;
  margin-top: .3em;
  display: none;
}
body.top p.top-only {
  display: block;
}
.head-top > div > section a {
  display: block;
  margin: -1.5rem 0 0 0;
}
.select ul li {
  margin-right: 1.5em;
}
.select ul li:not(:last-child) {
  margin-top: 2em;
}
.select ul li:last-child {
  margin: 0;
}
.head-list {
  background: linear-gradient(to bottom, #ffffff 50%, #cfd0cf);
}
.head-list:before {
  content: "";
  background: url(../images/bg_nav.png?2025);
  display: block;
  width: 100%;
  height: 5px;
}
.head-list nav {
  width: 98rem;
  margin: auto;
}
.head-list nav ul {
  display: flex;
}
.burger {
  display: none;
}
@media screen and (max-width: 767px) {
  header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-width: unset;
  }
  .head-top {}
  .head-top > div {
    width: 100%;
    display: block;
  }
  .select ul {
    display: flex;
		flex-direction: column-reverse;
  }
  header h1 {
    margin-left: 5.8em;
    font-size: 1.1rem;
  }
  .head-top > div > section {
    padding: 0;
  }
  p.top-only {
    font-size: 1.2rem;
    margin-left: 4.5em;
    margin-top: .5em;
  }
  .head-top > div > section a {
    margin: 0;
  }
  .select ul li {
    margin-right: 0;
    margin-bottom: 1.5rem;
  }
  .select ul li:not(:last-child) {
    margin-top: 0;
  }
  .select ul li:last-child {
    margin-bottom: 1.5rem;
  }
  .head-list {
    display: none;
    position: fixed;
    width: 100%;
    height: calc(100% - 66px);
    overflow-y: auto;
  }
  .head-list:before {}
  .head-list nav {
    width: 100%;
  }
  .head-list nav ul {
    display: block;
    text-align: center;
		margin-bottom: 1.5em;
  }
  .head-list > div {
    padding: 2rem 0.7em;
  }
  header .burger {
    display: block;
    position: absolute;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 100;
    top: 50%;
    transform: translateY(-50%);
  }
  .burger span {
    display: block;
    position: absolute;
    top: 50%;
    left: 15%;
    width: 65%;
    height: 2px;
    background-color: #083b79;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .burger span:nth-of-type(1) {
    margin-top: -10px;
  }
  .burger span:nth-of-type(3) {
    margin-top: 10px;
  }
  .burger.active span:nth-of-type(1) {
    top: 24px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: 0;
  }
  .burger.active span:nth-of-type(2) {
    left: 50%;
    width: 0;
  }
  .burger.active span:nth-of-type(3) {
    top: 24px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-top: 0;
  }
  .head-top > div > section a img {
    width: 25rem;
  }
  .head-list nav li {
    overflow: hidden;
    position: relative;
    height: 55px;
    width: 190px;
    margin: auto;
    margin-bottom: .25rem;
  }
  .head-list nav li a {
    display: block;
    position: absolute;
    margin: auto;
    left: -4px;
    top: -10px;
  }
  .head-list nav li img {
    max-width: none;
  }
}
/* コンテンツ */
/* ============================================ */
.common_borderbox {
  padding: 2em;
  border: 1px solid #CCC;
}
.common_borderbox > div {
  border-bottom: 1px dotted #999;
  padding: 0 0 1em 1em;
  margin: 0 0 1em 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.common_borderbox > div:last-child {
  margin: 0;
}
.common_borderbox > div > span {
  color: #939393;
  flex-basis: 13%;
}
.common_borderbox > div > a,.common_borderbox > div > p {
  flex-basis: 83%;
}
.common_borderbox.no-border {
  padding: 0;
  border: none;
}
.common_borderbox.no-border > div > span {
  color: #333;
}
.common_borderbox.company > div > span {
  color: #939393;
  font-weight: bold;
  flex-basis: 17%;
}
.common_borderbox.company > div > a,.common_borderbox > div > p,.common_borderbox > div > div {
  flex-basis: 78%;
}
.common_borderbox.company > div {
  border-bottom: 1px solid #eee;
}
.common_borderbox > div.new {
  padding: 0 0 0 1em;
}
.common_borderbox > div.new > a,.common_borderbox > div > p {
  min-height: 1em;
}
.common_borderbox > div.new > span {
  min-height: 1em;
}
.common_borderbox > div.new > a:after,.common_borderbox > div.new > p:after {
  content: url(/common/images/a_btn133.gif);
  height: auto;
  display: inline;
  vertical-align: middle;
}
.news_show_box {
	margin: 0 0 2em;
	padding: 4em;
	border: 1px solid #CCC;
	display: flex;
	justify-content: center;
}
.news_show_box > div {
		display: inline-flex;
    flex-direction: column;
}
.news_show_box .wrap-movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
	min-width: 560px;
}
.news_show_box .wrap-movie iframe {
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	min-height: inherit;
}
body.products p.matchheight {
    height: 110px;
}
.back_image {
    background-repeat: no-repeat;
background-position: top center;
    padding: 1em;
}
.back_image.roll {
    background-image: url("/products/img/roll_product_box01_img01.jpg?2025");
    height: 265px;
}
.back_image.pipe {
    background-image: url("/products/img/pipe_product_box01_img01.jpg?2025");
    height: 265px;
}
.back_image.stainless {
    background-image: url("/products/img/stainless_product_box01_img01.jpg?2025");
    height: 170px;
	    background-position: right;
}
.item_more {
    padding: 2em 2em;
    background: #E7E7E7;
    box-shadow: rgba(179, 179, 179, 0.65) 0px 0px 6px 3px inset;
    -webkit-box-shadow: rgba(179, 179, 179, 0.65) 0px 0px 6px 3px inset;
    -moz-box-shadow: rgba(179, 179, 179, 0.65) 0px 0px 6px 3px inset;
    display: flex;
    justify-content: space-between;
}
.item_more > section {
    flex-basis: 47%;
}
.item_more > div {
    flex-basis: 47%;
}
.item_more dl {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    border-bottom: 1px solid #C9C9C9;
    margin-bottom: 1em;
}
.item_more dl dt {
    flex-basis: 28%;
    color: #818181;
    font-size: 1.1em;
    display: flex;
    align-items: center;
}
.item_more dl dd {
    flex-basis: 68%;
    font-size: 1.4em;
    color: #555;
    text-align: right;
}
.item_more dl:last-child {
    margin: 0;
}

@media screen and (max-width: 767px) {
  .common_borderbox {
    padding: 1em;
  }
  .common_borderbox > div {
    display: block;
  }
  .common_borderbox > div > span {
    display: block;
    margin-bottom: .2em;
  }
  .common_borderbox > div > a,.common_borderbox > div > p {
    display: block;
  }
.news_show_box {
    padding: 2em 1em;
	display: block;
}
	.news_show_box > div {
		display: block;
		max-width: 480px;
		margin: auto;
	}
.news_show_box .wrap-movie {
	min-width: inherit;
	}
body.products p.matchheight {
    height: auto;
}
	.back_image p{
padding: 0.5em;
background: rgb(255 255 255 / 70%);
	}
.item_more {
display: block;
}
.item_more > section {
margin-bottom: 2em;
}
}

/* フッター */
/* ============================================ */
footer:before {
  content: "";
  background: url(../images/bg_nav.png?2025);
  display: block;
  width: 100%;
  height: 5px;
}
footer .link {
  background: linear-gradient(to bottom, #ffffff 30%, #ececec);
}
footer .copy {
  background: linear-gradient(to bottom, #14569B 28%, #031F4E);
  box-shadow: 0px 2px 6px 0px #031F4E inset;
}
footer .copy p {
  color: #fff;
  margin: 0 0 0 5px;
}
footer .link > div {
  border-left: solid 1px #A6A6A6;
  width: 98rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
footer .link ul {
  padding: 4rem 2rem;
  border-right: solid 1px #A6A6A6;
  flex-basis: 25%;
  background: #f1f1f0;
}
footer .link ul:nth-child(2) {
  flex-basis: 28%;
}
footer .link ul li {
  margin-bottom: .7rem;
  background-image: url(../images/icon02.png?2025);
  background-repeat: no-repeat;
  padding: 0 0 0 2rem;
  background-position: left 3px;
}
footer .link ul li.child {
  margin-bottom: .6rem;
  background-image: url(../images/icon03.png?2025);
  background-repeat: no-repeat;
  background-position: left 4px;
  padding: 0 0 0 2rem;
}
footer .link ul li:last-child {
  margin-bottom: 0;
}
footer .link a {
  font-weight: bold;
}
footer .link li.child a {
  color: #7C7C7C;
  font-weight: normal;
}
footer .copy > div {
  width: 98rem;
	min-height: 5rem;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .copy > div a {
    width: 195px;
}
#page-top {
  margin: 0;
  padding: 0;
  position: fixed;
  right: 30px;
  bottom: 30px;
  text-align: center;
  z-index: 20;
}
#page-top a {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  padding-top: 10px;
  display: block;
  border: 1px solid #193153;
  background-color: rgba(255, 255, 255, .48);
  color: #193153;
  line-height: 2em;
  text-decoration: none;
}
#page-top a:hover {
  width: 50px;
  height: 50px;
  background-color: rgba(241, 235, 226, .48);
  line-height: 2em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  footer {}
  footer .link > div {
    width: 100%;
    display: block;
  }
  footer .link ul {
    padding: 2rem 1rem;
    border-right: none;
    border-bottom: solid 1px #A6A6A6;
  }
  footer .copy > div {
    width: 96%;
    flex-direction: column;
    text-align: center;
    padding: 2em 0;
  }
  #page-top {
    right: 20px;
    bottom: 20px;
  }
}
/* サイドバー */
/* ============================================ */
aside {
  width: 27.2rem;
}
.side_link {
  margin-bottom: 3em;
}
.side_link ul {
  border: solid 1px #c9c9c9;
  border-top: none;
  background: #f2f2f2;
}
.side_link ul li {
  border-bottom: dotted 1px #c9c9c9;
  background: aliceblue;
  margin: auto 0;
}
.side_link ul li:last-child {
  border: none;
}
.side_link ul li a {
  padding: 1em 1em 1em 2em;
  display: block;
  background: #f2f2f2;
  background-image: url(../images/icon03.png?2025);
  background-repeat: no-repeat;
  background-position: 1rem 1.7rem;
}
ul.side_baner li {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  aside {
    width: 100%;
  }
  .side_link {
    width: 100%;
    max-width: 27.2rem;
    margin: auto;
    margin-bottom: 3em;
  }
  ul.side_baner li {
    text-align: center;
  }
  .side_link > div {
    text-align: center;
  }
}

/* cotactパーツ */
/* ============================================ */
		.wrap-contact:not(:last-child) {
			margin-bottom: 20px !important;
		}
		.contact_ttl {
			background: linear-gradient(0deg, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
			font-size: 120%;
			font-weight: bold;
			display: flex;
			color: #fff;
			height: 106px;
		}
	.contact_ttl span {
		background: url(/inquiry/img/contact_ttl_back.png?2025) no-repeat left top;
		height: 64px;
		width: 483px;
		padding: 1em 20px 0 30px;
		margin-top: 35px;
		z-index: 5;
		}
	.contact_ttl figure {
		height: 106px;
		width: 150px;
		margin: 0 20px 0 auto;
		z-index: 6;
		}
		.inner_contact {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 660px;
			margin: 0 0 0 20px;
			position: relative;
		}
		.wrap-contact	.inner_contact:last-child {
				border-bottom: 2px solid #787878;
			}
		.inner_contact::before,
		.inner_contact::after {
			content: '';
			width: 100%;
			height: calc(100% + 60px);
			position: absolute;
			top: -60px;
		}
		.inner_contact + .inner_contact::before,
		.inner_contact + .inner_contact::after {
			content: '';
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
		}
		.inner_contact::before {
    	background: url(/inquiry/img/wrap_contact_back.png?2025);
			z-index: -1;
		}
		.inner_contact::after {
			background: linear-gradient(0deg, rgba(221,221,221,1) 20%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
			z-index: -2;
		}
		.contact_ttl_sub {
			width: 100%;
			font-size: 1.5em;
			font-weight: bold;
			line-height: 1.333em;
			background: url(/common/images/h3_bg.png?2025) no-repeat 20px bottom;
			padding: 0 0 10px 20px;
			margin: 0 0 10px 0;
			z-index: 4;
		}
		.inner_contact + .inner_contact .contact_ttl_sub {
			margin-top: 20px;
		}
		.wrap-tel {
			width: 312px;
			margin: 0 0 15px 20px;
			z-index: 2;
		}
		.wrap-tel	.page_tel {
    height: 60px;
    color: #063573;
    background: url(/inquiry/img/tel_icon.png?2025) no-repeat top left;
    padding: 10px 0 0 60px;
    font-size: 220%;
    line-height: 1.0;
    font-weight: bold;
}
		.wrap-tel	.page_tel span {
    padding: 5px 0 0 0;
    display: block;
    font-size: 45%;
    font-weight: normal;
}
		.wrap-tel	.page_fax {
    height: 38px;
    line-height: 38px;
    background: url(/inquiry/img/fax_icon.png?2025) no-repeat top 0px left 10px;
    padding: 0 0 0 60px;
    font-size: 120%;
    font-weight: bold;
}
		.wrap-form {
			display: flex;
			flex-direction: column;
			align-items: center;
			width: 300px;
			margin: 0 20px 15px 0;
			border: 1px solid #c0c0c0;
			background: #f2f2f2;
			text-align: center;
			padding: 10px;
			z-index: 3;
			box-shadow: rgba(184, 184, 184, 0.27) 0px 0px 3px 1px inset;
			-webkit-box-shadow: rgba(184, 184, 184, 0.27) 0px 0px 3px 1px inset;
}
		.wrap-form p {
		  font-size: 90%;
			color: #797979;
			margin: 0 0 .5em;
		}
		.wrap-add {
			width: 100%;
			margin: 0;
			padding: 1.25em 20px;
			position: relative;
			z-index: 1;
		}
		.wrap-add::before {
			content: '';
			width: 100%;
			height: 170px;
			background: url(/inquiry/img/wrap_tel_back.png?2025) no-repeat bottom center;
			position: absolute;
			display: block;
			top: -170px;
			right: 0;
		}
		.wrap-add span {
			margin-right: 1em;
		}
		@media screen and (max-width: 767px) {
			.wrap-contact {
				max-width: 480px;
				width: 100%;
				margin-left: auto;
				margin-right: auto;
			}
			.inner_contact {
				width: 100%;
				margin-left: 0;
			}
			.contact_ttl {
				display: block;
				height: auto;
			}
			.contact_ttl span {
			background: linear-gradient(0deg, rgba(4,91,150,1) 0%, rgba(23,121,191,1) 100%);
				padding: 1em;
				height: auto;
				display: block;
				width: 100%;
				line-height: 1.5;
			}
			.contact_ttl figure {
				display: none;
			}
		.inner_contact::before,
		.inner_contact::after {
			height: 100%;
			top: 0;
			}
			.contact_ttl + .inner_contact {
				padding-top: 1em;
			}
		.contact_ttl_sub {
			font-size: 1.3em;
			}
			.wrap-tel,
			.wrap-form {
				width: calc(100% - 2em);
				max-width: 320px;
				margin: 0 auto 1em;
			}
			.wrap-tel .page_tel {
				font-size: 200%;
			}
			.wrap-add {
			padding: 1em;
			}
				.wrap-add span {
					margin: 0;
					display: block;
			}
		}

