@CHARSET "UTF-8";
/* 追加CSS */

div.sp {display:none;}

div.sp .head {
	
	background-color: #fff;
	margin: 0;
	padding: 5px 0;
	padding-left: 10px;
	width: calc(100% - 10px);
}

div.sp .cont {
	height: auto;
}

div.sp .cont .cont_top {
	background-color: #fff;
}

div.sp .cont .cont_top img {
	width: 100%;
	height: auto;
}

div.sp .cont .cont_top img.active {
	z-index: 8;
	opacity:1.0;
}

div.sp .cont .cont_top img.last-active {
	z-index: 9;
}

/* 会社概要のタイトル部分 */
div.sp .cont .about_title img {
	height: 75px;
	width: auto;
}
div.sp .cont .about_title2 img {
	height: 57px;
	width: auto;
}

div.sp .cont .about_text {
	margin: 0 5px;
	width: calc(100% - 10px);
}

div.sp .cont .about_text.top {
	margin-top: 2em;
}

div.sp .cont .about_text.lft {
	margin-left: 2em;
}

div.sp .cont .about_representative {
	text-align: right;
	margin: 0 15px;
	width: calc(100% - 30px);
}

div.sp .cont .about_text dl {
}

div.sp .cont .about_text dt {
	    float: left ;
	    clear: left ;
	    width: 80px ;
}

div.sp .cont .about_text dd {
	    padding-bottom: 1em;
	    float: left ;
}

div.sp .cont .works_photo {
	margin: 0;
    padding: 0;
	width: 100%;
}

div.sp .cont .works_photo > dl {
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    padding-top: 5px;
    list-style: none;
}

div.sp .cont .works_photo > dl > dt {
    margin: 0;
    padding: 0;
	padding-left: 1em;
    width: 100%;
}

div.sp .cont .works_photo > dl > dd {
    position: relative;
    padding-top: 33%;
    margin: 0px 0px 0px;
    width: 50%;
    overflow: hidden;
}

div.sp .cont .works_photo > dl > dd > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
}

.modal {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, .6);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
}
.modal > div {
    display: flex;
    height: 100vh;
    justify-content: center;
    align-items: center;
}
.modal > div > img {
      max-width: calc(100vw - 30px);
      max-height: calc(100vh - 30px);
}

.cb {
	clear: both;
}

.dbk {
	display: block;
}

div.sp .foot {
	background-color: #f1f1f1;
	margin: 0;
	width: 100%;
}

div.sp .foot div {
	border-bottom: solid #707070 2px;
	text-align: center;
	width: 100%;
}

div.sp .foot div a {
	color: #0c3356;
	font-size: 200%;
	font-weight: bold;
	line-height: 2.5em;
	vertical-align: middle;
	text-decoration: none;
}

div.sp .copy {
	margin: 5px 0;
	text-align: center;
	width: 100%;
}

/*
 　ハンバーガーメニューボタン
  https://sys-guard.com/post-18818/
　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 20px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #BBBBBB;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba( 71,70,73,0.6 );
  text-align: center;
  width: 100%;
  opacity: 0;
  display: none;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
  
  	font-size: 200%;
	font-weight: bold;
	line-height: 2em;

  
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
}

@media screen and (max-width:768px){
	
	* {
		font-size: 12px;

	}
	div.sp{
		display: inline;
		background-color :#000;
	}

	div.pc{display:none;}
}
