@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : homepage.css
 author     : Ability Consultant
 style info : トップページ
=================================================================== */
.topbn a, .con_pla ul li a:hover, .con_res a:hover, .con_bnr li a {
  -moz-transition: opacity 200ms ease-in;
  -o-transition: opacity 200ms ease-in;
  -webkit-transition: opacity 200ms ease-in;
  transition: opacity 200ms ease-in;
}
.topbn a:hover, .con_pla ul li a:hover, .con_res a:hover, .con_bnr li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

@-moz-keyframes btn {
  50% {
    margin-left: -.2em;
  }
}
@-webkit-keyframes btn {
  50% {
    margin-left: -.2em;
  }
}
@keyframes btn {
  50% {
    margin-left: -.2em;
  }
}
#header {
  margin-bottom: 70px;
}

#htlSide-A {
  z-index: 15;
}

/* -----------------------------------------------------------
	.con_main
----------------------------------------------------------- */
.con_main {
  position: relative;
}
.con_main span {
  display: block;
  position: absolute;
  top: 21px;
  right: 21px;
  z-index: 999;
}

.topbn {
  margin-top: 70px;
}

/* -----------------------------------------------------------
	.modal
----------------------------------------------------------- */
.con_modal .modal .modal-check {
  display: none;
}
.con_modal .modal .modal-body {
  display: none;
  position: fixed;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.2);
  z-index: 100000;
}
.con_modal .modal .modal-body .modal-window {
  position: relative;
  z-index: 100001;
  animation: fadein .3s 1, zoomin .3s 1;
}
.con_modal .modal .modal-body .modal-window .modal-label {
  position: absolute;
  top: -20px;
  right: -20px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: #bfbfbf;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: all .2s ease;
}
.con_modal .modal .modal-body .modal-window .modal-label span {
  width: 30px;
  height: 30px;
  display: block;
  position: relative;
}
.con_modal .modal .modal-body .modal-window .modal-label span:after {
  content: '';
  display: block;
  width: 20px;
  height: 2px;
  background-color: #595656;
  position: absolute;
  top: 50%;
  left: 20%;
  transform: rotate(45deg);
}
.con_modal .modal .modal-body .modal-window .modal-label span:before {
  content: '';
  display: block;
  width: 20px;
  height: 2px;
  background-color: #595656;
  position: absolute;
  top: 50%;
  left: 20%;
  transform: rotate(-45deg);
}
.con_modal .modal .modal-body .modal-window .modal-inner {
  width: 80vw;
  max-width: 620px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
}
.con_modal .modal .modal-body .modal-window .modal-inner .modal-content {
  padding: 10px;
}
.con_modal .modal .modal-check:checked + .modal-body {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes zoomin {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.con_modal .txt {
  text-align: center;
  letter-spacing: .06em;
  font-size: 14px;
  line-height: 1.6;
}
.con_modal .modal_link {
  width: 300px;
  height: 60px;
  margin-top: 16px;
  margin-bottom: 60px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0px solid #5eb598;
  cursor: pointer;
  transition: all 0.5s;
  background-color: #ef8251;
  color: #fff;
  font-size: 15px;
  position: relative;
}
.con_modal .modal_link:before, .con_modal .modal_link:after {
  font-family: FontAwesome;
  vertical-align: middle;
}
.con_modal .modal_link > * {
  vertical-align: middle;
  display: inline;
}
.con_modal .modal_link:after {
  content: "";
  margin-left: .5em;
  position: absolute;
  margin: 0;
  right: 2em;
  top: calc(50% - .6em);
  line-height: 1;
  width: 1em;
  text-align: center;
  transition: all 0.5s;
}
.con_modal .modal_link:hover {
  opacity: .7;
}
.con_modal .modal_link:hover:after {
  right: 1.5em;
}

/* -----------------------------------------------------------
	.con_int
----------------------------------------------------------- */
.con_int .btn {
  width: 214px;
}

/* -----------------------------------------------------------
	.con_pla
----------------------------------------------------------- */
.con_pla {
  background: #f8f8f8;
  margin-top: 80px;
  padding: 30px;
  overflow: hidden;
  box-sizing: border-box;
}
.con_pla > p {
  text-align: center;
}
.con_pla ul {
  margin: 30px auto;
  overflow: hidden;
}
.con_pla ul li {
  float: left;
  width: 290px;
  margin-left: 10px;
}
.con_pla ul li:first-child {
  margin-left: 0;
}
.con_pla ul li a {
  display: block;
  text-decoration: underline;
}
.con_pla ul li a:hover {
  text-decoration: none;
}
.con_pla ul li a .img {
  height: 210px;
  margin-bottom: 20px;
  overflow: hidden;
}
.con_pla ul li a .img img {
  max-width: inherit !important;
  position: relative;
  height: 100%;
  width: auto;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}
.con_pla ul li a .txt {
  line-height: 1.5;
}
.con_pla .btn {
  width: 224px;
  margin: auto;
}
.con_pla .btn a {
  border: 1px solid #a85664;
  background-color: #a85664;
  color: #fff !important;
}
.con_pla .btn a span {
  color: #fff !important;
}

/* -----------------------------------------------------------
	.con_res
----------------------------------------------------------- */
.con_res {
  margin-top: 40px;
  position: relative;
  overflow: visible;
  text-align: center;
  /*&:after {
  	content: '';
  	width: 1519px;
  	height: 662px;
  	background: url(../images/home/bg_res.jpg) no-repeat top left;
  	display: block;
  	position: absolute;
  	left: -261px;
  	top: 0;
  }*/
}
.con_res > * {
  position: relative;
  z-index: 10;
}
.con_res a {
  display: block;
  text-decoration: underline;
}
.con_res a:hover {
  text-decoration: none;
}
.con_res p {
  margin-top: 40px;
  margin-left: -30px;
}

/* -----------------------------------------------------------
	.con_sta
----------------------------------------------------------- */
.con_sta {
  margin-top: 77px;
}

/* -----------------------------------------------------------
	.con_bnr
----------------------------------------------------------- */
.con_bnr {
  margin-top: 76px;
  letter-spacing: -.4em;
  text-align: center;
  background: url(../images/home/bg_bnr.png) repeat-x top left;
  position: relative;
  padding: 33px 0 31px;
}
.con_bnr:after {
  content: '';
  width: 100%;
  height: 3px;
  display: block;
  position: absolute;
  background: url(../images/home/bg_bnr.png) repeat-x top left;
  bottom: 0;
  left: 0;
}
.con_bnr li {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline;
  letter-spacing: normal;
  margin-left: 15px;
}
.con_bnr li:first-child {
  margin-left: 0;
}

.con_sev {
  margin-top: 76px;
}
