/**************************************************************/
/**********************      共通      ************************/
/**************************************************************/

html,body{
	overflow-x:hidden; /* モバイル端末で右にはみ出すことがあるので消す */
	overflow-y:auto; /* 上記の指定をするとブラウザ左のスクロールバーが二つ表示されることがあるのでその対応 */
	padding:0 !important;
}

/* IEだと縦スクロールバーが2つ出るのを回避 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
	html,body{
		overflow-x:visible;
		overflow-y:visible; 
	}
}

#wrapper{
	position:relative;
	padding:0;
	margin:0;
	width: 100%;
}

.pc {
	display: none !important;
}

.sp {
	display: block !important;
}

.slider-pc {
	display: none !important;
}

.slider-sp {
	display: block !important;
}

/**************************************************************/
/**********************     スマホ     ************************/
/**************************************************************/


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   header
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#header{
	position: fixed;
	top:0;
	left:0;
	height: 80px;
	width: 100%;
	z-index:10;
	/*background: linear-gradient(to bottom, #000 0%, #666 50%, transparent 100%);*/
	background: rgba(0, 0, 0, 0.9);
}


#header #header_main{
	padding: 10px;
}

#header #header_main #logo{
	width: 300px;
}


.button-toggle {
	width: 46px;
	height: 46px;
	text-align: center;

	position: absolute;
	top: 10px;
	right: 20px;
}

.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100vw;
  height: 100vh;
  opacity: 1;
}
.menu-trigger {
	display: inline-block;
	width: 50px;
	height: 60px !important;
	vertical-align: middle;
	cursor: pointer;
	/*position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;*/
	margin: auto;
	z-index: 9999;
	transition: transform .5s;
	color: #fff;
	text-align:center;
}

.menu-trigger span {
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	width: 46px;
	height: 4px;
	left: 2px;
	background-color: #89E2E4;
}
.menu-trigger span:nth-of-type(1) {
  top: 9px;
}
.menu-trigger span:nth-of-type(2) {
	top: 20px;
}
.menu-trigger span:nth-of-type(3) {
	top: 31px;
}
.menu-trigger p{
	position: absolute;
	top: 38px;
	font-size:94%;
	text-align:center;
	width:50px;
	color: #89E2E4;
	font-weight:normal;
}

.menu-trigger div{
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
  font-size:14px;
  text-align:center;
}

#drawer-menu {
  width: 270px;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.2);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99999;
  -webkit-transform: translate(100%);
  -ms-transform: translate(100%);
  transform: translate(100%);
  transition: all .5s;
  overflow-y:auto;
  color:#FFF;
  box-sizing: border-box;
  padding:0 10px 0 10px;
}

#drawer-menu.open {
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

#drawer-menu  .column5 .child{
	width:50%;
	margin:0 !important;
}
#drawer-menu  a{
  color:#FFF;
}

#drawer-menu  dl{
  padding:0 20px 20px 20px;
}

#drawer-menu  dt{
    position:relative;
	border-bottom:solid 1px #00B2B2;
	padding-left:1.5em;
	margin-bottom:10px;
	padding-bottom:10px;
	
}
#drawer-menu  dt:before{
    content:"●";
    position:absolute;
    top:0; 
    left:0.5em;
    color:#00B2B2;
}

#drawer-menu   dd{
	margin-left:2em;
	margin-bottom:10px;
}
#drawer-menu   dd a{
    position:relative;
	display: inline-block;
	width:100%;
	font-size:14px;

}
#drawer-menu   dd a:before{
    content:"－";
    position:absolute;
    top:0; 
    left:-1.5em;
}

#drawer-menu  dl.info{
	padding:0 ;
	margin:30px auto 0 auto;
	text-align:center;
}

#drawer-menu  dl.info dt{
	border-bottom:none;
	padding-left:0;
	margin-bottom:0;
	padding-bottom:0;
}

#drawer-menu  dl.info dt span:nth-of-type(1){
	display:inline-block;
	background-color: #000;
	color: #fff;
	padding: 2px 10px;
}

#drawer-menu  dl.info dt span:nth-of-type(2){
	display:inline-block;
	background-color: #fff;
	color: #000;
	padding: 2px 5px;
}

#drawer-menu  dl.info dt:before{
    content:"";
}

#drawer-menu  dl.info dd{
	margin-left:0;
	margin-bottom:0;
}

#drawer-menu  dl.info dd a{
	display: inline;
    position:relative;
    font-size:200%;
    color:#89E2E4;
	padding-left:1.25em;
}

#drawer-menu  dl.info dd a:before{
    content:url(../images/ico_tel.png);
    position:absolute;
    top:-3px; 
    left:0em;
}


#drawer-menu .logo{
	width:300px;
	padding-top:20px;
}

#drawer-menu .instagram{
	margin-top:50px;
	width:80%;
}

.menu-close {
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  transition: transform .5s;
  /*border:solid 1px #FFF;*/
}
.menu-close span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #89E2E4;
}
.menu-close span:nth-of-type(1) {
  top: 10px;
  -webkit-transform: translateY(12px) rotate(-45deg);
  -ms-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg);
}
.menu-close span:nth-of-type(2) {
  bottom: 9px;
  -webkit-transform: translateY(-14px) rotate(45deg);
  -ms-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   COMMON
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.container1500{
	width:100%;
	margin:0 auto;
}

a.btn1 {
	width:100%;
	color:#89E2E4 ;
	font-size:113%;
	background:#000;
	height:38px;
	text-align: center;
	line-height: 38px;
	position: relative;
	z-index: 1;
	display: inline-block;
	overflow: hidden;
	transition: .3s;
}


a.btn1::before {
  content: "";
  width: 200%;
  position: absolute;
  top: 0;
  right: -38px;
  z-index: -1;
  border-right: 38px solid transparent;
  border-bottom: 38px solid #0579A2;
  transform: translateX(-200%);
  transition: transform ease .3s;
}


a.btn1:hover {
	background: #999;
	color: #fff !important;
}

a.btn1:hover::before {
  transform: translateX(0);
}

.google-maps {
	position: relative;
	padding-bottom: 45%; /* ここが縦横比 */
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   フッター
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#footer{
	width: 100%;
}

#footer #footer_menu{
	width:100%;
	padding:50px 0 20px 0;
	background-color:#F7F8FA;
}

#footer #footer_menu dt{
    position:relative;
	border-bottom:solid 1px #00B2B2;
	padding-left:1.5em;
	margin-bottom:10px;
	padding-bottom:10px;
	
}
#footer #footer_menu dt:before{
    content:"●";
    position:absolute;
    top:0; 
    left:0.5em;
    color:#00B2B2;
}

#footer #footer_menu  dd{
	margin-left:2em;
	margin-bottom:10px;
}
#footer #footer_menu  dd a{
    position:relative;
	display: inline-block;
	width:100%;
	font-size:14px;

}
#footer #footer_menu  dd a:before{
    content:"－";
    position:absolute;
    top:0; 
    left:-1.5em;
}

#footer #footer_main{
	width:100%;
	padding:70px 30px 60px 30px;
	background:#000;
	color:#fff;
}

#footer #footer_main .logo {
	width:100%;
	float:left;
	text-align:center;
	margin-bottom:50px;
}

#footer #footer_main .info{
	width:100%;
	float:right;
	text-align:center;
}

#footer #footer_main dt span {
	background:#fff;
	color:#000;
	padding:3px 5px 1px 5px;
	display:inline-block;
	margin-left:5px;
}


#footer #footer_main dd a{
    position:relative;
    font-size:200%;
    color:#89E2E4;
	padding-left:1.25em;
}
#footer #footer_main dd a:before{
    content:url(../images/ico_tel.png);
    position:absolute;
    top:-3px; 
    left:0em;
}


#footer #copyright{
	text-align: right;
	width:100%;
	line-height:24px;
	padding:20px;
}

/* ページトップへ戻る */
.pageTop {
	/*display:none;*/ /* jqueryで指定 */
	position:relative;
	width: 100%;
	max-width:100%;
	height:0;
	margin:0 auto;
}
.pageTop a {
	position: fixed;
	bottom: 0px;
	right:0;
	display: block;
	width: 80px;
	hegiht:60px;
	padding:1.5em 0 1.5em 2px;
	background-color:#000;
	text-align:center;
	outline:none;
	text-decoration: none;
	z-index:9999;
	border-radius:10px 10px 0 0;
	font-weight:bold;
	color:#fff;
}

.pageTop a:hover {
	cursor:pointer;
}

/* 矢印作成 */
.pageTop a:before,
.pageTop a:after {
	position:absolute;
	left:50%;
	content:"";
	width:0px;
	height:0px;
	margin-left:-15px;
	border:15px solid transparent;
}
.pageTop a:before {
	top:50%;
	margin-top:-18px;
	border-bottom:15px solid #000;
}
.pageTop a:after {
	top:50%;
	margin-top:-23px;
	z-index:-1;
	border-bottom:15px solid #fff; 
}

.pageTop a:hover:after {
	border-bottom:15px solid #999;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   全ページ共通
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.eventFadeIn {
    opacity: 0;
    -webkit-transition: all 1.5s;
    -o-transition: all 1.5s;
    transition: all 1.5s;
}

.eventFadeIn.in-top {
    -webkit-transform: translate(0,-30px);
    -ms-transform: translate(0,-30px);
    transform: translate(0,-30px);
}

.eventFadeIn.in-bottom {
    -webkit-transform: translate(0,30px);
    -ms-transform: translate(0,30px);
    transform: translate(0,30px);
}

.eventFadeIn.in-left {
    -webkit-transform: translate(-30px, 0);
    -ms-transform: translate(-30px, 0);
    transform: translate(-30px, 0);
}

.eventFadeIn.in-right {
    -webkit-transform: translate(30px, 0);
    -ms-transform: translate(30px, 0);
    transform: translate(30px, 0);
}

.eventFadeIn.active {
    opacity: 1;
    -webkit-transition: all 1.5s;
    -o-transition: all 1.5s;
    transition: all 1.5s;
    -webkit-transform: translate(0, 0) !important;
    -ms-transform: translate(0, 0) !important;
    transform: translate(0, 0) !important;
}

.eventFadeToLeft {
	position: relative;
	display: inline-block;
	transition: all 0.8s;
}

.eventFadeToLeft::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 100;
	transform: scale(1, 1);
	transform-origin: left top;
	transition: all 0.6s cubic-bezier(.02,.99,.75,.99);
}
.eventFadeToLeft.active::before {
	transform-origin: left top;
	transform: scale(0, 1);
}

.fadein-turn .child {
	opacity : 0;
	transition : all 1.5s;
	-webkit-transform: translate(0,30px);
	-ms-transform: translate(0,30px);
	transform: translate(0,30px);
}
  
.fadein-turn .child.active {
	opacity : 1;
	-webkit-transform: translate(0, 0) !important;
	-ms-transform: translate(0, 0) !important;
	transform: translate(0, 0) !important;
}

#lower_header{
    position:relative;
    margin-top:80px;
}

#lower_header #zoom_slider{
    min-height: 600px;
}

#lower_header .main-image{
	width: 100%;
	height: 600px;
	object-fit: cover;
}

#lower_header .msg-image{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    margin:0 auto;
    display:inline-block;
}

#lower_header .left-side{
	background-color: rgba(0,0,0,0.6);
	width:30%;
    position:absolute;
    top:0; 
    left:0;
    height:100%;
    z-index:2;
}

#lower_header h1{
	display:inline-block;
	background-color: #000;
	color: #89E2E4;
    position:absolute;
    top:45%; 
    left:0;
    font-size:188%;
    font-weight:bold;
    width:100%;
    max-width:550px;
    padding:0 10px;
    text-align:center;
    padding:10px 0;
}
#lower_header h1 span{
    position:relative;
}

#lower_header h1 span:before{
	content:"―";
    position:absolute;
    top:-0.4em; 
    left:-1.5em;
	color: #89E2E4;
	font-size:200%;
}

#lower_header h1 + p{
	text-align:center;
    width:100%;
    max-width:550px;
    position:absolute;
    top:calc(45% + 65px); 
    left:0;
    background-color:#89E2E4;
	padding:5px 0;
}
#lower_header h1 + p a{
}

#lower_header .left-side .msg{
    position:absolute;
    left:0;
    background-color:#89E2E4;
    font-size:150%;
    white-space: nowrap;
    padding:0 0.5em;
    line-height:1.25em
}

#lower_header .left-side .msg1{
    bottom:300px; 
}

#lower_header .left-side .msg2{
    bottom:250px; 
}

#lower_header .insta{
    position:absolute;
    bottom:0px; 
    right:0;
    width:300px;
    z-index:3;
}

#lower_header .right-side{
	background-color: rgba(255,255,255,0.8);
	width:55px;
    position:absolute;
    top:0; 
    right:0;
    height:100%;
    z-index:2;
}

#lower_header .right-side .msg{
	font-size: 170%;
    color:#A6F2E1;
	width:55px;
	background-color: rgba(0,0,0,0.8);
	text-align:center;
	padding:20px 0 40px 0;
	
	display:inline-block;
	
}
#lower_header .right-side .msg span{
	font-size: 100%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position:relative;

	width:100%;
	text-align:center;
	background-color: rgba(0,0,0,0.8);
	display: flex;
	align-items: center;
}

#lower_header .right-side .msg span:after{
	position:absolute;
	bottom:-25px;
	left:7px;
	content:url(../images/ico_arrow.png);
	
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   TOP
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


#top #overview {
	background-color: #89E2E4;
	position: relative;
    z-index:2;
}

#top #overview::before {
  content: '';
  position: absolute;
  left:0;
  top: 0;
 
  transform: skewY(-3deg);
  transform-origin: bottom left;
 
  z-index: -1;
  width:100%;
  height:100px;
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 100%) ;

}

#top #overview::after {
  content: '';
  position: absolute;
  left:0;
  top: 100%;
 
  transform: skewY(-3deg);
  transform-origin: bottom left;
 
  z-index: -1;
  width:100%;
  height:50px;
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 100%) ;


}

#top #overview h2{
	font-size:200%;
	line-height:1.25em;
}

#top #overview a.btn1{
	width:250px;
}

#top #overview .column2 .child:nth-of-type(1){
	padding:100px 0 20px 0;
}

#top #overview .image{
    z-index:3;
}


#top #works {
	z-index: 1;
	margin-top:-100px;
}


#top #works:before {
}
#top #works .box,
#top #recruit .box{
    background:#fff;
    padding:20px 40px 10px 40px;
}

#top #works .box h2,
#top #recruit .box h2{
	position:relative;
	font-size:180%;
	padding-left:1em;
	margin-bottom:10px;
}

#top #works .box h2 span,
#top #recruit .box h2 span{
	font-size:60%;
	font-family:arial;
	padding-left:1em;
}

#top #works .box h2:before,
#top #recruit .box h2:before{
    content:url(../images/ico_title.png);
    position:absolute;
    top:5px; 
    left:0em;
}

#top #recruit .msg {
	display:inline-block;
    background:#000;
    position:absolute;
    top:-25px; 
    left:0;
    padding:5px 20px;
}

#top #recruit .msg a{
    color:#A6F2E1;
    font-size:125%;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   下層ページ共通
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #89E2E4;
	width:100%;
	padding:10px 0;
}

.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #FFF;
	width:100%;
	margin-left:0;
	padding:10px 0;
	padding:30px 0 60px 0;
}

.section-ptn1 > .column2 > .child:nth-of-type(1) h3{
    position:relative;
    font-size:188%;
    text-align:right;
    display:inline-block;
    padding-right:30px;
}

.section-ptn1 > .column2 > .child:nth-of-type(1) h3:before{
    content:url(../images/ico_title.png);
    position:absolute;
    top:5px; 
    left:-1em;
}

.section-ptn1 > .column2 > .child:nth-of-type(1) h3 span{
    display:block;
	content: "\A" ;
	white-space: pre ;
}

.section-ptn1 {
	position: relative;
	z-index:2;
}

.section-ptn1:before {
  content: '';
  position: absolute;
  left:0;
  top: 0;
 
  transform: skewY(-3deg);
  transform-origin: bottom left;
 
  z-index: -1;
  width:100%;
  height:150px;
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 100%) ;
}

.section-ptn4 > .column2 > .child:nth-of-type(1) {
	width:100%;
	color:#fff;
	background-color:#000;
}

.section-ptn4 > .column2 > .child:nth-of-type(2) {
	width:100%;
	margin-left:0;
	background-color:#004C66;
}


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   COMPANY
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#company #greeting.section-ptn1 > .column2 > .child:nth-of-type(2) {
	padding:10px 0 50px 0;
}

#company #greeting .column2 > .child:nth-of-type(2) {
	background: linear-gradient(to right, #FFF 50%, #F1EEE5 60%, #F1EEE5 100%);
	z-index:100;
}

#company #greeting > .column2 > .child:nth-child(2) > .column2 {
	width:90%;
	margin:0 auto;
	border:solid 1px #00f;
}

#company #greeting > .column2 > .child  .inner{
    position:relative;
	width:90%;
	margin: 0 auto;
}

#company #greeting > .column2 > .child > .inner:after {
    position:absolute;
    display:inline-block;
    content:url(../images/company/bg01.png);
    top:20%;
    right:15%;
    z-index:-100;
}

#company #greeting > .column2 > .child > .inner  h4{
	font-size:142%;
	color:#00B2B2;
	line-height:1.25em;
	margin-top:20px;
}

#company #greeting > .column2 > .child > .inner  dl{
	padding:30px 0 0 0;
}

#company #greeting > .column2 > .child > .inner  dt{
	font-size:188%;
	color:#00B2B2;
	line-height:1.25em;
	margin-bottom:20px;
}

#company #greeting > .column2 > .child  img.ceo{
	width:200px;
	margin:20px;
}

#company #outline.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #89E2E4;
}

#company #outline.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #FFF;
	padding-top:30px;
}


#company #outline .child:nth-of-type(2) dl{
    display: -webkit-flex;
    display: flex;
    flex-wrap:wrap;
    margin-bottom:20px;
}

#company #outline .child:nth-of-type(2) dt{
	width:150px;
	border-top:solid 1px #89E2E4;
	display:inline-block;
	padding:5px 3px;
}

#company #outline .child:nth-of-type(2) dd{
	display:inline-block;
	width:calc(100% - 190px);
	margin-left:40px;
	border-top:solid 1px #89E2E4;
	padding:5px 3px;
}

#company #access.section-ptn1 .child:nth-of-type(1) {
	background-color: #FFF;
	padding:50px 0 30px 0;
}

#company #access .child:nth-of-type(2) {
	padding:0;
}

#company #access.section-ptn1:before {
  transform: none !important;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   WORKS
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#works #facility.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #89E2E4;
}

#works #facility.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #FFF;
}


.list1 {
	width:95%;
	margin:0 auto;
}


.list1 div.child{
	position:relative;
	margin-bottom:30px;
}

.list1 div.child img{
	width:100%;
}

.list1 div.child span{
    position:absolute;
    bottom:0; 
    right:0;
    min-width:60%;
    display:inline-block;
	background-color:#FFF;
	font-size:88%;
	text-align:center;
	padding:0 10px;
}

#works #facility .list1 div.child span,
#works #common .list1 div.child span{
	background-color:#89E2E4;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   RECRUIT01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#recruit01 #benefits.section-ptn1 > .column2 > .child:nth-of-type(2) {
	padding:0;
}

#recruit01 #benefits.section-ptn1:before{
  background:#fff;
}

#recruit01 #benefits.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}

#recruit01 #benefits h4{
	display:inline;
	font-size:24px;
	line-height: 1.25em;
	background:linear-gradient(transparent 70%, #ff0 70%);
}

#recruit01 #benefits h4 span{
	line-height: 1.25em;
	font-size:36px;
}

#recruit01 #benefits h4 span:before{
	content: "\A" ;
	white-space: pre ;
}

#recruit01 #benefits .image{
	width:100%;
	position:relative;
}

#recruit01 #benefits .image img.bg-benefits{
	width: 100%;
	height:920px;
	object-fit: cover;
}

#recruit01 #benefits .image .link-area{
	display:none;
	position:absolute;
	right:0;
	bottom:20%;
}

#recruit01 #benefits .image .link-area a{
	display: inline-block;
}

#recruit01 #benefits .image .link-area a.btn1{
	color:#fff;
	font-size:100%;
	line-height: 1.75em;
	height:auto;
}

#recruit01 #message dl{
	margin-bottom:30px;
}

#recruit01 #message dt{
	position:relative;
	font-size:30px;
	padding-left:2.5em;
	padding-bottom:10px;
	margin-bottom:10px;
	line-height: 1.25em;
	border-bottom:solid 1px #89E2E4;
	
}

#recruit01 #message dt:before{
    position:absolute;
    content:url(../images/recruit01/point.jpg);
    top:-2px;
    left:0em; 
}

#recruit01 #message dd{
	font-size:113%;
}

#recruit01 #skill.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #89E2E4;
}

#recruit01 #skill.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #89E2E4;
}

#recruit01 #skill h4{
	display:inline;
	font-size:32px;
	line-height: 1.25em;
	background:linear-gradient(transparent 70%, #ff0 70%);
}

#recruit01 #skill dl{
	background:#fff;
	position:relative;
	padding:40px 20px 20px 20px;
}

#recruit01 #skill dt{
	font-size:125%;
    position:absolute;
    top:-15px;
    text-align:center;
    color:#004C66;
    width:calc(100% - 40px);
}

#recruit01 #skill li{
	position:relative;
	font-weight:normal;
	padding-left:1.25em;
}

#recruit01 #skill li:before{
    position:absolute;
    content:"●";
    top:-2px;
    left:0em; 
}

#recruit01 #skill .column2 .child .column2 .child:nth-child(2) ul{
	letter-spacing: -.4em;
}

#recruit01 #skill .column2 .child .column2 .child:nth-child(2) li{
	letter-spacing: normal;
	vertical-align: top;
	display: inline-block;
	width:100%;
}

#recruit01 #skill .column2 .child .column2 .child:nth-child(2) li:nth-child(2n){
	width:100%;
}

#recruit01 #voice.section-ptn1:before{
  background:none;
}

#recruit01 #voice.section-ptn1 > .column2 > .child{
  background:#fff;
}

#recruit01 #voice .column2 .child .column2{
	position: relative;
    z-index:3;
}

#recruit01 #voice .column2 .child .column2 .child .column2 .child:nth-child(1) {
	width:60%;
}

#recruit01 #voice .column2 .child .column2 .child .column2 .child:nth-child(1) img{
  width: 220px;
  height: 260px;
  object-fit: cover;
  box-shadow: 5px 5px #89E2E4;
  margin-bottom:20px;
}
#recruit01 #voice .column2 .child .column2 .child .column2 .child:nth-child(2) {
	width:40%;
	margin-left:0;
	position: relative;
}

#recruit01 #voice .column2 .child .column2 .child .column2 .child:nth-child(2) p{
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%) ;
	
}

#recruit01 #voice dl{
	margin-bottom:15px;
	width:100%;
}

#recruit01 #voice dt{
	background:#000;
	color:#20D2D2;
	font-size:113%;
	padding:3px 0;
	text-align:center;
	margin-bottom:10px;
	width:100%;
}

#recruit01 #voice dd{
	font-size:113%;
}

#recruit01 #voice .image {
	display: block;
	position: relative;
    margin-top:-300px;
    padding-top:10px;
}
#recruit01 #voice .image:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 70%, #FFF 100%); 
}

#recruit01 #voice .image .btn-area{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	z-index:2;
}

#recruit01 #voice .image .btn-area .btn1 {
	display: inline-block;
	background-color: #89E2E4;
	color: #000;
	padding: 26px;
	font-size: 24px;
	text-align: center;
	vertical-align: top;
	height: 80px;
	width: 500px;
}

#recruit01 #voice .image .btn-area .btn1::before {
  right: -80px;
  border-right: 80px solid transparent;
  border-bottom: 80px solid #0579A2;
}



/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   RECRUIT02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#recruit02 #guideline > .column2 > .child:nth-of-type(2) h4{
	font-size:26px;
	margin-bottom:40px;
}

#recruit02 #guideline > .column2 > .child:nth-of-type(2) > .inner > dl{
    display: -webkit-flex;
    display: flex;
    flex-wrap:wrap;
    margin-bottom:20px;
}

#recruit02 #guideline > .column2 > .child:nth-of-type(2) > .inner > dl > dt{
	width:150px;
	border-top:solid 1px #89E2E4;
	display:inline-block;
	padding:5px 3px;
}

#recruit02 #guideline > .column2 > .child:nth-of-type(2) > .inner > dl > dd{
	display:inline-block;
	width:calc(100% - 190px);
	margin-left:40px;
	border-top:solid 1px #89E2E4;
	padding:5px 3px;
}

#recruit02 #guideline > .column2 > .child:nth-of-type(2) > .inner > dl > dd .welfare-img{
	margin-left:50px;
}

#contact-area h3{
	background-color: #000;
	color: #A4F1E1;
	font-size: 125%;
	text-align:center;
	padding:5px 0;
}

#contact-area .bg-contact {
	position:relative;
}
#contact-area .bg-contact img{
	width: 100%;
	height:604px;
	object-fit: cover;
}

#contact-area .bg-contact .btn-area{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);

    display: -webkit-flex;
    display: flex;
    flex-wrap:wrap;
	width:450px;
}

#contact-area .btn-area .contact-box{
	display:inline-block;
	background-color: #89E2E4;
	color: #000;
	padding:20px ;
	font-size: 27px;
	text-align:center;
	vertical-align:top;
	height:80px;
	width:450px;
}

#contact-area .btn-area .contact-box.btn1::before {
  right: -80px;
  border-right: 80px solid transparent;
  border-bottom: 80px solid #0579A2;
}

#contact-area .btn-area .tel-box{
	display:inline-block;
	border:solid 5px #89E2E4;
	width:450px;
	height:80px;
}

#contact-area .btn-area .tel-box span{
	background-color: #000;
	color: #fff;
	display:inline-block;
	padding:0 25px;
	font-size:94%;
	line-height:1.25em;
}
#contact-area .btn-area .tel-box span:nth-of-type(2){
	background-color: #fff;
	color: #000;
}

#contact-area .btn-area .tel-box a{
	display:inline-block;
	color: #89E2E4;
	font-size: 34px;
	line-height:1.25em;
	position:relative;
	padding-left:1em;
}

#contact-area .btn-area .tel-box a:before{
    content:url(../images/ico_tel.png);
    position:absolute;
    top:3px; 
    left:0em;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   SERVICE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#service #strengths {
	padding-bottom:100px;
}
#service #strengths.section-ptn1 > .column2 > .child{
  background:#fff;
}
#service #strengths.section-ptn1:before{
  background:#fff;
}

#service #strengths h4{
	display:inline;
	font-size:32px;
	line-height: 1.25em;
	background:linear-gradient(transparent 70%, #ff0 70%);
}

#service #strengths .column5 {
	display:block !important;
    letter-spacing: -0.4em; /* inline-blockで改行コードなどでできる余計な空白を省くため */
    font-size:0; /* inline-blockで改行コードなどでできる余計な空白を省くため */
    word-spacing: 0.1em;
	width:90%;
	margin:40px auto 40px auto;
}

#service #strengths .column5 .child{
	display:inline-block !important;
	letter-spacing: normal; /* inline-blockで改行コードなどでできる余計な空白を省くため */
    vertical-align:top !important;
	text-align:center;
}


#service #strengths p{
	position: relative;
	padding: 10px;
	text-align:left;
}

#service #strengths p:before,
#service #strengths p:after{
	content: '';
	width: 20px;
	height: 20px;
	position: absolute;
}

#service #strengths p:before{
	border-left: solid 2px #000000;
	border-top: solid 2px #000000;
	top: 0;
	left: 0;
}

#service #strengths p:after{
	border-right: solid 2px #000000;
	border-bottom: solid 2px #000000;
	bottom: 5px;
	right: 0px;
}

#service #services dl{
  background:#fff;
	position: relative;
	margin-bottom:50px;
	padding:40px 30px 20px 30px;
	-moz-border-radius: 10px; 
	-webkit-border-radius: 10px; 
	border-radius:10px; 
}

#service #services dl dt{
	background:transparent;
	text-align:center;
	font-size:125%;
	color:#004C66;
	position: absolute;
	top:-17px;
	width:calc(100% - 80px);
}

#service #services dl dd{
	position: relative;
	padding-left:1em;
}

#service #services dl dd:before{
	position: absolute;
	top:-1px;
	left:0em;
	content:"●";
}

#service #services.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #89E2E4;
}

#service #services .image-area1{
	margin-top:-100px;
}

#service #services .image-area2{
	margin-top:-50px;
	margin-bottom:40px;
}

#service #services .image{
	position: relative;
	margin-bottom:30px;
}

#service #services .image span{
	position: absolute;
	bottom:-10px;
	left:0;
	right:0;
	display:inline-block;
	width:80%;
	text-align:center;
	background:#000;
	color:#fff;
	margin:auto;
}

#service #contact-area .column2 > .child:nth-child(1){
	text-align:center;
	position: relative;
	
	min-height:50px;
}

#service #contact-area .column2 > .child:nth-child(1) h3{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size:28px;
	
	background:#000;
	width:100%;
}

#service #contact-area .column6 .child{
	border-right:solid 1px #fff;
	margin:20px 0;
}

#service #contact-area .column6 .child:nth-child(3),
#service #contact-area .column6 .child:last-child{
	border-right:none;
}

/**************************************************************/
/************    パソコン（タブレット以上）    ****************/
/**************************************************************/

/*@media only screen and (min-width : 769px ) { */
@media only screen and (min-width : 900px ) { 

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

.container1500{
	max-width:1500px;
	margin:0 auto;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   header
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#header{
	height: 120px;
	background: none;
}

#header.follow{
	/*background: linear-gradient(to bottom, #000 0%, #666 50%, transparent 100%);*/
	background: rgba(0, 0, 0, 0.65);
}

#header #header_main #logo{
	width: auto;
}

#header #header_main{
	margin: 0;
}

#header #header_menu {
	width:auto;
}

#header #header_menu{
	position: absolute;
	right:70px;
	top:30px;
}

#header #header_menu li{
	display:inline-block;
	height:30px;
	line-height:30px;
	text-align:center;
}


#header #header_menu li a {
	display:inline-block;
	width:100%;
	height:25px;
	padding:0 20px;
	line-height:25px;
	color:#fff;
	font-weight:bold;
	text-shadow: 1px 1px 1px #000;
}

#header #header_menu li a:hover {
	color:#89E2E4;
	border-bottom:solid 2px #89E2E4;
	cursor:pointer;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   フッター
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#footer #footer_main .logo {
	width:auto;
	float:left;
	text-align:left;
}

#footer #footer_main .info{
	width:auto;
	float:right;
	/*text-align:left;*/
}

.menu {
	display:none !important;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   全ページ共通
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#lower_header{
    margin-top:0;
}

#lower_header #zoom_slider{
    min-height: 1150px;
}

#lower_header .main-image{
	width: 100%;
	height: 720px;
	object-fit: cover;
}


#lower_header .left-side{
	width:600px;
}

#lower_header .left-side .msg{
    font-size:250%;
    line-height:1.5em
}

#lower_header .left-side .msg1{
    bottom:600px; 
}

#lower_header .left-side .msg2{
    bottom:500px; 
}

#lower_header .insta{
    bottom:200px; 
    left:0;
    right:auto;
    width:400px;
}


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++
   TOP
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#top #overview {
	background-color: #89E2E4;
	position: relative;
    z-index:2;
    padding:0 0 100px 0;
}

#top #overview::after {
  height:20%;
}

#top #overview .image{
    position:absolute;
    top:-100px; 
    left:0;
    right:0;
    z-index:3;
}

#top #works .box,
#top #recruit .box{
    position:absolute;
    bottom:0; 
    right:0;
    padding:20px 40px 10px 40px;
}

#top #recruit .msg {
    top:-25px; 
    left:0;
    font-size:170%;
    padding:10px 20px;
}

.section-ptn1 > .column2 > .child:nth-of-type(1) {
	width:260px;
	padding:30px 0 10px 0;
}

.section-ptn1 > .column2 > .child:nth-of-type(2) {
	width:calc(100% - 260px);
	padding:30px 0 60px 0;
}

.section-ptn1:before{
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 260px, #FFF 260px, #FFF 100%);
}

.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #89E2E4 ;
}

.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #FFF ;
}

.section-ptn4 > .column2 > .child:nth-of-type(1) {
	width:260px;
}

.section-ptn4 > .column2 > .child:nth-of-type(2) {
	width:calc(100% - 260px);
}


#company #greeting.section-ptn1:before{
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 260px, #FFF 260px, #FFF 55%, #F1EEE5 70%, #F1EEE5 100%);
}


#company #greeting.section-ptn1 > .column2 > .child:nth-of-type(2) {
	padding:10px 0;
}


#company #greeting > .column2 > .child > .column2 > .child:nth-child(1) {
	width:65%;
	width:calc(100% - 500px);
}

#company #greeting > .column2 > .child > .column2 > .child:nth-child(2) {
	width:35%;
	width:500px;
}

#company #greeting > .column2 > .child > .inner  dl{
	padding:100px 0 0 0;
}

#company #greeting > .column2 > .child  img.ceo{
	width:300px;
}


#company #outline.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}


#company #outline.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}

#company #outline.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #89E2E4;
}

#company #outline .child:nth-of-type(2) dt{
	border-top:solid 1px #fff;
}

#company #outline .child:nth-of-type(2) dd{
	border-top:solid 1px #fff;
}

#works #facility.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}

#works #facility.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}

#works #facility.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #89E2E4;
}

#works #factory.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%,  #FFF 100%);
}

#works #factory.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}

#works #common.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}

#works #common.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
	padding:30px 0;
}

#works #common.section-ptn1 > .column2 > .child:nth-of-type(2) {
	background-color: #89E2E4;
	padding:30px 0;
}

#recruit01 #benefits h4{
	font-size:32px;
}

#recruit01 #benefits h4 span{
	font-size:44px;
}

#recruit01 #benefits h4 span:before{
	content: "" ;
	white-space: normal ;
}


#recruit01 #skill.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}

#recruit01 #skill.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}

#recruit01 #voice .image{
    margin-top:-500px;
}

#recruit02 #guideline > .column2 > .child:nth-of-type(2) h4{
	font-size:30px;
}

#service #strengths .column5 .child:nth-child(2),
#service #strengths .column5 .child:nth-child(4){
	margin-top:50px;
}

#service #services.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}

#service #services.section-ptn1 > .column2 > .child:nth-of-type(1) {
	background-color: #FFF;
}



#service #contact-area .column6 .child:nth-child(3){
	border-right:solid 1px #fff;
}

#contact-area .bg-contact .btn-area{
	width:800px;
}

#contact-area .btn-area .contact-box{
	width:450px;
}

#contact-area .btn-area .tel-box{
	width:335px;
	margin-left:15px;
}

#recruit01 #message dt{
	padding-left:2em;
	font-size:40px;
}

#recruit01 #benefits .image .link-area{
	display:inline-block;
}

#recruit01 #skill .column2 .child .column2 .child:nth-child(2) li{
	width:40%;
}

#recruit01 #skill .column2 .child .column2 .child:nth-child(2) li:nth-child(2n){
	width:60%;
}

#recruit01 #voice dt{
	font-size:16px;
}

#recruit01 #voice dd{
	font-size:15px;
}

}



/**************************************************************/
/***************    そのほか    *****************/
/**************************************************************/

@media only screen and  (min-width : 756px )  {
.slider-pc {
	display: block !important;
}

.slider-sp {
	display: none !important;
}

}


@media only screen and  (max-width : 1200px )  {

#header #header_menu {
	right:50px;
	top:20px;
	width:350px;
	text-align:center;
}

.list1.column4 > .child {
	width:48%;
}

.list1.column4 > .child:nth-of-type(4n),
.list1.column4 > .child:nth-of-type(4n-1),
.list1.column4 > .child:nth-of-type(4n-2){
	margin-left:0;
}
.list1.column4 > .child:nth-of-type(2n){
	margin-left:4%;
}

#recruit01 #skill > .column2 > .child:nth-of-type(2) .column2 > .child:nth-of-type(1),
#recruit01 #skill > .column2 > .child:nth-of-type(2) .column2 > .child:nth-of-type(2){
	width:100%;
	margin-left:0;
}

#recruit01 #voice > .column2 > .child:nth-of-type(2) .column2 > .child:nth-of-type(1),
#recruit01 #voice > .column2 > .child:nth-of-type(2) .column2 > .child:nth-of-type(2){
	width:100%;
	margin-left:0;
	margin-bottom:40px;
}

#service #services > .column2 > .child:nth-of-type(2) > .column2 > .child:nth-of-type(1),
#service #services > .column2 > .child:nth-of-type(2) > .column2 > .child:nth-of-type(2){
	width:100%;
	margin-left:0;
}


#service #services .image-area1{
	margin-top:0;
}

#service #services .image-area2{
	margin-top:50px;
}

#recruit01 #voice .image .btn-area{
	position: absolute;
	top: 55%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	z-index:2;
}

#recruit01 #voice .image .btn-area .btn1 {
	display: inline-block;
	background-color: #89E2E4;
	color: #000;
	padding: 5px;
	font-size: 20px;
	text-align: center;
	vertical-align: top;
	height: 50px;
	width: 400px;
}


}


@media only screen and (min-width : 1600px )  {

#lower_header .main-image{
	height: auto;
}

.section-ptn1 > .column2 > .child:nth-of-type(1) {
	width:18%;
}

.section-ptn1 > .column2 > .child:nth-of-type(2) {
	width:82%;
}

.section-ptn1:before {
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 18%, #FFF 18%, #FFF 100%);
}

.section-ptn4 > .column2 > .child:nth-of-type(1) {
	width:18%;
}

.section-ptn4 > .column2 > .child:nth-of-type(2) {
	width:82%;
}


#company #greeting.section-ptn1:before{
  background:linear-gradient(to right, #89E2E4 0%, #89E2E4 18%, #FFF 18%, #FFF 55%, #F1EEE5 70%, #F1EEE5 100%);
}

#company #greeting > .column2 > .child:nth-child(2) > .column2 {
	width:80%;
	margin:0 auto;
	border:solid 1px #f00;
}

#company #outline.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 18%, #89E2E4 18%, #89E2E4 100%);
}

#works #facility.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 18%, #89E2E4 18%, #89E2E4 100%);
}

#works #factory.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%,  #FFF 100%);
}

#works #common.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 18%, #89E2E4 18%, #89E2E4 100%);
}size:auto 

#recruit01 #skill.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 18%, #89E2E4 18%, #89E2E4 100%);
}

#service #services.section-ptn1:before{
  background:linear-gradient(to right, #FFF 0%, #FFF 18%, #89E2E4 18%, #89E2E4 100%);
}

#recruit01 #skill.section-ptn1:before {
    background: linear-gradient(to right, #FFF 18%, #FFF 260px, #89E2E4 260px, #89E2E4 100%);
}

#recruit01 #benefits .image img{
	height:auto !important;
	object-fit: fill !important;
}

.list1 {
	width:80%;
	margin:0 auto;
}

}

@media only screen and (min-width : 901px ) and (max-width : 1300px ) {

#lower_header .left-side{
	width:300px;
}

#top #overview {
    padding:0 0 60px 0;
}

#top #overview .column2 .child:nth-of-type(1){
	padding:50px 0 20px 0;
}

#top #overview .image{
    top:auto; 
    bottom:-10%; 
}

#top #works .box,
#top #recruit .box{
    position:absolute;
    bottom:0; 
    left:0;
    right:auto;
    padding:5px 20px 5px 20px;
}

#company #greeting.section-ptn1 > .column2 > .child:nth-of-type(2) {
	padding:10px 0 70px 0;
}

#company #greeting > .column2 > .child > .inner  dl{
	padding:50px 0 0 0;
}

#company #greeting > .column2 > .child  img.ceo{
	width:200px;
}


#company #greeting > .column2 > .child > .column2 > .child:nth-child(1) {
	width:65%;
	width:calc(100% - 250px);
}

#company #greeting > .column2 > .child > .column2 > .child:nth-child(2) {
	width:35%;
	width:250px;
}

#company #greeting > .column2 > .child > .column2 > .child:nth-child(2) img{
    position:absolute;
    display:inline-block;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
	border:solid 1px #f00;
}

#recruit01 #benefits .image .link-area{
	width:250px;
}

#recruit01 #benefits .image .link-area .column2 .child{
	width:100%;
	margin-left:0;
}
