@charset "utf-8";

/* 基本情報 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, 
acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, 
sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, 
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, 
footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  font-family: "Noto Sans JP", sans-serif;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  -webkit-text-size-adjust: 100%; /* iOS Safariの自動ズームを防ぐ */
}
body {
  line-height: 1;
  width:100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
  background-color: #fffbfc;
  background-image:
  linear-gradient(45deg, #ffe6eb 2px, transparent 1px),
  linear-gradient(-45deg, #ffe6eb 2px, transparent 1px);
  background-size: 30px 30px;
}
p {
  font-size: 0.85em;
  margin-top: 0.3em;
  line-height: 1.7;
}
p.ml2 {
  margin-left: 2em;
}

@media screen and (min-width: 1024px) {
p {
  font-size: 0.95em;
}
}
ol, ul {
  list-style: none;
  box-sizing: border-box;
}
div.main-content {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
div.main-content2 {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  padding: 10px 10px 20px;
  background: #fff;
}
div.main-content3 {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  padding: 30px 30px;
  background: #fff;
}

dl {
	font-size: 14px;
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
}
@media screen and (min-width: 1024px) {
dl {
	font-size: 15px;
}
}
dt {
  display: block;
  unicode-bidi: isolate;
}
dd {
  display: block;
  unicode-bidi: isolate;
}
a {
  text-decoration: none;
}
.item img:hover, .swiper-slide3 img:hover, 
.item img:hover, .swiper-slide4 img:hover {
  opacity: 0.7;
}
.f-gr {
  color: #b0d47c;
}
.f-pi {
  color: #fc527b;
}
/*****パンくずリスト*****/
.breadcrumb {
  margin-bottom: 20px;
  padding: 10px 20px;
  background: #ffe7ee;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0.85em;
}
@media screen and (max-width: 767px) {
.breadcrumb {
  font-size: 0.7em;
}
}
.breadcrumb ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center; /* ← これを追加 */
  padding: 0;
  margin: 0;
}
.breadcrumb li {
  flex-shrink: 0;
  white-space: nowrap;
}
.breadcrumb li:last-child {
  flex-shrink: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  max-width: 100%;
}
.breadcrumb li a {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ff7ba8;
}
.breadcrumb li img {
  height: auto;
  width: 15px;
}

.breadcrumb li + li::before {
  content: ">";
  margin: 0 0.5em;
}
a {
  color: #ff6c9d;
}
a:hover {
  color: #b9df85;
}

.sp-br {
  display: none;
}
@media screen and (max-width: 1023px) {
  .sp-br {
    display: inline;
  }
}
.hidden {
  display: none;
}

/************トップページ************/
/*****ヘッダー箇所*****/
#header-c {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 10px;
  background:  #fff;
  height: 80px;
}
#header_inner h1 {
  margin: 0;
}
#header_inner img {
  width: 60%;
  height: 60%;
}
@media screen and (min-width: 1024px) {
#header_inner img {
  width: 80%;
  height: 80%;
}
}
/*****グローバルメニュー*****/
.header_right {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
.header_right {
  gap: 20px;
}
}
#global_menu ul {
  font-size: 0.95em;
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: center;
}
#global_menu ul li {
  margin-right: 25px;
}
#global_menu ul li a {
  color: #ff7ba8;
}
#global_menu ul li a:hover {
  color: #83c526;
}
@media screen and (max-width: 1023px) {
#global_menu ul {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: center;
}
#global_menu ul li {
  margin-right: 0px;
}
#global_menu ul li a {
  font-size: 0.9em;
  color: #000;
}
#global_menu ul li a:hover {
  color: #b9df85;
}
#global_menu ul li:nth-child(odd) a::first-line {
  color: #ff6c9d;
  font-weight: 600;
}
#global_menu ul li:nth-child(even) a::first-line {
  color: #b6d38f;
  font-weight: 600;
}
}
/************検索フォーム************/
/*****共通スタイル*****/
.header_search {
  margin-left: auto;
}
.search-form-1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border-radius: 25px;
  transition: all 0s ease;
  border: 2px solid #ff7ba8;
}
@media screen and (max-width: 1023px) {
.search-form-1 {
border: 2px solid transparent;
}
.search-form-1.active {
  border: 2px solid #ff7ba8;
}
}
/*****検索アイコンボタン*****/
.search-form-1 button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 45px;
  border: none !important;
  background-color: #ff7ba8;
  cursor: pointer;
  border: 2px solid #ff7ba8;
}
.search-form-1 button::after {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: '';
}
/*****input 非表示状態*****/
@media screen and (max-width: 1023px) {
.header_search {
  margin-left: auto;
  margin-right: 65px;
}
}
.search-form-1 input {
  width: 0px;
  height: 0px;
  padding: 0;
  border: none;
  font-size: 1em;
  outline: none;
  transition: all 0s ease;
  opacity: 0;
  visibility: hidden;
}
/*****表示時（JSで .active クラス付与）*****/
.search-form-1.active input {
  width: 100%;
  height: 45px;
  padding: 0px 15px;
  opacity: 1;
  visibility: visible;
}
/*****PC画面（幅1016px以上）の場合は常に表示*****/
@media screen and (min-width: 1024px) {
.search-form-1 input {
  width: 225px;
  height: 45px;
  padding: 0px 15px;
  opacity: 1;
  visibility: visible;
}
}
.logo-hide {
  display: none !important;
}
#navArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*****ハンバーガーメニュー*****/
@media screen and (max-width: 1023px) {
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
}
nav .inner {
  padding: 1px 0 25px 0;
}
nav .inner ul {
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1.5em 1em;
  text-decoration: none;
}
nav .inner ul li a:hover {
  background-color: rgba(255, 192, 203, 0.2); /* 薄ピンク */
}
@media screen and (max-width: 767px) {
nav {
  left: -220px;
  width: 220px;
}
}
/*****ハンバーガーボタン*****/
.toggle_btn {
  display: block;
  position: fixed;
  right: 15px;
  width: 45px;
  height: 47px;
  transition: all .5s;
  cursor: pointer;
  z-index: 50;
}
.toggle_btn span {
  display: block;
  margin: 8px 0px;
  width: 30px;
  height: 2px;
  border-radius: 4px;
  transition: all .5s;
  background-color: #fff;
}
.toggle_inner {
  box-sizing: border-box;
  padding: 5px 8px;
  background: #ff7ba8;
  border-radius: 10px;
 }

.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
/*****ハンバーガー展開時の背景など*****/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}
}
/*****フッター*****/
#footer_top {
  width: 100%;
  background: #FCC6D4 no-repeat center center;
  background-size: cover;
  margin-top: 100px;
}
#footer_top ul {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}
#footer_top ul li {
  flex: 1;
  text-align: center;
  padding: 10px;
}
#footer_top ul li img {
  height: 50px;
  width: auto;
}
@media screen and (max-width: 767px) {

#footer_top ul li img {
  height: 35px;
  width: auto;
}
}
/*****コピーライト*****/
#copyright {
  margin: 0;
  padding: 5px 20px;
  width: auto;
  font-size: 11px;
  text-align: center;
  color: #ffffff;
  background: #232323;
}
#copyright a {
  color: #ffffff;
  text-decoration: underline;
}
/*****ページトップ*****/
.space {
  height: -25px;
}
.pagetop {
  cursor: pointer;
  position: fixed;
  right: 10px;
  bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  transition: .3s;
  color: #fcc6d4;
  background: #fff;
  box-shadow: 0 0 10px #fcc6d4;
  opacity: 0;
  font-size: 15px;
  z-index: 1000;
}
.pagetop.show {
  opacity: 1;
  pointer-events: auto;
}


/************トップページ、メインコンテンツ************/
/*****カルーセル*****/
.cell2 {
  background: #fff;
}
.swiper-wrapper2 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto 30px;
  position: relative;
  z-index: 0;
}
.swiper-slide2 {
  max-width: 1100px;
  width: 100%;
  text-align: center;
  transition: opacity 0.3s ease-in-out;
}
/*****画像の最大幅調整*****/
.swiper-slide2 img {
  max-width: 1100px;
  width: 100%;
}
/*****ボタン・矢印*****/
.swiper-pagination2 .swiper-pagination-bullet {
  background-color: #ff7ba8;
}
.cell2 .swiper-button-next2, .cell2 .swiper-button-prev2 {
  transform: translateY(-50%);
}
@media screen and (max-width: 1023px) {
.swiper-button-prev2::after,
.swiper-button-next2::after {
  content: "" !important;
}
}
@media screen and (min-width: 1024px) {
/*****画像の最大幅調整*****/
.cell2 {
  max-width: auto;
  margin: 0 auto;
  position: relative;
  background: #fff;
}
.swiper-slide2 {
  width: 1200px;
  opacity: 0.5;
  transition: transform 0.3s, opacity 0.3s;
}
.swiper-slide2.swiper-slide-active {
  opacity: 1;
  transform: scale(1.00);
}
.swiper-slide2 img {
  max-width: 1200px;
  width: 100%;
  height: auto;
}
.swiper-wrapper2 {
  padding: 0 20px;
}
}
@media screen and (min-width: 1024px) {
/*****ボタン・矢印*****/
.cell2 .swiper-button-next,.cell2 .swiper-button-prev{
  background-color: #ff7ba8;
  border-radius: 50%;
  width: 50px;
  height: 50px;
}
.cell2 .swiper-button-next::after, .cell2 .swiper-button-prev::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #fff;
  font-size: 1.5rem;
}
.cell2 .swiper-button-next::after {
  content: '\f054'; /* FontAwesomeの右矢印 */
}
.cell2 .swiper-button-prev::after {
  content: '\f053'; /* FontAwesomeの左矢印 */
}
}
/************新刊情報************/
.book_slider{
  max-width: 100%;
  width:100%;
}
@media screen and (min-width: 1024px) {
/*****画像の最大幅調整*****/
.book_slider{
  max-width: 1100px;
  width:100%;
}
}
.book_slider img{
  max-width: 100%;
  width: 100%;
  height: auto;
}
.swiper-wrapper3 {
  max-width: 100%;
  margin: 0 auto 30px;
  position: relative;
  z-index: 0;
}
.swiper-slide3 {
  max-width: 100%;
  height: 100%;
  text-align: center;
  transition: opacity 0.5s ease-in-out;
	background:#fff;
	padding: 20px 20px;
  box-sizing: border-box;
  border:2px solid #ff7ba8;
}
@media screen and (max-width: 1023px) {
/*****ボタン・矢印*****/
.swiper3 .swiper-button-next,.swiper3 .swiper-button-prev,
.swiper4 .swiper-button-next,.swiper4 .swiper-button-prev{
  background-color: #929292c9;
  border-radius: 50%;
  width: 45px;
  height: 45px;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 0px !important;
    left: auto;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 0 !important;
    right: auto;
}
.swiper3 .swiper-button-next::after, .swiper3 .swiper-button-prev::after,
.swiper4 .swiper-button-next::after, .swiper4 .swiper-button-prev::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #fff;
  font-size: 1.5rem;
}
.swiper3 .swiper-button-next::after,
.swiper4 .swiper-button-next::after {
  content: '\f054'; /* FontAwesomeの右矢印 */
}
.swiper3 .swiper-button-prev::after,
.swiper4 .swiper-button-prev::after {
  content: '\f053'; /* FontAwesomeの左矢印 */
}
}

div.cover{
  aspect-ratio: 3 / 4;
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-bottom: 0.5em;
}
div.cover img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translate(-50%, -50%);
}
.book-bg2 img:first-child {
	padding: 17px 0;
}
.book-info {
	font-size: 1em;
  margin-top: 10px;
  text-align: left;
  line-height: 20px;
  min-height: calc(2 * var(--your-line-height, 1.2em));
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 3行でカット */
  overflow: hidden;
  text-overflow: ellipsis; /* 省略記号「...」を表示 */
  color: #000;
}
.swiper-slide3:nth-child(n+7) .book-info { 
  font-size: 0.9em; 
}
@media screen and (max-width: 767px) {
.book-info {
	font-size: 0.85em;
}
}
.book-info:hover {
  color: #b9df85;
}
.book-label {
	font-size: 0.8em;
  text-align: left;
  line-height: 20px;
}
.book-au {
	font-size: 0.8em;
  margin-top: 10px;
  text-align: left;
  line-height: 20px;
}
.book-au a {
  color: #ff7ba8;
  text-decoration: underline;
}
.book-au a:hover {
  color: #b9df85;
}
.book-day {
	font-size: 0.8em;
  margin-top: 5px;
  text-align: left;
}
.label-logo {
  position: absolute;
  bottom: 15px;
  right: 10px;
  width: 15% !important;
  height: auto !important;
}
/*****画像の最大幅調整*****/
.swiper-slide3 img {
  max-width: 100%;
}
.swiper-button-next3, .swiper-button-prev3 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
}
.swiper-button-prev3 {
  left: -8px;
}
.swiper-button-next3 {
  right: -8px;
}
.book_slider .swiper-slide-next, .book_slider .swiper-slide-prev{
  opacity: 0.5;
}
.swiper-pagination3,
.swiper-button-next3,
.swiper-button-prev3 {
  color: #ff7ba8 !important;
}
@media screen and (min-width: 768px) {
.book_slider .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}
.book_slider .swiper-slide {
  width: calc(50% - 10px);
  box-sizing: border-box;
  border:2px solid #ff7ba8;
}
.book_slider .swiper-slide:nth-child(n+7) {
  width: calc((100% - 40px) / 3);
}
/*****Swiperの不要なスタイル削除*****/
.swiper-pagination3,
.swiper-button-next3,
.swiper-button-prev3 {
  display: none !important;
}
}
@media screen and (min-width: 1024px) {
.book_slider .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}
.book_slider .swiper-slide {
  width: calc(33% - 12.3px); /* 3列に分ける */
}
.book_slider .swiper-slide:nth-child(n+7) {
  width: calc((100% - 67px) / 4);
}
/*****Swiperの不要なスタイル削除*****/
  .swiper-pagination3,
  .swiper-button-next3,
  .swiper-button-prev3 {
  display: none !important;
}
  .swiper-pagination4,
  .swiper-button-next4,
  .swiper-button-prev4 {
  display: none !important;
}
}



/************コミカライズ原作************/
.swiper-wrapper4 {
  max-width: 100%;
  margin: 0 auto 30px;
  position: relative;
  z-index: 0;
}
.swiper-slide4 {
  max-width: 100%;
  height: 100%;
  text-align: center;
  transition: opacity 0.5s ease-in-out;
	background:#fff;
	padding: 20px 20px;
  box-sizing: border-box;
  border:2px solid #ff7ba8;
}
.book_slider .swiper-slide4 {
  width: calc(25% - 17px); /* 4列に分ける */
}
/*****画像の最大幅調整*****/
.swiper-slide4 img {
  max-width: 100%;
}
.swiper-button-next4, .swiper-button-prev4 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
}
.swiper-button-prev4 {
  left: 0 !important;
}
.swiper-button-next4 {
  right: 0 !important;
}
.swiper-pagination4,
.swiper-button-next4,
.swiper-button-prev4 {
  color: #ff7ba8 !important;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.book_slider .swiper-wrapper4{
    flex-wrap: unset !important;
    gap: 0px;
    justify-content: unset !important;
    max-width: 100%;
    margin: 0 auto 30px;
    position: relative;
    z-index: 0;
  }
/* Swiper本体が自動で付与するクラス活用 */
.swiper4 .swiper-slide4 {
  transition: opacity 0.3s, transform 0.3s;
}
.swiper4 .swiper-slide4.swiper-slide-active,
.swiper4 .swiper-slide4.swiper-slide-next,
.swiper4 .swiper-slide4.swiper-slide-prev {
  opacity: 1; /* アクティブ＆隣は通常表示 */
}
.swiper4 .swiper-slide4:not(.swiper-slide-active):not(.swiper-slide-next):not(.swiper-slide-prev) {
  opacity: 0.5; /* それ以外は半透明 */
  pointer-events: none;
}
  .swiper4 {
    max-width: 850px;   /* 例: スライド2枚分＋spaceBetween分。1枚340px, 間隔20pxの場合 */
    margin: 0 auto;
  }
}


/************配信予定************/
h1.cs-book, h2.cs-book {
	font-size: 1em;
  margin: 60px auto 20px;
  padding: 15px 10px;
	text-align: center;
  border-radius: 32px;
  background:#fff;
  max-width: 100%;
  height: auto;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
  line-height: 1.2;
}
h1.cs-book2, h2.cs-book2 {
	font-size: 1em;
  margin: 28px auto 20px;
	padding: 15px 10px;
	text-align: center;
  border-radius: 32px;
  background:#fff;
  max-width: 100%;
  height: auto;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
  line-height: 1.2;
}
h1.cs-book3, h2.cs-book3 {
	font-size: 1em;
  margin: 28px auto 0;
	padding: 15px 10px;
	text-align: center;
  border-radius: 32px;
  background:#fff;
  max-width: 100%;
  height: auto;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
  line-height: 1.2;
}
h1.cs-book::before, h1.cs-book2::before, h1.cs-book3::before, h1.buy::before, h1.buy2::before, 
h2.cs-book::before, h2.cs-book2::before, h2.cs-book3::before, h2.buy::before, h2.buy2::before  {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  border: 2px solid #ff7ba8;
  border-bottom: none;
  box-sizing: border-box;
  z-index: -1;
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}
h1.cs-book::after, h1.cs-book2::after, h1.cs-book3::after, h1.buy::after, h1.buy2::after, 
h2.cs-book::after, h2.cs-book2::after, h2.cs-book3::after, h2.buy::after, h2.buy2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  border: 2px solid #cae5a3;
  border-top: none;
  box-sizing: border-box;
  z-index: -1;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}
div.topics,div.topics2 {
  margin: 0 0 0 20px;
}
.topics dl, .topics2 dl {
  margin: 0;
  padding: 0;
  margin-bottom: 24px;
}
.topics dt, .topics2 dt {
  color: #fc527b;
  padding-bottom: 5px;
  font-weight: bold;
  line-height: 1.5;
}
.topics dd, .topics2 dd {
  line-height: 1.5;
}
.topics dl dd + dd, .topics2 dl dd + dd {
  margin-top: 10px;
}

.topics dd a, .topics2 dd a {
  color: #000000;
  text-decoration: underline;
}
.topics dd a:hover, .topics2 dd a:hover {
  color: #b0d47c;
}
ul.news li {
	font-size: 14px;
  line-height: 1.2;
  padding-bottom: 20px;
}
@media screen and (min-width: 1024px) {
h1.cs-book, h1.cs-book2, h1.cs-book3, 
h2.cs-book, h2.cs-book2, h2.cs-book3 {
	font-size: 1.25em;
	padding: 20px 10px;
}
.topics dt, .topics2 dt {
  clear: left;
  float: left;
  width: 13%;
  padding-bottom: 5px;
  font-weight: bold;
  line-height: 1.5;
}
.topics dd, .topics2 dd {
  line-height: 1.5;
  margin-left: 15%;
}
.topics dl dd + dd, .topics2 dl dd + dd {
  margin-top: 10px;
}
}



/************作品詳細************/
#book-detail{
  line-height: 1.6;
  padding: 40px 20px 10px 20px;
}
#book-detail p{
  font-size: 0.8em;
  line-height: 1.5;
}
#book-detail p:last-of-type{
  padding-top: 10px;
  border-top: solid 1px #333;
}
#book-detail p.sec{
  margin-top: 1em;
}
p.aiau{
  line-height: 1.4 !important;
  text-align: left !important;
  padding-bottom: 5px !important;
}

#book-detail ul.author{
  font-size: 0.85em;
  padding-bottom: 10px;
}
#book-detail ul li{
  padding-top: 2px;
}
#book-detail ul li.auai{
  font-size: 1.1em;
  margin-bottom: 5px;
  font-weight: bold;
  color: #ff7ba8;
}
#book-detail ul li.auai a{
  border-bottom: 1px solid;
}
#book-detail ul li.auai a:hover{
  color: #b0d47c;
}
#book-detail ul li.yume{
  font-size: 1.25em;
  margin-top: 20px;
  font-weight: bold;
  text-align: center;
}
#book-detail ul li.yume .yume-comic{
  background: #ff7ba8;
  border: solid 1px #ff7ba8;
  color: #fff;
  padding: 5px 40px;
  border-radius: 12px;
}
#book-detail ul li.yume .yume-comic:hover{
  background: #ff8cb2;
}
ul.comic-url {
  font-size: 0.8em;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 2列に分ける */
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 2.5em 0 1em 0;
}
ul.comic-url li {
  text-align: center;
}
ul.comic-url li a {
  display: inline-block;
  padding: 8px 12px;
  background: #ff7ba8;
  border-radius: 4px;
  text-decoration: none;
  color: #fff;
}
ul.comic-url li a:hover {
  background: #ff8cb2;
}
/*****続編・スピンオフ欄*****/
#book-detail p.next{
  font-size: 1.05em;
  margin-top: 2em;
  text-align: center;
  font-weight:bold;
  display: block;
  flex: 1 1 0;
  min-width: 0;
}
#book-detail p.next:last-of-type{
  border: none;
  padding-top: 0;
  margin-left: 0em;
}
#book-detail p.next .bg {
  display: block;          /* ブロック要素化 */
  width: 100%;             /* 親要素いっぱい */
  box-sizing: border-box;  /* パディング込みで100% */
  font-size: 0.85em;
  background: #ff7ba8;
  padding: 8px clamp(14px, 5vw, 20px);
  border-radius: 12px;
  text-align: center;      /* 中央寄せしたいなら */
}
@media screen and (max-width: 767px) {
#book-detail p.next .bg {
  font-size: 0.7em;
  background: #ff7ba8;
  padding: 8px clamp(10px, 4vw, 24px);
  border-radius: 12px;
  display: block;
}
div.spinoff {
  gap: clamp(6px, 2vw, 12px);
}
}
#book-detail p.next a {
  color: #fff;
}
#book-detail p.next .bg:hover {
  background: #ff8cb2;
}
#book-detail p.next img{
  height:150px;
  vertical-align: middle;
  padding: 15px 0;
  object-fit: cover;
}
div.spinoff {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 2vw, 16px);
  flex-wrap: nowrap;
}
/*****作品が一つなら左寄せ*****/
#book-detail .spinoff.single {
  justify-content: center;
}
#book-detail .spinoff.single p.next{
  flex: 0 1 auto;
  width: clamp(260px, 52vw, 400px);
  margin-inline: auto;
}
#book-detail .spinoff.single p.next .bg{
  padding: 10px clamp(12px, 4vw, 40px);
}
/*****作品情報（作品名・紹介文など）*****/
div.calligraphy{
  margin-bottom: 25px;
  text-align: center;
}
div.calligraphy img{
  height: auto;
  width: 250px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
#novel-name{
  font-size: 1em;
  margin-bottom: 10px;
  color: #333;
}
h2.buy {
	font-size: 1em;
  margin: 50px auto 15px;
	padding: 20px 0;
	text-align: center;
  border-radius: 32px;
  background:#fff;
  width: 1100px;
  max-width: 100%;
  height: auto;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
}
ul.syoten{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  line-height: 2;
  margin-left: 20px;
}
ul.syoten li img{
  height: auto;
  width: 115px;
}
@media screen and (min-width: 1024px) {
#book-detail{
  line-height: 1.6;
  padding: 40px 20px 10px 20px;
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
div.calligraphy{
  flex: 0 0 40%;
  position: sticky;
  top: 20px;
  align-self: flex-start;
}
div.calligraphy img{
  height: auto;
  width: 350px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
div.novel-area{
  flex: 1;
}
#novel-name{
  font-size: 1.3em;
  margin-bottom: 10px;
  color: #333;
}
#book-detail p{
  font-size: 0.9em;
}
#book-detail ul.author{
  font-size: 0.85em;
}
#book-detail ul li.auai{
  font-size: 1.2em;
  margin-bottom: 5px;
  font-weight: bold;
  color: #ff7ba8;
}
h2.buy {
	font-size: 1.25em;
  margin: 50px auto 30px;
	padding: 20px 0;
}
ul.syoten{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
ul.syoten li img{
  height: auto;
  width: 165px;
}
}
.no-related {
  font-size: 1.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
.no-related {
  font-size: 0.8em;
  text-align: center;
}
}



/************レーベル切り替え************/
#label-main {
  font-size: 1.1em;
  background: #fff9f9;
  border: solid 2px #fcc6d4;
  border-radius: 32px;
  text-align: center;
  padding: 10px 20px;
  font-weight: normal;
}
.tab-buttons {
  display: flex;
  gap: 10px;
  margin: 20px 0 30px 0;
  justify-content: space-between;
  flex-wrap: wrap;
}
.tab-buttons button {
  padding: 8px;
  border: none;
  background-color: #fff;
  cursor: pointer;
  font-size: 0;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.15);
}
.tab-buttons button img {
  display: block;
  height: auto;
  width: 55px;
}
.tab-buttons button.active {
  background-color: #ffe5ee;
  color: white;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}


@media screen and (min-width: 1024px) {
.tab-buttons {
  gap: 100px;
  justify-content: center;
}
.tab-buttons button img {
  display: block;
  height: auto;
  width: 60px;
}
}
@media screen and (min-width: 768px) {
.tab-buttons {
  gap: 74px;
  justify-content: center;
}
.tab-buttons button img {
  display: block;
  height: auto;
  width: 60px;
}
}



/*****サブ（deep）*****/
.tab-buttons2 button {
  padding: 8px;
  border: none;
  background-color: #fff;
  cursor: pointer;
  font-size: 0;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.15);
}
.tab-buttons2 button:nth-child(2) {
  margin-left: 20px;
}
.tab-buttons2 button img {
  display: block;
  height: auto;
  width: 55px;
}
.tab-buttons2 button.active {
  background-color: #ffe5ee;
  color: white;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
#label-sub {
  margin-top: 10px;
}
.tab-content .label-top {
  position: relative;
}
.tab-content .label-top .tab-buttons2 {
  text-align: right;
  bottom: 1em;
  right: 1em;
  margin: 0.5em 0 0 0;
  justify-content: flex-end;
}
.tab-buttons2.hidden {
  display: none;
}
#label-sub {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
.tab-buttons2 {
  gap: 100px;
  justify-content: center;
  position: absolute;
  margin: 0;
}
.tab-buttons2 button img {
  display: block;
  height: auto;
  width: 40px;
}
.tab-content .label-top .tab-buttons2 {
  text-align: right;
  bottom: 0.5em;
  right: 1em;
  margin: 0.5em 0 0 0;
  justify-content: flex-end;
}
}

@media screen and (min-width: 1024px) {
.tab-buttons2 {
  gap: 100px;
  justify-content: center;
  position: absolute;
  margin: 0;
}
.tab-buttons2 button img {
  display: block;
  height: auto;
  width: 50px;
}
.tab-content .label-top .tab-buttons2 {
  text-align: right;
  bottom: 1em;
  right: 1em;
  margin: 0.5em 0 0 0;
  justify-content: flex-end;
}
}

@media (max-width: 767px){

  /* メイン5ボタン（正方形） */
  .tab-buttons{
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)); /* 5等分 */
    gap: 25px;
    justify-items: center;   /* ボタンをセル中央に */
    margin: 20px 0 30px;
  }
  .tab-buttons button{
    width: 100%;
    aspect-ratio: 1 / 1;     /* 正方形に */
    padding: 0 !important;
    display: grid !important;
    place-items: center;
    box-sizing: border-box;
  }
  .tab-buttons button img{
    width: 80%;
    height: 80%;
    object-fit: contain;
    display: block;
  }
  /* （任意）アクティブ強調をちょい足ししたいなら */
  /* .tab-buttons button.active{ outline:2px solid #ff87a8; outline-offset:2px; } */

  /* サブボタン：説明文の下に出す（クリスタル/プランセだけ is-open になる） */
  .tab-content .label-top .tab-buttons2{
    display: none;            /* デフォ非表示 */
  }
  .tab-content .label-top .tab-buttons2.is-open{
    display: flex;            /* 開いたら出す */
    justify-content: center;
    align-items: center;
    gap: 0px;
    margin-top: 12px;
    position: static;         /* “右下に絶対配置”を打ち消し */
  }
  .tab-buttons2 button{
    width: clamp(48px, 9vw, 72px);
    aspect-ratio: 1 / 1;
    padding: 0; border: 0; background: #fff;
    display: grid; place-items: center;
    box-shadow: 0 5px 5px rgba(0,0,0,.15);
  }
  .tab-buttons2 button img{
    width: 80%; height: 80%; object-fit: contain; display: block;
  }
}

/*****メインコンテンツ*****/
.label-top {
  margin-top: 20px;
  padding: 10px 0;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
  background: #fff;
}
.label-top p {
  font-size: 0.9em;
  line-height: 1.3;
  font-style: italic;
  font-family: serif;
  text-align: center;
}
.label-top h2.label-name {
  font-size: 0.95em;
  margin-bottom: 5px;
  line-height: 1.2;
  font-style: italic;
  font-family: serif;
  text-align: center;
}
@media screen and (min-width: 1024px) {
.label-top {
  padding: 15px 0;
}
.label-top p {
  font-size: 1em;
}
.label-top h2.label-name {
  font-size: 1.2em;
  margin-bottom: 10px;
}
}
.label-top h2.cry {
  color: #fd94c5
}
.label-top h2.sele {
  color: #ff7772
}
.label-top h2.pri {
  color: #fa62a5
}
.label-top h2.ale {
  color: #14a8b0
}
/***各作品***/
.pagination {
  margin-top: 20px;
  text-align: center;
}
.items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 20px;
}
.item {
  margin-top: 30px;
  height: auto;
  width: calc(50% - 7px);
  box-sizing: border-box;
  background: #fff;
}
.item img {
  display: block;
  margin: 0 auto 10px;
  height: auto;
  max-width: 100%;
  width: 1400px;
}
.item.tag2 img {
  padding: 20px 0;}
.item p {
  line-height: 1.3;
}
.item p:nth-child(2) {
  font-size: 0.8em;
  margin: 0 5px 10px;
  height: calc(1.3em * 2);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;  /* 最大3行まで */
  text-overflow: ellipsis;
  color: #000;
}
.item p a {
  color: #ff6c9d;
  text-decoration: underline;
}
.item p a:hover {
  color: #b9df85;
}
.item p:nth-child(3) {
  font-size: 0.7em;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
.items {
  justify-content: flex-start;
  gap: 15px;
}
.item {
  margin-top: 40px;
  height: auto;
  width: calc(32% - 1px);
  box-sizing: border-box;
}
.item p:nth-child(2) {
  font-size: 0.9em;
  margin-bottom: 10px;
  height: calc(1.3em * 2);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}
.item p.small {
  font-size: 0.85em;
}
.item p {
  padding: 0 10px;
}
}
@media screen and (min-width: 1024px) {
.items {
  justify-content: flex-start;
  gap: 15px;
}
.item {
  margin-top: 40px;
  height: auto;
  width: calc(25% - 12px);
  box-sizing: border-box;
}
.item p:nth-child(2) {
  font-size: 0.9em;
  margin-bottom: 10px;
  height: calc(1.3em * 2);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  color: #000;
}
.item p.small {
  font-size: 0.85em;
}
.item p {
  padding: 0 10px;
}
}
/*****ページネーションの見た目*****/
.pagination button {
  margin: 20px 5px 0 5px;
  padding: 7px 12px;
  cursor: pointer;
  border: solid 1px #ff7ba8;
  border-radius: 0;
  background-color: #fff;
  color: #333;
}
.pagination button.active {
  font-weight: bold;
  background-color: #ff7ba8;
  color: white;
  border-radius: 0;
}



/***********お問い合わせ************/
div.contact {
  font-size: 0.9em;
}
div.contact p.sec {
  margin-top: 0.5em;
}
div.contact p.indent1 {
  margin-left: 1em;
  text-indent: -1em;
}
div.contact2 {
  margin-left: 2.5em;
  margin-right: 2.5em;
}
div.contact p.small {
  font-size: 0.9em;
  margin-top: 0.5em;
}
@media screen and (min-width: 1024px) {
div.contact {
  font-size: 1em;
}
}


div.success-message {
  text-align: center;
}
div.button-wrap {
  margin-top: 40px;
  margin-bottom: 20px;
}

div.button-wrap a {
  color: #fff;
  min-width: 160px;
  padding: 10px 20px;
  font-size: 1em;
  background-color: #ff7ba8;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
div.button-wrap a:hover {
  background-color: #ff538c;
}




/***********作家募集************/
/*見出し*/
h3.recruit {
  font-size: 1.05em;
  background: #fff9f9;
  border: solid 2px #fcc6d4;
  border-radius: 32px;
  text-align: center;
  padding: 10px 20px;
  font-weight: normal;
  margin: 40px 10px 10px;
}
h3.recruit:nth-child(1) {
  margin: 20px 10px 10px;
}
div.sakka {
  font-size: 0.9em;
  margin: 0 0;
}
div.sakka p {
  font-size: 0.95em;
}

div.sakka2 {
  margin: 0 1.5em;
}
div.sakka2 p {
  margin-top: 1em;
}

div.sakka a {
  text-decoration: underline;
}
div.sakka p {
  margin-left: 2em;
  margin-right: 1em;
}
div.comic-rec p  {
  margin-left: 3.2em;
  margin-right: 3.2em;
}
div.sakka ol, div.sakka ul  {
  margin-left: 1em;
  margin-right: 1em;
}
div.sakka ul, div.sakka ol {
  margin-bottom: 0.5em;
  padding: 0 0 0 1em;
  line-height: 1.5;
  list-style-position: inside;
}
div.sakka ul li:nth-child(n+2), div.sakka ol li:nth-child(n+2) {
  margin-top: 0.6em;
}
div.sakka ul, div.sakka ol {
  padding-left: 1em;
}
div.sakka ul li, div.sakka ol li {
  text-indent: -1em;
  padding-left: 1em;
}
div.sakka p.sec, div.sakka ol.sec, div.sakka ul.sec {
  margin-top: 1em;
}
div.sakka p.sec2, div.sakka ol.sec2, div.sakka ul.sec2  {
  margin-top: 2em;
}
div.sakka p.kome {
  margin-left: 4.2em !important;
  text-indent: -1em;
}
div.sakka p.kome2 {
  margin-left: 4em !important;
  text-indent: -1em;
}

div.sakka p.stay {
  margin-top: 1.5em;
  text-align: center;
  color: #ff7ba8;
  font-weight: bold;
}
div.form {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}
div.form .submit-button2 {
  color: #fff;
  min-width: 160px;
  padding: 15px 20px;
  font-size: 1em;
  background-color: #ff7ba8;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
div.form .submit-button2:hover {
  background-color: #ff538c;
}
@media screen and (min-width: 1024px) {
div.sakka {
  font-size: 1em;
}
}
div.recruit-tabs {
  margin-top: 30px;
  text-align: center;
}
.recruit-tab {
  font-size: 0.9em;
  background: #ff7ba8;
  border: solid 1px #ff7ba8;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  padding: 5px 15px;
  font-weight: 500;
}
.recruit-tab:nth-child(2) {
  margin: 0 10px;
}
/* アクティブ状態を強調 */
.recruit-tab.active {
  background: #b9df85;
  color: #fff;
  border: 1px solid #b9df85;
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
.recruit-tab {
  font-size: 1em;
  background: #ff7ba8;
  border: solid 1px #ff7ba8;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  padding: 5px 25px;
  font-weight: 500;
}
.recruit-tab:nth-child(2) {
  margin: 0 30px;
}
}
@media screen and (max-width: 450px) {
div.recruit-tabs button {
  display: block;
  text-align: center;
}
}
@media screen and (max-width: 767px) {
div.sakka {
  font-size: 0.8em;
}
div.sakka p {
  margin-left: 1em;
  margin-right: 1em;
}
div.sakka p.kome {
  margin-left: 4em !important;
  text-indent: -1em;
}
div.sakka p.kome2 {
  margin-left: 3em !important;
  text-indent: -1em;
}
div.sakka ul, div.sakka ol {
  padding-left: 0;
}
.recruit-tab {
  font-size: 0.9em;
  background: #ff7ba8;
  border: solid 1px #ff7ba8;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  padding: 5px 15px;
  font-weight: 500;
  width: 100%;
}
.recruit-tab:nth-child(n+2) {
  margin: 15px 0 0 0;
}
}
#author-bio { white-space: pre-line; }


/* フォーム全体の余白とか背景色 */
.wpcf7-form {
  background: #fff0f4;
  border: 1px solid #e9e9e9;
  padding: 2rem;
  margin: 2em 1.5em 0 1.5em;
  border-radius: 8px;
}
/* テキスト入力欄 */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-bottom: 1em;
}

/* チェックボックス・ラジオ */
.wpcf7-list-item-label {
  font-size: 0.9em;
  margin-right: 1em;
}
/* 送信ボタン */
p.aligncenter {
  text-align: center;
}
.wpcf7-submit {
  background: #ff7ba8;
  color: #fff;
  padding: 10px 50px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  margin: 2rem auto;
}
.wpcf7-submit:hover {
  background: #ff8cb2;
}

p.kakunin, p.kakunin a {
  margin: 40px 0;
  text-align: center;
  color: #FFF;

}
span.wpcf7-submit2 {
  background: #ff7ba8;
  color: #fff;
  padding: 10px 50px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  margin: 2rem auto;
}


/***********作家募集************/
/*見出し*/
#content-author {
  font-size: 1.2em;
  background: #fff9f9;
  border: solid 2px #fcc6d4;
  text-align: left;
  padding: 10px 20px;
  font-weight: normal;
  margin: 0 0 10px;
  font-weight: 500;
}
.profile p {
  font-size: 0.9em;
  margin: 0 20px;
}
#related {
  font-size: 1em;
  background: #fadde5;
  text-align: left;
  padding: 10px 20px;
  font-weight: normal;
  margin: 40px 0 -10px;
  font-weight: 500;
  color: #2c2c2c;
}
#related2 {
  font-size: 1.2em;
  background: #fff9f9;
  border: solid 2px #fcc6d4;
  text-align: left;
  padding: 10px 20px;
  font-weight: normal;
  margin: 0;
  font-weight: 500;
}
.related-items {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.related-item {
  margin-top: 30px;
  height: auto;
  width: calc(50% - 7px);
  box-sizing: border-box;
  text-align: center;
  background: #fff;
}
.related-item img {
  display: block;
  margin: 0 auto 10px;
  height: auto;
  max-width: 100%;
  width: 1400px;
}
.related-item p {
  line-height: 1.3;
}
.related-item p:nth-child(2) {
  font-size: 0.8em;
  margin: 0 auto 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;  /* 最大3行まで */
  text-overflow: ellipsis;
  text-align: left;
}
.related-item p:nth-child(3) {
  font-size: 0.7em;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
#content-author, #related, #related2 {
  font-size: 1em;
}
.profile p {
  font-size: 0.8em;
  margin: 0 20px;
}
}

@media screen and (min-width: 1024px) {
.profile p {
  font-size: 1em;
  margin: 0 20px;
}
.related-items {
  justify-content: flex-start;
  gap: 15px;
  padding: 0 20px;
}
.related-item {
  margin-top: 40px;
  height: auto;
  width: calc(25% - 12px);
  box-sizing: border-box;
  text-align: center;
}
.related-item p:nth-child(2) {
  font-size: 0.9em;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}
.related-item p:nth-child(3) {
  font-size: 0.9em;
}
.related-item p {
  padding: 0 10px;
}
}
.related-item > p:first-of-type > a{
  color: #000;
}


/***********お知らせ************/
/*見出し*/
#news {
  font-size: 1.3em;
  border-bottom: solid 2px #fcc6d4;
  text-align: left;
  margin: 0 0 30px 0;
  padding: 10px 0 15px 0;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
#news {
  font-size: 1.1em;
}
}
.news-day {
  font-size: 0.8em;
  text-align: left;
  margin: 0 0 5px 0;
  padding: 0;
}
.info-day {
  background: #fc527b;
  border: #fc527b solid 1px;
  color: #fff;
  border-radius: 16px;
  margin: 0;
  padding: 0 10px;
}
/*and moreボタン*/
.news-button {
  border-radius: 16px;
  margin: 0;
  padding: 0 10px;
  text-align: center;
}
.news-button2 {
  font-size: 1.1em;
  font-weight: bold;
  border-radius: 16px;
  margin: 0;
  padding: 0 10px;
  text-align: center;
}
.ne-button {
  background: #ff7ba8;
  border: #ff7ba8 solid 1px;
  color: #fff;
  border-radius: 8px;
  margin: 0;
  padding: 2px 25px;
}
.ne-button:hover {
  background: #ff8cb2;
}

/*お知らせ一覧関連*/
ul.news-list {
  font-size: 1em;
  margin: 0;
  padding: 0 0;
}
ul.news-list li {
  margin: 30px 0;
  padding: 0 0 5px 0;
  line-height: 1.5;
  border-bottom: solid 1px #fc527b;
}
ul.news-list li a {
  color: #000;
}
ul.news-list li a:hover {
  color: #b9df85;
}
ul.news-list li .ne-day {
  font-size: 0.75em;
  padding: 0 10px;
  background: #fc527b;
  border: #fc527b solid 1px;
  color: #fff;
  border-radius: 16px;
}
@media screen and (min-width: 1024px) {
ul.news-list {
  font-size: 1.1em;
  margin: 0;
  padding: 0 0;
}
ul.news-list li {
  margin: 30px 0;
  padding: 0 0 5px 0;
  line-height: 1.5;
  border-bottom: solid 1px #fc527b;
}
ul.news-list li .ne-day {
  font-size: 0.75em;
  padding: 0 10px;
  background: #fc527b;
  border: #fc527b solid 1px;
  color: #fff;
  border-radius: 16px;
}
}
/*検索結果画面*/
#js-search-results {
  font-size: 1em;
  margin: 10px 0 0 0;
  padding: 0;
}
#js-search-results li {
  font-size: 1em;
  margin: 0 0 10px 0;
  padding: 0;
}



/***********CF7フォームデザイン************/
/* ① フォーム全体の枠を変えたいとき */
#cf7-form .wpcf7-form {
  background: #fff0f4;
  border: 1px solid #e9e9e9;
  padding: 2rem;
  margin: 2em 1.5em 0 1.5em;
  border-radius: 8px;
}
#cf7-form .wpcf7-form p.sec {
  margin-top: 2em;
  margin-left: 0.5em;
  text-indent: -1em;
}
/* ② テキスト入力・テキストエリアの見た目 */
#cf7-form .wpcf7-form input[type="text"],
#cf7-form .wpcf7-form input[type="email"],
#cf7-form .wpcf7-form textarea {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin: 10px 0;
}
/* ③ ラベルのフォントや色 */
#cf7-form .wpcf7-form label  {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #333;
  line-height: 1.5;
}
/* 各項目を横に並べて隙間つける */
#cf7-form .wpcf7-form .wpcf7-list-item {
  display: inline-block;
  margin: 10px 0 5px 10px;
}
/* 最後のアイテムだけ余白消す */
#cf7-form .wpcf7-form .wpcf7-list-item:first-child {
  margin-left: 13px;
}
/* 最後のアイテムだけ余白消す */
#cf7-form .wpcf7-form .wpcf7-list-item:last-child {
  margin-right: 0;
}
#cf7-form .wpcf7-form .require {
  font-size: 0.9em;
  background: #fc527b;
  border: 1px solid #fc527b;
  color: #fff;
  margin-left: 0.5em;
  padding: 0 5px;
}
#cf7-form .wpcf7-form .require2 {
  font-size: 0.9em;
  margin-left: 0.5em;
}
#cf7-form .wpcf7-form legend  {
  margin-bottom: 0.5em;
}
/* 各行に共通の余白 */
#cf7-form .form-row {
  margin-bottom: 25px;
}

/* 共通でチェックマークの色を青系に */
#cf7-form .wpcf7-form input[type="checkbox"],
#cf7-form .wpcf7-form input[type="radio"] {
  accent-color: #fc527b;
}
/* ④ 送信ボタン */
#cf7-form .wpcf7-form .wpcf7-submit {
  background: #ff7ba8;
  color: #fff;
  padding: 10px 50px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  margin: 2rem auto;
}
#cf7-form .wpcf7-form .wpcf7-submit:hover {
  background: #ff8cb2;
}
p.kakunin, p.kakunin a {
  margin: 40px 0;
  text-align: center;
  color: #FFF;
}
span.wpcf7-submit2 {
  background: #ff7ba8;
  color: #fff;
  padding: 10px 50px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  margin: 2rem auto;
}
/* 各行に共通の余白 */
#cf7-form .recaptcha_policy {
  font-size: 0.75em;
}
#cf7-form .confirm-value {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  margin: 10px 0;
  color: #555;
  min-height: 3rem;
  white-space: pre-wrap;
  word-break: break-word;
}
  span.title-contactform7 {
    font-weight: bold;
  }

.error-message {
  color: #c00;
  font-size: 0.9em;
  margin-top: 4px;
}
/* ⑤ レスポンシブ対応 */
@media (max-width: 767px) {
  #cf7-form .wpcf7-form {
    padding: 1rem;
    margin: 2em 0.5em 0 0.5em;
  }
  p.ml2 {
    margin-left: 0.5em;
  }
  #cf7-form .wpcf7-form input,
  #cf7-form .wpcf7-form label,
  #cf7-form .wpcf7-form legend,
  #cf7-form .wpcf7-form ::placeholder,
  #cf7-form .wpcf7-form .wpcf7-submit,
  #cf7-form .form-row strong ,
  #cf7-form .form-row p ,
  #cf7-form .title-contactform7 {
    font-size: 0.75em;
  }
  #cf7-form .wpcf7-form input[type="text"] ,
  #cf7-form .wpcf7-form input[type="email"]{
    font-size: 0.95em;
    padding: 0.65em;
  }
  #cf7-form .wpcf7-form textarea{
    padding: 0.65em;
  }
  .error-message {
    font-size: 0.75em;
  }
p.kakunin, p.kakunin a {
  margin: 20px 0;
  text-align: center;
  color: #FFF;
}
/* ④ 送信ボタン */
#cf7-form .wpcf7-form .wpcf7-submit, span.wpcf7-submit2, .wpcf7-submit {
  padding: 10px 40px;
  font-size: 0.9em;
}

/* 各行に共通の余白 */
#cf7-form .recaptcha_policy {
  font-size: 0.75em;
}
#cf7-form .confirm-value {
  width: 100%;
  padding: 0.5rem;
  font-size: 0.9em;
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  margin: 10px 0;
  color: #555;
  min-height: 2rem;
  white-space: pre-wrap;
  word-break: break-word;
}
.error-top {
  font-size: 0.75em;
  margin-bottom: 10px;
  color: #c00;
}
}


/* 404ページ */
h1.notfound {
	font-size: 1.5em;
  margin: 50px auto 30px;
  padding: 15px 10px;
	text-align: center;
  letter-spacing: 1px;
  font-weight: normal;
}
.aligncenter {
	text-align: center;
}



/* 取り扱い書店 */
.mr20 {
  margin: 0 20px;
}
ul.book-list {
  padding: 0;
  margin: 10px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
ul.book-list li {
  font-size: 16px;
  width: 24%;
  list-style: none;
  box-sizing: border-box;
  padding: 0 10px;
  margin: 0 5px 0 0;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  ul.book-list li {
      width: 100%;
  }
}

.al-right, .more-bookstores {
  text-align: right;
  margin-right: 20px;
}


@supports (-webkit-touch-callout: none) {
  input, textarea, select { font-size: 16px; }
}
