@charset "UTF-8";
/*!
 * supportCSS
*/

body {
    background-size: auto;
}

#darktooltip-undefined {
    margin-top: -15px;
}

:invalid {
    box-shadow: none;
    -moz-box-shadow: none;
    outline: none;
}

/* =========================================================
 * firstSection
 * @ firstSection
 * ====================================================== */
h1 {
    margin-top: 130px;
    margin-bottom: 20px;
}

.contactFormArea h2{
    font-size:24px;
}

.readTxt p {
    margin-bottom: 40px;
    line-height: 1.1;
}

.freeArea p {
    font-size: 16px;
    font-weight: bold;
}

.partitionLines {
    margin-bottom: 30px;
}

.sectioning {
    margin-top: 70px;
}

/* Contact Us */

.contactFormArea {
    width: 600px;
    background-color: #f6f6f6;
    padding: 20px;
    text-align: center;
    font-size: 13px;
}

.contactForm {
    width: 400px;
    margin: 20px auto;
    text-align: left;
}

.textFild,
.selectBox,
.radio,
.checkbox,
.capture {
    margin-bottom: 30px;
}

.contactFormArea p.formtitle {
    padding-bottom: 5px;
    display: table-cell;
    vertical-align: middle;
}

.contactFormArea .formcomment {
    margin-bottom: 10px;
}

.contact-left .toptext {
    width: 100%;
    padding: 0px 20px;
}

.contact-submenu-wrap {
    display: table;
    margin: 0 auto;
}

.contact-submenu {
    display: table-cell;
    border-right: 1px solid #ccc;
    padding: 8px 20px;
    font-size: 14px;
}

.contact-submenu.last {
    border-right: none;
}

.contact-submenu.mb-last {
    display: none;
}

.formcomment {
    color: #666666;
}

.error input[type=text],
.error textarea,
.error select,
.error .radioList,
.error .checkWrap {
    border: 2px solid #ef8200;
}

input[type=text],
textarea {
    width: 90%;
    padding: 0 10px;
}

.checkWrap {
    width: 90%;
    padding-right: 10px;
}

input[type=text],
select,
textarea {
    border: 1px solid #ccc;
    font-size: 16px;

}

select {
    width: 96%;
    padding: 0 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(/content/dam/nttcom/cmn/img/cta-breadcrumb.png) #fff no-repeat right 10px center;
    font-size: 16px;
}

input[type=text],
select {
    height: 40px;
    border:1px solid #858585;
}

select::-ms-expand {
    display: none;
}

select[name=Products] {
    height: 175px;
    font-size: 14px;
    padding: 0;
    background: #fff;
}

select[name=Products] option {
    padding: 10px;
}

.check_box {
    display: table;
}

.check_box div {
    display: table-cell;
}

.checkList {
    display: table-cell;
}

input[type=radio],
input[type=checkbox] {
    margin: 5px 5px 20px 5px;
}

input[type=submit] {
    padding: 5px 10px;
    background-color: #f9ffff;
    color: #193477;
    border: 1px solid #193477;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    -webkit-appearance: none;
}

input[type=reset] {
    padding: 5px 10px;
    background-color: #999;
    color: #fff;
    border: 2px solid #999;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    -webkit-appearance: none;
}

input[name="Vefication Code"],
input[name=":cq:captcha"] {
    width: 130px;
    float: left;
}

input[name=tel] {
    width: 80px;
}


.code,
.form_captcha_img {
    float: left;
    text-align: left;
    margin-left: 10px;
    margin-top: 5px;
}

.form_row_description {
    margin-top: 10px;
}

.reload,
.meter,
.note {
    float: left;
}

.reload,
.note {
    margin-left: 10px;
}

.reload {
    margin-right: 10px;
}

.meter,
.note {
    margin-top: 10px;
}

input[name=reload] {
    padding: 8px 10px;
    background-color: #f6f6f6;
    color: #193477;
    border: 2px solid #193477;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    -webkit-appearance: none;
}

.righttop {
    float: right;
    margin-top: -23px;
}

.formBlock {
    display: table;
    width: 100%;
}

.formBlock input[type=text],
select,
textarea {
    display: table-cell;
}

.radioList,
.checkList {
    width: 97%;
}

textarea {
    padding: 10px;
}

.radioList p,
p.checkList {
    margin-bottom: 10px;
    text-indent: -2em;
    padding-left: 2em;
}

.help {
    display: table-cell;
    width: 34px;
    vertical-align: middle;
    padding-left: 10px;
    padding-bottom: 5px;
}

p.validation {
    width: 24px;
    vertical-align: middle;
    display: table-cell;
    text-align: right;
}

p.help img {
    width: 95%;
}

p.validation img,
.error p.validation img {
    display: none;
}

.error p.validation img {
    display: inline-block;
}

.error_txt,
.error .error_txt {
    color: #ef8200;
    margin-top: 10px;
    display: none;
}

.error .error_txt {
    display: block;
}

.submit_section {
    margin-top: 50px;
}

.submit.section .form_rightcol {
    text-align: left;
    margin-right: 10px;
    width: auto;
    display: block;
}

/*2/16追加*/
.form_common_button {
    background-color: #f9ffff;
    border: 1px solid #193477;
    color: #193477;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 13px;
}

.confirm_message {
    font-weight: bold;
    text-align: center;
}


/*3/3追加*/


/*
------------------------------------------------------------------------------------------
 * ----- メディアクエリ -----
 * タブレット版
 * 768px以下に適応
------------------------------------------------------------------------------------------
*/
@media screen and (max-width:768px) {
    body {
        background-size: 100%;
    }

    .sectioning {
        margin-top: 0;
    }

    h1 {
        margin-top: 50px;
        margin-bottom: 20px;
    }

    .readTxt p {
        margin-bottom: 40px;
    }

    .freeArea {
        margin-bottom: 40px;
    }

    .contactFormArea {
        width: 100%;
    }

    .contactForm {
        width: 100%;

    }

    input[name="Vefication Code"],
    input[name=":cq:captcha"] {
        width: 40%;
    }

    .formBlock p.validation {
        padding-left: 5px;
    }

    p.validation {
        width: 5%;
    }

    input[type=radio],
    input[type=checkbox] {
        margin: 5px 5px 25px 5px;
    }

    /* ----- / @media screen and (max-width:768px) ----- */
}



/*
------------------------------------------------------------------------------------------
 * ----- メディアクエリ -----
 * スマホ版
 * 480px以下に適応
------------------------------------------------------------------------------------------
*/

@media screen and (max-width:480px) {
    body {
        background-size: 100%;
    }

    h1 {
        margin-top: 50px;
        margin-bottom: 25px;
    }

    .readTxt p {
        margin-bottom: 25px;
        font-size: 14px;
        line-height: 1.2;
    }

    .grid_contents.groupSet .grid_cols.supportImg {
        display: none;
    }

    .contact-submenu.second {
        border: none;
    }

    .contact-submenu.last {
        display: none
    }

    .contact-submenu.mb-last {
        display: block;
        text-align: center;
        border: none;
    }

    input[name="Vefication Code"],
    input[name=":cq:captcha"] {
        width: 83%;
    }

    .code,
    .form_captcha_img {
        margin-top: 15px;
        margin-left: 0;
    }

    input[name=reload] {

        margin-top: 10px;
    }

    p.validation {
        width: 8%;
    }

    .column_component.colnum-2>.cc-colnum {
        width: 50%;
        float: left;
    }

    input[type=radio],
    input[type=checkbox] {
        margin: 5px 5px 15px 5px;
    }

}

/*セレクトをチェックにしたとき用に追記*/
#products_check label {
    display: block;
}

/*ツールチップ用に追記*/
.tipon {
    display: inline-block;
}


/*----------
入力制限のメーター
Vefication Codeの説明文の横
----------*/
.form_captchatimer {
    float: left;
    border: 1px solid #ccc;
}

.form_captchatimer_bar {
    float: left;
    background-color: #ccc;
    height: 8px;
}

/*----------
12/18依頼分
----------*/
.section .form_row:nth-of-type(1) {
    margin-top: 30px;
}

@media screen and (max-width:768px) {
    .section .form_row:nth-of-type(1) {
        margin-top: 25px;
    }
}

@media screen and (max-width:480px) {
    .section .form_row:nth-of-type(1) {
        margin-top: 30px;
    }
}

.form_rightcol {
    width: 100%;
    display: table;
}

.form_rightcol_wrapper {
    display: table-cell;
    width: 90%;
}

.form_field_text {
    width: 100%;
    margin-bottom: 5px;
    padding: 5px;
    height: 30px;
    font-size: 16px;
}

.error .form_field_text {
    border: 2px solid #ef8200;
}

select[multiple="multiple"] {
    height: auto;
    padding: 0;
    background: #fff;
}

select[multiple="multiple"] option {
    padding: 10px;
}

.cf p.validation {
    display: inline;
    float: right;
    margin-left: 5px;
}

.cf .form_rightcol {
    display: block;
    float: left;
    width: 90%;
}

.cf .form_rightcol_wrapper {
    display: block;
    width: 100%;
}

.cf .checkWrap,
.cf .radioList {
    float: left;
    width: 90%;
}

.cf .checkWrap .form_row,
.cf .radioList .form_row {
    margin-top: 0;
}

@media screen and (max-width:768px) {
    .form_rightcol_wrapper {
        width: 60%;
    }
}

@media screen and (max-width:480px) {
    .cf .form_rightcol {
        width: 80%;
    }

    .cf .checkWrap,
    .cf .radioList {
        width: 80%;
    }
}

/* 横並びフォームブロック */
.columns-block{
  display: flex;
  flex-wrap: wrap;
}
.columns-block dt,
.columns-block dd{
  width: 50%;
  padding: 0 20px;
}
.columns-block dt{
  margin-top: 15px;
}
.columns-order01{
  order: 1;
}
.columns-order02{
  order: 2;
}
.columns-order03{
  order: 3;
}
.columns-order04{
  order: 4;
}

.form-block > dt:not(:first-of-type){
  margin-top: 30px;
}
@media screen and (max-width:768px) {
  .form-block > dt:not(:first-of-type){
    margin-top: 25px;
  }
}
@media screen and (max-width:480px) {
  .columns-block dt,
  .columns-block dd{
    padding: 0 20px 0 0;
  }

  .form-block > dt:not(:first-of-type){
    margin-top: 30px;
  }
}