/* コンテンツ下部の余白修正 */
#content{
	margin-bottom: 0;
}
/* コンテンツ上部の余白修正 */
.l-content{
	padding-top:0;
}
/* ページタイトル削除 */
h1.c-pageTitle[data-style=b_bottom]{
	border-bottom:none;
}

h1.c-pageTitle[data-style=b_bottom]>span.c-pageTitle__inner{
	display:none;
	border-bottom:none;
}

.c-pageTitle:after{
	display:none;
}

.l-mainContent__inner>.post_content{
	margin-top:0;
}



/* 全部の箱共通 */
.contentInner>.contentWidth>.leftBox>.borderFrame-blue{
	margin-bottom: 2rem;
}
span.font-emphasize{
	font-size: 70px;
}

/* problemBoxの指定 */
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star01{
	max-width: 60px;
	width: 100%;
	position: absolute;
	left: 4%;
	top: 27%;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star02{
	max-width: 60px;
	width: 100%;
	position: absolute;
	right: 4%;
	top: 27%;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>p{
	text-align: center;
	font-size: 36px;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02{
	max-width: 382px;
	width: 100%;
	margin: 40px auto 0 auto;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02>p{
	margin-bottom: .5rem;
	font-size: 20px;
	position: relative;
	padding-left: 1.4em;
}
.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02>p:before{
	content: "";
	color: var(--color_main);
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1em;
	height: 1em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23479AC7' d='M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}
.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img01{
	max-width: 210px;
	width: 100%;
	position: absolute;
	bottom: 30px;
	left: -3px;
	transform: rotateZ(-4deg);
}
.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img02{
	max-width: 230px;
	width: 100%;
	position: absolute;
	bottom: -25px;
	right: -20px;
}
@media screen and (max-width: 1280px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img01{
		/* max-width: 230px; */
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img02{
		max-width: 210px;
	}
}
@media screen and (max-width: 1210px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img01{
		max-width: 190px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img02{
		max-width: 190px;
	}
}
@media screen and (max-width: 1110px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img01{
		max-width: 180px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img02{
		max-width: 170px;
	}
}
@media screen and (max-width: 1060px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01{
		flex-direction: column;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star01{
		max-width: 36px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star02{
		max-width: 36px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img01{
		max-width: 250px;
		position: static;
		margin-bottom: -40px;
		margin-left: -15px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>img.problem-img02{
		max-width: 240px;
		position: static;
		margin-bottom: -40px;
		margin-left: 135px;
	}
}
@media screen and (max-width: 959px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02{
		margin: 20px auto 0 auto;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box03{
		max-width: 570px;
		width: 100%;
		margin: -30px auto -20px auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box03>img.problem-img03{
		max-width: 140px;
		width: 100%;
		transform: rotateZ(-4deg);
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box03>img.problem-img04{
		max-width: 130px;
		width: 100%;
	}
}
@media screen and (max-width: 670px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star01{
		max-width: 30px;
		top: 22%;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>img.problem-star02{
		max-width: 30px;
		top: 22%;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02{
		max-width: 390px;
	}
}
@media screen and (max-width: 520px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02{
		margin: 20px auto 0 auto;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02{
		max-width: 272px;
	}
}
@media screen and (max-width: 420px) {
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box03{
		margin: -30px auto -20px -18px;
	}
}

/* flowBoxの指定 */
.contentInner>.contentWidth>.leftBox>.flowBox{
	padding-top: 30px;
}
.contentInner>.contentWidth>.leftBox>.flowBox>p.font-HiraginoKakuGothicProN-W6{
	text-align:center;
	font-size: 20px;
}
.contentInner>.contentWidth>.leftBox>.flowBox>.flow-box01>p{
	color: #ffffff;
	text-align:center;
	font-size: 36px;
}

/* featuresBoxの指定 */
.contentInner>.contentWidth>.leftBox>.featuresBox{
	padding-top: 100px;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>img.features-img01{
	/* max-width: 150px;
	width: 100%;
	position: absolute;
	left: -60px;
	top: -45px; */
}

/* 吹き出し本体（任意の場所に配置） */
.features-bubble-container {
	position: absolute;
	top: -140px;
	left: -30px;
	z-index: 10;
}
/* 吹き出しの形状・デザイン */
.features-bubble {
	position: relative;
	background-color: #e68a5c; /* オレンジの色味 */
	width: 140px;
	height: 140px;
	border-radius: 50%; /* 正円にする */
	display: flex;
	align-items: center;
	justify-content: center;
  z-index: 10;
}
/* 右下の三角部分 */
.features-bubble::after {
	content: "";
	position: absolute;
	bottom: 4px;
	right: -3px;
	border-width: 50px 0 0 25px; /* 三角の形を調整 */
	border-style: solid;
	border-color: #e68a5c transparent transparent transparent;
	transform: rotate(-54deg);
  z-index: 5;
}
/* 中のテキスト */
.features-text {
	color: #ffffff !important;
	font-size: 16px;
	line-height: 1.4;
	text-align: left;
	margin: 0 !important;
	transform: rotate(-15deg); /* 画像のように少し斜めにする */
  position: relative;
  z-index: 10;
}
/* モバイル・レスポンシブ用の配置コンテナ */
.features-position-wrapper-sp {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	padding: 20px 0;
}
/* 吹き出し本体のコンテナ */
.features-bubble-container-sp {
	position: relative;
	display: inline-block;
}
/* 吹き出しの形状（横長の楕円） */
.features-bubble-sp {
	position: relative;
	background-color: #e68a5c;
	/* 横長の楕円を作る設定 */
	width: auto;
	min-width: 280px; 
	padding: 25px 40px;
	border-radius: 200px / 50px; /* ラグビーボールのような曲線 */
	display: flex;
	align-items: center;
	justify-content: center;
  transform: rotate(4deg);
}
/* 左下の尻尾部分 */
.features-bubble-sp::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 60px;
	/* 三角形の描画 */
	border-width: 0 60px 20px 0;
	border-style: solid;
	border-color: transparent #e68a5c transparent transparent;
	transform: rotate(-30deg);
}
/* テキストのスタイル */
.features-text-sp {
	color: #ffffff !important;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	margin: 0 !important;
	white-space: nowrap; /* 1行で表示 */
}

.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>img.features-img02{
	max-width: 60px;
	width: 100%;
	position: absolute;
	right: 4%;
	top: 27%;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>p{
	text-align: center;
	font-size: 36px;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02{
	margin-top: 40px;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column{
	padding: 18px;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.bookCoverImgBox{
	display: flex;
	align-items: center;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>img.book-cover-img{
	margin-bottom: 0;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-kinkakuji{
	font-size: 34px;
	margin-bottom: 10px;
	position: relative;
	padding-left: 1.3em;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-kinkakuji:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 30px;
	height: 30px;
	background-image: url("../images/common/music-icon.png");
	background-size: contain;
	background-repeat: no-repeat;
}
.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-HiraginoKakuGothicProN-W6{
	font-size: 18px;
	margin-bottom: 0;
}
@media screen and (max-width: 1060px) {
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>img.features-img01{
		/* max-width: 130px; */
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>img.features-img02{
		max-width: 36px;
	}
}
@media screen and (max-width: 959px) {
	.contentInner>.contentWidth>.leftBox>.featuresBox{
		padding-top: 12px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.swell-block-columns{
		--swl-clmn-mrgn--x: 12px;
    --swl-clmn-mrgn--y: 12px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>p{
		width: 100%;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>.sp_only{
		width: 100%;
		display: flex;
		justify-content: flex-end;
		margin: -8px 0 -20px 0;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>.sp_only>img.features-img-sm{
		max-width: 230px;
		width: 100%;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.swell-block-columns>.swell-block-columns__inner{
		row-gap: 12px;
		margin-left: calc(12px* -1);
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column{
		padding: 12px;
		margin: 0 0 0 12px;
		width: calc(var(--clmn-w) - 12px);
	}
}
@media screen and (max-width: 520px) {
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02{
		margin-top: 0;
	}
}

/* messageBoxの指定 */
.contentInner>.contentWidth>.leftBox>.messageBox{
	padding-left: 36px;
	padding-right: 36px;
}
.contentInner>.contentWidth>.leftBox>.messageBox>p.font-kinkakuji{
	font-size: 36px;
	text-align: center;
}
.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-one{
	font-size: 20px;
	text-align: center;
	margin-top: 40px;
	margin-bottom: 20px;
}
.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-two{
	font-size: 18px;
}
@media screen and (max-width: 959px) {
	.contentInner>.contentWidth>.leftBox>.messageBox{
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (max-width: 520px) {
	.contentInner>.contentWidth>.leftBox>.messageBox{
		padding-left: 12px;
		padding-right: 12px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-one{
		margin-top: 20px;
		margin-bottom: 10px;
	}
}

/* ================================
   アーカイブページ用スタイル
   ================================ */

/* 書籍一覧のコンテナ */
.archive-book-list .detailBox {
	margin-bottom: 1rem;
}

/* 各書籍の行 */
.archive-book-list .aRow {
	border-bottom: 1px solid var(--color_main);
}

.archive-book-list .aRow:last-child {
	border-bottom: none;
}

.archive-book-list .aRow > a.row-link {
	display: flex;
	align-items: flex-start;
	padding: 20px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.2s ease;
}

.archive-book-list .aRow > a.row-link:hover {
	background-color: #f5f5f5;
}

/* サムネイルボックス */
.archive-book-list .thumbnailBox {
	width: 300px;
	flex-shrink: 0;
	margin-right: 20px;
}

.archive-book-list .thumbnailBox img {
	width: 100%;
	height: auto;
	border-radius: 5px;
	display: block;
}

.archive-book-list .thumbnailBox .no-thumbnail {
	width: 100%;
	padding-bottom: 133%; /* 3:4のアスペクト比 */
	background-color: #e0e0e0;
	border-radius: 5px;
}

/* コンテンツボックス */
.archive-book-list .contentBox {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.archive-book-list .titleBox {
	font-size: 24px;
	font-weight: bold;
	color: var(--color_main);
	margin-bottom: 10px;
	line-height: 1.4;
}

.archive-book-list .excerptBox {
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}

/* レスポンシブデザイン */
@media screen and (max-width: 959px) {
	/* スマホでは縦並びに */
	.archive-book-list .aRow > a.row-link {
		flex-direction: column;
		padding: 15px;
	}
	
	.archive-book-list .thumbnailBox {
		width: 100%;
		max-width: 300px;
		margin-right: 0;
		margin-bottom: 15px;
	}
	
	.archive-book-list .titleBox {
		font-size: 20px;
	}
	
	.archive-book-list .excerptBox {
		font-size: 14px;
	}
}

@media screen and (max-width: 599px) {
	.archive-book-list .aRow > a.row-link {
		padding: 12px;
	}
	
	.archive-book-list .titleBox {
		font-size: 18px;
		margin-bottom: 8px;
	}
	
	.archive-book-list .excerptBox {
		font-size: 13px;
	}
}

/* フォントのレスポンシブ */
@media screen and (max-width: 1130px) {
	/* 全部の箱共通 */
	span.font-emphasize{
		font-size: 50px;
	}

	/* problemBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>p{
		font-size: 30px;
	}

	/* flowBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.flowBox>.flow-box01>p{
		font-size: 30px;
	}

	/* featuresBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>p{
		font-size: 30px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-kinkakuji{
		font-size: 28px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-HiraginoKakuGothicProN-W6{
		/* font-size: 18px; */
	}

	/* messageBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.messageBox>p.font-kinkakuji{
		font-size: 28px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-one{
		font-size: 18px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-two{
		/* font-size: 18px; */
	}
}
@media screen and (max-width: 620px) {
	/* 全部の箱共通 */
	span.font-emphasize{
		font-size: 40px;
	}

	/* problemBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>p{
		font-size: 26px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02>p{
		font-size: 18px;
	}

	/* flowBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.flowBox>.flow-box01>p{
		font-size: 26px;
	}
	.contentInner>.contentWidth>.leftBox>.flowBox>p.font-HiraginoKakuGothicProN-W6{
		font-size: 18px;
	}

	/* featuresBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>p{
		font-size: 26px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-kinkakuji{
		font-size: 22px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-HiraginoKakuGothicProN-W6{
		font-size: 16px;
	}

	/* messageBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.messageBox>p.font-kinkakuji{
		font-size: 24px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-one{
		font-size: 16px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-two{
		font-size: 16px;
	}
}
@media screen and (max-width: 520px) {
	/* 全部の箱共通 */
	span.font-emphasize{
		font-size: 34px;
	}

	/* problemBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box01>p{
		font-size: 18px;
	}
	.contentInner>.contentWidth>.leftBox>.problemBox>.problem-box02>p{
		font-size: 14px;
	}

	/* flowBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.flowBox>.flow-box01>p{
		font-size: 18px;
	}
	.contentInner>.contentWidth>.leftBox>.flowBox>p.font-HiraginoKakuGothicProN-W6{
		font-size: 14px;
	}

	/* featuresBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box01>p{
		font-size: 18px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-kinkakuji{
		font-size: 20px;
	}
	.contentInner>.contentWidth>.leftBox>.featuresBox>.features-box02>.swell-block-columns__inner>.swell-block-column>p.font-HiraginoKakuGothicProN-W6{
		font-size: 14px;
	}

	/* messageBoxの指定 */
	.contentInner>.contentWidth>.leftBox>.messageBox>p.font-kinkakuji{
		font-size: 17px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-one{
		font-size: 14px;
	}
	.contentInner>.contentWidth>.leftBox>.messageBox>p.message-text-two{
		font-size: 14px;
	}
}