@charset "utf-8";
html, body{ height: 100%; width: 100%; margin: 0; padding: 0; }
body { display: table; text-align: center; color: #222; border-collapse: collapse; }
body { font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif; }

p { margin:1em; line-height: 1.6; }
a { color: #1010AA; text-decoration: none; }
a:hover { color: #eb3c12; text-decoration: underline; }
.fs36 { font-size: 2.25em; }
.fs34 { font-size: 2.125em; }
.fs32 { font-size: 2em; }
.fs28 { font-size: 1.75em; }
.fs24 { font-size: 1.5em; }
.fs20 { font-size: 1.25em; }
.fs18 { font-size: 1.125em; }
.fs16 { font-size: 1em; }
.fs14 { font-size: 0.875em; }
.fs12 { font-size: 0.75em; }
.hidden { display: none; }
.clearfix { }
.clearfix:after { content: " "; display: block; height: 0; visibility: hidden; clear: both; }

/* layout */
#site-header { display: table-header-group; }
#site-footer { display: table-footer-group; }
#contents { display: flex; flex-direction: column; flex-wrap: nowrap; align-content: flex-start; justify-content: flex-start; align-items: center; }

/* footer */
#site-footer { background: #333333; width: 100%; }
.site-footer-wrapper { display: flex; width: 1000px; margin: 0 auto; flex-direction: row; flex-wrap: nowrap; align-content: flex-start; justify-content: center; align-items: center; }
.site-footer-links:first-child { width: 80%; }
#site-footer ul { list-style: none; padding: 0; text-align: left; }
#site-footer ul li { color: #f0f0f0; line-height: 1.6; font-size: 12px; display: inline-block; }
#site-footer ul li a { color: #f0f0f0; text-decoration: none; }
#site-footer .eachlink li:first-child { display: block; font-weight: bold; }
#site-footer .sns { text-align: center; }
#site-footer .sns li { margin: 0 5px; }
#site-footer .sns li:first-child { display: block; }
.footer-copyright { font-size:14px; color: #fff; margin-bottom:2em; font-family: "arial"; font-weight: bold; }

/* header */
#site-header { border-bottom: #cdd6dd solid 1px; background: #f0f0f0; }
.site-header-wrapper { width: 1000px; margin: 0 auto; padding: 30px 0; display: flex; flex-direction: row; flex-wrap: nowrap; align-content: center; align-items: center; justify-content: flex-start; }
.site-header-logo { margin: 0; width: 50%; text-align: left; padding:10px 0 5px; }
.site-header-ele { width: 50%; margin: 0; padding: 0; }
.site-header-ele .entry { list-style: none; display: inline-block; padding: 0 0 0 20px; position: relative; top: 0; left: 0; }
.site-header-ele .entry a { text-decoration: none; color: #222; font-weight: bold; }
.site-header-ele .entry > a:hover,
.site-header-ele .entry.current > a { color: #eb3c12; border-bottom: #eb3c12 solid 1px; }
.site-header-ele .entry a:after { display: block; font-size: 10px; color: #999; margin-top: 5px; font-family: "HelveticaNeue-BoldCond"; }
.site-header-ele .entry.company a:after { content:"COMPANY"; }
.site-header-ele .entry.profile a:after { content:"PROFILE"; }
.site-header-ele .entry.message a:after { content:"MESSAGE"; }
.site-header-ele .entry.history a:after { content:"HISTORY"; }
.site-header-ele .entry.service a:after { content:"SERVICE"; }
.site-header-ele .entry.recruit a:after { content:"RECRUIT"; }
.site-header-ele .entry.news a:after { content:"NEWS"; }
.site-header-ele .entry.contact a:after { content:"CONTACT"; }
.site-header-ele .entry.has-child .child { position: absolute; top: 40px; left: 20px; z-index: 10; width: 200px; visibility: hidden; opacity: 0; transition: all .3s; }
.site-header-ele .entry.has-child .child,
.site-header-ele .entry.has-child .child .entry { margin: 0; padding: 0; }
.site-header-ele .entry.has-child .child .entry { display: block; background: #AACD06; padding: 8px; border-bottom: white solid 1px; }
.site-header-ele .entry.has-child .child .entry:last-child { border-bottom: none; }
.site-header-ele .entry.has-child:hover .child,
.site-header-ele .entry.has-child:active .child,
.site-header-ele .entry.has-child:hover .child .entry,
.site-header-ele .entry.has-child:active .child .entry { visibility: visible; opacity: 1; }
.site-header-ele .entry.has-child .child .entry a,
.site-header-ele .entry.has-child .child .entry a:after { color: white; }
.site-header-ele .entry.has-child .child .entry a:after { opacity: 0.5; }
.site-header-ele .entry.has-child .child .entry a:hover { border-bottom: none; }
.sp-navigation { display: none; }


/* ２カラム表示 
#contents { vertical-align: middle; display: flex; width: 1000px;flex-direction: row; flex-wrap: nowrap; align-content: flex-start; justify-content: flex-start; align-items: flex-start; margin: 0 auto; }
#main-contents { text-align: left; width: 680px; margin-right: 20px; }
#sub-contents { width: 300px; text-align: left; }
.subcontents-block { margin-bottom: 15px; }
*/

/* １カラム表示 */
#contents { vertical-align: middle; width: 1000px; margin: 0 auto; }
#main-contents { text-align: left; width: 640px; margin-bottom: 30px; }
#sub-contents { width: 100%; text-align: left; display: flex; flex-direction: row; flex-wrap: wrap; align-content: flex-start; justify-content: space-between; align-items: center; margin-bottom: 30px; }

.eyecatch-wrapper { width: 100%; margin: 0 auto; }

h1.midashi { margin: 0.5em 0; padding: 0.5em 0; font-weight: bold; text-align: center; border-bottom: #AACD06 solid 3px; font-size: 1.75em; }
h2.midashi { margin: 20px 0; padding: 13px 28px 12px 18px; background: #f0f0f0; border-radius: 10px; color: #222; }
h2.midashi::before { content: ""; display: inline-block; border-left: #AACD06 solid 3px; width: 10px; height: 16px; }
h2.midashi a { color: #222; text-decoration: none; }

/* news */
.news-entry { border-bottom: gray dotted 1px; margin-bottom: 1em; overflow-wrap: anywhere; }
.news-entry p { margin-top: 0; margin-left: 0; margin-right: 0; }
.news-entry-title { font-weight: bold; }
.news-entry-date { color: gray; }
.news-entry-body { margin-bottom: 1em; line-height: 1.6; font-size: 0.875em; }

/* トップのニュースは先頭３件表示 */
.index-news-wrapper { margin-bottom: 3em; }
.index-news-wrapper .news-entry { display: none; }
.index-news-wrapper .news-entry:first-of-type,
.index-news-wrapper .news-entry:nth-of-type(2),
.index-news-wrapper .news-entry:nth-of-type(3) { display: block; }

/* トップページ */
.index .eyecatch-wrapper { position: relative; width: 100%; }
.index .eyecatch-wrapper .eyecatch { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: cover; background: url(/_assets/img/img-eyecatch-index.png?rd=20220428) no-repeat center center; }
.index .eyecatch-wrapper:before { content: ""; display: block; padding-top: 320px; }
.index .eyecatch-comment { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); width: 800px; }
.index .company-msg { text-align: center; font-size: 1.125em; }
.index #main-contents { width: 90%; }

.index .service-wrapper { display: flex; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: space-between; align-items: center; margin-bottom: 3em; }
.index .service-indexcontent { width: 45%;padding: 10px; position: relative; }
.index .service-indexcontent.zfx { background: #AACD06; }
.index .service-indexcontent.zfx a { color: #222; text-decoration: none; width: 100%; }
.index .service-indexcontent.zfx .service-indexcontent-label { width: 100%; display: block; font-weight: bold; margin-bottom: 10px; }
.index .service-indexcontent.zfx .service-indexcontent-wrap { display: flex; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: space-between; align-items: center; }
.index .service-indexcontent.zfx .service-indexcontent-logo { width: 190px; height: 165px; vertical-align: middle; }
.index .service-indexcontent.zfx .service-indexcontent-body { width: 55%; vertical-align: middle; line-height: 1.6; }
.index .service-indexcontent.zfx .service-indexcontent-lead { display: block; }
.index .service-indexcontent.zfx .service-indexcontent-name { display: block; font-weight: bold; }
.index .service-indexcontent.zfx .service-indexcontent-ele { display: block; position: absolute; bottom: 10px; right: 10px; background: #F25991; border-radius: 40px; padding: 3px 20px; color: white; }

.index .service-indexcontent.ztmail { background: #dedede; }
.index .service-indexcontent.ztmail .service-indexcontent-label { width: 100%; display: block; font-weight: bold; margin-bottom: 10px; }
.index .service-indexcontent.ztmail .service-indexcontent-label .caption { font-style: normal; font-weight: normal; font-size: 12px; padding-left: 10px; }
.index .service-indexcontent.ztmail .service-indexcontent-wrap { display: flex; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: center; align-items: flex-start; position: relative; }
.index .service-indexcontent.ztmail a { color: #222; text-decoration: none; width: 100%; display: block; margin-bottom: 10px; }
.index .service-indexcontent.ztmail a:last-child { margin-bottom: 0; }
.index .service-indexcontent.ztmail .service-indexcontent-logo { width: 190px; height: 78px; vertical-align: middle; }
.index .service-indexcontent.ztmail .service-indexcontent-body { width: 55%; vertical-align: middle; line-height: 1.2; }
.index .service-indexcontent.ztmail .service-indexcontent-name { display: block; font-weight: bold; }
.index .service-indexcontent.ztmail .service-indexcontent-ele { display: block; position: absolute; bottom: 5px; right: 0px; background: #F25991; border-radius: 40px; padding: 3px 15px; color: white; font-size: 12px; }
.index .service-indexcontent.ztmail .service-indexcontent a:hover .service-indexcontent-ele { background: rgba(0,0,0,0.5); }
.index .service-indexcontent.ztmail .service-indexcontent-logo img { background: white; }
.index .service-indexcontent a:hover .service-indexcontent-ele { background: rgba(0,0,0,0.5); }


/* 事業内容 */
.service-content { width: 45%;padding: 10px; position: relative; }
.service-content.zfx { background: #AACD06; }
.service-content.ztmail { background: #dedede; }
.service-content a { color: #222; text-decoration: none; display: table; width: 100%; }
.service-content-logo { width: 190px; height: 165px; display: table-cell; vertical-align: middle; }
.service-content.ztmail .service-content-logo img { background: white; }
.service-content-body { width: 55%; display: table-cell; vertical-align: middle; line-height: 1.6; }
.service-content-lead { display: block; }
.service-content-name { display: block; font-weight: bold; }
.service-content-ele { display: block; position: absolute; bottom: 10px; right: 10px; background: #F25991; border-radius: 40px; padding: 3px 20px; color: white; }
.service-content a:hover .service-content-ele { background: rgba(0,0,0,0.5); }

.service .service-wrapper { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; margin-bottom: 5em; align-content: center; align-items: center; }
.service .service-content { width: auto; margin-bottom: 2em; }
.service .service-content-body { width: 70%; vertical-align: top; }

/* 会社案内 */
.company-index-wrapper { display: flex; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: space-evenly; align-items: center; }
.company-index-box { width: 30%; text-align: center; border: #999 solid 3px; }
.company-index-box:hover { background: #AACD06; }
.company-index-box a { font-weight: bold; text-decoration: none; border-bottom: #1010AA solid 1px; }
.company-index-box:hover a { color: white; border-bottom: none; }

/* 会社概要 */
.company-table {
  text-align: left;
  border-collapse: collapse !important;
  margin: 0 0 25px;
}
.company-table td,
.company-table th {
  padding: 8px;
  border-bottom: #999 solid 1px;
  line-height: 1.6;
  font-size: 14px;
}
.company-table th {
  width: 35%;
}

/* アクセスマップ */
.company-table3 {
  text-align: left;
  border-collapse: collapse !important;
  margin: 0 0 25px;
}
.company-table3 td,
.company-table3 th {
  padding: 8px;
  border-bottom: #999 solid 1px;
  line-height: 1.6;
  font-size: 14px;
}
.company-table3 th {
  width: 50%;
}
.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
    overflow: hidden;
    margin: 1em 0;
}
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 沿革 */
.company-table2 {
  text-align: left;
  border-collapse: collapse !important;
  margin: 0 0 25px;
}
.company-table2 td,
.company-table2 th {
  padding: 8px;
  border-bottom: #999 solid 1px;
  line-height: 1.6;
  font-size: 14px;
}
.company-table2 th {
  width: 25%;
}
.bordernone th,
.bordernone td {
  border-bottom: none !important;
}

/*　画面サイズが599px以下はここを読み込む（SP）　*/
@media screen and (max-width:599px) { 
	.eyecatch-wrapper, #contents { width: 100%; }
	#main-contents, #sub-contents { width: 95%; margin: 0 auto 2em; }

	.site-header-wrapper { width: 100%; padding: 0; display: inherit; }
	.site-header-logo { margin: 0 auto 0 10px; width: 80%; text-align: center; }
	.site-header-logo img { width: 100%; }

	/* ナビゲーション関連 */
	.pc-navigation { display: none; }
	.sp-navigation { display: contents; position: absolute; }

	body.panelactive { position: fixed; left: 0px; right: 0px; top: 0px; bottom:0px; }
	@keyframes fadeInAnime{
		from { opacity: 0; }
		to { opacity: 1; }
	}

	#g-nav{ width:80%; background: #AACD06; }
	#g-nav.panelactive #g-nav-list{ width:80%; }
	#g-nav ul { width: 65%; }
	#g-nav li{ list-style: none; text-align: left; }
	#g-nav li a{ color: white; }
	.openbtn{ position: absolute; top:5px; right: 5px; }
	.openbtn span{ background-color: #1a1a1a; }

	.g-nav-sheet.panelactive { position: fixed; left: 0px; right: 0px; top: 0px; bottom:0px; height: 100vh; width: 100%; z-index: 998; background:rgba(0,0,0,.8); }
	.g-nav-sheet.panelactive { animation-name:fadeInAnime; animation-duration:1s; animation-fill-mode:forwards; opacity:0; }
	.g-nav-menu { padding: 0; margin: 0; }
	.g-nav-menu li { text-align: left; white-space: nowrap; }
	.site-header-ele .entry { padding: 0; display: inherit; }
	.site-header-ele .entry a { position: relative; }
	.site-header-ele .entry a:hover,
	.site-header-ele .entry.current a { border-bottom: none; }
	.site-header-ele .entry a:after { color: white; opacity: 0.5; }
	.site-header-ele .entry.profile,
	.site-header-ele .entry.message,
	.site-header-ele .entry.history { text-indent: 1.5em; }
	.site-header-ele .entry a::before { content: ''; position: absolute; left: -5px; top: 15px; width: 5px; height: 5px; border-top: 2px solid white; border-right: 2px solid white; transform: rotate(45deg); }
	.site-header-ele .entry.profile a::before,
	.site-header-ele .entry.message a::before,
	.site-header-ele .entry.history a::before { left: 20px; }

	#sub-contents { flex-direction: column; align-content: center }
	.subcontents-block img { display: block; margin: 0 auto; }

	.site-footer-wrapper { width: 95%; flex-direction: column; }
	.site-footer-links:first-child { width: auto; }

	/* トップページ */
	.index .eyecatch-wrapper:before { padding-top: 60%; }
	.index .eyecatch-wrapper .eyecatch { background-position: 70% center; }
	.index .eyecatch-comment { width: 95%; }
	.index .eyecatch-comment .company-msg { margin: 0; font-size: 1em; text-align: left; }
	.index #main-contents { width: 95%; }
	.index .service-wrapper { display: flex; flex-direction: column; flex-wrap: nowrap; align-content: center; justify-content: center; align-items: stretch; margin-bottom: 0; }
	.index .service-indexcontent { width: auto; padding: 10px; margin-bottom: 2em; }
	.index .service-indexcontent.zfx .service-indexcontent-logo { width: 110px; height: 107px; }
	.index .service-indexcontent.zfx .service-indexcontent-logo img { width: 110px; height: 107px; }
	.index .service-indexcontent.zfx .service-indexcontent-body { width: 65%; }
	.index .service-indexcontent.ztmail .service-indexcontent-logo { width: 40%; }
	.index .service-indexcontent.ztmail .service-indexcontent-logo img { width: 90%; height: auto; }
	.index .service-indexcontent.ztmail .service-indexcontent-body { width: 65%; }

	.service .service-content.zfx { min-height: 75vw; }
	.service .service-content.ztmail { min-height: 80vw; }
	.service .service-content-logo { width: 100%; height: 120px; display: table-row; }
	.service .service-content-logo img { display: block; margin: 0 auto; }
	.service .service-content-body { width: 100%; display: table-row; }

	.company-index-wrapper { display: flex; flex-direction: column; align-content: center; justify-content: center; align-items: center; flex-wrap: nowrap; }
	.company-index-box { width: 95%; margin-bottom: 2em; }


	/* 会社概要、アクセスマップ、沿革 */
	.company-table tr,
	.company-table2 tr,
	.company-table3 tr { display: flex; flex-direction: column; flex-wrap: nowrap; align-content: flex-start; justify-content: center; align-items: flex-start; }
	.company-table th,
	.company-table2 th,
	.company-table3 th { border-bottom: none; width: 95%; padding-bottom: 0; }
	.company-table td,
	.company-table2 td,
	.company-table3 td { width: 95%; padding-top: 0; }

	.company-table2 .empty { display: none; }


}

