@charset "UTF-8";
/*--- import -------------------------------------*/
/*------------------------------------- import ---*/
body {
  background: #f2f2f2; }

.pages .mv {
  background: url("../images/contact/contact_mv.jpg") no-repeat;
  background-size: cover;
  background-position: center; }
  .pages .mv .mv_txt {
    color: #4d4d4d;
    text-shadow: none; }
  .pages .mv .mv_img {
    width: 921px;
    position: absolute;
    top: 27%;
    left: 50%;
    transform: translate(-50%); }
  @media screen and (max-width: 1100px) {
    .pages .mv .mv_img {
      width: 83.7272727273vw; } }
  @media screen and (max-width: 750px) {
    .pages .mv .mv_img {
      top: 32%;
      width: 90.727273vw; } }

section .box_in {
  border: 1px solid #cccccc;
  padding: 60px 20px;
  width: 90%; }
  section .box_in h2.ttl {
    line-height: 1 !important; }
    section .box_in h2.ttl span {
      margin-right: 10px; }
@media screen and (max-width: 750px) {
  section {
    padding: 8vw 0; }
    section .box_in {
      padding: 8vw 3.333333vw; }
      section .box_in h2.ttl {
        line-height: 1.5 !important; }
        section .box_in h2.ttl span {
          position: relative;
          top: 1.2vw;
          left: -2vw;
          margin-right: 0; } }
@media screen and (max-width: 480px) {
  section .box_in {
    width: 95%; } }

.area01 .contents {
  margin-top: 10px; }
  .area01 .contents a {
    display: inline-block; }
    .area01 .contents a .p1 {
      font-weight: bold;
      font-size: 31px; }
      .area01 .contents a .p1 .min {
        font-size: 14px; }
@media screen and (max-width: 480px) {
  .area01 h2.ttl {
    letter-spacing: 0.05rem; }
  .area01 .contents {
    margin-top: 0vw; }
    .area01 .contents a .p1 {
      letter-spacing: 0; } }

.area02 {
  padding-top: 0; }
  .area02 .contents {
    margin-top: 10px; }
  @media screen and (max-width: 480px) {
    .area02 .contents {
      margin-top: 0vw; } }

form#mailformpro {
  padding: 0; }
  form#mailformpro .mailform {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
    margin-top: 10px;
    font-size: 15px; }
    form#mailformpro .mailform ul {
      letter-spacing: 0.05rem;
      display: flex; }
      form#mailformpro .mailform ul li {
        border-bottom: 1px solid #cccccc; }
      form#mailformpro .mailform ul .ttl {
        margin: 0;
        text-align: left;
        font-weight: bold;
        width: 180px;
        padding: 30px 0em;
        line-height: 1; }
      form#mailformpro .mailform ul .con {
        padding: 1em 0;
        line-height: 1.5em;
        text-align: left;
        width: calc(100% - 180px);
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        form#mailformpro .mailform ul .con input {
          width: 100%; }
        form#mailformpro .mailform ul .con .kome {
          display: block;
          width: 100%; }

@media screen and (max-width: 750px) {
  form#mailformpro .mailform {
    margin-top: 4vw; }
    form#mailformpro .mailform ul {
      display: block; }
      form#mailformpro .mailform ul li {
        border-bottom: none; }
      form#mailformpro .mailform ul .ttl {
        width: 100%;
        padding: 2em 0 0; }
      form#mailformpro .mailform ul .con {
        margin-top: 1.3333333333vw;
        padding: 1em;
        line-height: 1.5em;
        width: 100%;
        padding: 0; }
      form#mailformpro .mailform ul:first-child .ttl {
        padding-top: 0; } }
.need {
  position: relative; }
  .need:after {
    content: '必須';
    color: #b50014;
    letter-spacing: 0;
    font-size: 12px;
    display: inline-block;
    position: absolute;
    right: 15px;
    line-height: 1; }
  @media screen and (max-width: 750px) {
    .need:after {
      position: relative;
      right: -8px; } }

.mail_confirm {
  margin-bottom: 5px; }

.kome {
  margin-top: 5px;
  font-size: 16px; }
  @media screen and (max-width: 750px) {
    .kome {
      font-size: 0.8rem; } }

.area03 {
  padding-bottom: 0; }
  .area03 .box_in {
    padding: 60px 40px; }
  .area03 .contents {
    margin-top: 20px; }
    .area03 .contents .btnArea {
      margin-top: 40px; }
      .area03 .contents .btnArea a {
        display: block;
        background: #4d4d4d;
        margin: 0 auto;
        font-size: 14px;
        font-weight: bold;
        color: #FFF;
        padding: 10px;
        width: 100%;
        max-width: 160px; }
  @media screen and (max-width: 750px) {
    .area03 .box_in {
      padding: 8vw 3.333333vw; }
    .area03 .contents .txt {
      text-align: left; }
      .area03 .contents .txt br {
        display: none; } }
  @media screen and (max-width: 480px) {
    .area03 h2.ttl {
      letter-spacing: 0.05rem; }
    .area03 .contents {
      margin-top: 2.6666666667vw; } }
