@charset "utf-8";
/*.p-QiconLink 
-------------------------*/
.p-QiconLink {
    position: relative;
    color: inherit;
    text-decoration: none
}
.p-QiconLink::after {
    content: " ";
    background: url(/sim/dialpad/img/icon_help.png) 0 0/contain no-repeat;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-bottom: -5px;
    margin-left: 5px
}
/*.modal
-----------------------*/
.modal {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: scroll;
    display: none;
    z-index: 100
}
.modal .modal_bg {
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1
}
.modal .modal_contents_wrapper {
    max-width: 890px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    height: 100%
}
@media only screen and (max-width: 599px) {
    .modal .modal_contents_wrapper {
        width: 90%
    }
}
.modal .modal_scrollBox {
    display: table;
    height: 100%;
    width: 100%
}
.modal .modal_scrollBox_inner {
    display: table-cell;
    padding: 60px 0 60px;
    vertical-align: middle
}
.modal .modal_contents {
    background-color: #fff;
    padding: 30px;
    position: relative;
    border-radius: 10px
}
.modal .modal_contents .modal_close {
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 32px;
    line-height: 40px;
    position: absolute;
    right: 20px;
    top: -50px
}
.modal .modal_contents .ttl {
    font-size: 20px;
    font-weight: normal;
    line-height: 140%;
    margin-bottom: 25px
}
@media only screen and (max-width: 599px) {
    .modal .modal_contents .ttl {
        font-size: 19px;
        margin-bottom: 20px
    }
}
.modal .modal_contents .body {
    margin-top: 25px;
    font-size: 15px
}
@media only screen and (max-width: 599px) {
    .modal .modal_contents .body {
        margin-top: 20px;
        font-size: 14px
    }
}
.modal .modal_contents .body img {
    max-width: 100%;
    width: auto
}


/*base
-----------------------*/
@media only screen and (max-width: 599px) {
    h2 > span {
        display: block;
    }
}

@media only screen and (max-width: 359px) {
    h2 {
        font-size: 18px;
    }
}


/*override
-----------------------*/
section.form > .item input[type=radio] + span {
    display: inline-block;
}
@media only screen and (max-width: 599px) {
    section.form > .item .price label {
        display: block;
    }
}

/* ----------------------------------------------------------------------
	
	 add css
	
---------------------------------------------------------------------- */
/* - index.html
---------------------------- */



.flow ul {
  text-align: center
}

.kome {
  text-indent: -1em;
  padding-left: 1em;
  list-style: none;
}

section.form > .item input[type=radio] + span {
    display: inline-block;
}
@media only screen and (max-width: 599px) {
    section.form > .item .price label {
        display: block;
    }
}
.form.option select:disabled {
    background-color: #fafafa;
}

span.-sm {
  display: block;
  font-weight: normal;
  font-size: 12px;
  padding-left: 30px;
  margin-top: 5px;
}

.sub_title {
    font-size: 16px;
    margin-bottom: 20px;
    margin-left: 20px;
}

section.form > .item.-head {
  align-items: center;
  margin-bottom: 30px;
}

section.form .item.-basic {
    margin-left: 20px;
}

section.form .item.-basic label {
    border: 1px solid #d0dce4;
    padding: 10px 20px;
    border-radius: 6px;
    display: inline-block;
    font-weight: bold;
    position: relative;
}

section.form .item.-basic label:not(:last-child) {
    margin-right: 10px;
}

#service label {
    padding: 25px 20px;
}

#service.wrapper{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
}


#service.wrapper > label{
  flex: 1; 
}

section.form .item.-basic label .Q-icon {
  position: absolute;
  top: 5px;
  right: 5px;
  line-height: 1;
}

.Q-icon img {
  width: 20px;
}

.Q-icon a {
  display: block;
}

.q-tooltip{
  position:absolute;
  z-index:9999;
  max-width:320px;
  padding:12px 14px;
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  font-size:14px;
  line-height:1.5;
}

/*.q-tooltip:before{
  content:"";
  position:absolute;
  left:-8px;
  top:16px;
  border-width:8px 8px 8px 0;
  border-style:solid;
  border-color:transparent #ddd transparent transparent;
}

.q-tooltip:after{
  content:"";
  position:absolute;
  left:-7px;
  top:16px;
  border-width:8px 8px 8px 0;
  border-style:solid;
  border-color:transparent #fff transparent transparent;
}*/

.q-tooltip-ttl{
  font-weight:bold;
  margin-bottom:6px;
}

.service-cap {
  border: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
  margin-left: 20px;
  margin-top: 40px;
  margin-bottom: 15px;
  border-bottom: 1px dashed #CCC;
  padding-bottom: 4px;
}

.service-cap > span {
  position: relative;
}

.service-cap > span .Q-icon{
  position: absolute;
  line-height: 1;
  right: -25px;
  top: -2px;
}

p.caption {
  font-size: 14px;
  margin-left: 20px;
}


@media only screen and (max-width: 599px) {
    #service.wrapper{
      display: block;
    }

    section.form .item.-basic {
        margin-left: 0px;
    }
    section.form .item.-basic label {
        display: block;
    }
    section.form .item.-basic label:not(:first-child) {
        margin-top: 10px;
    }
    section.form .item.-basic label:not(:last-child) {
        margin-right: 0px;
    }
    
    section.form .item.-basic label.show {
        display: block;
    }
    
    .service-cap,p.caption {
      margin-left: 0;
    }
    
    /*section.form > .item #service input[type=radio] + span::before {
      margin-top: -24px;
    }*/
    
  }


section.form > .item.usedselect {
  display: block;
}

section.form .item.account .input.-select {
    padding-right: 0;
    margin-right: 10px;
    display: inline-block;
}

section.form .item.account.-head .input.-select {
    flex: 0 1 200px;
}

section.form .item.account .input.-select + span {
  display: inline-block;
}

section.form select#used_num { width: 200px;}

.reference > h3 {
  margin-top: 50px;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 0;
  margin: 0;
  border-bottom: none;
}

.reference > .pict {
  display: flex;
  width: 100%;
  margin-top: 20px;
}

.reference > .pict img {
  width: 100%;
  max-width: 100%;
  vertical-align: top;
}

.reference > .pict > div {
  text-align: center;
  margin-right: 20px;
  width: 33.33%;
}

.reference > .pict > div:nth-child(3n) {
    margin-right: 0;
}

.reference > .pict > div .cap {
  font-size: 14px;
  margin-top: 10px;
}

.ref_attention {
  padding: 0;
  font-size: 14px;
  margin-top: 30px;
}


.freetxt textarea {
  height: auto;
}

 
@media only screen and (min-width: 600px) {
    section.form > .item .input.-phone input {
        width: 130px
    }
}
@media only screen and (max-width: 599px) {
    
    section.form > .item.usedselect .input .error_message {
      margin: 0;
      padding: 0;
      margin-top: 10px;
    }
    
    section.form .item.usedselect .input + span {
      white-space: nowrap;
    }
    
    section.form > .item .input.-phone input {
        width: 80px
    }
}


@media only screen and (max-width: 599px) {
    
    section.form .item.account.-head .input.-select {
        flex: auto;
        margin-right: 10px;
    }
    
    section.form .item.account.-head.usedselect .input.-select {
      flex: 0 0 174px;
    }
    
    .sub_title {
        font-size: 15px;
        margin-left: 0;
    }
    
    section.form select#used_num { width: 174px;}
    
    section.form .item.account .input .inner {
        display: block;
    }
    section.form .item.account .input .inner .label-sm {
        padding-right: 0;
    }
    section.form .item.account .input .inner .input-sm input {
        padding: 15px;
        width: 100%;
    }
    section.form .item.account + .item.account {
        margin-top: 30px;
    }
    section.form.option .item .label {
        font-size: 15px;
        margin-bottom: 20px;
    }
    section.form.service .item.account {
        margin-left: 0;
    }
    
    .reference > h3 {
      margin-top: 30px;
    }

    .reference > .pict {
      display: block;
      margin-top: 20px;
    }

    .reference > .pict > div {
      text-align: center;
      width: 100%;
      max-width: 360px;
      margin-right: 0;
      margin: 0 auto;
    }
    
    .reference > .pict > div + div {
      margin-top: 30px;
    }

    
}


section.form > .item.business .label {
  padding-right: 25px;
}


section.form .item.business label {
    border: 1px solid #d0dce4;
    padding: 10px 20px;
    border-radius: 6px;
    display: inline-block;
}

section.form .item.business label.show {
    display: inline-block;
}

section.form .item.business label.off {
    display: none;
}

section.form .item.business label:not(:last-child) {
    margin-right: 15px;
}


/*------ discription -------*/

.description.-bold {
  font-weight: bold;
}

.description.-border {
  padding: 15px;
  margin-bottom: 10px;
  border: 1px solid #333;
}

.description.-center {
  text-align: center;
}

.description ul {
  margin: 0;
  padding: 0;
  padding-left: 1.5em;
}

.description ul li{
  list-style-type: disc;
}

