@charset "UTF-8";



/* ====================================================

 *     サイト全体の基本スタイル

 *     背景色、文字色、リンク色はカラーセット設定で変化

 * ==================================================== */



/*背景*/

.gamen_bg_color1{
  background-color: #d1d2d1;
  width:770px;
  text-align:left;
  margin: 0px auto;
}



.gamen_bg_color1 a{
  text-decoration:underline;

}

.gamen_bg_color3{

    margin:10px auto;

  background-color: #fff;

  padding: 10px;

    width:93%;

    font-size:1.2em;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #000;

}



.gamen_bg_color3 span{

  color: #0863C5;

}



.gamen_bg_color3 a{

    color:#0892C5;

}





.gamen_bg_color4{

  background-color: #fff;

  padding: 10px;

  width:85%;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #000;

}



.gamen_bg_color5{

  background-color: #fff;

  padding: 8px;

    width:85%;

    margin-bottom:5px;

    height:290px;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #000;

}


.gamen_bg_color6{
  background-color: #fff;
  padding: 5px;
    width:94%;
    margin-bottom:5px;
    height:280px;
  /* border-radius */
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  /* border */
  border:1px solid #000;
}

.gamen_bg_color7{

  background-color: #fff;

  padding: 8px;

    width:89%;

    margin-bottom:5px;

    height:340px;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #000;

}



/*txtカラー*/

.gamen_txt_pu{

  color: #60C;  

}





/*width100%のバナー*/

.gamen_width_max{

  text-align: center;

  line-height: 0px;

}



.gamen_width_max img{
  max-width: 100%;
}





/*マージン各種*/

.gamen_margin10{

  margin:10px;

}



.gamen_margin_top5{

  margin-top:5px;

}



.gamen_margin_bottom3{

  margin-bottom:3px;

}



.gamen_margin_bottom5{

  margin-bottom:5px;

}



.gamen_margin_bottom10{

  margin-bottom:10px;

}



.gamen_margin_bottom15{

  margin-bottom:15px;

}



.gamen_margin_bottom25{

  margin-bottom:25px;

}



.gamen_margin_left5{

  margin-left:5px;

}



.gamen_margin_right5{

  margin-right:5px;

}



.gamen_margin_left10{

  margin-left:10px;

}



.gamen_margin_right10{

  margin-right:10px;

}





/* IE7 hack */

*+html .gamen_margin_top-4{

  margin-top:-4px;

}





/*パディング各種*/

.gamen_padding_top10{

  padding-top:10px;

}



.gamen_padding_top15{

  padding-top:15px;

}



.gamen_padding_bottom10{

  padding-bottom:10px;

}



.gamen_padding_bottom25{

  padding-bottom:25px;

}



.gamen_padding_right5{

  padding-right:5px;

}



.gamen_padding_right10{

  padding-right:10px;

}



.gamen_padding_right12{

  padding-right:12px;

}



.gamen_padding_left5{

  padding-left:5px;

}



.gamen_padding_left10{

  padding-left:10px;

}





/*100%以下のdiv*/

.gamen_740div{

  margin:20px 15px 0px 15px;

}



.gamen_740div2{

  margin:0px 15px 0px 15px;

}



.gamen_95div{

  margin:5px 10px;

}



.gamen_90div{

  width:90%;

  margin:0 auto;

}



.gamen_80div{

  width:80%;

  margin:0 auto;

}





/*tableに当てるクラス*/

table.gamen_title_box_table{

  width:100%;

  margin-bottom:10px;

}



table.gamen_title_box_table2{

  width:50%;

  margin-bottom:10px;

}



.gamen_v_top{

  vertical-align:top;

}



.gamen_v_middle{

  vertical-align:middle;

}



.gamen_v_bottom{

  vertical-align:bottom;

}



.gamen_w06per{

  width:6%;

}



.gamen_w08per{

  width:8%;

}



.gamen_w13per{

  width:13%;

}



.gamen_w16per {

  width:16%;

}



.gamen_w22per{

  width:22%;

}



.gamen_w30per {

  width:30%;

}



.gamen_w40per {

  width:40%;

}



.gamen_w45per {

  width:45%;

}



.gamen_w50per{

  width:50%;

}



.gamen_w59per{

  width:59%;

}



.gamen_w70per{

  width:70%;

}



.gamen_w55per{

  width:55%;

}



.gamen_w81per{

  width:81%;

}



.gamen_w84per{

  width:84%;

}



.gamen_w91per{

  width:91%;

}



.gamen_w99per{

  width:99%;

}





/*表紙6列表示table*/

table.gamen_cover6_table{

  width:498px;

  margin-bottom:10px;

  margin-left:auto;

  margin-right:auto;

}



table.gamen_cover6_table td{

  width:83px;

  padding:2px;

}



table.gamen_cover6_table img{

  width:83px;

  border:1px solid #808080;

}





/*表紙3列表示table*/

table.gamen_cover3_table{

  width:249px;

  margin-bottom:10px;

  margin-left:auto;

  margin-right:auto;

}



table.gamen_cover3_table td{

  width:83px;

  padding:2px;

}



table.gamen_cover3_table img{

  width:83px;

  border:1px solid #808080;

}





/*表紙2列表示table*/

table.gamen_cover2_table{

  width:240px;

  margin-bottom:10px;

  margin-left:auto;

  margin-right:auto;

}



table.gamen_cover2_table td{

  width:120px;

  padding:2px;

}



table.gamen_cover2_table img{

  width:120px;

  border:1px solid #808080;

}





/*巻サム*/

.gamen_vol_thum{

    text-align:left;

  padding:0 10px 0 0;

  margin-bottom: 5px;

  width: 96px;

}



.gamen_vol_thum img{

  margin: 0 0 5px;

  max-width: 100%;

  max-height: 100%;

  border:1px solid #808080;

}



.gamen_vol_thum2{

    text-align:left;

  margin-bottom: 5px;

  wwidth: 136px;

}



.gamen_vol_thum2 img{

  margin: 0 0 5px;

  max-width: 100%;

  max-height: 100%;

  border:1px solid #808080;

}



.gamen_vol_thum3{

    text-align:left;

  padding:0 10px 0 0;

  margin-bottom: 5px;

  width: 136px;

}



.gamen_vol_thum3 img{

  margin: 0 0 5px;

  max-width: 100%;

  max-height: 100%;

  border:1px solid #808080;

}





/*ボタン*/

.gamen_btn_area img {

  max-width:100%;

}



.gamen_btn_area a {

  text-decoration:none;

}







/*レビュー部分*/

.gamen_user_thum{

  padding:0 10px 0 0;

  margin-bottom: 5px;

}



.gamen_user_thum img{

  max-width: 100%;

  max-height: 100%;

  margin-bottom: 5px;

}



.gamen_user_name{

  text-align:center;

  color:#43B4FF;

  font-size:12px;

  font-weight:bold;

}



.gamen_fukidasi {

  border:3px solid #A8D200;

  border-radius:10px;

  background-color:#FFF;

  padding:10px;

  margin: 5px 0;

}



.gamen_fukidasi p {

  font-size:12px;

}



.gamen_fukidasi img {

  vertical-align:top;

}





/*dotライン*/

.gamen_right_line_pk{

  border-right:2px dotted #F06;

  margin-right:5px;

}



.gamen_right_line_gr{

  border-right:2px dotted #418200;

  margin-right:5px;

}



.gamen_right_line_bl{

  border-right:2px dotted #09F;

  margin-right:5px;

}



.gamen_right_line_wh{

  border-right:2px dotted #FFF;

  margin-right:5px;

}



.gamen_right_line_pr{

  border-right:2px dotted #90F;

  margin-right:5px;

}



.gamen_right_line_or{

  border-right:2px dotted #F90;

  margin-right:5px;

}



.gamen_right_line_rd{

  border-right:2px dotted #F00;

  margin-right:5px;

}



.gamen_top_line_gr{

  border-top:2px dotted #418200;

  margin-top:15px;

  padding-top:15px;  

}



.gamen_top_line_bl{

  border-top:2px dotted #09F;

  margin-top:15px;

  padding-top:15px;

}



.gamen_top_line_bk{

  border-top:2px dotted #000;

  margin-top:15px;

  padding-top:15px;

}



.gamen_top_line_pr{

  border-top:2px dotted #90F;

  margin-top:15px;

  padding-top:15px;

}



.gamen_top_line_or{

  border-top:2px dotted #F90;

  margin-top:15px;

  padding-top:15px;

}



.gamen_top_line_pk{

  border-top:2px dotted #F06;

  margin-top:15px;

  padding-top:15px;

}



.gamen_top_line_rd{

  border-top:2px dotted #F00;

  margin-top:15px;

  padding-top:15px;

}

.gamen_top_line_wh{

  border-top:2px dotted #FFF;

  margin-top:15px;

  padding-top:15px;

}





/*ページTOPへ*/

.gamen_page_top{

  text-align: right;

  margin-top:15px;

  margin-right: 20px;

  margin-bottom: 15px;

}



.gamen_page_top a {

  text-decoration:none;

}





/*雑誌一覧*/

table.gamen_magazine{

  width:99%;

  margin:5px auto 10px;

  border-top:1px solid #0CC;

  border-left:1px solid #0CC;

  border-collapse: collapse;

  background-color:#AFF;

}



table.gamen_magazine td{

  width:25%;

  border-right:1px solid #0CC;

  border-bottom:1px solid #0CC;

  border-collapse: collapse;

  padding:5px 0;

  text-align:center;

}



table.gamen_magazine td a{

  color:#06C;

  text-decoration:none;

  text-align:center;

  font-size:14px;

}



.gamen_magazine_logo img{

  width:150px;

  margin: 0px 5px;

}



.gamen_link_banner img{

  width:350px;

}



.gamen_title_txt{

  margin:8px 0;

  color: #000;

  font-size: 1.2em;

    clear:both;

}



.gamen_title_name{

  font-size: 1.5em;

  line-height:1.3;

  margin:5px 0;

  font-weight:bold;

  color: #000;

    text-decoration: underline;

}



.gamen_title_name a{

  color: #000;

  text-decoration: underline;

}



.gamen_title_name2{

  font-size: 1.5px;

  line-height:1.2;

  margin-bottom:5px;

  font-weight:bold;

  color: #351F01;

}



.gamen_title_name2 a{

  color: #351F01;

  text-decoration: underline;

}



.gamen_author_name{

  font-size: 1.5em;

  line-height:1.2;

  color: #000;

    margin:5px 0 0;

}



.gamen_author_name a{

  text-decoration: underline;

  color: #000;

}




.gamen_author_name2{

  font-size: 1em;

  line-height:1.2;

  color: #000;

    margin:5px 0 0;

}



.gamen_author_name2 a{

  text-decoration: underline;

  color: #000;

}



.gamen_link{

  font-size: 12px;

  line-height:1.2;

  margin-bottom:5px;

}



.gamen_link a{

  color: #0FF;

  text-decoration: underline;

}



.gamen_sepa{

  width:10px;

  vertical-align: top;

  background-image: url(../images/130920_dot1.png);

  background-repeat: repeat-y;

  background-size: 10px;

}



.gamen_sepa2{

  margin:10px 0px;

  height:10px;

  vertical-align: top;

  background-image: url(../images/130920_dot2.png);

  background-repeat: repeat-x;

  background-size: 10px;

}



.gamen_watari{

  margin:10px;

  text-align:right;

  font-size:18px

}



.gamen_watari a{

  text-decoration: underline;

   color: #FFF;

}



.gamen_table td{

  text-align:center;

}



.gamen_table .gamen_table_thum{

  border:solid 1px #CC0000;

  background-color:#FFCCFF;

  text-align:center;

  margin:0px auto 5px auto;

  width: 119px;

  height: 166px;

}



.gamen_table .gamen_table_thum img{

  height:166px;

}



.gamen_small_btn{

  width:146px;

  height:75px;

  margin: 0px 3px 10px 3px;

  background-image:url(../images/140501_mag_btn.png);

  background-repeat: no-repeat;

  background-position: left top;

  background-size: 146px;

}



.gamen_small_btn img{

  width:146px;

}



.gamen_small_btn a {

  display:block;

  width:146px;

  height:75px;

  font-size:1px;

  line-height:1px;

  outline:none;

}



.gamen_small_btn a:hover {

  background-image:url(../images/140501_mag_btn_r.png);

  background-size: 150px;

  background-repeat: no-repeat;

  background-position: left top;

  background-size: 146px;

} 



.sm_cimg{

  line-height:0px;

  text-align:right;

}



.sm_li_img{

  width:404px;

  margin: 0px;

}



.sm_li_img img{

  width:400px;

  border:#000 solid 2px;

}



.sm_mag_btn{

  margin:5px 0px;

  text-align:center;

}



.sm_mag_btn img{

  width: 100%;

  max-width: 240px;

}



.sm_copyright2{

    width:95%;

  margin:10px auto 0;

    text-align:center;

  color:#000;

  font-size:1em;

}



.sm_copyright3{

    width:90%;

  margin:10px auto 5px;

    padding:5px;

    text-align:center;

  color:#000;

  font-size:1.3em;

    background-color:#fff;

    border:1px #000 solid;

}



.sm_copyright{

  margin:0px;

  padding:10px;

  color:#000;

  font-size:0.6em;

    text-align:center;

}



.gamen_thum_small img{

  width:105px;

  border:solid 1px #666;

}



.sm_cimg{

  line-height:0px;

  text-align:right;

}



.sm_li_img{

  width:404px;

  margin: 0px;

}



.sm_li_img img{

  width:400px;

  border:#000 solid 2px;

}



.sm_mag_btn{

  margin:5px 0px;

  text-align:center;

}



.sm_mag_btn img{

  width: 100%;

  max-width: 240px;

}



.gamen_itembox{

  margin: 5px;

  padding: 5px;

  width: 330px;

  height:145px;

  background-color: #fff;

  float: left;

}



.sm_btnset li{

  list-style: none;

  margin-top:10px;

  width:49%;

  text-align:right;

  float:left;

  padding-bottom:5px;

}



.sm_btnset li:last-child{

  width:49%;

  text-align:left;

  float:right;

}



.sm_docomopt img{

  width:100%;

      vertical-align:top; 

}





/* マーキー */

.gamen_mq{

  width: 100%;

  margin: 20px 0 5px;

  padding: 5px 0;

  color: #fff;

  font-size: 1.5em;

  background-color: #50A7E6;

}





.gamen_mq a{

  color:#fff;



}



/* 還元表示 */

.gamen_cbtn{

  width:90%;

  height:20px;

  float: left;

  font-size:1.2em;

  font-weight:bold;

  text-align:center;

  color:#fff;

  background-color:#f00;

  padding:3px ;

  margin:5px 0;

  /* border-radius */

  border-radius:5px;

  -webkit-border-radius:5px;

  -moz-border-radius:5px;

  /* border */

  border:1px solid #f00;



}



/* キャン渡りボタン */

.gamen_canbtn{

  margin:10px auto;

  width:80%;

  float: center;

  font-weight:bold;

  text-align:center;

  color:#000;

  background-color:#fff;

  background-image: linear-gradient(white,#ececec);

  margin:15px auto;

  font-size:1.3em;

  height:70px;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #dddddd;

}



.gamen_canbtn  a{

    color:#000;

    text-decoration: none;

    display: block;

    height:70px;

    line-height:4.5em;

}





.gamen_canbtn2{

  margin:10px auto;

  width:98%;

  float: center;

  font-weight:bold;

  text-align:center;

  color:#000;

  background-color:#fff;

  background-image: linear-gradient(white,#ececec);

  margin:3px auto;

  font-size:1.3em;

  height:70px;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #dddddd;

}



.gamen_canbtn2  a{

    color:#000;

    text-decoration: none;

    display: block;

    height:70px;

    line-height:4.5em;

}





/*コマサム*/

.gamen_bigthm{

  padding-left:5px;

}



.gamen_bigthm img{

  border:1px #000 solid;

  width:98%;

}



.gamen_thum img{

  border:1px #000 solid;

  width:250px;

}



.gamen_thum_big img{

  width:110px;

  border:solid 1px #000;

}



.gamen_thum_big2 img{

  width:140px;

  border:solid 1px #000;

}

.gamen_thum_big3 img{

  width:145px;

  border:solid 1px #000;

}

.gamen_thum_big4 img{

  width:110px;

  border:solid 1px #000;

}


.gamen_thum_big5 img{

  width:170px;

  border:solid 1px #000;

}

.gamen_thum_big6 img{

  width:180px;

  border:solid 1px #000;

}



.gamen_canbtn3{

  margin:10px auto;

  width:300px;

  float: center;

  font-weight:bold;

  text-align:center;

  color:#000;

  background-color:#fff;

  background-image: linear-gradient(white,#ececec);

  margin:5px auto;

  font-size:1.3em;

  height:30px;

  /* border-radius */

  border-radius:3px;

  -webkit-border-radius:3px;

  -moz-border-radius:3px;

  /* border */

  border:1px solid #dddddd;

}



.gamen_canbtn3  a{

  color:#000;

  text-decoration: none;

  display: block;

  height:30px;

  line-height:1em;

}



.gamen_line {
  background: linear-gradient(transparent 60%, #FFFF9F 0%);
}

.gamen_2thum img{
  border:1px #000 solid;

}

.gamen_no1{
  width:100%;
  padding:5px 0;
  color:#fff;
  background-color:#0c0a6e;
  text-align:center;
  font-size:1.5em;
  font-weight:bold;

}


.gamen_no2{
  width:100%;
  padding:3px 0;
  margin-bottom:5px;
  color:#fff;
  background-color:#bcad01;
  text-align:center;
  font-size:1.2em;
  font-weight:bold;

}

.can_flame{
  background-color:#fff;
  width:93%;
  padding:10px;
  margin:10px auto;
  font-size:1.2em;
  border:2px solid #bcad01;

}

.can_flame span{
  font-weight:bold;
  color:#bcad01;

}




.gamen_no{
  text-align:left;
}

.gamen_no a{
 color:#000;
 font-size:1.5em;
 font-weight:bold;
}


.gamen_menu{
  display: flex;
  width:97%;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  
}
.gamen_menu li{
  width:25%;
  text-align:center;
  box-sizing: border-box;
  margin-bottom: 0;
  padding: 0 1px 5px 1px;
  list-style: none;
}
.gamen_menu img{
  width: 100%;
  max-width: 184px;
  height: auto;
}


.gamen_container{
    display: flex;
  width: 700px;
  margin: 10px auto 0px;
}

.gamen_container2{
  display: flex;
  width:97%;
  flex-wrap: wrap;
  margin: auto;
}
.gamen_contents2{
  width:50%;
  display: flex;
  justify-content:space-between;
  margin-bottom: 10px;
}
.gamen_contents2_back {
  width:100%;
  background-color: #fff;
  padding: 5px;
  margin: 0px 5px 0px 5px;
  /* border-radius */
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  /* border */
  border:1px solid #000;
}

.gamen_container3{
    display: flex;
  width: 100%;
}
.gamen_left3{
    width: 180px;
  box-sizing: border-box;
}
.gamen_left3 img{
  width:170px;
  border:solid 1px #000;
}
.gamen_contents3{
    flex: 1;
  box-sizing: border-box;
}


.gamen_contents4{
  width:25%;
  display: flex;
  justify-content:space-between;
  margin-bottom: 10px;
  text-align: center;
}
.gamen_contents4_back {
  width:100%;
  background-color: #fff;
  padding: 8px;
  margin: 0px 5px 0px 5px;
  /* border-radius */
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  /* border */
  border:1px solid #000;
}

/********************************************************************
  ホタルの嫁入り
********************************************************************/

/*margin*/
.mb5{margin-bottom: 5px!important;}
.mb10{margin-bottom: 10px!important;}
.mb15{margin-bottom: 15px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30{margin-bottom: 30px!important;}
.mb40{margin-bottom: 40px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}
.mb70{margin-bottom: 70px!important;}
.mb80{margin-bottom: 80px!important;}
.mb90{margin-bottom: 90px!important;}


.mt20{margin-top: 20px!important;}
.mt35{margin-top: 35px!important;}
.mt40{margin-top: 40px!important;}
.mt50{margin-top: 50px!important;}
.mt70{margin-top: 50px!important;}

.mr5{margin-right: 5px!important;}
.mr10{margin-right: 10px!important;}
.mr15{margin-right: 15px!important;}
.mr25{margin-right: 25px!important;}

/*padding*/
.pt10{padding-top: 10px!important}
.pt20{padding-top: 20px!important}
.pt30{padding-top: 30px!important}
.pt35{padding-top: 35px!important}
.pt50{padding-top: 50px!important}

.pb20{padding-bottom: 20px!important}
.pb30{padding-bottom: 30px!important}
.pb40{padding-bottom: 40px!important}
.pb60{padding-bottom: 60px!important}
.pb70{padding-bottom: 70px!important}

/*text*/
.text_left{text-align: left}
.text_right{text-align: right}

/*flex*/
.fl{display: flex;}/*コンテンツ回り込み*/
.ju{justify-content: space-between;}/*左右にわける*/
.ju_sa{justify-content: space-around;}/* 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く */
.ju_left{justify-content: left;}
.ju_right{justify-content: right;}
.ju_f_end{justify-content: flex-end;}
.ju_se{justify-content: space-evenly;}/* 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く */
.ju_center{justify-content: center;}
.items_center{align-items: center;}

/********************************************************************
  共通
********************************************************************/
#htrnymir{
  margin: 0 auto;
  padding-top: 10px;
  width: 770px;
  background-color: #b1bd9c;
}

#htrnymir img{
    max-width: 100%;
    height: auto;
}

#htrnymir ul li {
    list-style: none;
}

.txt-red {
  color: #fd0300;
}

.t-serif {
  font-family:  '游明朝 Medium', serif;
  display: inline-block;
}

.t-pink {
  color: #f84f9f;
  display: inline-block;
}

.t-tate {
  -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.t-big {
  font-size: 45px;
}

.t-naname {
  transform: rotate(8deg);
}

.t-sale {
  margin-top: 10px;
  color: #fff;
  font-size: 45px;
  text-shadow: 2px 2px 10px #d42a92 ,
  -2px 2px 10px #d42a92 ,
  2px -2px 10px #d42a92 ,
  -2px -2px 10px #d42a92;
}

.t-sale02 {
  font-size: 35px;
}

.t-sale03 {
  margin-top: 10px;
  color: #fff;
  font-size: 45px;
  text-shadow: 2px 2px 10px #17375e,
  -2px 2px 10px #17375e ,
  2px -2px 10px #17375e ,
  -2px -2px 10px #17375e;
}

.bg-white {
  padding: 10px 5px;
  background-color: #fff;
  display: inline-block;
}

.bg-navy {
  padding: 10px 5px;
  background-color: #17375e;
  display: inline-block;
  color: #fff;
}



/*ボタン系*/


.purple-btn a {
  padding: 10px 0 4px;
  background-color: #e091fe;
  color: #00274b;
  border: 3px solid #00274b;
}

.blue-btn a {
  padding: 12px 0 7px;
  background-color: #00274b;
  color: #fff;
}

.purple-btn02 a,
.blue-btn02 a {
  font-size: 18px;
  line-height: normal;
}

.purple-btn02 a {
  padding: 8px 0 7px;
}

.blue-btn02 a {
  padding: 12px 0 9px;
}

/*動き*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
  }

.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
  }

.float {
  width: 770px;
  margin: 0 auto;
}

.floating {
  position: fixed;
  left: auto;
  bottom: 50px;
  display: none;
  z-index: 100;
}

.floating a {
  display: block;
  padding: 8px;
  text-decoration: none;
}

.floating a:hover {
  opacity: 1;
}



/********************************************************************
  背景画像
********************************************************************/

.bg01 {
  background: url(../images/bg01.png) repeat-y top;
}


/********************************************************************
  通常記述
********************************************************************/

/*ボタンエリア*/


/*.nav {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color:#b1bd9c;
}*/

.nav-inner{
  position: fixed;
  left: auto;
  top: 0;
  display: none;
  z-index: 1000;
}

.nav-list {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 770px;
  margin: 0 auto;
  padding: 8px 0;
  background: #b1bd9c;
  opacity: 0.9;
}

.nav-list li {
  flex: 0 0 203px;
  line-height: 50px;
}


.nav-list a:hover {
  opacity: 0.7;
}

.btn-area {
  max-width: 644px;
  margin: 40px auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.btn-area li {
  flex: 0 0 203px;
  line-height: 50px;
}

.pink-btn {
  background-image: url(../images/pink-btn.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.navy-btn {
  background-image: url(../images/navy-btn.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.white-btn {
  background-image: url(../images/white-btn.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.pink-btn:hover,
.navy-btn:hover,
.white-btn:hover {
  opacity: 0.7;
}


.pink-btn a,
.navy-btn a {
  display: block;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2rem;
  text-decoration: none;
  color: #fff;
}

.white-btn a {
  display: block;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2rem;
  text-decoration: none;
  color: #d42a92;
}

/*イントロ*/
.intro {
  position: relative;
  padding-bottom: 70px;
}

.intro::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 145px;
  height: 68px;
  content: '';
  background: url(../images/bg01.png) no-repeat top;
}

.intro::after {
  position: absolute;
  bottom: 168px;
  right: 7px;
  width: 144px;
  height: 65px;
  content: '';
  background: url(../images/bg02.png) no-repeat top;
  z-index: 0;
}


.intro-wrap {
  display: flex;
  max-width: 720px;
  margin: 0 auto 35px;
  position: relative;
}


.intro-txt {
  position:absolute;
  z-index: 3;
  top: 144px;
  left:0;
  flex: 0 0 195px;
}

.intro-txt p {
  position: relative;
  margin-top: 25px;
  text-align: left;
  line-height: 1.4;
  font-size: 16px;
  font-weight: bold;
}

.intro-txt p::before {
  position: absolute;
  bottom: -140px;
  left: -18px;
  width: 197px;
  height: 185px;
  content: '';
  background: url(../images/bg03.png) no-repeat top;
}

.intro-img {
  position: relative;
  z-index: 1;
  flex: 0 0 525px;
  margin-left: 203px;
}

.intro-img::before {
  position: absolute;
  z-index:-1;
  top:0;
  right:0;
  width: 172px;
  height: 212px;
  content: '';
  background: url(../images/bg04.png) no-repeat top;
}

.intro-img::after {
  position: absolute;
  bottom:-157px;
  left:30px;
  width: 79px;
  height: 279px;
  content: '';
  background: url(../images/bg05.png) no-repeat top;
}


/*キャラクター*/
.character {
  position: relative;
  background-color: #d42a92;
}

.character::before {
  position: absolute;
  top:-20px;
  right:0;
  width: 770px;
  height: 41px;
  content: '';
  background: url(../images/bg06.png) no-repeat top;
}

.character h2 {
  position: relative;
  padding-top: 60px;
}

.character h2::before {
  position: absolute;
  top:54px;
  left:17%;
  width: 51px;
  height: 51px;
  content: '';
  background: url(../images/icon01.png) no-repeat top;
}

.character h2::after {
  position: absolute;
  bottom:36px;
  right:17%;
  width: 68px;
  height: 68px;
  content: '';
  background: url(../images/icon02.png) no-repeat top;
}


.chara-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 550px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.chara-box02 {
  flex-flow: row-reverse;
}

.chara-stk {
  margin:40px 0 60px;
}

.chara-txt01,
.chara-txt02 {
  position: relative;
}

.chara-txt01::after {
  position: absolute;
  bottom:-60px;
  right:0%;
  width: 51px;
  height: 51px;
  content: '';
  background: url(../images/icon01.png) no-repeat top;
}

.chara-txt02::after {
  position: absolute;
  bottom:-77px;
  left:-23%;
  width: 68px;
  height: 68px;
  content: '';
  background: url(../images/icon02.png) no-repeat top;
}


.chara-txt{
  margin-top: 20px;
  color: #fff;
  font-size: 15px;
  text-align: left;
  line-height: 1.4;
}

.chara-name {
  font-size: 40px;
  color: #fff;
}

.chara-goto {
  background-color: #17375e;
  padding: 60px 0;
}

/*ストーリー*/
.t-serif {
  font-family:  '游明朝 Medium', serif;
  display: inline-block;
}

.t-pink {
  color: #f84f9f;
  display: inline-block;
}

.t-tate {
  -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.t-big {
  font-size: 45px;
}

.t-naname01 {
  transform: rotate(3deg);
}

.t-naname02 {
  transform: rotate(-3deg);
}


.bg-white {
  padding: 5px;
  background-color: #fff;
  display: inline-block;
}

.bg-navy {
  padding:5px;
  background-color: #17375e;
  display: inline-block;
  color: #fff;
}

.icon01,
.icon02,
.icon03,
.icon04,
.icon05,
.icon06,
.icon07,
.icon08,
.icon09,
.icon10,
.icon11,
.icon12,
.icon13,
.icon14,
.icon15,
.icon16,
.icon17,
.icon18,
.icon19,
.icon20{
  position: relative;
}

.icon01::after {
  position: absolute;
  bottom:196px;
  right:6%;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon02::after {
  position: absolute;
  bottom:-58px;
  right:-21%;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon03::before {
  position: absolute;
  bottom:70px;
  left:27px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon03::after {
  position: absolute;
  bottom:0;
  left:70px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon04 {
  top: 0;
  left: -100px;
  margin: 20px 0;
}

.icon04::after {
  position: absolute;
  top:72px;
  right:48px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon05::before {
  position: absolute;
  top:200px;
  left:64px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon05::after {
  position: absolute;
  top:300px;
  left:30px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon06 {
  margin-top: 20px;
}

.icon06::before {
  position: absolute;
  top:-174x;
  right:76px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon07 {
  top: 0;
  left: -91px;
  margin-bottom: 40px;
}

.icon07::after {
  position: absolute;
  top: 90px;
  right:44px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon08 {
  margin-bottom: 20px;
}

.icon08::before {
  position: absolute;
  top:10px;
  right:275px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}


.icon08:after {
  position: absolute;
  top:48px;
  right:174px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}


.icon09::before {
  position: absolute;
  top:300px;
  right:44px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}


.icon09:after {
  position: absolute;
  bottom:390px;
  left:52px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon10:before {
  position: absolute;
  top:25px;
  right:127px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon10:after {
  position: absolute;
  bottom:90px;
  left:128px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon11:before {
  position: absolute;
  top:-73px;
  left:200px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon11:after {
  position: absolute;
  bottom:80px;
  right:80px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon12:after {
  position: absolute;
  bottom:-40px;
  left:200px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon13:before {
  position: absolute;
  top:80px;
  left:65px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
  opacity: 0.8;
}

.icon13:after {
  position: absolute;
  bottom:41px;
  right:87px;
  width: 70px;
  height: 70px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
  opacity: 0.8;
}

.icon14::before{
  position: absolute;
  top:251px;
  left:39px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon14:after {
  position: absolute;
  bottom:145px;
  right:106px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d
}

.icon15 {
  margin: 20px 0;
}

.icon15::before{
  position: absolute;
  top:110px;
  left:96px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon15:after {
  position: absolute;
  bottom:375px;
  right:106px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d
}

.icon16::before{
  position: absolute;
  top:144px;
  left:75px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon17 {
  position: relative;
  top: 0;
  left: -106px;
  margin-bottom: 10px;
}

.icon17:after {
  position: absolute;
  bottom:45px;
  right:0;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d
}

.icon18::before{
  position: absolute;
  top:123px;
  left:89px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.icon18:after {
  position: absolute;
  top:196px;
  left:47px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d
}

.icon19::before{
  position: absolute;
  top:123px;
  right:89px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
  opacity:0.8;
}

.icon19:after {
  position: absolute;
  bottom:279px;
  left:79px;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
  opacity:0.8;
}


.story {
  padding: 80px 0 60px;
}

.story p,
.story b {
  font-size: 30px;
  font-weight: bold;
}

.story h2 {
  position: relative;
  margin-bottom: 60px;
}

.story h2::before {
  position: absolute;
  top:-30px;
  left:0%;
  width: 280px;
  height: 154px;
  content: '';
  background: url(../images/bg07.png) no-repeat top;
}

.story h2::after {
  position: absolute;
  bottom:0px;
  right:0%;
  width: 285px;
  height: 113px;
  content: '';
  background: url(../images/bg08.png) no-repeat top;
}


.komabox01,
.komabox02 {
  position: relative;
  display:flex;
  justify-content: space-around;
  max-width: 615px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.komabox01::after {
  position: absolute;
  top:120px;
  right:-6%;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.komabox02::after {
  position: absolute;
  bottom:-68px;
  left:7%;
  width: 40px;
  height: 40px;
  content: '';
  background-color:#e7e58d ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.koma-txt {
  display: flex;
  flex-direction:row-reverse ;
}


.obi01 {
  position: relative;
  top: 0;
  left: -126px;
  margin: 20px 0 10px;
}

.obi02 {
  position: relative;
  top: 0;
  right: -85px;
  margin: 20px 0;
}

.obi03 {
  position: relative;
  top: -42px;
  right: -177px;
}

.obi04 {
  position: relative;
  top: 12px;
  right: 161px;
  margin-bottom: 30px;
}

.obi05 {
  position: relative;
  top: -35px;
  left:10px;
  margin: 60px 0 20px;
}

.obi06 {
  position: relative;
  top:0;
  right:-81px;
  margin: 40px 0 20px;
}

.obi07 {
  position: relative;
  top:0;
  right:-81px;
  margin: 20px 0;
}

.obi07::before{
  position: absolute;
  top:0;
  left:-200px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.obi07::after{
  position: absolute;
  top:-210px;
  right:-40px;
  width: 15px;
  height: 15px;
  content: '';
  background-color:#fff ;
  border-radius: 50%;
  box-shadow: 0px 0px 41px 9px #e7e58d;
}

.story-inner  {
  background-color: #d42a92;
  padding: 50px 0;
}

.st-inner-box {
  display: flex;
  justify-content: space-around;
  max-width: 600px;
  width: 100%;
  height: auto;
  margin: 40px auto 0;
}

.st-inner-box-l,
.st-inner-box-r {
  position: relative;
}

.st-inner-box-l::before {
  position: absolute;
  top:144px;
  left:-22%;
  width: 68px;
  height: 68px;
  content: '';
  background: url(../images/icon02.png) no-repeat top;
}

.st-inner-box-l::after {
  position: absolute;
  bottom:21px;
  left:-15%;
  width: 68px;
  height: 68px;
  content: '';
  background: url(../images/icon02.png) no-repeat top;
}

.st-inner-box-r::before {
  position: absolute;
  top:312px;
  right:-13%;
  width: 68px;
  height: 68px;
  content: '';
  background: url(../images/icon02.png) no-repeat top;
}



/*コミック*/
.comic h2 {
  position: relative;
  margin-bottom: 60px;
}

.comic h2::before {
  position: absolute;
  top:0;
  left:0;
  width: 261px;
  height: 48px;
  content: '';
  background: url(../images/bg09.png) no-repeat top;
}

.comic h2::after {
  position: absolute;
  top:0;
  right:0;
  width: 285px;
  height: 53px;
  content: '';
  background: url(../images/bg10.png) no-repeat top;
}


.hotal ul li,
.promise-box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  max-width: 610px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.hotal ul li:first-child{
  margin-bottom: 40px;
}


.title-img {
  flex: 0 0 300px;
}

.title-info {
  flex: 0 0 310px;
}


.title-txt {
  font-size: 42px;
}

.title-txt a {
  text-decoration: none;
  color: #000;
}

.title-txt a:hover {
  opacity: 0.6;
}

.hotaru-title {
  line-height: 0.8;
}

.title-txt span {
  font-size: 30px;
}

.comic .pink-btn  {
  display: inline-block;
  margin: 3px auto;
  padding: 2px 32px 0px 35px;
  line-height: 50px;
}

.comic .navy-btn {
  display: inline-block;
  margin: 3px auto;
  padding: 2px 43px 2px 49px;
  line-height: 50px;
}

.white-btn {
  display: inline-block;
  margin: 3px auto;
  padding: 1px 32px 0px 35px;
  line-height: 50px;
}

.promise {
  margin-top: 70px;
  padding: 50px 0 80px;
  background-color: #d42a92;
}

.promise-txt {
  position: relative;
  font-size: 31px;
  color: #fff;
}

.promise-txt::before {
  position: absolute;
  bottom:-25px;
  left:0;
  width: 62px;
  height: 47px;
  content: '';
  background: url(../images/bg11.png) no-repeat top;
}


.promise-txt::after {
  position: absolute;
  top:-35px;
  right:0;
  width: 62px;
  height: 47px;
  content: '';
  background: url(../images/bg11.png) no-repeat top;
}

.promise-box {
  margin-top: 50px;
}
.promise-title a{
  color:#fff!important;
}

small {
  display: inline-block;
  margin: 5px 0;
}