@charset "utf-8";
/* CSS Document */

*{margin:0;padding:0;font-size:16px;}
a{text-decoration:none;color:rgb(85,85,85);}
a:hover{opacity:0.6;}
li{list-style:none;padding-left:0;margin-left:0;}
body{background:rgb(255,255,255);font-family:kozuka-gothic-pr6n,sans-serif;font-weight:normal;}
/*	タイトルフォント：Noto Serif JP(font-family:"noto-serif-jp", sans-serif;font-weight: 400;font-style: normal; bold→700)、 "noto-sans", sans-serif;、本文フォント：小塚ゴシック("kozuka-gothic-pr6n", sans-serif;)
	カラーコード　Navy:#2c4464 Yellow:#e0b84d text:#333 Grey:#ccc（線など）,#f9f8f6（背景） */

a.page_top{position:fixed;bottom:3em;right:4em;z-index:102;}
.fade{opacity:0;transition: opacity 3s;}
.fade.view{opacity: 1;}
.right{float:right;}
.left{float:left;}
.clear{clear:both;}
.sp{display:none;}
.wp-caption-text{display: none;}
.red{color:red;}

#header_inner{position:fixed;right:3em;top:5em;z-index:1000;padding:1em 2em;background:rgba(255,255,255,0.8);width:35%;overflow:hidden;border-bottom:solid 20px #2c4464;border-radius:0.5em;}
h1{font-family:"noto-serif-jp", sans-serif;font-weight:bold;text-align:center;width:55%}
h1 a{color:#2c4464;font-size:1.2em;}
h1 span.small{display:block;font-family:"noto-sans", sans-serif;color:#808080;font-size:0.6em;}
ul#sns_nav{width:35%;display:flex;gap:0.5em;justify-content:space-between;}
ul#sns_nav li{text-align:center;}
ul#sns_nav li span.hidden{visibility:hidden;display:block;font-size:0.6em;font-family:"noto-sans", sans-serif;font-weight:bold;}
ul#sns_nav li a:hover span.hidden{visibility:visible;}
ul#sns_nav li a img{width:2em;}
ul#global_nav{clear:both;display:flex;gap:1em;justify-content:space-between;}
ul#global_nav li{}
ul#global_nav li a{color:#666;font-weight:bold;font-size:0.6em;text-align:center;}
ul#global_nav li a img{display:block;width:2.8em;}
#footer{background:#2c4464;color:#fff;padding:2em;}
#footer a{color:#fff;}
#footer_inner{overflow:hidden;}
#footer h3 span{display:block;}
ul#footer_info 
#footer address{text-align:center;margin-top:3em;}
div.wrapper{width:80%;margin:3em auto;overflow:hidden;}
div.grey{float:right;width:90%;margin:3em 0 3em auto;background:#f9f8f6;border-radius:5em 0 0 5em;}
h3.title{width:12em;background:url(https://tsukimiyama-info.com/wp-content/themes/tsukimiyamainfo_original/images/icon_header.png) no-repeat left center/1.7em;padding:0 0 0.3em 2em;font-size:1.3em;color:#2c4464;font-family:"noto-serif-jp", sans-serif;border-bottom:solid 1px #d3d3d3;margin-bottom:2em;}
h3.title span{display:block;font-size:0.7em;font-weight:bold;color:#ccc;text-transform:uppercase;}

/* Home */
#intro{background:#f9f8f6;}
#intro h2{margin-bottom:2em;font-family:"noto-serif-jp", sans-serif;font-weight:bold;color:#2c4464;line-height:2.2;font-size:1.4em;}
#intro div.left{width:55%;font-family:"noto-sans", sans-serif;font-size:1.2em;}
#intro div.right{width:40%;}
#intro div.right img{width:100%;}font-size:1.2em;
#news p.sub_h3{margin:2em;}
/* blog表示部分 */
.blog-section{padding:3em 2em;}
.blog-container{max-width:960px;margin:0 auto;}
.blog-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:3em 4em;margin-bottom:30px;}
.blog-card{position:relative;}
.blog-card-link{display:block;width:100%;text-decoration:none;color:inherit;transition:transform 0.3s ease;}
.blog-card-link:hover{transform:translateY(-4px);}
.blog-thumbnail{width:100%;max-width:100%;margin:0 auto;aspect-ratio:3/2 !important;overflow:hidden;background:url(https://tsukimiyama-info.com/wp-content/themes/tsukimiyamainfo_original/images/flame_border.png) no-repeat center center/95%;padding:1em;text-align:center;display:grid;place-items:center;box-sizing: border-box;}
.blog-thumbnail img{width:95%;height:95%;aspect-ratio:3/2 !important;overflow:hidden;object-fit:cover;display:block;}
.blog-content{background:#fff;width:75%;margin:-2em auto 0 auto;position:relative;z-index:2;padding:2em 1em;box-shadow:0 6px 16px rgba(0, 0, 0, 0.08);border-radius:2px;min-height:6em;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;}
.blog-title{font-family:"Noto Sans JP",sans-serif;font-size: 0.85em;font-weight:700;color:#333333;line-height:1.7;margin:0 0 0.5em 0;}
.blog-date{display:block;text-align:right;font-size:0.8rem;color:#666666;font-family:"Noto Sans JP",sans-serif;}
.btn-wrapper{text-align:right;margin-top:20px;}
.btn {display:inline-block;background-color:#e0b84d;color:#fff;padding:10px 28px;border-radius:20px;font-size:0.85rem;font-weight:bold;text-decoration:none;transition:opacity 0.3s ease;box-shadow:0 2px 6px rgba(0,0,0,0.1);}
.btn:hover{opacity:0.85;}
.column-section{width:100%;max-width:1000px;margin:0 auto;padding:2em 1em;box-sizing:border-box;}
.column-list{display:grid;grid-template-columns:repeat(2, 1fr);gap:2em;margin-bottom:2em;}
.column-card{background:#fff;border-radius:12px;padding:2em;box-shadow:0 4px 12px rgba(0, 0, 0, 0.04);display:flex;flex-direction:column;box-sizing:border-box;}
.column-thumbnail{width:100%;margin-bottom:1em;overflow:hidden;border-radius:4px;}
.column-thumbnail a{display:block;width:100%;}
.column-thumbnail img{width:100%;height:auto;aspect-ratio: 430 / 310;object-fit:cover;display:block;transition:transform 0.3s ease;}
.column-card:hover .column-thumbnail img{transform:scale(1.03);}
.column-content{display:flex;flex-direction:column;}
.column-date{font-size:0.9rem;color:#333;text-align:right;margin-bottom:8px;font-family:inherit;}
.column-title{font-size:1.1em;font-weight:bold;line-height:1.7;margin:0;color:#333;}
.column-title a{color:#2c2c2c;text-decoration:none;transition:color 0.2s ease;}
.column-title a:hover{color:#e5ba53;}
.event-section{width:100%;max-width:1000px;margin:0 auto;padding:2em 1em;box-sizing:border-box;}
.event-card{display:flex;gap:2.5em;align-items:center;}
.event-thumbnail{flex: 0 0 40%;max-width:380px;background:#fff;padding:12px;box-shadow:0 4px 15px rgba(0, 0, 0, 0.08);border-radius:4px;box-sizing:border-box;}
.event-thumbnail a{display:block;width:100%;height:100%;overflow:hidden;}
.event-thumbnail img{width:100%;height:auto;aspect-ratio:451 / 638;object-fit:cover;display:block;}
.event-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:100%;}
.event-date-badge{display:inline-block;background-color:#f2efe9;color:#333;font-weight:bold;padding:0.4em 1.2em;border-radius:6px;font-size:0.95em;margin-bottom:1em;}
.event-title{font-size:1.6em;font-weight:bold;margin:0 0 0.4em 0;line-height:1.4;}
.event-title a{color:#2c4464;text-decoration:none;}
.event-time{font-size:1.1em;font-weight:bold;color:#444;margin:0 0 1.5em 0;}
.event-excerpt{color:#555;line-height:1.8;font-size:0.95em;margin-bottom:2em;}
.product-section {
  padding: 60px 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.product-container {
  width: 100%;
}

/* 3列グリッドレイアウト */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

.product-card-link {
  display: block;
  text-decoration: none;
  color: #333;
  transition: opacity 0.3s ease;
}

.product-card-link:hover {
  opacity: 0.8;
}

/* アスペクト比を揃えた画像枠 */
.product-thumbnail {
  width: 100%;
  aspect-ratio: 350 / 325;
  overflow: hidden;
  margin-bottom: 16px;
  background-color: #f5f5f5;
}

.product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 商品タイトル（中央揃え・太字） */
.product-title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin: 0;
  line-height: 1.4;
}
#contact div.left{width:45%;border:solid 1px #ccc;background:#fff;padding:2em 3em;border-radius:0.5em;}
#contact div.right{width:40%;}
#contact ul li{list-style-type:disc;font-size:0.8em;margin:0.7em 0;}
#contact div.right p{width:80%;aspect-ratio: 1234 / 866;margin:2em auto;}
#contact div.right p a{display:block;}
#contact div.right p a img{width:100%;}
#links div.left{width:65%;}
#links div.right{width:30%;}
#links div.right a img{width:100%;}

/* アーカイブ */
.archive p.sub_h3{margin-bottom:3em;}
.archive-pagination {
  margin-top: 3em;
  text-align: center;
}

.archive-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.archive-pagination a,
.archive-pagination span {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 4px;
  background: #fff;
  color: #333;
  text-decoration: none;
  border: 1px solid #ddd;
  font-size: 0.85em;
}

.archive-pagination .current {
  background: #e0b84d;
  color: #fff;
  border-color: #e0b84d;
  font-weight: bold;
}

/* Single */
.single-post-card {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 40px;
  margin-bottom: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

/* ヘッダーの2列レイアウト（タイトル群＋右アイキャッチ） */
.post-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 30px;
}

.post-header-info {
  flex: 1;
}

/* 記事タイトル */
.post-title {
  font-size: 22px;
  font-weight: 700;
  color: #2b6cb0; /* デザインに合わせたブルー系カラー */
  line-height: 1.5;
  margin-0 0 20px 0;
}

/* メタ情報（日付・カテゴリー・タグ） */
.post-meta {
  text-align: right;
  font-size: 13px;
  color: #4a5568;
}

.post-date {
  display: block;
  margin-bottom: 6px;
}

.post-taxonomies a {
  color: #2b6cb0;
  text-decoration: underline;
  display: block;
  margin-top: 4px;
}

.post-taxonomies a:hover {
  text-decoration: none;
}

/* 右側アイキャッチ画像 */
.post-header-thumbnail {
  width: 220px;
  flex-shrink: 0;
}

.post-header-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  object-fit: cover;
  display: block;
}

/* 記事本文スタイル */
.post-body {
  font-size: 15px;
  line-height: 1.8;
  color: #2d3748;
}

.post-body img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
  border-radius: 4px;
}

.post-body p {
  margin-bottom: 1.5em;
}

/* ページ下部：前後ナビゲーション */
.post-navigation {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 13px;
  padding: 10px 0;
}

.post-navigation a {
  color: #2b6cb0;
  text-decoration: none;
}

.post-navigation a:hover {
  text-decoration: underline;
}

.nav-previous {
  text-align: left;
  max-width: 48%;
}

.nav-next {
  text-align: right;
  max-width: 48%;
  margin-left: auto;
}

.product-single-card {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 40px;
  margin-bottom: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.product-single-flex {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* 左側：商品画像エリア */
.product-single-media {
  width: 45%;
  flex-shrink: 0;
}

.product-single-thumbnail {
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形枠（または 350 / 325 などお好みで調整可能） */
  overflow: hidden;
  border-radius: 6px;
  background-color: #f8f9fa;
  border: 1px solid #edf2f7;
}

.product-single-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 右側：商品情報（タイトル・本文） */
.product-single-info {
  flex: 1;
}

.product-single-title {
  font-size: 24px;
  font-weight: 700;
  color: #2d3748;
  line-height: 1.4;
  margin: 0 0 24px 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #e3bd5c; /* アクセントカラーのライン */
}

.product-single-body {
  font-size: 15px;
  line-height: 1.8;
  color: #4a5568;
}

.product-single-body p {
  margin-bottom: 1.2em;
}

.product-single-body img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 15px 0;
}

/* レスポンシブ対応（スマホ表示時は縦並び） */
@media screen and (max-width: 768px) {
  .product-single-card {
    padding: 20px;
  }

  .product-single-flex {
    flex-direction: column;
    gap: 24px;
  }

  .product-single-media {
    width: 100%;
  }

  .product-single-title {
    font-size: 20px;
  }
}
.single-event-card {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 40px;
  margin-bottom: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.event-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 30px;
}

.event-header-info {
  flex: 1;
}

/* イベントタイトル（Navy: #2c4464） */
.event-single-title {
  font-size: 22px;
  font-weight: 700;
  color: #2c4464;
  line-height: 1.5;
  margin: 0 0 30px 0;
}

/* メタ情報リスト */
.event-meta-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.event-meta-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 黄色丸角ラベル（Yellow: #e0b84d） */
.event-meta-label {
  background-color: #e0b84d;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 6px;
  white-space: nowrap;
  letter-spacing: 0.05em;
  min-width: 80px;
  text-align: center;
}

.event-meta-value {
  margin: 0;
  font-size: 15px;
  color: #333333;
  line-height: 1.4;
}

/* 右側画像 */
.event-header-thumbnail {
  width: 240px;
  flex-shrink: 0;
}

.event-header-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  display: block;
}

/* 本文エリア */
.event-body {
  font-size: 15px;
  line-height: 1.85;
  color: #333333;
}

.event-body p {
  margin-bottom: 1.5em;
}

.event-body img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 20px 0;
}

/* レスポンシブ調整（768px以下は縦並び） */
@media screen and (max-width: 768px) {
  .single-event-card {
    padding: 20px;
  }

  .event-header-flex {
    flex-direction: column;
    gap: 24px;
  }

  .event-header-thumbnail {
    width: 100%;
  }

  .event-meta-item {
    align-items: flex-start;
  }
  
  .event-meta-label {
    margin-top: 2px;
  }
}

/* スマホ表示の調整（768px以下は縦並び） */
@media screen and (max-width: 768px) {
  .single-post-card {
    padding: 20px;
  }

  .post-header-flex {
    flex-direction: column-reverse;
    gap: 20px;
  }

  .post-header-thumbnail {
    width: 100%;
  }

  .post-meta {
    text-align: left;
    margin-top: 15px;
  }
}

