/*
Theme Name: swell_child
Template: swell
*/


/* hero */
.post_content .hero-messs h2 {
  margin-top: 1rem !important;
}
/* top catch */
.top-catch .swell-block-fullWide__inner::before {
  /* content: ""; */
  background-image: url(http://inabaemi.local/wp-content/uploads/2025/12/Pasta.png);
  background-size: contain;
  position: absolute;
  height: 300px;
  width: 300px;
  left: -81px;
  transform: translateX(-50%);
  top: -17%;
  z-index: 10;
}
.top-catch .swell-block-fullWide__inner::after {
  /* content: ""; */
  background-image: url(https://emi-inaba.com//wp-content/uploads/2025/12/tomatoes.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  height: 300px;
  width: 300px;
  top: -4%;
  right: -48%;
  transform: translateX(-50%);
  z-index: 10;
}


.top-catch::after .swell-block-fullWide__inner {
  position: relative;
}

.top-catch .swell-block-fullWide__inner .wp-block-group::after {
  position: absolute;
  /* content: ""; */
  width: 100%;
  height: 150%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 2px solid #F4CE12;
  border-radius: 65% / 65%;
  /*  ↑ 横方向50%、縦方向65% → 楕円になる */
  pointer-events: none;
  z-index: -10;
}

@media (min-width: 960px) {
  .pc-py-80.top-catch  {
      padding-bottom: 8em !important;
      padding-top: 15em !important;
  }
}


/* スライダー */
.loop-slider {
  display: flex;
  overflow: hidden;
  gap: 1.5rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
  display: contents;
}

.loop-slider .swell-block-columns__inner {
  flex-wrap: nowrap;
  animation: infinity-scroll-left 25s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
  width: 400px; /* 画像の横幅を指定（パソコン） */
  position: relative;
}

.loop-slider .swell-block-column figure::before {
  padding-top: 65%; /* 画像の縦横比を指定 */
  display: block;
  content: "";
}

.loop-slider .swell-block-column figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 959px) {
  .loop-slider .swell-block-column figure {
      width: 150px; /* 画像の横幅を指定（スマホ） */
  }
}

@keyframes infinity-scroll-left {
  from {
      transform: translateX(0);
  }

  to {
      transform: translateX(-100%);
  }
}

/* service */

.service-content {
  position: relative;
}
.service-content .service-text {
  position: absolute;
  bottom: 1rem;
  left: 5px;
  color: white;
}

@media screen and (min-width:767px){

  .top-about-text {
    position: absolute;
    right: 55%;
    top: 50%;
    transform: translate(100%, -50%);
    background: #ffffffa1;
    padding: 1rem !important;
  }
  .top-about-text2 {
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-100%, -50%);
    background: #ffffffa1;
    padding: 1rem !important;
  }

  .just-end > div {
    justify-content: end;
  }

  .top-works::after {
    content: "";
    position: absolute;
    top: -130px;
    right: 0;
    transform: translateX(50%);
    width: 370px;
    height: 370px;
    z-index: 100;
    background-size: contain;
    background-image: url(https://emi-inaba.com//wp-content/uploads/2025/12/Pasta.png);
}
.top-profile::after {
  content: "";
  position: absolute;
  top: -20px;
  left: 1%;
  transform: translateX(-50%) rotate(25deg);
  width: 170px;
  height: 190px;
  z-index: 100;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(https://emi-inaba.com//wp-content/uploads/2026/01/22093066.png);
}
.about-us::after {
  content: "";
  position: absolute;
  top: -120px;
  left: -180px;
  transform: translateX(50%) rotate(-25deg);
  width: 280px;
  height: 250px;
  z-index: 100;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(https://emi-inaba.com//wp-content/uploads/2026/01/22805708.png);
}

}
.service-content {
  position: relative;
}
.service-content  img {
  filter: brightness(0.75);
  transition: filter .45s ease;
}
.service-content:hover  img {
  filter: brightness(0.9);
}
.service-group {
  position: absolute;
  bottom: 0;
  color: white;
}

/* ===== Contact Form 7: layout ===== */
.cf7-wrap {
  width: 100%;
  margin: 0 auto;
  max-width: 920px;
  color: #333;
}

/* form spacing */
.cf7-wrap .cf7-row {
  margin-bottom: 16px;
}

.cf7-wrap .cf7-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #333;
}

.cf7-wrap .cf7-req {
  font-weight: 700;
  font-size: 12px;
  margin-left: 6px;
  opacity: 0.8;
}

/* inputs */
.cf7-wrap input[type="text"],
.cf7-wrap input[type="email"],
.cf7-wrap select,
.cf7-wrap textarea {
  width: 100%;
  border: 1px solid rgba(51, 51, 51, 0.25);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  color: #333;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}

/* textarea */
.cf7-wrap textarea {
  min-height: 160px;
  resize: vertical;
}

/* focus */
.cf7-wrap input[type="text"]:focus,
.cf7-wrap input[type="email"]:focus,
.cf7-wrap select:focus,
.cf7-wrap textarea:focus {
  border-color: rgba(51, 51, 51, 0.6);
}

/* 2-column grid */
.cf7-wrap .cf7-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.cf7-wrap .cf7-privacy {
  margin-top: 8px;
}

/* acceptance text */
.cf7-wrap .wpcf7-list-item {
  margin: 0;
}
.cf7-wrap .wpcf7-list-item-label {
  color: #333;
}

/* submit button */
.cf7-wrap .cf7-submit {
  margin-top: 8px;
}

.cf7-wrap .cf7-btn {
  width: 100%;
  border: none;
  border-radius: 999px;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  background: #333;
  color: #fff;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.cf7-wrap .cf7-btn:hover {
  transform: translateY(-2px);
  opacity: 0.95;
}

.cf7-wrap .cf7-note {
  margin-top: 14px;
  font-size: 12px;
  color: rgba(51, 51, 51, 0.8);
  line-height: 1.6;
}

/* CF7 validation */
.cf7-wrap .wpcf7-not-valid-tip {
  font-size: 12px;
  margin-top: 6px;
}

.cf7-wrap .wpcf7-response-output {
  border-radius: 10px;
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
  .cf7-wrap {
    width: 92%;
  }

  .cf7-wrap .cf7-grid-2 {
    grid-template-columns: 1fr;
  }

  .cf7-wrap input[type="text"],
  .cf7-wrap input[type="email"],
  .cf7-wrap select,
  .cf7-wrap textarea {
    font-size: 14px;
    padding: 11px 12px;
    border-radius: 9px;
  }

  .cf7-wrap .cf7-btn {
    font-size: 15px;
    padding: 13px 16px;
  }


  .top-about-text , .top-about-text2 {
    padding-left: 1.5rem !important;padding-right: 1.5rem !important;
  }
  .just-end > div {
    flex-wrap: wrap-reverse;
  }
  .post_content div .just-end {
    margin-bottom: 8rem !important;
  }
  .is-style-bg_grid {
    padding: 0;
  }
  .service-contents > div {
    padding: 0;
  }
  .service-contens-text p {
    text-align: left;
    font-size: 15px;
  }

}

/* 親を基準にする */
.service-content {
  position: relative;
}

/* 右上にテキストを出す（見た目だけ） */
.service-content::after {
  content: "View all";
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 14px;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding-bottom: 4px;
}

/* 下線（初期は0） */
@media (hover: hover) and (pointer: fine) {
  .service-content::after {
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0% 1px;
    transition: background-size 0.3s ease;
  }

  .service-content:hover::after {
    background-size: 100% 1px;
  }
}


.top #content {
  padding-top: 2em;
}

.copy-rite a:hover{
	transform:scale(1.1) !important;
}