@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
*/

/* キャプション付き画像の枠を中央に寄せる */
.wp-caption {
margin-right: auto !important;
margin-left: auto !important;
max-width: 100% !important; /* 記事幅を超えないように */
}

/* 中の画像とテキストも中央に揃える */
.wp-caption img {
display: block !important;
margin: 0 auto !important;
}

.wp-caption-text {
text-align: center !important;
}

.post_content h3 {
font-size: 1.1em;
font-weight: 700;
line-height: 1.4;
margin: 1em 0em 1em 0em;
position: relative;
}

.post_content h2 {
font-size: 1.2em;
line-height: 1.4;
margin: 2.5em 0em 2em 0em;
position: relative;
z-index: 1;
}

/* 本文スペース */
.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;
padding: 0.5em;
}



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

@media screen and (max-width: 767px) {
.container-item-img {
position: relative;
}
.container-item-img > img {
vertical-align: top;
width: 100%;
height: 150px;
object-fit: contain;
position: absolute;
z-index: 100;
}
.contents_back_img {
width: 100%;
height: 150px;
overflow: hidden;
background-color: #999;
position: relative;
}
.contents_back_img > img {
width: 100%;
height: 150px;
object-fit: cover;
position: absolute;
z-index: 50;
filter: blur(10px);
}
}

/* ビデオエリア */
.video_area video {
width: 100%;
height: 450px;
display: block;
margin: 0 auto;
background-color: #333;
}
@media (max-width: 960px) {
.video_area video {
height: 220px;
}
}

/* 商品ボタン */
.btn {
display: block;
width: 90%;                
max-width: 800px;
margin-left: auto;
margin-right: auto;
margin-bottom: 12px;
font-size: 1.1em;
font-weight: 900 !important;
text-align: center;
padding: 16px 12px;
text-decoration: none;
color: #fff;
background: #0073aa;
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;
}

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

/* 関連記事 */

.my-related-posts {
display: grid;
grid-template-columns: repeat(2, 1fr); /* 2カラム */
gap: 30px 20px; /* 縦横の間隔 */
margin: 50px 0;
}

.my-related-item {
background: #fff;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.my-related-item:hover {
transform: translateY(-6px);
box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.my-related-link {
display: block;
text-decoration: none;
color: inherit;
}

.my-related-img-wrapper {
position: relative;
width: 100%;
height: 200px; /* 画像エリアの高さ（お好みで調整） */
background-color: #f0f0f0;
}

.my-related-back-img {
position: absolute;
inset: 0;
overflow: hidden;
}

.my-related-back-img img {
width: 100%;
height: 100%;
object-fit: cover;
filter: blur(12px);
transform: scale(1.1);
}

.my-related-front-img {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
}

.my-related-front-img img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}

.my-related-title {
padding: 16px 12px 20px;
font-weight: 500;
line-height: 1.5;
color: #222;
text-align: center;
}

.my-related-none {
grid-column: 1 / -1; /* 2カラム時に中央寄せ */
text-align: center;
color: #666;
padding: 40px 0;
font-size: 16px;
}

/* スマホ対応（767px以下で1カラム） */
@media (max-width: 767px) {
.my-related-posts {
grid-template-columns: 1fr;
gap: 24px;
}

.my-related-img-wrapper {
height: 180px;
}

.my-related-title {
padding: 14px 10px 18px;
}
}

/* ===============================
スペックテーブル
================================ */

.custom-spec-area{
margin:2em 0;
overflow:hidden;
background:#fff;
border:1px solid #eee;
}

.spec-header{
background:#333;
color:#fff;
padding:12px;
font-weight:bold;
text-align:center;
font-size:1.1em;
}

.spec-table-wrapper{
padding:10px 20px 20px;
}

.post_content .spec-table-wrapper table.custom-spec-table{
border:none!important;
margin:0!important;
padding:0!important;
width:100%!important;
border-collapse:collapse!important;
table-layout:fixed!important;
}

.post_content .spec-table-wrapper table.custom-spec-table tr{
border-bottom:1px solid #f2f2f2!important;
}

.post_content .spec-table-wrapper table.custom-spec-table tr:last-child{
border-bottom:none!important;
}

.post_content .spec-table-wrapper table.custom-spec-table th{
width:35%;
color:#666!important;
font-weight:bold!important;
text-align:left!important;
padding:12px 10px!important;
border:none!important;
font-size:.9em!important;
background:none!important;
}

.post_content .spec-table-wrapper table.custom-spec-table td{
width:65%;
color:#333!important;
padding:12px 10px!important;
border:none!important;
font-size:.95em!important;
background:none!important;
}