@charset "UTF-8";
/* ================================================================================
CSS information
 file name	: contents.css
 style info	: 個別ページ設定
 author		: SAHO+DESIGN
 author URI	: http://www.saho-design.com
================================================================================ */
#home{}

/* =========================================   TOP IMAGE SLIDER  ========================================= */
#home .topSlider{
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  margin: 0;
  padding: 0;
	background-size:cover;
	z-index:1;
	clear:both;
}
#home .sloganTop{
	position:absolute;
	top:155px;
	left:50%;
	width:80%;
	transform: translate(-50%, 0);
	z-index:2;
}
#home .sloganTop img{
	width:100%;
	height:auto;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#home .topSlider{
	  height: 500px;
	  margin: 0;
	}
	#home .sloganTop{top:220px;	width:70%;}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#home .topSlider{
	  height: calc(100vh-100px);
	  margin-bottom:160px;
	}
	#home .sloganTop{top:50%;	width:50%;}
}

#home .topMenu{
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
#home .topMenu > li{
	position: relative;
	width: 50%;
	margin: 0;
	padding: 5px 0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#home .topMenu{
		flex-wrap: nowrap;
	}
	#home .topMenu > li{
		padding: 3px 10px;
		text-align: center;
	}
}

#home .tile {
	display: block;
	align-items: stretch;
	flex-basis: auto;
	flex-grow: 1;
	flex-shrink: 1;
	min-height: min-content;
	margin-bottom:40px;
}
#home .tile.is-message, #home .tile.is-picture{
	margin-bottom:0;
}
#home .tile.is-reverse {
	flex-direction: row-reverse;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#home .tile {
		display: flex;
  }
  #home .tile.is-message {
		flex: none;
		align-items: center;
		width: 55%;
		padding: 0 5px;
		text-align:left;
		background: #fff;
  }
  #home .tile.is-picture {
		flex: none;
		width: 45%;
  }
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#home .tile {
		display: flex;
  }
  #home .tile.is-message {
		width: 39%;
		padding: 0 25px;
  }
  #home .tile.is-picture {
		width: 61%;
  }
}

@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#home table th{
		width:240px;
	}
}


/* =========================================   RECRUIT   ========================================= */
#recruit{}

#recruit .topImgWoman {
	background:url("../images/recruit/woman/topImg_sp.png") no-repeat top;
	background-size:cover;
}
#recruit .topImgMan {
	background:url("../images/recruit/man/topImg_sp.png") no-repeat top;
	background-size:cover;
}
#recruit .topImgSenior {
	background:url("../images/recruit/senior/topImg_sp.png") no-repeat top;
	background-size:cover;
}
#recruit p.mess {
	font-size:1.8rem;
	font-weight:600;
	padding-bottom:5px;
	text-align:left;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#recruit .topImgWoman {
		background:url("../images/recruit/woman/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
	#recruit .topImgMan {
		background:url("../images/recruit/man/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
	#recruit .topImgSenior {
		background:url("../images/recruit/senior/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
	#recruit p.mess {
		font-size:2.4rem;
		text-align:center;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit p.mess {
		font-size:2.8rem;
	}
	#recruit .messBox {
		width:700px;
		margin:-20px auto 0;
	}
}

#recruit .pointBox {
	display: block;
	margin:20px 0 40px;
}
#recruit .pointBox .pointInner {
	flex: none;
	width: 100%;
	text-align:left;
	background: #E8ECE9;
	border-bottom: 1px solid #0ABAB5;
}
#recruit .pointBox .pointInner:last-child {
	border:none;
}
#recruit .pointInner {
	padding: 30px 15px;
}
#recruit .pointNum {
	position: relative;
  font-size: 1.4rem;
  line-height: .6;
	padding-left: 7rem;
}
#recruit .pointNum::before {
	content: attr(data-number);
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Oswald', sans-serif;
	color: #0ABAB5;
	font-size: 5rem;
	font-weight:700;
}
#recruit .pointNum span {
  display: block;
	font-size: 2.0rem;
	font-weight:400;
  margin-top: 1.5rem;
	margin-bottom:2rem;
}
#recruit ul.pointList {
	padding-left: 2rem;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#recruit .pointBox .pointInner {
		flex: none;
		width: 33.33%;
		text-align:left;
		border-right: 1px solid #0ABAB5;
		border-bottom: none;
	}
	#recruit .pointBox {
		display:flex;
		margin:20px 0 60px;
	}
	#recruit .pointNum {
	  font-size: 1.4rem;
	  line-height: 1;
		padding-left: 7rem;
	}
	#recruit .pointNum::before {
		font-size: 6rem;
	}
	#recruit .pointNum span {
		font-size: 2.2rem;
	  margin-top: 1.3rem;
		margin-bottom:2rem;
	}
	#recruit ul.pointList {
		padding-left: 3rem;
	}
}	
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit .pointBox {
		margin:20px 0 40px;
	}
	#recruit .pointInner {
		padding: 60px 40px;
	}
	#recruit .pointNum {
	  font-size: 1.5rem;
	  line-height: .6;
		padding-left: 10rem;
	}
	#recruit .pointNum::before {
		font-size: 7rem;
	}
	#recruit .pointNum span {
		font-size: 2.6rem;
		font-weight:400;
	  margin-top: 2rem;
		margin-bottom:3rem;
	}
}

#recruit .trainingBox {
	margin:20px 0 40px;
}
#recruit .trainingInner {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	margin:20px 0;
	padding:0;
}
#recruit .trainingDesc {
	padding: 20px;
	border: 3px solid #0ABAB5;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#recruit .trainingBox {
		display:-webkit-box;
		display:-moz-box;
		display:-webkit-flex;
		display:flex;
		-moz-box-orient:horizontal;
		-webkit-box-orient:horizontal;
		flex-direction:row;
		-ms-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		-moz-box-pack:justify;
		-ms-box-pack:justify;
		-webkit-justify-content:center;
		justify-content:center;
		margin:20px 0 60px;
	}
	#recruit .trainingInner {
		width: 33.333%;
		margin:0;
		padding:0 5px;
	}
	#recruit .trainingDesc {
		padding: 30px 20px;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit .trainingInner {
		padding:0 20px;
	}
	#recruit .trainingDesc {
		padding: 40px 20px;
	}
}

#recruit .innerBox {
	border: 3px solid #0ABAB5;
}
#recruit .is-commuteImg{
	width:100%;
	margin:0 auto;
	text-align:center;
}
#recruit .commuteDesc {
	margin-top:10px;
	padding: 20px 10px 20px 20px;
	background-color: #E8ECE9;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#recruit .is-commuteImg{
		width:80%;
	}
	#recruit .commuteDesc{
		padding: 20px 30px 20px 40px;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit .is-commuteImg{
		width:100%;
	}
	#recruit .commuteDesc{
		padding: 20px 80px 20px 90px;
	}
}



#recruit .flow{
	position:relative;
	overflow:hidden;
	width:100%;
	margin:0 auto;
	padding:0 0 0 20px;
}
#recruit .flowLine{
	position:absolute;
	top:0;
	left:20px;
	width:1px;
	height:100%;
	background: #0ABAB5;
}
#recruit .flowBox{
	position:relative;
	width:100%;
	margin:0 0 40px;
}
#recruit .flowInner{
	position:relative;
	left:0;
	width:100%;
	padding:0 0 0 30px;
}
#recruit .flowTitle{
	position:relative;
	width:100%;
	font-size:0;
	line-height:0;
}
#recruit .flowTitle>p:first-child{
	position:absolute;
	top:0;
	left:-50px;
	width:40px;
	color:#0ABAB5;
	font-size:1.2rem;
	font-weight:bold;
	line-height:38px;
	text-align:center;
	background:#E8ECE9;
	border:1px solid #0ABAB5;
	border-radius:20px;
}
#recruit .flowTitle>p:not(:first-child){
	color: #0ABAB5;
	font-size:2.0rem;
	line-height:40px;
	font-weight:400;
	line-height:1.3;
	margin-bottom:10px;
	padding-top:10px;
}
#recruit .flowList .contents_text{
	margin: 0;
}
#recruit #flowEnd{margin:0}
#recruit #flowEnd .flowInner{border-left:2px solid #E8ECE9;}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit .flow{
		padding:0;
	}
	#recruit .flowLine{
		left:15%;
	}
	#recruit .flowBox{
		margin:0 0 60px;
	}
	#recruit .flowInner{
		left:15%;
		width:70%;
		right:15%;
		padding:0 0 0 50px;
	}
	#recruit .flowTitle>p:first-child{
		left:-75px;
		width:50px;
		height:50px;
		font-size:1.5rem;
		line-height:5.0rem;
		border-radius:25px;
	}
	#recruit .flowTitle>p:not(:first-child){
		font-size: 2.2rem;
		padding-top:5px;
	}
	#recruit .flowList .contents_text{
		margin:5px 0 0;
	}
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#recruit table th{
		width:210px;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#recruit table{
		width:940px;
		margin:0 auto;
	}
}



/* =========================================   DOMITORY   ========================================= */
#dormitory{}
#dormitory .topImg {
	background:url("../images/dormitory/topImg_sp.png") no-repeat top;
	background-size:cover;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#dormitory .topImg {
		background:url("../images/dormitory/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
}


#dormitory .subMenu{
	display: flex;
	justify-content:space-between;
	padding: 0;
}
#dormitory .subMenu > li{
	position: relative;
	width: 33.33%;
	margin: 0;
	padding: 0;
	text-align: center;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#dormitory .subMenu > li{
		padding: 0;
	}
}
/* =========================================   ENTRY   ========================================= */
#entry{}
#entry .topImg {
	background:url("../images/entry/topImg_sp.png") no-repeat top;
	background-size:cover;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#entry .topImg {
		background:url("../images/entry/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
}





/* =========================================   BLOG   ========================================= */
#blog {
}

#blog .blogWrap {
	display: block;
}
#blog h2.blogTitle {
	font-size: 1.8rem;
	margin:0;
	padding-bottom:3px;
	border-bottom: 2px solid #3f312b;
	text-align:left;
}
#blog p.blogDate{
	font-size: 80%;
	font-weight: 400;
	margin:0 0 10px;
	text-align:right;
}
#blog p {
	letter-spacing: 1px;
	padding:0 0 5px;
}
#blog hr.blogLine{
  background-color:#fff;
  border: none;
  display: block;
  height: 1px;
	margin: 50px 0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#blog .blogWrap{
		display: flex;
  }
	#blog .blogWrap .blogWrap-main {
    width: 70%;
    padding-right: 5%
	}
	#blog .blogWrap .blogWrap-aside {
    width: 25%;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#blog .blogWrap .blogWrap-main {
    width: 70%;
    padding-right: 10%;
	}
	#blog .blogWrap .blogWrap-aside {
    width: 25%;
	}
}
/* =========================================   MENU   ========================================= */
#blog .blogWrap-aside {
	display: block;
  padding-top: 50px;
}
#blog .blogWrap-aside a {
	display: block;
	border-radius: 2px;
}
#blog .blogWrap-aside a:hover {
	color: #fff;
	background-color: #0ABAB5;
}
#blog .blogWrap-aside ul {
	padding-bottom:25px;
}
#blog .blogWrap-aside li {
	list-style-type: none;
	padding: 3px 0;
}
#blog .blogWrap-aside ul li ul {
	margin-left: 10px;
	padding-bottom: 0;
}
#blog .blogWrap-aside ul li ul li {
	list-style-type: none;
	padding-left: 5px;
}
#blog h3.side-menu-label{
	font-size: 2.4rem;
	margin: 0;
	padding: 20px 0 0;
}
#blog h3.side-menu-label:first-child {
	padding: 0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  #blog .blogWrap-aside {
    padding-top: 0;
  }
}





/* =========================================   ERROR   ========================================= */
#error .topImg {
	background:url("../images/404/topImg_sp.png") no-repeat top;
	background-size:cover;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#error .topImg {
		background:url("../images/404/topImg_pc.png") no-repeat top;
		background-size:cover;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
}
