/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ------ デスクトップヘッダーを追従させる ------ */
#ast-desktop-header, #ast-mobile-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
body {
  margin-top: 70px; 
}
/* スクロール時にちらつきを防ぐ */
html {
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
	body {
    margin-top: 80px; 
  }
	.main-navigation {
  background-color: #ffffff; 
  border-top: 2px solid #F5F8FF; 
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  padding: 15px 0;
}
}

/* ------ タイトル非表示 ------ */
.site-title{
	display: none;
}


/* ------ ボタンアイコン ------ */
.contactbtn .elementor-button-text {
  display: inline-flex;       /* 子要素を横並びに */
  align-items: center;        /* 縦位置を中央揃え */
}

.contactbtn .elementor-button-text::before {
  content: '\f0e0';           /* メールアイコン */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 20px;         /* アイコンと文字の間隔 */
}

/* ------ メールフォーム ------ */
/*  全体調整  */
.wpcf7 form {
  margin: 0 auto;
  font-size: 16px;
  color: #333;
}

/*  テーブル基本デザイン  */
table.inquiry {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 25px;
}

table.inquiry th,
table.inquiry td {
	background-color: #fff;
  border: 1px solid #ddd;
  padding: 20px 15px 0;
  vertical-align: middle;
}

table.inquiry th {
  width: 30%;
	padding: 20px 15px;
  text-align: left;
  font-weight: 600;
}


.wpcf7 form p {
  margin: 0 !important;
  padding: 0 !important;
}
/*  必須マーク  */
.haveto {
  display: inline-block;
  background-color: #e54242;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 3px;
  padding: 1px 6px;
  margin-left: 8px;
}

/*  入力欄  */
table.inquiry input[type="text"],
table.inquiry input[type="email"],
table.inquiry input[type="tel"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 15px;
}

table.inquiry input:focus {
  border-color: #e54242;
  box-shadow: 0 0 0 3px rgba(229, 66, 66, 0.15);
  outline: none;
}
.inquiry td input,
.inquiry td textarea,
.inquiry td select {
  margin-bottom: 4px !important;
}
/*  テキストエリア  */
.wpcf7 textarea {
  width: 100%;
  min-height: 160px;
  padding: 12px 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 15px;
}

.wpcf7 textarea:focus {
  border-color: #e54242;
  box-shadow: 0 0 0 3px rgba(229, 66, 66, 0.15);
  outline: none;
}


/*  見出し  */
.wpcf7 h5 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin: 40px 0 15px;
  color: #333;
}

/*  注意文  */
.look {
  margin: 20px 0;
  background: #f8f8f8;
  padding: 15px 25px;
  border-radius: 6px;
}

.look ul {
  margin: 0;
  padding-left: 20px;
}

.look li {
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.6;
}

/*  送信ボタン  */
#formbtn {
  display: block;
  margin: 30px auto 0;
  background-color: #e54242;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  padding: 14px 50px;
  cursor: pointer;
  transition: all 0.3s ease;
}

#formbtn:hover {
  background-color: #546391;
  transform: translateY(-2px);
}

/*  メッセージ表示  */
.wpcf7 form .wpcf7-response-output {
  margin-top: 25px;
  padding: 15px;
  border-radius: 6px;
  font-weight: 500;
}

.wpcf7 form .wpcf7-mail-sent-ok {
  border: 2px solid #546391;
  color: #546391;
  background: #f0f3f9;
}

.wpcf7 form .wpcf7-validation-errors {
  border: 2px solid #e54242;
  color: #e54242;
  background: #fff5f5;
}
/*  必須マークの位置を右揃えにする  */
table.inquiry th {
  position: relative;
  padding-right: 80px;
}

table.inquiry .haveto {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}


/*  スマホ対応  */
@media (max-width: 767px) {
  table.inquiry,
  table.inquiry tbody,
  table.inquiry tr,
  table.inquiry th,
  table.inquiry td {
    display: block;
    width: 100%;
  }

  /* 各行をカード化 */
  table.inquiry tr {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-bottom: 15px;
    padding: 10px 12px;
    background: #fff;
  }

  /* th・td の細かい調整 */
  table.inquiry th {
    background-color: transparent;
    border: none;
    padding-top: 10px;
    font-weight: bold;
  }

  table.inquiry td {
    border: none; /* 下線も不要なら削除 */
    padding-top: 5px;
    padding-bottom: 15px;
  }

  /* 送信ボタン */
  #formbtn {
    width: 100%;
    padding: 16px;
  }
}

/*  アクティブメニュー色を無効化  */
.main-header-bar-navigation a {
  color: inherit !important; 
  opacity: 1; 
  pointer-events: auto; 
}
.main-header-bar-navigation a:hover {
  color: #94A3B8 !important; 
}
.uael-menu-item {
	color: #fff !important;
  opacity: 1;
}
.uael-menu-item:hover {
	color: #94A3B8 !important;
}

a {
	color: inherit;
	text-decoration: none !important;
}