@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;
}

/* ヘッダー */
.top{
margin: 0px auto;
max-width: 1200px;
}

.main{
margin: 0px auto;
max-width: 1000px;
padding: 30px 30px;
}
.top_bg1 {
    width: 100%;
    background-color: #86c4d8;
}
.main_bg1{
	width: 100%;
background-size: auto auto;
background-color: #f9f9f7;
}
.footer_bg1 {
    width: 100%;
    background: #8A2626;
}

/* 見出し */
.midashi{font-size:2rem;
text-align:center;
padding:10px;
color:#cd000d;}

.rubyposition_under{
  display: inline-block;
}

.rubyposition_under ruby{
  display: flex;
  flex-direction: column;
  text-align: justify;  /* この指定は text-align-last を IE に対応させるために必要 */
  text-align-last: justify;
  ruby-overhang:auto;

}
.rubyposition_under ruby rt{
	  ruby-overhang:auto;
	  font-size:0.6rem;
}


/* 概要 */
.gaiyou_box{
	width:100%;	
}

.gaiyou_text{
	font-size:1.1rem;
	line-height:2rem;
}


/* 内容 */

.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:#214584;
	border-bottom:solid 2px #86c4d8;
}


/* 著者紹介 */
.chosya_midashi{font-size:1rem;
font-weight:600;
color:#214584;
margin-bottom:5px;
}


.cara_flex{display:flex;
margin-bottom:10px;}
.cara_left{margin-right:15px;
width:200px;}
.cara_left img{
  border: 1px solid #cccccc;
  width:200px;
}
.cara_right{
  display: flex;
    flex-direction: column;/* 子要素の縦並び */
  width: calc(100% - 215px);}
.mg_b20{margin-bottom:20px;}

.cara_name{margin-bottom:5px;
font-weight:600;
font-size:1.1rem;
color:#000;}

.cara_name2{margin-bottom:5px;
font-weight:600;
font-size:1rem;
}

.cara_text{font-size:0.9rem;
text-align:left;}




/* 書籍詳細 */
.book_flex{display:flex;}
.book_flex_l{margin-right: 20px;
width: 400px;}
.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;
	line-height: 2rem;
	font-weight:600;
 }

.flex_book{
	font-size: 1rem;
	display:flex;
	margin-top: 15px;
	margin-left: 10px;
	border-bottom: dashed 1px #BCA9B5}
.flex_book_l{
	width: 150px;
	color: #35318f;
}
.flex_book_r{
	width: calc(100% - 150px);
}
.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: 90%;
	margin: 0 auto;
    height: 50px;
    position: relative;
    background: #3bc057;
    border: 1px solid #3bc057;
    border-radius: 50px;
    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: 300px;
    height: 315px;
}

/* 記事画像 */
.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:#214584;
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);
}

/* 画像切り替えパソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
 
 .mg_btm30{margin-bottom:30px;}
 .mg_btm20{margin-bottom:20px;}
  .mg_btm10{margin-bottom:10px;}

.sp_br {
  display: none; //768px以上では改行タグを無効に。
}
@media screen and (max-width: 768px) {
  .sp_br {
    display: block; //768px未満で改行タグを有効に。
  }
}


/* フェードイン */
/* 画面外にいる状態 */
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
  filter: blur(10px);
}
.fade_in {
  opacity: 0;
  filter: blur(10px);
}
/* 画面内に入った状態 */
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
  filter: blur(0);
}
.fade_in.on {
  opacity: 1.0;
  filter: blur(0);
}

