
:root{--main:#d85b72;--accent:#f3aa3d;--soft:#fff7ec;--pink:#fff0f3;--text:#333;--brown:#3a302c;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;color:var(--text);background:var(--soft);line-height:1.8}
a{color:inherit}img{width:100%;display:block;object-fit:cover}.site-header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.header-inner{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{font-weight:900;color:var(--main);text-decoration:none;font-size:1.25rem;letter-spacing:.06em;white-space:nowrap}
.nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.nav a{text-decoration:none;font-weight:700;color:var(--brown);font-size:.93rem}.nav a:hover{color:var(--main)}
.dropdown{position:relative;font-weight:700;color:var(--brown);font-size:.93rem}.dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:190px;background:white;border-radius:14px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.14)}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:9px 12px;border-radius:10px}.dropdown-menu a:hover{background:var(--pink)}
.hero{min-height:74vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 20px;color:white;background:linear-gradient(rgba(40,20,10,.42),rgba(40,20,10,.42)),url("https://images.unsplash.com/photo-1513364776144-60967b0f800f?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat}.hero-small{min-height:350px;padding:70px 20px}
.hero h1{font-size:clamp(2.4rem,6vw,5rem);margin:0;letter-spacing:.07em}.hero p{font-size:clamp(1.05rem,2.2vw,1.45rem);margin-top:18px}.container{max-width:1120px;margin:0 auto;padding:72px 20px}
.section-title{color:var(--main);font-size:2rem;border-left:8px solid var(--accent);padding-left:16px;margin:0 0 30px}.lead{font-size:1.15rem;font-weight:500}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.photo{border-radius:24px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12)}.photo img{min-height:350px}
.cards,.link-grid,.profile-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.card,.link-box{background:white;border-radius:22px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.08)}.card img{height:300px}.card-body,.link-box{padding:24px}.card h3,.link-box strong{color:#c84c63;margin-top:0}.link-box{text-decoration:none;display:block}.link-box strong{display:block;font-size:1.25rem;margin-bottom:8px}
.message-box{background:var(--pink);border-radius:28px;padding:44px;text-align:center}.button{display:inline-block;background:var(--main);color:white;padding:14px 34px;border-radius:999px;text-decoration:none;font-weight:800;margin-top:18px}
.info-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.08)}.info-table th,.info-table td{padding:18px;border-bottom:1px solid #f0e3da;vertical-align:top}.info-table th{width:28%;background:#fff1dd;text-align:left}
.badge{display:inline-block;background:#fff1dd;color:var(--brown);padding:4px 12px;border-radius:999px;font-weight:700;font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.gallery-grid img{height:380px;border-radius:18px;box-shadow:0 5px 16px rgba(0,0,0,.10)}
.site-footer{background:var(--brown);color:white;text-align:center;padding:36px 20px;font-size:.9rem}@media(max-width:860px){.header-inner{display:block}.nav{margin-top:10px;justify-content:flex-start;gap:10px 14px}.dropdown-menu{position:static;display:block;box-shadow:none;padding:4px 0 0 10px;background:transparent}.dropdown-menu a{padding:4px 0}.two-column{grid-template-columns:1fr}.message-box{padding:30px 20px}.info-table th,.info-table td{display:block;width:100%}}
/* 設立の想いイラスト */

.concept-image {
  max-width: 900px;
  margin: 50px auto;
  text-align: center;
}

.concept-image img {
  width: 100%;
  height: auto;

  border-radius: 24px;

  box-shadow:
    0 10px 30px rgba(0,0,0,0.12);

  transition: 0.3s;
}

.concept-image img:hover {
  transform: scale(1.01);
}

.concept-caption {
  margin-top: 20px;

  font-size: 1rem;
  color: #666;

  line-height: 1.8;
}
.dropdown {
  position: relative;
}

.dropdown-label {
  font-weight: 700;
  cursor: pointer;
}

.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  /*right: 0; */
  left: 0;
  background: #fff;
  min-width: 180px;
  padding: 10px;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  z-index: 100;
}

.dropdown:hover .dropdown-menu {
  display: block;
}

.dropdown-menu a {
  display: block;
  padding: 8px 12px;
  white-space: nowrap;
}

.line-button {
  display: inline-block;
  background: #06c755;
  color: #fff;
  padding: 14px 30px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 16px;
}

.line-button:hover {
  opacity: 0.85;
}
