/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* visible
/* ====================================================*/

/* visible
------------------------------*/
.is-xl-visible {
  display: none;
}

@media screen and (min-width: 1200px) {
  .is-xl-visible {
    display: block;
  }
}

.is-lg-visible {
  display: none;
}

@media screen and (min-width: 992px) {
  .is-lg-visible {
    display: block;
  }
}

.is-md-visible {
  display: none;
}

@media screen and (min-width: 768px) {
  .is-md-visible {
    display: block;
  }
}

.is-sm-visible {
  display: none;
}

@media screen and (min-width: 576px) {
  .is-sm-visible {
    display: block;
  }
}

/* hidden
------------------------------*/
.is-xl-hidden {
  display: block;
}

@media screen and (min-width: 1200px) {
  .is-xl-hidden {
    display: none;
  }
}

.is-lg-hidden {
  display: block;
}

@media screen and (min-width: 992px) {
  .is-lg-hidden {
    display: none;
  }
}

.is-md-hidden {
  display: block;
}

@media screen and (min-width: 768px) {
  .is-md-hidden {
    display: none;
  }
}

.is-sm-hidden {
  display: block;
}

@media screen and (min-width: 576px) {
  .is-sm-hidden {
    display: none;
  }
}



/* =====================================================
　wpcf7
===================================================== */
.wpcf7 form label {
  display: block;
  font-size: 20px;
  font-weight:bold;
  color: #4b3b00;
  margin-bottom: 0.5rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e0d8b5;
  border-radius: 8px;
  background-color: #fffdf7;
  font-size: 16px;
  color: #333;
  transition: all 0.2s ease;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) inset;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #7bb661;
  background-color: #fafff4;
  outline: none;
  box-shadow: 0 0 0 2px rgba(123, 182, 97, 0.15);
  transition: all 0.2s ease;
}

.wpcf7 textarea {
  min-height: 160px;
  resize: vertical;
}

.wpcf7 .form-item {
	margin-bottom:2rem;
}

.wpcf7 form .required {
  display: inline-block;
  background-color: #FF700A;
  color: #fff;
  font-size: 14px;
  font-weight:bold;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 50px;
  margin-left: 6px;
  vertical-align: middle;
}

.wpcf7 select {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e0d8b5;
  border-radius: 8px;
  background-color: #fff;
  font-size: 16px;
  color: #333;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) inset;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%234b3b00' height='10' width='10' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 10,0 5,7'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px;
}

.wpcf7 select:focus {
  border-color: #f5b800;
  background-color: #fffbe8;
  outline: none;
}

.wpcf7 input[type="submit"] {
  display: inline-block;
  width: 250px;
  padding: 10px 36px;
  border: 3px solid #FF700A;
  border-radius: 50px;
  background-color: #fff;
  color: #4b3b00;
  font-size: 22px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.wpcf7 input[type="submit"]:hover {
  background-color: #ffefcc;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
}

.wpcf7 input[type="submit"]:active {
  background-color: #ffe6b8;
  transform: translateY(1px);
}

.wpcf7 .p-policy-link{
  font-size: 16px;
  color: #604C3F;
  text-decoration: underline;
}

.wpcf7 .p-policy-link:hover {
  color: #604C3F;
  opacity: 0.8;
}

/* */
.wpcf7 .wpcf7-form-control.wpcf7-acceptance {
  display: block !important;
  margin: 0 auto !important;
  text-align: center;
}

.wpcf7 .wpcf7-submit {
  display: block !important;
  margin: 20px auto 0 auto !important;
}

@media screen and (max-width: 576px) {
	.wpcf7 form label {
		font-size:16px;
	}
}



/* =====================================================
　見出しテキスト（h3）への調整
===================================================== */

.point-heading {
  display: inline-block;
  background-color: #a4c639;
  color: #fff;
  border-radius: 50px;
  padding: 1rem 1rem;
}

/* =====================================================
　ボタンアニメーション
===================================================== */

/* ベース */
.btn-sweep_01 .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 36px;
  border: 2px solid #f28c38;
  border-radius: 50px;
  color: #f28c38;
  background: transparent;
  overflow: hidden;
  font-weight: 600;
  transition: color 0.6s ease;
}

/* 塗りアニメーション */
.btn-sweep_01 .elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #f28c38;
  transition: width 0.6s ease;
  z-index: 0;
}
.btn-sweep_01 .elementor-button:hover::before {
  width: 100%;
}
.btn-sweep_01 .elementor-button:hover {
  color: #fff;
}
.btn-sweep_01 .elementor-button-text {
  position: relative;
  z-index: 1;
}


/* ==== 共通設定 ==== */
.cta-button--orange .elementor-button-icon svg,
.cta-button--green .elementor-button-icon svg {
  transition: fill 0.3s ease;
}

/* ==== オレンジ ==== */
.cta-button--orange .elementor-button-icon svg rect {
  fill: #FF8D0A;
}
.cta-button--orange .elementor-button-icon svg path {
  fill: #fff;
}
.cta-button--orange .elementor-button:hover .elementor-button-icon svg rect {
  fill: #fff;
}
.cta-button--orange .elementor-button:hover .elementor-button-icon svg path {
  fill: #FF8D0A;
}

/* ==== グリーン ==== */
.cta-button--green .elementor-button-icon svg rect {
  fill: #3A9C6E;
}
.cta-button--green .elementor-button-icon svg path {
  fill: #fff;
}
.cta-button--green .elementor-button:hover .elementor-button-icon svg rect {
  fill: #fff;
}
.cta-button--green .elementor-button:hover .elementor-button-icon svg path {
  fill: #3A9C6E;
}


/* =====================================================
　斜め線　見出し装飾
===================================================== */
.heading--angled-lines {
  position: relative;
  display: inline-block;
  text-align: center;
  padding: 0 2.5em;
}

.heading--angled-lines .elementor-heading-title {
  position: relative;
  font-weight: 700;
  color: #5a3a00;
  line-height: 1.4;
}

.heading--angled-lines::before,
.heading--angled-lines::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 45px;
  height: 2px;
  background-color: #ff8d0a;
}

.heading--angled-lines::before {
  left: -25px;
  transform: translateY(-50%) rotate(50deg);
}

.heading--angled-lines::after {
  right: -25px;
  transform: translateY(-50%) rotate(-50deg);
}

/* 下線見出し */
.heading-deco-shortline .elementor-heading-title {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

.heading-deco-shortline .elementor-heading-title:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
  width: 60%;
  height: 3px;
  background: #F28C28;
  border-radius: 2px;
}



/* =========================================================
   section-triangle（下部の二重三角）
========================================================= */

.elementor-element-9068cd9 {
  background-size: 100% auto !important;
  background-position: bottom center !important;
  background-repeat: no-repeat !important;
}



/* =========================================================
   会社概要
========================================================= */
.company-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  color: #604C3F;
}

.company-table .row {
  display: flex;
  border-bottom: 1px solid #ccc;
}

.company-table .th {
  width: 25%;
  background-color: #8FC31F;
  padding: 12px 10px;
  font-weight: bold;
  box-sizing: border-box;
	color:#fff;
}

.company-table .td {
  width: 75%;
  background-color: #fff;
  padding: 12px 10px;
  box-sizing: border-box;
  line-height: 1.6;
}

@media screen and (max-width: 576px) {
	.company-table .th {
		  width: 30%;
	}
	.company-table .td {
		  width: 70%;
	}
}


