@charset "utf-8";

#Header {
  display:block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width:1024px;
  height:80px;
  letter-spacing:0.1em;
  background:#fff;
  box-shadow:0 0 20px -5px #666;
  z-index:50;
  transform:translateY(-100%);
}
.menuOn {
  animation:appear 0.8s forwards;
} @keyframes appear {
  from {
    transform:translateY(-100%);
  } to {
    transform:translateY(0%);
  }
}
.menuOff {
  animation:disappear 0.8s forwards;
} @keyframes disappear {
  from {
    transform:translateY(0%);
  } to {
    transform:translateY(-100%);
  }
}

#Header a {
  text-decoration:none;
}
#HeaderLogo {
  padding:23px 100px 0;
  float:left;
}
#HeaderMenu {
  float:right;
  padding:20px 20px 0;
}
#HeaderContact {
  float:right;
}
#HeaderLogo a {
  display:block;
  width:146px;
  height:34px;
  text-indent:-9999px;
  background:url("../img/header_logo.png") no-repeat center center;
  background-size:cover;
}
#Header #HeaderMenu ul {
  list-style:none;
}
#Header #HeaderMenu ul li {
  float:left;
  padding:0 10px;
  list-style:none;
}
#Header #HeaderMenu ul li a {
  font-size:18px;
  font-weight:400;
  line-height:1.0em;
}
#Header #HeaderMenu ul li a:hover {
  color:#0792B7;
}
#Header #HeaderMenu p {
  display:none;
}
#Header #HeaderContact a {
  display:block;
  position:relative;
  width:210px;
  height:80px;
  color:#fff;
  z-index:100;
}
#Header #HeaderContact a:before {
  position:absolute;
  left:0;
  z-index:99;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(50deg, #0792B7, #1E3B63);
}
#Header #HeaderContact a:after {
  position:absolute;
  left:0;
  z-index:98;
  width:100%;
  height:100%;
  content:"";
  background: linear-gradient(50deg, #1E3B63, #0792B7);
}
#Header #HeaderContact a:hover:before {
  opacity:0;
}
#Header #HeaderContact a span {
  display:block;
  position:absolute;
  top:32px;
  z-index:101;
  left:30px;
  width:150px;
  height:18px;
  color:#fff;
  font-size:18px;
  font-weight:400;
  line-height:1.0em;
  background:url("../img/header_contact.png") no-repeat center right;
  background-size:24px 24px;
}
#boxMenuSP {
  display:none;
}
#HeaderSpacer {
  display:none;
  height:80px;
}

#SPMessage {
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:#fff;
  z-index:100;
}
#SPMessage p {
  padding-top:180px;
  color:#666;
  font-size:16px;
  font-weight:500;
  line-height:1.5em;
  text-align:center;
  background:url("../img/icon_sp_rotate.png") no-repeat top 80px center;
  background-size:70px 70px;
}

#Footer {
  padding:0;
}
#Footer #bannerContact {
  margin:50px auto;
  width:1120px;
  height:201px;
  color:#fff;
  background:url("../img/bg_banner_contact.png") no-repeat center center;
  background-size:contain;
  opacity:1;
  transition: 1s;
  cursor:pointer;
}
#Footer #bannerContact #Core {
  padding:50px 80px;
}
#Footer #bannerContact #Core #Text {
  float:left;
  width:800px;
  font-size:15px;
}
#Footer #bannerContact #Core #Navi {
  float:right;
  position:relative;
  margin-top:18px;
  width:70px;
  height:74px;
  background:url("../img/fig_contact_circle.png") no-repeat center center;
  background-size:contain;
}
#Footer #bannerContact #Core #Navi p {
  position:absolute;
  top:24px;
  left:18px;
  width:39px;
  height:25px;
  background:url("../img/fig_contact_arrow.png") no-repeat center center;
  background-size:contain;
  transition: 0.5s;
}
#Footer #bannerContact #Core #Text h2 {
  display:inline-block;
  margin:0;
  padding-right:20px;
  padding-bottom:10px;
  color:#fff;
  font-size:50px;
  font-style:italic;
  font-weight:500;
  line-height:1.0em;
}
#Footer #bannerContact #Core #Text span {
  display:inline-block;
  font-size:20px;
  font-style:normal;
  font-weight:300;
  background:none;
  color:#fff;
}
#Footer #bannerContact:hover {
  opacity:0.75;
  transition: 1s;
}
#Footer #bannerContact:hover #Core #Navi p {
  left:28px;
  transition: 0.5s;
}

#Footer #mainContact {
  margin:0 10px 10px;
  height:140px;
  color:#0792B7;
  font-size:13px;
  text-align:center;
  background:#fff;
  border-top-left-radius:40px;
  border-top-right-radius:40px;
}
#Footer #mainContact #boxCorporate {
  padding:30px 0 20px;
  border-bottom:1px solid;
  border-image:linear-gradient(to right, #0792B7 50%, #1E3B63 80%) 2;
}
#Footer #mainContact #boxCorporate span {
  float:left;
  display:block;
  width:277px;
  height:32px;
  text-indent:-9999px;
  background:url("../img/footer_corp.png") no-repeat center center;
  background-size:contain;
}
#Footer #mainContact #boxCorporate p {
  float:right;
  width:42px;
  height:42px;
  text-indent:-9999px;
  background:url("../img/fig_totop.png") no-repeat center center;
  background-size:contain;
  cursor:pointer;
}



.btnDetail {
  padding:20px 0;
}
.btnDetail a {
  display:block;
  position:relative;
  z-index:0;
  margin:0 auto;
  width:320px;
  height:74px;
}
.btnDetail a:before {
  position:absolute;
  left:0;
  z-index:-1;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #0792B7, #1E3B63);
  border-radius:40px;
}
.btnDetail a:after {
  position:absolute;
  left:0;
  z-index:-2;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #1E3B63, #0792B7);
  border-radius:40px;
}
.btnDetail a:hover:before {
  opacity:0;
}
.btnDetail a span {
  display:block;
  position:absolute;
  top:28px;
  z-index:2;
  width:100%;
  text-align:center;
  font-size:18px;
  font-weight:500;
  color:#fff;
  line-height:1.0em;
  text-align:center;
  text-decoration:none;
  letter-spacing:0.2em;
}

.btnDetail a.right {
  margin:0 0 0 auto;
}

.btnSubmit {
  padding:20px 0;
}
.btnSubmit a {
  display:block;
  position:relative;
  z-index:0;
  margin:0 auto;
  width:400px;
  height:64px;
}
.btnSubmit a:before {
  position:absolute;
  left:0;
  z-index:-1;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #0792B7, #1E3B63);
  border-radius:9px;
}
.btnSubmit a:after {
  position:absolute;
  left:0;
  z-index:-2;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #1E3B63, #0792B7);
  border-radius:9px;
}
.btnSubmit a:hover:before {
  opacity:0;
}
.btnSubmit a span {
  display:block;
  position:absolute;
  top:22px;
  z-index:2;
  width:100%;
  text-align:center;
  font-size:18px;
  font-weight:500;
  color:#fff;
  line-height:1.0em;
  text-align:center;
  text-decoration:none;
  letter-spacing:0.2em;
}
.btnSubmit.btnDisable a {
  opacity:0.2;
  cursor:default;
}

.btnCancel {
  padding:0 0 20px 0;
}
.btnCancel a {
  display:block;
  position:relative;
  z-index:0;
  margin:0 auto;
  width:200px;
  height:48px;
}
.btnCancel a:before {
  position:absolute;
  left:0;
  z-index:-1;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #333333, #999999);
  border-radius:9px;
}
.btnCancel a:after {
  position:absolute;
  left:0;
  z-index:-2;
  content:"";
  width:100%;
  height:100%;
  transition:1s;
  background: linear-gradient(30deg, #999999, #333333);
  border-radius:9px;
}
.btnCancel a:hover:before {
  opacity:0;
}
.btnCancel a span {
  display:block;
  position:absolute;
  top:12px;
  z-index:2;
  width:100%;
  text-align:center;
  font-size:18px;
  font-weight:500;
  color:#fff;
  line-height:1.0em;
  text-align:center;
  text-decoration:none;
  letter-spacing:0.2em;
}




/* ------------------------------------------------------------ */
/*   For SmartPhones                                            */
/* ------------------------------------------------------------ */
@media print, screen and (max-width: 640px) {

#Header {
  display:block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width:100%;
  height:44px;
  letter-spacing:0.1em;
  background:#fff;
  box-shadow:0 0 10px -5px #666;
  z-index:50;
  transform:translateY(0%);
}
.menuOn {
  animation:appear 0.8s forwards;
} @keyframes appear {
  from {
    transform:translateY(0%);
  } to {
    transform:translateY(0%);
  }
}
.menuOff {
  animation:disappear 0.8s forwards;
} @keyframes disappear {
  from {
    transform:translateY(0%);
  } to {
    transform:translateY(0%);
  }
}
#HeaderLogo {
  padding:14px 15px 0;
  float:left;
}
#HeaderLogo a {
  display:block;
  width:73px;
  height:17px;
  text-indent:-9999px;
  background:url("../img/header_logo.png") no-repeat center center;
  background-size:cover;
}
#HeaderMenu {
  padding:15px 16px 0 0;
}
#Header #HeaderMenu p {
  display:block;
  width:20px;
  height:14px;
  background:url("../img/btn_sp_menu.png") no-repeat center center;
  background-size:cover;
  text-indent:-9999px;
  transition: 0.5s;
}
#Header #HeaderMenu p.close {
  width:20px;
  height:14px;
  background:url("../img/btn_sp_menu_close.png") no-repeat center center;
  background-size:14px 14px;
  transition: 0.5s;
}
#Header #HeaderMenu ul {
  display:none;
}
#HeaderContact {
  display:none;
}
#boxMenuSP {
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:#fff;
  z-index:49;
  text-align:center;
}
#boxMenuSP ul {
  margin:0 auto;
  padding-top:70px;
  width:70%;
  list-style:none;
}
#boxMenuSP ul li {
  padding:20px 0;
  list-style:none;
}
#boxMenuSP ul li a {
  font-weight:500;
  font-size:18px;
  text-decoration:none;
}
#boxMenuSP ul li a#btnContact {
  display:block;
  padding:20px 0;
  color:#fff;
  background: linear-gradient(50deg, #0792B7, #1E3B63);
}
#boxMenuSP ul li a#btnContact span {
  display:block;
  width:90%;
  background:url("../img/header_contact.png") no-repeat center right;
  background-size:24px 24px;
}


#HeaderSpacer {
  display:block;
  height:44px;
}






#Footer #bannerContact {
  margin:50px auto;
  width:90%;
  height:120px;
  color:#fff;
  background:url("../img/bg_banner_contact.png") no-repeat center right -50px;
  background-size:cover;
  border-radius:12px;
}
#Footer #bannerContact #Core {
  padding:20px 20px;
}
#Footer #bannerContact #Core #Text {
  float:left;
  width:75%;
  font-size:12px;
  line-height:1.3em;
}
#Footer #bannerContact #Core #Text h2 {
  display:inline-block;
  margin:0;
  padding-right:10px;
  padding-bottom:13px;
  color:#fff;
  font-size:32px;
}
#Footer #bannerContact #Core #Text span {
  font-size:15px;
}
#Footer #bannerContact #Core #Navi {
  float:right;
  position:relative;
  margin-top:10px;
  width:60px;
  height:62px;
  background:url("../img/fig_contact_circle.png") no-repeat center center;
  background-size:contain;
}
#Footer #bannerContact #Core #Navi p {
  position:absolute;
  top:18px;
  left:18px;
  width:32px;
  height:22px;
  background:url("../img/fig_contact_arrow.png") no-repeat center center;
  background-size:contain;
  transition: 0.5s;
}

#Footer #mainContact {
  margin:0;
  height:120px;
  border-top-left-radius:20px;
  border-top-right-radius:20px;
}
#Footer #mainContact #boxCorporate {
  margin-bottom:5px;
  padding:25px 10px 15px;
  border-bottom:1px solid;
  border-image:linear-gradient(to right, #0792B7 50%, #1E3B63 80%) 2;
}



.btnDetail {
  padding:20px 0;
  width:auto;
}
.btnDetail a {
  display:block;
  position:relative;
  z-index:0;
  margin:0 auto;
  width:300px;
  height:54px;
}
.btnDetail a span {
  position:absolute;
  top:18px;
  font-size:15px;
}
.btnDetail a.right {
  margin:0 auto;
}


.btnSubmit a {
  width:auto;
  height:64px;
}




}
