@charset "utf-8";@charset "utf-8";

/* ===================================
    Google Fonts の読み込み 
    (Montserrat + Noto Sans JP のゴシック系)
==================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600&display=swap');

/* ===================================
    全体レイアウト用
==================================== */

.inner {
  width: 100%;
}

#Area {
  /* 英数字に Montserrat、日本語に Noto Sans JP（ゴシック系）を指定 */
  font-family: 'Montserrat', 'Noto Sans JP', 'Meiryo', 'Hiragino Sans', 'ヒラギノ角ゴ ProN', sans-serif;
  text-align: center;
  color: #333333;
  width: 100%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  padding: 0 15% 0 15%;
}

/* 背景色指定（凛とした透明感のあるアイスブルー） */
.backcolor {
  background-color: #f0f4f8;
}

/*スマホの時だけ改行*/
.br-sp {
  display: none;
}

@media (max-width: 600px) {
  .br-sp {
    display: block;
  }
}

/* 余白*/
.spece {
  margin-bottom:3%;
}  

.spece2 {
  padding-top: 10%;
  text-align: center;
}  

.spece_bottom {
  margin-bottom:25%;
}  

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

p {
  font-size: 15px;
  font-weight: 400;
  font-style: normal;
  color: #333333;
}

.border_1 {
  border-top: 1px solid #b0c4de;
  width: 80%;
  margin: 10% auto 9% auto;
}

.image {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

/*===================================
TOPテキスト
===================================*/

.top {
  margin-bottom: 6%;
}

.text_title {
  line-height: 2.0;
  font-size: 15px;
  font-weight: 400;
  margin: 5% auto;
  color: #333333;
}

.top span{
  font-size: 15px;
  font-weight: 400;
  margin: 5% auto;
}

.span_2 {
  color: #333333;
  font-size: 20px;
  font-weight: 700;
}

/*================================
注釈の記載
=================================*/

.mini {
  font-size: 13px;
  margin-bottom: 5%;  
  text-decoration: underline;
  margin-top: 3%;
  color: #333333;
}

/*===================================
カテゴリナビボタン（PC・タブレット用）
====================================*/
.list_btn {
  display: grid;
  grid-template-columns: 23% 23% 23% 23%;
  gap: 2% 2.7%;
  grid-auto-flow: row;
  grid-template-areas: "top_btn-1 top_btn-2 top_btn-3 top_btn-4";
  max-width: 920px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 6%;
}

.list_btn-1 { grid-area: top_btn-1; }
.list_btn-2 { grid-area: top_btn-2; }
.list_btn-3 { grid-area: top_btn-3; }
.list_btn-4 { grid-area: top_btn-4; }

.list_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff; 
  background: #1e3a5f; /* 知的なダークネイビー */
  border-radius: 30px;
  line-height: 1.3;
  padding: 10px 8px;
  text-align: center;
  width: 100%;
  max-width: 220px;
  min-height: 52px;
  font-size: 13px;
  font-weight: 600;
  box-sizing: border-box;
  transition: all 0.3s ease; 
}

.list_btn a:hover {
  color: #fff; 
  background: #13253e; 
}

/*===================================
テキスト（見出し・説明文のサイズ調整）
===================================*/
.title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 5% auto 1.5%;
  color: #333333;
}

.text {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 2%;
  text-align: left;
  margin: 0 auto 3%;
  width: 60%;
  max-width: 500px;
  color: #333333;
}

/*===================================
商品横並びのコンテナー
===================================*/
.image_width {
  display: grid;
  grid-template-columns: 24% 24% 24% 24%;
  grid-template-rows: 100%;
  gap: 12px 12px;
  grid-auto-flow: row;
  grid-template-areas: "img_wid1 img_wid2 img_wid3 img_wid4";
  max-width: 1100px;
  text-align: center;
  margin: 0 auto; 
}

.img_wid1 { grid-area: img_wid1; }
.img_wid2 { grid-area: img_wid2; }
.img_wid3 { grid-area: img_wid3; }
.img_wid4 { grid-area: img_wid4; }

.image_width_2 {
  display: grid;
  grid-template-columns: 24% 24% 24% 24%;
  grid-template-rows: 100%;
  gap: 12px 12px;
  grid-auto-flow: row;
  grid-template-areas: "img_wid5 img_wid6 img_wid7 img_wid8";
  max-width: 1100px;
  text-align: center;
  margin: 1% auto 0 auto;
}

.img_wid5 { grid-area: img_wid5; }
.img_wid6 { grid-area: img_wid6; }
.img_wid7 { grid-area: img_wid7; }
.img_wid8 { grid-area: img_wid8; }

/*===================================
商品の小画像＆詳細
===================================*/
.details {
  font-size: 13px;
  text-align: left;
  color: #333333;
}

/*===================================
ボタン系
===================================*/

a.btn_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1e3a5f; 
  box-sizing: border-box;
  width: 450px;
  height: 55px;
  padding: 0 6%;
  color: #fff; 
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  margin: 6% auto;
  border-radius: 4px;
}

a.btn_01:hover {
  background: #13253e; 
  color: #fff;        
}

a.btn_01:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #fff; 
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}

a.btn_01:hover:before {
  border-color: transparent transparent transparent #fff;
}

a.btn_02 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #1e3a5f;
  box-sizing: border-box;
  width: 400px;
  height: 55px;
  padding: 0 6% 0 6%;
  color: #1e3a5f;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
  margin: 2% auto 4% auto;
}

a.btn_02:hover {
  background: #1e3a5f; 
  color: #fff;
}

a.btn_02:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #1e3a5f;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}

a.btn_02:hover:before {
  border-color: transparent transparent transparent #fff;
}

/*================================
その他の記事の記述
=================================*/
.other {
  display: grid;
  grid-template-columns: 23% 23% 23% 23%;
  gap: 2% 2.7%;
  grid-auto-flow: row;
  grid-template-areas: "other-1 other-2 other-3 other-4";
  text-align: center;
  margin: 0 auto;
  width: 90%;
}

.other-1 { grid-area: other-1; }
.other-2 { grid-area: other-2; }
.other-3 { grid-area: other-3; }
.other-4 { grid-area: other-4; }

.other_title {
  text-align: left;
  width: 90%;
  margin: 1% auto;
  font-size: 18px;
  color: #333333;
}

.other_details {
  font-size: 13px;
  text-align-last: left;
  color: #333333;
}

/*================================
tablet
=================================*/
@media(max-width: 834px){
  #Area .imageArea ul.row-fluid {
    width: 100%;
    text-align: center;
    margin: 5% auto 0;
    padding: 0 8% 0 8%;
  } 
  
  .text_title {
    line-height: 2.0;
    font-size: 15px;
    font-weight: 400;
    margin: 5% auto;
  } 
  
  .list_btn {
    display: grid;
    grid-template-columns: 23% 23% 23% 23%;
    grid-template-rows: 100%;
    gap: 3% 3%;
    grid-auto-flow: row;
    grid-template-areas: "top_btn-1 top_btn-2 top_btn-3 top_btn-4";
    max-width: 660px;
    text-align: center;
    margin: 9% auto;
  }

  .list_btn a {
    line-height: 1.4;
    max-width: 155px;
    padding: 8px 4px;
    min-height: 48px;
  } 

  .title {
    font-size: 20px;
    margin: 5% auto 1.5%;
    font-weight: 700;
  }
  
  .text {
    font-size: 13px;
    margin-bottom: 2%;
  }
  
  .span_2 {
    font-size: 18px;
    font-weight: 600;
  } 
  
  .mini {
    font-size: 12px;
    margin-bottom: 6%;
    margin-top: 3%;
  } 
  
  .image_width {
    max-width: 688px;
    text-align: center;
    margin: 0 auto;
  }
  
  .image_width_2 {
    max-width: 688px;
    text-align: center;
    margin: 2% auto 2%;
  }
  
  .details {
    font-size: 12px;
    text-align: left;
  }
  
  .ex_1, .ex_2, .ex_3, .ex_4 {
    font-size: 9px;
  } 
  
  .image_detail {
    display: grid;
    grid-template-columns: 37px 114px 37px 114px 37px 114px 37px 114px;
    grid-template-rows: 45px;
    gap: 12px 12px;
    grid-auto-flow: row;
    grid-template-areas: "img_small_1 ex_1 img_small_2 ex_2 img_small_3 ex_3 img_small_4 ex_4";
    max-width: 688px;
    text-align: center;
    margin: 2% auto 1% auto;
  }
  
  a.btn_01 {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 330px;
    height: 45px;
    padding: 0 6% 0 6%;
    font-size: 14px;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    margin: 7% auto 3% auto; 
  }

  .other {
    display: grid;
    grid-template-columns: 23% 23% 23% 23%;
    gap: 2% 2.7%;
    grid-auto-flow: row;
    grid-template-areas: "other-1 other-2 other-3 other-4";
    text-align: center;
    margin: 0 auto;
    max-width: 95%;
  }

  .other-1 { grid-area: other-1; }
  .other-2 { grid-area: other-2; }
  .other-3 { grid-area: other-3; }
  .other-4 { grid-area: other-4; }

  .other_title {
    text-align: left;
    max-width: 95%;
    margin: 1% auto;
    font-size: 14px;
  }
}

/*===================================
SMP（スマホ版：ボタン間の隙間を極限まで狭く、下のタイトルとの余白を広く）
====================================*/

@media (max-width: 480px) {
  #Area  {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    padding: 0 4% 0 4%;
  }
  
  .border_1 {
    border-top: 1px solid #b0c4de;
    width: 80%;
    margin: 20% auto 10% auto;
  } 

  .top {
    margin-bottom: 6%;
    font-size: 15px;
    line-height: 1.8;
  } 
  
  .text_title {
    line-height: 2.0;
    font-size: 14px;
    margin: 5% auto 4%;
  } 

  .top span {
    font-size: 13px;
  } 

  .mini {
    font-size: 12px;
    width: 80%;
    text-align: center;
    margin: 3% auto 15%;
  }     

  .text {
    font-size: 13px;
    margin: 0 auto 5%;
    width: 85%;
    text-align: left;
    line-height: 1.8;
  } 

  /* 最初のタイトル（BOA & FUR）とボタン群の間の余白をさらに広く（ゆったりと） */
  .title {
    font-size: 18px;
    margin: 28% 3% 3% 3% !important; /* 上部マージンを大きくしてボタンとの距離をしっかり確保 */
    font-weight: 700;
    width: 91%;
  }
  
  /* スマホ時の商品一覧：2×2グリッド */
  .image_width {
    display: grid;
    grid-template-columns: 48% 48%;
    grid-template-rows: auto;
    gap: 4% 4%;
    grid-auto-flow: row;
    grid-template-areas:
      "img_wid1 img_wid2"
      "img_wid3 img_wid4";
  }

  .img_wid1 { grid-area: img_wid1; }
  .img_wid2 { grid-area: img_wid2; }
  .img_wid3 { grid-area: img_wid3; }
  .img_wid4 { grid-area: img_wid4; }
  
  .image_width_2 {
    display: grid;
    grid-template-columns: 48% 48%;
    grid-template-rows: auto;
    gap: 4% 4%;
    grid-auto-flow: row;
    grid-template-areas:
      "img_wid5 img_wid6"
      "img_wid7 img_wid8";
    margin-top: 7%;
  }

  .img_wid5 { grid-area: img_wid5; }
  .img_wid6 { grid-area: img_wid6; }
  .img_wid7 { grid-area: img_wid7; }
  .img_wid8 { grid-area: img_wid8; }
  
  /* スマホ時のカテゴリボタン：上下の隙間を「0」にして完全に詰める */
  .list_btn {
    display: grid !important;
    grid-template-columns: 48% 48% !important;
    gap: 2px 3% !important; /* ← 上下の隙間を2pxに、左右を3%に極限まで狭くしています */
    grid-template-areas: 
      "top_btn-1 top_btn-2"
      "top_btn-3 top_btn-4" !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 4px auto !important; /* ボタン下の余白を最小限に */
  }

  .list_btn a {
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    padding: 2px 4% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important; /* ボタンの高さを少しコンパクトにして縦の詰まり感を演出 */
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 25px !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
    margin: 0 !important;
  }

  a.btn_01 {
    width: 85% !important;
    height: 44px !important;
    font-size: 14px !important;
    margin: 12% auto 4% auto !important;
  }

  .other {
    display: grid;
    grid-template-columns: 49% 49%;
    grid-template-rows: auto;
    gap: 8% 3%;
    grid-auto-flow: row;
    grid-template-areas:
      "other-1 other-2"
      "other-3 other-4";
    text-align: center;
    margin: 0 auto;
    max-width: 86%;
  }

  .other-1 { grid-area: other-1; }
  .other-2 { grid-area: other-2; }
  .other-3 { grid-area: other-3; }
  .other-4 { grid-area: other-4; }
  
  .other_title {
    text-align: left;
    max-width: 88%;
    margin: 1% auto;
    font-size: 13px;
  }
  
  .other_details {
    font-size: 12px;
    text-align: left; 
  }
}