@charset "utf-8";
/*画面サイズ769px以上t*/
@media print, screen and (min-width:769px) {

/*- - -------------------------- 基本のスタイル */
html {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-weight: 500;
	font-style: normal;
	font-size: 102%;
}
button, input, select, textarea {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-weight: 500;
	font-style: normal;
}
body {
	color: #222;
	line-height: 1.7;
  letter-spacing: 0.07em;
	margin: 0;
}
p {
  margin: 0;
  padding: 3px;
}
h1, h2, h3, h4, h5 {
    margin: 0;
    padding: 0;
}
ul, li {
    margin: 0;
    padding: 0;
    list-style: none;
}
img {
	margin: 0;
	padding: 0;
    width: 100%;
}
a {
    margin: 0;
    padding: 0;
	  color: #3186F5;
    text-decoration: none;
}
a:visited {
	color: #3186F5;
}
a:focus {
	text-decoration: underline;
}
a:active, a:hover {
	outline: 0;
    text-decoration: underline;
}
a:hover img {
	opacity:0.78;
	-webkit-transition:0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
i {
    margin-right: 5px;
}
table {
    width: 100%;
    border-collapse: collapse;
}
table th {
    text-align: left;
    padding: 10px;
    background-color: #D9DFFF;
}
table tr, table td {
    border-bottom: 1px solid #ccc;
    padding: 10px;
}
figure {
	margin: 0;
}

/*- - -------------------------- ヘッダー */
header {
    margin: 0;
    width: 100%;
    /*height: 110px;*/
    height: 166px;
    background-color: #00113D;
}
header .head_inner {
    margin: 0 auto;
    padding: 13px 0;
    display: flex;
    justify-content: space-between;
    width: 96%;
    max-width: 1200px;
    height: 110px;
}
header .head_inner .left_h1 {
    width: auto;
    display: flex;
}
header .head_inner .left_h1 .logo {
    margin-right: 20px;
	padding-top: 12px;
    width: 75px;
    height: auto;
}

header .head_inner .left_h1 .titleh1 small {
    padding-left: 1px;
    color: #fff;
}

header .head_inner .right_telcon {
    width: 225px;
}
header .head_inner .right_telcon li {
    margin-bottom: 2px;
    text-align: right;
}

/*- - -------------------------- ナビメニュー */
nav {
    position: relative;
    width: 100%;
    height: 56px;
    background-color: rgba(9,66,139,0.50);
    z-index: 1000;
}
/*- - -------------------------- メガメニュー */
.megamenu {
    width: 500px;
    height: 100px;
    background-color: pink;
}
#up {
    position: relative;
    top: -56px;
}

/*- - -------------------------- TOPメインビジュアル */
#main_visual {
    padding: 56px 0 20px;
    width: 100%;
    background-image: url("../img/page/sky_c.jpg");
    background-size:  cover;
    background-position: 50% 67%;
}

/*- - -------------------------- TOPトピックス＆バナーエリア*/
#topics_banner {
    display: flex;
    justify-content: space-between;
    margin: 40px auto 30px;
    width: 96%;
    max-width: 1200px;
    height: auto;
}
/*トピックス*/
.topics {
    width: 57%;
    min-width: 490px;
    height: auto;
}
.topics .topics_inner .line {
    display: flex;
    justify-content: space-between;
    padding: 8px;
    border-bottom: 1px dotted #707070;
}
.topics .topics_inner .line .date p {
    padding: 0 0 0 13px;
}
.topics .topics_inner .line .date p:before {
	content: "";
	position: relative;
	top: -3px;
	left: -7px;
	display: inline-block;
	background : url("../img/page/square.png") no-repeat;
	background-size: contain;
	width: 6px;
	height: 6px;
}
.topics .topics_inner .line .title {
    width: 70%;
}
.topics .topics_inner .more {
    margin-right: 0;
    margin-left: auto;
    width:  69px;
}
/*トピックス一覧*/
.topicsmore_box {
	margin-top: 40px;
}
.topicsmore_box .line {
    display: flex;
    justify-content: space-between;
    padding: 15px;
    border-bottom: 1px dotted #707070;
}
.topicsmore_box .line .date {
    background : url("../img/page/square.png") no-repeat 0 6px;
    background-position: 0;
}
.topicsmore_box .line .date p {
    padding: 0 0 0 13px;
}
.topicsmore_box .line .title {
    width: 80%;
}
.topicsmore_box .more {
    margin-right: 0;
    margin-left: auto;
    width:  69px;
}
/*バナーエリア*/
#topics_banner .banner {
    padding-left: 10px;
    width: 38%;
}
#topics_banner .banner li:first-child {
    margin-bottom: 30px;
}

/*- - -------------------------- TOPピクチャーメニューエリア*/
#picmenu {
    background-image: url("../img/chokaizan.jpg");
    background-size: cover;
    width: 100%;
    height: 720px;
    background-position: 50% 70%;
}
#picmenu .picmenu_inner {
    margin: 0 auto;
    padding-top: 10px;
    width: 96%;
    max-width: 1200px;
}
#picmenu .picmenu_inner ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#picmenu .picmenu_inner ul li {
    width: 23%;
    margin-top: 30px;
}

/*- - -------------------------- 中ページの共通スタイル */
#contents {
    margin: 0 auto 150px;
    width: 100%;
}
#contents img {
    display: block;
    margin: 0 auto;
    padding: 10px 5px;
}

#contents > h2 {
    padding: 45px 0;
    font-weight: 600;
    font-size: 200%;
    text-align: center;
    background-image: url(../img/page/back01.png);
    background-repeat: repeat;
	border-bottom: solid 1px #EFEFEF;
}

#contents h3 {
    margin: 40px 0 15px;
    font-weight: 600;
    font-size: 150%;
    position: relative;
    padding: 0.25em 0;
}
#contents h3:after {
  content: "";
  display: block;
  height: 3px;
  background: -webkit-linear-gradient(to right, #364cc4, rgb(54, 169, 196));
  background: linear-gradient(to right, #364cc4, rgb(54, 169, 196));
}
#contents h4 {
    margin: 25px 0 10px;
    padding:5px 0;
    font-weight: 600;
    font-size: 115%;
    color: #368cc4;
    border-bottom: 1px dotted #368cc4;
}
#contents_inner_sp {
    margin: 0 auto;
    width: 97%;
    max-width: 1200px;
}

/* 画像をリサイズしセンタリングする */
.img_l {
    width: 800px;
}
.img_m {
    width: 460px;
}
.img_ss {
    width: 220px;
}
/* 画像を２列で横並び */
.flexbox_2row {
  display: flex;
   flex-wrap: wrap;
  justify-content: space-between;
}
.flexbox_2row > img {
    width: 460px;
}
/* 画像（キャプション付き）を２列で横並び */
.flexbox_2row figure.withcaption {
	margin: 10px 0 25px;
	text-align: center;
    width: 48%;
}

/* 画像を３列で横並び */
.flexbox_3row {
  display: flex;
  justify-content: space-between;
}
.flexbox_3row > img {
    width: 370px;
}
/* 左に小さめ画像、右にテキストを横並び */
.flexbox_2row_txt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flexbox_2row_txt .smallside {
	width: 23%;
}
.flexbox_2row_txt .largeside {
	padding-top: 20px;
	width: 75%;
}
/*h2下のグレー背景テキスト*/
#firsttext {
    padding: 0.5em;
    width: 100%;
    text-align: center;
    font-size: 105%;
    font-weight: bold;
    background-color: #f2f2f2;
}
/*工事一覧テーブルの共通スタイル*/
table.kouji_ichiran {
	font-size: 90%;
	letter-spacing: 0.06em;
}
table.kouji_ichiran th {
    background-color: #E1F2F1;
}
table.kouji_ichiran th,
table.kouji_ichiran tr,
table.kouji_ichiran td {
    border: 1px solid #BCBCBC;
    padding: 10px 5px;
	padding-right: 3px;
}
table.kouji_ichiran span {
    font-weight: bold;
    color: #107717;
}
table.kouji_ichiran th:nth-child(1) {
    width: 13%;
}
table.kouji_ichiran th:nth-child(3) {
    width: 26%;
}
table.kouji_ichiran th:nth-child(2),
table.kouji_ichiran th:nth-child(4) {
    width: 30.5%;
}

/*受賞履歴テーブルのスタイル*/
table.jusyou th {
    background-color: #E0F4FB;
}
table.jusyou th,
table.jusyou tr,
table.jusyou td {
    border: 1px solid #E0DFDF;
    padding: 10px;
}
table.jusyou span {
    font-weight: bold;
    color: #AB4F00;
}
table.jusyou th:nth-child(n+2) {
    width: 38%;
}


/*- - -------------------------- 中ページ　単独のスタイル */
/* リサイクルプラント */
.asfrc_container {
    margin: 0 auto;
    width: 85%;
}
.asfrc_container span {
    font-size: 130%;
}

/* 会社概要 */
table.company {
    margin: 30px auto 0;
    width: 100%;
}
table.company tr td:first-child {
    padding-left: 15px;
    width: 25%;
    font-weight: bold;
}

/* 企業方針 */
#rinen {
    text-align: center;
}
#rinen ul li {
    font-family: ro-shino-std, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 45px;
    line-height: 1.2;
}
.ceo {
    text-align: right;
}
.ceo span {
    font-family: ro-shino-std, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 150%;
}
/* 一般住宅 */
.sumairu {
    margin: 20px;
    text-align: center;
}

/* 特殊工法 */
a.ab {
	background-color: #CA484A;
	color: #fff;
}
a.ab:hover {
	background-color:#973637;
	text-decoration: none;
}
a.takenoko {
	background-color:#48800E;
	color: #fff;
}
a.takenoko:hover {
	background-color:#2C4F09;
	text-decoration: none;
}

/* 採用情報 */
table.recruit {
  margin-bottom: 20px;
  background-color: rgba(250, 250, 250, 0.8);
}
table.recruit tr td:first-child {
    width: 20%;
    color: #222;
}

/* トピックス個別ページ */
.topics_date {
	text-align: right;
	padding: 10px 0 20px;
}

/*- - -------------------------- フッター */
footer {
    position: relative;
    margin-top: -56px;
    width: 100%;
    background-color: #000060;
    font-size: 85%;
}
footer p,
footer .foot_inner .right_menu ul li a {
    color: #fff;
}
footer .foot_inner {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-top: 20px;
    width: 96%;
    max-width: 1200px;
}
footer .foot_inner .left_detail .txtl {
    font-weight: 600;
    font-size: 125%;;
    padding-bottom: 5px;
}

footer .foot_inner .right_menu {
    width: 68%;
    max-width: 770px;
}
footer .foot_inner .right_menu > ul {
    display: flex;
    justify-content: space-between;
}
footer .foot_inner .right_menu > ul > li {
    margin-left: 5px;
}
footer .foot_inner .right_menu > ul ul.ko_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 240px;

}
footer .foot_inner .right_menu > ul ul.ko_menu > li {
    width: 50%;
    font-size: 83%;
    line-height: 1.8em;
}

#copy {
    padding: 15px 0;
    width: 100%;
    text-align: center;
    letter-spacing: 0.2em;
    font-size: 80%;
}
#copy .copy_txtlink {
	color: #76B2FF;
}

/*- - -------------------------- TOPへ戻る追従ボタン */
.page-top {
  position: fixed;
  right: 1%;
  bottom: 10px;
  z-index: 99;
  cursor: pointer;
}

/*- - -------------------------- 非表示 */
.pc_none {
    display: none;
}

button.drawer-hamburger {
    display: none;
}
}
