@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: 700 !important;
}

/* 見出し */
.post_content h2 {
font-size: 1.2rem;
line-height: 1.4;
margin: 2em 0;
position: relative;
z-index: 1;
}

/* 関連記事：グリッド表示 */
.related-posts-wrapper {
display: grid;
grid-template-columns: repeat(4, 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;
border-radius: 8px;
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%;
object-fit: cover;   /* 画像をトリミングして枠にフィット */
display: block;
margin-bottom: 0;
flex-shrink: 0;
}

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


/* 記事サムネイル画像 */
.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);
}

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

/* 記事タイトルサイズ */
.c-postTitle__ttl {
font-size: 1.2rem;
}

/* 記事タグ表示 */
.p-articleMetas.-top .p-articleMetas__termList {
font-size: 0.9rem;
margin-bottom: 20px;
}

/* 記事リストタイトル */
.-type-card .p-postList__title,
.-type-list .p-postList__title,
.-type-list2 .p-postList__title {
font-size: 0.9rem;
}

/* 汎用ボタン */
.display-inline-block,
.display-inline-block2 {
display: inline-block;
width: 100%;
padding: 20px 0;
margin: 10px 0 0 0;
text-align: center;
font-size: 1.2rem;
border-radius: 8px;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
cursor: pointer;
}

/* ボタンホバー */
.display-inline-block:hover {
background: #F89172;
transform: scale(1.03);
}
.display-inline-block2:hover {
background: #76AF9C;
transform: scale(1.03);
}

/* ボタンカラー */
.display-inline-block {
background: #F7B46A;
color: #fff;
}
.display-inline-block2 {
background: #78BD99;
color: #fff;
}

/* モバイル用ボタン */
@media (max-width: 960px) {
.display-inline-block,
.display-inline-block2 {
padding: 16px 0;
font-size: 1.2rem;
}
}

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

/* 商品カード */
.product-card {
display: flex;
flex-wrap: wrap;
background: #fff;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
overflow: hidden;
width: 100%;
margin: 20px 0;
}
.product-image {
width: 300px;
object-fit: cover;
flex-shrink: 0;
}
.product-details {
flex: 1;
padding: 20px;
min-width: 250px;
}
.product-title {
font-size: 0.9rem;
margin-bottom: 20px;
color: #333;
}

/* 商品ボタン */
.btn {
display: block;
width: 100%;
text-align: center;
padding: 14px 24px;
margin-bottom: 12px;
border-radius: 8px;
text-decoration: none;
transition: all 0.3s ease;
}
.btn-yellow {
font-size: 1.2rem;
background: #F7B46A;
color: #fff;
}
.btn-yellow:hover {
background: #F89172;
}
.btn-red {
font-size: 1.2rem;
background: #78BD99;
color: #fff;
}
.btn-red:hover {
background: #76AF9C;
}

/* スマホ対応 */
@media (max-width: 600px) {
.product-card {
flex-direction: column;
align-items: center;
text-align: center;
}
.product-image {
width: 100%;
}
.btn {
width: 100%;
margin: 10px auto;
}
.product-details {
padding: 16px;
}
}

/* インフォBOX */
.info-box {
border: 1px solid #DFDFDF;
border-radius: 8px;
padding: 16px;
background: #fff;
box-sizing: border-box;
}

/* ヘッダーラベル */
.info-header {
display: flex;
gap: 10px;
align-items: center;
margin-bottom: 16px;
flex-wrap: wrap;
}
.label {
background-color: #333;
color: #fff;
padding: 6px 10px;
border-radius: 8px;
font-size: 0.9rem;
}

/* タグ表示 */
.info-tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
padding: 8px 0;
border-top: 1px solid #eee;
}
.info-tags span a {
font-size: 0.9rem;
color: #333;
background: #F7F7F7;
padding: 4px 10px;
border-radius: 8px;
text-decoration: none;
display: inline-block;
}
.info-tags span a:hover {
background: #eee;
}

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

/* デスクトップ用レイアウト調整（幅1200px以上） */
@media (min-width: 1199px) {
/* サイトタイトル調整 */
.-txt .c-headLogo__link {
font-size: 1.2rem;
width: 120px;
height: 100%;
text-align: left;
}

#header .l-header__logo {
margin: 60px auto 10px;
}

/* サイドヘッダー固定 */
#header {
position: fixed;
width: 220px;
height: 100%;
}

/* ロゴ配置とキャッチフレーズ */
.-series .l-header__logo {
display: flex;
align-items: center;
flex-wrap: wrap;
margin-right: 0;
padding: 16px 0;
}

.-series .c-headLogo {
margin-right: 0;
}

.-series .l-header__logo .c-catchphrase {
font-size: 10px;
padding: 20px 0;
}

.l-header__inner {
flex-direction: column;
}

/* グローバルナビ設定 */
#gnav {
margin-left: 0;
}

#header .c-gnav {
flex-direction: column;
text-align: left;
}

#header .c-gnav li a {
padding: 16px 0;
}

/* メインコンテンツの左パディング調整 */
#main_visual,
#content,
#breadcrumb,
#before_footer_widget,
#footer,
.c-infoBar {
padding-left: 220px;
padding-right: 0;
}
}

#sp_menu .c-widget__title {
display: none;
}
#sp_menu .p-spMenu__body {
padding-top: 2em;
}
.c-gnav > li:hover > a::after, .c-gnav > .-current > a::after {
display:none;
}
