#ranking3 {
  padding: 3rem 0 5rem 0;
}
#ranking3 .title {
  margin-bottom: 3rem;
  text-align: center;
}
.no-webp #ranking3 {
  background-image: url("/images/top/bg-ranking3.png");
  background-repeat: repeat-x;
  background-position: left top;
  -webkit-background-size: cover;
  background-size: cover;
}
.webp #ranking3 {
  background-image: url("/images/top/webp/bg-ranking3.png.webp");
  background-repeat: repeat-x;
  background-position: left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#ranking3 .wrapper {
  width: 1020px;
}
.subImageArea {
  width: 100%;
  height: 100%;
  background-image: url("/images/top/PC_TOP_reason_background.png");
  background-size: cover;
  text-align: center;
  padding-bottom: 2rem;
}
.subImageArea picture {
  margin: 1rem;
  width: 31%;
}
.rk3 {
  display: flex;
  justify-content: space-between;
}
.wimaxRk {
  margin-top: 1.8rem;
}
.rkProduct .rkImg {
  margin-top: 2rem;
  text-align: center;
}
.rkProduct .rkImg img {
  height: 64px;
}
.rkTxt .rk {
  text-align: center;
  margin-top: 1.2rem;
}
.wimaxRk {
  width: 31.4%;
}
.rkTxt .pdName {
  margin-top: 2rem;
  text-align: center;
}
.wimaxRk .btnArea {
  margin-top: 3rem;
}
.wimaxRk .btnArea li {}
.wimaxRk .btnArea li + li {
  margin-top: 0.6rem;
}
.wimaxRk .btnArea li a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.wimaxRk .btnArea li a:hover {
  opacity: 0.7;
}
.btn-apply a, .btn-devicedetail a {
  margin: 0 auto;
  text-decoration: none;
  text-align: center;
  font-size: 2rem;
  line-height: 3rem;
  display: block;
  font-weight: bold;
  border-radius: 15px;
}
.btn-apply a:hover, .btn-devicedetail a:hover {
  opacity: 0.7;
}
.btn-devicedetail a {
  color: #0B308E;
  border: 1.5px #0B308E solid;
  background: url("/images/top/bg-btnddtail.png") no-repeat right 1.5rem center;
  -webkit-background-size: 6.5px;
  background-size: 6.5px;
}
.btn-devicedetail .arrow_right_0 {
    background-position: right 0 center;
}
.btn-apply a {
  color: #fff;
  border: 1.5px #E44665 solid;
  background: #E44665 url("/images/top/bg-btnaply.png") no-repeat right 1.5rem center;
  -webkit-background-size: 6.5px;
  background-size: 6.5px;
}
.btn-apply input {
  color: #fff;
    width: 310px;
    display: block;
    /* margin-top: 1rem; */
    margin: 0 auto;
    height: 3.5rem;
    margin-top: 1rem;
    /* border-radius: 10px; */
    border: 1.5px #E44665 solid;
    background: #E44665 url(/images/top/bg-btnaply.png) no-repeat right 1.5rem center;
    -webkit-background-size: 6.5px;
    background-size: 6.5px;
    border-radius: 2rem!important;
    font-size: 1.7rem;
    font-weight: bold;
}
.bnrTop01 {
  margin-top: 4rem;
}
.bnrTop01 a, .bnrTop02 a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.bnrTop01 a:hover, .bnrTop02 a:hover {
  opacity: 0.7;
}
.is_receipt, .no5g, .no4g {
    display: none;
    width: 91%;
    height: 30%;
    position: absolute;
    left: -2px;
    top: 100px;
    padding: 1rem;
    font-size: 1.5rem;
    font-weight: bold;
}
#orderFlow {
  padding-top: 5.5rem;
}
#orderFlow .wrapper {
  width: 1020px;
}
#orderFlow .title {
  margin-bottom: 2.5rem;
  font-size: 5rem;
  text-align: center;
  color: #333333;
  font-weight: bold;
}
.flowList {
  display: flex;
  justify-content: space-between;
}
.flowContent {
  width: 21%;
}
.flowContent .thum {}
.flowContent .flowTxt {
  margin-top: 2rem;
  text-align: center;
}
.flowContent .flowTxt .cap {
  text-align: center;
  font-weight: bold;
  color: #0B308E;
  font-size: 2.4rem;
  line-height: 2.9rem;
  height: 70px;
}
.flowContent .flowTxt .txt {
  width: 100%;
  text-align: left;
  font-size: 1.7rem;
  line-height: 2.2rem;
  font-weight: 600;
}
.flowContent .flowTxt .txt strong {
  color: #E44665;
  font-weight: 600;
}
#pricePlan {
  padding-top: 5rem;
}
#planDescription .txt {
  font-size:1.7rem;
  font-weight: 600;
  line-height: 2.2rem;
}
#movie,
#pricePlan,
#planDescription {
  padding-top: 7rem;
}
#movie, #planDescription .title,
#pricePlan .title {
  font-size: 5rem;
  text-align: center;
  color: #333333;
  font-weight: bold;
}

#movie .vimeo,
#pricePlan .vimeo {
  margin-top: 2rem;
  text-align: center;
}
#pricePlan .planImg {
  margin: 0 auto;
  padding-top: 30px;
  padding-left: 30px;
  position: relative;
  left: -1.3%;
}
#pricePlan .planImg .plan_img_1_picture{
  position: absolute;
  top: 0;
  left: 0;
}
#pricePlan .planImg .plan_img_2,#pricePlan .planImg .plan_img_3{
  width: 47.5%;
}
#pricePlan .planImg .plan_img_3{
  margin-left: 10px;
}
#pricePlan .caution {
  margin-top: 1.5rem;
}
#pricePlan table .leftcell {
  vertical-align: top;
}

#pricePlan .planImg li {
  display: inline-block;
  width: 31%;
  /*width: 47.5%;*/
}
#price #pricePlan .planImg li {
  display: inline-block;
  /*width: 31%;*/
  width: 47.5%;
}

#top #pricePlan .planImg li {
  display: inline-block;
  /*width: 31%;*/
  width: 47.5%;
}

#pricePlan .planImg li + li {
  margin-left: 2.5rem;
}
#pricePlan .planImg .pname {
  /*margin-bottom: 1.5rem;*/
  width: auto;
  padding: 1.5rem;
  border: 2px solid #0B308E;
  /*height: 350px;*/
}
#pricePlan .planImg .pname_5g {
  /*margin-bottom: 1.5rem;*/
  width: auto;
  border: 2px solid #EC008C;
  /*height: 350px;*/
}
#pricePlan .planImg .planInner {
  height: 72px;
  color: #fff;
  position: relative;
}
#pricePlan .planImg .planInner, .planInner .planpr {
  display: flex;
}
#pricePlan .planImg .planInner {
  justify-content: center;
  align-items: center;
}



#pricePlan .planImg .waku {
  border: 1px #fff solid;
  width: 100px;
  height: 40px;
  border-radius: 5px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pricePlan .planImg .month1 {
  font-size: 1.6rem;
  font-weight: bold;
}
#pricePlan .planImg .month2 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6rem;
}
#pricePlan .planImg .month2 .num {
  font-size: 1.4rem;
}
#pricePlan .planImg .label {
  margin: 0 1rem;
  background-color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 17px;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 1px;
}
#pricePlan .planImg .planpr .pr {
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: -1px;
  width: 80px;
  text-align: right;
}
#price #pricePlan .planImg .planpr .pr {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: -1px;
  width: 150px;
  text-align: right;
}

#top #pricePlan .planImg .planpr .pr {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: -1px;
  width: 150px;
  text-align: right;
}
#pricePlan .planImg .planpr .tax {
  margin-left: 0.6rem;
  text-align: center;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
#pricePlan .planImg .planpr .tax .yen {
  font-size: 1.2rem;
  font-weight: bold;
}
#pricePlan .planImg .planpr .tax .small {
  font-size: 1.5rem;
  margin-bottom: -0.8rem;
}
#pricePlan .planImg .planInner.plan4 {
  border-radius: 0;
}
#pricePlan .planImg ul li .icon {
  position: absolute;
  width: 70px;
  height: 48px;
  top: 0.4rem;
  left: -1rem;
}







.high_image {
  margin-top: 3rem;
}
.caution {
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: 500;
}
.caution2 {
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 500;
}
/*heme5G*/
.homel_txt {
    margin: 0.5rem auto 0;
    width: 850px;
}
.imt {
    font-size: 1.5rem;
    vertical-align: super;
}
.specInfo_dev .spec_right {
    padding-right: 2rem;
    width: 50%;
}
.spec_right .txt p {
    margin-bottom: 1rem
}
.homel_txt_sb {
    margin: 2rem auto 0;
    width: 850px;
}
.flot_rt {
    float: right;
}
.sc_lt {
    width: 50%;
    margin-top: 3rem;
}
.pla_chu p {
  font-weight: bold;
  font-size: 1.5rem;
}
#pricePlan .btnApplynow {
  margin-top: 3rem;
}

#contract {
  padding-top: 7rem;
}
#contract .title {
  margin-bottom: 2rem;
  font-size: 5rem;
  text-align: center;
  color: #333333;
  font-weight: bold;
}
#contract .caution {
  margin-top: 1rem;
  text-align: center;
}
#contract .bnrTop02 {
  margin-top: 2rem;
}
#option {
  padding-top: 7rem;
}
#option .op_hosyo_img {
  margin: 3rem auto;
}
#option .title {
  margin-bottom: 2rem;
  font-size: 5rem;
  text-align: center;
  color: #333333;
  font-weight: bold;
}
#option .caution {
  margin-top: 1.5rem;
  text-align: center;
}
#top .affImageArea{
  text-align: center;
  margin-top: 11.3rem;
}
#top #option .caution {
  font-size: 1.5rem;
  font-weight: 500;
}
#top .title{
  text-decoration: underline;
  text-decoration-color: #FFFF0E;
  text-decoration-thickness: 10px;

}
#option .btn-devicedetail {
  margin-top: 2rem;
}
#option .btn-devicedetail a {
  width: 310px;
}
#option .opImg + .opImg {
  margin-top: 2rem;
}
#deviceList {
  padding: 6rem 0 0 0;
}
#deviceList .title {
  margin-bottom: 2.5rem;
  font-size: 5rem;
  text-align: center;
  color: #333333;
  font-weight: bold;
}
.deviceContent {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.deviceContent:after {
  content: "";
  display: block;
  width: 32.2%;
  height: 0;
}
.devicebox {
  width: 32.2%;
  /*width: 48.2%;*/
  padding: 2.3rem 2rem 2rem 2rem;
  background-color: #fff;
  box-shadow: 0 0 3px 3px #eee;
  box-sizing: border-box;
  margin-bottom: 2rem;
}
/*.devicebox:nth-child(n + 3) {*/
/*  margin-top: 3rem;*/
/*}*/
.devicebox .devName {
  margin: 0 auto;
  text-align: center;
  width: auto;
  height: 3.6rem;
}
.devicebox .devName img {
  margin: 0 auto;
  display: block;
  height: 5.6rem;
  width: auto;
}
.devicebox .devImg {
  margin: 0 auto;
  height: 250px;
  max-width: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.devicebox .devImg.dev02 {
  width: 32%;
}
.devicebox .devImg img {}
.devicebox ul {
  margin: 1.5rem auto 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.devicebox ul li {
  width: 142px;
  height: auto;
}
.devicebox ul li + li {
  margin-left: 2rem;
}
.devicebox .cap {
  margin-top: 2rem;
  text-align: center;
  font-size: 1.3rem;
  line-height: 3rem;
  font-weight: bold;
  letter-spacing: -1px;
  height: 80px;
}
.devicebox .cap span {
  vertical-align: super;
  font-size: 1.5rem;
}
.devicebox .pri {
  margin: 0 auto;
  display: block;
  width: 185px;
  height: 37px;
  line-height: 3.7rem;
  text-align: center;
  background-color: #333333;
  border-radius: 20px;
  color: #fff;
  font-size: 2.3rem;
  font-weight: bold;
}
.devicebox .pri span {
  font-size: 2.6rem;
  line-height: 4rem;
}
.devicebox dl {
  margin-top: 2rem;
}
.devicebox dl dt {
  background-color: #0091D7;
  height: 28px;
  line-height: 2.8rem;
  font-size: 1.8rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.devicebox dl dd {
  margin-top: 1rem;
  text-align: left;
}
#deviceList .caution {
  margin-top: 2rem;
}
#deviceList .btnApplynow {
  margin-top: 3rem;
}
/* price */
#breadCrumbs {
  padding: 1rem 0;
}
#breadCrumbs .wrapper {
  width: 1020px;
}
#breadCrumbs ul {
  display: flex;
}
#breadCrumbs ul li + li {
  margin-left: 0.8rem;
}
#breadCrumbs ul li + li:before {
  content: ">";
  padding-right: 0.8rem;
}
#breadCrumbs ul li, #breadCrumbs ul li a {
  text-decoration: none;
  font-size: 1.2rem;
  color: #1A1A1A;
  font-weight: 500;
}
#assist {
  padding-top: 7rem;
}
.boxAsis {
  position: relative;
  padding: 4rem 2.5rem 2.5rem 2.5rem;
  border: 2px #0B308E solid;
  border-radius: 10px;
  margin-top: 4rem;
}
.asisIcon {
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 155px;
  height: auto;
}
.boxAsis .asisTitle {
  margin: 0 auto 2rem auto;
  font-size: 5.1rem;
  line-height: 5.5rem;
  color: #0B308E;
  font-weight: bold;
  text-align: center;
}
.boxAsis .shitadoriAsisTitle {
  margin: 0 auto 2rem auto;
  font-size: 4rem;
  line-height: 5.5rem;
  color: #0B308E;
  font-weight: bold;
  text-align: center;
}
.boxAsis .asisTitle span, .boxAsis .shitadoriAsisTitle span {
  background: linear-gradient(transparent 60%, #FFFF00 20%, transparent 90%);
}
.boxAsis .asisBox {
  display: flex;
  justify-content: space-between;
}
.boxAsis .asisBox .txt {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.1rem;
  color: #333;
}
.boxAsis .asisBox .txt .red {
  display: block;
  margin-top: 2rem;
  font-size: 4.1rem;
  font-weight: bold;
  color: #E44665;
}
.boxAsis .kyakuTitle {
  position: relative;
  margin: 1.3rem 0;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: #3856A9;
  z-index: 2;
}
.boxAsis .kyakuTitle {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.boxAsis .kyakuTitle:before, .boxAsis .kyakuTitle:after {
  /*border-top: 2px #3856A9 dashed;*/
  content: "";
  width: 36rem; /* 線の長さ */
}
.boxAsis .kyakuTitle:before {
  margin-right: 1rem; /* 文字の右隣 */
}
.boxAsis .kyakuTitle:after {
  margin-left: 1rem; /* 文字の左隣 */
}
.boxAsis .asisBox.asis01 .txt {
  width: calc(100% - 250px);
}
.boxAsis .asisBox.asis01 .asisImg {
  width: 250px;
}
.boxAsis .asisBox.asis01 .kaiyaku_illust {
  width: 130px !important;
}
.boxAsis + .boxAsis {
  margin-top: 4rem;
}
.boxAsis .asisBox.asis02 .txt {
  width: 520px;
}
.boxAsis .asisBox.asis02 .asisImg {
  width: 318px;
}
.boxAsis .asisImg02 {
  margin-top: 1rem;
}
#assist .caution {
  padding: 1.5rem 0 0 0;
}
.opImg02 {
  margin-top: 3rem;
}
#imgStep {
  padding-top: 3.5rem;
}
#apply .title, #contactform .title {
  margin-top: 4rem;
  text-align: center;
  font-size: 5.4rem;
  font-weight: bold;
  padding-bottom: 4rem;
}
#apply .mtitle {
  margin-top: 5.5rem;
  font-size: 3rem;
  line-height: 4.2rem;
  font-weight: bold;
  border-bottom: 1px #0B308E solid;
}
/*④購入希望の方は選択してください　余白調整*/
#apply .mtitle-1 {
    margin-top: 5.5rem;
    font-size: 3rem;
    line-height: 1.7rem;
    font-weight: bold;
    border-bottom: 1px #0B308E solid;
}
#apply .mtitle .fs-s {
  font-size: 1.4rem;
  color: black;
    margin-top: 25px;
    margin-bottom: 14px;
}
#apply .mtitle span {
  padding-right: 1rem;
  color: #0B308E;
}
.tab_nav {
  position: absolute;
  top: 60px;
  right: 45px;
  width: 40%;
  font-size: 1.5rem;
  font-weight: bold;
}
.selectPlan {
  margin-top: 2rem;
}
.selectPlan .plan ul {}
.selectPlan .plan ul li {
  display: inline-block;
  padding-bottom: 0;
  position: relative;
  /*padding-top: 2rem;*/
  width: 31%;
  vertical-align: top;
  border: 2px #E6E6E6 solid;
  border-radius: 10px;
  transition: all .2s 0s ease-in;
  opacity: 1;
  box-sizing: border-box;
  padding: 2rem;
}
.selectPlan .plan ul li, .selectPlan .plan ul li label {
  cursor: pointer;
}
.selectPlan .plan ul li input {
  position: absolute;
  text-indent: -9999px;
}
.selectPlan .plan ul li.active {
  border: 2px #E44665 solid;
  padding: 2rem;
  padding-bottom: 4rem;
  border-radius: 10px;
}
.selectPlan .plan ul li .icon,
.selectDevice .icon,
.selectHosho ul li .icon{
  position: absolute;
  width: 70px;
  height: 48px;
  top: -2.6rem;
  left: -3rem;
}
.selectHosho ul li .icon img{
  width: 67%;
}
.selectPlan .plan ul li + li {
  margin-left: 2.5rem;
}
.selectPlan .planAU {
  padding: 2rem 0;
  font-size: 1.4rem;
}
.selectPlan .plan.au {
  margin-top: 2rem;
}
.selectPlan .plan.au ul li {
  padding-top: 1.3rem;
}
.selectPlan .plan ul li .acTxt {
  position: absolute;
    bottom: -1px;
    left: -0.5px;
    right: 0;
    display: block;
    width: 100.3%;
    background-color: #E44665;
    line-height: 4rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    border-radius: 0 0 8px 8px;
}
.selectPlan .plan ul li .band {
  margin-bottom: 1.3rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.8rem;
  font-weight: bold;
  color: #fff;
  background-color: #FF5F0C;
}
.selectPlan .autxt {
  margin-top: 2.5rem;
  font-size: 1.4rem;
}
.selectPlan .autxt a {
  text-decoration: none;
}
.selectPlan .autxt a img {
  display: inline-block;
  width: 22px;
  height: auto;
}
.modal__content.tableAU {
  padding: 0;
}
.auPlan {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
.auPlan table {
  width: 100%;
}
.auPlan table th, .auPlan table td {
  padding: 2rem;
}
.auPlan table th, .auPlan table .bgOr {
  color: #fff;
  background-color: #FF5F0C;
}
.auPlan table .rightCol {
  background-color: #fff;
  text-align: center;
}
.auPlan table tr {
  border-bottom: 1px #555555 solid;
}
.auPlan table td {
  border-left: 1px #555555 solid;
}
.selectDevice {
  margin-top: 3rem;
  margin-left: -2em;
  display: flex;
  flex-flow: row wrap;
}
.devBox {
  position: relative;
  padding: 0 0 5.8rem 0;
  border: 2px #E6E6E6 solid;
  border-radius: 10px;
  box-sizing: border-box;
  width: 32%;
  transition: all .2s 0s ease-in;
  opacity: 1;
  cursor: pointer;
}
.devBox .devInner {
  padding: 2rem 2rem 0 2rem;
  cursor: pointer;
}
.devBox.active {
  border: 2px #E44665 solid;
}
.devBox .acTxt {
  position: absolute;
  bottom: -0.8px;
  left: -0.8px;
  right: 0;
  display: block;
  width: 100.9%;
  background-color: #E44665;
  line-height: 4rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  border-radius: 0 0 8px 8px;
}
.devBox {
  margin-bottom: 2rem;
  margin-left: 2em;
}
/*DSFJ-15  VisionWiMAX_端末追加HOME 5G L11*/
.devBox .devName {
  margin: 0 auto;
  text-align: center;
  width: auto;
  color:#0d308e;
  font-size:27px;
}
.devBox .devName small{
  color:#333;
  font-size:12px;
  display:block;
  margin-bottom:12px;
}
.devBox .devName img {
  margin: 0 auto;
  display: block;
  height: 4.6rem;
  width: auto;
}
.devBox .devImg {
  margin: 1rem auto 0 auto;
  height: 135px;
  max-width: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*DSFJ-15  VisionWiMAX_端末追加HOME 5G L11*/
.devBox .devImg img {
  max-width: 160px;
  max-height: 110px;
}
.devBox .color {
  font-size: 1.4rem;
  line-height: 1.7rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: -1px;
  height: 1.5rem;
}
.devBox .tag {
  margin: 1.5rem auto 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.devBox .tag li {
  width: 77px;
  height: auto;
}
.devBox .tag li + li {
  margin-left: 1rem;
}
.devBox .cap {
  position: relative;
  left: -2rem;
  margin-top: 1rem;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.7rem;
  font-weight: bold;
  letter-spacing: -1px;
  width: 123%;
}
.devBox .pri {
  margin: 1rem auto 0 auto;
  display: block;
  width: 96px;
  height: 22px;
  line-height: 2.2rem;
  text-align: center;
  background-color: #333333;
  border-radius: 20px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
}
.devBox .pri span {
  font-size: 1.8rem;
}
.devBox .spec {
  margin: 1rem auto 0 auto;
  display: block;
  text-align: center;
  width: 100%;
}
.devBox .spec li {
  width: 100%;
  font-size: 1.1rem;
  color: #0091D7;
  text-align: center;
  border-radius: 5px;
  border: 1px #0091D7 solid;
  line-height: 2rem;
  font-weight: 500;
}
.devBox .spec li + li {
  margin-top: 0.2rem;
}
.btn-devdetail a {
  margin: 0 auto;
  text-decoration: none;
  text-align: center;
  font-size: 1.3rem;
  line-height: 2rem;
  display: block;
  font-weight: bold;
  border-radius: 15px;
}
.btn-devdetail a:hover {
  opacity: 0.7;
}
.btn-devdetail a {
  color: #0B308E;
  border: 1.5px #0B308E solid;
  background: url("/images/top/bg-btnddtail.png") no-repeat right 1rem center;
  -webkit-background-size: 5px;
  background-size: 5px;
}
.devBox .btn-devdetail {
  margin: 1rem 2rem 0 2rem;
}
#apply .devNote {
  margin-top: 3rem;
  font-size: 1.2rem;
  line-height: 1.6rem;
}
#apply .devNote li {
  position: relative;
  padding-left: 4rem;
}
#apply .devNote li span {
  position: absolute;
  left: 0;
  top: 0;
}
#deviceList .caution li {
  position: relative;
  padding-left: 4rem;
}
#deviceList .caution li span {
  position: absolute;
  left: 0;
  top: 0;
}
.selectHosho {
  margin-top: 3rem;
}
.selectHosho .listHosho {
  display: flex;
  justify-content: space-between;
}
.selectHosho .listHosho li {
  position: relative;
  padding-bottom: 2rem;
  width: 31.2%;
  height: 290px;
  border: 2px #E6E6E6 solid;
  border-radius: 10px;
  cursor: pointer;
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.selectHosho .listHosho li.active {
  border: 2px #E44665 solid;
}
.selectHosho .listHosho li img {
  position: absolute;
  top: -1px;
  /* right: 4.4%; */
  left: -0.3px;
  left: -0.5px;
  /* right: -1px; */
  max-width: 100.5%;
}

.selectHosho .listHosho li .acTxt {
  position: absolute;
  bottom: -1.5px;
  left: -1.5px;
  right: 0;
  display: block;
  width: 100.9%;
  background-color: #E44665;
  line-height: 4rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  border-radius: 0 0 8px 8px;
}
#apply .fullset {
  margin-top: 1.5rem;
}
#apply .noHosho {
  margin-top: 4rem;
  padding-bottom: 5rem;
  text-align: right;
}
#apply .noHosho p {
  font-size: 2rem;
  line-height: 2.8rem;
}
#apply .noHosho p span {
  padding: 0 1rem;
  font-size: 1.2rem;
}
#apply .noHosho p input {
  width: 28px;
  height: 28px;
  line-height: 2.8rem;
  vertical-align: middle;
}
.planSelect {
  margin-top: 1rem;
  display: flex;
  flex-flow: row wrap;
}
.devPlan {
  width: 27.5%;
  margin-right: 2%;
  margin-top: 2rem;
}
.devPlan .devBox {
  width: 100%;
  margin-right: 0;
}
/* .devPlan:nth-child(4n) {
  margin-right: 0;
} */
.devPlan .devBox {
  padding: 2rem 2rem 1.5rem 2rem;
  cursor: default;
}
.devPlan .devBox dt {
  text-align: center;
  font-size: 1.9rem;
  line-height: 2.3rem;
  letter-spacing: -1px;
  font-weight: bold;
}
.devPlan .devBox .devCap {
  font-size: 1.3rem;
  line-height: 1.8rem;
  font-weight: 500;
  padding-left: 2rem;
}
.devPlan .devBox .price {
  margin-top: 1.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: -1px;
}
.devPlan .devBox .price .yen {
  font-size: 3.8rem;
}
.devPlan .productNum {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}
.devPlan .productNum .count {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  border: 1px #E6E6E6 solid;
  background: #71C6F0;
  width: 30px;
  height: 30px;
  vertical-align: top;
  box-sizing: border-box;
  cursor: pointer;
}
.devPlan .productNum .count:disabled {
  background-color: #E6E6E6;
}
.devPlan .productNum .num {
  border-top: 1px #E6E6E6 solid;
  border-bottom: 1px #E6E6E6 solid;
  border-right: none;
  border-left: none;
  font-size: 2rem;
  font-weight: bold;
  width: 30px;
  height: 30px;
  line-height: 3rem;
  text-align: center;
  box-sizing: border-box;
}
.devPlan .productNum .count img {
  width: 20px;
  height: auto;
}
#apply .btnNext,
#contactform .btnNext {
  margin-top: 3.5rem;
  text-align:center;
  margin-bottom: 11rem;
}
.btnNext a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 345px;
  height: 64px;
  background: #F15A24 url("/images/device/btn-nextStep.png") no-repeat right 1rem center;
  -webkit-background-size: 20px;
  background-size: 20px;
  border-radius: 5px;
  color: #fff;
  font-size: 2.1rem;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 2.5px 0 0 #BC3953;
  font-weight: bold;
  transition: all .2s 0s ease-in;
  opacity: 1;
  line-height: 2.5rem;
}
.btnNext a span {
  vertical-align: middle;
}
.btnNext a:hover {
  opacity: 0.7;
}
.modal__content.specBox {
  padding: 2.5rem 3rem 3rem 3rem;
  width: 920px;
}
/* form */
#contactform {}
.mailform {
  margin-top: 3rem;
}
.appTitle {
  padding-left: 0.7rem;
  font-size: 2rem;
  line-height: 2.5rem;
  border-left: 3px #0B308E solid;
}
.mailform dd input + input {
  margin-top: 0.5rem;
}
.mailform .caution {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: 500;
}
.mailform .caution.mleft {
  padding-left: 11rem;
}
dl.mailform + .appTitle {
  margin-top: 2.5rem;
}
#contactform .txt01 {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  font-weight: bold;
}
#contactform .txt02 {
  margin: 1rem 0 2rem 0;
  line-height: 1.3rem;
  font-size: 1rem;
}
dl.mailform .address li {
  margin-top: 1rem;
}
dl.mailform .adrs {
  font-size: 1.3rem;
  line-height: 1.5rem;
  font-weight: bold;
}
dl.mailform .address li input {
  margin-top: 0.5rem;
}
#contactform .cautionRd {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #E44665;
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: 500;
}
#contactform .cautionRd + .caution {
  margin-top: 0;
}
dl.mailform dd .dliv {
  display: flex;
}
dl.mailform dd .dliv li {
  border-radius: 5px;
  line-height: 3rem;
}
dl.mailform dd .address02 {
  border-top: 1px #ccc dashed;
  margin-top: 2rem;
  padding-top: 2rem;
}
dl.mailform dd .dliv li + li {
  margin-left: 2rem;
}
#mailformpro .dliv li input[type="radio"] {
  vertical-align: middle;
}
#contactform .cautionRd + .mailform {
  margin-top: 1rem;
}
#contactform .boxCaution {
  margin-top: 3rem;
  padding: 2.5rem 2.5rem 3rem 2.5rem;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}
#contactform .boxCaution + .boxCaution {
  margin-top: 2.5rem;
}
.saison_text {
    font-size: 1.5rem;
    border: 1px solid;
    padding: 10px;
    margin-top: 10px;
}
.appTitle02 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-size: 3rem;
  line-height: 4rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px #0B308E solid;
}
.cftitle {
  position: relative;
  font-size: 2.2rem;
  font-weight: bold;
  color: #0B308E;
  line-height: 1.6rem;
}
.cftitle .must {
  margin-left: 1rem;
}
.teikei {
    width: 1020px !important;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    width: 70%;
    margin: 2rem auto;
}
.call {
    /*width: 70%;*/
    width: 1020px !important;
    margin: 0 auto;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
  }
#contactform .txtKakunin {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}
#contactform .txtKakunin p, #contactform .txtKakunin ul {
  position: relative;
  padding-left: 2rem;
}
#contactform .txtKakunin p span {
  position: absolute;
  left: 0;
  top: 0;
}

#contactform .txtKakunin .tableArea {
  padding: 2rem;
}
#contactform .txtKakunin .tableArea td {
  padding: 1rem;
  font-size: 1.6rem;
}
#contactform input[name="confirm1"], #contactform input[name="highSpeed"], #contactform input[name="confirm2"] {
  transform: scale(1.5);
}
#contactform .checkbox {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: bold;
  color: #E44665;
}
#mailformpro .checkbox input[type="checkbox"] {
  vertical-align: middle;
}
#contactform .cflink {
  margin: 3.5rem 0 3rem 0;
  font-size: 2rem;
  line-height: 3rem;
  color: #0091D7;
}
#contactform .cflink li a {
  color: #0091D7;
  font-weight: 500;
}
#contactform .imageArea {
  display: flex;
  margin-top: 2rem;
}
#contactform .imageArea img {
  width: 400px;
  margin-left: 1rem;
}
#contactform .textArea1 {
  margin-top: 2rem;
  font-size: 1.7rem;
  line-height: 2.5rem;
}
#contactform .highChui {
  background: red;
  width: 100%;
  color: white;
  text-align: center;
  height: 3rem;
  padding-top: 1rem;
  font-size: 2rem;
  margin-top: 2rem;
  font-weight: bold;
}
#contactform .highText {
  color: red;
  font-size: 1.8rem;
  margin-top: 1.5rem;
  line-height: 2rem;
  font-weight: bold;
}
dl.mailform dd .colg + .colg {
  margin-top: 1.2rem;
}
dl.mailform dd .colg {
  display: flex;
  flex-flow: row wrap;
}
dl.mailform dd .colg .icon {
  position: relative;
  width: 55px;
  padding-top: 1rem;
}
dl.mailform dd .colg .icon08 {
  position: relative;
  width: 55px;
  padding-top: 0.8rem;
}
.position_a{
  top: 5.5rem;
  left: -54px;
}
.position_b{
  left: -54px;
    top: -2px;
}
.position_c{
  left: -55px;
    top: -12px;
}
dl.mailform dd .colg .icon .must {
  position: absolute;
  top: 1rem;
}
dl.mailform dd .colg .icon .must13 {
  position: absolute;
  top: 1.3rem;
}
dl.mailform dd .colg .icon .must17 {
  position: absolute;
  top: 1.6rem;
}
dl.mailform dd .colg .icon .must2 {
  position: absolute;
  top: 2rem;
}
dl.mailform dd .colg .icon .must3 {
  position: absolute;
  top: 3rem;
}
dl.mailform dd .colg .icon .must04 {
  position: absolute;
  top: 0.4rem;
}
dl.mailform dd .colg .inputform {
  width: calc(100% - 55px);
  font-size: 1.6rem;
  font-weight: 500;
  position: relative;
}
dl.mailform dd .colg p + p, dl.mailform dd .colg ul + p {
  margin-top: 1.5rem;
}
.inputform .ltitle {
  margin-right: 1rem;
  display: inline-block;
  width: 100px;
  text-align: right;
}
.inputform .ltitle2 {
  margin-right: 1rem;
  display: inline-block;
  width: 150px;
  text-align: right;
}
.confirm {
  margin-top: 2.5rem;
}
.disnon {
  display: none;
}
.confirm .tab {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px #2E6FB2 solid;
}
.confirm .tab li {
  width: 49.4%;
  display: block;
  height: 48px;
  line-height: 4.8rem;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  background-color: #E6E6E6;
  color: #fff;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.confirm .tab li:hover {
  background-color: #ccc;
}
.confirm .tab li.selected {
  background-color: #2E6FB2;
}
.boxContent .tabContent {
  padding-top: 3rem;
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.tabContent .flx, .tabContent .flx2 {
  display: flex;
  justify-content: space-between;
}
.tabContent .flx table {
  width: 49%;
}
.tableStyle01 th, .tableStyle01 td {
  border: 1px #E6E6E6 solid;
  padding: 2rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
}
.tableStyle01 th {
  font-weight: bold;
  background-color: #EEF4F8;
}
.tabContent .flx2 {
  margin: 0 auto;
  width: 777px;
  margin-right: 0;
}
.tabContent .flx2 .lft {
  width: 31.6%;
}
.tabContent .flx2 .rt {
  width: 66.17%;
}
.tableStyle02 {
  width: 100%;
}
.tableStyle02 .tbTitle {
  padding: 1.5rem;
  background-color: #EEF4F8;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2rem;
  text-align: center;
}
.tableStyle02 th, .tableStyle02 td {
  padding: 1.5rem 2rem;
  border: 1px #E6E6E6 solid;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
}
.tableStyle02 th {
  font-weight: bold;
  background-color: #EEF4F8;
}
.bottom_table th {
  font-weight: bold;
  background-color: none!important;
}
.tableStyle02 .yen {
  text-align: right;
}
.tableStyle02 .tbTitle02 {
  /*background-color: #f2f2f2;*/
}
.tableStyle02 .tbprice {
  text-align: right;
  color: #0091D7;
  font-weight: bold;
  font-size: 2.3rem;
}
.tableStyle02 .tbprice span {
  font-size: 1.8rem;
}
.tableStyle03 {
  width: 100%;
}
.tableStyle03 .tbTitle {
  padding: 1.5rem;
  background-color: #EEF4F8;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2rem;
  text-align: center;
}
.tableStyle03 th, .tableStyle03 td {
  padding: 1.5rem 2rem;
  border: 1px #E6E6E6 solid;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
}
.tableStyle03 th {
  font-weight: bold;
}

.tableStyle03 .yen {
  text-align: right;
}
.tableStyle02 .tbTitle02 {
  /*background-color: #f2f2f2;*/
}
.tableStyle03 .tbprice {
  text-align: right;
  color: #0091D7;
  font-weight: bold;
  font-size: 2.3rem;
}
.tableStyle03 .tbprice span {
  font-size: 1.8rem;
}
.table_content {
  margin-top: 3rem;
}
.table_content p {
  margin: 0 auto;
  font-size: 1.5rem;
  margin-top: 2rem;
}
.titlethanks {
  margin-top: 5rem;
  text-align: center;
  font-size: 4rem;
  line-height: 5rem;
  font-weight: bold;
}
.thanks {
  margin-top: 3rem;
  text-align: center;
}
.go_top {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.go_top a {
  height: 3rem;
    width: 13rem;
    /* margin-top: 1rem; */
    font-size: 1.5rem;
    text-decoration: none;
    text-align: center;
    background: #f8f8f8;
    /* background: red; */
    margin: 0 auto;
    color: black;
    border: 1px splid black;
    display: block;
    border: 1px solid;
    padding-top: 1.3rem;
}
.thanks .orderno dl {
  display: flex;
  justify-content: center;
}
.thanks .orderno dt {
  font-size: 1.8rem;
  color: #fff;
  padding: 0.2rem 1.5rem 0 1.5rem;
  line-height: 2.7rem;
  font-weight: bold;
  background-color: #333333;
}
.thanks .orderno dd {
  border: 2px #333 solid;
  width: 180px;
  line-height: 2.7rem;
  font-size: 1.6rem;
}
.thanks .icon {
  margin: 3rem auto 0 auto;
  width: 66px;
  height: auto;
}
.thanks .txt {
  margin-top: 2rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
}
.thanks .txt p + p {
  margin-top: 3rem;
}
#mv .mv {
  margin: 0 auto;
  width: 1020px;
}
#reci {
  margin-top: 7rem;
}
#reci .title {
  font-size: 5.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: -1px;
}
#reci .flx + .title {
  margin-top: 6rem;
}
#reci .flx {
  margin: 3rem auto 0 auto;
  display: flex;
  justify-content: space-between;
  width: 650px;
}
#reci .flx .img {
  width: 43.65%;
}
#reci .flx .txtArea {
  width: 66.4%;
  font-size: 1.9rem;
  line-height: 2.4rem;
  font-weight: 500;
  margin-left: 2rem;
}
#reci .delivDetail {
  margin: 1.5rem 0 1rem 0;
  width: 100%;
}
#reci .delivDetail th, #reci .delivDetail td {
  border: 1.5px #bbb solid;
  padding: 1.3rem 0;
  font-size: 1.7rem;
  font-weight: 500;
}
#reci .delivDetail th {
  background-color: #BDD1DD;
  color: #fff;
  text-align: center;
  width: 140px;
}
#reci .delivDetail td {
  padding-left: 2rem;
  padding-right: 2rem;
}
#reci .flx .note {
  font-size: 1.3rem;
  line-height: 2.3rem;
}
#reci .btnApplynow {
  margin-top: 4rem;
}
#campaign {
  margin-top: 6rem;
}
#campaign .title {
  font-size: 5.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: -1px;
}
#campaign .bnr {
  margin-top: 2rem;
  width: 750px;
}
#campaign .bnr img, #campaign .bnr3 img {
  width: 1024px;
  max-width: 125%;
}
#campaign .bnr2 {
  margin: 3rem auto 0;
  width: 150px;
}
#campaign .bnr3 {
  margin-top: 2rem;
  width: 750px;
}
#campaign .bnr p {
  margin-top: 1rem;
  font-size: 1.3rem;
  font-weight: bold;
}
#campaign .inner {
  margin: 0 auto;
  width: 790px;
}
.camTitle {
  margin-top: 7rem;
  font-size: 3.6rem;
  line-height: 5rem;
  text-align: center;
  color: #11327F;
  border-bottom: 1px #11327F solid;
  font-weight: bold;
  letter-spacing: -1px;
}
.camTitle span {
  margin-left: 0.5rem;
  color: #D64561;
  font-size: 5rem;
}
#campaign .inner .txt {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}
#campaign .btnApplynow.btn01 {
  margin-top: 2.5rem;
}
#campaign .btnApplynow.btn02 {
  margin-top: 4rem;
}
#campaign .btnApplynow.btn03 {
  margin-top: 3.5rem;
}
#campaign .imgGakuwari {
  margin-top: 3rem;
}
#campaign .taisho {
  margin-top: 2.5rem;
}
#campaign .taisho dl {
  font-size: 1.6rem;
  line-height: 2.2rem;
  font-weight: bold;
}
#campaign .taisho p {
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 2rem;
}
#campaign .asisBox {
  margin: 3rem auto 0 auto;
  display: flex;
  justify-content: space-between;
  width: 730px;
}
#campaign .asisTitle {
  margin: 0 auto 2rem auto;
  font-size: 3.4rem;
  line-height: 4rem;
  font-weight: bold;
  text-align: center;
}
#campaign .asisTitle span {
  background: linear-gradient(transparent 60%, #FFFF00 20%, transparent 90%);
}
#campaign .asisImg {
  width: 200px;
}
#campaign .kaiyaku_illust {
  width: 130px !important;
}
#campaign .asisBox .txt {
  margin-top: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8rem;
  color: #333;
}
#campaign .asisBox .txt .red {
  display: block;
  margin-top: 1.5rem;
  font-size: 3.7rem;
  font-weight: bolder;
  color: #E44665;
}
#campaign .kyakuTitle {
  margin-top: 4rem;
  text-align: center;
  line-height: 4rem;
  background-color: #11327F;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  border-radius: 20px;
}
#campaign .imgKeiyaku {
  margin-top: 3rem;
}
#area .mainTitle {
  margin-top: 6rem;
}
#area .areaSearch {
  margin: 2rem auto 0 auto;
  width: 725px;
  height: 75vh;
}
#area #areaSearch {
  width: 100%;
  height: 75vh;
  border: 1px solid black;
}
#area .areaQ, #area .cancel {
  margin-left: auto;
  margin-right: auto;
  width: 720px;
}
#area .areaQ {
  margin-top: 16rem;
}
#area .areaQ dl dt {
  padding: 0.5rem 0 0.5rem 5rem;
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: bold;
  background: url("/images/sub/ico-q.png") no-repeat left center;
  -webkit-background-size: 38px auto;
  background-size: 38px auto;
  letter-spacing: -1px;
}
#area .areaQ dl dd {
  padding: 0.5rem 0 0.5rem 5rem;
  margin-top: 1rem;
  font-size: 2.6rem;
  font-weight: bold;
  color: #E44665;
  background: url("/images/sub/ico-a.png") no-repeat left center;
  -webkit-background-size: 38px auto;
  background-size: 38px auto;
  letter-spacing: -1px;
}
#area .areaQ .txt {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
}
#area .cancel {
  margin-top: 3.5rem;
}
#area .cancel dl dt {
  padding-left: 1rem;
  font-size: 2.2rem;
  font-weight: bold;
  border-left: 3px #0091D7 solid;
}
#area .cancel dl dd + dt {
  margin-top: 3.5rem;
}
#area .cancel dl dd {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  line-height: 2.2rem;
}
#area .cancel dl dd .call {
  font-size: 1.6rem;
  line-height: 2.4rem;
}
#area .cancel dl dd .telno {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4.3rem;
}
#area .cancel dl dd .telno span {
  font-size: 4.3rem;
}
#area .cancel dl dd ol > li + li {
  margin-top: 3rem;
}
#area .cancel dl dd ol > li {
  position: relative;
  padding-left: 1.5rem;
}
#area .cancel dl dd ol > li span {
  position: absolute;
  left: 0;
  top: 0;
}
#area .btnApplynow {
  margin-top: 4rem;
}
#area .area_check_p {
  margin-top: 2rem;
  font-size: 2.5rem;
  text-align: center;
  width: 100%;
}
#scene .mainTitle {
  margin-top: 4rem;
}
#scene .boxScene {
  display: flex;
  justify-content: space-between;
  margin: 2rem auto 0 auto;
  padding: 2rem;
  width: 750px;
  box-sizing: border-box;
  background-color: #F0F5F5;
  border-radius: 10px;
}
#scene .boxScene figure {
  width: 38%;
  height: auto;
}
#scene .boxScene .txtArea {
  width: 58.5%;
}
.boxScene .txtArea .title {
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 4.5rem;
  border-bottom: 1px #0091D7 solid;
  letter-spacing: -1px;
}
.boxScene .txtArea .txt {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 2.1rem;
}
.boxScene .txtArea .txt .small {
  font-size: 1.2rem;
  line-height: 1.6rem;
}
#scene .btnApplynow {
  margin-top: 3rem;
}
#scene .tokuten {
  margin: 4rem auto 0 auto;
  width: 735px;
}
.headrMv {
  margin-left: auto;
  margin-right: auto;
  height: 175px;
  width: 1020px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.headrMv.faq {
  background: url("/images/sub/bg-faqtitle.png") no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.faqTitle {
  margin-top: 6rem;
  text-align: center;
  font-size: 3.8rem;
  line-height: 4rem;
  font-weight: bold;
  color: #0B308E;
  letter-spacing: -1px;
}
.faqTitle span {
  background: linear-gradient(transparent 60%, #FFFF00 60%, transparent 95%);
}
.faqList {
  margin-top: 1rem;
}
.faqList dt {
  position: relative;
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: bold;
  border: 1px #E6E6E6 solid;
  background: url("/images/sub/ico_faq_q.png") no-repeat 1rem 0.8rem;
  -webkit-background-size: 45px auto;
  background-size: 45px auto;
  cursor: pointer;
  letter-spacing: -1px;
  margin-bottom: 10px;
  padding: 1.5rem 0 1.5rem 6rem;
  border-radius: 20px;
  background-color: #FFFFFF;;
}
.faqList dd {
  display: none;
  margin: 1.5rem 0rem 0rem 1rem;
  padding: 0 0 2.5rem 6rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
  background: url("/images/sub/ico_faq_a.png") no-repeat left 0;
  background-size: 45px auto;
}
.faqList.active dd {
  display: block;
}
.faqList dt .caret {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto 0 auto;
  display: block;
  width: 27px;
  height: 27px;
}
.faqList dt .caret:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 27px;
  height: 2px;
  border-radius: 1px;
  background-color: #0B308E;
  transition: .2s;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.faqList dt .caret:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 27px;
  height: 2px;
  border-radius: 1px;
  background-color: #0B308E;
  transition: .2s;
}
.faqList dt.open .caret:before {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: .2s;
}
.faqList dt.open .caret:after {
  background-color: transparent;
  transition: .2s;
}
.faqList video {
  border: 5px solid #666;
  border-radius: 3px;
}
.faqList .title_with_blue {
  margin: 1rem auto;
  width: 850px;
  text-align: center;
  background: #263f87;
  color: #fff;
  padding: 1rem;
  font-size: 2.6rem;
  font-weight: 700;
}
.faqList .title_with_yel {
  margin: 3rem auto 1rem;
  /*width: 300px;*/
  /*text-align: center;*/
  background: #6c4b29;
  color: #fff;
  padding: 1rem;
  font-size: 2.6rem;
  font-weight: 700;
}
.faqList .title_with_yel_p {
  margin: 3rem auto 1rem;
  /*width: 300px;*/
  /*text-align: center;*/
  background: #EC008C;
  color: #fff;
  padding: 1rem;
  font-size: 2.6rem;
  font-weight: 700;
}
.faqList .title_blue {
  margin: 2rem 0;
  color: #283d86;
  font-size: 2.6rem;
  font-weight: 700;
}
.faqList table.deliver {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.faqList table.deliver th {
  background: #dfebf9;
  padding: 0.5rem 0;
  border-right: 1px solid #262626;
  border-top: 1px solid #262626;
  border-bottom: 1px solid #262626;
}
.faqList table.deliver th:first-child {
  border-left: 1px solid #262626;
}
.faqList table.deliver td {
  border-right: 1px solid #262626;
  border-bottom: 1px solid #262626;
}
.faqList table.deliver td:first-child {
  border-left: 1px solid #262626;
}
.faqList table.return {
  width: 50%;
  border: 1px solid #448dcb;
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 10px;
  border-radius: 12px;
}
.faqList table.return .title_return {
  background: #448dcb;
  color: #fff;
  font-weight: 700;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  text-align: center;
  line-height: 4rem;
}
.faqList table.return .title2_return {
  font-weight: 700;
  padding-top: 1rem;
  padding-left: 1rem;
}
.faqList table.return .title2_return {
  font-weight: 700;
  padding-left: 1rem;
}
.faqList table.return .content_return {
  padding-left: 2rem;
  padding-bottom: 1rem;
  font-size: 1.4rem;
}
.faqList table.notice th {
  background: #448dcb;
  border: 1px solid #000;
}
.faqList table.notice .leftPart {
  vertical-align: top;
  padding-left: 0.5rem;
}
.faqList table.notice .rightPart {
  padding-left: 0.5rem;
}
.faqList table.initial_fail {
}
.faqList table.initial_fail th {
  background: #448dcb;
  padding: 0.5rem 0;
  border: 1px solid #000;
}
.faqList table.initial_fail .leftPart {
  width: 30%;
  padding-left: 0.5rem;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.faqList table.initial_fail .rightPart {
  padding-left: 0.5rem;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
}
.category {
  margin: 2.5rem 0 7.5rem 0;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}
.category li {
  border: 1px #E6E6E6 solid;
  border-radius: 10px;
  text-align: center;
  width: 257px;
  height: 257px;
  cursor: pointer;
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.category li:hover {
  opacity: 0.7;
}
.category li + li {
  margin-left: 2rem;
}
.category li + li:nth-child(3n+1) {
  margin-left: 0;
}
.category li + li:nth-child(n+4) {
  margin-top: 2rem;
}
.category li a {
  text-decoration: none;
  color: #333333;
}
.category li .icon {
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.category li .txt {
  font-size: 2.1rem;
  line-height: 2.5rem;
  font-weight: bold;
}
.category li .icon.about img {
  width: 58px;
  height: auto;
}
.category li .icon.plan img {
  width: 87px;
  height: auto;
}
.category li .icon.keiyaku img {
  width: 81px;
  height: auto;
}
.category li .icon.area img {
  width: 104px;
  height: auto;
}
.category li .icon.device img {
  width: 108px;
  height: auto;
}
.category li .icon.delivery img {
  width: 123px;
  height: auto;
}
#faq .faq_ip_image {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
#faq .ip_table {
  margin-bottom: 3rem;
}
#faq .ip_table .leftPart {
  background: #D3DEF1;
  text-align: center;
}
#faq .faq_ip_image img {
  width: 50%;
}
#faq .ftitle {
  margin-top: 5.5rem;
  font-size: 4rem;
  font-weight: bold;
  line-height: 8rem;
  padding-left: 8rem;
  color: #fff;
  letter-spacing: -1px;
}
#faq .faq_high_image {
  width: 40%;
  margin: 1rem 0;
}
#faq .faq_high_text {
  margin: 3rem 0 1rem 0;
}
#faq .home02_change {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
}
#faq .fs_chui {
  font-size: 1.3rem;
}
 .chutext {
  font-size: 1.5rem;
    margin-top: 2rem;
    font-weight: bold;
}
#faq .bunner {
  margin: 1rem auto;
    font-size: 1.8rem;
    background: brown;
    color: white;
    padding: 0.5rem;
}
#faq .image_faq {
  margin: 1rem auto;
}
#faq .sub_t {
  margin: 1rem auto;
    font-size: 2rem;
    font-weight: bold;
    color: #35357D;
}
#faq .imageArea {
  display: flex;
    margin: 2rem auto;
}
#faq .imageArea img {
  margin-right: 1rem;
  margin-right: 1rem;
    /*width: 400px;*/
}
#faq #about.ftitle {
  background: url("/images/sub/bg_faq_about.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#faq #plan.ftitle {
  background: url("/images/sub/bg_faq_plan.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#faq #keiyaku.ftitle {
  background: url("/images/sub/bg_faq_keiyaku.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#faq #area.ftitle {
  background: url("/images/sub/bg_faq_area.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#faq #device.ftitle {
  background: url("/images/sub/bg_faq_dev.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
#faq #delivery.ftitle {
  background: url("/images/sub/bg_faq_deliv.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
.faqList dd .small {
  font-size: 1.3rem;
  line-height: 2rem;
}
.faqList dd a {
  color: #1888C8;
}
.busiTOP {
  position: relative;
  height: 366px;
  background: url("/images/sub/PC_houjin_TOP.png") no-repeat left top;
  -webkit-background-size: cover;
  background-size: cover;
}
.busiTOP .btnContact {
  position: absolute;
  left: 3rem;
  bottom: 3rem;
  width: 422px;
}
.busiTOP .btnContact a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}
.busiTOP .btnContact a:hover {
  opacity: 0.7;
}
#business .mainTitle {
  margin: 5rem 0 3rem 0;
}
.mainTitle .small {
  font-size: 3rem;
}
.mainTitle .marker {
  background: linear-gradient(transparent 60%, #FFFF00 60%, transparent 95%);
}
#business .flx {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
#business .flx > dl, #business .flx > div {
  width: 49%;
}
#business .title {
  margin-top: 6rem;
  margin-bottom: 2rem;
  font-size: 3.4rem;
  line-height: 4.2rem;
  font-weight: bold;
  letter-spacing: -1px;
  text-align: center;
  border-bottom: 1px #2E6FC3 solid;
}
.flx .reason {
  padding: 1.5rem;
  border: 2px #2E6FC3 solid;
  border-radius: 15px;
  box-sizing: border-box;
}
.flx .reason dt {
  padding-bottom: 1rem;
  text-align: center;
  font-weight: bold;
  font-size: 3.4rem;
  letter-spacing: -1px;
  border-bottom: 1px #2E6FC3 dotted;
  color: #2E6FC3;
}
.flx .reason dd {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.5rem;
}
.flx .reason dd .red {
  color: #E44665;
  font-weight: bold;
}
.flx .reason dd .img {
  margin-top: 1rem;
}
#business .lead {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 3.8rem;
  text-align: center;
  color: #2E6FC3;
  letter-spacing: -1px;
}
#business .lead .red {
  color: #E44665;
}
#business .lead02 {
  margin-bottom: 2.2rem;
  font-size: 2rem;
  line-height: 2.5rem;
  letter-spacing: -1px;
  text-align: center;
  font-weight: 500;
}
#business .flx .id {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  padding-left: 2.4rem;
  background-color: #F5F5F5;
  border-left: 5px #2E6FC3 solid;
  position: relative;
  height: 55px;
  box-sizing: border-box;
}
#business .flx .id .txt {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -1px;
}
#business .flx .id .txt sup {
  font-size: 1.5rem;
}
#business .flx .id .small {
  margin-left: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
}
#business .flx .id .dl {
  position: absolute;
  right: 1.5rem;
}
#business .flx .id .dl a {
  color: #2E6FC3;
  font-size: 1.6rem;
  font-weight: 500;
}
#business .flx .info {
  display: flex;
  align-items: center;
  border-left: 5px #F7931E solid;
  background-color: #FCF8E8;
  box-sizing: border-box;
}
#business .flx .info dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85px;
  height: 83px;
}
#business .flx .info dt .fax {
  width: 67px;
  height: auto;
}
#business .flx .info dt .mail {
  width: 41px;
  height: auto;
}
#business .flx .info dd {
  width: calc(100%-85px);
  font-size: 1.5rem;
  line-height: 2.1rem;
  font-weight: 500;
}
#business .flx .info dt img {
  width: 67px;
  height: auto;
}
#business .note {
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 1.4rem;
}
#business .note span {
  padding-right: 0.5rem;
}
#business .imgContact {
  margin: 0 auto;
  width: 723px;
}
.mv + #deviceList {
  margin-top: 3.5rem;
}
.devicebox .btnArea {
  margin-top: 2rem;
  display: block;
}
.devicebox .btnArea li {
  width: auto;
}
.devicebox .btnArea li + li {
  margin: 0.7rem 0 0 0;
}
.devicebox .btnArea li a {
  width: 270px;
  margin: 0 auto;
}
#deviceDetail {
  margin-top: 4rem;
}
#deviceDetail .specTitle {
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  color: #0B308E;
  letter-spacing: -1px;
}
#deviceDetail .specSubTitle {
    font-size: 2rem;
    font-weight: bold;
    color: #5096C9;
}
#deviceDetail .specTable {
  margin: 0 auto;
  width: 850px;
}
.specTable th, .specTable td {
  padding: 1.5rem 2rem;
  border: 1px #E6E6E6 solid;
  font-size: 1.2rem;
  line-height: 2rem;
  font-weight: 500;
}
.specTable th {
  background-color: #F0F5F5;
  white-space: nowrap;
}
.specTable td .large {
  font-size: 1.3rem;
}
.specTable th sup {
  font-size: 1rem;
  vertical-align: top;
}
#deviceDetail .specInfo {
  margin: 5rem auto 0 auto;
  width: 640px;
}
#deviceDetail .specInfo_dev {
  margin: 2rem auto 0 auto;
  width: 850px;
  display: flex;
  justify-content: space-between;
}
#deviceDetail .specInfo_dev .spec_left{
  width: 50%;
}
#deviceDetail .specInfo div + .title {
  margin-top: 5rem;
}
#deviceDetail .specInfo .title, #deviceDetail .specInfo_dev .title {
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 3.1rem;
  border-left: 3px #0B308E solid;
}
#deviceDetail .specInfo .flx {
  display: flex;
  justify-content: space-between;
}
#deviceDetail .device_text {
  font-size: 1.3rem;
  margin: 2rem auto;
  width: 850px;
}
#deviceDetail .leftcell {
  vertical-align: baseline;
}
.specInfo .flx.spexwx06 .txtArea {
  position: relative;
  width: 50%;
  font-size: 1.4rem;
  line-height: 2.3rem;
  font-weight: 500;
}
.specInfo .flx.spexwx06 .txtArea .txtBtm, .specInfo .flx.spechome02 .txtArea .txtBtm {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.1rem;
  line-height: 1.6rem;
}
.specInfo .flx.spexwx06 .img {
  width: 48.75%;
}
#deviceDetail .specInfo .small {
  font-size: 1.1rem;
  line-height: 1.6rem;
}
.specInfo .specw06 .txtArea {
  font-size: 1.4rem;
  line-height: 2.2rem;
  font-weight: 500;
  margin-top: 1.5rem;
}
.specInfo .specw06 .txtArea sup {
  font-size: 1rem;
  vertical-align: super;
}
.specInfo .specw06 .img {
  margin-top: 2rem;
}
#deviceDetail .note {
  margin-top: 4rem;
  font-size: 1.1rem;
  line-height: 1.6rem;
  font-weight: 500;
}
.specInfo .flx.spechome02 .txtArea, .specInfo .flx.spechomel02 .txtArea {
  position: relative;
  font-size: 1.4rem;
  line-height: 2.3rem;
  font-weight: 500;
  width: 52.5%;
}
.specInfo .txtHomel {
  font-size: 1.4rem;
  line-height: 2.3rem;
  font-weight: 500;
}
.specInfo .flx.spechome02 .txtArea sup, .specInfo .txtHomel sup {
  vertical-align: top;
  font-size: 1rem;
}
.specInfo .flx.spechome02 .img {
  width: 43.1%;
}
.specInfo .flx.spechomel02 .img {
  width: 37.9%;
}
.specTable th:empty, .specTable td:empty {
  background-color: transparent;
  border: none;
}
#deviceDetail .specInfo .title sup {
  vertical-align: text-top;
  font-size: 1.5rem;
}
.planShousai .pname {
  /*margin-bottom: 1.5rem;*/
  width: auto;
  border: 2px solid #0B308E;
  height: 243px;
}
.planShousai .pname_5g {
  /*margin-bottom: 1.5rem;*/
  width: auto;
  border: 2px solid #D11B91;
  height: 243px;
}
.planShousai .planInner {
  height: 50px;
  color: #fff;
  position: relative;
}
.planShousai .planInner, .planInner .planpr {
  display: flex;
}
.planShousai .planInner {
  justify-content: center;
  align-items: center;
}
.plan1 {
  background-color: #0B308E;
  position: relative;
}
.plan1_5g {
  background-color: #D11B91;
  position: relative;
}
.plan1 .label {
  color: #0B308E;
}
.plan1_5g .label {
  color: #D11B91;
}
.plan1:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #0B308E;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan1_5g:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #D11B91;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan2 {
  background-color: #2D62AF;
}
.plan2_5g {
  background-color: #D7359D;
  position: relative;
}
.plan2:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #2D62AF;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan2_5g:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #D7359D;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan2 .label {
  color: #2D62AF;
}
.plan2_5g .label {
  color: #D7359D;
}
.plan3 {
  background-color: #4F94CF;
}
.plan3_5g {
  background-color: #DE55A7;
  position: relative;
}
.plan3:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #4F94CF;
  /*border-top: 7px solid #4F94CF;*/
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan3_5g:after {
  position: absolute;
  top: 100%;
  left: 50%;
  right: 50%;
  margin-left: -7px;
  content: "";
  border-top: 7px solid #DE55A7;
  /*border-top: 7px solid #4F94CF;*/
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  z-index: 2;
}
.plan3 .label {
  color: #4F94CF;
}
.plan3_5g .label {
  color: #DE55A7;
}
.plan4 {
  background-color: #999999;
}
.plan4 .label {
  color: #999999;
}
.plan4_5g .label {
  color: #E46EB3;
}
.plan4_5g {
  background-color: #E46EB3;
  position: relative;
}
.plan5 {
  background-color: #B3B3B3;
  border-radius: 0 0 8px 8px;
}
.plan5 .label {
  color: #B3B3B3;
}
.plan5_5g .label {
  color: #EA8BBE;
}
.plan5_5g {
  background-color: #EA8BBE;
  position: relative;
}
.planShousai .pname img {
  display: block;
  margin: 0 auto;
  height: 100%;
  width: 100%;
}
.planShousai .waku {
  border: 1px #fff solid;
  width: 70px;
  height: 40px;
  border-radius: 5px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.planShousai .month1 {
  font-size: 1.4rem;
  font-weight: bold;
}
.planShousai .month2 {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.6rem;
}
.planShousai .month2 .num {
  font-size: 1.4rem;
}
.planShousai .label {
  margin: 0 0.4rem;
  background-color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 17px;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 1px;
}
.planShousai .planpr .pr {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: -1px;
  width: 70px;
  text-align: right;
}
.planShousai .planpr .tax {
  margin-left: 0.6rem;
  text-align: center;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.planShousai .planpr .tax .yen {
  font-size: 1.2rem;
  font-weight: bold;
}
.planShousai .planpr .tax .small {
  font-size: 1.5rem;
  margin-bottom: -0.8rem;
}

.cInformation{
  border:1px solid #f00;
  background:#fee;
  font-size:20px;
  text-align:left;
  padding:.5em;
  line-height:1.4;
}
.cInformation > p:before{
  content:'※';
}
/*お客様情報追加テキスト*/
.app_pre {
    margin: 0 5rem;
}
.app_pre_txt {
    border: 1px solid red;
    padding: 1.2rem;
    line-height: 2rem;
}
.icon_new {
    display: none;
}
#loader-bg {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: rgba(0,0,0,0.7);
    z-index: 9999999;
}
#loading{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    color: #fff;
    text-align: center;
}
#three_d_bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: rgba(0,0,0,0.7);
  z-index: 9999999;
}
.three_d_content{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  color: #fff;
  text-align: center;
}
.three_dscontainer {
  height: 50%;
}

input[name="email"] {
  width: 90% !important;
}

.top_trial {
  position: relative;
  width: 1020px;
  height: 440px;
  /*background-image:url(/images/image_movie_pc);*/
  /*background-repeat: no-repeat;*/
}
.top_trial2 {
  position: relative;
  width: 235px;
  height: 101px;
}
.top_movie {
  z-index: 999;
  width: 640px;
  margin: 0 auto;
  border: 2px solid #262626;
  border-radius: 1px;
}


/* 問い合わせページ */

#contact-main{
  margin-top: 150px;
  width: 100%;
}

#contact-main .contact-wrapper{
  width: 60%;
  margin: 0 auto;
}

#contact-main .contact-nav-image{
  width: 100%;
  margin-top: 180px;
  text-align: center;
}

#contact-main .contact-nav-image source,#contact-main .contact-nav-image img{
  width: 100%;
}

#contact-main .contact-page-title{
  text-align: center;
  margin-top: 50px;
}

#contact-main .contact-page-title h1{
  font-size: 50px;
  font-weight: bold;
}

#contact-main .contact-page-form{
  margin-top: 30px;
}

#contact-main dl.contact-page-form-dl{
  border: 2px solid #E6E6E6;
}

#contact-main .contact-page-form .contact-page-form-other-dt{
  float: left;
  width: 35%;
  clear: both;
  font-size: 16px;
  font-weight: bold;
  line-height: 90px;
  vertical-align: middle;
  border-top: 1px solid #E6E6E6;
  background-color: #EAF3F8;
}

#contact-main .contact-page-form .contact-page-form-remarks-dt{
  float: left;
  width: 35%;
  height: 200px;
  clear: both;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  vertical-align: middle;
  border-top: 1px solid #E6E6E6;
  background-color: #EAF3F8;
  padding-top: 20px;
}

#contact-main .contact-page-form .contact-page-form-remarks-dt p{
  font-size: 14px;
  margin-top: 5px;
  margin-right: 20px;
  margin-left: 20px;
}

#contact-main .contact-page-form .contact-page-form-required{
  font-size: 14px;
  color: white;
  background-color: #E34564;
  border-radius: 3px;
  margin-right: 7px;
  margin-left: 20px;
  padding: 1px 3px;
}

#contact-main .contact-page-form .contact-page-form-optional{
  font-size: 14px;
  color: white;
  background-color: black;
  border-radius: 3px;
  margin-right: 10px;
  margin-left: 20px;
  padding: 1px 3px;
}


#contact-main .contact-page-form .contact-page-form-other-dd{
  float: left;
  width: 65%;
  font-size: 14px;
  color: #333;
  font-weight: bold;
  line-height: 90px;
  vertical-align: middle;
  border-top: 1px solid #E6E6E6;
}

#contact-main .contact-page-form .contact-page-form-other-dd.capcha{
  padding: 8px 0 0 0;
}

#contact-main .contact-page-form .contact-page-form-remarks-dd{
  float: left;
  width: 65%;
  font-size: 14px;
  color: #333;
  font-weight: bold;
  vertical-align: middle;
  border-top: 1px solid #E6E6E6;
}

#contact-main .contact-page-form dd input{
  background-color: #FFEAEF;
  border-radius: 5px;
  border: 0.5px solid #EEE5E7;
  margin-left: 20px;
  line-height: 35px;
  padding-left: 8px;
}

#contact-main .contact-page-form dd select{
  background-color: #FFEAEF;
  border-radius: 5px;
  border: 0.5px solid #EEE5E7;
  margin-left: 20px;
  height: 35px;
  padding-left: 8px;
  padding-right: 15px;
}

#contact-main .contact-page-form dd textarea{
  background-color: white;
  border-radius: 5px;
  border: 0.5px solid #EEE5E7;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: 20px;
  padding-left: 8px;
}

#contact-main .contact-page-form #contact-page-form-company{
  width: 85%;
}

#contact-main .contact-page-form #contact-page-form-name{
  width: 75%;
}

#contact-main .contact-page-form #contact-page-form-telephone{
  width: 50%;
}

#contact-main .contact-page-form #contact-page-form-mail{
  width: 75%;
}

#contact-main .contact-page-form #contact-page-form-startday{
  width: 50%;
}

#contact-main .contact-page-form input[type="date"]::-webkit-calendar-picker-indicator{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto auto auto 20px;
  padding: 0;
  background: transparent;
  color: transparent;
  cursor: pointer;
  height: 50px;
  width: 120%;
}

#contact-main .contact-page-form label{
  position: relative;
}

#contact-main .contact-page-form label::before{
  background:url('/images/contact/PC_calender.png') no-repeat center center;
  content: "";
  position: absolute;
  top: -17px;
  right: -55px;
  height: 50px;
  width: 50px;
}

#contact-main .contact-page-form #contact-page-form-remarks{
  width: 90%;
}

#contact-main .contact-page-form .contact-page-form-submit-area{
  margin-top: 35px;
  text-align: center;
  margin-bottom: 20px;
}

#contact-main .contact-page-error-area{
    margin-top: 20px;
    padding: 10px;
    border: 1px solid red;
    background-color: #FFEAEF;
}

#contact-main .contact-page-error-message{
    font-size: 20px;
    line-height: 27px;
}



/* 問い合わせ完了ページ */

#contact-done-main{
  margin-top: 150px;
  width: 100%;
}

#contact-done-main .contact-wrapper{
  width: 60%;
  margin: 0 auto;
}

#contact-done-main .contact-nav-image{
  width: 100%;
  margin-top: 180px;
  text-align: center;
}

#contact-done-main .contact-nav-image source,#contact-done-main .contact-nav-image img{
  width: 100%;
}

#contact-done-main .contact-done-page-topimage{
  width: 100%;
  margin-top: 70px;
  text-align: center;
}

#contact-done-main .contact-done-page-message{
  margin-top: 30px;
  margin-bottom: 130px;
  text-align: center;
}

#contact-done-main .contact-done-page-message h1{
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 30px;
}

#contact-done-main .contact-done-page-message p{
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
}

.dataLimits {
  font-weight: bold;
  font-size: 1.5rem;
}
.limitTable {
  font-size: 1.7rem;
  border: 1px solid black;
  margin-bottom: 2rem;
}
#modal02 p {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
#modal02 td {
  padding: 1rem;
}
#modal02 table {
  margin-bottom: 2rem;
}
#modal02 .tableArea {
  border: 1px solid black;
  padding: 2rem;
  position: relative;
}
#modal01 .batsu,
#modal02 .batsu,
#modal03 .batsu,
#modal04 .batsu,
#modal05 .batsu,
#modal06 .batsu,
#modal_devit .batsu{
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 30px;
  font-weight: bold;
  border: 1px solid #999;
  color: #999;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  width: 1.3em;
  line-height: 1.3em;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.batsu{
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 30px;
  font-weight: bold;
  border: 1px solid #999;
  color: #999;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  width: 1.3em;
  line-height: 1.3em;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.batsu:hover {
    background: #0B308E;
    border-color: #0B308E;
    color: white;
}
/*オリンピックに関するテキスト*/
.olym_txt {
    border: 1px solid red;
    padding: 1.6rem;
    font-size: 2rem;
    line-height: 2.6rem;
}
.faqList #modal
.seigenPop {
  font-size: 1.5rem;
}
.clrd {
  color: red;
}
.highSpeedArea, .dataMode {
  padding: 2rem;
}
.fs-min {
  font-size: 1.2rem!important;
}
.highSpeedArea h2, .dataMode h2 {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.mt-2 {
  margin-top: 2rem;
}
.highSpeedArea p, .dataMode p {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}

.graphArea {
  margin-top: 2rem;
}
.graphArea p {
  font-weight: bold;
  font-size: 1.7rem;
  margin-top: 2rem;
}
.seigenChu {
  font-size: 1.2rem;
}
.highSpeedAreaText {
  font-weight: bold;
  font-size: 1.4rem;
  margin-top: 2rem;
}
.dataMode img {
  margin-bottom: 1rem;
}
.bunnerArea .highChui {
  font-weight: bold;
  font-size: 2rem;
}
.bunnerArea img {
  margin-right: 2rem;
}

.defaultSpeed {
  text-align: center;
  font-size: 1rem!important;
  font-weight: bold;
}
.leftLine {
  padding-left: 1rem;
  border-left: 3px #0B308E solid;
}
.highspeedarea_graph {
  margin-top: 2rem;
}
.highspeedarea_graph p {
  margin: 2rem auto;
}
.waribiki {
  /*background-color: rgb(255, 221, 221);*/
  color: red;
}
.coupon {
  width: 40%;
  height: 50px;
  margin: 0 auto;
  font-size: 2rem;
}
.couponCode {
  margin: 5rem auto;
  width: 100%;
  text-align: center;
}

#highSp .highsp_image{
  margin-top: 10px;
}


.gnavi .headMenu ul li .global_pulldown{
  display: none;
  text-decoration: none;
}

.gnavi .headMenu ul li .global_pulldown:hover{
  opacity: 1 !important;
  background-color: #E8F2FA;
}

.global_pulldown_box{
  display: flex;
  flex-direction: row;
  border: 1px #0B308E solid;
  height: 42px;
  padding-top: 5px;
  padding-left: 5px;
}

.global_pulldown_box div{
  width: 20%;
}

.global_pulldown_box picture source,.global_pulldown picture img{
  width: 100%;
  height:auto !important;
}

.global_pulldown_box p{
  color: #0B308E;
  font-size: 12px;
  font-weight: bold;
  margin-top: 6px;
  margin-left: 10px;
  line-height: 13px;
}

#price_5g .title_5g_area{
  text-align: center;
}

#price_5g .title_5g{
  display: inline-block;
  border-bottom: 10px solid #71C6EF;
}

#price_5g .description_5g_area .caution_5g{
  margin-top: 1.5rem;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.8rem;
  text-align: center;
}

#price_5g .graph_A_5g source,#price_5g .graph_A_5g img,#price_5g .graph_B_5g source,#price_5g .graph_B_5g img{
  width: 48%;
}

#price_5g .graph_A_B_5g{
  margin-top: 20px;
}

#price_5g .graph_B_5g source,#price_5g .graph_B_5g img{
  margin-left: 15px;
}

#price_5g .new_plan_area1{
  margin-top: 60px;
}

#price_5g .new_plan_area1 .new_plan_description{
  font-size: 24px;
  font-weight: bold;
  margin-top: 20px;
}

#price_5g .new_plan_area1 .sub_title_area{
  margin-top: 25px;
}

#price_5g .sub_title_area h4{
  font-size: 18px;
  font-weight: bold;
}

#price_5g .sub_title_area h4 span{
  color: #0C308E;
}

#price_5g .new_plan_area1 .sub_title_area p{
  font-size: 12px;
  margin-top: 10px;
  line-height: 17px;
}

#price_5g .new_plan_area1 .graph_C_5g{
  margin-top: 20px;
}

#price_5g .new_plan_area1 .small_caution{
  margin-top: 10px;
  font-size: 11px;
}

#price_5g .new_plan_area2{
  margin-top: 60px;
}

#price_5g .new_plan_area2 .sub_title_area{
  width: 80%;
  margin: 0 auto;
}

#price_5g .new_plan_area2 .sub_title .sub_title_top{
  margin-top: 4rem;
  text-align: center;
  line-height: 4rem;
  background-color: #0191D8;
  color: #fff;
  font-size: 1.9rem;
  font-weight: bold;
  border-radius: 20px;
}

#price_5g .new_plan_area2 .sub_title .sub_title_top2{
  margin-top: 30px !important;
  background-color: #D11C91 !important;
}

#price_5g .new_plan_area2 .sub_title .sub_title_image_area{
  margin-top: 10px;
  margin-bottom: 20px;
}

#price_5g .new_plan_area2 .sub_title .sub_title_image_area .small_caution{
  margin-top: 5px;
  font-size: 11px;
  line-height: 14px;
}

#price_5g .new_plan_area2 .sub_title .sub_title_description{
  font-size: 12px;
  margin-top: 10px;
  line-height: 17px;
}

#price_5g .new_plan_area2 .sub_title .small_caution2{
  margin-top: 10px;
}

#price_5g .new_plan_area1 .sub_title_area{
  margin-top: 25px;
}

#price_5g .new_plan_area2 .square_sub_title .square_sub_title_a{
  font-size: 12px;
  margin-top: 10px;
  line-height: 17px;
}

#price_5g .new_plan_area2 .square_sub_title .small_caution{
  font-size: 11px;
  line-height: 14px;
}

#price_5g .new_plan_area2 .sub_title_image_area2{
  text-align: center;
}

#price_5g .new_plan_area2 .sub_title_image_area2 div{
  margin-top: 10px;
}

#price_5g .new_plan_area2 .sub_title_image_area2 p{
  font-size: 14px;
  color: white;
  background-color: #0C308E;
  margin-top: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
}

#price_5g .new_plan_area2 .pname_5g {
    width: auto;
    border: 2px solid #EC008C;
}

#price_5g .new_plan_area2 .pname {
    text-align: center;
}

#price_5g .new_plan_area2 .planInner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 72px;
    color: #fff;
    position: relative;
}

#price_5g .new_plan_area2 .plan1_5g {
    background-color: #EC008C;
}

#price_5g .new_plan_area2 .price_5g_area{
  width: 45%;
}

#price_5g .new_plan_area2 .month1 {
    font-size: 1.6rem;
    font-weight: bold;
}

#price_5g .new_plan_area2 .month2 {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6rem;
}

#price_5g .new_plan_area2 .waku {
    border: 1px #fff solid;
    width: 80px;
    height: 40px;
    border-radius: 5px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

#price_5g .new_plan_area2 .label {
    margin: 0 1rem;
    background-color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 17px;
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1px;
    color: #EC008C;
}

#price_5g .new_plan_area2 .planpr {
    display: flex;
}

#price_5g .new_plan_area2 .planpr .pr {
    font-size: 3.5rem;
    font-weight: bold;
    letter-spacing: -1px;
    width: 80px;
    text-align: right;
}

#price_5g .new_plan_area2 .planpr .tax {
    margin-left: 0.6rem;
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

#price_5g .new_plan_area2 .planpr .tax .small {
    font-size: 1.5rem;
    margin-bottom: -0.8rem;
}

#price_5g .new_plan_area2 .new_plan_area2_table{
  width: 55%;
  margin-left: 20px;
}

#price_5g .new_plan_area2 .new_plan_area2_table table{
  width: 100%;
}

#price_5g .new_plan_area2 .new_plan_area2_table th{
  font-size: 11px;
  font-weight: bold;
  border: 1px #E6E6E6 solid;
  background-color: #F0F5F5;
  padding: 10px;
  text-align: center;
  line-height: 12px;
}

#price_5g .new_plan_area2 .new_plan_area2_table td{
  font-size: 11px;
  border: 1px #E6E6E6 solid;
  text-align: center;
  padding: 10px;
}

#price_5g .new_plan_area2 .triangle{
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid #FE5DAD;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

#price_5g .new_plan_area2 .yellow_span{
  font-size: 14px;
  font-weight: bold;
  background:linear-gradient(transparent 70%, #FFFF00 0%);
  margin-left: 5px;
}

#price_5g .new_plan_area2 .yellow_span span{
  font-weight: normal;
}

#price_5g .new_plan_area2 .under_yellow_span{
  display: inline-block;
  font-size: 10.5px;
  margin-top: 7.5px;
}

#price_5g .new_plan_area2 .under_table_image{
  margin-top: 20px;
}

#price_5g .model_5g_area{
  margin-top: 50px;
}

#price_5g .model_5g_area .sub_title_area h4 span{
  color: #0091D7;
}

#price_5g .model_5g_area .caution_5g{
  margin-top: 1.5rem;
  font-size: 1.2rem;
  line-height: 1.6rem;
  text-align: center;
}

#price_5g .model_5g_area .model_5g_area_content{
  display: flex;
  /* margin-top: 20px; */
}

#price_5g .model_5g_area .devicebox_5g_area{
  width: 50%;
}

#price_5g .model_5g_area .devicebox_5g{
  width: 80%;
  height: 590px;
  padding: 1rem 2rem 2rem 2rem !important;
}

#price_5g .model_5g_area .model_5g_area_table{
  margin-left: 20px;
  width: 50%;
}

#price_5g .model_5g_area .model_5g_area_table table{
  width: 100%;
  margin-top: 10px;
  height: 563px;
}

#price_5g .model_5g_area .model_5g_area_table .small_caution p{
  font-size: 11px !important;
}

#price_5g .model_5g_area .model_5g_area_table .small_caution dt{
  font-size: 11px !important;
}

#price_5g .model_5g_area .model_5g_area_table .small_caution dd{
  font-size: 11px !important;
}

#price_5g .model_5g_area .model_5g_area_table .small_caution a{
  color: #0091D7;
  text-decoration: none;
}

#price_5g .model_5g_area .specTable_5g th{
  padding: 0.5rem 1rem !important;
}

#price_5g .model_5g_area .specTable_5g td{
  padding: 0.5rem 1rem !important;
}

#price_5g .model_5g_area .small_caution{
  font-size: 11px;
  margin: 10px 90px 0;
  line-height: 14px;
}

#price_5g .model_5g_area .cap{
  line-height: 1.5rem !important;
  height: 40px !important;
}

#price_5g .model_5g_area .cap span{
  font-size: 11px;
}

#price_5g .model_5g_area .devicebox_5g_area_dd{
  text-align: center;
}

#price_5g .model_5g_area .devicebox_5g_area_dd source,#price_5g .model_5g_area .devicebox_5g_area_dd img{
  height: 85px;
}
/*OSSB-11 イベントコード機能追加依頼*/
dl.eventform {
    font-weight: 500;
    border: 2px #E6E6E6 solid;
    display: flex;
    flex-flow: row wrap;
}

dl.eventform dt {
    display: flex;
    align-items: center;
    padding-left: 3rem;
    float: none;
    font-size: 1.8rem;
    line-height: 2.2rem;
    text-align: left;
    font-weight: bold;
    width: 270px;
    clear: both;
    font-size: 12px;
    margin: 0px;
    position: relative;
    background-color: #EAF4F8;
    border-bottom: 1px #E6E6E6 solid;
    box-sizing: border-box;
}

dl.eventform dd {
    padding: 2rem 1rem 2rem 2.5rem;
    border-top: none;
    font-size: 1.2rem;
    line-height: 1.6rem;
    width: calc(100% - 270px);
}

dl.eventform dd .colg {
    display: flex;
    flex-flow: row wrap;
}

dl.eventform dd .colg .inputform {
    width: calc(100% - 55px);
    font-size: 1.6rem;
    font-weight: 500;
    position: relative;
}

dl.eventform dd .colg .icon {
    position: relative;
    width: 55px;
    padding-top: 1rem;
}
/* OSSB-11 イベントコード機能追加依頼 */
.table_event {
    border: 2px #E6E6E6 solid;
    margin: 0 auto;
    width: 100%;
    margin-top:20px;
}

.table_event tr .event_name {
    padding: 2rem 1rem 2rem 2.5rem;
    font-weight: bold;
    background-color: #EAF4F8;
    border-bottom: 1px #E6E6E6 solid;
    font-size: 1.8rem;
    width: 40%;
}
.table_event tr .event_input {
    padding: 2rem 1rem 2rem 2.5rem;
    border-bottom: 1px #E6E6E6 solid;
    font-size: 1.6rem;
    width: 60%;
}
.table_event tr .event_input div{
    display: inline-block;
    width: 10%;
    text-align: center;
}

.table_event tr .event_input input{
    font-size: 1.6rem;
    padding: 0 0.5rem;
    box-sizing: border-box;
    border: 1px #E6E6E6 solid;
    border-radius: 5px;
    background-color: #FFECF0;
    width: 85%;
}
.table_event tr .event_input .required{
    vertical-align: middle;
    margin-right: 0.5rem;
    top: 0.3rem;
    padding: 0 0.3rem;
    background-color: #E44665;
    color: #fff;
    border-radius: 3px;
    font-size: 1.5rem;
    line-height: 2rem;
    display: inline-block;
}

.table_event tr .caution{
  font-size: 1rem;
  color: #b51717;
  font-weight: bold;
  margin-left: 6rem;
}

.rakuten_attention {
  font-size: 1.5rem;
  color: red;
  border: 3px solid red;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2em;
  padding: 1em;
}

.txt-4t {
  border: 1px #C0C0C0 solid;
  width: auto;
  margin: 1rem auto 0;
  font-size: 1.5rem;
  padding: 1rem;
}

.contract_table {
    width: 100%;
}
.contract_table th, .contract_table td {
    padding: 1.5rem 2rem;
    border: 2px #CAC9C9 solid;
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: 500;
    color: #142F79;
}
.contract_table th {
    font-weight: bold;
    text-align: left;
    background-color: #D6D5D5;
}

.contract_table td {
    text-align: center;
}


header .unavi_text{
  margin-top: 4px;
  margin-right: 7px;
}

header .headMenu ul li {
  width: 50%;
}

header .gnavi .headMenu ul li a {
  background-color: #0B308E;
}

.footer-containers {
  height: 250px;
}


footer .ftMenuOuter {
  /* height: 180px; */
  background-color: #0B308E;
}

footer .ftMenu {
  display: flex;
}

footer .ftMenu a {
  color: #FFFFFF;
}

footer .ftMenu .ft_ul {
  display: initial;
  width: 18%;
  margin-right: 3%;
}

footer .ft_ul .title a,
footer .ft_ul .title span {
  font-size: 14px;
  line-height: 2;
}

footer .ft_ul .title {
  color: #FFFFFF;
  position:relative;
  margin-bottom: 10px;
}
footer .ft_ul .title::after{
  border-bottom: 2px dotted #FFFFFF;
  content: "";
  position: absolute;
  left: 52%;
  transform: translateX(-50%);
  width: 150px;
  display:block;
}
footer .ftMenu .ft_ul li {
  margin-left: 3rem;
}
footer .headMenu {
  margin-left: 17px;
}
footer .ftBnr {
  width: 100%;
  margin: 1rem auto;
  background-color: #FFFFFF;
}
footer .ftBnr ul {
  justify-content: initial;
  margin-left: 4%;
}
footer .ftBnr ul li {
  width: initial;
  margin-left: 4%;
}
footer .ftBnr .ft_link li {
  width: initial;
  margin: 1.5% 0% 1.5% 3%;
  padding-right: 3%;
}
footer .ftBnr ul li img {
  height: 40px;
}
footer .ft_link{
  width: 65%;
}
footer .ft_link ul{
  margin: 0 ;
  padding: 0 ;
}
footer .ft_link li{
  list-style: none;
  display: inline-block;
  width: 10%;
  min-width: initial;
}
footer .ft_link li:not(:last-child){
  border-right:1.5px solid rgb(84, 83, 83);
}
footer .ft_link a{
  text-decoration: none;
  color: #333;
  font-size: 1.1rem;
}
footer .ft_log_p {
  padding-top: 1rem;
  width: 200px;
}

.footer-top {
  margin-top: 30px;
  height: 83px;
  display: flex;
  align-items: center;
}
.footer-top  > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-top  > div .link-02 {
  margin: 0 10px;
}

.ver_line {
  border-left:  2px solid #000000;
  padding-left: 5px;
}
#contact-page-form-handling {
  transform: scale(1.5);
  transform-origin: center;
  -moz-transform: scale(2, 2);
  height: 16px;
  width: 25px;
  vertical-align: middle;
  margin: 10px 10px 10px 20px;
}