/*!
Theme Name: kohaku-ebike
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kohaku-ebike
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

kohaku-ebike is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/* ========================================
   Reset
======================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Helvetica Neue', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  background-color: #fff;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

/* ========================================
   Layout
======================================== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

main, .site-main {
  padding: 60px 0;
}

/* ========================================
   Header
======================================== */
.site-header {
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}

.site-branding h1 {
  font-size: 1.8rem;
}

/* ========================================
   Navigation
======================================== */
.main-navigation {
  position: relative;
}

.main-navigation ul {
  display: flex;
  gap: 30px;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
  font-weight: bold;
  padding: 10px;
  transition: color 0.3s ease;
}

.main-navigation a:hover {
  color: #0073aa;
}

/* モバイルメニュー */
.menu-toggle {
  display: none;
  font-size: 1.8rem;
  cursor: pointer;
  background: none;
  border: none;
}

@media (max-width: 768px) {
  .main-navigation ul {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 60px;
    right: 0;
    background-color: #fff;
    width: 200px;
    border: 1px solid #ddd;
    z-index: 1000;
  }

  .main-navigation ul.active {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }
}

/* ========================================
   Page Content
======================================== */
.page-content {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px;
  text-align: left;
}

.page-content h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-left: 5px solid #0073aa;
  padding-left: 10px;
}

/* ========================================
   Tables
======================================== */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}

th, td {
  border: 1px solid #ccc;
  padding: 12px 15px;
  text-align: left;
}

th {
  background-color: #f5f5f5;
  width: 30%;
}

/* ========================================
   Company Section
======================================== */
.company-intro, .company-info, .access-map {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
}

.company-info table {
  margin-top: 20px;
}

.company-map iframe {
  width: 100%;
  height: 400px;
  border: none;
}

/* ========================================
   Footer
======================================== */
.site-footer {
  background-color: #222;
  color: #fff;
  padding: 40px 0;
  text-align: center;
}

.site-footer .footer-menu {
  margin-top: 20px;
}

.site-footer .footer-menu li {
  display: inline-block;
  margin: 0 10px;
}

.site-footer .footer-menu a {
  color: #fff;
  font-size: 0.9rem;
}

/* ========================================
   Utility
======================================== */
.text-center {
  text-align: center;
}

.mt-40 {
  margin-top: 40px;
}

.mb-40 {
  margin-bottom: 40px;
}

/* サブメニュー共通 */
.main-navigation ul ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 100;
}

.main-navigation li {
  position: relative;
}

/* PC時のホバー表示 */
@media (min-width: 769px) {
  .main-navigation li:hover > ul {
    display: block;
  }
}

/* スマホ時のドロップダウン対応 */
@media (max-width: 768px) {
  .main-navigation .submenu-toggle {
    display: inline-block;
    margin-left: 10px;
    cursor: pointer;
  }

  .main-navigation ul ul {
    position: static;
    box-shadow: none;
    margin-left: 1rem;
  }

  .main-navigation ul ul.open {
    display: block;
  }
}

.news-item {
  position: relative;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
  background-color: #f9f9f9;
  margin-bottom: 20px;
  transition: box-shadow 0.3s ease;
}

.news-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.news-meta {
  position: absolute;
  top: 15px;
  right: 20px;
}

.news-date {
  font-size: 0.85rem;
  color: #999;
}

.news-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 0 10px;
}

.news-title a {
  text-decoration: none;
  color: #333;
}

.news-excerpt {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.5;
}

/* 取扱ブランドセクション */
.custom-brand-section {
  padding-left: 10vw;
  padding-right: 10vw;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.custom-brand-section .section-title {
  font-size: 1.5rem;
  margin-bottom: 20px;
  text-align: left;
  font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", serif;
}

.custom-brand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.custom-brand-item {
  aspect-ratio: 1 / 1;
  border: 1px solid #ccc;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

.custom-brand-item:hover {
  transform: scale(1.03);
}

.custom-brand-item img {
  max-width: 80%;
  height: auto;
}
