@charset "utf-8";
@media print{
	.NoPrint, #footer {display:none !important;height:0 !important;}.mainNav {margin:0;}
}

/* 共通
------------------------------------------------------------*/
body {color: #2e2b29;font-size:15px;line-height:175%;letter-spacing:2px;-webkit-text-size-adjust: 100%;scroll-behavior: smooth;user-select: none;}
a { color:#2e2b29; } a:hover { color: #660000; }

p { display:block; margin:0 0 20px; }
.aligncenter { text-align:center !important; } .alignright { text-align:right !important; } .alignleft { text-align:left !important; }

hr {height: 0;margin: 25px 0;padding: 0;border: 0;border-top: 1px dotted #666;}
.DPBK { display:block !important; }
.SpOnly{display: none;} .PcOnly{display: block;}

.fontsize85 { font-size:85%; letter-spacing:1px; line-height: 135%; }
.fontsize95 { font-size:95%; line-height: 145%; }
.fontsize125 { font-size:125%;}
.indent{padding-left:1em;text-indent:-1em;} .textindent{text-indent: 1em;}

img { max-width:100%; } .imgleft { display:block; float:left; margin:0 60px 15px 0; } .imgright { display:block; float:right; margin:0 0 15px 60px; } .imgcenter { display:block; margin:10px auto; }

.Border { border:1px solid #dcdcdc !important; }
.Border-bottom { border-bottom:1px solid #dcdcdc !important; }
.Border-bottom-B { border-bottom:1px solid #e7f6fb !important; }
.NoBorder { border:none !important; }
.Border-top{border-top:1px dotted #a1a1a1;margin-top: 10px;padding-top: 10px;}

.MG0 { margin:0 !important; }
.MG-T0 { margin-top:0 !important; }
.MG-T5 { margin-top:5px !important; }
.MG-T10 { margin-top:10px !important; }
.MG-T20 { margin-top:20px !important; }
.MG-T30 { margin-top:30px !important; }
.MG-T50 { margin-top:50px !important; }
.MG-T70 { margin-top:70px !important; }
.MG-T100 { margin-top:100px !important; }
.MG-B5 { margin-bottom:5px !important; }
.MG-B10 { margin-bottom:10px !important; }
.MG-B20 { margin-bottom:20px !important; }
.MG-B50 { margin-bottom:50px !important; }
.MG-B70 { margin-bottom:70px !important; }
.PD0 { padding:0 !important;}
.PD5 { padding:5px !important;}
.PD20 { padding:20px !important;}
.PD-T0 { padding-top:0 !important; }

/* PDFボタン */
ul.PDFList{margin:0 0 20px;} ul.PDFList li{display:block;background:url("../img/icon_pdf.png")no-repeat 0 1px;padding:0 0 10px 31px;}

/* アニメーションボタン */
a.AnimeBtn {display: inline-block;text-indent:0 !important;padding:18px 30px 18px;line-height:145%;text-align: center;text-decoration: none;outline: none;position: relative;z-index: 2;background-color: #e8dcd4;border: 1px solid #0f798c;}
a.AnimeBtn::before, a.AnimeBtn::after {position: absolute;z-index: -1;display: block;content: '';top: 0;width: 50%;height: 100%;background-color: #0f798c;}
a.AnimeBtn, a.AnimeBtn::before, a.AnimeBtn::after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;-webkit-transition: all .3s;transition: all .3s;color: #FFF;}
a.AnimeBtn:hover {background-color: #e8dcd4;color: #2e2b29;border-color: #e8dcd4;} a.AnimeBtn::before {right: 0;} a.AnimeBtn::after {left: 0;} a.AnimeBtn:hover::before, a.AnimeBtn:hover::after {width: 0;background-color: #333;}

/* 青1 */
a.BtnBlue {background-color: #48596a;border: 1px solid #48596a;}
a.BtnBlue::before, a.BtnBlue::after {background-color: #48596a;}
/* グレー */
a.BtnGray {background-color: #ebebeb;border: 1px solid #ebebeb;color:#666;}
a.BtnGray::before, a.BtnGray::after {background-color: #ebebeb;}
/* 白で線 */
a.BtnWhiteBorder {background-color: #FFF;border: 1px solid #000;color: #000;}
a.BtnWhiteBorder::before, a.BtnWhiteBorder::after {background-color: #FFF;}
a.BtnWhiteBorder:hover {background-color: #000;color: #FFF !important;}
/* 角丸 */
a.KadomaruBtn {border-radius: 5em;webkit-border-radius: 5em;-moz-border-radius: 5em;}
/* 線ボタン */
.btn-border {display: inline-block;text-align: center;border: 3px solid #0097cc;font-size: 18px;line-height: 125%;  color: #0097cc;text-decoration: none;font-weight: bold;padding: 10px 25px;transition: .4s;}
.btn-border:hover {background-color: #0097cc;border-color: #0097cc;color: #FFF;}
/* 線のボタン 白 */
.BtnBWhite {border: 3px solid #FFF !important;color: #FFF;}
.BtnBWhite:hover {background-color: #FFF;border-color: #FFF;color: #0097cc;}

/* リスト チェックマーク */
ul.CheckList { display:block; margin:0 0 20px; }
ul.CheckList li{margin: 10px 0px 15px 0px;position:relative;padding-left:23px;font-size: 95%;line-height: 135%;}
ul.CheckList li:after, ul.CheckList li:before{content:''; display:block; position:absolute; top:4px; left:8px; height:11px; width:4px; background:#333; border-radius:10px;transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);}
ul.CheckList li:before{top:8px; left:3px;height:8px; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg);}

/* 数字リスト */
ol {padding-left: 5px;margin-left: 1.2em;list-style: decimal outside none;}
ol li {line-height: 1.7;margin-bottom: 20px;padding-left: 0;list-style-type: decimal;letter-spacing: 1px;}
/* 〇の数字リスト */
ol.MaruNumber{list-style: decimal outside none;margin-left:-3px;} ol.MaruNumber li{list-style: none;padding-left: 1.6em;text-indent: -1.6em;margin-bottom: 20px;}

/* mokuji */
ul.mokuji {display: flex;justify-content:flex-start;flex-wrap: wrap;margin:30px 0;} ul.mokuji li {margin:0 30px 20px 0;width:calc(50% - 15px);list-style-type: none;font-size:120%;line-height:120%;} ul.mokuji li:nth-child(2n){margin-right:0;} ul.mokuji li a{display:block;height:100%;padding: 15px 10px 15px;text-decoration: none;} ul.mokuji li a:hover{opacity: 0.8;background:#eee;text-decoration:none;color: #000;} ul.mokuji span.Number{display:inline-block;width: 80px;height: 80px;border: 1px solid #000;border-radius: 50%;text-align: center;box-sizing:border-box;margin: -4px 20px 10px 0;float:left;padding-top: 28px;} ul.mokuji span.detail {font-size:80%;line-height: 120%;display:block;margin-top:8px;}

/* lower_mokuji */
ul.lower_mokuji{display: block;margin:30px 0;} ul.lower_mokuji li{margin:0 0 5px 0;} ul.lower_mokuji li a{background: #ebebeb;display: block;padding:6px 10px 8px;text-decoration: none;} ul.lower_mokuji li a:hover{background: #f5f5f5;}ul.lower_mokuji li span.Number{margin-right: 8px;} ul.lower_mokuji li span.detail{font-size:85%;line-height: 120%;display:block;margin-left: 2.4em;} ul.lower_mokuji li.current{padding: 0 10px;}

/* テーブル */
table{margin: 0 auto 20px;border-collapse: collapse;} table td, table th {padding: 15px 15px 12px; border: 1px solid #ddd;letter-spacing: 1px;line-height: 145%;} table th{background: #fafafa;}

/* グレーボックス */
.well2 {margin:0 0 30px;padding: 15px 25px;border: 1px solid #cdcdcd;background: #fcfcfc;-webkit-box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);}

@media only screen and (max-width:999px){
	img.imgright, img.imgleft { float:none; margin:0 auto 15px; }
	p {font-size:95%;letter-spacing: 0;}
	ul.mokuji span.Number{width: 60px;height: 60px;margin: -3px 15px 10px 0;padding-top: 19px;font-size: 95%;}
}
@media only screen and (max-width:480px){
	.SpOnly{display: block;} .PcOnly{display: none;}
	ul.mokuji li {margin-right: 0;width:100%;} ul.mokuji li a{padding: 15px 0 15px;}
	table td, table th {padding: 10px 8px 8px;} 
}
/* 画像lightbox */
.overlay {position: fixed;background: rgba(0, 0, 0, 0.2);visibility: hidden;opacity: 0;top: 0;left: 0;bottom: 0;right: 0;}
.pop-up {display: none;}
.pop-up:checked + .overlay {visibility: visible;opacity: 1;z-index: 100200;background-color: #000000E0;width: 100%;}
.popWindow {max-height: 90%;max-width: 90%;transform: scale(0.3);z-index: 100210;margin: 10px auto;padding: 4px 10px;transition: all 0.5s 0s ease;text-align: center;display: flex;flex-direction: column;justify-content: center;align-items: center;}
.pop-up:checked + .overlay .popWindow {transform: scale(1);}
.pbox {display: flex;justify-content: center;align-items: center;height: 90%;padding: 30px 0 0 0;} .pbox label img{max-height: calc(90vh - 50px);}
.popWindow .ptitle{margin: 5px;color: #FFF;width:calc(100% - 60px);float:left;text-align: left;} .popWindow .ptitle a{text-decoration: none;color: #FFF;font-size:115%;} .popWindow .ptitle a:hover{color: #FFF;}
.popWindow .close {position: relative;float: right;transition: all 5ms;font-size: 25px;line-height: inherit;font-weight: bold;text-decoration: none;color: #FFF;padding: 2px;}
.popWindow .close:hover {color: #660000;}
.pbox::-webkit-scrollbar-track {background: none;}
.pbox::-webkit-scrollbar {width: 10px;height: 10px;}
.pbox::-webkit-scrollbar-thumb {background: #999;border-radius: 5px;}
.clickable:hover {cursor: pointer;}
.c p span, .popWindow .ptitle span{display: block;font-size:85%;line-height: 145%;text-align: left;} .c img{display: block;margin: 0 auto;}
@media only screen and (max-width:999px){
	.post_col-2 .c, .post_col-3 .c,.post_col-70 .c,.post_col-30 .c{width:70%;display: block;margin: 0 auto;} /* iPadだけ少し小さく */
}
@media only screen and (max-width:767px){
	.popWindow .ptitle{width:calc(100% - 40px);}
}
@media only screen and (max-width:480px){
	.post_col-2 .c, .post_col-3 .c,.post_col-70 .c,.post_col-30 .c{width:100%;}
}
/* レイアウト
------------------------------------------------------------*/
#wrapper {display:block;width: calc(100% - 260px);margin:0 0 0 260px;padding:0;background: #FFF;}
.Content {display:block;width:100%;margin:0;padding:80px 0 80px;}
.inner {display:block;width:900px;margin:0 auto;}

/* FlexBox */
.column{ display: flex; }
.column .column__col-70{width: 70%;padding-right: 40px;}
.column .column__col-50{width: 50%;}
.column .column__col-30{width: 30%;padding: 30px 30px;}
.toppage .column .column__col-70{text-align: right;} .toppage .column .column__col-70 img{max-width: 90%;}

/* カラムレイアウト */
.post_row{margin: 0;} .post_row:before, .post_row:after{display:table; content: " "; } .post_row:after{clear: both;} .post_col, .post_col-2, .post_col-3,.post_col-70,.post_col-30 {-webkit-box-sizing: border-box; box-sizing: border-box; position: relative; min-height: 1px; margin-bottom: 20px; float: left;} .post_col-2 {width: 50%;} .post_col-2:nth-child(2n+1){padding-right: 20px;} .post_col-2:nth-child(2n){padding-left: 20px;} .post_col-3{width: 33.33333%;}
.post_col-70 {width: 70%;padding-right: 20px;}.post_col-30 {width: 30%;padding-left: 20px;}

@media only screen and (max-width:1199px){
	.inner {width:86%;}
}
@media only screen and (max-width:999px){
	#wrapper {width: 100%;margin:0;}
	.post_col-2, .post_col-3,.post_col-70,.post_col-30 {width: 100%;float:none;padding-right: 0;padding-left: 0;margin-bottom: 40px;}
}
@media only screen and (max-width:480px){
}

/* ヘッダー
------------------------------------------------------------*/
.header {background: #000;position: fixed;width: 260px;height: 100%;z-index: 100100;} .menu-btn{display: none;} .menu a{color: #FFF;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;-webkit-transition: background .3s ease;-moz-transition: background .3s ease;transition: background .3s ease;display: block;padding: 15px 0 15px 50px;width: 100%;text-decoration: none;letter-spacing: 1px;} .menu a:hover{background: #660000;}
.navtext{padding:35px 25px 20px;}
a.linkmenu{font-size:90%;padding: 10px 0 10px 50px;} a.linkmenu:after{content: url("../img/icon_link.png");float: right;padding-top: 1px;padding-right: 10px;}

@media only screen and (max-width:999px){
	.header {position: fixed;width: 100%;height: 52px;}
}
/* ナビ
------------------------------------------------------------*/
@media only screen and (max-width:999px){
	.menu {
	  list-style: none;
	  position: absolute;
	  width: 100%;
	  height: auto;
	  top: 0;
	  margin-top: 52px;
	  padding: 0 0 10px 0;
	  clear: both;
	  background: #000;
	  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	  transform: scale(1, 0);
	  transform-origin: top;
	}
	/* Hamburger menu button */
	.menu-btn:checked ~ .menu {transform: scale(1, 1);transform-origin: top;transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;}
	/* Hamburger menbu text */
	.menu a {text-transform: capitalize;opacity: 0;transition: 0.5s;padding: 10px 0 10px 50px;}
	.menu li {border-top: 1px dotted #505050;opacity: 0;transition: 0.5s;}
	.menu-btn:checked ~ .menu a,.menu-btn:checked ~ .menu li { opacity: 1;transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;}
	.menu-btn {display: none;}
	.menu-icon {display: inline-block;position: relative;cursor: pointer;padding: 24px 14px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
	.navicon {background: #ddd;display: block;height: 3px;width: 26px;position: relative;transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;}
	.navicon:before,.navicon:after {content: "";display: block;height: 100%;width: 100%;position: absolute;background: #ddd;transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;}
	.navicon:before {top: 9px;}	.navicon:after {bottom: 9px;}
	/* Hamburger Menu Animation */
	.menu-btn:checked ~ .menu-icon .navicon:before {transform: rotate(-45deg);}
	.menu-btn:checked ~ .menu-icon .navicon:after {transform: rotate(45deg);}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {top: 0;}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {bottom: 0;}
	.menu-btn:checked ~ .menu-icon .navicon {background: rgba(0, 0, 0, 0);transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;}
	/* Navbar */
	.navtext-container {width: 100%;height: 52px;position: absolute;box-sizing: border-box;display: flex;justify-content: center;align-items: center;}
	.navtext {position: absolute;right: 15px; padding: 0;} .navtext img{max-height: 28px;margin-top:3px;}
}

/* フッター
------------------------------------------------------------*/
#footer {width:100%;display:block;padding:0;background: #000;}
#pagetop {display: block;text-align: center;background: #660000;width: 100%;padding: 25px 0 20px;} #pagetop a {display: inline-block;width: 70px;height: 70px;background: url("../img/icon_pagetop.png")no-repeat;background-size: cover;text-indent: 100%;white-space: nowrap; overflow: hidden;} #pagetop a:hover{opacity:0.7;}
#footer .copyright {display:block;clear: both; padding:25px 0;font-size:85%;text-align:center;color: #FFF;}

/* タイトル
------------------------------------------------------------*/
.subpage h1 {display:block;color: #FFF;text-align:center;font-size:215%; line-height:110%;letter-spacing: 2px;margin:0;padding-top: 110px; font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;} .subpage h1 span {display: block;font-size:50%;letter-spacing: 1px;font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;}

.subpage h2{display:block;text-align:center;font-size:150%;letter-spacing:4px;line-height: 200%; margin:20px 0 30px;padding: 0 0 15px;font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;}
.subpage h2{margin:100px 0 40px;position:relative;border-bottom:1px solid #1e1e1e;} .subpage h2::before{content:'';position: absolute;top: 100%;left: 50%;transform: translateX(-50%) skew(-25deg);height: 15px;width: 15px;border-right: 1px solid currentColor;background-color: #fff !important; border-left: none; border-top: unset;border-bottom: unset;} .subpage h2:first-child{margin-top: 0;}
.subpage h2.SmallTxt{font-size:120%;letter-spacing:1px;}

h3 {display:block;text-align:left;font-size:155%;}
.subpage h3 {position: relative;font-size:135%;padding: 0 7px 10px;text-align: left;margin: 50px 0 30px;border-bottom: solid 3px #cccccc;} .subpage h3 span{font-size:80%;margin-left:10px;letter-spacing: 0;}
.subpage h3:after {position: absolute;bottom: -3px;left:0;content: '';width: 20%;height:3px;background-color: #660000;}

h4 {display:block;text-align:center;font-size:125%;}
.subpage h4 {position: relative;margin:50px 0;}
.subpage h4:before {content: '';position: absolute;bottom: -20px;display: inline-block;width: 8%;height: 6px;left: 50%;transform: translateX(-50%);background-color: #333;border-radius: 3px;} .subpage h4 span{display: block;font-size:70%;}
@media screen and (max-width: 640px) {
	.subpage h1{font-size:185%;}
	h2{letter-spacing: 0;font-size: 115%;} .toppage h2{font-size: 30px;} .subpage h2 {font-size: 155%;}
	h4{font-size:110%;}
}

/* パンくず
------------------------------------------------------------*/
.breadcrumb {display:block;padding:20px 0 10px;font-size:80%;letter-spacing: 1px;line-height: 145%;}
.breadcrumb li{display:inline;list-style: none;}
.breadcrumb li:after{content: '\025b6';padding: 0 4px 0 10px;color: silver;}
.breadcrumb li:last-child:after{ content: ''; }
.breadcrumb li a {text-decoration: none;}

/* トップページ
------------------------------------------------------------*/
.contents-header{height:280px;background: url("../img/slider01.jpg")no-repeat center;background-size:cover;display: block;} .contents-header p{text-align: center;padding-top:100px;} .contents-header p img{height:80px;}

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

/* 下層ページ
------------------------------------------------------------*/

/* 定款・役員・賛助会社 */
.outlineTable{min-width: 470px;} .outlineTable th{width:310px;}
@media only screen and (max-width:999px){
}
@media only screen and (max-width:640px){
	.outlineTable{min-width: auto;width:100%;} .outlineTable td{width:12em;}
}











/*TopImage*/
.subpage .TopImageArea {
	text-align: center;
	background: url("../images/bg04.jpg")no-repeat center center;
}
.subpage .TopImageBusiness {background-image: url("../images/top_slider08.jpg");background-size: cover;}
.subpage .TopImageWorks {background-image: url("../images/top_slider07.jpg");background-size: cover;}
.subpage .TopImageCompany {background-image: url("../images/top_slider04.jpg");background-size: cover;}
.subpage .TopImageRecruit {background-image: url("../images/top_slider05.jpg");background-size: cover;}
.subpage .TopImageRecruitNew {background-image: url("../images/top_slider06.jpg");background-size: cover;}
.subpage .TopImageContact {background-image: url("../images/top_slider03.jpg");background-size: cover;}
.subpage .TopImageArea .inner{padding: 130px 0 110px;}
.subpage .TopImageArea .inner h2{
	font-size:185%;
	color:#FFF;
	font-weight: bold;
	border: none;
	margin:0;
}



/* 会社概要
------------------------------------------------------------*/
/* トップメッセージ */
.TopmessageArea dt {width:70%;}
.TopmessageArea dd {width:20%;}
.TopmessageArea img {margin: 5px 0 10px;} .TopmessageArea img.name {max-width:100px;}
@media only screen and (max-width:999px){
	.TopmessageArea dt{width:67%;}
	.TopmessageArea dd {width:25%;}
}
@media only screen and (max-width:810px){
	.TopmessageArea dt, .TopmessageArea dd {width:100%;float: none;}
	.TopmessageArea img.Photo{max-width:200px;}
}
/* 実績テーブル */
.OutlineArea table{width:auto;border: 5px solid #f5f5f5;font-size: 95%;}
.OutlineArea table th {
	padding: 7px 20px;
	border:1px solid #f5f5f5;
	text-align: center;
}
.OutlineArea table td {
	border:1px solid #f5f5f5;
	padding: 7px 20px;
	text-align: right;
}
@media only screen and (max-width:810px){
	.OutlineArea table{width: 100%;} .OutlineArea table th, .OutlineArea table td{padding: 5px 5px;letter-spacing: 0;}
}
/* 事業紹介
------------------------------------------------------------*/
.BusinessArea ul li{
	width:33.3%;
	float: left;
	padding: 0 10px;
	margin-bottom: 60px;
}
.BusinessArea ul li h3{font-size: 110%;padding: 3px 7px 5px;margin: 0;}
@media only screen and (max-width:999px){
	.BusinessArea ul li{width:50%;}
}
@media only screen and (max-width:810px){
	.BusinessArea ul li{width:100%;}
}



