@charset "UTF-8";

/* ==========================================================================
   既存スタイル（変更不可・維持エリア）
   ========================================================================== */

/* shippori-mincho-regular - japanese_latin */
@font-face {
  font-display: swap; 
  font-family: 'Shippori Mincho';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/shippori-mincho-v17-japanese_latin-regular.woff2') format('woff2');
}
/* shippori-mincho-700 - japanese_latin */
@font-face {
  font-display: swap; 
  font-family: 'Shippori Mincho';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/shippori-mincho-v17-japanese_latin-700.woff2') format('woff2');
}

/* L1 ######################################## 仙骨習慣 ######################################## */

#senkotsu-shukan {
	position: relative;
	width: 1024px;
	margin: 0 auto;
}

#senkotsu-shukan h2 {
	float: left;
	position: relative;
	margin-bottom: 5px;
	padding: 0.4em 20px;
	color: #ffffff;
	font-family: "Century Gothic", "メイリオ", "Trebuchet MS";
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1.0;
	border-radius: 22px;
	background: rgba(0, 0, 0, 0.85);
}
#senkotsu-shukan h2::before {
	content: "\f05a";
	margin-right: 6px;
	font-family: "FontAwesome";
}
#senkotsu-shukan h2::after {
	content: "－ 商品情報 －";
	margin-left: 6px;
	color: #ffffff;
	font-family: "メイリオ", "Meryo", "HiraKakuProN-W3", "MS UI Gothic", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
	font-size: 1.2rem;
	letter-spacing: 0;
}

html[lang="en"] #senkotsu-shukan h2::after {
	display: none;
}

/* ****************************** コンテンツ ****************************** */

#info {
	clear: both;
	position: relative;
	padding-bottom: 0;
	background: rgba(255, 255, 255, 0.85);
}

@media screen and (max-width: 768px) {

	#senkotsu-shukan {
		width: 100%;
		margin: 0 auto;
	}
	
	#senkotsu-shukan h2 {
		float: none;
		margin: 0;
		padding: 0.6em 4%;
		border-radius: 0;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#senkotsu-shukan h2::after {
		font-size: 1.0rem;
	}
	
	#info {
		padding-bottom: 0.5em;
	}
}


/* ==========================================================================
   新規追加スタイル（仙骨習慣 LPデザイン用）
   ========================================================================== */

/* リセット & ベース */
.ss-wrapper {
	width: 100%;
	box-sizing: border-box;
	color: #333;
	font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
	/* 可変フォント: SE3(14px) ～ PC(16px) */
	font-size: clamp(1.4rem, 1.2vw + 1rem, 1.6rem);
	line-height: 1.8;
	font-weight: 700;
}

.ss-wrapper img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.ss-wrapper a {
	text-decoration: none;
	transition: opacity 0.3s;
}

.ss-wrapper a:hover {
	opacity: 0.7;
}

/* 英語テキストの汎用クラス */

/* 1. ブロック要素や補足テキストは 90% に縮小 */
.ss-wrapper p.en,
.ss-wrapper .ss-text-en,
.ss-wrapper .ss-step-desc .en,
.ss-wrapper .prof-en,
.ss-wrapper .cd-title .en,
.ss-wrapper .cd-avail .en,
.ss-wrapper .ss-caution-box li .en,
.ss-wrapper .ss-company-row .en {
	color: #666;
	font-family: "Century Gothic", sans-serif;
	font-size: 0.9em;
	font-weight: normal;
	line-height: 1.5;
	opacity: 0.9;
}

/* 2. インラインの span.en はサイズそのまま（日本語と並ぶため） */
.ss-wrapper span.en {
	font-family: "Century Gothic", sans-serif;
	font-weight: normal;
	opacity: 0.9;
	/* font-size は指定せず親要素のサイズ(1.0em)を継承 */
}

.ss-text-en {
	margin-top: -0.8em;
	margin-bottom: 1.5em;
}

/* コンテナ */
.ss-container {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* タイトル共通 */
.ss-section-title {
	position: relative;
	margin-bottom: 0.5em;
	padding-bottom: 15px;
	color: #222;
	/* 可変フォント: SE3(22px) ～ PC(32px) */
	font-size: clamp(2.2rem, 3.5vw + 1rem, 3.2rem);
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.1em;
}

.ss-section-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	margin: 15px auto 0;
	background-color: #556b2f;
}

.ss-sub-title {
	margin-top: -5px;
	margin-bottom: 40px;
	color: #888;
	font-family: "Century Gothic", sans-serif;
	font-size: clamp(1.3rem, 2.2vw, 1.8rem);
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.1em;
}

/* フェードインアニメーション用 */
.ss-fade-in {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.ss-fade-in.is-visible {
	opacity: 1;
	transform: translateY(0);
}


/* --------------------------------------------------
   Hero Section
-------------------------------------------------- */
.ss-hero {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	padding: 150px 0;
	color: #fff;
	text-align: center;
	background: #122314 url(../images/hero-back.jpg) 50% 50% fixed no-repeat;
	background-size: cover;
}

/* 背景画像エリア */
.ss-hero-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
.ss-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}

/* コンテンツコンテナ */
.ss-hero-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 2;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* --- 右上ロゴ（絶対配置） --- */
.ss-hero-logo {
	position: absolute;
	top: 30px;
	right: 30px;
	z-index: 10;
	width: 200px;
	height: auto;
}
.ss-hero-logo img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2px 5px rgba(0,0,0,0.3));
}

/* --- コンテンツスタック --- */
.ss-hero-content-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	width: 100%;
	max-width: 900px;
}

/* 1. キャッチコピー */
.ss-hero-catch-area {
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.hero-catch {
	margin-bottom: 15px;
	font-size: clamp(2.2rem, 4vw, 3.0rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.hero-sub-en {
	font-family: "Century Gothic", sans-serif;
	font-size: clamp(1.1rem, 1.5vw, 1.5rem);
	letter-spacing: 0.05em;
	color: rgba(255,255,255,0.95) !important;
}

/* 2. タイトルロゴ画像 */
.ss-hero-title-img {
	width: 60%;
	max-width: 600px;
}
.ss-hero-title-img img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0 10px rgba(255,255,255,0.3));
}

/* 3. 製品画像 */
.ss-hero-product-img {
	width: 100%;
	max-width: 900px;
}
.ss-hero-product-img img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 30px rgba(0,0,0,0.5));
}

/* 日本製ラベル */
.ss-hero-made-in-japan {
    position: absolute;
    bottom: 40px;
    right: 30px;
    z-index: 10;
    padding: 8px 16px;
    color: #ffffff;
    background-color: #ff6600;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* --- スマホ対応（Hero） --- */
@media screen and (max-width: 768px) {
	.ss-hero {
		height: 100vh;
		min-height: 600px;
		padding: 0;
	}
	
	.ss-hero-container {
		display: flex; 
		justify-content: center;
		padding: 0 20px;
	}
	
	.ss-hero-logo {
		top: 20px;
		right: 20px;
		width: 80px;
	}
	
	.ss-hero-title-img {
		width: 85%;
	}
	
	.ss-hero-product-img {
		width: 90%;
	}

	.ss-hero-made-in-japan {
        bottom: 20px;
        right: 20px;
        font-size: 1.2rem;
        padding: 5px 12px;
    }
}

/* --------------------------------------------------
   Concept Section
-------------------------------------------------- */
.ss-concept {
	padding: 80px 0;
	background-color: #fff;
}

.ss-section-title .ss-title-sup {
	display: inline-block;
	margin-bottom: 5px;
	color: #556b2f;
	font-size: 0.5em; 
	font-weight: normal;
	vertical-align: middle;
	letter-spacing: 0.1em;
}

.ss-concept-content {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 60px;
	margin-top: 40px;
}

.ss-supervisor-intro {
	flex: 0 0 280px;
	margin: 0 auto;
	text-align: center;
}

.ss-supervisor-photo {
	display: inline-block;
	padding: 8px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.ss-supervisor-photo img {
	display: block;
	border-radius: 2px; 
	border: 1px solid #ddd;
}

.ss-concept-text {
	flex: 1;
	min-width: 300px;
	text-align: justify;
}

.ss-text-block {
	margin-bottom: 40px;
}
.ss-text-block:last-child {
	margin-bottom: 0;
}

.ss-text-block .jp {
	margin-bottom: 10px;
	font-size: 1.05em;
	letter-spacing: 0.05em;
	line-height: 1.6;
	font-weight: 700;
}

.ss-text-block .ss-text-en {
	margin-top: 0;
}

.ss-profile-section {
	margin-top: 60px;
	padding-top: 0;
	border-top: none;
}

.ss-profile-box {
	max-width: 800px;
	margin: 0 auto;
	padding: 30px;
	text-align: left;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 5px;
	font-size: 0.95em;
}

.ss-profile-box .name {
	margin-bottom: 15px;
	padding-bottom: 10px;
	color: #556b2f;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: 1px dotted #ccc;
}

.ss-profile-box .prof-jp {
	margin-bottom: 10px;
	line-height: 1.8;
}

.ss-profile-box .prof-en {
	margin-top: 5px;
}

@media screen and (max-width: 768px) {
	.ss-concept-content {
		gap: 40px;
	}
	.ss-supervisor-intro {
		flex: auto;
		width: 80%;
		max-width: 300px;
	}
	.ss-text-block {
		margin-bottom: 30px;
	}
}

/* --------------------------------------------------
   Features Section
-------------------------------------------------- */
.ss-features {
	padding: 80px 0;
	background-color: #f9f9f9;
}

.ss-feature-main-view {
	margin-bottom: 50px;
	text-align: center;
}

.ss-feature-main-view img {
	width: 700px;
	max-width: 100%;
	height: auto;
	border-radius: 5px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.ss-feature-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.ss-feature-item {
	display: flex;
	flex-direction: column;
	width: calc((100% - 60px) / 3);
	padding: 25px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.ss-feature-text {
	flex: 1;
}

.ss-feature-item .jp {
	margin-bottom: 0.5em;
	font-size: 1.05em;
	line-height: 1.6;
}

.ss-feature-sub-img {
	margin-top: 20px;
	margin-bottom: 0;
	text-align: center;
}

.ss-feature-sub-img img {
	width: auto;
	max-width: 200px;
	height: auto;
	border: 1px solid #eee;
	border-radius: 3px;
}

@media screen and (max-width: 768px) {
	.ss-feature-grid {
		gap: 20px;
	}
	.ss-feature-item {
		width: 100%;
	}
	.ss-feature-main-view {
		margin-bottom: 30px;
	}
}

/* --------------------------------------------------
   How to Use Section
-------------------------------------------------- */
.ss-howto {
	padding: 80px 0;
	background-color: #fff;
}

.ss-movie-area {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 50px;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	background: #f8f8f8;
	border-radius: 8px;
}

.ss-video-responsive {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	margin-bottom: 20px;
	background: #000;
	border-radius: 4px;
}
.ss-video-responsive iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.ss-movie-area p.jp {
	margin-bottom: 5px;
}
.ss-movie-area p.en {
	margin-bottom: 15px;
}

.ss-btn-movie {
	display: inline-block;
	padding: 12px 40px;
	color: #fff !important;
	font-weight: bold;
	text-decoration: none;
	background-color: #cc0000;
	border-radius: 30px;
	box-shadow: 0 4px 0 #990000;
	transition: transform 0.1s, box-shadow 0.1s;
}
.ss-btn-movie:active {
	box-shadow: none;
	transform: translateY(4px);
}
.ss-btn-movie .fa {
	margin-right: 5px;
}

/* 手順ステップ */
.ss-steps {
	max-width: 800px;
	margin: 0 auto 50px;
}

.ss-step-row {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 50px;
	padding-bottom: 40px;
	border-bottom: 1px dashed #ddd;
}
.ss-step-row:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.ss-step-img {
	flex: 0 0 250px;
	position: relative;
	text-align: center;
}
.ss-step-img img {
	max-width: 100%;
	height: auto;
	border: 1px solid #eee;
}

/* Step 3 右側へ移動したサブ画像 */
.ss-step-sub-img {
    margin-top: 15px;
    text-align: center;
}
.ss-step-sub-img img {
    max-width: 80%;
    width: auto;
    height: auto;
    border: 1px solid #eee;
    border-radius: 4px;
}

.ss-step-num {
	position: absolute;
	top: -15px;
	left: -15px;
	z-index: 2;
	width: 50px;
	height: 50px;
	color: #fff;
	font-family: "Century Gothic";
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 50px;
	background: #556b2f;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.ss-step-desc {
	flex: 1;
	min-width: 300px;
}
.ss-step-desc .jp {
	margin-bottom: 0.5em;
	line-height: 1.6;
}

/* ご注意テキスト */
.ss-step-caution {
	margin-top: 15px;
	font-size: 0.9em;
	line-height: 1.6;
}
.ss-step-caution .jp {
	margin-bottom: 0.2em;
	color: #d35400;
}

/* Tips (アイコン装飾修正版) */
.ss-howto-tips {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 900px;
	margin: 0 auto;
}

.ss-tip-box {
	flex: 1;
	min-width: 300px;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 8px;
}

/* 見出しスタイル */
.ss-tip-title {
	margin-bottom: 15px;
	font-weight: bold;
	text-align: center;
	font-size: 1.1em;
	display: flex;            /* アイコンと文字を綺麗に並べる */
	align-items: center;      /* 上下中央揃え */
	justify-content: center;  /* 左右中央揃え */
	gap: 8px;                 /* アイコンと文字の間隔 */
}

/* ◯✕アイコンのスタイル（共通） */
.ss-tip-title .mark {
	display: inline-block;
	width: 30px;           /* 幅固定 */
	height: 30px;          /* 高さ固定 */
	line-height: 30px;     /* 上下中央寄せ */
	border-radius: 50%;    /* 丸くする */
	color: #ffffff;        /* 文字色は白 */
	font-size: 0.9em;
	text-align: center;
	font-weight: bold;
	flex-shrink: 0;        /* 縮まないようにする */
}

/* 画像スタイル */
.ss-tip-box img {
	display: block;
	width: 80%;
	max-width: 300px;
	height: auto;
	margin: 0 auto 15px;
	border: 1px solid rgba(0,0,0,0.1);
}

/* --- 良い例（青系アイコン） --- */
.ss-tip-box.good {
	color: #333;
	background: #eef7e6;
	border: 1px solid #556b2f;
}
.ss-tip-box.good .ss-tip-title {
	color: #556b2f;
}
.ss-tip-box.good .mark {
	background-color: #0066cc; /* 鮮やかな青 */
}

/* --- 悪い例（赤系アイコン） --- */
.ss-tip-box.bad {
	color: #333;
	background: #ffe6e6;
	border: 1px solid #cc0000;
}
.ss-tip-box.bad .ss-tip-title {
	color: #cc0000;
}
.ss-tip-box.bad .mark {
	background-color: #cc0000; /* 濃い赤 */
}

@media screen and (max-width: 768px) {
/* --- How to Use Section (ステップを縦積み・画像センタリング) --- */
    .ss-step-row {
        flex-direction: column; /* 画像とテキストを縦積みに */
        gap: 15px;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    
    /* Step 1, 2, 3(1枚目) の画像エリア */
    .ss-step-img {
        flex: auto;
        width: 100%;
        max-width: 400px; /* PC画像が大きすぎないように制限 */
        margin: 0 auto;   /* ブロック自体を左右中央寄せ */
        text-align: center; /* 中の画像を中央寄せ */
    }
    
    /* Step 3(2枚目) の画像エリア */
    .ss-step-sub-img {
        width: 100%;
        margin: 15px auto 0; /* 上マージン15px、左右オートで中央寄せ */
        text-align: center;  /* 中の画像を中央寄せ */
    }

    /* ステップ番号の位置調整 */
    .ss-step-num {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 1.4rem;
        top: -10px;
        left: -10px;
    }
    .ss-step-desc {
        width: 100%;
    }
    
    /* Tips（良い例・悪い例） */
    .ss-howto-tips {
        flex-direction: column; /* 縦積み */
        gap: 20px;
    }
    .ss-tip-box {
        width: 100%;
    }
}

/* --------------------------------------------------
   Product Information
-------------------------------------------------- */
.ss-product-info {
	padding: 80px 0;
	background-color: #f9f9f9;
}

.ss-pi-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	margin-bottom: 50px;
}

.ss-pi-img-area {
	flex: 1;
	min-width: 300px;
	text-align: center;
}
.ss-pi-img-area img {
	max-width: 100%;
	height: auto;
	border-radius: 5px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.ss-pi-main-info {
	flex: 1;
	min-width: 300px;
	text-align: left;
}

.ss-pi-title-box {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #ccc;
}
.ss-pi-title-box .supervisor {
	margin-bottom: 10px;
	color: #556b2f;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
}
.ss-pi-title-box .product-name {
	color: #333;
	font-size: clamp(2.4rem, 4vw, 3.4rem);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.ss-pi-price-box {
	display: block; 
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	background: #fff;
	border: 2px solid #eee;
	border-radius: 8px;
}
.ss-pi-price-box .label {
	margin-bottom: 0;
	color: #666;
	font-size: 1.3rem;
	font-weight: bold;
}
.ss-pi-price-box .price {
	margin: 5px 0 0;
	color: #cc0000;
	font-family: "Century Gothic", sans-serif;
	font-size: clamp(4.0rem, 8vw, 6.0rem);
	font-weight: bold;
	line-height: 1;
}
.ss-pi-price-box .currency {
	margin-left: 5px;
	color: #333;
	font-size: 0.5em;
}
.ss-pi-price-box .tax {
	color: #666;
	font-size: 0.4em;
	font-weight: normal;
}

.ss-pi-bottom {
	width: 100%;
	margin: 0 auto;
}

.ss-pi-tables {
	max-width: 800px;
	margin: 0 auto 40px;
}

.ss-pi-table {
	width: 100%;
	margin-bottom: 20px;
	background: #fff;
	border-collapse: collapse;
	font-size: 1.5rem;
}
.ss-pi-table th,
.ss-pi-table td {
	padding: 15px;
	border: 1px solid #ccc;
}
.ss-pi-table th {
	width: 30%;
	font-weight: bold;
	white-space: nowrap;
	background: #eee;
}
.ss-pi-table.size-spec th {
	width: auto;
	text-align: center;
	background: #eef7e6;
}
.ss-pi-table.size-spec td {
	text-align: center;
}
.ss-pi-table.size-spec .size-label {
	font-family: "Century Gothic", sans-serif;
	font-weight: bold;
	white-space: nowrap;
}

.ss-btn-group {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin-top: 30px;
}

.ss-btn-item {
	flex: 1;
	min-width: 300px;
	text-align: center;
}

.ss-btn-buy {
	display: block;
	position: relative;
	width: 100%;
	padding: 20px 15px;
	box-sizing: border-box;
	color: #fff !important;
	text-decoration: none;
	line-height: 1.3;
	border: 1px solid #e65c00;
	border-radius: 10px;
	box-shadow: 0 5px 0 #cc5200, 0 5px 15px rgba(0,0,0,0.2);
	background: linear-gradient(to bottom, #ff8c00 0%, #ff6600 100%);
	transition: all 0.2s;
}
.ss-btn-buy:hover {
	opacity: 1;
	box-shadow: 0 2px 0 #cc5200, 0 2px 5px rgba(0,0,0,0.1);
	background: linear-gradient(to bottom, #ff9933 0%, #ff701a 100%);
	transform: translateY(3px);
}
.ss-btn-buy::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(to bottom, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0) 100%);
	border-radius: 10px 10px 0 0;
	pointer-events: none;
}

.ss-btn-buy.multi-line {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ss-btn-buy .btn-size {
	display: inline-block;
	margin-bottom: 4px;
	padding-bottom: 4px;
	color: #fff;
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	font-weight: bold;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	border-bottom: 1px solid rgba(255,255,255,0.7);
	white-space: nowrap;
}

.ss-btn-buy .btn-main {
	font-size: clamp(1.5rem, 3vw, 2.0rem);
	font-weight: bold;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
.ss-btn-buy .fa {
	margin-right: 10px;
}

/* 取扱説明書リンク */
.ss-manual-link {
	margin-top: 40px;
	text-align: center; /* PCでもセンター揃え */
}

.ss-manual-link a {
	display: inline-block;
	color: #666;
	/* サイズを大きく 1.4rem -> 1.6rem */
	font-size: 1.6rem;
	text-decoration: underline;
	line-height: 1.5;
	transition: all 0.3s;
}

.ss-manual-link a:hover {
	color: #556b2f;
	text-decoration: none;
	opacity: 0.8;
}

.ss-manual-link i {
	margin-right: 5px;
	color: #556b2f;
}

/* 区切り文字（スラッシュ） */
.ss-manual-link .ss-sep {
	display: inline;
}

/* ファイルサイズ情報 */
.ss-manual-link .file-size {
	font-size: 0.9em; /* ベース文字より少し小さく */
	color: #888;
	font-family: "Century Gothic", sans-serif;
}

@media screen and (max-width: 768px) {
	.ss-btn-item {
		min-width: 100%;
	}
	
	.ss-manual-link {
		margin-top: 30px;
	}
	
	/* スマホではスラッシュを消す */
	.ss-manual-link .ss-sep {
		display: none;
	}
	
	/* スマホではファイルサイズ情報をブロック要素にして改行させる */
	.ss-manual-link .file-size {
		display: block;
		margin-top: 5px;
	}
}

/* --------------------------------------------------
   Related Section
-------------------------------------------------- */
.ss-related {
	padding: 80px 0;
	background-color: #fff;
}

.ss-related-head-jp {
	margin-bottom: 10px;
	color: #556b2f;
	font-size: clamp(1.8rem, 1.5vw + 1.2rem, 2.4rem);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

.ss-related-head-en {
	margin-bottom: 40px;
	color: #666;
	text-align: center;
	font-family: "Century Gothic", sans-serif;
	/* 日本語見出しより一回り小さく調整 */
	font-size: clamp(1.4rem, 2.5vw, 2.0rem); 
	line-height: 1.4;
}

.ss-cd-header-info {
	max-width: 800px;
	margin: 0 auto 60px;
	padding: 50px 30px;
	text-align: center;
	background-color: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 8px;
}

.ss-cd-header-info .cd-image {
	margin-bottom: 30px;
}
.ss-cd-header-info .cd-image img {
	width: 100%;
	max-width: 400px;
	height: auto;
	border-radius: 2px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.ss-cd-header-info .cd-title {
	margin-bottom: 20px;
	color: #333;
	font-size: clamp(2.0rem, 4vw, 2.8rem);
	font-weight: bold;
	line-height: 1.4;
}

.ss-cd-header-info .cd-title .en {
	display: block;
	margin-top: 8px;
	color: #666;
	font-family: "Century Gothic", sans-serif;
	font-weight: normal;
	
	/* 改行を許可（自然な折り返し） */
	white-space: normal; 
	
	/* 親文字サイズの0.6倍（スマホで約12px～PCで約16px程度） */
	font-size: 0.6em; 
	line-height: 1.4;
}

.ss-cd-header-info .cd-spec {
	display: inline-block;
	margin-bottom: 30px;
	padding-bottom: 10px;
	color: #333;
	font-family: "Century Gothic", sans-serif;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: bold;
	border-bottom: 1px dashed #ccc;
	white-space: nowrap;
}

.cd-avail-box {
	margin-top: 10px;
}
.ss-cd-header-info .cd-avail {
	margin-bottom: 20px;
	color: #333;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
}
.ss-cd-header-info .cd-avail .en {
	display: block;
	margin-top: 5px;
}

.ss-btn-stream {
	display: inline-block;
	padding: 12px 40px;
	color: #556b2f !important;
	font-size: clamp(1.3rem, 2.5vw, 1.5rem);
	font-weight: bold;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #556b2f;
	border-radius: 50px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
	transition: all 0.3s;
	white-space: nowrap;
}
.ss-btn-stream:hover {
	color: #fff !important;
	background-color: #556b2f;
	box-shadow: 0 5px 10px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}
.ss-btn-stream .fa {
	margin-right: 8px;
}

.ss-related-text-content {
	max-width: 800px;
	margin: 0 auto 60px;
}

.ss-related-text-content .jp,
.ss-posture-desc .jp {
	margin-bottom: 20px; 
	font-weight: 700;
	text-align: justify;
	line-height: 2.0;
}

.ss-related-text-content .ss-text-en,
.ss-posture-desc .ss-text-en {
	margin-bottom: 50px; 
	text-align: justify;
}

.ss-posture-theory {
	display: block;
	overflow: hidden; 
	margin-bottom: 60px;
	padding: 40px;
	background: #fcfcfc;
	border: 1px solid #eee;
	border-radius: 8px;
}

.ss-posture-float-img {
	float: right;
	width: 55%;
	max-width: 600px;
	margin: 0 0 20px 40px;
	text-align: center;
}
.ss-posture-float-img img {
	max-width: 100%;
	height: auto;
	border: 1px solid #eee;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

@media screen and (max-width: 768px) {
	.ss-posture-theory {
		padding: 20px;
	}
	.ss-posture-float-img {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 30px 0;
	}
}

/* --------------------------------------------------
   Caution Section
-------------------------------------------------- */
.ss-caution-section {
	padding: 80px 0;
	background-color: #f9f9f9;
}

.ss-caution-wrapper {
	max-width: 900px;
	margin: 0 auto;
	font-size: 0.9em;
}

.ss-caution-box {
	margin-bottom: 40px;
}

.ss-caution-box.care {
	padding: 30px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.ss-caution-box ul {
	padding-left: 1.5em;
}
.ss-caution-box li {
	list-style: disc;
	margin-bottom: 0.8em;
	line-height: 1.6;
}
.ss-caution-box li .en {
	display: block;
	margin-top: 2px;
}

.ss-caution-note {
	margin-top: 20px;
	padding-top: 20px;
	color: #556b2f;
	border-top: 1px dashed #ccc;
}
.ss-caution-note p {
	margin-bottom: 5px;
}

.ss-caution-box.care h4 {
	margin-bottom: 20px;
	padding-bottom: 5px;
	color: #666;
	font-size: 1.5rem;
	font-weight: bold;
	border-bottom: 2px dotted #aaa;
}

.ss-laundry-icons {
	margin-top: 30px;
	padding-top: 20px;
	text-align: center;
	border-top: 1px solid #eee;
}
.ss-laundry-icons img {
	width: 40%; 
	max-width: 100%;
	height: auto;
}

/* 企業情報 */
.ss-company-info-area {
	padding: 50px 0;
	text-align: center;
	color: #666;
	background-color: #fff;
	font-size: 0.9em;
}

.ss-company-row {
	margin-bottom: 20px;
	line-height: 1.6;
}
.ss-company-row:last-child {
	margin-bottom: 0;
}

.ss-company-row a {
	color: #666;
	text-decoration: underline;
}

.ss-company-row .en {
	display: block;
	margin-top: 5px;
}