/*
Theme Name: Barnette
Author: Miho Yamamoto, based on original design by Shu Takahashi (Barnette)
Version: 1.0
Description: Custom WordPress theme developed by Miho Yamamoto, converting the original v0 design by Shu Takahashi into a full WordPress site for Barnette.
Started: September 2025
*/

body {
  min-height: 100vh;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "メイリオ", Meiryo, "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background: #04384c;
  color: #fff;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
  }
}


/* リンクa のスタイル */
a {
  text-decoration: none;
  color: #333;
}

a:hover {
  cursor: pointer;
}

/* リストスタイル */
li {
  list-style: none;
}

img {
  width: 100%;
}

/* PCサイズ769以上なら.pc-noneを表示させない */
.pc-none {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc-none {
    display: block;
  }
}

/* mobileサイズ768以下なら .sp-noneを表示.pc-noneを表示させる */
.sp-none {
  display: block;
}
@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}

/* フレックスの設定 */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* contentの幅のサイズ */
.contentWidth {
  max-width: 768px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.header__snsBox {
  width: 100%;
  background-color: #04384c;
  color: #fff;
}

.header__snsInfo {
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.main {
  position: relative;
}

.hero {
  width: 100%;
  height: 500px;
  max-height: 500px;
  background-image: url(images/hero.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.hero__logo {
  width: 150px;
  margin: 0 auto;
}

.hero__article {
  position: absolute;
  top: 35%;
  left: 50%;            
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
    max-width: 90%;   /* 画面の90%まで広げる */
  width: 100%;      /* 幅いっぱい使う */
  box-sizing: border-box;
}

.hero__article p {
  margin: 0 0 0.5em;
  font-size: 18px;
  line-height: 1.6;
}
.hero__article p:last-child {
  margin-bottom: 0;
}

@media (max-width: 550px) {
  .hero__article {
    padding: 0 30px;      /* 左右に20px余白を確保 */
    max-width: 100%;      /* 余白を含めて画面幅に対応 */
  }
  .hero__article p {
    font-size: 16px;
  }
}

.corporatePhilosophy p {
  text-align: center;
      margin-top: 36px;
      line-height: 2.5;
      margin-bottom: 47px;
      font-size: 18px;
  }

/* 会社概要の表のスタイル */
/* カード全体 */
.companyCard{
  width:90%;
  margin:0 auto;                 /* 中央寄せ */
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 6px 20px rgba(2,6,23,.06);
  overflow:hidden;
  box-sizing:border-box;
}

/* 見出し（caption代替） */
.companyCard__title{
  margin:0;
  padding:14px 16px;
  text-align:center;
  font-weight:700;
  font-size:18px;
  color:#333;
  background:#f8fafc;
  border-bottom:1px solid #e5e7eb;
}

/* グリッド本体 */
.companyGrid{
  margin:0;
  padding:0;
}

.companyGrid__row{
  display:grid;
  grid-template-columns: 180px 1fr;  /* 左見出し / 右本文 */
  gap:0;
  border-top:1px solid #e5e7eb;
}

.companyGrid__row:first-child{ border-top:none; }

.companyGrid__term,
.companyGrid__desc{
  margin:0;
  padding:14px 16px;
  line-height:1.7;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.companyGrid__term{
  background:#f9fafb;
  font-weight:600;
  color:#0f172a;
  border-right:1px solid #e5e7eb;
}

.companyGrid__desc{ color:#334155; }

.companyGrid__list{
  margin:0;
  padding-left:1.2em;
}
.companyGrid__list li{ list-style:disc; }

.companyGrid__addrBlock + .companyGrid__addrBlock{ margin-top:10px; }
.companyGrid__addrTitle{ font-weight:600; margin-bottom:2px; }

/* --- 550px以下：縦積みカード化（横スクロール完全回避） --- */
@media (max-width:550px){
  .companyCard{ width:96%; }
  .companyCard__title{ font-size:16px; padding:10px 12px; }

  .companyGrid__row{
    grid-template-columns: 1fr;   /* 1カラムに */
    border-top:1px solid #e5e7eb;
  }

  .companyGrid__term{
    border-right:none;
    border-bottom:1px solid #eef2f7;
    padding:10px 12px;
    background:#f9fafb;
  }

  .companyGrid__desc{ padding:10px 12px; }
}

/* --- 376px以下：さらに詰める --- */
@media (max-width:376px){
  .companyCard__title{ font-size:14px; padding:8px 10px; }
  .companyGrid__term,
  .companyGrid__desc{ padding:8px 10px; }
}

/* お問い合わせフォーム */
/* フォームの全体デザイン */
.contactForm {
  width: 90%;
  max-width: 600px;
  margin: 0 auto 40px;
  background-color: transparent;
}

.contactForm__title {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}

.contactForm__row {
  margin-bottom: 12px; /* ラベルと入力欄の余白を縮める */
}

.contactForm__label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;  /* 余白を縮小 */
  color: #fff;         /* ラベル文字を白に */
}

.contactForm__input,
.contactForm__textarea {
  width: 100%;
  padding: 10px 16px;
  font-size: 16px;
  line-height: 1.6;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #fff;
  box-sizing: border-box;
}

.contactForm__textarea {
  min-height: 120px;
  resize: vertical;
}

.contactForm__input:focus,
.contactForm__textarea:focus {
  outline: none;
  border-color: #0f172a;
  box-shadow: 0 0 0 2px rgba(14, 23, 42, 0.2);
}

.contactForm__submit {
  background-color: #0f172a;
  color: #fff;
  padding: 12px 24px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.contactForm__submit:hover {
  background-color: #1e293b;
}

.contactForm__actions {
  text-align: center;
}

/* スマホサイズ調整 */
@media (max-width: 550px) {
  .contactForm {
    width: 96%;
  }

  .contactForm__label {
    font-size: 14px;
  }

  .contactForm__input,
  .contactForm__textarea {
    font-size: 15px;
  }

  .contactForm__submit {
    padding: 10px 20px;
    font-size: 14px;
  }
}

.siteFooter {
  background: #0f172a;
  color: #fff;
  text-align: center;
  padding: 20px 10px;
  margin-top: 40px;
}

.siteFooter__copy {
  font-size: 14px;
  margin: 0;
}
