@charset "UTF-8";
/* -------------------------------------------------------------------------*/
/* MIXIN / ARGUMENT / COMMON CLASS
/* -------------------------------------------------------------------------*/
.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }

/* -------------------------------------------------------------------------*/
/* CONTACT
/* -------------------------------------------------------------------------*/
.ctg_contact .pg_kv {
  background-color: #c3c3c3;
  background-image: url(../jpg/pg_kv-10.jpg); }
  .ctg_contact .pg_kv .pg_kv_wrp_2::before,
  .ctg_contact .pg_kv .pg_kv_wrp_1::before {
    background-image: url(../png/kv_bc_earth_3.png); }

.ctg_contact #SM > ul > li:first-child {
  display: none; }

.cnt_info {
  margin-bottom: 20px;
  border: 1px dotted #516dc8; }
  .cnt_info p.title {
    display: inline-block;
    background-color: #516dc8;
    margin: 0;
    padding: 10px 20px 8px;
    line-height: 1;
    color: #fff; }
  .cnt_info ul {
    font-size: 14px;
    font-size: 0.875rem; }

.cnt_tbl {
  width: 100%;
  /* ALERT */ }
  .cnt_tbl th, .cnt_tbl td {
    padding: 15px 10px;
    text-align: left;
    border: 1px solid #d2d2d2;
    border-left: none;
    border-right: none;
    font-weight: normal; }
  .cnt_tbl th {
    width: 200px;
    background-color: #eef9ff; }
  .cnt_tbl textarea {
    width: 100%;
    height: 150px;
    resize: none; }
  .cnt_tbl input[type="text"], .cnt_tbl input[type="email"] {
    width: 100%;
    max-width: 500px; }
  .cnt_tbl .cnt_radio {
    white-space: nowrap;
    display: inline-block; }
  .cnt_tbl input[type="radio"] {
    cursor: pointer; }
    .cnt_tbl input[type="radio"] + label {
      color: #999999;
      cursor: pointer;
      margin-right: 20px; }
    .cnt_tbl input[type="radio"]:checked + label {
      font-weight: bold;
      color: #000;
      border-bottom: 1px dotted; }
  .cnt_tbl input.cnt_tel {
    max-width: 200px !important; }
  .cnt_tbl tr.alert th {
    background-color: #ffd3d3; }
  .cnt_tbl tr.alert td {
    background-color: #fff2f2; }
  .cnt_tbl tr.alert p {
    margin: 0 0 5px;
    padding: 0;
    color: #e20000; }
  @media only screen and (max-width: 640px) {
    .cnt_tbl {
      display: block; }
      .cnt_tbl tbody, .cnt_tbl tr, .cnt_tbl th, .cnt_tbl td {
        display: block;
        width: 100%;
        border: none; }
      .cnt_tbl tr {
        margin-bottom: 10px;
        border: 1px solid #bdcfd9; }
      .cnt_tbl th {
        padding: 5px 10px; }
      .cnt_tbl td {
        padding: 10px 5px; }
      .cnt_tbl .cnt_radio {
        display: block;
        margin: 5px 0; } }

.cnt_required {
  color: #ea0000; }

.cnt_pp {
  background-color: #eef9ff;
  margin: 30px 0;
  padding: 15px; }
  .cnt_pp .cnt_pp_ttl {
    margin: 0 0 10px;
    color: #052d79;
    border-left: 5px solid;
    padding-left: 10px; }

.cnt_pp_wrap {
  font-size: 14px;
  font-size: 0.875rem;
  height: 100px;
  padding: 10px;
  overflow-y: auto;
  border: 1px solid #d2d2d2;
  background-color: #fff; }
  .cnt_pp_wrap P {
    margin: 0 0 20px; }

.cnt_pp_btn {
  text-align: center;
  margin-top: 20px;
  padding: 10px;
  background-color: #cfeeff; }

.cnt_btn {
  text-align: center;
  margin-top: 30px; }
  .cnt_btn input {
    margin: 10px;
    width: 200px;
    padding: 10px; }
  .cnt_btn input[type="submit"] {
    border: 2px solid #049fff;
    background-color: #f0fbff;
    box-shadow: 3px 3px 0 #e9e9e9; }
  .cnt_btn input[type="reset"] {
    border: 2px solid #eef9ff;
    background-color: #fff; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* CONTACT TOP
/* -------------------------------------------------------------------------*/
.cntct_box {
  border: 1px solid #516dc8;
  margin: 30px 0; }
  .cntct_box > .title {
    font-size: 22px;
    font-size: 1.375rem;
    background-color: #516dc8;
    color: #fff;
    margin: 0;
    padding: 12px 10px 10px; }
  .cntct_box > .text {
    margin: 20px; }
  .cntct_box .cntct_tel {
    background-color: #f7f7f7;
    margin: 20px;
    padding: 10px; }
    .cntct_box .cntct_tel table {
      margin: 0 auto;
      border-collapse: collapse;
      width: 100%; }
    .cntct_box .cntct_tel th {
      text-align: left;
      font-weight: normal;
      padding: 5px 20px;
      background-color: #fff; }
    .cntct_box .cntct_tel td {
      font-size: 22px;
      font-size: 1.375rem;
      font-weight: bold;
      padding: 5px 10px;
      width: 35%;
      white-space: nowrap;
      background-color: #fff; }
      .cntct_box .cntct_tel td::before {
        content: url(../png/icon_tel.png);
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px; }
      .cntct_box .cntct_tel td a {
        text-decoration: none;
        color: #000;
        cursor: default; }
      .cntct_box .cntct_tel td.tel_noNumber {
        font-size: 16px;
        font-size: 1rem; }
        .cntct_box .cntct_tel td.tel_noNumber a {
          cursor: pointer; }
    .cntct_box .cntct_tel tr {
      border: 1px solid #e3e3e3; }
  .cntct_box .cntct_form {
    margin: 30px 20px 20px; }
    .cntct_box .cntct_form .title {
      border-left: 5px solid #516dc8;
      padding-left: 10px;
      margin: 0 0 10px;
      font-weight: bold;
      color: #516dc8; }
    .cntct_box .cntct_form ul {
      background-color: #f7f7f7;
      list-style: none;
      margin: 0;
      padding: 15px; }
    .cntct_box .cntct_form li {
      display: inline-block; }
      .cntct_box .cntct_form li a {
        display: block;
        background-color: #fff;
        text-decoration: none;
        color: #000;
        padding: 12px 20px 10px;
        line-height: 1;
        border-radius: 3px;
        border: 1px solid #a6b5e7;
        transition: background 0.2s ease; }
        .cntct_box .cntct_form li a:hover {
          background-color: #a6b5e7;
          color: #fff; }
  @media only screen and (max-width: 980px) {
    .cntct_box {
      margin: 20px 0; }
      .cntct_box > .text {
        margin: 10px; }
      .cntct_box .cntct_tel {
        margin: 10px; }
        .cntct_box .cntct_tel th {
          padding: 5px 10px; }
      .cntct_box .cntct_form {
        margin: 20px 10px 15px; }
        .cntct_box .cntct_form ul {
          padding: 10px; } }
  @media only screen and (max-width: 640px) {
    .cntct_box .cntct_tel {
      background: none;
      padding: 0; }
      .cntct_box .cntct_tel table, .cntct_box .cntct_tel tbody, .cntct_box .cntct_tel tr, .cntct_box .cntct_tel th, .cntct_box .cntct_tel td {
        display: block;
        width: 100%; }
      .cntct_box .cntct_tel tr {
        margin-bottom: 5px; }
      .cntct_box .cntct_tel td {
        padding: 5px; }
        .cntct_box .cntct_tel td a {
          color: #0045ff;
          text-decoration: underline;
          cursor: pointer; }
    .cntct_box .cntct_form ul {
      padding: 0;
      background-color: #fff; }
    .cntct_box .cntct_form li {
      display: block;
      margin-bottom: 7px; } }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* TEL
/* -------------------------------------------------------------------------*/
.tel_box {
  margin: 30px 0 60px; }
  .tel_box > .title {
    font-size: 22px;
    font-size: 1.375rem;
    background-color: #516dc8;
    color: #fff;
    margin: 0;
    padding: 12px 10px 10px; }
  .tel_box .TEL_tel {
    margin: 20px 0; }
    .tel_box .TEL_tel table {
      margin: 0 auto;
      border-collapse: collapse;
      width: 100%; }
    .tel_box .TEL_tel tr td:first-child {
      width: 210px; }
    .tel_box .TEL_tel th, .tel_box .TEL_tel td {
      font-size: 15px;
      font-size: 0.9375rem;
      border: 1px solid #cccccc; }
    .tel_box .TEL_tel th {
      text-align: left;
      font-weight: normal;
      padding: 5px 10px;
      background-color: #dce4ff; }
    .tel_box .TEL_tel td {
      background-color: #fff;
      padding: 5px 10px; }
    .tel_box .TEL_tel td.tel {
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: bold;
      width: 20%;
      white-space: nowrap; }
      .tel_box .TEL_tel td.tel::before {
        content: url(../png/icon_tel_1.png);
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px; }
      .tel_box .TEL_tel td.tel a {
        text-decoration: none;
        color: #000;
        cursor: default; }
  @media only screen and (max-width: 980px) {
    .tel_box .TEL_tel {
      margin: 20px 0; }
      .tel_box .TEL_tel table, .tel_box .TEL_tel tbody, .tel_box .TEL_tel tr, .tel_box .TEL_tel td {
        display: block;
        width: 100% !important;
        padding: 0; }
      .tel_box .TEL_tel th {
        display: none; }
      .tel_box .TEL_tel tr {
        margin-bottom: 20px;
        padding: 10px;
        border: 1px solid #d7e0ff; }
        .tel_box .TEL_tel tr:first-child {
          display: none; }
        .tel_box .TEL_tel tr td:nth-child(1)::before {
          content: '部署名';
          display: block;
          margin-bottom: 5px;
          padding: 8px 5px 5px;
          background-color: #d7e0ff;
          line-height: 1; }
        .tel_box .TEL_tel tr td:nth-child(2)::before {
          content: 'お問合せ内容';
          display: block;
          margin-bottom: 5px;
          padding: 8px 5px 5px;
          background-color: #d7e0ff;
          line-height: 1; }
        .tel_box .TEL_tel tr td.tel {
          padding-top: 10px; }
      .tel_box .TEL_tel th, .tel_box .TEL_tel td {
        border: none; } }
  @media only screen and (max-width: 640px) {
    .tel_box .cntct_tel {
      background: none;
      padding: 0; }
      .tel_box .cntct_tel table, .tel_box .cntct_tel tbody, .tel_box .cntct_tel tr, .tel_box .cntct_tel th, .tel_box .cntct_tel td {
        display: block;
        width: 100%; }
      .tel_box .cntct_tel tr {
        margin-bottom: 5px; }
      .tel_box .cntct_tel td {
        padding: 5px; }
        .tel_box .cntct_tel td a {
          color: #0045ff;
          text-decoration: underline;
          cursor: pointer; }
    .tel_box .cntct_form ul {
      padding: 0;
      background-color: #fff; }
    .tel_box .cntct_form li {
      display: block;
      margin-bottom: 7px; } }

@media only screen and (max-width: 640px) {
  #TEL_4 .td_no {
    display: none; }
  #TEL_4 td {
    padding-top: 0; } }

/* -------------------------------------------------------------------------*/
