@charset "UTF-8";
/* basic ---------------------------------------- */
* {
  margin: 0px;
  padding: 0px;
}
html {
	height: 100%;
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 2.0px;
}
body {
	height: 100%;
  margin: 0;
  background-color: #FFF;
  color: #3E3A39;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  text-align: left;
}
a img {
  border: none;
}
a, a:hover, a:focus {
  outline: none;
  color: #000000;
  text-decoration: none;
}
/*リンクオンマウスフェード*/
a:hover, a:hover img {
  opacity: 0.6; /*要素の透明度を指定*/
  filter: alpha(opacity=60); /*ie6、7の透明度指定*/
  -ms-filter: "alpha(opacity=60)"; /*ie8の透明度指定*/
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}
img {
  width: 100%;
  vertical-align: bottom;
  border: 0;
  -webkit-backface-visibility: hidden;
}
h1, h2, h3 {
  font-weight: normal;
}
.top h2 p, h3 p {
	font-size: 42px;
	font-family: "Nanum Gothic","Century Gothic";
	line-height: 1.0;
}
h2 {
	position: relative;
}
h2 p {
	position: absolute;
	left: 5%;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.top h2 {
	position: static;
}
.top h2 p {
	position: static;
	left: 0;
	top: 0;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
  /*font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;*/
}
.contactform h2 p, .contactform h2 span {
	display: block;
	line-height: 1.4;
}
h3 p {
	margin-bottom: 1%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ul {
  list-style: none;
	font-size: 0;
}
li {
	font-size: 14px;
}
/*.txt_b {
	font-weight: bold;
}*/
.left {
  float: left;
}
.right {
  float: right;
}
.alignright {
  text-align: right;
}
.alignleft {
  text-align: left;
}
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ".";
}
.clearfix {
  display: inline-block;
} /* exlude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
} /* end MacIE5 */
/* common ---------------------------------------- */
.smaon {
  display: none !important;
}
.contents {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 5%;
}
.mt50 { margin-top: 50px;}
.mt100 { margin-top: 100px;}
.mb50 { margin-bottom: 50px;}
.mb100 { margin-bottom: 100px;}
.min { font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.txtL { font-size: 30px;}
.txtM { font-size: 18px;}
.txtS { font-size: 10px;}
.glay { color: #B5B5B6;}
.white, .white a { color: #ffffff!important;}
.blue { color: #3ba3ce;}
.bg_black { background-color: #f5b33c; color: #ffffff;}
.bg_blue { background-color: #3ba3ce; color: #ffffff;}
.bg_dots { background-image: url("../img/bk_dots.jpg")}
.bg_black a, .bg_black a { color: #ffffff;}
.btn {
  display: block;
  position: relative;
  width: 80%;
  max-width: 240px;
  margin: 30px 0 0;
  padding: 10px 50px 10px 30px;
  border: 1px #000000 solid;
  text-align: center;
}
.btn.white {
  border: 1px #ffffff solid;
	color: #ffffff;
}
.btn input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  background: none;
}
.btn::after {
  content: ">";
  position: absolute;
  right: 20px;
}
.catch {
  line-height: 2.4;
  letter-spacing: 4.0px;
}
.catch p.blue.txtL {
  line-height: 1.8;
	margin-bottom: 2%;
}
.border {
  position: relative;
  border-bottom: 4px solid #3ba3ce;
}
.border:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 90%;
  height: inherit;
  border-bottom: 4px solid #dddddd;
}
/* header ---------------------------------------- */
header {
  width: 100%;
  padding: 0;
}
/* footer ---------------------------------------- */
footer {
  width: 100%;
}
footer .bg_black {
	padding: 1% 3%;
}
footer .copy {
	width: 55%;
}
footer .copy .btn {
    display: inline-block;
    max-width: 150px;
	margin: 0 0 0 3%;
    padding: 2px 10px 2px 0px;
    font-size: 10px;
}
footer .copy .btn::after {
    content: ">";
    position: absolute;
    right: 5px;
}
footer .right {
	margin-top: 3px;
}
footer ul li {
  display: inline-block;
	vertical-align: baseline;
	vertical-align: -webkit-baseline-middle;
}
footer ul li a {
  padding: 0 10px;
  border-right: 1px #ffffff solid;
}
footer ul li:first-of-type a {
  padding: 0 10px 0 0;
}
footer ul li:nth-of-type(5) a {
  border-right: none;
}
footer ul li:last-of-type a {
  padding: 5px 10px;
  border-right: none;
	background: #ffffff;
	color: #f5b33c;
}
footer .bg_blue .contents {
	max-width: 700px;
	margin: 0 auto;
	padding: 2% 5%;
	display: flex;
	align-items:flex-end
}
footer .bg_blue .logo, footer .bg_blue .address, footer .bg_blue .btn {
}
footer .bg_blue .logo {
	width: 40%;
	max-width: 278px;
	margin-right: 2%;
	padding-right: 2%;
  border-right: 1px #ffffff solid;
}
footer .bg_blue .address, footer .bg_blue .btn {
	margin-bottom: 3px;
}
footer .bg_blue .address {
	width: 45%;
}
footer .bg_blue .btn {
	width: 5%;
	margin-top: 0;
	padding: 1% 3% 1% 1%;
}
footer .bg_blue .btn::after {
    right: 10%;
}
/* totop ---------------------------------------- */
.page-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    font-size: 100%;
    opacity: 1.00;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0.4em;
    height: 1.6em;
    background: #B5B5B6;
}

.page-top:visited, .page-top:hover, .page-top:active {
	opacity: 1.0;
}
.page-top::before {
    content: '';
    width: 1.2em;
    height: 1.2em;
    border: 0.4em solid #B5B5B6;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(-45deg);
    transform-origin: top right;
    position: absolute;
    top: -0.3em;
    right: 54%;
    box-sizing: border-box;
}
/* index ---------------------------------------- */
.slider img {
  max-width: 100%;
  max-height: 100%;
}
.slider {
  width: 100%;
  /*margin: 20px auto 50px;*/
  /*max-width: 1200px;*/
  /*	box-shadow: 0px 9px 15px -5px rgba(0, 0, 0, 0.2);
		-moz-box-shadow: 0px 9px 15px -5px rgba(0, 0, 0, 0.2);
		-webkit-box-shadow: 0px 9px 15px -5px rgba(0, 0, 0, 0.2);
		-o-box-shadow: 0px 9px 15px -5px rgba(0, 0, 0, 0.2);
		-ms-box-shadow: 0px 9px 15px -5px rgba(0, 0, 0, 0.2);*/
}
.slick-slide {
  margin: 0px auto;
}
.slick-slide img {
  width: 100%;
}
.slick-prev:before, .slick-next:before {
  color: black;
}
.concept .contents {
	max-width: 800px;
}
.concept ul {
	margin: 1% 0;
}
.concept li {
	margin-bottom: 1%;
	padding: 2% 2% 2% 6%;
	background-size: 8%;
	background-color: #ffffff;
	background-position: 2% center;
	background-repeat: no-repeat;
}

.aboutus {
	background: linear-gradient(180deg,#3ba3ce 0%,#3ba3ce 90%,#ffffff 10%,#ffffff 100%);
	/*overflow: hidden;*/
	padding-bottom: 9%;
}
.aboutus .contents {
	position: relative;
}
.aboutus h2, .aboutus p {
	width: 45%;
	max-width: 500px;
	margin: 0;
}
.aboutus h2 p {
	width: 100%;
}
.aboutus img {
	position: absolute;
	right: 1%;
	bottom: -30%;
	width: 50%;
	max-width: 539px;
}
.second {
	background: linear-gradient(180deg,#ffffff 0%,#ffffff 40%,#3ba3ce 40%,#3ba3ce 100%);
	overflow: hidden;
}
.second img {
	max-width: 896px;
	margin: 2% 0 2% -8%;
}
.second p.white, .second a.white {
	display: inline-block;
	vertical-align: bottom;
}
.second p.white {
	width: 60%;
}
.second a.white {
	width: 20%;
	margin: 0 0 0 7%;
}
.form {
  width: 100%;
}
.form img {
  max-width: 47px;
}
.form .btn {
	max-width: 180px;
	margin: 1% auto 0;
}
.contactform.form {
	max-width: 350px;
}
.contactform.form .right {
	margin-right: 10px;
}
.contactform.form img {
  max-width: 71px;
	margin-bottom: 20px;
	margin-left: 10px;
}
.contactform.form p {
	line-height: 1.4;
}
.telnum {
  display: none;
  text-align: center;
}
.telnum.active {
  display: block;
}
/* company, recruit ---------------------------------------- */
.company dl, .recruit dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 700px;
	margin: 5% auto;
}
.recruit .contents div {
	width: 94%;
	padding: 3%;
	background: #ffffff;
}
.company dt, .company dd, .recruit dt, .recruit dd {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3% 0;
}
.company dt, .recruit dt {
	width: 30%;
	border-bottom: 1px #B5B5B6 solid;
	letter-spacing: 8px;
}
.company dd, .recruit dd {
	width: 70%;
	border-bottom: 1px #B5B5B6 solid;
}
.recruit .btn {
	margin: 5% auto 0;
}
.company  h3.border {
  padding-bottom: 3%;
}
.gmap {
  display: block;
  width: 100%;
  height: 440px;
  margin: 2% auto 0;
}
/* facility ---------------------------------------- */
.owned ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 5%;
}
.owned ul li {
	width: 48%;
	margin-bottom: 5%;
}
.owned ul li p {
	margin-top: 3%;
	line-height: 1.4;
}
.owned ul li:nth-of-type(2n-1) {
	margin-right: 4%;
}
.business .bg_dots {
	padding: 10% 0;
}
.business .bg_dots div {
	width: 100%;
	max-width: 700px;
	margin: 0 auto 3%;
	padding: 3%;
	background: #ffffff;
	border: 1px #3ba3ce solid;
}
.business .bg_dots div h3, .business .bg_dots div p {
	width: 60%;
	margin-right: 5%;
}
.business .bg_dots div img {
	width: 35%;
}


/* contact, entry ---------------------------------------- */
.contact input[type=radio] {
display: none;
}
.contactform ul {
	display: flex;
	justify-content: center;
	align-items: center;
	justify-content: space-around; /* 均等に横並び */
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}
.contactform ul li {
	width: 45%;
}
.contactform .label {
display: block;
width: 100%;
color: #3ba3ce;
text-align: center;
line-height: 45px;
cursor: pointer;
border: 1px solid #3ba3ce;
}
.contact input[type="radio"]:checked + label {
background: #3ba3ce;/* マウス選択時の背景色を指定する */
color: #ffffff; /* マウス選択時のフォント色を指定する */
}
.contact .label:hover {
opacity: 0.6; /* マウスオーバー時の背景色を指定する */
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}
.contactform.contents, .pp .contents {
	max-width: 800px;
}
.contactform form {
  width: 100%;
}
.contactform table {
  width: 100%;
  max-width: 700px;
  margin: 50px auto 0;
  border-collapse: separate;
  border-spacing: 15px;
}
.contactform table tr th {
  width: 30%;
  max-width: 180px;
  padding: 5px;
  text-align: left;
  vertical-align: top;
}
.contactform table th div {
  color: #ff0000;
  /* font-size: 10px; */
  display: inline-block;
  margin-left: 5px;
}
.contactform table tr td {
  padding: 0;
  border: none;
  text-align: left;
  vertical-align: middle;
}
.contactform .radio {
  display: inline-block;
  margin-right: 15px;
}
.contactform .name input {
	/*width: 70%!important;
	margin-right: 15px;*/
}
.contactform a {
	text-decoration: underline;
}
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.contactform form input[type="radio"], .contactform form input[type="checkbox"] {
  margin-right: 5px;
  margin-left: 15px;
}
.contactform form input[type="radio"]:first-of-type, .contactform form input[type="checkbox"]:first-of-type {
  margin-left: 0;
}
.contactform form input[type="text"], .contactform form input[type="email"] {
  width: 95%;
  padding: 5px;
  border: 1px #aaa solid;
}
.contactform form .age input {
  width: 10%;
	min-width: 50px;
	margin-right: 5px;
  padding: 5px;
}
.contactform form textarea {
  width: 95%;
  height: 200px;
  padding: 10px;
  border: 1px #aaa solid;
}
.contactform form input[type="submit"] {
  display: block;
  width: 400px;
  margin: 20px auto 0;
  padding: 15px 10px;
  border: 1px #000000 solid;
  background: #ffffff;
}
.contactform form input[type="submit"]:hover {
  opacity: 0.6; /*要素の透明度を指定*/
  filter: alpha(opacity=60); /*ie6、7の透明度指定*/
  -ms-filter: "alpha(opacity=60)"; /*ie8の透明度指定*/
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
	border: 1px #ffffff solid;
	background: #666666;
	color: #ffffff;
}
.contactform .error {
  font-size: 12px;
  color: #f00;
}
.contactform .retern {
  margin-top: 50px;
}
.contactform .retern a {
  border-bottom: 1px #000000 solid;
}
/* privacypolicy ---------------------------------------- */
.pp h3 {
	margin-top: 3%;
}
/* ------------------------------------------------------------ 
pc
------------------------------------------------------------ */
@media screen and (max-width: 1000px) {
  /* footer_pc ---------------------------------------- */
  .contents {
    width: 90%;
  }
	footer .copy, .bg_black .right {
    width: 100%;
		float: none;
		text-align: center;
  }
	footer .copy {
		margin-bottom: 1%;
  }
}
/* ------------------------------------------------------------ 
tablet
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* basic_t ---------------------------------------- */
  .left {
    float: none;
  }
  .right {
    float: none;
  }
  .smaon {
    display: block !important;
  }
  .smaoff {
    display: none !important;
  }
.mt50 { margin-top: 8vw;}
.mt100 { margin-top: 16vw;}
.mb50 { margin-bottom: 8vw;}
.mb100 { margin-bottom: 16vw;}
  .btn {
	  width: 70%;
  }
	.catch {
    letter-spacing: 2.8px;
}
  /* footer_t ---------------------------------------- */
  footer {
    text-align: center;
  }
	footer .copy {
    margin-bottom: 5vh;
}
	footer .copy .btn {
    display: block;
    margin: 1% auto;
}
	footer .copy, .bg_black .right {
    width: 100%;
}
	footer .bg_black {
		padding: 2% 0 3%;
}
	footer .bg_blue .contents {
		display: block;
		padding: 6% 0;
  }
	footer .bg_blue .logo, footer .bg_blue .address, footer .bg_blue .btn {
    width: 100%;
  }
	footer .bg_blue .logo {
		border-right: none;
		padding: 0;
		margin: 0 0 3%;
  }
	footer .bg_blue .btn {
		margin: 3% auto 0;
  }
  /* index_t ---------------------------------------- */
  #wrapper {
    margin-top: 50px;
  }
.concept li {
	margin-bottom: 5%;
	padding: 25% 10% 5% 10%;
	background-size: 20%;
	background-position: center 5%;
	background-repeat: no-repeat;
}
.concept li p.txtL.glay{
	text-align: center;
	line-height: 1.4;
}
.concept li p span.blue {
	display: block;
	margin-bottom: 5%;
}
	.aboutus h2, .aboutus p {
    width: 100%;
    max-width: auto;
}
	.aboutus {
    padding-bottom: 45%;
    background: linear-gradient(180deg,#3ba3ce 0%,#3ba3ce 70%,#ffffff 70%,#ffffff 100%);
}
	.aboutus img {
    right: 2%;
		top: 100%;
		bottom: 0;
    width: 70%;
    max-width: auto;
}
	.second h2 {
		margin: 2vw;
}
	.second p.white {
    width: 100%;
    max-width: auto;
}
	.second a.white {
    width: 40%;
    margin: 3% 0 0;
}
/* company_t, recruit_t ---------------------------------------- */
	.company dl, .recruit dl {
		width: 90%;
	}
	.company dt, .company dd, .recruit dt, .recruit dd {
		width: 100%;
	}
	.company dt, .recruit dt {
		padding: 0 0 1%;
		border-bottom: none;
		font-weight: bold;
	}
	.company dd, .recruit dd {
		margin: 0 0 2%;
		padding: 0 0 2%;
	}
.recruit .contents div {
	padding: 7% 3%;
}
}
/* ------------------------------------------------------------ 
smartphone
------------------------------------------------------------ */
@media screen and (max-width: 480px) {
  /* basic_s ---------------------------------------- */
.top h2 p, h3 p { font-size: 2.6rem;}
  .contents {
    width: 90%;
    padding: 10% 5% 5%;
  }
  /* common_s ---------------------------------------- */
  html, body, li {
    font-size: 12px;
  }
  .txtL { font-size: 1.6rem;}
  .txtM { font-size: 1.2rem;}
  .txtS { font-size: 0.8rem;}
  /* header_s ---------------------------------------- */
  /* footer_s ---------------------------------------- */
	footer .bg_black {
		padding: 5% 0 10%;
  }
	footer ul li {
    display: block;
}
	footer ul li a, footer ul li a:first-of-type {
    padding: 2% 0;
    border-right: none;
    border-bottom: 1px #ffffff dotted;
    width: 80%;
    display: block;
    margin: 0 auto;
}
	footer ul li:nth-of-type(5) a {
    border-bottom: none;
}
  #totop {
    display: block;
    width: 40px;
    height: auto;
  }
  /* index_s ---------------------------------------- */
	.catch p {
		margin-bottom: 3%;
}
  /* company_s, recruit_s ---------------------------------------- */
	.company dd, .recruit dd {
    margin: 0 0 5%;
    padding: 0 0 5%;
}
  /* pp_s ---------------------------------------- */
  #pp {
    margin-bottom: 10%;
  }
  /* contact_s ---------------------------------------- */
  .contactform {
    margin-bottom: 10%;
  }
  .contactform h2 {
    margin-top: 50px;
  }
  .contactform table {
    width: 100%;
    border-spacing: 0;
  }
  .contactform table tr th {
    width: 100%;
    display: block;
    padding-top: 15px;
    padding-bottom: 3px;
    padding-left: 0;
  }
  .contactform table tr td {
    width: 100%;
    display: block;
    padding-left: 0;
  }
	.contactform ul li {
    width: 40%;
}
.contactform .label {
    line-height: 1.8;
    padding: 5%;
}
  .contactform .radio {
    width: 100%;
    display: block;
  }
  .contactform form input[type="text"] {
    width: 94%;
    padding: 3%;
  }
  .contactform form .age input {
    width: 20%;
  }
  .contactform form textarea {
    width: 94%;
    padding: 3%;
    height: 120px;
  }
  input[type="submit"], input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
  }
  input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
    display: none;
  }
  input[type="submit"]::focus, input[type="button"]::focus {
    outline-offset: -2px;
  }
  .contactform form input[type="submit"] {
    display: block;
    width: 70%;
    padding: 3%;
	  color: #f5b33c;
  }
}