 /*
 Theme Name: sasayamaishimaru
 Version: 0.1.2
 */


 body {
     background-size: cover;
     background-position-x: center;
 }

 section {
     position: relative;
     padding: 5rem 2rem;
 }

 section.bg-beige_g {
     background-image: linear-gradient(#f2efe7, #fff);
 }

 section.bg-beige {
     background: #f2efe7;
 }

 h2 {
     font-weight: 700 !important;
     font-size: 2rem !important;
     line-height: 1 !important;
     margin-bottom: 2.5rem ;
 }

 p.lead {
     font-size: 1.25rem;
     font-weight: 400;
     line-height: 1.625;
 }

 .font-bold {
     font-weight: 600;
 }

 .shadow {
     box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1);
 }

 .fukuro {
     font-size: 1000%;
     color: #fff;
     text-shadow:
         -1px -1px 0 #eee,
         1px -1px 0 #eee,
         -1px 1px 0 #eee,
         1px 1px 0 #eee;
     position: absolute;
     top: 2rem;
     z-index: -1;
     line-height: 1;
     padding: 0;
     margin: 0;
     transition: transform 0.3s ease-out;
     transform: translateX(0px);
 }

 .bg-beige_g .fukuro {
     color: #f2efe7;
     text-shadow:
         -1px -1px 0 #fff,
         1px -1px 0 #fff,
         -1px 1px 0 #fff,
         1px 1px 0 #fff;
 }

 .p-Features .card {
     background: #fff;
     border-radius: 1rem;
     padding: 2rem;
     margin-bottom: 3rem;
 }

  .nav-main_pc li {
     font-size: 1rem;
     line-height: 3em;
 }

/* 通常状態 */
.nav-main_pc li a {
  display: inline-block;
  padding: 0 0.5rem;
  line-height: 3em; /* 既存に合わせる */
  border-bottom: 2px solid transparent; /* デフォルトは透明 */
  transition: border-color 0.2s ease, color 0.2s ease;
}

/* ホバー時 */
.nav-main_pc li a:hover {
  color: #1e40af;
  border-bottom-color: #1e40af;
  font-weight: bold;
}

/* 現在ページ（.current-menu-item） */
.nav-main_pc li.current-menu-item a {
  border-bottom-color: #1e40af;
  font-weight: bold;
}


 .nav-main_mob li {
     font-size: 1.2rem;
     line-height: 2rem;
     text-align: left;
     font-weight: 600;
     margin-bottom: 1rem;
 }

/* 通常状態 */
.nav-main_sp li a {
  display: inline-block;
  font-weight: 600;
  border-bottom: 2px solid transparent; /* デフォルトは透明 */
  transition: border-color 0.2s ease, color 0.2s ease;
}

/* ホバー時 */
.nav-main_sp li a:hover {
  color: #1e40af;
  border-bottom-color: #1e40af;
  font-weight: bold;
}

 #footer {
     padding-bottom: 2.5rem;
     background: black;
     color: white;
 }

 .menu-panel {
     display: none;
     pointer-events: none;
 }



.p-service-card h4{
font-size:1.2em;
text-align:center;
margin-bottom:1rem;
color:#605101;
font-weight:bold;
}

/*form*/
/* ==== Label ==== */
label,
.label {
  color: #363636;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1em;
}

/* ==== Input, Textarea, Select ==== */
input,
textarea,
select {
  background-color: #fff;
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  color: #333;
  border: 1px solid #d0d0d0;
  max-width: 100%;
  width: 100%;
  padding: 0.625em 0.75em;
  font-size: 1rem;
  line-height: 1.5;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #485fc7;
  border: 1px solid #d0d0d0;
  outline: none;
}

input[disabled],
textarea[disabled],
select[disabled] {
  background-color: #f5f5f5;
  border-color: #f5f5f5;
  box-shadow: none;
  color: #7a7a7a;
}

/* ==== Textarea ==== */
textarea {
  min-height: 120px;
  resize: vertical;
}

/* ==== Select Box ==== */
.selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox select {
    appearance: none;
    min-width: 230px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

/* ==== Checkbox & Radio ==== */
input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  margin-right: 0.5em;
  width: auto;
}

/* ==== File Input ==== */
input[type="file"] {
  cursor: pointer;
}

/* ==== Buttons ==== */
form button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  background-color: #111;
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  padding: 0.7em 1em;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}

form button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  border-color: #111;
  background: #333;
  color: #fff;
}

form button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
  border-color: #485fc7;
  box-shadow: 0 0 0 0.125em rgba(72,95,199,0.25);
  outline: none;
}

form button.primary,
input[type="submit"].primary {
  background-color: #485fc7;
  border-color: transparent;
  color: #fff;
}

form button.primary:hover,
input[type="submit"].primary:hover {
  background-color: #3e56c4;
  color: #fff;
}




/* ===== Scroll Reveal base ===== */
.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

/* 方向のバリエーション（data-reveal="left|right|up|down"） */
.reveal[data-reveal="left"]  { transform: translateX(-16px); }
.reveal[data-reveal="right"] { transform: translateX(16px);  }
.reveal[data-reveal="up"]    { transform: translateY(16px);  }
.reveal[data-reveal="down"]  { transform: translateY(-16px); }

/* 表示時に付与される */
.reveal-in {
  opacity: 1;
  transform: none !important;
}

/* 少しリッチに（必要なら） */
.reveal.reveal-soft { filter: blur(2px); }
.reveal-in.reveal-soft { filter: blur(0); }

/* メディアクエリ：動きを減らす設定の人にはアニメ無効 */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
