.formTable .errorMessage {
  color: #e31d1d;
  padding: 0.7em 0; }
.formTable .confirmText p {
  font-size: 2.2rem;
  line-height: 1.82;
  padding: 0.9em 1em;
  border: 1px solid transparent; }
.formTable .partsText input {
  width: 100%;
  font-size: 2.2rem;
  line-height: 1;
  line-height: normal;
  background-color: #ffffff;
  padding: 0.9em 1em;
  border: 1px solid #dedede;
  box-sizing: border-box; }
.formTable .partsTextarea {
  overflow: hidden;
  width: 100%; }
  .formTable .partsTextarea textarea {
    width: 100%;
    height: 15.6em;
    font-size: 2.2rem;
    line-height: 1.82;
    background-color: #ffffff;
    padding: 0.9em 1em;
    border: 1px solid #dedede;
    box-sizing: border-box; }
.formTable .partsRadio {
  display: flex;
  align-items: center; }
  .formTable .partsRadio label {
    cursor: pointer;
    margin: 0 10px 0 0;
    user-select: none; }
    .formTable .partsRadio label input {
      display: none; }
    .formTable .partsRadio label span {
      display: block;
      position: relative;
      font-size: 2.2rem;
      line-height: 1.82;
      background-color: #cccccc;
      padding: 17px 30px 17px 47px;
      border: 1px solid #dedede;
      box-sizing: border-box; }
      .formTable .partsRadio label span:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 15px;
        width: 24px;
        height: 24px;
        background-color: #ffffff;
        margin: auto;
        border: 2px solid #cccccc;
        border-radius: 50%;
        box-sizing: border-box; }
      .formTable .partsRadio label span:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 23px;
        width: 8px;
        height: 8px;
        background-color: transparent;
        margin: auto;
        border-radius: 50%;
        box-sizing: border-box; }
    .formTable .partsRadio label :checked + span:after {
      background-color: #333333; }
.formTable .partsCheckbox {
  display: flex;
  align-items: center; }
  .formTable .partsCheckbox label {
    cursor: pointer;
    margin: 0 10px 0 0;
    user-select: none; }
    .formTable .partsCheckbox label input {
      display: none; }
    .formTable .partsCheckbox label span {
      display: block;
      position: relative;
      font-size: 2.2rem;
      line-height: 1.82;
      padding: 17px 20px 17px 52px;
      box-sizing: border-box; }
      .formTable .partsCheckbox label span:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 20px;
        width: 20px;
        height: 20px;
        background-color: #ffffff;
        margin: auto;
        border: 1px solid #cccccc;
        box-sizing: border-box; }
      .formTable .partsCheckbox label span:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 5px;
        left: 28px;
        width: 10px;
        height: 15px;
        background-color: transparent;
        margin: auto;
        box-sizing: border-box;
        transform: rotate(45deg); }
    .formTable .partsCheckbox label :checked + span:after {
      border-bottom: 2px solid #333333;
      border-right: 2px solid #333333; }
.formTable .partsSelect .partsWrap {
  display: flex;
  flex-wrap: wrap; }
.formTable .partsSelect label {
  display: inline-block;
  position: relative;
  background-color: #cccccc; }
  .formTable .partsSelect label:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    width: 12px;
    height: 9px;
    background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #f1f4f6 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #f1f4f6 50.5%) no-repeat top right/50% 100%;
    margin: auto; }
.formTable .partsSelect select {
  position: relative;
  z-index: 1;
  height: 60px;
  font-size: 2.2rem;
  line-height: 1.82;
  padding: 17px 40px 17px 20px;
  border: 1px solid #dedede;
  box-sizing: border-box; }
.formTable .partsSelect .year select {
  width: calc(3em + 60px); }
.formTable .partsSelect .month select,
.formTable .partsSelect .day select {
  width: calc(3em + 60px); }
.formTable .partsSelect .unit {
  padding: 0 10px; }

@media screen and (min-width: 769px) {
  .formTable .confirmText p {
    font-size: 1.5rem;
    line-height: 1.87; }
  .formTable .partsText input {
    font-size: 1.5rem;
    line-height: 1.87; }
  .formTable .partsTextarea {
    min-height: 4em; }
    .formTable .partsTextarea textarea {
      font-size: 1.5rem;
      line-height: 1.87; }
  .formTable .partsRadio {
    height: 60px; }
    .formTable .partsRadio label span {
      height: 60px;
      font-size: 1.5rem;
      line-height: 1.87;
      padding: 17px 40px 17px 57px; }
      .formTable .partsRadio label span:before {
        left: 20px; }
      .formTable .partsRadio label span:after {
        left: 28px; }
  .formTable .partsSelect {
    min-height: 60px; }
    .formTable .partsSelect select {
      font-size: 1.5rem;
      line-height: 1.87; }
    .formTable .partsSelect .year select {
      width: calc(7.7em + 60px); }
    .formTable .partsSelect .month select,
    .formTable .partsSelect .day select {
      width: calc(2.4em + 60px); } }
/* contactArea */
#contactArea .contentInner {
  width: 100%; }
#contactArea .titleWrap:after {
  background: url(/img/lower/bg_contact.jpg) center center no-repeat;
  background-size: cover; }
#contactArea .descWrap {
  width: calc(648 / 768 * 100%);
  margin: 0 auto calc(72 / 768 * 100%) auto;
  padding: calc(76 / 768 * 100%) 0 0 0; }
  #contactArea .descWrap#descArea {
    margin: 0 auto calc(250 / 768 * 100%) auto;
    padding: calc(120 / 768 * 100%) 0 0 0; }
  #contactArea .descWrap .desc {
    font-size: 2.2rem;
    line-height: 1.82;
    font-weight: 500;
    margin: 0 0 calc(8 / 648 * 100%) 0; }
    #contactArea .descWrap .desc.mb {
      margin: 0 0 calc(27 / 648 * 100%) 0; }
  #contactArea .descWrap .note {
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 500; }
  #contactArea .descWrap .connect {
    padding: calc(54 / 648 * 100%) 0 0 calc(130 / 648 * 100%); }
    #contactArea .descWrap .connect > div {
      display: flex;
      align-items: center;
      font-size: 3.2rem;
      line-height: 1;
      font-weight: 700;
      margin: 0 0 calc(20 / 768 * 100%) 0; }
      #contactArea .descWrap .connect > div:before {
        content: "";
        display: block;
        width: 1.8em;
        height: 1.8em;
        background: url(/img/common/icon_line04.png) center center no-repeat;
        background-size: contain;
        margin: 0 0.8em 0 0; }
      #contactArea .descWrap .connect > div.line:before {
        background: url(/img/common/icon_line04.png) center center no-repeat;
        background-size: contain; }
      #contactArea .descWrap .connect > div.tel:before {
        background: url(/img/common/icon_tel.png) center center no-repeat;
        background-size: contain; }

@media screen and (min-width: 769px) {
  #contactArea .contentInner {
    max-width: 1260px; }
  #contactArea .titleWrap:after {
    background: url(/img/lower/bg_contact.jpg) center center no-repeat;
    background-size: cover; }
  #contactArea .descWrap {
    width: 100%;
    text-align: center;
    margin: 0 0 calc(72 / 1240 * 100%) 0;
    padding: calc(76 / 1240 * 100%) 0 0 0; }
    #contactArea .descWrap#descArea {
      margin: 0 auto calc(300 / 1240 * 100%) auto;
      padding: calc(150 / 1240 * 100%) 0 0 0; }
    #contactArea .descWrap .desc {
      font-size: 1.6rem;
      line-height: 1.75;
      margin: 0 0 calc(8 / 1240 * 100%) 0; }
      #contactArea .descWrap .desc.mb {
        margin: 0 0 calc(27 / 1240 * 100%) 0; }
    #contactArea .descWrap .note {
      font-size: 1.3rem;
      line-height: 1.54; }
    #contactArea .descWrap .connect {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: calc(54 / 1240 * 100%) 0 0 0; }
      #contactArea .descWrap .connect > div {
        font-size: 2.1rem;
        line-height: 1;
        margin: 0 3.2em 0 1.6em; }
        #contactArea .descWrap .connect > div.line {
          font-size: 1.8rem;
          line-height: 1;
          letter-spacing: 0.05em; }
        #contactArea .descWrap .connect > div.tel {
          letter-spacing: 0.05em; }
        #contactArea .descWrap .connect > div:before {
          width: 2.8em;
          height: 2.8em;
          margin: 0 1.0em 0 0; } }
#formArea .formWrap .formTable {
  background-color: #f9f9f9;
  margin: 0 0 calc(102 / 768 * 100%) 0;
  padding: calc(79 / 768 * 100%) 0 calc(77 / 648 * 100%) 0; }
  #formArea .formWrap .formTable .attention {
    font-size: 2.2rem;
    line-height: 1.82;
    font-weight: 500;
    text-align: center;
    margin: 0 0 calc(24 / 768 * 100%) 0; }
  #formArea .formWrap .formTable .table {
    width: calc(648 / 768 * 100%);
    margin: auto; }
    #formArea .formWrap .formTable .table .row {
      margin: 0 0 calc(20 / 648 * 100%) 0; }
      #formArea .formWrap .formTable .table .row .head {
        font-size: 2.2rem;
        line-height: 1.82;
        font-weight: 500;
        padding: 1.5em 0 0.5em 0.1em;
        box-sizing: border-box; }
  #formArea .formWrap .formTable .buttonArea {
    padding: calc(23 / 648 * 100%) 0 0 0; }
    #formArea .formWrap .formTable .buttonArea .button + .button {
      padding: calc(23 / 648 * 100%) 0 0 0; }

@media screen and (min-width: 769px) {
  #formArea .formWrap .formTable {
    margin: 0 0 calc(102 / 1240 * 100%) 0;
    padding: calc(79 / 1240 * 100%) 0 calc(77 / 1240 * 100%) 0; }
    #formArea .formWrap .formTable .attention {
      font-size: 1.3rem;
      line-height: 1.54;
      margin: 0 0 calc(24 / 1240 * 100%) 0; }
    #formArea .formWrap .formTable .table {
      max-width: 720px; }
      #formArea .formWrap .formTable .table .row {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 calc(38 / 720 * 100%) 0; }
        #formArea .formWrap .formTable .table .row .head {
          flex-basis: calc(170 / 720 * 100%);
          font-size: 1.5rem;
          line-height: 1.87;
          padding: calc(0.9em + 1px) 0 0 0.1em; }
        #formArea .formWrap .formTable .table .row .cont {
          flex-basis: calc(550 / 720 * 100%); }
        #formArea .formWrap .formTable .table .row .errorMessage {
          flex-basis: 100%;
          margin: 0 0 0 calc(170 / 720 * 100%); }
    #formArea .formWrap .formTable .buttonArea {
      padding: calc(23 / 720 * 100%) 0 0 0; }
      #formArea .formWrap .formTable .buttonArea .button + .button {
        padding: calc(23 / 720 * 100%) 0 0 0; } }
#policyArea {
  width: calc(648 / 768 * 100%);
  margin: auto; }
  #policyArea .policyTitle {
    font-size: 3rem;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    margin: 0 0 calc(30 / 648 * 100%) 0;
    padding: calc(100 / 648 * 100%) 0 0 0; }
  #policyArea .box {
    overflow: auto;
    height: 33em;
    font-size: 2.2rem;
    line-height: 1.82;
    margin: 0 0 calc(8 / 648 * 100%) 0;
    padding: 0 15px 0 0; }
    #policyArea .box .intro {
      font-size: 2.2rem;
      line-height: 1.82;
      margin: 0 0 calc(23 / 648 * 100%) 0; }
    #policyArea .box .row {
      margin: 0 0 calc(20 / 648 * 100%) 0; }
      #policyArea .box .row .head {
        font-size: 2.2rem;
        line-height: 1.82;
        font-weight: 700;
        margin: 0 0 calc(7 / 648 * 100%) 0; }
      #policyArea .box .row .cont p {
        font-size: 2.2rem;
        line-height: 1.82; }
      #policyArea .box .row .cont li {
        font-size: 2.2rem;
        line-height: 1.82;
        text-indent: -1em;
        margin: 0 0 calc(7 / 648 * 100%) 0;
        padding: 0 0 0 1em; }
      #policyArea .box .row .cont a {
        text-decoration: underline; }
        #policyArea .box .row .cont a[target="_blank"]:after {
          content: "";
          display: inline-block;
          width: 0.6em;
          height: 0.6em;
          background: url(/img/common/icon_blank_black.png) center center no-repeat;
          background-size: contain;
          margin: 0 0.5em 0.1em 0.3em; }
  #policyArea .checkArea .partsCheckbox {
    justify-content: center; }
    #policyArea .checkArea .partsCheckbox label span {
      font-size: 2.2rem;
      line-height: 1.82;
      font-weight: 500; }

@media screen and (min-width: 769px) {
  #policyArea {
    max-width: 720px; }
    #policyArea .policyTitle {
      font-size: 1.5rem;
      line-height: 1.73;
      margin: 0 0 calc(30 / 720 * 100%) 0;
      padding: calc(34 / 720 * 100%) 0 0 0; }
    #policyArea .box {
      font-size: 1.3rem;
      line-height: 1.85;
      margin: 0 0 calc(8 / 720 * 100%) 0;
      padding: 0 20px 0 0; }
      #policyArea .box .intro {
        font-size: 1.3rem;
        line-height: 1.85;
        margin: 0 0 calc(23 / 720 * 100%) 0; }
      #policyArea .box .row {
        margin: 0 0 calc(20 / 720 * 100%) 0; }
        #policyArea .box .row .head {
          font-size: 1.3rem;
          line-height: 1.85;
          margin: 0 0 calc(7 / 720 * 100%) 0; }
        #policyArea .box .row .cont p {
          font-size: 1.3rem;
          line-height: 1.85; }
        #policyArea .box .row .cont li {
          font-size: 1.3rem;
          line-height: 1.85;
          margin: 0 0 calc(7 / 720 * 100%) 0; }
    #policyArea .checkArea .partsCheckbox label span {
      font-size: 1.3rem;
      line-height: 1.85; } }
