@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html{
  scroll-behavior: smooth;
  scroll-padding-top: 160px;
}

.fontMin{  
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
}

#Content_feature * {
  font-family: 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
#Content_feature{
	position: relative;
  background: #f7ac33 url("images/bg_strype.svg") repeat;
  background-size: 21px auto;
	padding-top: 58px;
 margin-bottom: 0
}
#Content_feature a{
	color: #fff !important;
	text-decoration: none;
}

#Content_feature .article_inner{
	margin: 0 auto;
	max-width: 930px;
}


@media (max-width: 820px) {
  #Content_feature{
    padding-top: 40px
  }
  #Content_feature img{
	width: 100%;
}
  
	#Content_feature .article_inner{
		max-width: 390px;
 		margin: auto;
		padding-left: 2.6%;
		padding-right: 2.6%;
	}
}/*-SP tablet-*/
@media (max-width: 390px) {
	#Content_feature .article_inner{
		padding-left: 5.1%;
		padding-right: 5.1%;
	}
}/*-SP-*/


#Content_feature .flex{
	display: flex;

}
@media screen and (min-width: 820px){
#Content_feature .pcFlex{
	display: flex;
	
}
}/*-PC only-*/



/* leadWrap*/
.leadWrap{
  padding: 54px 0 80px;
}

/* mainvisual */
.mainvisual{
	font-size: 0;
	text-align: center;
}
#Content_feature .mainvisual .subImgs{
  width: min(100%, 342px);
}
#Content_feature .mainvisual .subImg a{
  display: block;
  margin-left: 13px;
}
#Content_feature .mainvisual .subImg img{
  width: 100%;
}
#Content_feature .mainvisual .subImg p{
  position: relative;
  margin-top: -13px;
  height: 76px;
  font-size: 32px;
  line-height: 76px;
}
#Content_feature .mainvisual .subImg p .date{
  font-size: 1.34em;
}
#Content_feature .mainvisual .subImg p .catch{
  display: grid;
  place-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0px;
  background-color: #004178;
  border-radius: 50%;
  padding: 0 0.1em;
  width: 76px;
  height: 76px;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.068em;
  text-align: left;
  color: #ffffff;
}


.menuList{
  margin-top: 26px;
  padding: 30px 50px 28px 0;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.menuList li{
  width: 135px;
  text-align: center
}
.menuList > p{
  position: relative;
  display: grid;
  align-items: center;
  width: 204px;
  padding-left: 14px;
  color: #fff;
  font-size: 31px; 
  line-height: 1.2em;
  text-align: left;
  z-index: 1;
}
.menuList > p::before{
  position: absolute;
  content: "";
  display: block;
  width: 115px;
  height: 204px;
  background: #989aa7;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  z-index: -1;
}
.menuList li p{
  font-size: 19px;
}
.menuList li .date{
  font-size: 1.34em;
}
.menuList > p{ 
  }

@media (min-width: 821px) {
.leadWrap{
}  
  
#Content_feature .mainvisual{
  display: flex;
  flex-direction: row-reverse;
  gap: 0 45px;
}
#Content_feature .mainvisual .subImgs{
  margin-left: -13px;
}
#Content_feature .mainvisual .mainTitle{
  flex: 1;
}
.menuList{
  display: flex;
}
.menuList .flex{
  gap: 20px;
}
}/*-PC only-*/

@media (max-width: 820px) {
  #Content_feature .mainvisual .subImgs{
    margin-top: 30px;
    margin-right: auto;
    margin-left: auto;
  }
  #Content_feature .mainvisual .subImgs .subImg{
    padding-right: 13px;
  }
	#Content_feature .mainvisual .subImg a{
		text-align: center;
	}
	
	#Content_feature .mainvisual .subImg a img{
		width: auto;
		height: 380px;
		margin: auto;
	}	
  .menuList{
    margin-top: 26px;
    padding: 0px 20px 30px;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
  }
.menuList > p{
  width: min(100%, 300px);
  height: 70px;
  margin: 0 auto 20px;
  padding-left: 0;
  padding-bottom: 0;
  font-size: 20px;
  text-align: center;
}
.menuList > p::before{
  width: min(100%, 300px);
  height: 70px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
  .menuList .flex{
    gap: 30px 10px;
    flex-wrap: wrap;
  }
  .menuList .flex li{
    width: calc((100% - 20px)/2);
  }


}/*-SP tablet-*/

/** bookArea **/
.bookArea{
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
  margin-bottom: 162px;
  padding-top: 70px;
  padding-bottom: 102px
}

/* 上下にジグザグを追加 */
.bookArea::before,
.bookArea::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 17px;
  background-repeat: repeat-x;
  background-size: 34px 17px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='17'%3E%3Cpolygon points='0,17 17,0 34,17' fill='%23ffffff' fill-opacity='0.8'/%3E%3C/svg%3E");
}

/* 上側（上下逆） */
.bookArea::before {
  top: -17px;
}

/* 下側 */
.bookArea::after {
  bottom: -17px;
  transform: rotate(180deg);
}

#lineup05.bookArea{
  background-color: #004178;
  margin-bottom: 0;
}
#lineup05.bookArea::before,
#lineup05.bookArea::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='17'%3E%3Cpolygon points='0,17 17,0 34,17' fill='%23004178'/%3E%3C/svg%3E");
}

.bookAreaHead {
  margin-bottom: 50px;
}
.bookAreaHead .leadTxt {
  width: min(100%, 780px);
  margin: 0 auto 28px;
}
.bookAreaHead .leadTxt .infos {
  position: relative;
  display: inline-block;
  background-color: #004178;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 21px), calc(100% - 21px) 100%, 0 100%);
  padding: 0.32em 0.58em 0.28em;
  font-size: 28px;
  color: #ffffff;
  line-height: 1.1em;
  text-align: center;
}
.bookAreaHead .leadTxt .infos::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 21px 21px 0 0;
  border-color: #668dae transparent transparent transparent;
}
#lineup05.bookArea .bookAreaHead .leadTxt .infos{
  background-color: #989aa7;
}
#lineup05.bookArea .bookAreaHead .leadTxt .infos::after{
  border-color: #c1c2ca transparent transparent transparent;
}
.bookAreaHead .leadTxt .infos span{
  font-size: 1.36em;
}
.bookAreaHead .leadTxt .contTi {
  line-height: 1.28;
  font-size: 32px;
  font-weight: 700;font-family: "Zen Kaku Gothic New", "Noto Serif JP", "Merriweather", sans-serif !important;
  color: #989aa7;
  letter-spacing: -0.11em;
}
.bookAreaHead h2 {
  height: 134px;
  text-align: center;
}
#lineup05 .bookAreaHead h2{
  padding-left: 4em;
  color: #ffffff;
}
.bookAreaHead h2 .jpQuote{
  position: relative;
  display: inline-block;
  min-width: 524px;
  height: 100%;
  margin: 0 auto;
  padding: 0.3em 0.3em 0;
  font-size: 60px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: -0.068em;
}
.bookAreaHead h2 .jpQuote::before,
.bookAreaHead h2 .jpQuote::after{
  position: absolute;
  content: "";
  display: block;
  width: 3.45em;
  height: 100%;
  border: solid #251e1c;
}
.bookAreaHead h2 .jpQuote::before{
  top: 0;
  left: 0;
  border-width: 1px 0 0 1px;
}
.bookAreaHead h2 .jpQuote::after{
  bottom: 0;
  right: 0;
  border-width: 0 1px 1px 0;
}
.bookAreaHead h2 .jpQuoteInner{
  display: grid;
  align-items: center;
  height: calc(100% - 0.3em);
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
}
#lineup03 .bookAreaHead .jpQuoteInner{
  letter-spacing: -0.07em;
}
.bookAreaHead h2 .jpQuote .fontS {
  display: block;
  font-size: 0.55em;
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
}
#lineup05 .bookAreaHead h2 .jpQuote::before,
#lineup05 .bookAreaHead h2 .jpQuote::after{
  border-color: #ffffff;
}
#lineup05 .bookAreaHead h2 .sddNote{
  margin-left: 1em;
  font-size: 25px;
}

.bookArea .btnWrap{
  margin-top: 22px;
  display: flex;
  gap: 0 11%
}
#Content_feature .bookArea a.btn{
  flex: 1;
  display: grid;
  place-content: center;
  background-color: #004178;
  padding: 0.7em 0;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.4em;
  text-align: center;
}

.bookInfo{
  margin-bottom: 13px;
}
#lineup05 .bookInfo{
  margin-bottom: 64px;
}
.bookInfo .name{
  margin-bottom: 3.6em;
  font-size: 18px;
  font-weight: 700;
}
.bookInfo .name .fontL{
  margin-right: 1em;
  font-size: 2em;
}
.bookInfo .name .fontS {
  font-size: 0.84em;
}
#lineup05 .bookInfo .name{
  margin-bottom: 2.8em;
  color: #ffffff;
  text-align: center;
}

.bookInfo .imgList{
  margin-bottom: 62px;
}
.bookInfo .imgList li figure{
  width: min(100%, 225px);
  margin: 0 auto 21px;
}
#Content_feature .bookArea .bookInfo .imgList li a.btn{
  display: block;
  width: min(100%, 225px);
  margin: 0 auto 19px;
  padding: 0.3em 0;
  background-color: #f7ac33;
}

.storyBox{
  padding-bottom: 20px;
  border-bottom: 4px solid #f7ac33;
}
.storyBox h4{
  margin-bottom: 20px;
  border-bottom: 4px solid #f7ac33;
  font-size: 0;
}
#Content_feature .storyBox h4 img{
  width: 85px;
}
.storyBox p{
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.03em;
}
#lineup05 .storyBox p{
  color: #ffffff;
}

.focusBox {

}
.focusBoxInner{
  background-color: #ffd9df;
}
#lineup05 .focusBoxInner{
  background-color: #ffffff;
}
.focusBox h4{
  margin-bottom: 0;
  text-align: center;
}
.focusBox h4 span{
  position: relative;
  display: inline-block;
  background-color: #ff4161;
  clip-path: polygon(21px 0, 100% 0, 100% 100%, 0 100%, 0 21px);
  margin: 0 auto;
  padding: 0.4em 1em 0.5em 1.5em;
  font-size: 22px;
  color: #ffffff;
  line-height: 1.1em;
  text-align: center;
}
.focusBox h4 span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 21px 21px;
  border-color: transparent transparent #ff8da0 transparent;
}
.focusCatch {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 calc(34px + 4%);
  padding: 0.4em 0;
  border: solid #ff4161;
  border-width: 1px 0;
  text-align: center;
}
.focusCatch span:not(.fontMin){
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
  font-size: 20px;
  color: #ffffff;
}
.focusCatch span:not(.fontMin)::before{
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-color: #004178;
  z-index: -1;
}
.focusCatch .fontMin{
  flex: 1;
  font-size: 25px;
  line-height: 1.2em;
  font-weight: 700;
}
.focusCatch .fontMin:first-of-type{
  text-align: right;
}
.focusCatch .fontMin:last-of-type{
  text-align: left;
}
.focusCharaBoxWrap {
  display: flex;
}
.focusCharaBoxWrap .focusCharaBox{
  flex: 1;
  padding: 20px 30px;
}
#Content_feature .focusCharaBoxWrap .focusCharaBox img{
  width: 155px;
}
.focusCharaBoxWrap .focusCharaBox h5{
  font-size: 25px;
}
.focusCharaBoxWrap .focusCharaBox p{
  font-size: 14px;
  line-height: 1.79em;
}

#lineup05 .toSpecial{
  margin-top: 91px;
  text-align: center;
  font-size: 0;
}
#lineup05 .toSpecial a{
  display: inline-block;
}
#lineup05 .toSpecial a img{
  width: min(100%, 820px);
}

.lineup05Catch{
  margin: 0 auto 30px;
  text-align: center;
}
.lineup05Catch > span{
  position: relative;
  display: inline-block;
  width: min(80%, 387px);
}
.lineup05Catch > span > span{
  position: relative;
  display: block;
  background-color: #ff4161;
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;  
  z-index: 2;
}
.lineup05Catch > span::before{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ff9aab;
  transform: translate(10px, 10px) rotate(-1.6deg);
  z-index: 1;
}

.seriesti {
  text-align: right !important;
  letter-spacing: normal;
  display: block;
  font-size: 0.45em;
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
}

@media (min-width: 821px) { 
.bookAreaHead .leadTxt.pcFlex {
  align-items: start;
  gap: 0 6%;
} 
.bookAreaHead .leadTxt.pcFlex .infos {
}
.bookAreaHead .leadTxt.pcFlex .contTi {
  flex: 1;
}
  
.bookInfo.pcFlex{
  gap: 12.8%;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: nowrap
}
.bookInfo.pcFlex .imgs{
  width: 30%;
}  
.bookInfo.pcFlex .txts{
  flex: 1;
}

.bookInfo .pcFlex.imgList{
  justify-content: space-between;
  padding: 0 4%;
}
.bookInfo .pcFlex.imgList li{
  width: min(100%, 225px);
}

#Content_feature .bookArea a.btn:hover{
  opacity: 0.7;
}

.pcFlex.focusCharaBoxWrap{

}
.focusCharaBoxWrap .focusCharaBox{
  display: flex;
  gap: 0 10px;
  padding: 20px 30px;
}
.focusCharaBoxWrap .focusCharaBox h5{
  margin-right: -26px;
}

  
}/*-PC only-*/

@media (max-width: 820px) {
/** bookArea **/
.bookArea{
  margin-bottom: 152px;
  padding-top: 70px;
  padding-bottom: 100px
}

.bookAreaHead {
  margin-bottom: 50px;
}
#lineup05 .bookAreaHead h2{
  margin-bottom: 80px;
}
.bookAreaHead .leadTxt {
  width: min(100%, 780px);
  margin: 0 auto 28px;
}
.bookAreaHead .leadTxt .infos {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
  padding: 0.32em 1.53em 0.24em 0.53em;
  font-size: 18px;
}
.bookAreaHead .leadTxt .infos::after {
  border-width: 16px 16px 0 0;
}
.bookAreaHead .leadTxt .contTi {
  display: block;
  margin-top: 10px;
  font-size: 18px;
}
.bookAreaHead h2 {
  height: 134px;
}
#lineup05 .bookAreaHead h2{
  padding-left: 0;
}
.bookAreaHead h2 .jpQuote{
  min-width: 100%;
  height: 100%;
  font-size: 28px;
}
.bookAreaHead h2 .jpQuote::before,
.bookAreaHead h2 .jpQuote::after{
  width: 3.45em;
}
#lineup05 .bookAreaHead h2 .sddNote{
  margin-left: 1em;
  font-size: 25px;
}

.bookArea .btnWrap{
  margin-top: 12px;
  gap: 0 6%
}
#Content_feature .bookArea a.btn{
  font-size: 16px;
}

.bookInfo{
  margin-bottom: 40px;
}
#lineup05 .bookInfo{
  margin-bottom: 64px;
}
.bookInfo .name{
  margin-bottom: 2em;
  font-size: 16px;
}

.bookInfo .txts{
  margin: 40px auto 20px;
}
	
	#Content_feature .bookInfo .imgs figure{
		text-align: center
	}
	
#Content_feature .bookInfo .imgs img{
		height: 400px;
		width: auto;
		margin: auto;
	}

.bookInfo .imgList{
  margin-bottom: 62px;
}
.bookInfo .imgList li + li{
  margin-top: 50px;
}
.bookInfo .imgList li figure{
  width: min(100%, 225px);
  margin: 0 auto 21px;
}
#Content_feature .bookArea .bookInfo .imgList li a.btn{
  display: block;
  width: min(100%, 225px);
  margin: 0 auto 19px;
  padding: 0.3em 0;
  background-color: #f7ac33;
}

.storyBox{
  padding-bottom: 20px;
  border-bottom: 4px solid #f7ac33;
}
.storyBox h4{
  margin-bottom: 20px;
  border-bottom: 4px solid #f7ac33;
  font-size: 0;
}
#Content_feature .storyBox h4 img{
  width: 85px;
}
.storyBox p{
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.03em;
}
#lineup05 .storyBox p{
  color: #ffffff;
}

.focusBox {

}
.focusBoxInner{
  background-color: #ffd9df;
}
#lineup05 .focusBoxInner{
  background-color: #ffffff;
}
.focusBox h4{
  margin-bottom: 0;
  text-align: center;
}
.focusBox h4 span{
  position: relative;
  display: inline-block;
  background-color: #ff4161;
  clip-path: polygon(21px 0, 100% 0, 100% 100%, 0 100%, 0 21px);
  margin: 0 auto;
  padding: 0.4em 0.5em 0.5em 1.5em;
  font-size: 22px;
  color: #ffffff;
  line-height: 1.1em;
  text-align: center;
}
.focusBox h4 span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 21px 21px;
  border-color: transparent transparent #ff8da0 transparent;
}
.focusCatch {
  gap: 0 calc(34px + 4%);
  padding: 0.5em 0;
}
.focusCatch span:not(.fontMin){
  font-size: 16px;
}
.focusCatch span:not(.fontMin)::before{
  width: 20px;
  height: 20px;
}
.focusCatch .fontMin{
  font-size: 20px;
}
.focusCharaBoxWrap{
  gap: 0 20px;
  padding: 0 15px;
}
.focusCharaBoxWrap .focusCharaBox{
  padding: 20px 0;
}
#Content_feature .focusCharaBoxWrap .focusCharaBox figure{
  text-align: center;
}
#Content_feature .focusCharaBoxWrap .focusCharaBox img{
  width: min(100%,115px);
}
.focusCharaBoxWrap .focusCharaBox .txts{
  margin-top: 10px;
}
.focusCharaBoxWrap .focusCharaBox h5{
  font-size: 20px;
}
.focusCharaBoxWrap .focusCharaBox p{
  font-size: 14px;
}

#lineup05 .toSpecial{
  margin-top: 91px;
  text-align: center;
  font-size: 0;
}
#lineup05 .toSpecial a{
  display: inline-block;
}
#lineup05 .toSpecial a img{
  width: min(100%, 820px);
}

.lineup05Catch{
  margin: 0 auto 30px;
}
.lineup05Catch > span{
  width: min(80%, 387px);
}
.lineup05Catch > span > span{
  font-size: 20px;
}
}/*-SP tablet-*/


#toGuide2025{
  padding: 110px 0;
  text-align: center;
  font-size: 0;
}
#toGuide2025 a{
  display: inline-block;
}
#toGuide2025 a img{
  width: min(100%, 870px);
}
@media (min-width: 821px) {
}
@media (max-width: 820px) {
#toGuide2025{
  padding: 60px 0;
}
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
@media (min-width: 821px) {
.sp { display: none !important; }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media (max-width: 820px) {
.pc { display: none !important; }
}

.figure-series {
  width: 375px !important;
    margin-left: -50px !important;
}
@media (max-width: 820px) {
  .figure-series {
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
       }
}