@charset "utf-8";

/* 追加CSS
=======================================================*/

/*** 25thlogo
---------------------------------------------------***/
.logo_25th {
	background: url("../images/common/logo_sakura25th.png"); width: 90px; height: 90px;
	background-size: cover;
	display: block;
	margin-right: 1em;
	font: left;
}

@media only screen and (max-width: 1000px) {
	.pc_only{display: none;}
	.sp_only{display: block}
}

/*** 25thlogo　ここまで
---------------------------------------------------***/

/*** table 
---------------------------------------------------***/
.table_none table,.table_none th,.table_none td {border: none !important; margin: 0 auto; padding: 0 0 0.5em;}
table.tb_pink{
	border: solid 1px #ec5ea4 !important;
	width: 100% !important;
	margin: 0 auto;
	border-spacing: 1px;
	padding: 0
}
table.tb_pink th{
	background: #ec5ea4 !important;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 0.3em;
	width: auto !important;
}
table.tb_pink td{
	background: #fff !important;
	font-weight: normal;
	text-align: left;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #FDE3E8;
	border-right-color: #FDE3E8;
	padding: 0.3em;
	width: auto !important;
}

table.tb_pink td.txt_right{
	text-align: right !important;
}
table.tb_pink td.txt_center{
	text-align: center!important;
}

table.tb_pink .first{
	width: 5% !important;
}
table.tb_pink .second{
	width: 25% !important;
}
table.tb_pink .third{
	width: auto !important;
}
/* tableの壊れ修正 */
@media only screen and ( max-width : 1000px ){
    .info_article_body > table {
        width: auto
    }
    .info_article_body > table th,
    .info_article_body > table td {
        width: auto !important
    }
    .info_article_body > table > tbody > tr > th {
        width: auto !important
    }
    .info_article_body > table > tbody > tr > td {
        width: auto !important;
        word-break: break-all
    }
	
table.tb_pink .first{
	width: 5% !important;
}
table.tb_pink .second{
	width: 25% !important;
}
table.tb_pink .third{
	width: auto !important;
}
}

/*** table　ここまで
---------------------------------------------------***/

/*** テキスト 
---------------------------------------------------***/
.info_basic{text-align: left; margin: 0 0 1em; padding: 0 0 1em;}
.info_center{text-align: center !important;}
.info_right{text-align: right !important;}
.info_left{text-align: left !important;}

.info_small{font-size: 80% !important; padding: 0 0 1em; margin: 0 0 1em;}
.info_small2{font-size: 90% !important; padding: 0 0 1em;margin: 0 0 1em;}
.info_bold{font-weight: bold; }
.info_normal{font-weight:normal;}
.info_large{font-size: 150% !important;}
.info_normalsize{font-size: 110% !important;}

.info_red{color:#F03; padding: 0 0 1em;}
.info_pink{color: #ec5ea4;}
.info_border{border: #eee 1px solid; }
.info_noborder{border: none !important; }
.info_topline{border-top: #ddd 1px dotted; padding: 1em 0 0; }
.info_middle{vertical-align: middle;}

.underline{
	border-bottom: 1px #333 solid;
	margin: 0 auto 1em;
	padding: 0 0 0.2em;
}
.underline_pink{
	border-bottom: 1px #ec5ea4 solid;
	margin: 0 auto 1em;
	padding: 0 0 0.2em;
}

.info_pen:before{
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url("../images/info/icon_pen.png");
	background-size: contain;
	vertical-align: middle;
	margin-right: 0.2em;
}
@media only screen and (max-width: 1000px){
    .info_pen:before {
        width: 20px;
        height: 20px;
    }
	 }

.new-data{
	padding: 0.5em 0 0; 
	text-align: right;
	color:#38b9cb;
	font-weight: bold;
	
}
.new-topline{
	border-top: #ddd 1px dotted;
	margin: 2em 0 -2em;
}

.new-data span{
	background:#38b9cb ;
	border-top-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0.2em 0.5em;
	color: #fff;
	font-size: 80%;
	font-weight: bold;
	margin: 0 0.5em 0 0;
	
}

.info_MarginPadding_0{margin:0 !important; padding:0 !important;}

.info_MarginTOP-1em{margin-top:-1em !important; }
.info_MarginTOP_0{margin-top:0 !important; }
.info_MarginTOP_05em{margin-top:0.5em !important; }
.info_MarginTOP_1em{margin-top:1em !important; }
.info_MarginTOP_2em{margin-top:2em !important;}

.info_PaddingTOP_0{padding-top:0 !important;}
.info_PaddingTOP_05em{padding-top:0.5em !important; }
.info_PaddingTOP_1em{padding-top:1em !important;}
.info_PaddingTOP_2em{padding-top:2em !important; }
 
.info_MarginBTM_0{margin-bottom:0 !important; }
.info_MarginBTM_1em{margin-bottom:1em !important; }
.info_MarginBTM_2em{margin-bottom:2em !important; }
.info_MarginBTM_3em{margin-bottom:3em !important; }

.info_PaddingBTM_0{padding-bottom:0 !important;}
.info_PaddingBTM_1em{padding-bottom:1em !important;}
.info_PaddingBTM_2em{padding-bottom:2em !important; }
.info_PaddingBTM_3em{padding-bottom:3em !important; }

h4.info_h4{
	font-size: 140% !important;
	font-weight: bold;
	line-height: 1.2em; 
	color: #ec5ea4; 
	padding: 0.5em 0 0.6em 0.4em ; 
	margin: 2em 0 0.5em; 
	border-left: #ec5ea4 5px solid;  
	border-bottom: #ec5ea4 2px double; 
	background: #000;}

h4.info_h4_pink{
	font-size: 140% !important;
	color: #ec5ea4;
	font-weight: bold;
	margin: 2em 0 0.5em; 
	line-height: 1.2em; }

h5.info_h5{
	font-size: 120% !important;
	font-weight: bold;
	margin: 2em 0 0.5em; 
	line-height: 1.2em; }

.info_space{margin: 1em auto 3em !important;}
.info_space1{margin: 1em auto 1em !important;}
.info_space2{margin: 2em auto 2em !important;}
.info_space3{margin: 3em auto 3em !important;}

a.link_pink{color:#ec5ea4; text-decoration: underline; }
a.link_white{color:#fff !important; text-decoration: underline; }


ul.info_disc{padding: 0; margin: 0; font-size: 120%;}
ul.info_disc li{list-style-type: disc; margin: 0 0 0.5em 1.5em;}

table ul.info_disc{padding: 0; margin: 0; font-size: 100%;}
table ul.info_disc li{list-style-type: disc; margin: 0 0 0.5em 1.5em;}

ul.info_noliststyle{padding: 0; margin: 0; font-size: 120%;}
ul.info_noliststyle li{list-style-type: none; margin: 0 0 0.5em 0;}

ul.info_noliststyle_small{padding: 0; margin: 0; font-size: 100%;}
ul.info_noliststyle_small li{list-style-type: none; margin: 0 0 0.5em 0;}

ul.info_kome {
	margin-left: 1em;
	margin-bottom: 2em;
	text-align: left;
}
ul.info_kome li {
	line-height: 1.4em;
	list-style: none;
	margin-bottom: 0.5em;
}
ul.info_kome li i::before {
	content: "※";
	margin-left: -1em;
	font-style: normal;
}
ol.info_num{
	margin-left: -1em;
	margin-bottom: 2em;
	text-align: left;
	font-size: 120%;
}
ol.info_num li {
	line-height: 1.4em;
	list-style:decimal;
	margin-bottom: 0.5em;
}

h3.info_h3_25th{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
	margin:14px 0 35px ;
	padding-bottom:14px;
	border-bottom:4px solid #ec5ea4;border-bottom-width:4px;
	font-size:26px
}
@media only screen and (max-width: 1000px){
	h3.info_h3_25th{
		margin:14px 0 16px ;
		margin:1.86667vw 0 2.13333vw;
		padding-bottom:14px;padding-bottom:1.86667vw;
		border-bottom-width:4px;border-bottom-width:.53333vw;
		font-size:26px;font-size:3.46667vw
	}
}
h3.info_h3_25th:before{
	-webkit-flex-shrink:0;
	-ms-flex-negative:0;
	flex-shrink:0;
	content:"";
	display:inline-block;
	position:relative;
	background-repeat:no-repeat;
	background-position:0 0;background-size:contain;
	width:44px;
	height:42px;
	margin-right:15px;
	background-image:url("../images/info/icon_sakura25th.png")!important
}
@media only screen and (max-width: 1000px){
	h3.info_h3_25th:before{
		width:44px;
		width:5.86667vw;
		height:42px;
		height:5.6vw;
		margin-right:15px;
		margin-right:2vw
	}
}

/*** テキスト　ここまで
---------------------------------------------------***/

/*** 画像　
---------------------------------------------------***/
.info_img{text-align: center; margin: 0 auto; padding: 0 0 1em;}
.bodernone{border:none !important;}
.float_right{float: right; margin-left: 1em;}
.float_left{float: left; margin-right: 1em;}

@media only screen and (max-width: 1000px){
.sp_img50{max-width: 50% !important;}
.sp_img60{max-width: 60% !important;}
.sp_img70{max-width: 70% !important;}
.sp_img80{max-width: 80% !important;}
}

/*** 画像　ここまで
---------------------------------------------------***/

/*** 動画 
---------------------------------------------------***/
.yt_box {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 50px;
	border: 1px #ddd solid;
}

.yt_box iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.box2_lf .yt_box_2set{
	width: 49%;
	/* padding-bottom: 27.5625%;(16x=49x9) */
}
.box2_lf .yt_box{
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.5%;
	overflow: hidden;
	margin-bottom: 25px;
	border: 1px #ddd solid;
}

.box2_lf .yt_box_2set div.yt_title{
	font-size: 100%;
	line-height: 1.4em;
	padding: 0 0 0.2em;
	font-weight: bold;
	text-align: center !important;
}

.box2 h5{
	font-size: 110%;
	line-height: 1.4em;
	padding: 0 0 0.4em;
	font-weight: bold;
	text-align: center;
}
@media only screen and (max-width: 1000px){
	
.box2_lf .yt_box_2set{
	width: 100%;
}

.box2_lf .yt_box_2set div.yt_title{
	font-size: 90%;
	padding: 0;
	margin: 1em 0 -0.8em;
	font-weight: bold;
}
}

/*** 動画 ここまで
---------------------------------------------------***/

/*** box関連
---------------------------------------------------***/
.border_box{
	border: #ec5ea4 2px solid;
	padding: 1em;
}
.border_box_none{
	border: none;
	padding: 0.5em;
}
.border_box_bg_dot{
	 margin     : auto;
	border: #ec5ea4 2px solid;
	padding: 1em;
                                      /* ドット（水玉）模様のCSS */
  background-color   : rgba(255, 255, 255, 0.70);
  background-image   : radial-gradient(rgba(255, 77, 166, 0.13) 12%, transparent 15%),
                       radial-gradient(rgba(255, 77, 166, 0.13) 12%, transparent 15%);
  background-position: 0 0, 10px 10px;
  background-size    : 20px 20px;
}
.box2, .box2_lf, .box3,.box4,.box5, .box2txt_lf{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	justify-content:space-between;
	-webkit-justify-content:space-between;
	-ms-justify-content:space-between;
	width: 100%;
	margin: 1em 0 2em;
	padding: 0 !important;
	flex-wrap:wrap;
}


.box2txt_lf > div{
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
}

.box2txt_lf > div img{
	min-width: 200px !important;
	height:auto;
	margin:0;
}

.box2 > div, .box2_lf > div{
	width: 49.2%;
	height: auto;
	padding: 0;
	margin: 0 0 1em;
	text-align: center;
}


.box3 > div{
	width: 32.5%;
	height: auto;
	padding: 0;
	margin: 0;
	text-align: center;
}
.box4 > div{
	width: 24.8%;
	height: auto;
	padding: 0;
	margin: 0;
	text-align: center;
}
.box5 > div{
	width: 19.8%;
	height: auto;
	padding: 0;
	margin: 0;
	text-align: center;
}

.box1 > div img{
	width: auto;
	max-width: 100%;
	height: auto;
	border: 1px #ddd solid;
	text-align: center;
}

.box2 > div img, 
.box2_lf > div img, 
.box3 > div img, 
.box4 > div img, 
.box5 > div img{
	width: 100%;
	height: auto;
	border: 1px #ddd solid;
}

.box2.auto > div img, 
.box2_lf.auto > div img, 
.box3.auto > div img, 
.box4.auto > div img, 
.box5.auto > div img{
	width: auto;
	height: auto;
	border: 1px #ddd solid;
}

.box1{
	text-align: center;
	margin: 0;
	padding: 0 0 1em;
}


.box_img{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	width: 100%;
	margin: 1em 0 2em;
}

.box_img div.txt{
	width: 74.9%;
	height: auto;
	margin: 0 0.1% 0 0;
}
.box_img div .img{
	min-width: 25%;
	height: auto;
}

.box div img{
	width: 100%;
	height: auto;
}

.box2 .info_caption, .box3 .info_caption, .box4, .box5 .info_caption{
	padding:0.5em 0;
	font-size: 90% !important;
	text-align: center;
}

.box_cmnt{
	border-left: 5px dotted #ddd;
	padding:0 0 0 15px; 
}

.v-align{
	display: flex; 
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}

.v-align span{
	width: 100%;
	max-width: 500px;
}

/* バッジ */
.badge-box{
    max-width: 640px;
	width: 95%;
	margin: 0 auto 1em;
	padding: 0;
	display: flex;
	flex-wrap: wrap; 
	justify-content: center;
}

.badge-box > div{
	width: auto;
	height: 80px;
	margin: 0 1% 2%;
	
}


.badge-box img{
	width: auto;
	height: 100%;
}

.qrimg{
	width: 300px;
	height: auto;
	margin: 0 auto 1em;
}

@media only screen and (max-width: 1000px){
.box_img div.txt{
	width: 72.9%;
	height: auto;
	margin: 0 0.1% 0 0;
}
 
.box_img div.img{
	width: 27%;
	height: auto;
}

.box_img.sp_vertical {
	flex-direction: column;
}
.box_img.sp_vertical div.txt {
	width: 100%;
	margin: 0;
}
.box_img.sp_vertical div.img {
	width: 100%;
	margin-top: 5%;
	text-align: center;
}
.box1 > div img{
	width: 100%;
	height: auto;
	border: 1px #ddd solid;
}
	
.box2_lf,.box2txt_lf{
	display: block;
	width: 100%;
	}

.box2_lf > div,.box2txt_lf > div{
	width: 100% !important;
	margin: 0 auto;
	text-align: center;
	}
.box2_lf .yt_box{
	width: 100%;
	height: auto;
	padding-bottom: 56.25%;
	margin: 1em 0;
}
.box2_lf > div img{
	width: 100% !important;
	margin: 0.5em auto;
}
.box2txt_lf > div img{
	width: 80%;
	height:auto;
	margin: 0.5em auto;
}
}

/* テーブルと画像を横に並べる */
.box_flex{
	
	display: flex;
	display:-webkit-box;
	display:-ms-flexbox;
	max-width: 1000px;
	
}
/* 画像1枚あるとき */
.box_flex .table_img1{width:  80%}
.box_flex .photo_img1{
	width:  20%;
	height: auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}
.box_flex .photo_img1 > div{width: 96%; }

/* 画像2枚あるとき */
.box_flex .table_img2{width:  60%}
.box_flex .photo_img2{
	width:  40%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}
.box_flex .photo_img2 > div{width: 49%; margin-left: 1px;}

/* 画像3枚あるとき */
.box_flex .table_img3{width:  55%}
.box_flex .photo_img3{
	width:  45%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}
.box_flex .photo_img3 > div{width: 33%; margin-left: 1px;}

/* 画像1～3枚あるときのSP */
@media only screen and (max-width: 1000px) {
	.box_flex{
		display: block;
	}
	.box_flex .table_img1,.box_flex .table_img2,.box_flex .table_img3{width:  100%}
	.box_flex .photo_img1,.box_flex .photo_img2{
		-webkit-box-pack:distribute;
		-ms-flex-pack:distribute;
		justify-content:space-around;
		width:  60%; 
		text-align: center; 
		margin: 1em auto;
	}
	.box_flex .photo_img3{
		-webkit-box-pack:distribute;
		-ms-flex-pack:distribute;
		justify-content:space-around;
		width:  90%; 
		text-align: center; 
		margin: 1em auto; 
	}
	.box_flex .photo_img1 > div{width: 50%; margin:0;}
	.box_flex .photo_img2 > div{width: 50%; margin:0 1px;}
	.box_flex .photo_img3 > div{width: 70%; margin:0 1px;}
	
}
/* /テーブルと画像を横に並べる */

/*** box　ここまで
---------------------------------------------------***/

/*** About用
---------------------------------------------------***/
body#about .section_history .list_history li .detail.author_kubo:after {
  content: 'メインキャラクターデザイン／久保帯人';
  position: absolute;
  bottom: -2em;
  left: 0;
  font-size: 11px
}

@media only screen and (max-width: 1000px) {
  body#about .section_history .list_history li .detail.author_kubo:after {
    font-size: 14px;
    font-size: 1.86667vw;
	bottom: -3.5em;
	line-height: 1.1em;
  }
}
/*** About用　ここまで
---------------------------------------------------***/


/*** colorbox
---------------------------------------------------***/
#colorbox #cboxClose {
  display: inline-block;
  white-space: nowrap;
  text-indent: 300%;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  top: -70px;
  right: 0;
  width: 56px;
  height: 55px;
  background-image: url(../images/common/icon_close.png)
}
#cboxContent, #cboxWrapper, #cboxWrapper>div:nth-child(2), #colorbox {
  overflow: visible!important
}

#colorbox{border: 3px #fff solid;border-radius: 3px;}
/*** colorbox　ここまで
---------------------------------------------------***/



/*** その他
---------------------------------------------------***/
.clearfix {
	*zoom: 1;
}
.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}
.clearfix:after {
	clear: both;
}
.pc_only{display: block;}
.sp_only{display: none}
@media only screen and (max-width: 1000px) {
	.pc_only{display: none;}
	.sp_only{display: block}
}

/*** その他　ここまで
---------------------------------------------------***/

