/*
Theme Name: Aim Attain 貸会議室
Theme URI: https://aimattain.jp/
Author: Aim Attain
Description: エイムアテイン貸会議室のオリジナルWordPressテーマ。博多駅前・博多駅東の貸会議室、料金・見積、貸出備品、お弁当、アクセス・会社概要ページを含みます。
Version: 1.0.5
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aimattain
*/

/* ===== base reset ===== */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  color: #2C2722;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
h1, h2 { letter-spacing: .04em; }
a { color: inherit; }

/* ===== hamburger (hidden on desktop) ===== */
.hamburger { display: none; }

/* ===== banner carousel ===== */
.banner-track::-webkit-scrollbar { display: none; }
.banner-item { flex: 0 0 calc(50% - 8px); scroll-snap-align: start; }

@keyframes kbfade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ===== responsive ===== */
@media (max-width: 980px) {
  .pc-utilbar { display: none !important; }
  .pc-nav { display: none !important; }
  .pc-reserve { display: none !important; }
  .hamburger { display: inline-flex !important; }
  body { padding-bottom: 68px; }
  .mobile-cta { display: grid !important; }
  .foot-left { flex-direction: column !important; gap: 26px !important; }
  .blog-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .feat-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .mem-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .feat-card { flex-direction: row !important; align-items: stretch; border-radius: 5px !important; }
  .feat-card > div:first-child { width: 38%; max-width: 190px; flex-shrink: 0; }
  .feat-card > div:first-child img { height: 100% !important; object-fit: cover; }
  .feat-card > div:last-child { flex: 1; display: flex; flex-direction: column; justify-content: center; }
  .mem-benefits > div { border-radius: 5px !important; }
}
@media (min-width: 981px) {
  .mobile-menu { display: none !important; }
  .mobile-cta { display: none !important; }
}
@media (max-width: 700px) {
  .aim-room-row { flex-direction: column !important; }
  .aim-room-photo { max-width: none !important; width: 100% !important; min-height: 0 !important; aspect-ratio: 16/10; }
}
@media (max-width: 560px) {
  .foot-row { flex-direction: column !important; gap: 32px !important; }
  .rooms-grid { grid-template-columns: 1fr !important; }
  .room-card { border-right: none !important; border-bottom: 1px solid #EAE4D8; }
  .sec-h2 { font-size: 23px !important; }
  .wrap { padding-left: 20px !important; padding-right: 20px !important; }
  .wrap-el { padding-left: 20px !important; padding-right: 20px !important; }
  .access-grid { grid-template-columns: 1fr !important; }
  .web-grid { grid-template-columns: 1fr !important; }
  .opt-grid { grid-template-columns: 1fr !important; }
  .opt-grid2 { grid-template-columns: 1fr !important; }
  .sim-result { margin: 0 -26px -26px !important; padding: 20px 26px 22px !important; border-left: none !important; border-right: none !important; border-bottom: none !important; border-radius: 0 !important; }
  .bento-grid { grid-template-columns: 1fr 1fr !important; }
  .prose-center { text-align: left !important; }
  .prose-center br { display: none; }
  .company-row { grid-template-columns: 1fr !important; }
  .company-row > div:first-child { padding-bottom: 4px !important; }
  .company-row > div:last-child { padding-top: 4px !important; }
  .floor-list { grid-template-columns: 1fr !important; }
  .banner-item { flex: 0 0 100% !important; }
  .banner-arrow { display: none !important; }
  .spec-row { flex-direction: column !important; }
  .spec-label { width: auto !important; }
  .aim-rooms-wrap { padding-left: 20px !important; padding-right: 20px !important; }
  .aim-room-info { padding: 20px 20px !important; }
  .aim-price-table th, .aim-price-table td { width: auto !important; padding: 6px 3px !important; }
  .aim-price-table thead th { font-size: 10px !important; line-height: 1.3 !important; }
  .aim-price-table tbody th { font-size: 11px !important; }
  .aim-price-table tbody td { font-size: 13px !important; }
}
@media (min-width: 561px) and (max-width: 980px) {
  .aim-price-table { table-layout: fixed !important; }
  .aim-price-table th, .aim-price-table td { width: auto !important; padding: 6px 4px !important; }
  .aim-price-table thead th { font-size: 10.5px !important; line-height: 1.3 !important; }
  .aim-price-table tbody th { font-size: 11px !important; }
  .aim-price-table tbody td { font-size: 13px !important; }
}
.gear-details summary::-webkit-details-marker { display: none; }
.gear-details summary { list-style: none; }
.gear-details summary::after { content: ' ▼'; }
.gear-details[open] summary::after { content: ' ▲'; }
.news-item:hover .news-title { color: #f96912; }
.aim-pagination .page-numbers {
  min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #E4DCCE; color: #2C2722; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 14px;
  text-decoration: none; padding: 0 6px; box-sizing: border-box;
}
.aim-pagination .page-numbers.current { background: #f96912; border-color: #f96912; color: #fff; }
.aim-pagination a.page-numbers:hover { border-color: #f96912; color: #f96912; }
.aim-pagination .page-numbers.dots { border: none; }
@media (max-width: 900px) {
  .gear-card { flex-direction: column !important; }
  .gear-feat { border-top: 1px solid #EFEAE0 !important; }
}
@media (max-width: 720px) {
  .gear-img { border-right: none !important; border-bottom: 1px solid #EFEAE0 !important; aspect-ratio: 16/10; padding: 20px !important; }
  .gear-body { padding: 24px 22px !important; }
  .news-item { flex-direction: column !important; gap: 14px !important; }
  .news-thumb { width: 100% !important; aspect-ratio: 16/9 !important; }
}
