@charset "UTF-8";

/* star
--------------------------------------------------------*/
.star-area {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.star {
  width: 455px;
  height: 441px;
  background: url(../img/illust/star_01.png) no-repeat;
  position: absolute;
  z-index: 1;
}

.star-1 { left: -100px; z-index: 11000; }
.star-2 { right: -5%; }
.star-3 { left: 14%;  }
.star-4 { left: -10%; }
.star-5 { right: -5%; }
.star-6 { left: -100px; }
.star-7 { right: -5%; }
.star-8 { left: 14%;  }
.star-9 { right: 10%; }
.star-10 { left: -10%; }

.box-layer {
  position: relative;
  z-index: 20000;
  }

/*

.star-1 { top: 1%; left: -100px; transform:rotate(60deg); }
.star-2 { top: 16%; right: -5%; transform:rotate(-60deg); }
.star-3 { top: 34%; left: 14%; transform:rotate(-60deg); }
.star-4 { top: 54%; right: -5%; transform:rotate(-50deg); }
.star-5 { top: 62%; left: -10%; transform:rotate(-60deg); }
*/

@media (max-width: 767px) {
  .star {
    width: 200px;
    height: 194px;
    background-size: contain;
  }
  .star-1 { top: 5%; transform:rotate(60deg); }
  .star-2 { top: 16%; transform:rotate(-60deg); }
  .star-3 { top: 24%; transform:rotate(-60deg); }
  .star-4 { top: 30%; transform:rotate(-50deg); }
  .star-5 { top: 44%; transform:rotate(-60deg); }
  .star-6 { top: 50%; transform:rotate(60deg); }
  .star-7 { top: 64%; transform:rotate(-60deg); }
  .star-8 { top: 72%; transform:rotate(-50deg); }
  .star-9 { top: 80%; right: -5%; transform:rotate(20deg); }
  .star-10 { top: 94%; transform:rotate(-20deg); }
}

/* トップページ
--------------------------------------------------------*/
#wrapper {
	padding-top: 50px;
}
@media (max-width: 767px) {
  #wrapper {
    padding-top: 78px;
  }
}

#header {
  height: 152px;
	background: url(../img/common/header-bg.png) center bottom repeat-x;
  }
#header a {
  display: block;
  }
@media (min-width: 768px) {
  #header {
    position: relative;
    padding: 20px 0 10px;
  }
  #header img {
    width: 272px;
    height: auto;
  }
}
@media (max-width: 767px) {
  #header {
    height: auto;
    background: none;
    }
  #header .headerlogo {
    display: none;
    }
}

.home footer {
	background-color:#fff67f;
  }

/* nav
--------------------------------------------------------*/
#navi {
  text-align:center;
  /* padding-top:25px; */
  }
#navi ul {
  margin-top: 0px;
  margin-left: -40px;
  }
#navi ul li.navi01 {
  display: inline-block;
  }
#navi li img {
  width: 100%;
  height: auto;
  }
#navi ul li a {
  padding: 0 14px 7px;
  }

#navi .menu--homeonly{
      display: flex;
      align-items: center;
      justify-content: center;
}
#navi .menu--homeonly li a {
       font-size: 18px ;
}

.fixed .menu--homeonly {
  display: block !important;
}

.fixed .menu--homeonly li a {
  font-size: 16px !important;
}

@media (max-width: 767px) {

#navi .menu--homeonly li a {
    font-size: 20px !important;
  }
}

@media (max-width: 767px) {
  #navi {
    padding-top: 0px;
  }
 	#navi ul li.navi01 {
  	display: none;
  }
  #navi li img {
    width: auto;
    height: auto;
	}
}
@media (min-width: 768px) {
 	#navi ul li {
    background: url(../img/common/nav-line.png) top left no-repeat;
	}
}
/* 固定のnav
--------------------------------------------------------*/
/* #navi,
#navi.fixed {
  z-index: 50000;
  } */

#navi.fixed {
  padding-top: 25px;
  position: fixed;
  top: 0px;
  z-index: 1000000;
  }
.fixed {
  /* position: fixed; */
  display:block;
  margin:0 auto;
  /* top: 0px; */
  /* z-index: 1; */
  background: url(../img/common/header-bg-fixed.png) top center repeat-x;
  width:100%;
	}

.fixed ul {
  margin-top: 25px;
  }
.fixed li {
  background: none !important;
  }
#navi.fixed li img {
  width: 86%;
  height: auto;
  }
#navi.fixed ul li a {
  padding: 0 9px 7px;
  display: block;
  }


@media (min-width: 768px) {
	.logo-fixed {
  	display: none;
  }
}
.fixed .logo-fixed {
  display: block;
  }
.fixed .navi01 {
  display: none !important;
  }


/* mainv
--------------------------------------------------------*/
#mv {
  position: relative;
  }
#mv li {
  margin: 0;
  padding: 0;
  }

.mv-frame {
  width: 1150px;
  height: 580px;
  background: url(../img/home/mv-frame.png) no-repeat;
  overflow: hidden;
  position: absolute;
  top: -100px;
  left: 50%;
  margin-left: -575px;
  z-index: 10000;
  }
@media (max-width: 767px) {
  .mv-frame {
    width: 100%;
    height: auto;
    background: none;

    /* background: url(../img/home/mv-frame.png) no-repeat; */
    background-size: cover;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50%;
    z-index: 10000;
    }
}

@media (max-width: 767px) {
.main-wrapper {
  height: auto;
  }
#mainvisual{
  height: auto;
  margin: 20px 0;
  }
}
@media (min-width: 768px) {
#mainvisual{
  /* min-width: 1143px; */
  }
}

/* #news
----------------------------*/
#news h2 {
  margin-bottom: 30px;
  }
#newscont ul{
  margin:0 auto 40px auto;
  }
#newslist {
  line-height:250%;
  text-align:left;
  list-style:none;
  width:710px;
  }
#newslist li {
  background: url(../img/common/line-dot.png) repeat-x bottom left; 
  line-height: 1;
  display: table;
  width: 100%;
  }
#newslist li a {
  width: 100%;
  color:#3e3a39;
  display: block;
  font-size: 22px;
  letter-spacing: 1px;
  padding: 20px 15px;
  }
#newslist li a:hover {
  color: #eb5c02;
  }
#newslist li span {
  display: table-cell;
  }
#newslist li.close span.date {
  padding-left: 20px;
  }
#newslist li span.title {
  padding-left: 20px;
	line-height: 1.4em;
  }

/* 仮オープン用 */
#newslist li.close {
  line-height: 1.6em;
  font-size: 22px;
  padding-bottom: 10px;
  }

@media (max-width: 767px) {
  #news.box {
    padding: 30px 20px;    
  }
  #news h2 {
    margin-bottom: 10px;
    }
  #newslist {
    width:100%;
    }
  #newslist li a {
    font-size: 14px;
    }
  #newslist li.close span.date {
    padding-left: 0px;
  }
}


/* #about
----------------------------*/
#us_fm {
  margin:0 auto;
  width:975px;
  }
.us_left {
  float: left;
  width:400px;
}
.us_right {
  float: right;
  margin-right: 90px;
  width:460px;
  text-align: center;
  }
.us_right p {
  font-size: 26px;
  line-height: 2em;
  margin-bottom: 30px;
  }

@media (max-width: 767px) {
  #us_fm{
    width:100%;
  }
  .us_left,
  .us_right {
    float: none;
    width: 100%;
  }
  .us_left img {
    width: 100%;
    height: auto;
  }
  .us_right {
    margin-right: 0px;
    text-align: center;
  }
  .us_right p {
    margin-bottom: 20px;
  }
  #about .link.detail {
    margin-bottom: 20px;  
  }
}  
  
/* box3
----------------------------*/
#content {
  text-align: center;
  }

ul#themelist h3{
		height:80px;
}

@media (max-width: 767px) {
	ul#themelist h3{
		height:auto;
		margin-bottom: 16px;
}
}

ul#themelist .height{
		height:71px;
}

@media (max-width: 767px){
	ul#themelist .height{
		height:auto;
}
}

.contents__text{
line-height: 2em;
	padding-top:30px;
	font-size: 26px;
}

@media (max-width: 767px){
	.contents__text{
		padding-top:0;
		padding-bottom:8px;
		font-size: 14px;
}
}


ul#themelist {
  margin-left:-40px;
  padding-top:40px;
  }
ul#themelist li{
  display:inline-block;
  vertical-align: top;
  width:315px;
  height:610px;
	padding:260px 30px 0 26px;
  }

@media (max-width: 767px){
	ul#themelist li{
		padding:250px 30px 0 26px;
	}
}
ul#themelist li p {
  font-size:15px;
  line-height:1.6em;
  text-align: justify;
  }
ul#themelist li p:not(.t-align){
	padding-bottom: 8px;
}
li.theme01 { background: no-repeat url(../img/home/theme01.png?201217); }
li.theme02 { background: no-repeat url(../img/home/theme02.png?201217); }
li.theme03 { background: no-repeat url(../img/home/theme03.png?201217); }
ul#themelist li p.t-align {
  text-align: center;
	margin: 5px auto;  
	}
ul#themelist li p.t-align.m02 {
	margin: 30px auto 5px !important;  
	}
ul#themelist li p.t-align.m03 {
	margin: 8px auto 5px !important;  
	}
ul#themelist li p b {
  font-size: 18px;
}
ul#themelist li p span {
  font-size: 11px;
	letter-spacing: 0.4em;
	vertical-align: text-bottom;
}
ul#themelist li p span.green {
	color: #18933d;
}
ul#themelist li p span.red {
	color: #d71718;
}
ul#themelist li p span.purple {
	color: #9966cc;
}
@media (max-width: 767px) {
  #content h2 {
    margin-bottom: 10px;
  }
  ul#themelist {
    margin: 0 0 20px 0;
    padding: 0;
    }
/*
	ul#themelist li{
    height:505px;
		padding:315px 30px 0 26px;
  }
*/
  li.theme01,
  li.theme02,
  li.theme03 {
    background-size: contain;
    }
	ul#themelist li p b {
		font-size: 16px;
	}
  ul#themelist li p.t-align {
   text-align: center;
	 margin: 10px auto 5px;  
	}
  ul#themelist li p.t-align.m02,ul#themelist li p.t-align.m03 {
	 margin: 20px auto 5px !important;  
	}
}  

/* #service
----------------------------*/
#service {
  text-align:center;
  }
#service h2 {
  margin-bottom: 40px;
  }
#service ul {
  margin-left: 0;
  }
#service li {
  font-size: 24px;
  line-height: 2em;
  list-style: none;
  }
@media (max-width: 767px) {
  #service h2 {
    margin-bottom: 10px;
    }
  }

.service__btn__wrapper{
    display: flex;
    align-items: baseline;
    justify-content: center;
}

@media (max-width: 412px) {
  .service__btn__wrapper {
    flex-direction: column;
    }
	
	.service__btn__inner{
	margin: 0 auto;
}
	
	.service__btn-add{
		padding-left: 30px;
	}
  }

.service__btn{
 transition: .2s;   
}
.service__btn:hover{
opacity: 0.8;
transition: .2s;
}

@media (max-width: 767px) {
  .service__btn:hover {
    opacity: 1;
transition: 0;
    }
  }

.service__btn-add{
	text-align: left;
	padding-left: 51px;
	padding-top: 8px;
}





.service__btn-add li{
	font-size: 15px !important;
	list-style: disc !important;
	line-height: 1.7em !important;
	color: #0058a4;
	
}

/* #spend
----------------------------*/
#clock {
  text-align: center;
  }
#clock ul {
  margin: 0;  
}
#clock li {
  margin: 30px;
  display: inline-block;
  }
@media (max-width: 767px) {
  #spend h2 {
    margin-bottom: 10px;
  }
  #clock ul {
    margin: 0 0 20px;  
  }
  #clock li {
    width: 45%;
    margin: 0px;
    display: inline-block;
    }
  }

/* recruit
----------------------------*/
#recruit h2 {
  margin-bottom: 30px;
  }
#recruit h2 + p {
  text-align: center;
  font-size: 23px;
  letter-spacing: 1px;
  line-height: 2em;
  margin-bottom: 20px;
  }

/* box7
----------------------------*/
#accessmap{margin:0 auto; width: 961px;}

/* contactus */
.contactus {
  color: #0058a4;
  width: 620px;
  margin: 0 auto 74px;
}
.contactus h3 {
  font-size: 26px;
  font-weight: normal;
  padding-left: 74px;
}
.contactus ul {
  margin: 0 0 10px 0;
}
.contactus li {
  font-size: 58px;
  list-style:  none;
  line-height: 1.2em;
  white-space: nowrap;
}



.contactus table {
  font-size: 36px;
  margin: 0 0 10px 0;
}
.contactus table th {
  font-weight: normal;
  width: 120px;
}
.contactus table td {
  padding-left: 30px;
}
.contactus .caution {
  font-size: 23px;
  color: #ef7a00;
}

/* accessmap */
#contactus {
  display:block;
  margin:0 auto;
  padding-top:57px;
  padding-bottom:81px;
}

#map_left{
  float: left;
}
#map_right {
  float: left;
  margin-left:70px;
  width: 262px;
}
#map_right img {
  width: 88%;
}
#map_right p {
  line-height:  1.7em;
}

@media (max-width: 767px) {
  .contactus h3 {
    padding-left: 0px;
  }
  #access h2.mgb50 {
    margin-bottom: 10px;
  }
  .contactus {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .contactus li {
    font-size: 24px !important;
    padding-left: 0px;
  }
  .contactus table {
    font-size: 18px;
  }
  .contactus table th {
    font-weight: normal;
    width: 120px;
    text-align: right;
  }
  .contactus table td {
    padding-left: 30px;
    text-align: left;
  }

  .contactus .caution {
    margin-bottom: 20px;
  }
  #accessmap {
    margin:0 auto;
    width: 100%;
    }
  #contactus {
    width: 92%;
    margin: 0 4%;
    }
  #map_left,
  #map_right {
    float: none;
    width: 100%;
    text-align: center;
    }
  #map_left img {
    width: 92%;
    }
  .link.detail {
    margin-bottom: 0px;
    }
  #accessmap .link.detail {
    margin-bottom: 20px;
  }
  #map_right{
    margin-left: 0px;
    }
  #map_right img {
    width: 34%;
  }
  .accesslogo {
    margin-top: 20px;
  }
  .accesslogo.mgb30 {
    margin-bottom: 10px;
  }
  
}  



/* 中面
--------------------------------------------------------*/

.page #header {
  margin-top:none;
  height:82px;
  background: url(img/common/header-bg-fixed.png) top center repeat-x;
  }
.page #header img {
  margin:0 auto;
  padding-top:0;
  }
@media (max-width: 767px) {
.page #header img {
  width: 100%;
  margin-bottom: 10px;
  }

  } 

/* 220131追加
--------------------------------------------------------*/
.contactus h3{
	text-align: center;
	padding-left: 0;
	margin-bottom: 24px;
}
.contact__tel,.contact__mail{
display: flex;
text-align: left;
justify-content: space-between;
align-items: flex-end;
}

.contact__tel{
	margin-bottom: 16px;
}

.contact__tel div,.contact__mail div{
width: 50%;
}


.contact__title{
	font-weight: bold;
}

.contact__contents{
	font-size: 31px;
	font-weight: bold;
	white-space: nowrap;
}

	@media (max-width: 767px) {
	#access .contact__contents{
	font-size: 28px !important;
}
		#access .contact__title{
			font-size: 18px  !important;
		}
	.contact__tel,.contact__mail{
		display: block;
		text-align: center;
  }
		
		.contact__tel div,.contact__mail div{
width: 100%;
}
	}

	@media (max-width: 500px) {
	#access .contact__contents{
	font-size: 22px !important;
}
	}

.contact__contents .icon{
  width: 26px;
  height: 26px;
  display: inline-block;
  position: relative;
  top: 0.1em;
  margin-right: 10px;
}

.contact__contents a,.contact__contents p{
	white-space: nowrap;
}

	
.icon-tel { 
	background: url(../img/home/icon-tel.png) left center no-repeat ; 
	background-size: 100%;
}
.icon-mail { 
	background: url(../img/home/icon-mail.png) left center no-repeat; 
	background-size: 100%;
}


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

.mv-recruit{
	  position: absolute;
    left: calc(50% - 528px);
    transform: translateX(-50%);
    top: 46px;
    z-index: 20000;
}

.mv-recruit img{
		transition: 0.2s
}
.mv-recruit:hover img{
		transform: rotate(-5deg);
		transition: 0.3s
}
.navi07{
	position: relative;
}

.navi07 img{
	position: absolute;
		width:76px !important;
	 	left: 50%;
    transform: translateX(-50%);
    top: -20px;
	}


	@media (max-width: 1250px) {
		.mv-recruit{
			left: calc(50% - 450px);
		}
}

	@media (max-width: 768px) {
		.mv-recruit{
			display: none;
		}
		.navi07 img{
	display: none;
	}
}

#recruit-bar{
	display: none;
}
#recruit-bar img{
		transition: 0.2s
}
#recruit-bar:hover img{
	opacity: 0.7;
		transition: 0.3s
}

	@media (max-width: 768px) {
		#recruit-bar{
			display: block;
			margin-top: -6vw;
			width: 100%;
}

				#recruit-bar img{
	display: flex;
}
		}


