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

/* for SP
-------------------------------------------------------------------------------------*/

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


/* base contents
-------------------*/

/*header*/
#header, #gNav{
	display: none;
}
#spHeader{
	background: #FFF;
	height: 50px;
	padding: 7px 3%;
	display: block;
	margin-bottom: 0;
	width: 100%;
}
#spHeader .logo img{
	height: 36px;
	width: auto;
}
#spHeader ul{
	overflow: hidden;
	zoom: 1;
	position: absolute;
	right: 55px;
	top: 16px;
}
#spHeader li{
	float: left;
	margin: 0 5px;
	text-align: center;
}
#spHeader li a{
	color: #FFF;
	font-size:2.6rem;
	line-height: 1;
}
#spHeader li a i{
}
.spEntryBtn{
	background: #c76ecc;
	color: #fff;
	display: block;
	height: 50px;
	width: 80px;
	position: fixed;
	right: 50px;
	top: 0;
	z-index: 1010;
	text-align: center;
	transition: opacity 0.3s 0s ease;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 700;
}
.spEntryBtn:hover{
	opacity: 0.7; 
}
.spEntryBtn a {
display: block;
color: #fff;
padding: 18px 0;
text-decoration: none;
}
.spMenu{
	background: #fff;
	cursor: pointer;
	display: block;
	height: 50px;
	width: 50px;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1010;
}
.spMenu span {
	background: #c76ecc;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
    height: 2px;
    width: 23px;
    position: absolute;
    left: 14px;
	-webkit-transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
}


.spMenu span:nth-of-type(1) { top: 15px; }
.spMenu span:nth-of-type(2) { top: 24px; }
.spMenu span:nth-of-type(3) { top: 33px; }
.spMenu.active span{
	background: #c76ecc;
}
.spMenu.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
	top: 13px;
}
.spMenu.active span:nth-of-type(2) {
	opacity: 0;
}
.spMenu.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
.spMenu.active small{
	color: #000;
}


/*spNav*/
#spNav{
	background: #f9f9f9;
	height: 100%;
	display: block;
	transition: all 550ms ease 0.25s;
	visibility: hidden;
	padding-top: 50px;
	width: 80%;
    position: fixed;
	right: -100%;
    top: 0;
	z-index: 990;
}
#spNav.active{
	visibility: visible;
	right: 0;
}
#spNav #spBg{
	background: rgba(0,0,0,0.5);
    height: 100%;
    width: 500%;
    position: fixed;
	right: -50%;
    top: 0;
    z-index: -1;
    opacity: 0;
	transition: all 550ms ease 0.25s;
	pointer-events: none;
}
#spNav.active #spBg{
	right: 0;
    opacity: 1;
	pointer-events: auto;
}
#spNav::after {
	background: rgba(255,255,255,0.8);
	background: #f9f9f9;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}
#spNav::before,
#spNav::after {
    opacity: 0;
	transition: all 550ms ease 0.25s;
}
#spNav.active::before,
#spNav.active::after {
    opacity: 1;
}
#spNav .closeBtn{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 15px 3%;
	text-align: right;
}
#spNav nav{
	border-top: 1px solid #FFF;
}
#spNav nav ul li{
	border-bottom: 1px solid #FFF;
	width: 100%;
}
#spNav nav ul li a{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #666;
	font-size: 1.1rem;
	font-weight: bold;
	display: block;
	padding: 15px 2em 15px 1em;
	position: relative;
}
#spNav nav ul li a i{
	text-align: right;
	font-size: 1.4rem;
	margin: auto;
	width: 97%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#spNav nav ul li a::before{
	color: #000;
	content: attr(data-text);
	font-size: 165%;
	font-weight: normal;
	font-family: 'Josefin Sans', sans-serif;
	margin-right: .5em;
}
#spNav nav ul li a:hover{
	background: #96d1df;
	color: #FFF;
	text-decoration: none;
}
#spNav nav ul li a:hover::before{
	color: #FFF;
}
/*#spAction{
	display: block;
	margin: 0;
	padding: 0;
	position: fixed;
	left: 0;
	bottom: -100px;
	transition: all 550ms ease 0.25s;
	z-index: 300;
}
body.throughHd #spAction{
	bottom: 0;
	width: 100%;
}
#spAction li{
	border-right: 1px solid #888;
	float: left;
	height: 40px;
	display: table;
	width: 50%;
}
#spAction li a{
	background: rgba(0,0,0,.8);
	color: #FFF;
	display: table-cell;
	font-size: 1.2rem;
	vertical-align: middle;
	text-align: center;
	padding: 0 1em 0 2.5em;
	width: 100%;
	position: relative;
}
#spAction li a i{
	margin: auto;
	text-align: left;
	width: 85%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}*/

/*breadChumbs*/
#breadChumbs {
	display: none;
}

/*mv*/
#pageTop #mv {
	padding: 0;
}
#mv .mvInr .slider {
    width: 90%!important;
}
#mv .mvInr {
/* padding-bottom: 15px; */
padding-bottom: 35px;
}
#mv .copy {
	top: auto;
	bottom: 22%;
	pointer-events: none;
}
#mv .slick-dots {
left: -5%!important;
bottom: -35px;
}
#mv .slick-dots li button:before {
    font-size: 14px;
}

#mv .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #c76ecc!important;
}
#mv .slick-dots li button:before {
    opacity: .15;
}
/*contents*/
#contents {
	margin:0 auto;
	padding-top: 5px;
	width:100%;
}
#main {
	float:none;
	margin: 0 3%;
	width:auto;
}
#sideNav {
	float:none;
	margin: 40px 3% 0;
	max-width: 100%;
	width:auto;
}

/*footer*/



#footer .ftInr {
	margin:0 auto;
	max-width:97%;
	width:97%;
	padding-top: 15px;
}

#footer ul {
display:block;
margin-bottom: 0;
}

#footer ul li dl {
display: none;
}



#footer .fbList {
width: 97%;
margin: 0 auto 30px;
display: flex;
justify-content: space-between;
}



#footer .fbList li img {
height: auto;
width: 50%;
}

#footer .fbList li:last-child a{
    padding: 10px 0;
	text-align: center;
}

#footer .ftLogo {
text-align: center;
margin-bottom: 30px;
}


small#copyright {
border-top: 1px solid #666666;
font-family: 'Josefin Sans', sans-serif;
font-style: italic;
	color:#FFF;
	display:block;
	font-size:1.1rem!important;
	padding:10px 0;
	text-align:center;
	width:100%;
}

/*newsList*/
.newsList li .img{
	height: 100px;
}
.newsList li .img span img{
	max-height: 100px;
}
.newsList li a {
    height: 102px;
}
.newsList li .tx {
	line-height: 1.5!important;
}
@media only screen and (max-width: 640px) {
	.newsList li .img{
		float: none;
		width: 100%;
	}
	.newsList li .img span img{
		max-height: 100px;
	}
	.newsList li a {
	    height: auto;
	}
	.newsList li a::before,
	.newsList li a::after{
		display: none;
	}
	.newsList li .tx {
		line-height: 1.5!important;
		display: block;
	    height: 60px;
	    overflow: hidden;
	    position: relative;
	}
	.newsList li .tx::before {
	    background: #fff;
	    bottom: 0;
	    content: "…";
	    position: absolute;
	    right: 0;
	}
	.newsList li .tx::after {
	    background: #fff;
	    content: "";
	    height: 100%;
	    position: absolute;
	    width: 100%;
	}
}



/* indent
-------------------*/
body{
}
.bgFixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.is-sp{ display: block!important;}
.is-pc{ display: none!important;}
.spImg{ max-width: 100%;}
a.spTel{
	color: #96d1df;
	pointer-events: auto;
	text-decoration: underline;
}


/* section
-------------------*/

section{
	margin-bottom: 50px;
}
.scInr, .scInrS, .scInrW{
	float:none;
	margin: 0 3%;
	width:auto;
}



/* compo parts
-------------------*/

/*btn*/
.bscBtn01 a {
	display: block;
	padding: 20px 5%;
	margin-bottom: 10px;
	text-align: center;
	width: 100%;
}

/*box*/
.bscBox01{
	padding:5%;
}
.bscBox02{
	padding:5%;
}

/*table*/
.tblScroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.tblScroll table {
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0;
	width: 1000px!important;
}

.bscTbl01 table th,
.bscTbl01 table td {
	display: block;
	font-size: 1.1rem;
	padding:10px 3%;
	width: 100%!important;
}
.bscTbl01.tblScroll table th,
.bscTbl01.tblScroll table td {
	display: table-cell;
}
.tblScroll {
	padding-bottom: 5px;
}
.tblScroll::before {
	content: '※横スクロールができます。';
	display: block;
	margin-bottom: 10px;
}

/*float*/
.fltL, .fltR{
	float: none;
}
.fltImgL,
.fltImgR {
	float:none;
	margin:0;
	text-align: center;
}
.fltImgL img,
.fltImgR img{
	max-width: 100%;
	margin-bottom: 5px;
}

/*column*/
.clm4 li{
	float: left;
	margin-right: 0;
	width: 48.5%;
}
.clm4 li.even,
.clm4 li:nth-child(2n){
	float: right;
}
.clm4 li:nth-child(4n){
	margin-right: 0;
}

.clm3 li{
	float: left;
	margin-right: 0;
	width: 48.5%;
}
.clm3 li.even,
.clm3 li:nth-child(2n){
	float: right;
}

.clm4 li .img,
.clm3 li .img,
.clm2 li .img{
	height: 100px;
}
.clm4 li .img span img,
.clm3 li .img span img,
.clm2 li .img span img{
	max-height: 100px;
}

/*topcontrol*/
#topcontrol{
	display: none;
}



/* pager
-------------------*/

.pager a::before,
.pager a::after {
	display: none;
}



/* form
-------------------*/

.subscribeBtn input{
	padding:15px 0 13px;
	margin-top: 5px;
	width: 100%;
}
input.wSS,
input.wS,
input.wM,
input.wL,
input.wLL {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.wSS { width: 30%;}
.wS { width: 50%;}
.wM { width: 100%;}
.wL { width: 100%;}
.wLL { width: 100%;}
.imeOn { ime-mode: active;}
.imeOff { ime-mode: disabled;}
textarea.txtarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 200px;
	width: 100%;
}
select.timearea{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;

}
option {
	font-size:1.4rem!important;
}
label {
	cursor: pointer;
}
label:hover {
	color:#999;
}
input[type="checkbox"], input[type="radio"] {
	margin-right:3px;
}
.formErr {
	color:#E54E52;
	font-weight:bold;
}
input.inputErr,
textarea.inputErr {
	background:#FADFDE;
}
.req {
	color:#FFF;
	font-size:10px;
	line-height:100%;
	margin-left:3px;
	padding:2px 5px;
	margin-right: 5px;
	vertical-align:middle;
}
.cauText{
	display: block;
}



/* top
-------------------*/

.spHide {
display: none!important;
}
.spDisp {
display:block!important;
}
#mv {
margin-bottom: 0!important;
}
#mv .text {
    font-size: 25px!important;
}

.overL img {
width: 50%;
}
.overL {
    left: -15px!important;
}

.overR img {
width: 50%;
}
.overR {
right: -150px!important;
bottom: 100px!important;

}

#contents .grid_2 {
width: 100%!important;
}
#contents .itemBox {
    float: none!important;
}
div.newsBox ul li {
    font-size: 13px!important;

}
#contents .grid_2_2 {
    width: 100%!important;
}

#contents .gridItem h2 {
    font-size: 12px!important;
	}
#contents .gridItem h2 span {
    font-size: 22px!important;
}
#contents .gridItem h2 span strong {
    font-size: 40px!important;
}

#contents .grid_1{
width: 50%!important;
float: left!important;
}

#contents .gridItem h2 span small {
    font-size: 16px!important;
}

#contents .news {
background: #c76ecc;
padding: 35px 5% 20px;
}
#contents .itemBox.news:after {
background: none!important;
}

#contents .news h2 {
    font-size: 12px !important;
	position: inherit!important;
	top: inherit!important;
	left: inherit!important;
	width: 100%!important;
    padding-bottom: 10px;
}

div.newsBox {
position: inherit!important;
    height: auto!important;
    width: 100%!important;
    top: 0!important;
    left: 0!important;
}
#contents .grid_2.news:after {
padding-top: 0!important;
}
#contents .news h2 span {
font-size: 30px!important;
}
div.newsBox ul {
padding-top: 2%!important;
}
.newsBtn a {
    padding: 6px 0!important;
	}

.newsBtn {
top: 25px!important;
width: 35%!important;
}

div.newsBox ul li {
display: block!important;
margin-bottom: 4%!important;
}
div.newsBox ul li p.date {
width: 100%!important;
font-weight: bold;
}
div.newsBox ul li p.title {
width: 100%!important;
line-height: 1.2!important;
}

#contents .ayumiBox {
background:url("../../images/sp_ayumi.png") center center no-repeat!important;
background-size:cover!important;
background-attachment:inherit!important;
}
#contents .ayumiBox p.Img {
width: 30%;
margin: 0 auto;
}
#contents .ayumiBox p.Img img {
width: 100%;
}
#contents .ayumiBox h2 span {
    font-size: 37px!important;
}
#contents .ayumiBox a {
    padding: 30px 0!important;
}

#inrMv {
overflow: hidden;
}

#inrMv .overR {
    right: -10px!important;
	bottom: 10px!important;
}
#inrMv .imBox h1 {
    font-size: 15px!important;
}
#inrMv .imBox h1 span {
    font-size: 34px!important;
}
#inrMv .imBox {
    padding: 40px 0 30px!important;
}

.mvInr .overR {
	display: none; /* 230704　追記 */
}


/* news
-------------------*/

.table01 {
width: 95%!important;
}
.table01 table th,
.table01 table td {
display: block;
}
.table01 table th {
font-size: 14px!important;
width: 100%!important;
text-align: left;
padding-bottom:0!important;
border-bottom: none!important;
}

.requirements .table01 table th {
font-size: 15px!important;
margin-bottom: 20px;
}

.table01 table td {
width: 100%!important;
font-size: 14px!important;
padding-top: 8px!important;
}



.newsHead {
  padding: 16px!important;
  font-size: 18px!important;
}


.articleBox {
width: 95%!important;
margin:0 auto 30px!important;
}

p.date {
font-size: 14px!important;
}

.backBtn a {
padding: 20px 60px!important;
}



/* welfare
-------------------*/


.welfare01 {
	width: 95%!important;
	margin: 0 auto 30px!important;
}
.wHead {
	font-size: 20px!important;
	margin-bottom: 30px!important;
}
.wHead span {
	font-size: 20px!important;
	width: 80px!important;
	padding: 30px 0 16px!important;
	margin-bottom: 20px!important;
}


.wHead span small {
	font-size: 12px!important;

}

div.clum2Box {
display: block!important;
}

div.clum2Box.rr {
flex-direction:row!important;
}

div.clum2Box p.Img{
width: 100%!important;
margin-bottom: 20px;
}
div.clum2Box p.txt {
width: 100%!important;
font-size: 14px!important;
}

.welfare02 {
width: 95%!important;
margin: 0 auto 40px!important;
}

.clum3Box {
display:block!important;
}

.clum3Box .box {
width: 100%!important;
margin-bottom: 40px;
}

.clum3Box p.txt {
font-size: 14px!important;
}


#inrMv.picMv .overL img {
    width: 100%;
}

#inrMv.picMv .overR img {
    width: 100%;
}

#inrMv.picMv .overL,
#inrMv.picMv .overR {
width: 15%;
}

#inrMv.picMv .overR {
bottom: 0!important;
}

#inrMv.picMv {
margin-bottom: 40px;
}



/* staff
-------------------*/
.staffList ul {
flex-wrap: wrap;
}

.staffList li {
width: 50%!important;
}


.nameArea {
width: 100%!important;
}

.nameArea .work {
font-size: 10px!important;
}

.nameArea .name {
font-size: 15px!important;
}
.nameArea .name span {
font-size: 10px!important;
}
.staffDetail {
width: 100%!important;
margin: 0 auto 30px!important;
}
#contents .Img {
line-height: 0!important;

}

.staffDetail .imgBox .Img {
height: 28vh!important;
}
.staffDetail .labelBox {
    position: inherit!important;
    left: 0!important;
    bottom: 0px!important;
}

.staffDetail .lbInr {
display: block!important;
    padding: 20px!important;
	}

.staffDetail .work {
    font-size: 12px!important;
}

.staffDetail .name {
    font-size: 22px!important;
	}

.staffDetail .name span {
    font-size: 10px!important;
	}

.staffDetail .lbInr:before {
display: none;
}

.qBox {
    display: block!important;
    width: 95%!important;
	}

.qBox .Img,
.qBox .txtBox{
width: 100%!important;

}
.qBox .Img {
margin-bottom: 20px!important;
}
.qBox .txtBox dl dt {
    font-size: 20px!important;
    padding-left: 40px!important;
	    min-height: 40px!important;
}
.qBox .txtBox dl dt:before {
    font-size: 20px!important;
}
.qBox .txtBox dl dd {
    font-size: 14px!important;
}

.pageList ul {
    max-width: 95%!important;
    width: 95%!important;
    margin: 0 auto 30px!important;
}

.pageList ul li {
    width: 49%!important;
}
.staffHead {
    font-size: 22px!important;
    margin-bottom: 20px!important;
}
.pageList ul li a {
    padding: 16px 0!important;
    font-size: 12px!important;
}
.info {
    font-size: 13px!important;
    margin-bottom: 30px!important;
}
.info span {
    font-size: 20px!important;
}

.wordList {
background: #f1f1f1;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
    width: 100%!important;
    margin: 0 auto!important;
	padding: 20px 10px;
}

.wordList ul li {
    margin: 5px 0!important;
}

.size_1 {
  font-size: 10px!important;
}

.size_2 {
  font-size: 14px!important;
}

.size_3 {
  font-size: 18px!important;
}

.size_4 {
  font-size: 22px!important;
}

.size_5 {
  font-size: 26px!important;
}

.size_6 {
  font-size: 30px!important;
}

.size_7 {
  font-size: 34px!important;
}

.size_8 {
  font-size: 36px!important;
}
.subscribeBtn input {
    padding: 15px 0!important;
    font-size: 20px!important;
}
.subscribeBtn {
background: #fff!important;
    padding: 30px 0!important;
	width: 80%!important;
	margin: 0 auto;
}

.resultList li {
    font-size: 14px!important;
    margin-bottom: 20px!important;
}

/* career
-------------------*/
.careerBox {
    max-width: 95%!important;
    width: 95%!important;
    margin: 0 auto 40px!important;
    display:block!important;
}

.careerBox .imgBox {
    width: 90%!important;
	margin: 0 auto 20px !important;
}

.textBox {
    width: 100%!important;
    padding: 0!important;
}
.textBox dl dt {
    font-size: 14px!important;
}

.textBox dl dd h3 {
    font-size: 18px!important;
}
.careerBox .lbInr .num {
    font-size: 28px!important;
	margin-bottom: 10px!important;
}

.careerBox .lbInr .work small {
    font-size: 14px!important;
}

.careerBox .lbInr .work {
    font-size: 20px!important;
}

.careerBox .lbInr {
    padding: 15px 35px!important;

}

#contents.career {
padding-bottom: 0!important;
}
.tarainingBox {
    max-width:95%!important;
    width: 95%!important;
    margin: 0 auto 30px!important;
    display: block!important;
}

.tarainingBox .imgBox {
width: 90%!important;
margin: 0 auto 20px!important;
}

.tarainingBox .lbInr {
    padding: 25px 14px 2px!important;
}

.tarainingBox .lbInr .num {
    font-size: 29px!important;
    margin-bottom: 14px!important;
}
.tarainingBox .lbInr .num small {
    font-size: 10px!important;
}

.textBox h2.tHead {
    font-size: 22px!important;
    margin-bottom: 12px!important;
}


/*---------------*/
/*2末以降削除*/
/*---------------*/

#contents .gridItem.nolink p.Img {
    padding-top: 3vh!important;
	width: 30%;
	margin: 0 auto 10px;
}

#contents .gridItem.nolink p.Img img{
width: 100%;
}
/*---------------*/
/*add*/
/*---------------*/

.tNews {
padding-bottom: 15px;
}

.tNews ul {
    margin: 0 auto;
    max-width: 100%!important;
    width: 95%!important;

}
.tNews ul li{
font-size: 13px!important;
	display: block!important;
}

.tNews ul li p.date {
width: 100%!important;
display: block!important;
}

.tNews ul li p.title {
width: 100%!important;
display: block!important;
}
.imgWrap {
    min-height: 45vh!important;
	}

.slider .slick-prev,.slider .slick-next {
background: none!important;
}

.slick-prev:before, .slick-next:before, .slick-prev:after, .slick-next:after {
  background: #c76ecc!important;
}

}

@media only screen and (max-width: 785px) {
#footer .fbList li:last-child a{
    padding: 20px 0;
}
}

@media only screen and (max-width: 627px) {
#footer .fbList li img {
    width: 50%;
}
}


@media only screen and (max-width: 550px) {
#footer .fbList li img {
    width: 70%;
}

@media only screen and (max-width: 450px) {
#footer .fbList li img {
    width: 80%;
}
}
/*SP END*/