@charset "utf-8";
body {
 color: #1E1E1E;
font-size:1.1rem;
}


img{
    /* SPの長押し禁止 */
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}


.br-sp {
  display: none;
}

/* テキストサイズ */
.text_bbb{font-size:2rem;}
.text_bb{font-size:1.2rem;}
.text_nl{font-size:0.9rem;}

.text_w{font-weight:600;}

/* マージン */
 .mg_btm30{margin-bottom:30px;}
  .mg_btm50{margin-bottom:50px;}
 .mg_btm20{margin-bottom:20px;}
  .mg_btm10{margin-bottom:10px;}


/* ヘッダー */
.top{
margin: 0px auto;
max-width: 1200px;
}



.main{
margin: 0px auto;
max-width: 1000px;
padding: 30px 30px;
}
.top_bg1 {
    width: 100%;
    background-color: #fbfcf3;
}
.main_bg1{
	width: 100%;
background-size: auto auto;
background-color: #fbfcf3;
}
.footer_bg1 {
    width: 100%;
    background: #b3c1b6;
}

/* 見出し */
.midashi{font-size:1.5rem;
text-align:center;
padding:10px;
color:#d3207a;
line-height:2.5rem;}



/* 概要 */
.gaiyou_box{
	width:100%;	
}

.gaiyou_text{
	font-size:1.1rem;
	line-height:2rem;
}

.gaiyou_box_flex{
	width:100%;	
	display:flex;
}
.gaiyou_box_left{
	margin-right: 15px;
    display: flex;
    width: calc(100% - 315px);
    justify-content: center;
    align-items: center;
    flex-direction: column;}

.gaiyou_box_right{width:300px;
flex-direction: column;}


.gaiyou_box_right img{
width:100%}

/* 内容 */

.w_box{
	width:100%;	
	background-color:#FFF;
	padding:40px;
}

.main_text{font-size:0.95rem;
line-height:1.8rem;

}

/* 見出し */
.cp_title{
	text-align: center;
	width:100%;
	padding:10px;
	font-size:1.3rem;
	font-weight:600;
	color:#c00048;
	border-bottom:solid 2px #c00048;
}

.chosya_midashi {
    font-size: 1rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 5px;
}


/* 書籍詳細 */
.book_flex{display:flex;}
.book_flex_l{margin-right: 20px;
width: 400px;}
.book_flex_l img{width:100%;}
.book_flex_r{
	display:flex;
	flex-direction: column;/* 子要素の縦並び */
	width: calc(100% - 420px);
	line-height: 1.9rem;
}
.book_flex_title{
 font-size: 1.1rem;
	margin-bottom: 10px;
	font-weight:600;
	text-align:center;
 }

.book_flex_gaiyou{
 font-size: 1rem;
	margin-bottom: 10px;
 }

.flex_book{
	font-size: 1rem;
	display:flex;
	margin-top: 15px;
	margin-left: 10px;
	border-bottom: dashed 1px #BCA9B5}
.flex_book_l{
	width: 100px;
	color: #35318f;
}
.flex_book_r{
	width: calc(100% - 100px);
}
.WB {
    word-break: break-all;
}



/* ボタン */

section {
  max-width: 100%;
  margin: 0 auto;
}

.last {
    flex-grow: 1;
}
a.btn_01 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
	margin: 0 auto;
    height: 50px;
    position: relative;
    background: #3bc057;
    border: 1px solid #3bc057;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 0 45px 0 25px;
    color: #fff;
    font-size: 20px;
	font-weight:600;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    transition-duration: 0.3s;

}
a.btn_01:before {
  content: '';
  width: 14px;
  height: 14px;
  border: 0;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_01:hover {
  background: #fff;
  color: #3bc057;
}
a.btn_01:hover:before {
  border-top: 2px solid #3bc057;
  border-right: 2px solid #3bc057;
}

/* 横並び */
.flex_object{
 width:100%;
  height:auto;
  display:flex;
  justify-content:space-around; /* これを指定 */
}
.flex-child30 {
  width:30%;  /* 子要素の幅 */
  height:auto;
 flex-direction: column;/* 子要素の縦並び */
}

.flex-child40 {
  width:40%;  /* 子要素の幅 */
  height:auto;
 flex-direction: column;/* 子要素の縦並び */
}


/* 動画 */
.movie{
	margin:0 auto;
    text-align: center;
}
.movie1{
    width: 600px;
    height: auto;
}

/* 記事画像 */
.kiji{
    width: 70%;
	margin:0 auto;
	    text-align: center;
}

/* リンク */
.link a{text-decoration: none;}
.link a:hover{text-decoration:underline;}


/* 刊行予定 */

.kankoulist {display:flex;

justify-content:space-between;
width: 100%;
}

.kikanlist li {width:250px;
  list-style:none;
}
.kankou_title{font-size:0.9rem;
text-align:center;
font-weight:600;
color:#214584;
margin-top:10px;}
.kankou_day{font-size:0.8rem;
text-align:center;}

/* footer1 */
.footer1{
	width: 100%;
	color: #fff;
	text-align:center;
	font-size:0.7rem;
padding: 10px 10px;
background-color:#b3c1b6;
margin-bottom:0px;
}


 
/* 見出しセリフ */
.sgh_serifu_header {
  width: fit-content;
    text-align: center;
    padding: 10px 30px 4px 30px;
    font-size: 1.4rem;
    position: relative;
    color: #00489d;
    margin: 0 auto;
		margin-bottom:5px;
}
.sgh_serifu_header::before {
  content: '';
  position: absolute;
  width: 2px;
  height: 60%;
  background-color: #00489d;
  left: 10px;
  top: 0;
  bottom: -5px;
  margin: auto;
  transform: rotate(-25deg);
}
.sgh_serifu_header::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 60%;
  background-color: #00489d;
  right: 10px;
  top: 0;
  bottom: -5px;
  margin: auto;
  transform: rotate(25deg);
}


/* ---------------------------- */
/* --- Base --- */
/* ---------------------------- */
.swiperModalButton {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
}

/* ボタン */
.modalOpen{border-style: none;
padding:0;}
.modalOpen img{width:100%;
}
.modalOpen img:hover {
   opacity: 0.75; /* 25％ほど透明にする */
}

/* モーダル */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.9);
}

/* モーダルがactiveの時 */
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
  overflow-y: scroll;
}

/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* モーダルのコンテンツ */
.modal__content {
    position: relative;
    width: 100%;
    max-width: 800px;
    padding: 40px;
	overflow-y: scroll;
}
.modal_inner {
    filter: drop-shadow(0px 0px 4px #ddd);
    background: #FFF;
    width: 90%;
    margin: 0 auto;
    border-radius: 2px;
    padding: 20px 25px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

/* 閉じるボタン */
.modal__close-btn {
    position: absolute;
    right: 0;
    top: -40px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 20;
}
.modal__close-btn:hover {
    opacity: 0.8;
}

/* 閉じるボタンのX */
.lineClose {
    display: inline-block;
    vertical-align: middle;
    color: #313131;
    line-height: 1;
    width: 2rem;
    height: 0.1rem;
    background: currentColor;
    border-radius: 0.1rem;
    position: relative;
    transform: rotate(45deg);
}
.lineClose::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
p.swiperText {
    margin: 0;
    text-align: ;
}



/* 画像切り替えパソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
 

.sp_br {
  display: none; //768px以上では改行タグを無効に。
}
@media screen and (max-width: 768px) {
  .sp_br {
    display: block; //768px未満で改行タグを有効に。
  }
}

