/* 伊勢プログラマ用css */


/*intro-cta_new*/
.intro-cta_btn a {
    display: block;
    padding: 20px;
    border-radius: 18px;
	background: #01cbc3;
    color: white !important;
    text-decoration: none;
    font-size: 30px;
}
@media (max-width:480px) {
    .intro-cta_btn {
        width: 100%;
    }
    #im .intro-cta_btn a {
        font-size: 16px;
    }
}
/*紙芝居imgを使うときの補助動作*/
    .img_slot .field {
        aspect-ratio: 1/1;
        margin: auto;
        background-size: contain;
        animation-name: perapera;
        animation-iteration-count: infinite;
    }


/*PRコントロール*/
#footer-widget-right #custom_html-16{
	margin-bottom:0!important;
}
#footer-widget-right #custom_html-16.widget_custom_html .widgettitle.ef{
	display:none;
}




/*監修者*/
a.adviser{
color:initial!important;
text-decoration:none!important;
font-weight:normal!important;
}
section.adviser{
background:aliceblue;
border-radius:5px;
box-shadow: 0px 0px 5px 0px #aeaeae;
display:flex;
align-items: center;
flex-wrap:wrap;
margin-top:1em;
margin-bottom:1em;
}
section.adviser .prf_img{
padding:10px;
width:20%;
}
section.adviser .prf_img img{
border-radius:50%;
margin:auto!important;
}
section.adviser .profile{
width:79%;
padding:1em;
}
section.adviser .profile .prf_title{
color:#ff2f1f;
font-weight:bold;
padding:0.5em 0.5em 0.5em 0;
}
section.adviser .profile .prf_name{
font-weight:bold;
    color: black;
}
section.adviser .profile .prf_descri {
    font-size: 75%;
    color: black;
}
section.adviser .profile .prf_license>span,.prf_license>span{
display:inline-block;
font-size:75%;
border:solid 1px black;
border-radius:5px;
background:white;
padding:0.3em;
margin:0.1em;
}
.article_head_adviser{
display:flex;
flex-wrap:wrap;
border:solid 1px;
background:aliceblue;
border-radius:5px;
margin-bottom:0.5em;
}
.article_head_adviser .prf_img{
padding:10px;
width:100px;
position:relative;
}
.article_head_adviser .prf_img img{
border-radius:50%;
margin:auto!important;
position:relative;
}
.prf_img.label_advisers:after{
position: absolute;
content: "監修者";
bottom: 7%;
right: 0%;
width: 100%;
background: #ff5d3f;
color: white;
font-weight: bold;
text-align: center;
font-size: 90%;
}
.article_head_adviser .profile{
width:79%;
padding:1em;
}
.article_head_adviser .profile .prf_title{
color:#ff2f1f;
font-weight:bold;
padding:0.5em 0.5em 0.5em 0;
}
.article_head_adviser .profile .prf_name{
font-weight:bold;
}

.prf_textarea{
padding:0.5em 1em 1em 1em;
width:100%;
}


.prf_textarea details {
border: 1px solid #aaa;
font-size:75%;
border-radius: 4px;
padding: 0.5em 0.5em 0;
margin-top:0.5em;
}

.prf_textarea summary {
font-weight: bold;
margin: -0.5em -0.5em 0;
padding: 0.5em;
}

.prf_textarea details[open] {
padding: 0.5em;
}

.prf_textarea details[open] summary {
border-bottom: 1px solid #aaa;
margin-bottom: 0.5em;
}



@media only screen and (max-width: 768px){

.article_head_adviser .profile{
width: 64%;
}
section.adviser .prf_img{
width: 150px;
margin: auto;
}


section.adviser .profile{
width:100%;
padding:1em;
}


}
/*特定のカテゴリ番号はサイドバーに表示しない*/
#categories-2 li.cat-item.cat-item-57 {
    display: none;
}
/*監修者END*/








/*Reincarnation 3ren*/
div.ren_footer_area {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
}
div.ren_footer_area img{
    width: 150px;
    background-color: white;
    padding: 0.4em;
    border-radius: 10px;
}


.inbox h6 {
    all: initial;
    font-weight: bold;
    display: flex;
    justify-content: center;
	padding: 5px 0 5px 0;
}
section.reincarnation_3ren {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    background: #fbbb41;
    border-radius: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
}
h5.ren_title_area {
    width: 100%;
    display: flex;
    margin:14px;
}
h5.ren_title_area .year_block {
    width: 35%;
    display: flex;
    align-items: center;
    font-size: 150%;
    color: white;
    font-weight: bold;
    text-shadow: 1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0-1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;
}
h5.ren_title_area .year_block span{
    font-size:170%;
}
h5.ren_title_area .title_block{
    position:relative;
    color:red;
    text-align:center;
    font-weight:bold;
    font-size:120%;
    padding-left:50px;
    padding-right:50px;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;

}
h5.ren_title_area .title_block:before{
    position:absolute;
    content:"＼";
    color:red;
    font-size:50px;
    top: calc(50% - 0.3em);
    left:0;
}
h5.ren_title_area .title_block:after{
    position:absolute;
    content:"／";
    color:red;
    font-size:50px;
    top: calc(50% - 0.3em);
    right:0;
}

article.renbox {
    position: relative;
    width: 33.33%;
    padding: 30px 2px 10px;
}

article.renbox.norank{
	padding: 0px 2px 10px;
}

article.renbox:before {
    position: absolute;
    font-weight: bold;
    font-size: 110%;
	border-radius: 4px;
	top: 3px;
    left: 1em;
    padding: 0px 30px;
    color: white;
    text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0-1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;

}
article.renbox.rank1:before{
    content:"1位";
    background: #ffed00;
}
article.renbox.rank2:before{
    content:"2位";
    background: #838383;
}
article.renbox.rank3:before{
    content:"3位";
    background: #a65f38;
}

article.renbox:after {
    display: inline-block;
    position: absolute;
    content: "";
    top: -22px;
    left: 5px;
    background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    z-index: 109;
    /*background-image: url(https://smopia.com/wp-content/uploads/2023/06/rank1-1.webp);
    background-size: contain;*/
}
/*article.renbox.rank1:after {
    background-image: url(https://smopia.com/wp-content/uploads/2023/06/rank1-1.webp);
}
article.renbox.rank2:after {
    background-image: url(https://smopia.com/wp-content/uploads/2023/06/rank2-1.webp);
}
article.renbox.rank3:after {
    background-image: url(https://smopia.com/wp-content/uploads/2023/06/rank3-1.webp);
}*/




article.renbox .inbox {
    background: white;
    border-radius: 15px;
    padding: 0px 10px 15px 10px;
}
article.renbox .inbox .renbox_banner{
text-align: center;
}
.inbox .renbox_banner a{
display:block;
}
.inbox .renbox_banner img{
 margin-bottom:0!important;
}

ul.ren li{
    position: relative;
    display: block;
    margin-bottom: 0.35em;
    padding: 0em 0px 0em 25px;
}

ul.smaller{
    font-size:80%;
}
ul.colorback{
    background:#FFF8B8;
	padding: 5px 0 5px 0;
}

.inbox li:before{
    font-family: 'jin-icons' !important;
    all: initial;
    font-size: 0.8em;
    display: block;
    content: '\e902';
    position: absolute;
    top: 5px;
    left: 6px;
    color: #333333;
}

/*btnghostを使用する場合は背景色を定義しない*/
div.tba_button {
    display: block;
    width: 100%;
    /*background-color: #1ab6a1;*/
    color: white!important;
    text-align: center;
    margin: 1em auto 1em;
    border-radius: 12px;
    box-shadow: 2px 4px 0 #4f4f4f;
}
div.tba_button:hover {
    box-shadow: none;
}

#under-toc-block-container div.tba_button a {
    display: block;
    width: 100%;
    padding: 0.5em;
    color: white!important;
    text-decoration: none;
}


.tba_buttons_point {
    position: absolute;
}

.tba_button::after {
    content: "";
    background-image: url(https://discka.com/wp-content/uploads/2024/02/point.webp);
    background-size: cover;
    background-position: center center;
    display: block;
    position:absolute;
    width: 60px;
    height: 60px;
    animation: point 2s ease 0s infinite normal;
    bottom: 15px;
    right: -20px;

}

@keyframes point {
  0% {
    transform: translate(-15%, 10px);
  }
  50% {
    transform: translate(-50%, -5px);
  }
  100% {
    transform: translate(-15%, 10px);
  }
}



/*マウスオーバーでゴーストが左右に揺れるボタン(このボタンを使用する場合は.tba_buttonの背景色を無効にする)*/
.btnghost a {
    position: relative;
    display: block;
    text-decoration: none;
    padding: 0.5em 1em;
    border-radius: 7px;
    background-image: linear-gradient(to right, #068e69 0%, #1bc798 50%, #068e69 100%);
    background-size: 200% auto;
    color: #ffffff !important;
    font-weight: bold;
    background-color: #22a597;
    width: 88%;
    text-align: center;
    margin: 0.5em auto;
    box-shadow: 2px 3px 5px black;
    transition: 0.3s ease-in-out;
}
.btnghost a:hover{
/*ホバーされたとき背景画像を右向きに引っ張ることでグラデの真ん中の薄い色が移動するように見せる*/
    background-position: right center;
    opacity: 1.0;
  box-shadow: none;
  cursor: pointer;
  transform: translateY(3px);
}




/*JINへのカウンターコード兼リストチェックの変更*/
section.reincarnation_3ren .inbox li:before {
    background-color: transparent!important;
    border-radius: 50%;
    padding: 4px;
    top: 0px;
}

/*サイドバーが表示されなくなるぐらいの横幅の環境より狭いならばスマホビューに変換*/
@media (max-width:767px) {
  h5.ren_title_area{
    flex-wrap:wrap;
  }
  h5.ren_title_area .year_block{
    width:100%;
	  font-size:130%;
	justify-content: center;
  }
  h5.ren_title_area .title_block{
	    width: 100%;
		margin-top: 8px;
		font-size:108%;
		padding-left: 10px;
		padding-right: 10px;
	}
  h5.ren_title_area .title_block:before{
		left:-20px;
	}
  h5.ren_title_area .title_block:after{
		right:-20px;

	}
	article.renbox{
    	width:100%;
	}
	article.renbox .inbox {
		background: white;
		border-radius: 15px;
		padding: 0px 15px 15px 15px;
	}	
	article.renbox .inbox .renbox_banner {
    	text-align: center;
    	width: 65%;
    	margin: auto;
	}
	.inbox h6 {
		font-size: 120%;
	}
}





/*レベルインジケータ*/
div.row {
    display: flex;
    margin: 5px 0 5px 0;
}
div.name {
    width: 40%;
    font-size: 80%;
    font-weight: bold;
  /*border: solid 1px gray;
    border-right: none;
    padding: 3px 5px;*/
}
div.cells{
  display:flex;
  width:60%;
  /*border: solid 1px gray;
    padding: 3px 5px;*/
}
div.cell{
  position:relative;
  width:40px;
  height:12px;
  background:red;
  border:solid 1px white;
}
div.cell:nth-child(1){
  border-top-left-radius:15px;
  border-bottom-left-radius:15px;
}
div.cell:last-child{
  border-top-right-radius:15px;
  border-bottom-right-radius:15px;
}

div.cell.off{
  background:lightgray;  
}

div.cell.on.mark:after{
  position:absolute;
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background-color: white;
  top: 50%;
  transform: translateY(-50%);
  right:-5px;
  z-index:108;
  border:solid 2px red;

}


@media (max-width:767px) {
	div.name {
		width: 35%;
	}
}

/*アフィテキストの色変更＆上下運動*/

.AfiBigText{
	animation: yureru-updown 1s infinite;
}
.AfiBigText a{
	color :#0086ed!important;
}
@keyframes yureru-updown {
	0% {
		transform: translate(0px, 0px);
	}
	50% {
		transform: translate(0px, 3px);
	}
	100% {
		transform: translate(0px, 0px);
	}
}



/*Reincarnation CTA本体の機能*/
    /*cta本体の機能*/
    section.reincarnation_cta {
        position: relative;
        border: solid #dfc5ce 5px;
        padding-bottom: 20px;
    }

    section.reincarnation_cta h5 {
        all: initial;
        display: flex;
        justify-content: center;
        font-weight: bold;
        font-size: 120%;
        color: white;
        background: linear-gradient(90deg, #8FE1B7 25%, #FFBDF6);
		padding: 20px;
    }

    section.reincarnation_cta div.thumb_area {
        display: flex;
        flex-wrap: wrap;

    }

    div.promo {
        width: calc(33.33%);
        padding: 10px;
    }

    div[class*='cta_rank'] {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        font-size: 170%;
		text-shadow: 2px 2px 0 #818181;
}

    div.cta_rank_1 {
        color: gold;
    }

    div.cta_rank_2 {
        color: silver;
    }

    div.cta_rank_3 {
        color: brown;
    }


    div.cta_ban img {
        width: 100%;
        height: auto;
        margin-bottom: 0 !important;
    }

    div.cta_ban a {
        display: block;
    }

    div.cta_itemname {
        display: flex;
        justify-content: center;
    }

    div.btn_area {
        display: flex;
        justify-content: center;
    }

    div.open_btn {
        position: relative;
        border-radius: 50px;
        width: 60%;
        cursor: pointer;
        text-align: center;
        color: white;
        background-image: llinear-gradient(90deg, #8FE1B7 25%, #FFBDF6);
        padding: 15px;
        border: solid white 3px;
        margin: 10px;
    }

    div.open_btn:before {
        content: "";
        position: absolute;
        width: calc(100% + 20px);
        height: calc(100% + 20px);
        border-radius: 50px;
        top: -10px;
        left: -10px;
        background-image: linear-gradient(90deg, #8FE1B7 25%, #FFBDF6);
		z-index: -1;
        box-shadow: 0 5px gray;
    }

    div.open_btn:hover {
        transform: scale(0.95, 0.95);
    }

    div.open_btn:hover:before {
        box-shadow: none;
    }




    div.open_btn span.btxt: {
        position: relative
    }

    div.open_btn span.btxt:after {
        position: absolute;
        content: "▼";
        top: 50%;
        right: 20px;
        font-size: 150%;
        margin-top: -0.7em;
    }


    section.reincarnation_cta .close {
        display: none;
    }

    section.reincarnation_cta .open {
        display: block;
    }

    /*開閉エリアの内側についてのコード*/
    .flex_one {
        display: flex;
        width: 100%;
        /*flex-wrap:wrap;*/
        padding: 20px 20px 10px 20px;
    }

    .flex_one .flex_left {
        width: 200px;
    }

    .flex_one .flex_right {
        display: flex;
        flex-wrap: wrap;
        padding-left: 20px;
        align-items: baseline;
        width: 70%;
    }

    .prime_text {
        width: 100%;
        color: #BE9915;
    }
    .prime_text:before {
        font-family: 'jin-icons' !important;
        content:"\e90f";
        font-size: 230%;
    }
    .prime_itemname {
        font-size: 150%;
    }

    .flex_two {
        padding: 10px 20px 10px 20px;
    }



@media (max-width:767px) {

    div.open_btn {
       width:90%;
   }

   .flex_one .flex_left{
       width:37%;
    }

    .cta_itemname{
         font-size:90%;
    }

    .prime_itemname {
        font-size: 100%;
    }


}
/*reincarnation CTA */

/*あぷりーちのクラス調整*/
div.appreach_title {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 1rem;
    animation: yureru-updown 1s infinite;
}

div.appreach {
    border: solid 4px #e60013;
    border-radius: 15px;
    padding: 21px 1em 0 1em;
    display: block;
    width: 45%;
    margin: 0em auto 2em;
}
.appreach>img {
    display: block;
    overflow: hidden;
    margin: auto;
    text-align: center;
    width: 80%!important;
    height: auto!important;
}
.appreach__detail {
    margin: 15px auto;
    width: 65%;
}
.appreach p{
    font-size: 13px;
    margin-bottom:0.5em!important;
    line-height: 1.5em!important;
    max-height: 5em;
    overflow: hidden;
}
.appreach__links {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.appreach span{
	font-size:12px;
	margin:auto;
}

.linkbox {
    width: 50%;
	text-align:center;
}
.linkbox a{
    display:block;
    border-radius: 5px;
    color:#7AB0F5;
    border: 2px solid #7AB0F5;
    padding: 5px 5px;
    margin: 0 5px 5px 5px;
    font-size: 65%;
}
.linkbox a.second{
    border:2px solid #1FD662!important;
    color:#1FD662!important;
}


@media (max-width:480px) {
	div.appreach{
		width:100%;
                padding: 10px 3px 10px 3px;
	}
	div.appreach__links{
		text-align:center;
	}
        .appreach__detail {
            margin: 15px auto;
            width: 70%;
        }
	span.appreach__developper{
		display:none;
	}
	.appreach span{
		font-size:9px;
		margin-right:0.5em;
	}
	.appreach .appreach__detail{
		padding-bottom:0em;
	}
.appreach>img {
    width: 100%!important;
}
}

/*ボタンのみ設置用のBOX*/
.majica_links_btns {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.majica_links_btns .linkbox a{
	margin:0 20px 20px 20px;
	font-size:100%!important;

}

/*ソートテーブルDBの補助css*/
.stars {
    --percent: calc(var(--rating)/5*100%);
}
.stars:after{
    content:"★★★★★";
    background: linear-gradient(90deg,red var(--percent),lightgray var(--percent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.itembox .left {
    text-align: center;
	margin:auto;
}
.itembox .right {
    text-align: center;
}

table.tablesorter img{
    margin-bottom:0px!important;	
}


/*マウスオーバーでゴーストが左右に揺れるボタン(このボタンを使用する場合は.tba_buttonの背景色を無効にする)*/

.mini_btnghost a {
    position: relative;
    display: block;
    font-size: 12px;
    text-decoration: none;
    padding: 7px 7px;
    border-radius: 7px;
    background-image: linear-gradient(to right, #c10000 0%, #f38d8d 50%, #c10000 100%);
    background-size: 200% auto;
    color: #ffffff !important;
    font-weight: bold;
    background-color: #22a597;
    width: 100px;
    text-align: center;
    margin: 0.5em auto;
    box-shadow: 0px 2px 2px black;
    transition: 0.3s ease-in-out;
}

.mini_btnghost a:hover{
/*ホバーされたとき背景画像を右向きに引っ張ることでグラデの真ん中の薄い色が移動するように見せる*/
    background-position: right center;
    opacity: 1.0;
  box-shadow: none;
  cursor: pointer;
  transform: translateY(2px);
}
.mini_btnghost.orange a {
    background-image: linear-gradient(to right, #dc7d00 0%, #f3be8d 50%, #dc7d00 100%);
}

.mini_btnghost.green a {
    background-image: linear-gradient(to right, #2fcd5c 0%, #8df3a1 50%, #2fcd5c 100%);
}

div.tba_button a {
    display: block;
    width: 100%;
    padding: 0.5em;
    color: white;
    text-decoration: none;
}

/*複数設置可能開閉機能付き3連Table*/

	.deformable_3conection_table_areas_title {
		text-align: center;
	    font-weight: bold;
	}
	.deformable_3conection_table_area {
        width: 100%;
        padding: 5px;
        margin-bottom: 20px;
		font-size:80%;
    }

    .deformable_3conection_table_area table,
    .deformable_3conection_table_area img {
        max-width: 100%;
        height: auto;
        margin-bottom: 0px !important;
    }

    .deformable_3conection_table_area table thead th,
    .deformable_3conection_table_area table thead td,
    .deformable_3conection_table_area table tbody td {
        background-color: white !important;
    }

    .button_set_area .button {
        /*border: solid 2px skyblue;*/
        border-radius: 15px;
        background-color: #3fa3e1;
        margin: 0px 0px 5px 0px;
        text-align: center;
        box-shadow: 3px 4px 2px #626262;
        transition: 0.2s;
		font-size:120%;
		color:white;
    }
	.button_set_area .button a{
		padding: 13px;
		color:white;
	}
	.button_set_area .button span{
		display:block;
		padding: 13px;
	}

	.button_set_area .button:hover {
        opacity: 0.8;
    }

    .button_set_area .button:active {
        box-shadow: none;
        transform: translateY(2px);
    }

    .button_set_area .button .bigger {
        font-size: 120%;
        font-weight: bold;
    }

    .button_set_area .button .smaller {
        font-size: 80%;
        font-weight: bold;
    }

    table.deformable_table th {
        width: 33.33%;
    }

    table.deformable_table thead,
    table.deformable_table tbody {
        text-align: center;
    }

    tbody.opener {
        /*display:table-header-group;*/
        display: none;
    }

    .button a {
        display: block;
        text-decoration: none;
        font-weight: bold;
    }

	/*カラーカスタマイズ部：開閉内部のヘッダのカラー*/
    .deformable_3conection_table_area table tbody th {
        background-color: #4BAF68 !important;
		color:white!important;
    }


/*2カラムフレックスの定義*/
section.columns_block{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.columns_block.two div.block_one {
    width: 50%;
    display: flex;
    align-items: center;
}
.columns_block.two div.block_two {
    width: 50%;
    display: flex;
    align-items: center;
}
.inner_content{
	width:100%;
    padding:15px;
}
@media (max-width:480px) {
	.columns_block.two div.block_one {
		width:100%;
	}	
	.columns_block.two div.block_two {
		width:100%;
	}	
}
