@import url(/common/sp/css/base.css);
html {
  font-size: 100%;
}

body {
  color: #000;
  font-size: 24px;
}

a {
  color: #005aff;
}

/* header 
--------------------------------------------------------------------------*/
header {
  width: 100%;
  padding: 0;
}

header .inner {
  background: url(/common/sp/images/title_bg01.gif) repeat scroll 0 0 transparent;
  padding: 0 30px 0 32px;
}

header .logo {
  float: left;
  padding-top: 52px;
}

header .inner p {
  float: right;
  padding: 0 0 15px;
}

header .inner p.support {
  padding: 30px 0;
}

header .inner p.support a {
  font-size: 20px;
  padding-left: 30px;
  background: url(/common/sp/images/arrow03.png) no-repeat left center;
}

header p.copy {
  background: #ffdc7e;
  text-align: center;
  font-size: 24px;
  padding: 4px 0;
  line-height: 35px;
}

body {
  padding-top: 142px;
}

.wrapper {
  position: relative;
}

.header {
  background: #fff;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3);
  margin: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100000001;
  border-top: 4px solid #ff9d00;
}
.header--wimax {
  border-top: 4px solid #0194d7;
}

.naviOpen .header {
  box-shadow: none;
}

.header:before {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid #fff;
}

.header:after {
  content: '';
  display: block;
  clear: both;
}

.header .logo {
  float: left;
  padding-top: 20px;
  padding-left: 20px;
}

.header .logo span {
  font-size: 16px;
  float: left;
  line-height: 1.4;
  padding: 10px 0 0;
  box-sizing: border-box;
}

.header .logo a {
  display: block;
  float: left;
}

.header .logo img {
  vertical-align: bottom;
}

/*.header .social{
	float:right;
	margin: 5px 0 0;
}
.header .social li{
	float:left;
	margin-left:15px;
}*/
.header .btnBox {
  width: 194px;
  height: 96px;
  float: right;
}

.header .btnBox > span {
  display: block;
  float: left;
}

.header .btnBox span a img {
  display: block;
}

/* navigation
-------------------------------------------------------- */
.naviOpen .naviWrap {
  top: 102px;
}

.supportNavOpen .supportNaviWrap {
  top: 102px;
}

.supportNaviWrap,
.naviWrap {
  background: #0194d7;
  position: fixed;
  top: -1500px;
  width: 100%;
  z-index: 100000000;
  transition: all 0.2s;
}

.supportNaviWrap,
.naviWrap ul {
  padding: 0;
}

.supportNaviWrap > ul > li,
.naviWrap > ul > li {
  text-indent: 0;
  padding-left: 0;
}

.supportNaviWrap > ul > li:first-child > a,
.naviWrap > ul > li:first-child > a {
  border-top: 1px solid #0194d7;
}

.supportNaviWrap > ul > li > a,
.naviWrap > ul > li > a {
  background: #fff;
  border-bottom: 1px solid #0194d7;
  display: block;
  color: #005bac;
  font-size: 24px;
  text-decoration: none;
  padding: 25px 15px 25px 90px;
  position: relative;
}

.naviWrap--wimax > ul > li > a {
  padding: 25px 15px 25px 15px;
}

.supportNaviWrap > ul > li > a {
  background: #fff;
}

.naviWrap > ul > li.wimax2plus > a {
  background: #fff url(/common/sp/images/navi--wimax2plus.png) 25px center no-repeat;
}

.naviWrap > ul > li.sim > a {
  background: #fff url(/common/sp/images/navi--sim.png) 25px center no-repeat;
}

.naviWrap > ul > li.hikari > a {
  background: #fff url(/common/sp/images/navi--hikari.png) 25px center no-repeat;
}

.naviWrap > ul > li.adsl > a {
  background: #fff url(/common/sp/images/navi--adsl.png) 25px center no-repeat;
}

.supportNaviWrap > ul > li.login > a {
  background: #fff url(/common/sp/images/navi--login.png) 25px center no-repeat;
}

.supportNaviWrap > ul > li.support > a {
  background: #fff url(/common/sp/images/navi--support.png) 25px center no-repeat;
}

.supportNaviWrap > ul > li.wifi > a {
  background: #fff url(/common/sp/images/navi--wifi.png) 25px center no-repeat;
}

.supportNaviWrap > ul > li.wm2change > a {
  background: #fff url(/common/sp/images/navi--wm2change.png) 25px center no-repeat;
}

.naviLink.login > a {
  background: #fff url(/common/sp/images/navi--login.png) 25px center no-repeat;
}

.naviLink.support > a {
  background: #fff url(/common/sp/images/navi--support.png) 25px center no-repeat;
}

.naviWrap > ul > li.close > a {
  background: #e0f3fc;
  padding: 25px 15px;
}

.naviWrap > ul > li > a:active {
  background: #e0f3fc;
}

.naviWrap > ul > li.close a:active {
  background: #bfe9fd;
}

.naviWrap > ul > li > a:before,
.naviWrap > ul > li > a:after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 2px;
  background: #0194d7;
  top: 45px;
  right: 36px;
  -webkit-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
}

.naviWrap > ul > li > a:after {
  top: 30px;
  -webkit-transform: translateY(14px) rotate(-45deg);
  transform: translateY(14px) rotate(-45deg);
}

.naviWrap > ul > li.close > a:before,
.naviWrap > ul > li.close > a:after {
  width: 36px;
  top: 38px;
  -webkit-transform: translateX(10px) translateY(0) rotate(45deg);
  transform: translateX(10px) translateY(0) rotate(45deg);
}

.naviWrap > ul > li.close a:after {
  -webkit-transform: translateX(10px) translateY(0) rotate(-45deg);
  transform: translateX(10px) translateY(0) rotate(-45deg);
}

.naviWrap .naviMenu ul.submenu {
  display: none;
}

.naviWrap .submenuOpen ul.submenu {
  display: block;
}

.naviWrap .submenuOpen > a {
  background-color: #fff !important;
}

.naviWrap ul.submenu a {
  background: #005bac;
  border-bottom: 1px solid #0194d7;
  display: block;
  color: #fff;
  font-size: 24px;
  text-decoration: none;
  padding: 25px 15px 25px 90px;
  position: relative;
}

.naviWrap ul.submenu a {
  border-bottom: 1px solid #fff;
  padding: 25px 15px;
}

.naviWrap .submenuOpen > a:before,
.naviWrap .submenuOpen > a:after {
  top: 54px;
  right: 46px;
  -webkit-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
}

.naviWrap .submenuOpen > a:after {
  top: 26px;
  right: 32px;
  -webkit-transform: translateY(14px) rotate(-45deg);
  transform: translateY(14px) rotate(-45deg);
}

.naviOverray {
  display: none;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 40;
}

.supportNavOpen .naviOverray,
.naviOpen .naviOverray {
  display: block;
}

#supportNavToggle {
  margin-left: 1px;
  width: 95px;
  height: 96px;
  background: url("/common/sp/images/nav_apply_btn_off.gif") no-repeat;
  position: relative;
}

#supportNavToggle.active {
  background: url("/common/sp/images/nav_apply_btn_on.gif") no-repeat;
}

#navToggle {
  margin-left: 1px;
  width: 96px;
  height: 96px;
  background: url("/common/sp/images/nav_toggle.gif") no-repeat;
  position: relative;
}

#navToggle > a {
  display: block;
  width: 40px;
  height: 50px;
  top: 20px;
  left: 28px;
  position: relative;
}

#navToggle span {
  position: absolute;
  left: 0;
  width: 40px;
  height: 4px;
  background-color: #fff;
  list-style: none;
  transition: all .2s;
}

#navToggle span:nth-of-type(1) {
  top: 0;
}

#navToggle span:nth-of-type(2) {
  top: 14px;
}

#navToggle span:nth-of-type(3) {
  top: 28px;
}

#navToggle.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}

#navToggle.active span:nth-of-type(2) {
  opacity: 0;
}

#navToggle.active span:nth-of-type(3) {
  -webkit-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
}

footer {
  background: #005bac;
  padding: 20px;
}
footer .wimax {
  margin-bottom: 33px;
  width: 100%;
}
footer .wimax h1 {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
  padding: 10px;
  text-align: center;
}
footer .wimax ul {
  margin-left: -1%;
  overflow: hidden;
}
footer .wimax ul li {
  box-sizing: border-box;
  display: block;
  float: left;
  margin-left: 1%;
  margin-bottom: 1%;
  padding-left: 0;
  text-indent: 0;
  width: 49%;
}
footer .wimax ul li a {
  background: #fff;
  border-radius: 10px;
  color: #005bac;
  display: table-cell;
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  position: relative;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  width: 350px;
  height: 120px;
}
footer .wimax ul li a::before {
  background: #005bac;
  content: '';
  display: block;
  margin-top: -8px;
  position: absolute;
  top: 47%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 20px;
  width: 20px;
  height: 20px;
}
footer .wimax ul li a::after {
  background: #fff;
  content: '';
  display: block;
  margin-top: -8px;
  position: absolute;
  top: 47%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 24px;
  width: 20px;
  height: 20px;
}
footer .wimax ul .top a {
  background: #fff url(/common/sp/images/wimax-menu--top.png) -45px center no-repeat;
}
footer .wimax ul .charm a {
  background: #fff url(/common/sp/images/wimax-menu--charm.png) -45px center no-repeat;
}
footer .wimax ul .price a {
  background: #fff url(/common/sp/images/wimax-menu--price.png) -45px center no-repeat;
}
footer .wimax ul .tanmatu a {
  background: #fff url(/common/sp/images/wimax-menu--tanmatu.png) -45px center no-repeat;
}
footer .wimax ul .wimax2-speedmap a {
  background: #fff url(/common/sp/images/wimax-menu--wimax2-speedmap.png) -45px center no-repeat;
}
footer .wimax ul .campaign a {
  background: #fff url(/common/sp/images/wimax-menu--campaign.png) -45px center no-repeat;
}
footer .wimax ul .faq a {
  background: #fff url(/common/sp/images/wimax-menu--faq.png) -45px center no-repeat;
}
footer .wimax ul .attention a {
  background: #fff url(/common/sp/images/wimax-menu--attention.png) -45px center no-repeat;
}
footer .menu {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 40px;
  width: 100%;
}
footer .menu ul li {
  padding-left: 0;
  text-indent: 0;
}
footer .menu ul li a {
  border-bottom: 1px solid #005bac;
  color: #005bac;
  display: block;
  font-size: 28px;
  line-height: 70px;
  padding-left: 70px;
  position: relative;
  text-decoration: none;
  height: 70px;
}
footer .menu ul li a::before {
  background: #005bac;
  content: '';
  display: block;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 20px;
  width: 16px;
  height: 16px;
}
footer .menu ul li a::after {
  background: #fff;
  content: '';
  display: block;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 24px;
  width: 16px;
  height: 16px;
}
footer .menu ul li:last-child a {
  border-bottom: 0;
}
footer .menu ul .option a {
  background: url(/common/sp/images/icon--option.png) 20px center no-repeat;
}
footer .menu ul .settei a {
  background: url(/common/sp/images/icon--settei.png) 20px center no-repeat;
}
footer .menu ul .flow a {
  background: url(/common/sp/images/icon--flow.png) 20px center no-repeat;
}
footer .menu ul .smartvalue a {
  background: url(/common/sp/images/icon--smartvalue.png) 20px center no-repeat;
}
footer .menu ul .cancel a {
  background: url(/common/sp/images/icon--cancel.png) 20px center no-repeat;
}
footer .menu ul .support a {
  background: url(/common/sp/images/icon--support.png) 20px center no-repeat;
}
footer .register-area {
  background: #fff;
  padding: 40px;
  margin-bottom: 40px;
}
footer .register-area p {
  font-size: 10px;
  line-height: 16px;
  text-align: center;
}
footer .register-area p span {
  color: #ff3737;
}
footer .register-area p:first-child {
  margin-bottom: 20px;
}
footer .register-area ul li .btn {
  border-radius: 10px;
  color: #fff;
  display: block;
  font-weight: bold;
  line-height: 1;
  padding: 25px 0;
  text-align: center;
  text-decoration: none;
  position: relative;
}
footer .register-area ul li .btn::before {
  background: #fff;
  content: '';
  display: block;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
footer .register-area ul li .btn::after {
  content: '';
  display: block;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
footer .register-area ul .register a {
  background: #e4007d;
  box-shadow: 0 8px 0 #921359;
  color: #fff;
  font-size: 28px;
  margin-bottom: 30px;
  padding: 35px 0;
}
footer .register-area ul .register a::before {
  right: 20px;
  width: 20px;
  height: 20px;
}
footer .register-area ul .register a::after {
  background: #e4007d;
  right: 24px;
  width: 20px;
  height: 20px;
}
footer .register-area ul .tell a {
  background: #fff;
  background: -moz-linear-gradient(top, #ffffff 0%, #d9d9d9);
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#d9d9d9));
  border: 1px solid #8b8b8b;
  box-shadow: 0 8px 0 #8b8b8b;
  box-sizing: border-box;
  color: #fff;
  font-size: 28px;
  margin-bottom: 30px;
  padding: 15px 0;
}

#gmocommonfooter {
  margin-top: 0 !important;
}

.login-area {
  border: 1px solid #d1d1d1;
  box-sizing: border-box;
  margin: 0 20px 80px 20px;
  padding: 40px;
}
.login-area h1 {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
.login-area h2 {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: center;
}
.login-area .btn {
  border-radius: 10px;
  color: #fff;
  display: block;
  font-weight: bold;
  line-height: 1;
  padding: 25px 0;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.login-area .btn::before {
  background: #fff;
  content: '';
  display: block;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.login-area .btn::after {
  content: '';
  display: block;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.login-area ul {
  margin-left: -4%;
  overflow: hidden;
}
.login-area ul li {
  margin-left: 4%;
  float: left;
  width: 46%;
}
.login-area ul li a {
  background: #ff9d00;
  box-shadow: 0 8px 0 #c47900;
  font-size: 20px;
  margin-bottom: 12px;
  padding: 30px 0;
}
.login-area ul li a::before {
  right: 20px;
  width: 16px;
  height: 16px;
}
.login-area ul li a::after {
  background: #ff9d00;
  right: 24px;
  width: 16px;
  height: 16px;
}
.login-area .btn-login {
  background: #2996cc;
  box-shadow: 0 8px 0 #1a5f82;
  font-size: 24px;
  margin-bottom: 30px;
  padding: 35px 0;
}
.login-area .btn-login small {
  font-size: 18px;
}
.login-area .btn-login::before {
  right: 20px;
  width: 20px;
  height: 20px;
}
.login-area .btn-login::after {
  background: #2996cc;
  right: 24px;
  width: 20px;
  height: 20px;
}

.section {
  box-sizing: border-box;
  margin: 0 20px 40px 20px;
}
.section .bnr {
  margin: 0 0 80px 0;
}
.section .heading {
  background: #d1d1d1;
  color: #005bac;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto 40px auto;
  padding: 15px;
  text-align: center;
  width: calc(100% - 30px);
}
.section .heading a {
  color: #005bac;
  text-decoration: none;
}
.section .heading2 {
  border: solid #005bac;
  border-width: 0 0 1px 0;
  color: #005bac;
  font-size: 28px;
  line-height: 1.2;
  margin-bottom: 20px;
  padding-bottom: .3em;
  text-align: center;
}
.section .img {
  margin-bottom: 80px;
}
.section .img img {
  min-width: 100%;
  width: 100%;
}
.section .lead {
  color: #333333;
  font-size: 20px;
  line-height: 40px;
}
.section .note {
  font-size: 20px;
  line-height: 1.5;
}

.bnr {
  margin: 0 20px 80px 20px;
  overflow: hidden;
}
.bnr .no-slider .slide {
  margin: 0 10px;
}
.bnr .slider .slide {
  margin: 0 10px;
  display: none;
}
.bnr .slick-slide {
  display: block !important;
  float: left;
  margin: 0 10px;
  overflow: hidden;
}
.bnr .slick-dotted {
  margin-bottom: 50px !important;
}
.bnr .slick-dots {
  bottom: -40px;
}
.bnr .slick-dots li {
  background: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 20px;
  cursor: pointer;
  margin: 0 15px;
}
.bnr .slick-dots li button {
  visibility: hidden;
}
.bnr .slick-dots .slick-active {
  background: #d1d1d1;
  border: 1px solid #d1d1d1;
}
.bnr img {
  width: 100%;
  max-width: 100%;
}
.bnr ul {
  margin: 0 10px;
}
.bnr ul li {
  margin-bottom: 20px;
}
.bnr ul li:last-child {
  margin-bottom: 0;
}

.mainVisual {
  overflow: hidden;
}
.mainVisual .bnr {
  margin-bottom: 0;
}

#gmocommonfooter ul li {
  padding-left: 0;
  text-indent: 0;
}
