@charset "utf-8";
/*@charset "UTF-8";     コメント */
/*css初期設定 start*/
html {
	font-size: 62.5%; /*文字標準*/
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	scroll-behavior: smooth;
}
a {
	text-decoration: none; /*リンクデコレーションリセット*/
}
/*大きさの計算*/
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
body {
	width: 100%;
	margin: 0 auto;
	/*文字詰め*/
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	/*スマホ横向き時のフォントサイズリセット*/
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow: visible;
	font-size: clamp(14px, 3.73vw, 18px);
	line-height: 1.7rem;
	/* word-break: keep-all;
  overflow-wrap: anywhere; */
}
.eng {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-style: normal;
}
/*iOSフォーム要素の初期化*/
input,
button,
textarea,
select {
	-webkit-appearance: none;
	appearance: none;
}
/*画像の調整*/
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

@media (max-width: 1249px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.br-sp {
		display: block;
	}
	.br-pc {
		display: none;
	}
}
@media only screen and (min-width: 1250px) {
	.sp {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	.br-sp {
		display: none;
	}
	.br-pc {
		display: block;
	}
}

#copyright {
	font-size: 1.2rem;
}
#main-footer a {
	font-size: 1.2rem;
	color: #1a2a3a;
}
/*css初期設定 end*/
/*main start*/
body {
	background: #f2f2ee;
	color: #1a2a3a;
	line-height: 1.7;
	letter-spacing: 0.2rem;
}
.mainWrap {
	display: block;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
.topSec {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}
/* コンテンツエリア */
.content-area {
	width: 100%;
	margin: 0 auto;
	position: relative;
}

/* メインコンテンツ */
.main-content {
	background: #f2f2ee;
	max-width: 580px;
	margin: auto;
	overflow-y: auto; /* スクロールが有効になっていることを確認 */
	scroll-padding-top: 85px; /* ヘッダーの高さに合わせて調整してください */
	/* 現在のHTMLのstyleタグで#headerのheightが85pxとされているため、この値に設定します。 */
	scroll-behavior: smooth; /* スムーススクロールを有効にする */
}
/* トップバナーセクション */
.topSec {
	width: 100%;
	height: 0;
	padding-top: 143.06%;
	position: relative;
}
.topSec img.topImg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.topSec img.titleImg {
	display: block;
	position: absolute;
	top: 29%;
	left: 3%;
	width: 56%;
	height: 100%;
}
/* リードセクション */
.leadSec {
	display: block;
	width: 100%;
	padding: 12% 7%;
}
.leadSec p {
	font-size: 14px;
	line-height: 1.7;
}
/* ノベルティセクション */
.novertySec {
	display: block;
	width: 100%;
	padding-bottom: 18%;
}
.novertySec .titleBox {
	text-align: center;
}
.novertySec .titleBox h3 {
	font-size: 18px;
	letter-spacing: 0;
	line-height: 1.2;
}
.novertySec .titleBox h5 {
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
}
.novertySec .fiftyFlex {
	display: flex;
	width: 100%;
	padding: 5% 0;
}
.novertySec .fiftyFlex .f-box {
	display: flex;
	flex-direction: column;
	width: 50%;
	justify-content: center;
	align-items: flex-start;
}
.novertySec .fiftyFlex .f-box h4 {
	padding: 0 20px;
}
.novertySec .fiftyFlex .f-box p {
	padding: 0 10px;
	font-size: 12px;
	line-height: 1.3;
}
/* プロダクトアンカーリストセクション */
.productAnkerList {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 5% 0;
}

.productAnkerList a {
	margin: 0 5px 5px 0;
	width: calc(18% - 5px / 5);
}
.productAnkerList img:nth-child(5n) {
	margin-right: 0;
}
/* 各セクション */
.productSec {
	background-color: white;
	margin: 30px 10px;
	margin-bottom: 30px;
	padding: 20px 10px;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.swiper {
	width: 100%;
}
.swiper-wrapper {
	height: auto;
}
.prodInner {
	display: flex;
	padding-top: 5%;
}
.prodInner .prod-f2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
}
.prodInner .prod-f {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 50%;
}

.prodInner .prodColTxt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0 5%;
}
.productSec .prodColTxt h2 {
	font-size: 14px;
	margin-top: 0;
	color: #1a2a3a;
	line-height: 1.2;
	margin-bottom: 4%;
}
.productSec .prodColTxt p {
	margin-top: 0;
	color: #1a2a3a;
	font-size: 11px;
	line-height: 1.5;
}
.productSec .prodImg {
	max-width: 100%; /* 画像がコンテナからはみ出ないように */
	height: auto;
	display: block;
	border-radius: 4px;
}
.productSec .creditTxt {
	margin-top: 4%;
	font-weight: 600;
	font-size: 11px;
	line-height: 1.5;
	padding-left: 5%;
}
.buyBtn {
	width: 56px;
	text-align: center;
	font-size: 11px;
	margin-top: 8px;
	display: block;
	padding: 4px 12px;
	border: 1px solid #1a2a3a;
	border-radius: 20px;
}
.buyBtn:hover {
	text-decoration: none;
}
/* cvエリア */
.cvArea {
	width: 85%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
	margin-bottom: 15%;
}
a.cvBtn {
	display: inline-block;
	width: 95%;
	/* min-width: 320px; */
	max-width: 440px;
	background-color: #f2f2ee;
	border: 1px solid #1a2a3a;
	font-size: clamp(14px, 3.73vw, 18px);
	padding: 5px 0;
	color: #1a2a3a;
	border-radius: 20px;
	margin-top: 5%;
	text-align: center;
	margin: 3% auto;
	text-decoration: none;
}
/* トップに戻るボタン */
#back-to-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background-color: #1a2a3a;
	color: #f2f2ee;
	border: none;
	border-radius: 5px;
	padding: 10px 15px;
	border-radius: 62px;
	cursor: pointer;
	font-size: 11px;
	display: none;
	z-index: 10000;
}
#back-to-top.show {
	display: block; /* Show the button */
}
/* inview */
.js-fade {
	opacity: 0;
	visibility: hidden;
	/* transform: translateY(50px); */
	/* transition: opacity 1s, visibility 1s, transform 1s; */
	transition: opacity 2s, visibility 2s;
}

.inview {
	opacity: 1;
	visibility: visible;
	/* transform: translateY(0px); */
}

@media only screen and (min-width: 1250px) {
	.main-content {
		margin: 0 23% 0 41.8%;
	}
	.sidebar-image {
		position: fixed;
		top: 0;
		left: 0;
		object-fit: cover; /* 画像のアスペクト比を保ちつつコンテナを埋める */
	}

	/* 左サイドバー (PC表示) */
	.sidebar-left {
		width: 50%; /* 幅を30%に設定 */
		position: fixed;
		top: 0; /* 画面上部に固定 */
		height: 100vh; /* 画面の高さいっぱいに */
		overflow-y: auto; /* 必要ならスクロール */
		left: 0;
		box-sizing: border-box; /* paddingをwidthに含める */
		margin-top: 85px; /* 例: 画面中央付近に配置 */
	}
	.sidebar-image-container {
		overflow: hidden;
	}
	.sidebar-image {
		object-fit: contain; /* 画像をコンテナ内に収める（必要なら） */
		height: 100%;
		width: auto; /* アスペクト比を保つ */
		margin: 0 auto; /* 中央寄せ */
		display: block;
	}

	/* メイン */

	/* 右サイドバー (PC表示) */
	.sidebar-right {
		display: block;
		width: 30%;
		position: fixed;
		bottom: 9%;
		right: -27%;
		transform: translate(-50%, 0);
	}
	.toc-nav {
		margin-top: 0; /* 例: 画面中央付近に配置 */
	}
	.toc-nav h3 {
		display: inline-block;
		border-bottom: 2px solid #1a2a3a;
		margin-bottom: 12px;
		line-height: 1.2;
	}
	.toc-nav ul {
		border-left: 1px solid #eee;
		font-size: 14px;
	}
	.toc-nav li {
		margin-bottom: 10px;
		line-height: 1.1;
	}
	.toc-nav a {
		color: #1a2a3a; /* PC版では少し濃いめの色に（例） */
		font-size: 12px; /* 文字サイズを少し大きく */
		padding: 8px 0;
		text-decoration: none;
	}
	.toc-nav a:hover {
		color: #d35400; /* ホバー時の色を調整 */
	}
	.toc-nav a.active {
		color: #d35400; /* アクティブ時の色 */
		font-weight: bold;
		text-decoration: underline; /* 例: 下線も追加 */
	}
	.novertySec .fiftyFlex .f-box p {
		padding: 0 20px;
		line-height: 1.5;
	}
	a.cvBtn {
		margin: 1% auto;
	}
	/* チャットボットの位置移動 (文字と被るため）*/
	#chat_badge_ai {
		left: 2px !important;
	}
}

/*ヘッダーエリア*/
.header {
	width: 100%;
}
.header {
	padding-bottom: 8px;
	margin-bottom: -8px;
}
.toplogo {
	width: 100%;
	height: 100px;
	/*      border-top: 8px solid #067fc4;*/
	text-align: center;
}
img.blandLogo {
	height: 80px;
	width: auto;
	margin: 10px;
}
