@charset "UTF-8";
/* CSS Document */
.wrap {
  overflow: hidden;
}
@media screen and (min-width: 767px) { /*ウィンドウ幅が767px以上の場合に適用*/
  h1, h2, h3, h4, p {}
  #header {
    background: #fff;
  }
  h1 img {
    width: 300px;
    float: left;
  }
  .header_right {
    float: right;
  }
  .header_right p {
    float: left;
    line-height: 1.3;
    font-size: 70%;
    color: #3b65a2;
  }
  .header_right p a {
    color: #3b65a2;
  }
  .header_right p.tellink span {
    color: #3b65a2;
    font-size: 2.3em;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  .header_right p.tellink span::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f098";
    margin-right: 5px;
  }
  #head_area {
    max-width: 1000px;
	width: 95%;
    margin: auto;
    padding: 30px 0;
    overflow: hidden;
  }
  /*メイン画像*/
  #main_img {
    position: relative;
    height: 300px;
    width: 100%;
  }
  #main_img img {
    width: 100%;
  }
  .com #main_img {
    background: url("../img/company_top.webp") no-repeat;
    background-size: cover;
    background-position: center;
  }
  .pro #main_img {
    background: url("../img/product_top.webp") no-repeat;
    background-size: cover;
  }
  .mak #main_img {
    background: url("../img/maker_top.webp") no-repeat;
    background-size: cover;
  }
  .per #main_img {
    background: url("../img/personal_top.webp") no-repeat;
    background-size: cover;
    background-position: top;
  }
  .rec #main_img {
    background: url("../img/recruit_top.webp") no-repeat;
    background-size: cover;
  }
  .con #main_img {
    background: url("../img/contact_top.webp") no-repeat;
    background-size: cover;
  }
  .kan #main_img {
    background: url("../img/kanzai_top.webp") no-repeat;
    background-size: cover;
  }
  .ei #main_img {
    background: url("../img/eisei_top.webp") no-repeat;
    background-size: cover;
	  background-position: right;
  }
  .kog #main_img {
    background: url("../img/kougu2_top.webp") no-repeat;
    background-size: cover;
  }
  .den #main_img {
    background: url("../img/dendou_top.webp") no-repeat;
    background-size: cover;
  }
  .air #main_img {
    background: url("../img/ac_top.webp") no-repeat;
    background-size: cover;
  }
  .jyu #main_img {
    background: url("../img/jyutaku_top.webp") no-repeat;
    background-size: cover;
  }
  .in #main_img {
    background: url("../img/info_top.webp") no-repeat;
    background-size: cover;
  }
  .site #main_img {
    background: url("../img/sitemap_top.webp") no-repeat;
    background-size: cover;
  }
  .pri #main_img {
    background: url("../img/privacy_top.webp") no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .p404 #main_img {
    background: url("../img/404.webp") no-repeat;
    background-size: cover;
    background-position: bottom;
  }
	
	
  .top_sengen {
    position: absolute;
    top: 80%;
    right: 0;
    left: 0;
  }
  .pankuzu p {
    text-align: right;
    margin-top: 15px !important;
    font-size: 12px;
  }
  .pankuzu p a {
    text-decoration: underline;
  }
  .pankuzu p a:hover {
    text-decoration: none;
  }
  #top_sengen_area {
    max-width: 1000px;
	width: 95%;
    background: #3b65a2;
    padding: 40px 0 30px 0;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    border-radius: 10px;
  }
  #top_sengen_area h2 {
    color: #fff;
    line-height:0.6;
    font-size: 45px;
    font-weight: normal;
    letter-spacing: 5px;
  }
  #top_sengen_area h2 span {
    font-size: 16px !important;
    color: #fff;
    letter-spacing: 0;
  }
  #link_area {
    text-align: center;
  }
  .link_area a {
    display: inline-block;
    background: #3b65a2;
    margin: 50px auto 80px auto;
    color: #fff;
    padding: 0.5em 1.5em;
    text-align: center;
    border-radius: 50px;
    transition: all 0.5s;
  }
  .link_area a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 10px;
  }
  .link_area a:hover {
    background: #5b8ebe;
  }
  /*コンテンツ*****************************************/
  .white_area {
    max-width: 1000px;
	width: 95%;
    margin: 150px auto 0 auto;
  }
  .blue_area {
    width: 100%;
    background: #eef3f8;
  }
  .blue_area_in {
    max-width: 1000px;
	width: 95%;
    margin: 0 auto;
    padding: 70px 0 50px 0;
  }
  .white_area h2, .blue_area_in h2 {
    font-size: 50px;
    line-height: 0.7;
    font-family: Helvetica, "sans-serif";
    font-weight: bold;
    color: #3b65a2;
    margin-bottom: 50px;
  }
  .white_area h2 span, .blue_area_in h2 span {
    font-size: 13px;
    font-weight: normal;
  }
  .white_area img {
    width: 100%;
  }
  .blue_area_in ul {
    background: #fff;
    border-radius: 10px;
    padding: 50px 0;
  }
  .blue_area_in ul li {
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 1.5em;
  }
  .blue_area_in ul li:last-of-type {
    margin-bottom: 0;
  }
  .m_area {
    margin-bottom: 100px
  }
  /*会社案内**********************************/
  .president_p p {
    margin-bottom: 20px;
    line-height: 1.8;
    text-align: justify;
  }
  .president_p p:last-of-type {
    text-align: right;
    font-size: 1.1em;
    font-weight: 400;
    margin-bottom: 50px;
  }
  .president_greet {
    font-size: 28px;
    font-weight: 500;
    color: #3b65a2;
    margin: 1.5em 0 !important;
	  line-height: 1.5;
  }
	.img53{
		text-align: center;
	}
	.img53 img{
		width: 90%;
	}
	
  .company_table {
    width: 100%;
    font-weight: 100;
  }
  .company_table th {
    padding: 1.5em 0 1.5em 0em;
    border-bottom: 1px solid #ccc;
    font-weight: 500;
    background: #f8f9fb;
    width: 20%;
    text-align: center;
  }
  .company_table td {
    padding: 1em 0 1em 1em;
    border-bottom: 1px solid #ccc;
  }
  .company_table th:first-of-type, .company_table td:first-of-type {
    border-top: 1px solid #ccc;
  }
  .yurai {
    background: #eef3f8;
    padding: 70px 150px 50px 150px;
    border-radius: 10px;
    margin-bottom: 50px;
  }
  .yurai_p p {
    margin-bottom: 20px;
    text-align: justify;
	  line-height: 1.8;
  }
  .rine_p {
    text-align: center;
    margin-top: 50px;
  }
  .feed_img {
    opacity: 0;
    transition: all 2s; /* 動きを滑らかに */
  }
  /*メーカー**********************************/
  .maker_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /*gap: 20px;*/
  }
  .maker_flex::after {
    display: block;
    content: "";
    width: 32%;
  }
  .maker_flex > li {
    width: 32%;
    margin-bottom: 2%;
  }
  .maker_flex li a {
    border: 1px solid #d9d9d9;
    box-sizing: border-box;
    transition: all 0.5s;
  }
  .maker_flex li a {
    display: flex;
  }
  .maker p {
    margin: 60px 0 30px 0;
    background: #eef3f8;
    padding: 0.5em 0 0.5em 1em;
    font-weight: bold;
    font-size: 1.2em;
    color: #3b65a2;
  }
  .maker_flex li a:hover {
    border: 1px solid #3b65a2;
  }
  /**商品ラインナップ*********************/
  .product_main {
    margin: 200px auto 100px auto;
    max-width: 1000px;
    text-align: center;
    color: #3b65a2;
  }
  .product_main p:first-of-type {
    color: #3b65a2;
    margin-bottom: 10px;
  }
  .product_main p:last-of-type {
    font-size: 40px;
    letter-spacing: 3px;
    color: #3b65a2;
  }
  .product_img_flex {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 150px;
  }
  .product_img_flex img {
    width: 25%;
  }
  .product_area {
    max-width: 1000px;
	width: 95%;
    margin: auto;
  }
  .product_flex {
    max-width: 1000px;
    display: flex;
    margin: 0 auto 30px 0;
    align-items: stretch;
    overflow: hidden;
    flex-wrap: nowrap;
  }
  .product_flex > div {
    width: 50%;
  }
  .product_flex img {
    width: 100%;
    display: flex;
  }
  .product_left > div {
    padding: 50px;
    width: 100%;
    height: auto;
  }
  .product_flex .product_left {
    background: #eef3f8;
    display: flex;
    align-items: flex-end;
  }
  .product_left h3 {
    font-size: 40px;
    font-weight: bold;
    color: #3b65a2;
    line-height: 1;
  }
  .product_left h3::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f061";
    margin-right: 10px;
    font-size: 80%;
  }
  .product_left h3 span {
    font-size: 13px;
    font-weight: normal;
  }
  .product_left a {
    display: inline-block;
    margin-top: 20px;
    font-size: 20px;
    color: #3b65a2;
    font-weight: 500;
    float: right;
  }
  .product_left a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 15px;
  }
  .warehouse_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .warehouse_flex > li {
    width: 49%;
    margin-bottom: 20px;
  }
  .warehouse_flex img {
    width: 100%;
  }
  .warehouse_flex p {
    font-size: 14px;
  }
  /*一般管材*****************/
  .white {
    background: #fff !important;
  }
  .white h2 {
    color: #595959 !important;
    margin-top: 20px;
  }
  .white h2 span {
    color: #595959 !important;
  }
  .product_box {
    border: #cccccc solid 1px;
    padding: 50px;
    margin-bottom: 30px;
    opacity: 0; /* 最初は非表示にしておく */
    transition: all 2s; /* 動きを滑らかに */
  }
  .product_box h3 {
    font-size: 30px;
    font-weight: bold;
    color: #3b65a2;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .product_box_flex {
    display: flex;
    justify-content: space-between;
    gap: 5%;
  }
  .product_box_flex div {
    width: 48%;
  }
  .product_box_flex p {
    text-align: justify;
    line-height: 1.8;
  }
  .product_box_flex_in {
    display: flex;
    justify-content: space-between;
  }
  .product_box_flex_in > img {
    width: 48%;
    align-self: flex-start; /*画像を伸ばさない設定*/
  }
  /*フェードインアニメフェードイン用のクラス */
  .fadeIn {
    opacity: 1;
  }
  .product_sengen p:first-of-type {
    font-size: 20px;
    font-weight: bold;
    color: #3b65a2;
    margin-bottom: 10px;
  }
  .product_sengen p:last-of-type {
    margin-bottom: 50px;
  }
  .list {
    margin-bottom: 100px;
  }
  .list li {
    border-bottom: 1px solid #ccc;
    padding: 0.8em 0;
    font-weight: 100;
  }
  .mt_120 {
    margin-top: 120px;
  }
  /**採用情報******************************/
  .omoi_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .omoi_flex > div {
    width: 46%;
  }
  .omoi_flex img {
    width: 100%;
  }
  .omoi_flex p {
    text-align: justify;
    line-height: 2;
    margin: -0.5em 0 1.5em 0;
    color: #3b65a2;
    font-weight: 500;
  }
  .motomeru {
    background: #eef3f8;
    text-align: center;
    padding: 60px 0;
    border-radius: 10px;
    margin-bottom: 70px;
  }
  .motomeru li {
    margin-bottom: 30px;
  }
  .motomeru li:last-of-type {
    margin-bottom: 0;
  }
  .motomeru li p:first-of-type {
    color: #3b65a2;
    font-size: 40px;
    font-weight: bold;
    line-height: 0.7;
  }
  .motomeru li p span {
    color: #3b65a2;
    font-size: 20px;
    font-weight: bold;
  }
  .motomeru li p:last-of-type {
    margin-top: 10px;
  }
  .recruit_sengen {
    font-weight: bold;
    font-size: 20px;
    color: #3b65a2;
    margin-bottom: 70px;
    line-height: 1.8;
  }
  .motomeru_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .motomeru_flex > div {
    width: 47%;
  }
  .motomeru_flex p {
    text-align: justify;
    margin-bottom: 20px;
    line-height: 1.7;
  }
  .president_name {
    text-align: right !important;
    font-weight: 500;
  }
  /*個人のお客様*/
  .yellow {
    background: #ffd400 !important;
  }
  .kojin_flex {
    display: flex;
    max-width: 850px;
    margin: 50px auto;
    justify-content: space-between;
    align-items: center;
  }
  .kojin_flex ul li {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .kojin_flex ul li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f058";
    margin-right: 10px;
    color: #ffd400;
  }
  .kojin_flex ul li:last-of-type {
    margin-bottom: 0;
  }
  .kojin_flex .flex-item1 {
    flex-basis: 55%;
  }
  .kojin_flex .flex-item2 {
    flex-basis: 40%;
  }
  .kojin_flex img {
    object-fit: cover;
  }
  .kojin_text p:first-child {
    font-size: 30px;
    font-weight: 500;
    color: #ffd400;
    margin-bottom: 20px;
  }
  .kojin_text p {
    text-align: center;
  }
  .kojin_text {
    margin: 80px 0 60px 0;
  }
  .yellow_area {
    display: flex;
    justify-content: space-between;
    background: #fffbe5;
    border-radius: 10px;
    align-items: center;
    padding: 50px;
    line-height: 2 !important;
  }
	.yellow_area div{
		width: 48%;
	}
  .yellow_tel {
    font-size: 30px;
    letter-spacing: 3px;
    font-weight: bold;
    color: #ffd400;
	  text-align: center;
  }
  .yellow_tel::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f098";
    margin-right: 5px;
    color: #ffd400;
  }
  .yellow_area p {
    line-height: 2;
  }
  .kojin_map {
    margin: 80px 0 0 0;
  }
  .three_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .three_flex > div {
    width: 31%;
  }
  .three_flex p {
    margin-top: 10px;
  }
  .three_flex p::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 5px;
    color: #ccc;
  }
  .three_flex img {
    width: 100%;
  }
  .three_flex a {
    transition: all 0.5s;
  }
  .three_flex a:hover {
    opacity: 0.7;
  }
  .w1000 {
    max-width: 1000px;
	width: 95%;
    margin: auto;
  }
  .access {
    margin-top: 150px;
  }
  .access h2 {
    font-size: 50px;
    line-height: 0.7;
    font-family: Helvetica, "sans-serif";
    font-weight: bold;
    color: #3b65a2;
    margin-bottom: 50px;
  }
  .access span {
    font-size: 13px;
    font-weight: normal;
  }
  .top_map {
    margin-bottom: 20px;
  }
  /*お問い合わせ*/
  .contact_table {
    width: 100%;
    margin-bottom: 50px;
  }
  .contact_table th {
    padding: 1.5em 0 1.5em 1.5em;
    ;
    border-bottom: 1px solid #ccc;
    font-weight: 500;
    background: #f8f9fb;
  }
  .contact_table td {
    padding: 1em 0 1em 1em;
    border-bottom: 1px solid #ccc;
    width: 75%;
  }
  .contact_table th:first-of-type, .contact_table td:first-of-type {
    border-top: 1px solid #ccc;
  }
  .hisu {
    color: red;
    font-size: 80%;
  }
  .waku {
    padding: 0.5em 1em;
    line-height: 1;
    width: 95%;
  }
  .button {
    width: 100%;
    padding: 1em 0;
    margin-top: 50px;
    font-size: 20px;
    border: none;
    background: #3b65a2;
    border-radius: 10px;
    color: #fff;
    transition: all 0.5s;
  }
  .button:hover {
    background: #5b8ebe;
  }
  .privacy_link a {
    color: #3b65a2;
    font-weight: 500;
  }
  .privacy_link a:hover {
    text-decoration: underline;
  }
  /*お知らせ*/
  .info_box {
    margin-bottom: 80px;
    border-bottom: 1px solid #ccc;
    padding: 0 0 50px 0;
  }
  .info_box p {
    text-align: justify;
  }
  .info_box h3 {
    font-size: 26px;
    font-weight: 500;
    color: #3b65a2;
    background: #eef3f8;
    padding: 0.5em 0 0.5em 1em;
    margin-bottom: 30px;
  }
  .info_box p.date {
    margin-bottom: 10px;
    font-size: 16px;
    color: #3b65a2;
    font-weight: 500;
  }
  .info_box p {
    line-height: 2;
  }
  /**サイトマップ*プライバシー*************************************/
  .sitemap li a {
    border-bottom: 1px solid #ccc;
    display: block;
    padding: 1em 0 1em 0.5em;
    transition: all 0.5s;
  }
  .sitemap li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 10px;
    color: #ccc;
  }
  .sitemap li a:hover {
    color: #3b65a2;
  }
}

  .serif {
    border-bottom: 1px solid #3b65a2;
    padding-bottom: 5px;
    margin-bottom: 20px;
    color: #3b65a2;
    font-size: 1.2em;
  }
  .lower-box01 {
    margin-bottom: 50px;
    text-align: justify;
  }
  .lower-box01 p {
    line-height: 1.5;
  }
  .lower-box01 ul {
    margin-top: 20px;
  }
  .lower-box01 ul li {
    margin-bottom: 0.5em;
  }



  .list_flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .list_flex li {
    width: 33%;
    background: #f8f9fb;
    margin-bottom: 5px;
    font-weight: 100;
    font-size: 120%;
  }
  .list_flex li a {
    display: block;
    text-align: center;
    padding: 20px 0;
    transition: all 0.5s;
  }
  .list_flex li a:hover {
    background: #5b8ebe;
    color: #fff;
  }
  .list_flex li a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 10px;
    color: #ccc;
  }

.top_30{
	margin-top: 30px;
}

.error{
font-family: Helvetica, "sans-serif";
	margin-top: 200px;
}




/*レイアウト*/
.footer_area {
  background: #3b65a2;
  padding: 70px 0;
}
.footer_in {
  max-width: 1000px;
	width:95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.foot_tel p {
  color: #fff;
}
.foot_tel p:last-child {
  font-weight: bold;
  font-size: 40px !important;
  letter-spacing: 3px;
  color: #fff;
  line-height: 1;
  margin-top: 5px;
}
.foot_tel p:first-child {
  margin-top: 20px;
}
.foot_tel p:last-child::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f098";
  margin-right: 10px;
}
#footer .foot_logo img {
  max-width: 300px;
  margin-bottom: 10px;
}
#footer p {
  font-size: 0.9em;
}
#footer .footer_ul {
  width: 100%;
  background: #ecedef;
}
#footer .footer_ul ul {
  max-width: 1000px;
	width:95%;
  padding: 15px 0;
  overflow: hidden;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
#footer ul li {
  font-size: 80%;
}
#footer p.copy {
  font-size: 0.8em;
  color: #000;
  /*padding: 20px 0;*/
}
#footer .ad {
  color: #fff;
  text-decoration: none;
}
.end_flex {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
	width: 95%;
  margin: auto;
  padding: 20px 0;
}
.end_ui {
  display: flex;
}
.end_ui li {
  margin-right: 20px;
}
.end_ui li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-right: 5px;
}
/*ページトップ*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-size: 70%;
}
#page-top a {
  background: #5b8ebe;
  text-decoration: none;
  color: #fff;
  width: 80px;
  padding: 20px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
}
#page-top a:hover {
  text-decoration: none;
  background: #3b65a2;
}