/* 共通スタイル */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
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;
	font-size: 100%;
	font: inherit;
	font-family: "Hiragino Sans";
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Lato', 'Hiragino sans', 'Meiryo', sans-serif;
  color: #333;
  font-size: var(--pls-font-size-s);
  line-height: 1.4;
  letter-spacing: 10%;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: number 0;
  overflow-x: hidden;
  overscroll-behavior: none;
}
@media screen and (max-width: 560px) {
  body {
    font-size:var(--pls-font-size-base);
  }
}
body header{
  background: #FFF;
  padding: 10px;
  border-bottom: 1px solid #eee;
}
body header .wrapper_header{
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  max-width: 1200px;
}
body header h1{
  display: inline-block;
  float: left;
}
section {
  line-height: 180%;
}
div.cont {
  max-width: 1200px;
  width: 80vw;
  padding: var(--pls-spacing-xxl) 0;
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-xl);
  margin: 0 auto;
}
div.cont h1 img {
  margin: 0 auto 8px;
  display: block;
}
div.cont h2 img {
  display: block;
  max-width: 132px;
}
@media screen and (max-width: 768px) {
  div.cont {
    width: 100%;
    padding: 32px var(--pls-spacing-l);
    gap: 32px;
  }
}
@media screen and (min-width:769px) and ( max-width:1024px){
  div.cont {
    width: 94vw;
    padding-top: 32px;
    padding-bottom: 32px;
    gap: 32px;
  }	
}
.cont-narrow-gap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (max-width: 560px) {
  .br-sp {
    display: block;
  }
  .none-sp {
    display: none;
  }
}
/* 見出し */
.cont h1 {
  font-size: 36px;
  font-weight: var(--pls-font-weight-bold);
  line-height: 150%;
  width: 100%;
  text-align: center;
  margin: 16px 0;
}
.cont h2 {
  margin: 0 auto;
  font-size: 28px;
  font-weight: var(--pls-font-weight-bold);
  line-height: 150%;
  white-space: normal;
}
.cont h3 {
  margin: 0 auto;
  font-size: 22px;
  font-weight: var(--pls-font-weight-bold);
  line-height: 150%;
}
.cont h4 {
  margin: 0 auto;
  font-size: 20px;
  font-weight: 400;
  line-height: 150%;
}
@media screen and (max-width: 560px) {
  .cont h1 {
    font-size: var(--pls-font-size-xxl);
    line-height: var(--pls-line-height-xxl);
  }
  .cont h2 {
    font-size: var(--pls-font-size-xl);
  }
  .cont h3 {
    font-size: 20px;
  }
  .cont h4 {
    font-size: 18px;
  }
}
/*デザイン付きのh２*/
h2.style {
  position: relative;
  display: inline-block;
  padding: 0 66px;
}
h2.style:before, h2.style:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 1px;
}
h2.style.pink:before, h2.style.pink:after {
  background-color: #BA1064;
}
h2.style.navy:before, h2.style.navy:after {
  background-color: #006;
}
h2.style:before {
  left: 0;
}
h2.style:after {
  right: 0;
}
@media screen and (max-width: 560px) {
  h2.style {
    padding: auto;
    text-align: center;
    margin: 0;
  }
}
/*デザイン付きのh3*/
h3.style.navy {
  width: 100%;
  padding-left: var(--pls-spacing-xs);
  border-left: solid 8px #006;
  margin-bottom: 32px;
}
h3.style.pink {
  width: 100%;
  padding-left: var(--pls-spacing-xs);
  border-left: solid 8px #BA1064;
  margin-bottom: 32px;
}
/* テキストスタイル */
p {
  margin: 0;
}
.strong {
  font-weight: var(--pls-font-weight-bold);
}
.pink {
  color: #D91676;
  font-style: normal;
}
.navy {
  color: #000066;
}
.red {
  color: #CC1818;
  font-style: normal;
}
.grey {
  color: #adadad;
}
.white {
  color: #FFFFFF;
}
.text-L {
  font-size: var(--pls-font-size-m);
  line-height: var(--pls-line-height-m);
}
.text-M {
  font-size:var(--pls-font-size-base);
  line-height: var(--pls-line-height-base);
}
.text-S {
  font-size: var(--pls-font-size-xs);
  line-height: var(--pls-line-height-xs);
}
/* センタリング テキストセット */
.centering {
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-xs);
  text-align: center;
}
/* テキスト＋ボタンセット */
.button-parts {
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-m);
  width: 100%;
}
.button-parts h3 {
  text-align: center;
}
/* リンク　*/
a {
  text-decoration: none;
  color: inherit;
  padding: 0;
  margin: 0;
}
a.text:hover {
  text-decoration: underline;
}
.text-link {
  color: #307CBA;
}
.cover-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
a.link-icon {
  color: #333;
  text-decoration: underline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: var(--pls-spacing-l);
  margin-top: var(--pls-spacing-xs);
  background: url(https://www.m2plus.com/o/images/ebookstartcpn/new-rounded.svg) 100%/20px auto no-repeat
}
.centering a.link-icon {
  align-items: center;
}
/* KV */
section.kv-sec{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%),url(../../../images/ebookstartcpn/kv/KV-bg-pc4.png);
  background-size: contain;
  background-repeat: no-repeat;	
}
.kv-wrapper {
  position: relative;
  text-align: center;
  padding: 0;
}
.kv-wrapper .kv {
  padding: var(--pls-spacing-xl) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-xxl);
}
.kv-wrapper .kv img{
  max-width: 900px;
  margin: 0 auto;
}
.kv-img-pc{
  max-width: 900px;
  margin: 0 auto;
}
.kv-img-sp{
  display: none;
}
.kv-img-tb{
  display: none;
}
.kv-sec .title{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--pls-spacing-xs);
}	
.kv-sec .title h1{
  font-size: var(--pls-font-size-4xl);
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-s);
  text-align: center;
  font-style: normal;
  font-weight: var(--pls-font-weight-bold);
  line-height: var(--pls-line-height-4xl);
}

@media screen and (min-width: 1640px) {
.kv-wrapper .kv {
  background-position: 0 -120px;
  background-size: cover;
}
}
@media screen and (min-width: 769px) and (max-width: 1024px){
section.kv-sec{
  background-image:url(../../../images/ebookstartcpn/kv/KV-bg-tb4.png);
}
.kv-sec .title h1{
  font-size: var(--pls-font-size-4xl);
}
.kv-wrapper .kv {
  gap:64px;
}
.title h1{
  font-size: 32px;	
}
.kv-img-sp{
  display: none;
}
.kv-img-tb{
  max-width:760px;
  width: 90vw;
  display: block;
  margin: 0 auto;
}
.kv-img-pc{
  display: none;
}
} 
@media screen and ( max-width:768px) {
.kv-sec .kv {
  background-image:url(../../../images/ebookstartcpn/kv/KV-bg-sp4.png);
}
.kv-wrapper .kv {
  gap:32px;
}
.kv-sec .title h1{
  font-size: var(--pls-font-size-4xl);
}
.kv-wrapper .kv img{
  width: 100%;
}
.kv-img-pc{
  display: none;
}
.kv-img-tb{
  display: none;
}
.kv-img-sp{
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
}
@media screen and ( max-width:560px) {
.kv-sec .title .sub_text {
  font-size: var(--pls-font-size-l);
  line-height: var(--pls-line-height-l);
}
.kv-sec .title .sub_text span{
  font-size: var(--pls-font-size-m);
  line-height: var(--pls-line-height-m);
}
}


/* ボタンスタイル */
.open-ico {
  height: 20px;
  width: fit-content;
}
/* ネイビーボタン */
.primary-main {
  max-width: 450px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 16px 32px;
  gap: 10px;
  background: #000066;
  border-radius: var(--pls-border-radius-s);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .15);
}
.primary-main:hover {
  background-color: #0000B2;
}
/* ピンクボタン */
@media screen and (min-width: 561px) {
  .accent-main {
    max-width: 450px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 16px 32px;
    gap: 10px;
    background: #BA1064;
    border-radius: var(--pls-border-radius-s);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .15);
  }
}
@media screen and (max-width: 560px) {
  .accent-main {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: var(--pls-spacing-m) 0;
    gap: 10px;
    background: #BA1064;
    border-radius: var(--pls-border-radius-s);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .15);
  }
}
.accent-main:hover {
  background-color: #D91676;
}
.button-L {
  width: 450px;
  margin: 0 auto;
}
@media screen and (max-width: 560px) {
  .button-L {
    width: 100%;
    padding: var(--pls-spacing-m) 0;
  }
}
.button-S {
  margin: 0;
  padding: 8px 0;
  font-weight: var(--pls-font-weight-bold);
}
/* トップへ戻るボタン */
.pagetop {
  height: 64px;
  width: 64px;
  position: fixed;
  right: 2%;
  bottom: 24px;
  background: rgba(255, 255, 255, 0.8);
  border: solid 2px #006;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
.pagetop__cont {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pls-spacing-xxs);
  font-size: 10px;
}
.pagetop__cont p {
  text-align: center;
  line-height: 1.2em;
  font-weight: var(--pls-font-weight-bold);
  color: #000066;
}
.pagetop__arrow {
  height: 8px;
  width: 8px;
  border-top: 2px solid #006;
  border-right: 2px solid #006;
  transform: translateY(20%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .pagetop:hover, .pagetop:hover .pagetop__arrow, .pagetop:hover .pagetop__cont p {
    border-color: #3293e7;
    color: #3293e7;
  }
}
@media screen and (max-width: 560px) {
  .pagetop {
    bottom: 16px;
  }
}
/* ページ内リンク */
.page-link-sec {
    padding: 8px 16px 0;
	margin: 0 auto;
    max-width: 670px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
    @media screen and (max-width: 560px) {
        .page-link-sec {
            padding: 16px 16px 0 16px;
			gap: var(--pls-spacing-xs);
        }
    }
.cont .page-link-wrapper {
    display: flex;
    max-width: 1200px;
    justify-content: center;
    align-items: center;
    gap: var(--pls-spacing-xs);
    width: fit-content;
    margin: 0 auto;
}
@media screen and (max-width: 780px) {
  .cont .page-link-wrapper {
    column-gap: var(--pls-spacing-m);
  }
}
@media screen and (max-width: 560px) {
  .cont .page-link-wrapper {
    display: contents;
  }
}
.cont .page-link {
	display: flex;
	padding: var(--pls-spacing-xs) 32px;
	justify-content: center;
	align-items: center;
	gap: var(--pls-spacing-xs);
	border-radius: var(--pls-border-radius-s);
	border: 2px solid var(--pls-features-statusaction);
	background: var(--pls-basic-white);
}
.page-link span{
	font-weight: var(--pls-font-weight-bold);
	font-size: var(--pls-font-size-l);
	color: var(--pls-features-statusaction);
	letter-spacing: 1.8px;
}
@media screen and (max-width: 560px) {
  .page-link {
      padding: 8px 32px;
	  justify-content: center;
	  gap: var(--pls-spacing-xs);
  }
  .cpn-link-wrapper .page-link {
      border-radius: var(--pls-border-radius-s);
  }
}
.page-link:hover {
  opacity: 0.7;
}
.page-link img {
  width: 28px;
  vertical-align: middle;
}
.page-link p {
  display: block;
  text-align: center;
  padding: 0px 4px 8px;
  font-weight: var(--pls-font-weight-bold);
  line-height: var(--pls-line-height-base);
  color: #000066;
  width: 100%;
  font-size:var(--pls-font-size-base);
}
@media screen and (max-width: 560px) {
  .page-link p {
    font-size: var(--pls-font-size-s);
  }
}
.cpn-link-wrapper {
	max-width: 400px;
    gap: 24px;
    margin: 0 auto;
}
@media screen and (max-width: 560px) {
.cpn-link-wrapper {
	margin: 0 32px;
}
}
/* 書籍絞り込みへ移動ボタン */
.pagemiddle {
  height: 64px;
  width: 64px;
  position: fixed;
  right: 2%;
  bottom: 96px;
  background: rgba(255, 255, 255, 0.8);
  border: solid 2px #006;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
.pagemiddle__cont {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 10px;
}
.pagemiddle__cont p {
  text-align: center;
  line-height: 1.2em;
  font-weight: var(--pls-font-weight-bold);
  color: #000066;
}
.material-symbols-outlined {
  color: #000066;
  font-size: 16px !important;
}
@media (hover: hover) and (pointer: fine) {
  .pagemiddle:hover, .pagemiddle:hover .pagemiddle__icon, .pagemiddle:hover .pagemiddle__cont p, .pagemiddle:hover .material-symbols-outlined {
    border-color: #3293e7;
    color: #3293e7;
  }
}
@media screen and (max-width: 560px) {
  .pagemiddle {
    bottom: 96px;
  }
}
/* スクロール追従CTAボタン */
@media screen and (min-width: 561px) {
  .cta {
    position: fixed;
    right: 0;
    bottom: 12%;
    padding: var(--pls-spacing-m);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    background-color: #FAEDF3;
    border-radius: 8px 0 0 8px;
    z-index: 1;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .15);
    color: #333;
    width: auto;
  }
}
@media screen and (max-width: 560px) {
  .cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--pls-spacing-m);
    display: flex;
    flex-direction: column;
    gap: var(--pls-spacing-m);
    align-items: center;
    background-color: #FAEDF3;
    z-index: 1;
    color: #333;
    box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.15);
  }
}
/*
    .cta:hover {
        background-color: #D91676;
    }
    */
/* チェックボックスのスタイル */
.flex-subscribe {
  display: flex;
  gap: 0.8em;
  align-items: baseline;
}
input:where(:not(.atlas-header *, .atlas-nav *, .atlas-sp-header *, .atlas-footer *, .atlas-sp-footer *, .sb-slidebar *, .common-parts-cnt *)) {
  transform: scale(1.6);
  margin: 0;
}
.--start {
  align-items: flex-start;
}
.--center {
  align-items: center;
}
.checkbox-input {
  flex-direction: row-reverse;
}
/* グリッドスタイル*/
.grid-3col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 64px;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .grid-3col {
    grid-template-columns: 1fr 1fr;
    gap: var(--pls-spacing-xl);
  }
}
@media screen and (max-width: 560px) {
  .grid-3col {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.grid-4col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: var(--pls-spacing-m);
}
@media screen and (max-width: 960px) {
  .grid-4col {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--pls-spacing-xs);
  }
}
@media screen and (max-width: 560px) {
  .grid-4col {
    grid-template-columns: 1fr;
  }
}
/* キャンペーン詳細 */
.campaign-detail-sec {
  /*background-color: #f6f6f6;
     色はLPによって可変 */
	padding-bottom: var(--pls-spacing-xxl);
}
@media screen and (max-width: 560px) {
.campaign-detail-sec {
	padding-bottom: 32px;
  }
}
.cont-area {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 32px;
}
.cont-area img {
    width: 23vh;
	margin: 0 auto;
}
table {
  table-layout: auto;
  width: 100%;
  border-collapse: collapse;
}
tr {
  border-top: 1px solid #bbb;
}
.tr-top {
  border-top: 0px;
}
.table-row-title {
  display: flex;
  align-items: flex-start;
  font-weight: var(--pls-font-weight-bold);
}
.s {
  width: 150px;
}
td {
  padding: 16px 32px;
}
.table-row-cont {
  width: 100%;
}
.table-row-cont li{
  list-style: disc;
}
.td-in-td {
  padding: var(--pls-spacing-m);
  background: #EBEBEB;
  /* 色はLPによって可変 */
  width: fit-content;
  margin-top: var(--pls-spacing-xs);
  font-size: var(--pls-font-size-xs);
  line-height: 1.5em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .s {
    width: 100px;
  }
}
@media screen and (max-width: 960px) {
  .s {
    width: 75px;
  }
  td {
    padding: var(--pls-spacing-m);
  }
}
@media screen and (max-width: 560px) {
  .s {
    padding-top: var(--pls-spacing-m);
    padding-bottom: 0;
    width: 100%
  }
  .tr-top .table-row-title.s {
    padding-top: 0;
  }
  tr.parent {
    display: block;
  }
  td {
    padding: 8px 0;
  }
  .table-row-title {
    padding: 16px 0 0 0;
  }
  .table-row-cont {
    padding: 16px 0 16px 0;
  }
  .td-in-td {
    max-width: fit-content;
  }
}
.footer-cont {
  width: auto;
  display: flex;
  flex-direction: column;
}
.copy-right {
  margin: 0 auto;
  font-size: 10px;
}
.footer-link-cont {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: var(--pls-spacing-xs);
}
@media screen and (max-width: 560px) {
  .footer.cont {
    width: 100%;
  }
  .footer-link-cont {
    text-align: center;
  }
}

/* PRセクション1 */
.pr-parts1 {
  display: flex;
  flex-direction: row;
  gap: 64px;
}
.pr-parts1 img {
  width: 380px;
  object-fit: contain;
}
@media screen and (max-width: 780px) {
  .pr-parts1 {
    gap: var(--pls-spacing-m);
  }
  .pr-parts1 img {
    width: 240px;
    object-fit: contain;
  }
}
@media screen and (max-width: 560px) {
  .pr-parts1 {
    flex-direction: column;
    gap: var(--pls-spacing-m);
  }
  .pr-parts1 img {
    width: 100%;
    object-fit: contain;
  }
}
.sentence-block {
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-xs);
  margin: auto 0;
}
.pr-parts1 h3 {
  margin-bottom: 8px;
}
/* PRセクション2 */
div.pr-parts2 {
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: center;
}
.br {
  display: block;
}
.pr-parts2-img {
  height: 240px;
  width: fit-content;
}
@media screen and (max-width: 560px) {
  div.pr-parts2 {
    gap: 32px;
  }
  .pr-parts2-img {
    width: 100%;
    height: auto;
  }
}
.pr-parts2 p {
  text-align: center;
}
/* 書籍・セット一覧セクション */

.book-list-block {

}
.book-list-block h2{
  color: #C82090;
  text-align: center;
  font-family: "Hiragino Sans";
  font-size: var(--pls-font-size-4xl);
  font-weight: var(--pls-font-weight-bold);
  line-height: 150%;
  letter-spacing: 3.2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pls-spacing-xs);
}
.book-list-block h2 span {
  font-size: var(--pls-font-size-l);
  line-height: var(--pls-line-height-l);
}
@media screen and (max-width: 768px) {
.book-list-block h2{
  font-size: var(--pls-font-size-xxl);
  line-height: var(--pls-line-height-xxl);
}
}
@media screen and (min-width: 769px) and (max-width: 1024px){
.book-list-block h2{
  font-size: 32px;
}
}
.book-list-grid {
  width: 900px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: var(--pls-spacing-m);
}
@media screen and (max-width: 1240px) {
.book-list-grid {
  grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 1000px) {
.book-list-grid {
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 560px) {
.book-list-grid {
  width: 100%;
  grid-template-columns: 1fr;
  }
}
section.book-list-sec {
  width: auto;
  background: linear-gradient(180deg, #FFF 0%, #F1F6FC 27%, #EBF2FA 48%, #EEF4FB 68.5%, #FFF 100%);
  background-blend-mode: darken, normal;
  padding-bottom: var(--pls-spacing-xxl);
}
@media screen and (max-width: 560px) {
section.book-list-sec  {
  padding-bottom: 0;
  }
}
/* 単品 */
.card {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--pls-spacing-m);
  background-color: #fff;
  border: #EBEBEB 1px solid;
}
.card img {
  margin-bottom: 16px;
}
.card:hover {
  opacity: 0.75;
  color: #307CBA;
}
.card-link {
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
}
.book-main-block {
  display: flex;
  flex-direction: column;
  gap: var(--pls-spacing-xs);
  text-align: left;
  align-self: stretch;
  flex-grow: 1;
}
.book-main-block .book-cover-S {
  height: 160px;
  width: auto;
  margin: 0 auto;
}
.book-title-block {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--pls-spacing-xs);
}

.price-block {
  display: flex;
  gap: var(--pls-spacing-xs);
  vertical-align: middle;
  text-align: left;
  justify-content: space-between;
}
.price-info {
  display: flex;
  flex-direction: row;
  column-gap: var(--pls-spacing-xs);
  vertical-align: middle;
  padding-left: var(--pls-spacing-xs);
}
.price {
    font-size:var(--pls-font-size-base);
    font-weight: var(--pls-font-weight-bold);
}
.price span{
    font-size:var(--pls-font-size-base);
    font-weight: var(--pls-font-weight-bold);
	color: #D91676;
}
p.name {
  display: flex;
  flex-direction: row;
  gap: 2px;
  box-sizing: border-box;
  align-items: center;
  vertical-align: middle;
  padding: var(--pls-spacing-xxs) var(--pls-spacing-xs);
  background: #EBEBEB;
  width: fit-content;
  color: #333;
  position: absolute;
  top: 0;
  left: 0;
}
.name img {
  width: 18px;
  height: fit-content;
}
.name em {
  background-color: #D91676;
  border-radius: 15%;
  padding: 2px 4px;
  margin-left: 6px;
  color: #fff;
  font-style: normal;
}
.price-block .point {	
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--pls-spacing-xxs) var(--pls-spacing-xs);
  background: #FAEDF3;
  color: #333;
  border-radius: 0px;
  gap: var(--pls-spacing-xxs);
  font-weight: var(--pls-font-weight-bold);
}
.price-block .point span {
  padding-right: 20px;
  background: url(https://www.m2plus.com/o/images/super_m3day/material-symbols_add-circle.svg) 100%/16px auto no-repeat;
}
.price-block .point span:nth-child(2) {
  color: #D91676;
  font-weight: var(--pls-font-weight-bold);
}
.book-card .book-info-block {
  display: flex;
  height: 135px;
  padding: var(--pls-spacing-xs);
  text-align: left;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  align-self: stretch;
  gap: var(--pls-spacing-xs);
  background: #F9F9FC;
}
@media screen and (max-width: 560px) {
  .book-card .book-info-block {
    height: auto;
  }
}
.book-card .info-title-block {
  height: 16px;
  line-height: 1;
}
.book-card .book-info-text {
  font-size: var(--pls-font-size-xs);
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.book-card .book-info-text .down {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
}
@media screen and (max-width: 560px) {
  .book-info-text {
    font-weight: var(--pls-font-weight-bold);
    font-size: var(--pls-font-size-s);
  }
  .info-title-block {
    height: 18px;
  }
}

/* リストスタイル */
ul {
  margin: 0;
  padding-left: 16px;
}
/* コメ印連番リスト */
ol.list-kome-wrap {
  list-style: none;
  padding: var(--pls-spacing-m);
  background: #EBEBEB;
}
ol.list-kome-wrap > li {
  counter-increment: count-ex01;
  position: relative;
  padding-left: 2.5rem;
}
ol.list-kome-wrap > li:before {
  content: "※"counter(count-ex01) "：";
  position: absolute;
  top: 0;
  left: 0;
}
.cont .title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pls-spacing-xs);
  font-weight: var(--pls-font-weight-bold);
}	
.cont .title h1{
  margin: 0;
}

.headline_sec  {
  background: rgba(181, 216, 225, 0.10);
}
.kv-sec div.cont {
  padding: var(--pls-spacing-l) 0 var(--pls-spacing-l);
  gap:var(--pls-spacing-l);
}
.kv-sec .title .sub_text{
  display: flex;
  justify-content: center;
  font-size: var(--pls-font-size-xl);
  line-height: var(--pls-line-height-xl);
  letter-spacing: normal;
  gap: var(--pls-spacing-xs);
  letter-spacing: 0.96px;
}	
.kv-sec .title .sub_text span{
  font-size: var(--pls-font-size-l);
  line-height: var(--pls-line-height-l);
}
.kv-sec .title .title_text{
  display: flex;
  justify-content: center;
  gap: var(--pls-spacing-xs);
}
.kv-sec .title .title_text_limited{
  font-size: var(--pls-font-size-4xl);
  line-height: normal;	
  align-self: center;
  letter-spacing: normal;
}
.kv-sec .title .title_text_limited span{
  font-size: var(--pls-font-size-xxl);
}	
.kv-sec .title .title_text_privilege{
  color: var(--pls-basic-white);
  text-align: center;
  font-feature-settings: 'palt' on;
  font-size: var(--pls-font-size-6xl);
  line-height: var(--pls-line-height-6xl);
  padding: var(--pls-spacing-xxs) var(--pls-spacing-s);
  background: var(--Linear, linear-gradient(118deg, #CC208E 0%, #6607BE 66%, #2500BB 100%));
}
.headline {
  background: rgba(181, 216, 225, 0.10);	
}
.headline_block {
  display: flex;
  max-width: 1120px;
  justify-content: center;
  align-items: stretch;
  gap: var(--pls-spacing-l);
  align-self: center;
  margin: 0 auto;
}
.headline_block .headline_box {
  display: flex;
  max-width: 720px;
  padding: var(--pls-spacing-l);
  flex-direction: column;
  gap: var(--pls-spacing-s);
  flex: 1 0 0;
  font-family: "Hiragino Sans";
  border-radius: 20px;
  background: #FFF;
  box-shadow: -5px -5px 20px 0px rgba(236, 240, 241, 0.50), 5px 5px 20px 0px #ECF0F1;
}
.headline_block .headline_box a.link-icon {
  color: #0000B2;
  text-decoration: underline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: var(--pls-spacing-l);
  margin-top: var(--pls-spacing-xs);
  background: url(https://www.m2plus.com/o/images/ebookstartcpn/TextLink.svg) 100%/20px auto no-repeat
}
.headline_box .tokuten_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pls-spacing-xs);
  align-self: stretch;
}
.headline_box .tokuten_title h3{
  display: flex;
  color: var(--pls-pink-600);
  font-family: "Hiragino Sans";
  font-size: var(--pls-font-size-6xl);
  line-height: 1;
  gap: var(--pls-spacing-xxs);
  letter-spacing: normal;
}
.headline_box .tokuten_title h3 img{
  width: 54px;
  height: 54px;
  align-self: flex-end;
}	
.headline_box .tokuten_title p{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--pls-pink-600);
  gap: var(--pls-spacing-xs);
  font-size: var(--pls-font-size-base);
  font-weight: var(--pls-font-weight-bold);
  line-height: var(--pls-line-height-base);
}
.headline_box .tokuten_title span{
  display: flex;
  font-size: var(--pls-font-size-xs);
  color: var(--pls-basic-white);
  padding: var(--pls-spacing-xxs) var(--pls-spacing-xs);
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: var(--pls-border-radius-l);
  background: #333;
  line-height: 1;
  letter-spacing: 0.5px;
}
.headline_box .text{
  display: flex;
  flex-direction: column;
  font-size: var(--pls-font-size-s);
  gap: var(--pls-spacing-xxs);
}
.headline_box .text span{
  font-weight: var(--pls-font-weight-bold);
  font-size: var(--pls-font-size-base);
  display: block;
}
.headline_box .caption{
  font-size: var(--pls-font-size-xs);
  line-height: var(--pls-line-height-xs);
}
.headline_box ul {
  padding-left: var(--pls-spacing-l);
}
.headline_box ul li {
  list-style: disc;
  font-size: var(--pls-font-size-s);
  line-height: var(--pls-line-height-s);
}
.headline_box ol {
	padding-left: var(--pls-spacing-l);
}
.headline_box ol li {
  list-style: decimal;
  font-size: var(--pls-font-size-s);
  line-height: var(--pls-line-height-s);
}

@media screen and (max-width:676px) {
.headline_box .tokuten_title h3{
  font-size: var(--pls-font-size-5xl);
}
.headline_box .tokuten_title h3 img {
  width: 50px;
  height: 50px;
}
.headline_box .tokuten_title p {
  font-size: var(--pls-font-size-s);
  letter-spacing: normal;
}
}
@media screen and (max-width:560px) {
.kv-sec .title .title_text{
  flex-direction: column;
}
.kv-sec .title .title_text_limited {
  font-size: var(--pls-font-size-3xl);
}	
.headline_block {
  display: flex;
  max-width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  align-self: stretch;	
}
.headline_box .tokuten_title h3 {
  font-size: var(--pls-font-size-4xl);
}
.headline_box .tokuten_title p {
  font-size: var(--pls-font-size-s);
}	
.headline_box .tokuten_title h3 img {
  width: 40px;
  height: 40px;
  align-self: flex-end;
}
}
@media screen and (max-width:768px) {
.kv-sec div.cont {
  padding: var(--pls-spacing-l);
  gap:var(--pls-spacing-l);
}
.headline_block {
  gap: var(--pls-spacing-m);
}
.headline_block .headline_box {
  max-width: 100%;
  padding: var(--pls-spacing-l);
}
.headline_box .tokuten_title {
  font-size: 20px;
}
.headline_sec .title .title_text_privilege{
  width: fit-content;
  align-self: center;
}	
}
@media screen and (min-width:769px) and ( max-width:1024px){
.headline_block {
  gap: var(--pls-spacing-l);
}
.headline_block .headline_box {
  width: 100%;
  padding: var(--pls-spacing-l);
}	
}	

.about_sec .title img {
  max-width: 110px;
}
.about_block {
  padding: 32px 0;
  gap: 32px;
}
.about_sec .about_title {
  color: #006;
  font-size: var(--pls-font-size-l);
  line-height: var(--pls-line-height-l);
  font-weight: var(--pls-font-weight-bold);
  text-align: left;
  padding: 0 var(--pls-spacing-l);
  letter-spacing: 2px;
}
.about_box {
  max-width: 900px;
  align-self: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media screen and (max-width: 1000px){
  .about_box {
    grid-template-columns: 1fr 1fr;
	padding-bottom: var(--pls-spacing-l);
  }
}	
@media screen and (max-width: 560px) {
  .about_box {
    grid-template-columns: 1fr;
  }
  .about_block {
    padding: var(--pls-spacing-m) 0;
    gap: var(--pls-spacing-m);
  }
}
.about-book-list-grid {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
  flex-direction: column;
  gap: var(--pls-spacing-m);
  align-self: stretch;
  border-radius: 24px;
  border: 1px solid #707070;
}
.about-book-list-grid img {
  width: 100%;
  border-radius: 24px 24px 0 0;
}
.about-book-list-grid a{
  display: flex;
  align-items: center;
  line-height: 1.4;
}
.about-book-list-grid a:hover{
  filter:brightness(1.2);
}
.about_box .about_detail {
  list-style: none;
  text-align: left;
  padding: 0 var(--pls-spacing-l) var(--pls-spacing-l);
  font-size:var(--pls-font-size-base);
  letter-spacing: 1.6px;
}
	
@media screen and (max-width: 560px) {
.about-book-list-grid {
  gap: var(--pls-spacing-s);
}
.about_title {
  margin: 0;
  padding: 0 var(--pls-spacing-l);
  }
}

select::-ms-expand {
  display: none;
  /*--IEでデフォルトの矢印を消す--*/
}
select {
  width: 450px;
  -webkit-appearance: none;
  /*--各ブラウザのCSSを解除--*/
  -moz-appearance: none;
  /*--各ブラウザのCSSを解除--*/
  appearance: none;
  /*--各ブラウザのCSSを解除--*/
  margin-top: var(--pls-spacing-xs);
  padding: 16px 4px 16px 16px;
  font-size:var(--pls-font-size-base);
  border-radius: var(--pls-border-radius-s);
  border: solid 1px #ADADAD;
  background-image: url(../../../images/debut_cpn/material-symbols_keyboard-arrow-down.svg);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right 8px center;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (max-width:560px) {
  select {
    width: 100%;
  }
}
select:focus {
  outline: 1px #ADADAD solid;
  border-radius: var(--pls-border-radius-s);
}
ul.targets {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
.link-banner h3{
  color: #333;
  text-align: center;
  font-size: var(--pls-font-size-4xl);
  font-style: normal;
  font-weight: var(--pls-font-weight-bold);
  line-height: var(--pls-line-height-4xl);
  letter-spacing: 1.2px;
}
@media screen and (min-width: 561px) {
  .link-banner-sp {
    display: none;
  }
  .link-banner-pc {
    max-width: 1200px;
    width: 80vw;
  }
}
@media screen and (max-width: 560px) {
  .link-banner-pc {
    display: none;
  }
  .link-banner-sp {
    width: 100%;
  }
  .link-banner h3{
    font-size: var(--pls-font-size-xxl);
    line-height: var(--pls-line-height-xxl);
}
}
.link-banner {
  max-width: 900px;
  align-self: center;
  width: 90vw;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 0 auto var(--pls-spacing-xxl);
}
.link-banner img {
  width: 100%;
}

.link-banner ul.banner_block {
    list-style: none;
    padding: 0;
    margin: 0;
}
.link-banner ul.banner_block li {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    padding-bottom: var(--pls-spacing-m);
}
.link-banner ul.banner_block li a:hover  {
    opacity: .75
}
.link-banner ul.banner_block {
    display: grid;
    grid-template-columns: 1fr;
    list-style: none;
    padding: 0;
    margin: 0;
}
.link-banner ul.banner_block li {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: var(--pls-spacing-m);
}
@media screen and (max-width:820px) {
.link-banner {}
.link-banner ul.banner_block {
    display: grid;
    grid-template-columns: 1fr;
    list-style: none;
    padding: 0;
    margin: 0;
}
.link-banner ul.banner_block li {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: var(--pls-spacing-xs);
}
}

.book-list-sec .book-card {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--pls-spacing-m);
  gap: var(--pls-spacing-xs);
  background-color: #fff;
  border: #EBEBEB 1px solid;
}
.book-card:hover {
  opacity: 0.75;
  color: #307CBA;
}
a.book-card-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.parallax-wrapper {
  height: 200px;
  width: 100vw;
}

ol {
  list-style: none;
  padding: 0;
}

.material-symbols-outlined {
  font-variation-settings:
    'FILL'1, 'wght'400, 'GRAD'0, 'opsz'48
}
.br-sp {
    display: none;
}
.br-pc {
    display: block;
}

@media screen and (max-width:768px) {
  .br-sp {
    display: block;
  }
  .br-pc {
    display: none;
  }
}