@charset "utf-8";
/* ==========================================================================
Layout [ header / main / side / footer... ]
========================================================================== */

body {
  padding-top: 70px;
}

/* Header
---------------------------------------------------------------*/
#header {
  height: 70px;
  width: 100%;
  background-color: #fff;
  position: relative;
  position: fixed;
  z-index: 20000;
  top: 0;
  left: 0;
  background: #333;
}
.logo {
  padding-top: 15px;
  float: left;
  padding-left: 15px;
}
.logo a {
  display: block;
}
.logo a img {
  height: 40px;
}

/*nav*/
#header .menu {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  right: 0;
  float: right;
  z-index: 5;
  transition: top .6s ease;
}
.menu:hover ,
.menu:active {
  opacity: 1!important;
}
.menu span {
  width: 26px;
  height: 2px;
  position: absolute;
  background: #fff;
  transition: transform .6s ease,background .6s ease;
  left: 50%;
  -webkit-transform : translateX(-50%);
  transform : translateX(-50%);
}
.menu span:nth-child(1) {
  top: 24px;
  transition: .4s;
}
.menu span:nth-child(2) {
  top: 32px;
  transition: .4s;
}
.menu span:nth-child(3) {
  top: 40px;
  transition: .4s;
  width: 18px;
  margin-left: -4px;
}
.openMenu #gHeader .menu {
  position: fixed;
}
.menu.active span:nth-child(1) {
  top: 24px;
  transform: translateY(8px) rotateZ(-45deg);
  left: 30%;
}
.menu.active span:nth-child(2) {
  opacity: 0;
  left: 30%;
}
.menu.active span:nth-child(3) {
  top: 40px;
  transform: translateY(-8px) rotateZ(45deg);
  left: 30%;
  width: 26px;
  margin-left: 0;
}
.nav_wrap {
  background-color: #333;
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  height: calc(100vh - 70px);
  display: none;
  padding: 0 20px;
  box-sizing: border-box;s
}
.nav_wrap.active {
  display: block;
  overflow-y: auto;
}
.closeBtn {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
  width: 100%;
}
.closeBtn span {
  width: 26px;
  height: 2px;
  position: absolute;
  background: #fff;
  transition: transform .6s ease,background .6s ease;
  left: 50%;
  -webkit-transform : translateX(-50%);
  transform : translateX(-50%);
}
.closeBtn span:nth-child(1) {
  top: 20px;
  transform: translateY(8px) rotateZ(-45deg);
  left: 50%;
  margin-left: -13.5px;
}
.closeBtn span:nth-child(2) {
  top: 36px;
  transform: translateY(-8px) rotateZ(45deg);
  left: 50%;
  width: 26px;
  margin-left: -13.5px;
}
.h_nav {
  margin-top: 10px;
  clear: both;
  border-bottom: 1px solid rgba(255,255,255,.5);
  margin-bottom: 24px;
}
.h_nav li {
  border-top: 1px solid rgba(255,255,255,.5);
}
.h_nav li a {
  width: 100%;
  display: block;
  padding: 18px 0;
  color: #fff;
  font-size: 16px;
  box-sizing: border-box;
}

/* Main
---------------------------------------------------------------*/

/* footer
---------------------------------------------------------------*/
.copyright {
  color: #fff;
  font-size: 12px;
  letter-spacing: .1em;
  text-align: center;
  background-color: #333;
  padding: 20px 0;
}

/* ==========================================================================
Project [ articles / ranking / promo... ]
========================================================================== */
.mv {
  background-size: cover;
  background-position: center;
  text-align: center;
  color: #fff;
}
.mv_inner {
  padding: 80px 0 100px;
  background-color: rgba(12,12,12,0.2);
  overflow: hidden;
  position: relative;
}
.main_img {
  z-index:10;
  opacity: 0;
  width: 100%;
  height: 600px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: anime 36s 0s infinite;
  animation: anime 36s 0s infinite;
}
.main_img:nth-of-type(2) {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}
.main_img:nth-of-type(3) {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
}
.main_img:nth-of-type(4) {
  -webkit-animation-delay: 18s;
  animation-delay: 18s;
}
.main_img:nth-of-type(5) {
  -webkit-animation-delay: 24s;
  animation-delay: 24s;
}
.main_img:nth-of-type(6) {
  -webkit-animation-delay: 30s;
  animation-delay: 30s;
}

@keyframes anime {
0% {
      opacity: 0;
  }
  8% {
      opacity: 1;
  }
  17% {
      opacity: 1;
  }
  25% {
      opacity: 0;
      transform: scale(1.2) ;
       z-index:9;
  }
  100% { opacity: 0 }
}
.mv_txt1 {
  font-size: 80px;
  margin-bottom: 20px;
  font-family: 'Dancing Script', cursive;
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  z-index: 10;
}
.mv_txt2 {
  font-size: 26px;
  letter-spacing: .1em;
  line-height: 1.8;
  position: relative;
  z-index: 10;
}
.mv_txt2 span {
  background-color: #0096CE;
  padding: 0 10px;
  display: inline-block;
  margin-right: 10px;
}

.cont {
  padding: 60px 0;
}
.cont_inner {
  width: 90%;
  padding: 0;
  box-sizing: border-box;
  margin: 0 auto;
}
.cont_ttl {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: .1em;
}
.cont_ttl_en {
  text-align: center;
  font-size: 12px;
  margin-bottom: 40px;
  letter-spacing: .4em;
}
.service_ul {
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.service_ul:after {
  content: "";
  display: block;
  clear: both;
}
.service_li {
  width: 100%;
  margin: 0 auto 40px;
}
.service_li:last-of-type {
  margin-bottom: 0;
}
.service_li_img {
  margin-bottom: 24px;
}
.service_li_ttl {
  font-size: 20px;
  text-align: center;
  margin-bottom: 24px;
  font-weight: bold;
}
.service_li_txt {
  font-size: 15px;
  line-height: 1.8;
}
#about {
  background-color: #446393;
}
#about .cont_ttl ,
#about .cont_ttl_en {
  color: #fff;
}
.company_dl {
  margin: 0 auto;
  border-bottom: 1px solid #284c77;
  color: #fff;
  font-size: 15px;
  width: 100%;
  padding: 16px;
}
.company_dl dt {
  vertical-align: middle;
  padding-bottom: 10px;
  width: 200px;
  font-weight: bold;
  box-sizing: border-box;
}
.company_dl dd {
  line-height: 1.8;
}
.map {
  width: 100%;
  height: 240px;
}
.form_wrap {
  margin: 0 auto;
}
.form_wrap dl {
  margin-bottom: 20px;
}
.form_wrap dt {
  font-weight: bold;
  margin-bottom: 8px;
}
.form_wrap dt:before {
  content: "必須";
  margin-right: 10px;
  color: #f00;
  font-size: 12px;
}
.form_wrap p {
  line-height: 1.8;
}
.form_wrap input,
.form_wrap textarea {
  width: 100%;
  padding: 10px;
  font-size: 16px;
}
.btn_wrap {
  text-align: center;
}
.btn {
  -webkit-appearance: none;
  border: none;
  background: #446393;
  border-radius: 5px;
  padding: 12px 50px;
  font-size: 15px;
  font-weight: bold;
  color: #fff!important;
}
.btn_gray {
  background-color: #bbb;
}
.btn:last-of-type {
  margin-top: 40px;
}

.formTable {
  margin: 20px 0;
  width: 100%;
}
.formTable tr {
  border-top: 1px solid #ccc;
}
.formTable tr:last-of-type {
  border-bottom: 1px solid #ccc;
}
.formTable th {
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  background-color: #eee;
  width: 100px;
}
.formTable td {
  padding: 10px;
  font-size: 14px;
}
/* ==========================================================================
Component [ grid / button / form / media... ]
========================================================================== */