@charset "utf-8";
/* CSS Document */

body {
	font-family: 'Noto Sans',"Mplus 1p","Rounded Mplus 1c",sans-serif;
	-webkit-text-size-adjust : 100%; /* iPhone用 */
  font-size:16px;
  color: #333;
  height:100%;
	width:100%;
	padding-top:0 !important;
	}
html {
	height:100%;
}
p {
	color:#222;
}
.pc {
	display:block;
}
@media (max-width: 767px) {
.scroll_fix {
	padding-top:-65px;
	margin-top:65px;
}
}
@media (max-width: 559px) {
.pc {
	display:none;
}
}
/* css3が必要なら以下から。不要な場合消す
--------------------------------------------------------
基本のシャドウ
.shadow {
	-webkit-box-shadow: 2px 2px 5px 0px #999;
	box-shadow: 2px 2px 5px 0px #999;
	}

角丸
.radius {
	border-radius: 12px;
	}

透過
.opacity {
	opacity: 0.6; 
	}

ブレイクポイント
@media (max-width: 599px) {}
@media (min-width: 600px) and (max-width: 768px) {}
@media (min-width: 769px) {}

※モバイルファースト？
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}

--------------------------------------------------------*/

/* クリアー */
.clearfix {zoom:1;}
.clearfix:after { content: ""; display: block; clear: both; }


/* 調整用
-------------------*/
.mb10 { margin-bottom:10px !important; }
.mb20 { margin-bottom:20px !important; }
.mb30 { margin-bottom:30px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
.mt10 { margin-top:10px !important; }
.mt20 { margin-top:20px !important; }
.mt40 { margin-top:40px !important; }
.mt60 { margin-top:60px !important; }
.pt20 { padding-top:20px !important; }
.pt40 { padding-top:40px !important; }
.pt60 { padding-top:60px !important; }

.mb-f { margin-bottom:10% !important; }


/* フォントサイズ ファミリー
----------------------------*/

.noto100 {font-family: 'Noto Sans JP', sans-serif; font-weight:100;}
.noto300 {font-family: 'Noto Sans JP', sans-serif; font-weight:300;}
.noto400 {font-family: 'Noto Sans JP', sans-serif; font-weight:400;}
.noto500 {font-family: 'Noto Sans JP', sans-serif; font-weight:500;}
.noto700 {font-family: 'Noto Sans JP', sans-serif; font-weight:700;}
.Mplus400 {font-family: 'Mplus 1p', sans-serif; font-weight:400;}
.Mplus600 {font-family: 'Mplus 1p', sans-serif; font-weight:600;}
.R-Mplus400 {font-family: 'Rounded Mplus 1c', sans-serif; font-weight:400;}
.R-Mplus500 {font-family: 'Rounded Mplus 1c', sans-serif; font-weight:500;}
.R-Mplus600 {font-family: 'Rounded Mplus 1c', sans-serif; font-weight:600;}


/* リンク
----------------------------*/
footer p a,
table td a {
  -webkit-transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	transition: opacity 0.4s;
  text-decoration: none;
  display: block;
	}

#header #nav ul li a:hover,
section#top .in-box #nav li a:hover,
.recruit-btn a:hover,
footer p a:hover,
table td a.map:hover {
  opacity:0.6;
	position:relative;
	}


.in-box {
	width:900px;
	margin:0 auto;
	padding:0 20px;
	display:block;
	position:relative;
	z-index:100;
}
@media (max-width: 900px) {
.in-box {
    width: 94%;
    margin: 0 auto;
    padding: 0 20px;
    display: block;
    position: relative;
    z-index: 100;
}
}
@media (max-width: 768px) {
.in-box {
	width: 700px;
  padding: 0;
  display: block;
  margin: 0 34px;
}
}
@media (max-width: 767px) {
.in-box {
    width: 86%;
    padding: 0;
    display: block;
    margin: 0 7%;
}
}

/* 要素を横並び
----------------------------*/

.dsFlex {
	-js-display: flex;
	display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  /*justify-content: center;*/
  /*-webkit-box-pack: center;*/
  -webkit-justify-content: space-between; /* Safari */
  justify-content:         space-between;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
  }
@media (max-width: 767px) {
.dsFlex {
	display:block;
}
}
.dsFlex-box {
  }
.dsFlex-box.col-2 {
  width: 460px;
}
.dsFlex-box.col-2.zoo {
	width:49%;
}
.dsFlex-box.col-3 {
  width: 33%;
}

.dsFlex-box img {
  width: 100%;
  height: auto;
  }
	
	
/* 共通の指定
--------------------------------------------------------*/

section h2 {
  text-align:center;
}
section h2 img {
  margin: 100px 0 60px 0;
	width:200px;
  }
@media (max-width: 767px) {
section h2 img {
  margin: 30px 0 30px 0;
  width: 120px;
}
}
.bg_pink {
	background-image:url(../images/gizagiza.png);
	background-repeat:repeat;
	width:100%;
	height:auto;
	z-index:-100;
	padding-bottom:60px;
}
.bg_yellow {
	background-image:url(../images/kurukuru.png);
	background-repeat:repeat;
	width:100%;
	height:auto;
	z-index:-100;
	padding-bottom:60px;
}
.bg_green {
	background-image:url(../images/potapota.png);
	background-repeat:repeat;
	width:100%;
	height:auto;
	z-index:-100;
	padding-bottom:60px;
}
#about .bg_pink.pt20 .lol_name_bg .in-box.R-Mplus600 .caption-box .m-txt {
	font-size:26px !important;
	margin-bottom:10px;
	line-height:1.6em !important;
}
p.m-txt {
	font-size:22px !important;
	margin-bottom:10px;
	line-height:1.6em !important;
}

p.m-txt img {
	height: 25px;
  margin-right: 10px;
  vertical-align: sub;
}
table td img {
	height: 20px;
  margin-right: 8px;
  vertical-align: sub;
}
.works-box.dsFlex .caption-box .noto500 img {
	height: 16px;
  margin-right: 8px;
  vertical-align: sub;
	position: relative;
	top: -3px;
}
@media (max-width: 767px) {
.bg_pink,
.bg_yellow,
.bg_green {
	margin-bottom:30px;
}
#about .bg_pink.pt20 .lol_name_bg .in-box.R-Mplus600 .caption-box .m-txt {
	font-size:20px !important;
	margin-bottom:10px;
	line-height:1.6em !important;
}
p.m-txt {
	font-size: 18px !important;
  margin-bottom: 5px;
}
p.m-txt img,
table td img,
.works-box.dsFlex .caption-box .noto500 img {
	height: 15px;
  margin-right: 5px;
/*	vertical-align: initial;*/
}
	p.m-txt img {
		vertical-align: initial;
	}
	.works-box.dsFlex .caption-box .noto500 img {
		top: -1px;	
	}
}
table {
	width:100%;
}
.recruit .caption {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    letter-spacing: 0.1em;
}
table th {
  font-size: 18px;
  font-weight: 500;
  width: 25%;
  text-align: left;
  padding: 2% 5%;
  vertical-align: top;
}
table td {
  font-size: 18px;
  padding: 2%;
  width: 75%;
  text-align: left;
	line-height:1.8em;
}
@media (max-width: 900px) {
	table th {
		width: 16%;
		padding: 2% 0 2% 2%;
	}
	table td {
		width: 84%;
	}
}
table td a {
	color:#e3007f;
	text-decoration:underline;
	display: inline-block;
}
@media (max-width: 767px) {
.recruit .caption {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    letter-spacing: 0.1em;
}
.profile table tr:nth-child(even),
.recruit table tr:nth-child(even) {
	background-color:rgba(255,255,255,0.8);
}
table th {
  font-size: 15px;
  width: 100%;
  text-align: left;
  padding: 2% 5% 1% 5%;
  vertical-align: top;
  display: block;
  font-weight: bold;
}
.profile table th {
  border-bottom: dotted 1px rgba(228,0,127,1);
}
.recruit table th {
  border-bottom: dotted 1px  rgb(8,169, 99);
}
table td {
  font-size: 14px !important;
  padding: 2% 5%;
  width: 100%;
  text-align: left;
	line-height:1.8em;
	display:block;
}
}

/* header
--------------------------------------------------------*/
#header #nav_sp {
	display:none;
}
#nav_pc {
	background-color: #FFF;
	height: 88px;
	width: auto;
  position: relative;
  z-index: 100000;
  -webkit-box-shadow: 0px 0px 6px 0px #B1B1B1;  /* Safari, Chrome用 */
	box-shadow: 0px 0px 6px 0px #B1B1B1;  /* CSS3草案 */
}
@media (max-width: 768px) {
#nav_pc {
	height: 78px;
}
}
@media (max-width: 767px) {
#header #nav_sp {
    display: block;
    /*height: 80px;*/
    position: fixed;
    width: 100%;
		z-index: 10000;
    /*-webkit-box-shadow: 0px 0px 5px 0px #CCC; */ /* Safari, Chrome用 */
	  /*box-shadow: 0px 0px 5px 0px #CCC;*/  /* CSS3草案 */
}
#header #nav_pc {
	display:none;
}
}
/* ロゴ
------------------------*/
p.logo {
	float:left;
  display: block;
	margin: 15px 20px;
  }
p.logo img {
	height:50px;
}
p.logo_sp {
	display:none;
}
@media (max-width: 1100px) {
p.logo {
	margin: 12px 15px;
  }
p.logo img {
	height:40px;
}
}
@media (max-width: 768px) {
p.logo {
	 margin: 14px 12px 12px 14px;
  }
p.logo img {
	height:36px;
}
}
@media (max-width: 767px) {
p.logo_sp {
	display:block;
}
p.logo_sp img {
	height:40px;
	z-index:10000;
	position:fixed;
	top:15px;
	left:10px;
}
}
@media (max-width: 370px) {
	p.logo_sp img {
	height:30px;
	z-index:10000;
	position:fixed;
	top:15px;
	left:10px;

}
}

/* nav
--------------------------------------------------------*/
#header #nav_pc {
	/*height: auto;*/
	width: 100%;
	clear:right;
	float:right;
	display:block;
	}
.pc_head {
	position:fixed;
	top:0;
	width:100%;
	left:0;
	z-index:10000;
}
#header #nav_pc ul {
  display: block;
  float: right;
}
#header #nav_pc ul li {
  display: inline-block;
	margin: -35px 6px 0 0;
	}
/*section#top .in-box #nav li {
  width : 16.66666% ; 
  width : -webkit-calc(100% / 6) ;
  width : calc(100% / 6) ;
	float:left;
}*/
.in-box #nav ul {
	-webkit-justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  justify-content: center;
  display: -webkit-flex;
  display: flex;
	-webkit-justify-content: space-around; /* Safari */
  justify-content:         space-around;
	width:100%;
	}
/*section#top .in-box #nav li {
  -webkit-justify-content: space-between;
  justify-content:         space-between;
	
}*/
@media (max-width: 961px) {
#header #nav_pc ul li {
  display: inline-block;
	margin: -20px 5px 0 0;
	}
	}
@media (max-width: 1800px) {
section#top .in-box #nav li img {
	width:100px;
}
}
 section#top .in-box {
	 position: absolute;
   width: 100%;
   margin: 0 auto;
	 bottom: 3%;
 }
@media (min-width: 992px) {
 section#top .in-box #nav {
   max-width: 760px;
   margin: 0 auto;
 }
}
@media (max-width: 991px) {
section#top .in-box {
	position: absolute;
  bottom: 5%;
  padding: 0 5%;
}
}
@media (max-width: 767px) {
.pc_head {
	display:none;
}
#header #nav_pc {
	display:none !important;
}
section#top .in-box {
	display:none;
}
}

/* マウスオーバー時のアニメーション */
.hvr-sink li {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sink li:hover, .hvr-sink li:focus, .hvr-sink li:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}
#header #nav ul li a,
section#top .in-box #nav li a {
  -webkit-transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	transition: opacity 0.4s;
  text-decoration: none;
  display: block;
	}

/* footer
--------------------------------------------------------*/
footer {
    background: rgba(228,0,127,1);
    z-index: 100;
    position: relative;
		height:100px;
  }
.footer-box {
	padding-top:35px;
	vertical-align:middle;
	display:block;
}
.f_logo img {
	display: inline-block;
  float: left;
  height: 40px;
  position: absolute;
  top: 25px;
  }
footer p.mail {
	display:inline-block;
	float:left;
	margin-left:30%;
  }
footer p a {
  color:#fff;
  font-size:16px;
	letter-spacing: 0.05em;
	}
footer p a img {
  height: 18px;
  vertical-align: bottom;
  bottom: 2px;
  position: relative;
}

/* コピーライト */
p.copyright {
  font-size: 10px;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  position: absolute;
  right: 0;
  bottom: -20px;
  }
@media screen and (max-width: 768px) {
footer p.mail {
	margin-left:35%;
  }
footer p a {
  text-decoration: underline;
	}
}
@media (max-width: 767px) {
footer {
    position: relative;
		height:150px;
  }
.footer-box {
	padding-top:10px;
	vertical-align:middle;
	display:block;
}
.f_logo img {
  display: block;
  height: 30px;
  position: relative;
  margin: 15px auto;
  float: none;
  text-align: center;
  top: 0px;
  }
footer p.mail {
	display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  float: none;
  }
footer p a {
  color: #fff;
  font-size: 14px;
	}
footer p a img {
  height: 22px;
  bottom: 2px;
}

/* コピーライト */
p.copyright {
  letter-spacing: 0.05em;
  position: relative;
  right: initial;
  bottom: -10px;
  text-align: center;
  }
}
@media screen and (max-width: 320px) {
.f_logo img {
  height: 30px;
  }
}

/* pagetop
--------------------------------------------------------*/
#pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  } 

#pagetop a {
    width: 90px;
    height: 90px;
		background-color: rgba(228,0,127,1);
    border-radius: 50px;
    position: relative;
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
		-webkit-transition: 0.4s;
	  -moz-transition: 0.4s;
	  transition: 0.4s;
  }
#pagetop a img {
  position: absolute;
	height:60px;
	left: 18%;
  top: 15%;
  }
@media (max-width:768px) {
#pagetop {
  position: fixed;
  bottom: 10px;
  right: 10px;
  } 
#pagetop a {
    width: 80px;
    height: 80px;
		background-color: rgba(252,170,214,0.8);
  }
#pagetop a img {
    position: absolute;
    height: 45px;
    left: 24%;
    top: 20%;
  }
}
#pagetop a:hover {
  background-color: rgba(252,170,214,1);
	opacity:1;
  }


