@charset "utf-8";

body {
	font-size: 14px;
}
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], textarea, select {
	padding: 5px 10px;
	font-size: 14px;
}
select {
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 7px;
}
.form_check input[type="checkbox"]{
  display: none;
}
.form_check input[type="checkbox"]#check1+input+label{
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 35px;
  padding-right: 10px;
}
.form_check input[type="checkbox"]#check1+input+label::before{
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  margin-top: -10px;
  left: 0;
  top: 50%;
  border: 1px solid #333;
  border-radius: 5px;
  background: #F1FBFF;
}
.form_check input[type="checkbox"]:checked#check1+input+label::after{
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 9px;
  margin-top: -5px;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  border-bottom: 3px solid;
  border-left: 3px solid;
  border-color:  #333;
}
.pc {
	display: none;
}


/* 基本レイアウト---------------- */
#wrapper {
	position: relative;
  width: 100%;
	text-align: center;
}
#container {
	padding-top: 60px;
}
.main {
  width: 84%;
  margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.flex_st {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-self: center;
}


/* loading ---------------- */
.is_hide {
  display: none;
}
#loader_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 1000;
}
#loader {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 160px;
  height: 160px;
  margin-left: -80px;
  margin-top: -80px;
}


/* ヘッダー---------------- */
#head {
  position: fixed;
  width: 100%;
  height: 60px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(51, 51, 51, .1);
  z-index: 100;
}
#head_logo {
  padding: 22px 0 0 30px;
  text-align: left;
}
#head_logo img {
  width: 130px;
  height: auto;
}
#head_menu {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  z-index: 100;
}
#head_navi {
  display: none;
}
#sp_navi_on a {
	display: block;
	width: 60px;
	height: 60px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/sp_nav_open.png) no-repeat;
  background-size: 100%;
}
#sp_navi_of a {
	display: block;
	width: 60px;
	height: 60px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/sp_nav_close.png) no-repeat;
  background-size: 100%;
}
#sp_navi_of {
  display: none;
}
#sp_navi {
  display: none;
	width: 100%;
  height: 100vh;
	position: fixed;
	top: 60px;
	left: 0;
  padding: 45px 0 16px;
  text-align: center;
  background: rgb(0,0,0,0.5);
  z-index: 100;
  overflow-y: scroll;
}
.sp-nav-menu {
  position: absolute;
  top: 0;
  right: 0;
  width: 245px;
  z-index: +1;
}
.sp_navi {
  border-top: 1px solid #e8e8e8;
}
.sp_navi li a {
  position: relative;
  display: block;
  height: 60px;
  padding: 22px 0 0 28px;
  text-align: left;
  text-decoration: none;
  font-size: 14px;
  color: #fff;
  background: linear-gradient(to right, #4c94e6 0%, #4cc1e6 100%);
  border-left: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}
.sp_navi li a:after {
  position: absolute;
  top: 24px;
  right: 20px;
  display: block;
  content: "";
  width: 6px;
  height: 10px;
  background: url("../img/icon02.png") no-repeat;
  background-size: 100%;
}
.sp_navi li.on a {
  background: linear-gradient(to right, #1c6dc9 0%, #4c94e6 100%);
}


/* フッター----------------- */
#foot {
  width: 100%;
}
#foot01 .main {
  width: 100%;
}
.foot_navi {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.foot_navi li {
  width: 50%;
  text-align: left;
}
.foot_navi li:last-child {
  margin-right: 0;
}
.foot_navi li a {
  position: relative;
  display: block;
  height: 60px;
  padding: 22px 0 0 20px;
  text-decoration: none;
  border: 1px solid #ccc;
}
.foot_navi li a:after {
  position: absolute;
  top: 25px;
  right: 18px;
  display: block;
  content: "";
  width: 6px;
  height: 10px;
  background: url("../img/icon01.png") no-repeat;
  background-size: 100%;
}
.foot_navi li.on a {
  color: #4C94E6;
}
#foot02 {
  padding: 70px 0 60px;
  background: #eee;
  border-bottom: 1px solid #DCDCDC;
}
.foot_logo {
  width: 146px;
  margin: 0 auto 15px;
}
.foot_logo img {
  width: 100%;
  height: auto;
}
.link01 a:after {
  display: inline-block;
  content: "";
  width: 15px;
  height: 11px;
  margin-left: 10px;
  background: url("../img/icon_link01.png") no-repeat;
  background-size: 100%;
}
#foot03 {
  padding: 25px 0;
  background: #eee;
}
#copyright small {
  font-size: 10px;
}
#pagetop {
  position: fixed;
  bottom: 16px;
  right: 15px;
  width: 50px;
  z-index: 10;
}
#pagetop img {
  width: 100%;
  height: auto;
}


/* トップ---------------- */
#top_main {
  position: relative;
  height: calc(100vh - 60px);
}
#top_copy {
  position: absolute;
  top: 32vh;
  left: 0;
  right: 0;
  width: 98%;
  margin: 0 auto;
  color: #fff;
  z-index: 10;
}
.top_copy01 {
  line-height: 44px;
  font-size: 40px;
}
.scrolldown {
  position: absolute;
  top: 65vh;
  left: 0;
  right: 0;
  width: 60px;
  height: 80px;
  margin: 0 auto;
  text-align: center;
  z-index: 10;
}
.scrolldown a {
  text-decoration: none;
  color: #fff;
}
.scrolldown span {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  font-size: 20px;
}
.scrolldown::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 3px;
  height: 45px;
  margin: 0 auto;
  background: #fff;
  z-index: 10;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 45px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 45px;
    opacity: 0;
  }
}
.swiper-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slide-img {
  width: 100%;
  height: calc(100vh - 60px);
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.slide01 {
  background: url("../img/top_slide01_sp.jpg") no-repeat;
  background-size: cover;
}
.slide02 {
  background: url("../img/top_slide02_sp.jpg") no-repeat;
  background-size: cover;
}
.slide03 {
  background: url("../img/top_slide03_sp.jpg") no-repeat;
  background-size: cover;
}
.slide04 {
  background: url("../img/top_slide04_sp.jpg") no-repeat;
  background-size: cover;
}
.slide05 {
  background: url("../img/top_slide05_sp.jpg") no-repeat;
  background-size: cover;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .slide-img, .swiper-slide-duplicate-active .slide-img, .swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both;
}
.slide-img img {
  display: block;
}

.content01 {
  padding: 90px 0 80px;
  border-bottom: 10px solid #eee;
}
.h2_01 {
  position: relative;
  margin-bottom: 110px;
}
.h2_01:after {
  position: absolute;
  bottom: -83px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 1px;
  height: 60px;
  margin: 0 auto;
  background: #000;
}
.h2_01 h2 {
  margin-bottom: 5px;
  font-size: 34px;
}
.h2_01 .h2_01_t {
  font-size: 14px;
  font-weight: 700;
}
.top_message01 p {
  text-align: left;
}
.txt01 {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
}
.txt02 {
  margin-bottom: 30px;
  line-height: 1.3;
  font-size: 38px;
  font-weight: 900;
}

.content02 {
  padding: 90px 0 100px;
  border-bottom: 10px solid #eee;
}
.main01 {
  width: 100%;
}
.top_services01 {
  width: 84%;
  margin: 0 auto 30px;
  text-align: left;
}
.top_services02, .top_services03, .top_services04, .top_services05 {
  margin-bottom: 100px;
  text-align: left;
}
.top_services06 {
  margin-bottom: 70px;
  text-align: left;
}
.top_services07 {
  width: 84%;
  margin: 0 auto;
  text-align: left;
}
.top_services04 .col01_01 {
  margin-bottom: 40px;
}
.top_services05 .col01_03 {
  margin-bottom: 40px;
}
.top_services06 .col01_01 {
  margin-bottom: 40px;
}
.col01 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.col01_01 {
  order: 2;
  width: 84%;
  margin: 0 auto;
}
.col01_02 {
  order: 1;
  width: 100%;
  margin-bottom: 30px;
}
.col01_03 {
  order: 2;
  width: 84%;
  margin: 0 auto;
}
.col01_04 {
  order: 1;
  width: 100%;
  margin-bottom: 30px;
}
.col01_05 {
  width: 84%;
  margin: 0 auto 4px;
}
.col01_06 {
  width: 84%;
  margin: 0 auto;
}
.col01_07 {
  order: 3;
  width: 84%;
  margin: 0 auto;
}
.h3_01 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
}
.p01 {
  margin-bottom: 30px;
}
.btn01 a {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  padding-top: 11px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  color: #4C94E6;
  background: #fff;
  border: 2px solid #4C94E6;
  border-radius: 25px;
}
.btn01 a:after {
  position: absolute;
  top: 19px;
  right: 22px;
  display: block;
  content: "";
  width: 6px;
  height: 9px;
  background: url("../img/icon01.png") no-repeat;
  background-size: 100%;
}
.top_services05_img01 {
  width: 84%;
  margin: 0 auto;
}
.top_services06_img01 {
  margin-bottom: 4px;
}
.p02 {
  margin-bottom: 40px;
}
.btn02 a {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  padding-top: 18px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #4C94E6;
  background: #fff;
  border: 2px solid #4C94E6;
  border-radius: 35px;
}
.btn02 a:after {
  position: absolute;
  top: 28px;
  right: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon01.png") no-repeat;
  background-size: 100%;
}

.content03 {
  padding: 90px 0 100px;
}
.top_news01 {
  margin-bottom: 50px;
}
.news_date01 {
  margin-bottom: 15px;
}
.news_txt01 {
  line-height: 2;

}

.content04 {
  padding: 90px 0 100px;
  background: #D9EAF5;
}
.p03 {
  margin-bottom: 50px;
}
.btn03 a {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  padding-top: 21px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(to left, #4cc1e6 0%, #4c94e6 100%);
  border-radius: 35px;
}
.btn03 a:after {
  position: absolute;
  top: 30px;
  right: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon02.png") no-repeat;
  background-size: 100%;
}


/* 下層ページ---------------- */

/* パンくず */
#pankuzu {
  height: 40px;
  padding-top: 7px;
  background: #F4F4F4;
}
#pankuzu ul {
  width: 84%;
  margin: 0 auto;
  text-align: left;
}
#pankuzu ul li {
  display: inline;
  margin-right: 8px;
  font-size: 12px;
}
#pankuzu ul li:after {
  display: inline-block;
  content: "";
  width: 4px;
  height: 6px;
  margin-left: 12px;
  background: url("../img/icon07.png") no-repeat;
  background-size: 100%;
}
#pankuzu ul li:last-child:after {
  display: none;
}


/* お知らせ */
#news_main {
  height: 210px;
  background-image: url("../img/news_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
.dot01 .dot01_in {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 210px;
  color: #fff;
  background-image: radial-gradient(rgba(0,0,0,0.2) 30%, transparent 31%), radial-gradient(rgba(0,0,0,0.2) 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  background-color: rgba(0,0,0,0.3);
}
.h1_01 {
  width: 100%;
  margin-bottom: 10px;
  font-size: 32px;
}
.h1_01_t {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
}

.content05 {
  padding-top: 45px;
}
.main02 {
  width: 84%;
  margin: 0 auto;
}
.ul01 li {
  margin-bottom: 90px;
  padding-bottom: 60px;
  text-align: left;
  border-bottom: 1px solid #ccc;
}
.ul01 li:last-child {
  margin-bottom: 0;
  padding-bottom: 60px;
  border-bottom: none;
}
.date01 {
  margin-bottom: 30px;
}
.h2_02 {
  margin-bottom: 40px;
  font-size: 20px;
}
.post_main p {
  margin-bottom: 30px;
}


/* 企業情報 */
#company_main {
  height: 210px;
  background-image: url("../img/company_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.content06 {
  padding: 50px 0;
  border-bottom: 10px solid #eee;
}
.main03 {
  width: 84%;
  margin: 0 auto;
}
#company01 .main03 {
  text-align: left;
}
.p04 {
  margin-bottom: 40px;
}
.page_navi01 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.page_navi01 li {
  width: 46%;
  margin-right: 8%;
  margin-bottom: 20px;
}
.page_navi01 li:nth-child(2n) {
  margin-right: 0;
}
.page_navi01 li:nth-child(3), .page_navi01 li:nth-child(4) {
  margin-bottom: 0;
}
.page_navi01 li a {
  position: relative;
  display: block;
  height: 70px;
  padding-top: 22px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #4C94E6;
  border-radius: 6px;
}
.page_navi01 li a:after {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 10px;
  height: 7px;
  margin: 0 auto;
  background: url("../img/icon03.png") no-repeat;
  background-size: 100%;
}

.content07 {
  padding: 90px 0 100px;
  border-bottom: 10px solid #eee;
}
.h2_03 {
  margin-bottom: 10px;
  font-size: 24px;
}
.table01 {
  width: 100%;
  text-align: left;
}
.table01 th {
  display: block;
  padding-top: 30px;
  font-weight: 700;
}
.table01 td {
  display: block;
  padding: 5px 0 30px;
  line-height: 2;
}
.table01 .td_space {
  height: 0;
  padding: 0;
}
.table01 .td01 {
  border-bottom: 1px solid #ccc;
}
.sage01 {
  margin-left: 1.2em;
  text-indent: -1.2em;
}
.color01 {
  color: #ccc;
}

.content08 {
  padding: 90px 0;
  border-bottom: 10px solid #eee;
}
#company_access .main {
  text-align: left;
}
.h2_04 {
  margin-bottom: 30px;
  font-size: 24px;
}
#company_access .h2_04 {
  text-align: center;
}
.map01 {
  margin-bottom: 45px;
}
.company_access01 {
  margin-bottom: 30px;
}
.h3_02 {
  margin-bottom: 15px;
  font-size: 16px;
}
.col03_01 {
  margin-bottom: 30px;
}

.content09 {
  padding: 90px 0 100px;
  border-bottom: 10px solid #eee;
}
.gallery02 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.gallery03 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
  display: none;
  margin-bottom: 40px;
}
.gallery02 li, .gallery03 li {
  width: 22.3%;
  margin-right: 3.6%;
  margin-bottom: 15px;
}
.gallery02 li:nth-child(4n), .gallery03 li:nth-child(4n) {
  margin-right: 0;
}
.gallery02 li img, .gallery03 li img {
  width: 100%;
  height: auto;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.slide-down {
  -webkit-animation-name: slideDown;
  animation-name: slideDown;
}
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
.slide-up {
  -webkit-animation-name: slideUp;
  animation-name: slideUp;
}
.content-wrap {
  height: 210px;
  overflow: hidden;
  position: relative;
  margin: 0;
}
.close-btn, .more-btn {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 20px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background: #fff;
  z-index: 50;
}
.close-btn {
  background: none;
}
.slide-up {
  height: 210px;
  padding-bottom: 0;
  overflow: hidden;
}
.slide-down {
  height: auto;
  overflow: visible;
  padding-bottom: 50px;
}
.more-btn div {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  padding-top: 18px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #4C94E6;
  background: #fff;
  border: 2px solid #4C94E6;
  border-radius: 35px;
}
.more-btn div.open:after {
  position: absolute;
  top: 30px;
  right: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon04.png") no-repeat;
  background-size: 100%;
}
.more-btn div.close:after {
  position: absolute;
  top: 30px;
  right: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon05.png") no-repeat;
  background-size: 100%;
}


/* 事業内容 */
#service_main {
  height: 210px;
  background-image: url("../img/service_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.content10 {
  padding: 50px 0 30px;
  border-bottom: 10px solid #eee;
}
#service01 p {
  text-align: left;
}
.page_navi02 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.page_navi02 li {
  width: 46%;
  margin-right: 8%;
  margin-bottom: 20px;
}
.page_navi02 li:nth-child(2n) {
  margin-right: 0;
}
.page_navi02 li a {
  position: relative;
  display: block;
  height: 70px;
  padding-top: 20px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #4C94E6;
  border-radius: 6px;
}
.page_navi02 li a:after {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 10px;
  height: 7px;
  margin: 0 auto;
  background: url("../img/icon03.png") no-repeat;
  background-size: 100%;
}

.h2_07 {
  margin-bottom: 40px;
  font-size: 24px;
}
.content11 {
  padding: 90px 0;
  border-bottom: 10px solid #eee;
}
.service02_01 {
  position: relative;
  padding: 245px 0 100px;
  text-align: left;
}
.service02_01:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img01.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.box01 {
  position: relative;
  margin-bottom: 20px;
}
.h3_03 {
  margin-bottom: 20px;
  padding-left: 16px;
  line-height: 1.6;
  font-size: 20px;
  border-left: 2px solid #4C94E6;
}
.box01_t01, .box02_t01 {
  padding-bottom: 15px;
}
.box01_t02, .box02_t02 {
  padding-top: 15px;
  border-top: 1px solid #ccc;
}
.h4_01 {
  margin-bottom: 10px;
}
.col04_01 {
  margin-bottom: 10px;
}
.service02_02 {
  position: relative;
  padding: 245px 0 100px;
  text-align: left;
}
.service02_02:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img04.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.service02_02 .main {
  position: relative;
}
.box02 {
  position: relative;
}
.service02_02_img01 {
  margin-bottom: 10px;
  padding-top: 20px;
}
.col05_01, .col05_02 {
  margin-bottom: 80px;
}
.service02_03_03 .col05_02 {
  margin-bottom: 0;
}
.col05_01 img, .col05_02 img {
  margin-bottom: 30px;
}
.col05_in {
  width: 84%;
  margin: 0 auto 80px;
  text-align: left;
}
.service02_03 .main {
  text-align: left;
}

.content12 {
  padding: 90px 0;
  border-bottom: 10px solid #eee;
}
.service03_01 {
  position: relative;
  padding-top: 245px;
  text-align: left;
}
.service03_01:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img09.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.service03_01 .main {
  position: relative;
}
.service03_01 .box01 {
  margin-bottom: 10px;
}
.service03_01_img01 {
  margin-bottom: 10px;
  padding-top: 30px;
}
.caption01 {
  margin-top: 5px;
  text-align: left;
  font-size: 12px;
}

.content13 {
  padding: 90px 0 100px;
  border-bottom: 10px solid #eee;
}
.service04_01 {
  position: relative;
  padding-top: 245px;
  text-align: left;
}
.service04_01:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img12.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.service04_01 .main {
  position: relative;
}
.service04_01_img01 {
  margin-bottom: 10px;
  padding-top: 30px;
}
.service04_01_img02 {

}
.box03 {
  position: relative;
}

.service05_01 {
  position: relative;
  padding-top: 245px;
  text-align: left;
}
.service05_01:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img15.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.service05_01 .main {
  position: relative;
}
.service05_01 .box01 {
  margin-bottom: 10px;
}
.service05_01_img01 {
  margin-bottom: 10px;
  padding-top: 30px;
}

.service06_01 {
  position: relative;
  padding: 245px 0 100px;
  text-align: left;
}
.service06_01:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 215px;
  background: url("../img/service_img18.jpg") no-repeat;
  background-size: cover;
  z-index: -1;
}
.service06_01 .main {
  position: relative;
}
.service06_01 .box01 {
  margin-bottom: 10px;
}
.service06_01_img01 {
  margin-bottom: 10px;
  padding-top: 20px;
}
.service06_02 .main {
  text-align: left;
}
.service06_02_01 .col05_02 {
  margin-bottom: 0;
}

.content14 {
  padding: 90px 0 80px;
}
#service07 .main02 p {
  text-align: left;
}
.accordion {
  width: 100%;
  text-align: left;
}
.accordion li {
  width: 100%;
  margin-bottom: 30px;
  padding: 5px 0;
  color: #000;
  background: #fff;
  border: 1px solid #4C94E6;
  border-radius: 6px;
}
.accordion li:last-child {
  margin-bottom: 0;
}
.button_1 {
  position: relative;
  display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
  width: 100%;
  cursor: pointer;
  border: none;
  line-height: 1.8;
  padding: 15px;
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  background: #fff;
}
.button_1:after {
  position: absolute;
  top: 19px;
  right: 15px;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(../img/faq_open.png) no-repeat;
  background-size: 100%;
}
.button_1.active {
  transition: .4s;
}
.button_1.active:after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(../img/faq_close.png) no-repeat;
  background-size: 100%;
}
.accordion_in {
  display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
  width: 100%;
  padding: 0 13px 15px;
  line-height: 1.5;
  text-align: left;
  border: none;
  font-size: 14px;
}
.faq_icon {
  width: 25px;
  font-weight: 700;
}
.faq_txt {
  width: calc(100% - 60px);
}
.accordion_in .faq_icon {
  padding-left: 5px;
}


/* 設備一覧 */
#equipment_main {
  height: 210px;
  background-image: url("../img/equipment_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

#equipment01 p {
  text-align: left;
}
.page_navi03 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.page_navi03 li {
  width: 46%;
  margin-right: 8%;
  margin-bottom: 20px;
}
.page_navi03 li:nth-child(2n) {
  margin-right: 0;
}
.page_navi03 li:nth-child(15) {
  margin-bottom: 0;
}
.page_navi03 li a {
  position: relative;
  display: block;
  height: 70px;
  padding-top: 20px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #4C94E6;
  border-radius: 10px;
}
.page_navi03 li a:after {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 10px;
  height: 7px;
  margin: 0 auto;
  background: url("../img/icon03.png") no-repeat;
  background-size: 100%;
}
.page_navi03 li a:hover {
  text-decoration: underline;
}
.page_navi03 li.line2 a {
  padding-top: 10px;
  line-height: 1.2;
}

.col06_01 {
  margin-bottom: 20px;
}
.col06_02 .img100 {
  padding-top: 30px;
}
.table02 {
  width: 100%;
  margin-top: 20px;
}
.table03 {
  width: 100%;
}
.table02 th, .table03 th {
  width: 82%;
  padding: 15px 10px;
  border: 1px solid #ccc;
}
.table02 td, .table03 td {
  padding: 15px 5px;
  line-height: 1.6;
  border: 1px solid #ccc;
}
.content18 {
  padding: 90px 0 100px;
}


/* 採用情報 */
#recruit_main {
  height: 210px;
  background-image: url("../img/recruit_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

#recruit01 p {
  text-align: left;
}
.page_navi04 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.page_navi04 li {
  width: 46%;
  margin-right: 8%;
  margin-bottom: 20px;
}
.page_navi04 li:nth-child(2n) {
  margin-right: 0;
}
.page_navi04 li a {
  position: relative;
  display: block;
  height: 70px;
  padding-top: 20px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #4C94E6;
  border-radius: 6px;
}
.page_navi04 li a:after {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 10px;
  height: 7px;
  margin: 0 auto;
  background: url("../img/icon03.png") no-repeat;
  background-size: 100%;
}

.table04 {
  width: 100%;
  text-align: left;
  border-bottom: 1px solid #ccc;
}
.table04 th {
  display: block;
  padding: 10px 15px;
  font-weight: 700;
  background: #F4F4F4;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.table04 td {
  display: block;
  padding: 10px 15px;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.bn01 {
  width: 115px;
  height: 36px;
  margin-bottom: 10px;
}
.bn01 img {
  width: 100%;
  height: auto;
}
#recruit04 .main02 p {
  text-align: left;
}


/* お問い合わせ */
#contact_main {
  height: 210px;
  background-image: url("../img/contact_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.form01 {
  padding-bottom: 100px;
  border-bottom: 1px solid #ccc;
}

.page_navi05 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.page_navi05 li {
  width: 46%;
  margin-right: 8%;
  margin-bottom: 20px;
}
.page_navi05 li:nth-child(2n) {
  margin-right: 0;
}
.page_navi05 li a {
  position: relative;
  display: block;
  height: 70px;
  padding-top: 20px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #4C94E6;
  border-radius: 6px;
}
.page_navi05 li a:after {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  display: block;
  content: "";
  width: 10px;
  height: 7px;
  margin: 0 auto;
  background: url("../img/icon03.png") no-repeat;
  background-size: 100%;
}
.page_navi05 li.line2 a {
  padding-top: 10px;
  line-height: 1.2;
}

.main04 {
  width: 84%;
  margin: 0 auto;
}
.box04 {
  position: relative;
  padding: 50px 10px 20px;
  border: 1px solid #333;
}
.box04 h2 {
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  font-size: 24px;
}
.box04 h2 span {
  display: inline-block;
  padding: 0 10px;
  background: #fff;
}
.tel01 {
  margin-bottom: 25px;
  font-size: 28px;
}
.tel01 a:before {
  display: inline-block;
  content: "";
  margin-right: 15px;
  width: 28px;
  height: 28px;
  background: url("../img/icon_tel.png") no-repeat;
  background-size: 100%;
  vertical-align: middle;
}

.content15 {
  padding-top: 90px;
}
#mfp_hidden {
  display: none;
}
.dl_form {
  padding-bottom: 10px;
  text-align: left;
}
.dl_form dt {
  margin-bottom: 10px;
}
.dl_form dd {
  margin-bottom: 40px;
}
.input01 {
  width: 100%;
}
.must {
  color: #f00;
}
.form_check {
  margin-bottom: 50px;
}
.form_btn, #mfp_button_send {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(to left, #4cc1e6 0%, #4c94e6 100%);
  border: none;
  border-radius: 35px;
}
.form_btn:after, #mfp_button_send:after {
  position: absolute;
  top: 28px;
  right: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon02.png") no-repeat;
  background-size: 100%;
}


/* 送信確認画面 */
#mfp_phase_confirm {
  border-bottom: 1px solid #ccc;
}
#mfp_phase_confirm_inner {
  width: 84%;
  margin: 0 auto;
  padding: 50px 0 60px;
}
#mfp_phase_confirm_inner:empty {
  padding: 0;
}
.h2_05 {
  margin-bottom: 5px;
  font-size: 24px;
}
#mfp_confirm_table {
  width: 100%;
  margin-bottom: 60px;
  text-align: left;
}
#mfp_confirm_table tr {
  border-bottom: 1px solid #ccc;
}
#mfp_confirm_table th {
  display: inline-block;
  padding: 30px 0 5px;
}
#mfp_confirm_table td {
  display: block;
  margin-bottom: 30px;
}
#th_mfp_element_1:after, #th_mfp_element_4:after, #th_mfp_element_6:after {
  display: inline-block;
  content: "（必須）";
  color: #f00;
}
#mfp_button_cancel {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 20px auto 0;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #4C94E6;
  background: #fff;
  border: 2px solid #4C94E6;
  border-radius: 35px;
  cursor: pointer;
}
#mfp_button_cancel:after {
  position: absolute;
  top: 28px;
  left: 30px;
  display: block;
  content: "";
  width: 8px;
  height: 12px;
  background: url("../img/icon08.png") no-repeat;
  background-size: 100%;
}
.mfp_err {
  color: #f00;
}
.mfp_err {
  color: #f00;
}


/* 送信完了 */
.content16 {
  padding: 60px 0;
  border-bottom: 1px solid #ccc;
}
.h1_02 {
  margin-bottom: 40px;
  font-size: 24px;
}
#thanks01 p {
  text-align: left;
}
.note01 {
  font-size: 12px;
}


/* プライバシーポリシー */
#privacy_main {
  height: 210px;
  background-image: url("../img/privacy_main_img_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.content17 {
  padding: 50px 0 90px;
}
#privacy01 .main {
  text-align: left;
}
.p05 {
  margin-bottom: 60px;
}
.h2_06 {
  margin-bottom: 15px;
  font-size: 16px;
}
.p06 {
  margin-bottom: 20px;
}
.ol01 {
  margin: 0 0 50px 30px;
}
.ol01 li {
  margin-bottom: 10px;
  line-height: 2;
  list-style: decimal;
}
.ol02 {
  margin: 15px 0 15px 20px;
}
.ol03 {
  margin: 15px 0 15px 20px;
}
.sage02 {
  margin-left: 40px;
}



/* 汎用スタイル---------------- */
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.clear {
	clear: both;
}
.center {
	text-align: center;
}
.center_sp {
    text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.img100 img {
	width: 100%;
	height: auto;
}
.img_res img {
  max-width: 100%;
  height: auto;
}
.bold {
	font-weight: 600;
}
.j34  {
  width: 100%
}
