@charset "UTF-8";
/*===================================
メインビジュアル
===================================*/
.main_wrap {
  padding-top: 90px; }
  @media (max-width: 767px) {
    .main_wrap {
      padding-top: 70px; } }

#message .visual {
  background-image: url(../img/message/message.jpg); }

#service .visual {
  background-image: url(../img/service/service.jpg); }

#contact .visual {
  background-image: url(../img/contact/contact.jpg);
  background-position: 75% 50%; }

.visual {
  width: 100%;
  height: 400px;
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  /* 子要素の絶対配置の基準 */ }
  @media (max-width: 767px) {
    .visual {
      height: 130px; } }

.ttl_Lv1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 完全な中央揃え */
  color: white;
  /* 読みやすい色に変更 */
  font-size: 46px;
  letter-spacing: 3px;
  text-align: center;
  white-space: nowrap;
  /* 必要に応じてテキスト折り返し防止 */ }
  @media (max-width: 767px) {
    .ttl_Lv1 {
      font-size: 25px; } }
  .ttl_Lv1::after {
    content: "";
    display: block;
    width: 60px;
    height: 5px;
    background-color: #9F815D;
    margin: 10px auto 0; }
    @media (max-width: 767px) {
      .ttl_Lv1::after {
        width: 55px;
        height: 2px;
        margin: 0 auto; } }

/*===================================
代表挨拶
===================================*/
.message_wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 20px 0;
  display: flex; }
  @media (max-width: 767px) {
    .message_wrap {
      padding: 25px 20px 0;
      display: block; } }
  @media (max-width: 767px) {
    .message_wrap .message_box {
      display: flex;
      align-items: end;
      margin-bottom: 20px; } }
  @media (max-width: 767px) {
    .message_wrap .message_box img {
      width: 40%;
      max-width: 200px; } }
  .message_wrap .message_box ul {
    margin-top: 20px;
    font-weight: bold; }
    @media (max-width: 767px) {
      .message_wrap .message_box ul {
        margin-left: 15px; } }
    .message_wrap .message_box ul li:first-child {
      margin-top: 10px; }
  .message_wrap .message_txt {
    line-height: 1.6;
    width: 55%;
    margin-left: auto; }
    @media (min-width: 1081px) {
      .message_wrap .message_txt {
        line-height: 1.5;
        width: 65%; } }
    @media (max-width: 767px) {
      .message_wrap .message_txt {
        width: 100%; } }
    .message_wrap .message_txt p {
      margin-top: 35px; }
      @media (max-width: 767px) {
        .message_wrap .message_txt p {
          margin-top: 25px; } }
    .message_wrap .message_txt p:first-child {
      margin-top: 0; }

/*===================================
事業紹介
===================================*/
.card_wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 35px 20px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    .card_wrap {
      justify-content: center;
      padding: 10px 20px 0; } }
  .card_wrap .card {
    max-width: 340px;
    background-color: #24252D;
    padding: 15px 15px 40px;
    margin-top: 25px; }
    .card_wrap .card .card_ttl {
      font-size: 18px;
      padding-top: 17px;
      text-align: center; }
    .card_wrap .card .card_txt {
      padding-top: 35px;
      line-height: 1.6; }
      @media (max-width: 767px) {
        .card_wrap .card .card_txt {
          padding-top: 25px;
          line-height: 1.8; } }

/*===================================
お問い合わせ
===================================*/
.contact_wrap {
  max-width: 825px;
  margin: 0 auto;
  padding: 60px 20px 0; }
  @media (max-width: 767px) {
    .contact_wrap {
      padding: 25px 20px 0; } }
  .contact_wrap .attention {
    font-size: 14px;
    margin-bottom: 25px;
    color: #ff0000; }
  .contact_wrap label, .contact_wrap .confirm {
    display: flex;
    font-weight: bold;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      .contact_wrap label, .contact_wrap .confirm {
        display: block;
        margin-bottom: 20px; } }
    .contact_wrap label #confirm-message, .contact_wrap label span, .contact_wrap .confirm #confirm-message, .contact_wrap .confirm span {
      width: 100%;
      max-width: 455px;
      margin-left: auto; }

.confirm_wrap label {
  line-height: 2.8rem; }

.contact_thanks__wrap {
  max-width: 825px;
  margin: 0 auto;
  padding: 60px 20px 0;
  text-align: center;
  letter-spacing: .13rem; }
  @media (max-width: 767px) {
    .contact_thanks__wrap {
      padding: 25px 20px 0;
      text-align: left; } }
  .contact_thanks__wrap .form_01 {
    font-weight: bold;
    line-height: 1.8rem;
    font-size: 20px; }
    @media (max-width: 767px) {
      .contact_thanks__wrap .form_01 {
        font-size: 16px; } }
  .contact_thanks__wrap .form_02 {
    margin-top: 30px; }
    @media (max-width: 767px) {
      .contact_thanks__wrap .form_02 {
        margin-top: 25px;
        font-size: 14px; } }
    .contact_thanks__wrap .form_02 .red {
      color: #ff0000; }

.input-name {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px; }
  @media (max-width: 767px) {
    .input-name {
      margin-top: 6px; } }

.input-address {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px; }
  @media (max-width: 767px) {
    .input-address {
      margin-top: 6px; } }

.input-phone {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px; }
  @media (max-width: 767px) {
    .input-phone {
      margin-top: 6px; } }

.input-email {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px; }
  @media (max-width: 767px) {
    .input-email {
      margin-top: 6px; } }

.input-message {
  width: 100%;
  height: 150px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px; }
  @media (max-width: 767px) {
    .input-message {
      margin-top: 6px; } }

.wpcf7-spinner {
  display: none !important; }

.submit-button {
  display: block;
  width: 175px;
  padding: 15px 0;
  background-color: #9F815D;
  color: white;
  border: solid 1px #9F815D;
  cursor: pointer;
  transition: 1s;
  margin: 45px auto 0;
  font-size: 20px; }
  @media (max-width: 767px) {
    .submit-button {
      padding: 10px 0;
      margin: 30px auto 0;
      font-size: 18px; } }

.submit-button:hover {
  background-color: #fff;
  color: #9F815D; }

.button_wrap p {
  display: flex;
  justify-content: center;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .button_wrap p {
      display: block; } }
  .button_wrap p .btn {
    display: block;
    width: 175px;
    padding: 15px 0;
    background-color: #9F815D;
    color: white;
    border: solid 1px #9F815D;
    cursor: pointer;
    transition: 1s;
    font-size: 20px; }
    @media (max-width: 767px) {
      .button_wrap p .btn {
        padding: 10px 0;
        margin: 0 auto;
        font-size: 18px; } }
    .button_wrap p .btn:hover {
      background-color: #fff;
      color: #9F815D; }
  .button_wrap p .btn:first-child {
    margin-right: 25px; }
    @media (max-width: 767px) {
      .button_wrap p .btn:first-child {
        margin-right: auto; } }
