@charset "UTF-8";
/*
Template: swell
Theme Name: SWELL CHILD
Theme URI: https://swell-theme.com/
Description: SWELLの子テーマ
Version: 1.0.0
Author: LOOS WEB STUDIO
Author URI: https://loos-web-studio.com/

License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 共通フォントウェイト */
body, body * {
font-weight: 400 !important;
}

/* 本文スペース */
.l-mainContent__inner > .post_content {
margin: 1em 0;
padding: 0 var(--swl-pad_post_content, 0);
}

/* 広告表記 */
.c-prNotation[data-style="big"] {
border: 1px solid var(--color_gray);
font-size: 0.6em;
margin: 0;
padding: 0.5em;
}
/* 共通設定 */
img {
width: 100%;
}

.-type-card .p-postList__title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

/* 記事サムネイル画像 */
.container-item-img {
position: relative;
}
.container-item-img > img {
vertical-align: top;
width: 100%;
height: 220px;
object-fit: contain;
position: absolute;
z-index: 100;
}
.contents_back_img {
width: 100%;
height: 220px;
overflow: hidden;
background-color: #999;
position: relative;
}
.contents_back_img > img {
width: 100%;
height: 220px;
object-fit: cover;
position: absolute;
z-index: 50;
filter: blur(10px);
}


/* 基本スタイル */
.simple-table {
width: 100%;
margin: 40px 0 40px 0;
border-collapse: collapse;
color: #333;
}

/* 見出しセル */
.simple-table th {
background: #F7F7F7;
font-weight: 600;
text-align: left;
padding: 12px;
border: 1px solid #ddd;
width: 30%; /* デスクトップ時の幅 */
color: #333;
}

/* 値セル */
.simple-table td {
padding: 12px;
border: 1px solid #ddd;
background: #fff; /* 値セルは白背景でコントラスト */
color: #333;
}

/* レスポンシブ対応（小画面用） */
@media (max-width: 600px) {
.simple-table,
.simple-table tbody,
.simple-table tr,
.simple-table th,
.simple-table td {
display: block;
width: 100%;
}

.simple-table tr {
margin-bottom: 12px;
border: 1px solid #ddd;
overflow: hidden;
background: #fff;
}

.simple-table th {
background: #F7F7F7;
padding: 10px;
border: none;
width: 100%;
}

.simple-table td {
padding: 10px;
border: none;
border-top: 1px solid #eee;
}
}


/* 関連記事：グリッド表示 */
.related-posts-wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
align-items: stretch;
}
@media (max-width: 768px) {
.related-posts-wrapper {
grid-template-columns: repeat(2, 1fr);
}
}

/* 関連記事カード */
.related-post {
background: #fff;
border: 1px solid #F7F7F7;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.3s ease, transform 0.3s ease;
height: 100%;
}
.related-post:hover {
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
transform: translateY(-4px);
}
.related-post a {
text-decoration: none;
color: inherit;
display: flex;
flex-direction: column;
flex: 1;
}

/* 画像表示を統一（画像全体を100%表示） */
.related-post img {
width: 100%;
aspect-ratio: 1.2 / 1; /* 比率を固定（横4：縦3） */
object-fit: cover;   /* 画像をトリミングして枠にフィット */
display: block;
margin-bottom: 0;
flex-shrink: 0;
}

/* 閲覧ボタン */
.view-button {
text-align: center;
padding: 12px 0;
background-color: #F7F7F7;
color: #333;
border-top: 1px solid #eee;
margin-top: auto;
}


/* 商品カード */
.product-card {
display: flex;
flex-wrap: wrap;
background: #fff;
border: 1px solid #ddd; /* 枠線 */
overflow: hidden;
width: 100%;
margin: 20px 0;
padding: 32px; /* カード全体に内側の余白 */
}

/* 商品画像 */
.product-image {
width: 240px; /* 画像幅を250pxに変更 */
object-fit: cover;
flex-shrink: 0;
}

/* 商品詳細 */
.product-details {
flex: 1;
padding: 32px 0px 32px 32px;
min-width: 250px;
}

/* 商品タイトル */
.product-title {
margin-bottom: 20px;
color: #333;
}


/* 商品ボタン */
.btn {
  display: block;
  width: 100%;
  font-size: 1.1em;
  font-weight: 900 !important;
  text-align: center;
  padding: 16px 12px;
  margin-bottom: 12px;
  text-decoration: none;
  color: #fff;
  background: #0073aa;
  border-radius: 50px;
  transition: all 0.3s ease;
}

.btn::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solidアイコン */
  content: "\f138"; /* fa-cart-shopping のUnicode */
  margin-right: 8px;
}

.btn-yellow {
background: #F7B46A;
color: #fff;
}

.btn-yellow:hover {
background: #F89172;
}

.btn-red {
background: #78BD99;
color: #fff;
margin-bottom: 30px;
}

.btn-red:hover {
background: #76AF9C;
}

/* スマホ対応 */
@media (max-width: 600px) {
.product-card {
flex-direction: column;
align-items: center;
text-align: center;
padding: 12px;
}

.product-image {
width: 100%;
}

.btn {
width: 100%;
margin: 10px auto;
}
.btn-red {
margin-bottom: 30px;
}

.product-details {
padding: 12px;
}
}