@charset "UTF-8";
/*
Template: swell
Theme Name: SWELL CHILD
Theme URI: https://swell-theme.com/
Description: SWELLの子テーマ
Version: 1.0.0
Author: LOOS WEB STUDIO
Author URI: https://loos-web-studio.com/
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

:root {
  --kash-navy: #08131f;
  --kash-ink: #182535;
  --kash-steel: #718196;
  --kash-mist: #eef1f3;
  --kash-gold: #c99b44;
  --kash-white: #fff;
}

.kashiwaba-top {
  color: var(--kash-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;
  overflow: hidden;
}

.kashiwaba-top *,
.kashiwaba-top *::before,
.kashiwaba-top *::after { box-sizing: border-box; }

.kashiwaba-top a { text-decoration: none; }

.kash-hero {
  position: relative;
  display: grid;
  min-height: min(720px, 78vh);
  place-items: center;
  isolation: isolate;
  background-color: var(--kash-navy);
  background-image: linear-gradient(100deg, rgba(3, 10, 17, .90), rgba(5, 16, 28, .53)), var(--kash-hero-image, none);
  background-position: center;
  background-size: cover;
  color: var(--kash-white);
}

.kash-hero::after {
  position: absolute;
  z-index: -1;
  right: -10vw;
  bottom: -16vw;
  width: 44vw;
  height: 44vw;
  border: 1px solid rgba(201, 155, 68, .35);
  border-radius: 50%;
  content: "";
}

.kash-hero__inner {
  width: min(1120px, calc(100% - 48px));
  padding: 96px 0;
}

.kash-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: #d7b773;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}

.kash-eyebrow::before { width: 42px; height: 1px; background: currentColor; content: ""; }

.kash-hero h1 {
  max-width: 870px;
  margin: 0;
  color: var(--kash-white);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(42px, 6.3vw, 86px);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.28;
}

.kash-hero__lead {
  max-width: 590px;
  margin: 30px 0 38px;
  color: rgba(255,255,255,.90);
  font-size: clamp(15px, 1.8vw, 19px);
  letter-spacing: .08em;
  line-height: 2;
}

.kash-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 240px;
  gap: 28px;
  padding: 17px 22px 17px 28px;
  border: 1px solid var(--kash-gold);
  color: #f7d98e;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.kash-button::after { content: "→"; font-size: 20px; font-weight: 400; }
.kash-button:hover { background: var(--kash-gold); color: var(--kash-navy); transform: translateY(-2px); }

.kash-section { padding: clamp(68px, 10vw, 130px) 24px; }
.kash-section--mist { background: var(--kash-mist); }
.kash-container { width: min(1120px, 100%); margin: 0 auto; }

.kash-section__head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 48px; }
.kash-section__kicker { margin: 0 0 14px; color: #94702f; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.kash-section h2 { margin: 0; color: var(--kash-navy); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(30px, 4vw, 48px); font-weight: 500; letter-spacing: .06em; line-height: 1.4; }
.kash-section__summary { max-width: 440px; margin: 0; color: #526170; font-size: 15px; line-height: 2; }

.kash-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.kash-intro__large { margin: 0; color: var(--kash-navy); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(27px, 3.4vw, 42px); font-weight: 500; letter-spacing: .09em; line-height: 1.7; }
.kash-intro__copy { margin: 0; color: #526170; font-size: 15px; letter-spacing: .04em; line-height: 2.15; }
.kash-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 38px; background: #d1d8de; }
.kash-stat { padding: 23px; background: var(--kash-white); }
.kash-stat b { display: block; color: var(--kash-navy); font-size: 25px; font-weight: 600; }
.kash-stat span { display: block; margin-top: 7px; color: #687687; font-size: 11px; letter-spacing: .08em; }

.kash-business { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kash-business__card { position: relative; min-height: 315px; padding: 34px; background: var(--kash-navy); color: var(--kash-white); overflow: hidden; }
.kash-business__card::before { position: absolute; top: -82px; right: -82px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; }
.kash-business__no { display: block; color: #d4ab59; font-family: Georgia, serif; font-size: 18px; font-style: italic; }
.kash-business h3 { position: relative; margin: 72px 0 16px; color: var(--kash-white); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 26px; font-weight: 500; letter-spacing: .08em; }
.kash-business p { position: relative; margin: 0; color: rgba(255,255,255,.70); font-size: 13px; line-height: 1.9; }
.kash-business__card:nth-child(2) { background: #26394b; }
.kash-business__card:nth-child(3) { background: #4a4134; }

.kash-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.kash-product { display: flex; flex-direction: column; min-height: 100%; background: var(--kash-white); box-shadow: 0 14px 40px rgba(9, 25, 39, .07); }
.kash-product__image { display: block; aspect-ratio: 1.18; background: linear-gradient(135deg, #dce3e8, #9baaba); overflow: hidden; }
.kash-product__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.kash-product:hover img { transform: scale(1.04); }
.kash-product__body { display: flex; flex: 1; flex-direction: column; padding: 25px 24px 27px; }
.kash-product__label { color: #997636; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.kash-product h3 { margin: 12px 0 16px; color: var(--kash-navy); font-size: 18px; letter-spacing: .04em; line-height: 1.55; }
.kash-product__price { margin-top: auto; color: #536473; font-size: 13px; }
.kash-product__more { color: var(--kash-navy); font-size: 12px; font-weight: 700; letter-spacing: .08em; }

.kash-products-empty { grid-column: 1 / -1; padding: 54px 24px; border: 1px solid #d4dce2; color: #5c6b78; text-align: center; }

.kash-cta { position: relative; padding: clamp(75px, 10vw, 130px) 24px; background: linear-gradient(125deg, #091723, #1e3145); color: var(--kash-white); overflow: hidden; }
.kash-cta::before { position: absolute; top: -24vw; right: -9vw; width: 52vw; height: 52vw; border: 1px solid rgba(201,155,68,.36); border-radius: 50%; content: ""; }
.kash-cta__inner { position: relative; width: min(1120px, 100%); margin: 0 auto; }
.kash-cta h2 { max-width: 780px; margin: 0 0 24px; color: var(--kash-white); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(32px, 4.8vw, 61px); font-weight: 500; letter-spacing: .06em; line-height: 1.46; }
.kash-cta p { max-width: 580px; margin: 0 0 34px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 2; }

@media (max-width: 767px) {
  .kash-hero { min-height: 620px; }
  .kash-hero__inner { width: min(100% - 40px, 1120px); padding: 80px 0; }
  .kash-hero h1 { font-size: 42px; letter-spacing: .06em; }
  .kash-section__head { display: block; margin-bottom: 32px; }
  .kash-section__summary { margin-top: 18px; }
  .kash-intro, .kash-business, .kash-products { grid-template-columns: 1fr; }
  .kash-business__card { min-height: 250px; }
  .kash-business h3 { margin-top: 48px; }
}

/* 柏葉産業・試作トップページのみ */
.l-mainContent:has(.kashiwaba-top) .c-pageTitle,
.l-mainContent:has(.kashiwaba-top) .p-breadcrumb { display: none !important; }
.l-mainContent:has(.kashiwaba-top) .l-mainContent__inner,
.l-mainContent:has(.kashiwaba-top) .post_content { max-width: none; width: 100%; padding: 0; }
@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* 試作トップの余白・パンくずを調整 */
#body_wrap:has(.kashiwaba-top) .p-breadcrumb { display: none !important; }
#body_wrap:has(.kashiwaba-top) .post_content { margin-top: 0 !important; }

/* 新トップを使う時はSWELL標準の旧メインビジュアルを表示しない */
#body_wrap:has(.kashiwaba-top) #main_visual { display: none !important; }
