@charset "UTF-8";
/*-----------------------------------------------------------------------
* common sp read top
*-----------------------------------------------------------------------*/
html, body, input, button, textarea, select, ul li {
	font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
body{
	-webkit-text-size-adjust: 100%;
}
*{
	max-width: 767px;
}
main .modal{
	max-width: 100%;
}
html,body,header,footer {
	margin-right: auto;
	margin-left: auto;
}
h1{
	font-size: 10px;
	line-height: 1;
	font-weight: normal;
	background-color: #0e0e0e;
	color: rgba(255,255,255,0.6);
	padding: 9px 8px 0;
	margin: 0;
	height: 28px;
	overflow: hidden;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
	position: absolute;
	width: 100%;
	top:0;
	z-index: 100;
}
h2 {
	font-size: 20px;
	margin-bottom: 20px;
}
h3 {
	font-size: 18px;
	margin-bottom: 18px;
}
h4 {
	font-size: 16px;
	margin-bottom: 16px;
}
h5 {
	font-size: 14px;
	margin-bottom: 14px;
}
input, select, button, textarea {
	font-size: 16px;
	padding: 8px;
	border: 1px solid #808080;
	line-height: 1.4;
}
select{
	height: 42px;
}
main{
	/*キャンペーンバナーなし*/
	padding-top: 78px;
	
	/*キャンペーンバナーあり
	padding-top: 114px;
	*/
	background-color: #fff;
}
main > article{
	padding-top: 40px;
	padding-bottom: 30px;
}
main article#mv{
	padding-top: 0;
	padding-bottom: 0;
}
article section{
	padding-left: 12px;
	padding-right: 12px;
}
article section section{
	padding-left: 0;
	padding-right: 0;
}
main article#mv section:first-child{
	padding: 35px 0 0;
	position: relative;
	max-width: 425px;
	height: 110px;
	margin: 0 auto;
}
main h2{
}
main h2 img.subtitle {
	display: block;
	margin-top: 4px;
	height: 11px;
}
main table{
	margin: 20px auto;
}
main th, main td {
	padding: 8px;
}
.swiper-button-next{
	right: 8px;
}
.swiper-button-prev{
	left: 8px;
}
input[type="button"],
input[type="text"],
input[type="password"],
input[type="date"],
input[type="email"],
input[type="number"],
textarea,
input[type="submit"]{
	-webkit-appearance: none;
	border-radius: 0;
}
/*-----------------------------------------------------------------------
* header
*----------------------------------------------------------------------- */
header{
	position: absolute;
	width: 100%;
	max-height: 100%;
	top: 28px;
	z-index: 99;
}
header.abs{
	top:28px !important;
}
header nav#spnav{
	display: block;
	height: 50px;
	background-color: #fff;
	border-bottom: 1px solid #e9e9e9;
	-webkit-transition: background-color 0.4s linear;
	-moz-transition: background-color 0.4s linear;
	transition: background-color 0.4s linear;
	position: absolute;
	z-index: 98;
	width: 100%;
	top: 0;
}
header nav#spnav.fixed {
  position: fixed;
  top: 0;
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
header nav#spmpnav{
	padding-top: 50px;
	width: 100%;
	z-index: 96;
	display: block;
}
header nav#spmpnav ul{
	background-color: #fff;
}
header nav#spmpnav ul li{
	padding: 6px 0 4px;
	color: #000;
}
header nav#spmpnav ul li:nth-of-type(1){
  width: calc(100% - 138px);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 14px;
  padding-left: 20px;
  min-width: 182px; /* 320px-138px */
  overflow: hidden;
}
header nav#spmpnav ul li:nth-of-type(1) span{
  position: relative;
  top: -1px;
	font-size: 10px;
	color: #B8860B;
}
header nav#spmpnav ul li:nth-of-type(2){
	padding: 0;
}
header nav#spmpnav ul li:nth-of-type(2) a{
	color: #fff;
	padding-left: 18px;
	text-decoration: none;
	background-image: url(/img/common/icon-member-wh.png);
	background-size: 15px;
	background-position: 22px center;
	background-color: #2b94e4;
	width: 138px;
	line-height: 36px;
  display: inline-block;
}
header nav#spmpnav .head__banner-sp{
	background-image: url(/img/common/header_banner_akitabi.jpg?20251017);
	background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
	position: relative;
	height: 40px;
}
header nav#spmpnav .head__banner-sp a{
	position: absolute;
    inset: 0;
}
header nav#shadow{
	padding-top: 78px;
	margin-top: -28px;
	position: absolute;
	width: 100%;
	z-index: 95;
	display: block;
}
/*
header.fixed nav#spmpnav{
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
header.fixed nav#shadow{
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
*/
header nav#spnav.fixed+ nav+ nav#spgmenu {
  position: fixed;
}
header.spgmenu nav#spnav{
	border-bottom: none;
}
header.fixed.spgmenu nav#spnav{
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
}
header.spgmenu{
	height: 100%;
}
header nav#spgmenu{
	padding-bottom: 50px;
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: scroll;
  top: 50px;
	z-index: 97;
	visibility: hidden;
	background-color: rgba(0,0,0,0.7);
}
header nav#spgmenu{
	z-index: 96;
}
header.spgmenu nav#spgmenu{
	visibility: visible;
}
header nav#spgmenu::before,
header nav#spgmenu>ul {
  right: -100%;
  width: 84.5%;
  margin-left: auto;
	background-color: #0082dd;
}
header nav#spgmenu::before {
  position: absolute;
  z-index: 1;
  content: '';
  display: block;
  height: 110vh;
}
header nav#spgmenu>ul{
  position: relative;
  z-index: 2;
  margin-bottom: 0;
}
header nav#spgmenu.open::before,
header nav#spgmenu>ul.open {
	right: 0;
  transition: 0.2s linear;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	-ms-transition: 0.2s linear;
}
header nav#spgmenu>ul>li>ul{
	background-color: #005b9b;
	padding: 0 12px;
	display: none;
	border-top: 2px solid rgba(0,0,0,0.3);
}
header nav#spgmenu ul li{
	display: list-item;
}
header nav#spgmenu>ul>li{
  border-bottom: 1px solid rgba(255,255,255,0.5);
}
header nav#spgmenu>ul>li>ul>li{
  border-bottom: 1px solid rgba(255,255,255,0.4);
}
header nav#spgmenu ul li:last-of-type{
	border-bottom: none;
}
header nav#spgmenu ul li a{
	display: block;
	position: relative;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-align: left;
}
header nav#spgmenu ul li a:hover {
  opacity: 1.0;
}
header nav#spgmenu>ul>li>ul>li>a{
	padding: 16px 30px 16px 32px;
	font-size: 12px;
}
header nav#spgmenu>ul>li>a{
	padding: 16px 12px 14px 44px;
	font-size: 13px;
	background-position: 14px center;
	background-size: 21px;
  background-color: #038de1;
}
header nav#spgmenu>ul>.spgmenu-about> a{
	background-image: url(/img/common/nav-sp-about.png);
}
header nav#spgmenu>ul>li.spgmenu-usage> a{
	background-image: url(/img/common/badge-newbie.png);
  background-size: 18px;
  background-position: 15px center;
}
header nav#spgmenu>ul>li.spgmenu-plan> a{
	background-image: url(/img/common/nav-sp-plan.png);
}
header nav#spgmenu>ul>li.spgmenu-casestudy> a{
	background-image: url(/img/common/nav-sp-casestudy.png);
}
header nav#spgmenu>ul>li.spgmenu-delivery> a{
	background-image: url(/img/common/nav-sp-delivery.png);
}
header nav#spgmenu>ul>li.spgmenu-voice> a{
	background-image: url(/img/common/nav-sp-voice.png);
}
header nav#spgmenu>ul>li.spgmenu-busines> a{
	background-image: url(/img/common/nav-sp-bag.png);
}
header nav#spgmenu>ul>li.spgmenu-faq> a,
header nav#spgmenu.spgmenu-none_proper>ul>li.spgmenu-faq>a{
	background-image: url(/img/common/nav-sp-faq.png);
}
header nav#spgmenu>ul>li.spgmenu-mypage> a{
	background-image: url(/img/common/icon-member-wh.png);
  background-size: 17px;
  background-position: 17px center;
}
header nav#spgmenu>ul>li.spgmenu-mypage> a span{
  display:block;
  padding-right: 30px;
	font-size: 10px;
}
header nav#spgmenu>ul>li.spgmenu-contactus> a{
	background-image: url(/img/common/icon-mail-wh.png);
  background-size: 15px;
  background-position: 17px center;
}
header nav#spgmenu>ul>li.spgmenu-recruit> a{
	background-image: url(/img/common/icon-opblank-wh.png);
	background-size: 15px;
    background-position: 17px center;
}
header nav#spgmenu>ul>li.spgmenu-form> a,
header nav#spgmenu.spgmenu-none_proper>ul>li.spgmenu-form> a{
	background-image: url(/img/common/icon-wifi-bk.png);
	background-size: 18px;
	background-color: #fcff00;
  background-position: 17px center;
	color: #0e0e0e;
}
header nav#spgmenu>ul:first-of-type>li.spgmenu-busines {
	position: relative;
}
/*
header nav#spgmenu>ul:first-of-type>li.spgmenu-busines::after{
	position: absolute;
	content: " ";
	display: inline-block;
  top: 6px;
  left: 134px;
	width: 22px;
	height: 23px;
	vertical-align: middle;
	pointer-events: none;
	background: url(/img/common/badge-new.png) center center no-repeat;
}
*/
header nav#spgmenu ul li a::before,
header nav#spgmenu ul li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
header nav#spgmenu ul li a::before {
	height: 2px;
	background: #fff;
	width: 9px;
}
header nav#spgmenu ul li a::after {
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #fff;
	border-right-width: 2px;
	border-right-style: solid;
	border-right-color: #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 6px;
	height: 6px;
}
header nav#spgmenu>ul>li.spgmenu-form> a::before {
	background: #0e0e0e;
}
header nav#spgmenu>ul>li.spgmenu-form> a::after {
	border-top-color: #0e0e0e;
	border-right-color: #0e0e0e;
}
header nav#spgmenu>ul>li>a::before,
header nav#spgmenu>ul>li>a::after {
	right: 19px;
}
header nav#spgmenu>ul>li>a::before {
	width: 11px;
}
header nav#spgmenu>ul>li>a::after {
	width: 8px;
	height: 8px;
}
header nav#spgmenu>ul>li>a.plus::before,
header nav#spgmenu>ul>li>a.plus::after,
header nav#spgmenu>ul>li>a.minos::before,
header nav#spgmenu>ul>li>a.minos::after {
	right: 18px;
	height: 2px;
	background: #fff;
	width: 12px;
	border: none;
}
header nav#spgmenu>ul>li>a.plus::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
header nav#spgmenu ul.sns {
  padding-bottom: 150px;
}
header nav#spgmenu ul.sns li a::before,
header nav#spgmenu ul.sns li a::after,
header nav#spgmenu>ul>li>a.minos::after {
	content:none;
}
header nav#spgmenu ul.sns li{
	text-align: left;
	vertical-align: top;
	width: 33.3%;
	display: inline-block;
	background-color: #1b93e7;
	border-right: 1px solid #0082dd;
	border-bottom: none;
	border-top: 1px solid #0073c3;
}
header nav#spgmenu ul.sns li:nth-of-type(3),
header nav#spgmenu ul.sns li:nth-of-type(6),
header nav#spgmenu ul.sns li:nth-of-type(9){
	border-right: none;
}
header nav#spgmenu ul.sns li a {
	padding: 15px 0;
	display: block;
	height:50px;
	text-align: center;
  opacity: 0.6;
	background-image: none;
}
header nav#spgmenu ul.sns li a:hover {
  opacity: 1.0;
}
header nav#spgmenu ul.sns li a img {
	width: auto;
	height: 16px;
}

/* Google＋削除 20190403_matsuyama */
header nav#spgmenu ul.sns li:nth-last-child(1),
header nav#spgmenu ul.sns li:nth-last-child(2) {
	width: 50%;
}

header nav#spnav ul {
	font-size: 0;
	text-align: right;
}
header nav#spnav ul li{
	text-align: left;
	display: inline-block;
}
header nav#spnav ul li a{
	vertical-align: middle;
	display: inline-block;
	font-size: 12px;
	text-align: left;
	height: 50px;
	width:50px;
	-webkit-transition: background-color 0.4s linear;
	-moz-transition: background-color 0.4s linear;
	transition: background-color 0.4s linear;
}
header nav#spnav ul li a:hover{
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1;
}
header nav#spnav ul li:nth-of-type(1){
	float: left;
}
header nav#spnav ul li:nth-child(3) a{
	background-color: #0e0e0e;
}
header nav#spnav ul li:nth-child(3) a img.open {
	display: block;
}
header nav#spnav ul li:nth-child(3) a img.close {
	display: none;
}
header.spgmenu nav#spnav ul li:nth-child(3) a{
	background-color: #0082dd;
}
header.spgmenu nav#spnav ul li:nth-child(3) a img.open {
	display: none;
}
header.spgmenu nav#spnav ul li:nth-child(3) a img.close {
	display: block;
}
header nav#spnav ul li:nth-of-type(1) a {
	width: 156px;
	padding: 10px 0 10px 13px;
	background-size: 130px;
}
header nav#spnav ul li:nth-of-type(1) a:hover{
	color: #fff;
}
header nav#spnav ul li:nth-of-type(1) a img {
	width: auto;
	height: 30px;
}
header nav#spnav ul li:nth-of-type(2) a{
	text-indent: 0;
	color: #0e0e0e;
	background-color: #fcff00;
	font-weight: bold;
	text-decoration: none;
	line-height: 50px;
	text-align: center;
	width: 88px;
	background-image: url(/img/common/icon-wifi-bk.png);
	background-size: 18px;
	background-position: 10px center;
	padding: 0 10px 0 25px;
	border-left: 1px solid rgba(51, 51, 51, 0.25);
	margin-left: -1px;
}
main nav#directrylink {
	padding-top: 7px;
	padding-bottom: 7px;
	background: #232323;
	overflow: scroll;
}
main nav#directrylink>ul {
	background: url(/img/common/link.png) 12px center no-repeat;
	white-space: nowrap;
	padding: 0 8px 0 62px;
}
main nav#directrylink>ul>li:last-of-type>a {
	margin-right: 8px;
}


/*-----------------------------------------------------------------------
* breadcrumb
*----------------------------------------------------------------------- */
main nav#breadcrumb{
	height: 32px;
	margin: 0 0 -32px;
	padding: 2px 0 0;
	position: relative;
	z-index: 1;
}
main nav#breadcrumb ul {
	height: 100%;
	overflow: hidden;
	overflow-x: scroll;
	padding: 0 10px 0 0;
	text-align: left;
	/* text-overflow: ellipsis; */
	white-space: nowrap;
}
main nav#breadcrumb ul li{
	display: inline;
	font-size: 10px;
	padding-left: 16px;
	position: relative;
}
main nav#breadcrumb.white ul li{
	color:#fff;
}
nav#breadcrumb ul li::before{
	position: absolute;
	top: 0;
	left: 3px;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 5px;
	height: 5px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #0e0e0e;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #0e0e0e;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
nav#breadcrumb.white ul li::before{
	border-top-color: #fff;
	border-right-color: #fff;
}
main nav#breadcrumb ul li:first-child{
	margin-left: 8px;
	padding-left: 0;
}
nav#breadcrumb ul li:first-child::before{
	content:none;
}
main nav#breadcrumb ul li a{
	color: #0e0e0e;
	display: inline-block;
	padding: 8px 4px;
	text-decoration: underline;
}
main nav#breadcrumb.white ul li a{
	color: #fff;
}
main nav#breadcrumb ul li:first-child a{
	padding-left: 0;
	display: inline-block;
}
main nav#breadcrumb ul li:first-child a img {
	position: relative;
	top: -1px;
	width: 14px;
}
