/*
Theme Name: Doujin Fanza Template
Theme URI: 
Description: PCとスマートフォンに対応した同人FANZAテーマ
Version: 1.0.0
Author: 
Author URI: 
*/

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}

body {
    font-family: Arial;
    -webkit-text-size-adjust: none;
    color: #000;
    background-color: #fff;
}
img {
    height: auto;
    max-width: 100%;
}
a {
    color: #0a5ef4;
    text-decoration: none;
}
a:not([href]) {
    color: #000;
}
.box a, a.box {
    color: #0a5ef4;
}
div,article,section,ul,li,select,input,nav li a, .more, #comment-form form > * {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
input, button, textarea, select, optgroup, option {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
}

/* header */
header {
    position: relative;
}
header .menu-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
header .menu-icon img {
    width: 20px;
    height: 20px;
}
header .search-icon {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
header .search-icon img {
    width: 20px;
    height: 20px;
}
header #sitelogo {
    height: auto;
    padding: 16px 0;
    background-color: #a83f3f;
    justify-content: center;
    align-items: center;
    display: flex;
}
header #sitelogo a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 28px;
    width: calc(100% - 100px);
    line-height: 1.4;
    margin: 0 16px;
    word-break: keep-all;
}
header .announce{
    background: #eee;
    padding: 9px;
    margin-bottom: 0;
    box-shadow: 1px 1px 1px rgba(0,0,0,.2);
}
header .announce span{
    display: block;
    font-size: 12px;
    line-height: 1.2;
    padding: 5px;
    color: #555;
    background: #fff;
    border-radius: 2px;
    box-shadow: inset 1px 1px #ddd;
    text-align: center;
}
header .archive-top {
    display: block;
    position: relative;
    font-size: 12px;
    font-weight: bold;
    margin: 13px 0;
    padding: 8px 4px;
    color: #616161;
    background: #44aed5;
}
header .archive-top span {
    display: inline-block;
    line-height: 18px;
    padding: 2px 4px;
    background: #e0e0e0;
    border-bottom: solid 1px #9e9e9e;
    border-right: solid 1px #9e9e9e;
    border-radius: 3px;
    box-shadow: 1px 1px 1px #9e9e9e;
    text-shadow: 1px 1px 0px #fff;
}
header .headline-title {
    font-size: 16px;
    font-weight: bold;
    line-height: 34px;
    margin: 0;
    padding-left: 8px;
    color: #fafafa;
    background: #44aed5;
    text-shadow: 1px 1px 1px rgba(0,0,0,.4);
    border-top: solid 1px #e0e0e0;
    border-bottom: solid 1px #e0e0e0;
}

/*	nav	*/
nav.pickup {
    background: #fff;
    overflow: hidden;
}
nav li {
    float: left;
    font-weight: bold;
    width: 20%;
    overflow: hidden;
    border: solid 1px #f5f5f5;
    border-left: none;
}
nav li:nth-of-type(-n + 5){
    border-top: none;
}
nav li:nth-of-type(-n + 10){
    border-bottom: none;
}
nav li a {
    display: block;
    height: 91px;
    padding: 1rem 0 0;
    color: #616161;
}
/* nav li a:before {
    display: block;
    content: "";
    margin: 0 auto;
    width: 42px;
    height: 42px;
    background-image: none;
    background-repeat: no-repeat;
    background-size: 216px;
} */
nav li a span {
    display: block;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
}
/* nav li:nth-child(n+6){border-top:none;}
nav li:nth-child(1) a:before{background-position: 0 0;}
nav li:nth-child(2) a:before{background-position: -44px 0;}
nav li:nth-child(3) a:before{background-position: -88px 0;}
nav li:nth-child(4) a:before{background-position: -132px 0;}
nav li:nth-child(5) a:before{background-position: -176px 0;}
nav li:nth-child(6) a:before{background-position: 0 -44px;}
nav li:nth-child(7) a:before{background-position: -44px -44px;}
nav li:nth-child(8) a:before{background-position: -88px -44px;}
nav li:nth-child(9) a:before{background-position: -132px -44px;}
nav li:nth-child(5) {
    border-right: none;
} */
nav li:nth-child(15) a {
    padding-top: 2rem;
    background: #ddd;
}
nav li:nth-child(10) a:before{
    display: none;
}
nav li a:nth-of-type(10) span {padding-top: 1.4em;}
nav ul li:after{
    content:'';
    display: block;
    clear: both;
}

/*	headline	*/
#search {
    margin: 5px 4px 0 4px;
    padding: 10px;
    background: #eee;
    border: 1px solid #e6e6e6;
    box-shadow: 1px 1px 0px rgba(0,0,0,.1);
}
#search form {
    display: table;
    width: 100%;
}
#search span {
    display: table-cell;
}

#search .search-submit {
    width: 55px;
    text-align: right;
}
#search input {
        font-size: 14px;
        border: 1px solid #b3b3b3;
    vertical-align: middle;
}
#search input[type="text"] {
    width: 100%;
    height: 28px;
    padding: 4px 8px;
    background: #fff;
    border: 1px solid #b3b3b3;
}
#search input[type="submit"] {
    width: 48px;
    height: 30px;
    border-radius: 4px;
    background: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fcfcfc),color-stop(1, #ededed));
    background: linear-gradient(top,#fcfcfc,#ededed);
    color: #000;
}
.text-list__item a{
    display: block;
    height: 16px;
    padding: 5px 25px 5px 10px;
    color: #0a5ef4;
    overflow: hidden;
}
.text-list__item{
    font-size: 12px;
    line-height: 18px;
    border-bottom: 1px solid #e6e6e6;
    background: none;
    background-size: 14px 10px,16px 16px;
}
.blogroll-channel {
    margin: 10px 10px 20px;
    min-height: 100px;
}
.blogroll-list-wrap {
    font-size: 14px;
    line-height: 18px;
    background: #fff;
    border: solid 1px #9c9c9c;
    border-radius: 2px;
}
.blogroll-list-wrap li {
    border-bottom: 1px solid #9c9c9c;
    background: none;
    background-size: 14px 10px,16px 16px;
}
.blogroll-list-wrap li:last-child {
    border: none;
}
.blogroll-list-wrap li a {
    display: block;
    padding: 5px 25px 5px 10px;
    color: #06c;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.blogroll-favicon, .blogroll-new-entry, .blogroll-list-wrap .blogroll-hatebu, .blogroll-list-wrap .blogroll-ad-text, .blogroll-ad-default, .blogroll-ad-img {
    display: none;
    height: 0;
    overflow: hidden;
    border: none;
}
.headline {
    position: relative;
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
    margin: 20px 4px 10px;
    padding: 6px 0;
    color: #fff;
    background: #247d9e;
    border-radius: 20px;
    box-shadow: 1px 1px 1px rgba(0,0,0,.4);
    text-shadow: 1px 1px 1px rgba(0,0,0,.6);
    text-align: center;
}
.headline span {
    color: #fff;
    display: inline-block;
    font-size: 12px;
    width: 3em;
    height: 14px;
    line-height: 14px;
    margin-right: 4px;
    background: #b30000;
    border-radius: 20px;
    vertical-align: top;
}
h1.archive-header {
    font-size: 16px;
    padding: 10px;
    color: #444;
    text-align: center;
}

/*	entry	*/
.entryboxs {
    display: flex;
    flex-wrap: wrap;
}
article.entrybox {
    width: 46%;
    margin: 0 2% 20px 2%;
    position: relative;
    display: block;
    color: rgba(255,255,255,0.75);
}
article.rank-entrybox {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding: 8px;
    border: 1px solid #e6e6e6;
}
article.rank-entrybox:nth-of-type(2n){
    border-right: none;
    border-left: none;
}
article.rank-entrybox:nth-of-type(2n+1){
    border-left: none;
}
article.article-inner {
    line-height: 1.4;
    /* padding: 10px; */
    /* background-color: #27393b; */
    /* margin-top: 10px; */
    color: #fff;
}
.rank-thumb {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: calc(100vw * 0.345);
}
.entybox-img {
    position: relative;
    width: 100%;
    margin-bottom: 2px;
    padding-bottom: 75.3%;
    background-color: #222;
    border-radius: 10px;
    overflow: hidden;
}
.thumb {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.entrytitle {
    display: -webkit-box;
    width: 98%;
    /* height: 36px; */
    margin-bottom: 2px;
    /* line-height: 18px; */
    /* font-size: 13px; */
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    height: 32px;
    line-height: 16px;
    font-size: 12px;
    color: rgba(255,255,255,0.75);
    font-weight: 400;
}
.rank-entrytitle {
    font-weight: normal;
    font-size: 12px;
    height: 48px;
    line-height: 1.4;
    padding: 4px 4px 0;
    overflow: hidden;
}

#entrytitle-area {
    /* padding: 10px; */
    /* border: 1px solid #e6e6e6; */
    /* background: #27393b; */
    margin: 18px 0 18px;
}
#entrytitle {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    color: #fff;
    margin-bottom: 4px;
}
#entrytitle-area .remarks {
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    color: #848484;
}
.entrybox a {
    display: block;
    color: #06c;
}
.article-body-more {
    margin: 14px 0 0;
    border: none;
}

/*	entry_bottom	*/
#entrybottom {
    color: #444;
    margin: 0 0 10px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e6e6e6;
}
.attention {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    padding: 8px 4px;
    color: #fff;
    background-color: #424242;
}
.populars p {
    margin: 20px 4px 8px;
        padding: 4px;
    border-left: 6px solid #44aed5;
    line-height: 1.5;
}
.populars img {
    width: 30px;
    margin-right: 8px;
}
.populars a {
    display: block;
}
.populars li a {
    padding: 8px 14px 8px;
    height: 30px;
    line-height: 30px;
}
.populars .more {
    margin: 8px auto 40px;
    width: 90%;
    height: 40px;
    line-height: 40px;
    background-color: #eaf2f5;
    border: 1px solid #c4d8e2;
    border-bottom: 2px solid transparent;
    border-radius: 3px;
    box-shadow: 0 2px #abbcc4;
    text-align: center;
}
.populars .gohome {
    display: block;
    font-size: 20px;
    font-weight: bold;
    width: 90%;
    height: 60px;
    margin: 20px auto;
    line-height: 60px;
    color: #fff;
    background: #FFBF00 ;
    border: solid 3px #3f3f3f;
    border-radius: 8px;
        text-align: center;
}
dl {
    font-size: 12px;
    line-height: 16px;
    margin: 10px 0 0;
}
dl dt, dl dd {
    display: table-cell;
    padding-left: 8px;
}
dl dt {
    width: 62px;
    color: #575757;
    text-align: right;
    white-space: nowrap;
}
dl dd {
    vertical-align: top;
}
dl ul li {
    display: inline-block;
    margin-right: 10px;
}

/*	pager	*/
.pagewrap {
    width: 95%;
    margin: 16px auto 80px;
}
.pagewrap a {
    font-size: 14px;
}
#pager a {
    height: 38px;
    max-height: 38px;
    line-height: 36px;
    margin: 0 3px;
    color: #fff;
    background: #444444;
    font-weight: 400;
    border-radius: 4px;
}
.pagenavi a {
    height: 42px;
    max-height: 42px;
    line-height: 40px;
}
.pagewrap a img {
    height: 15px;
    vertical-align: middle;
}
/* #pager, .pagenavi a {
    border: 1px solid #ccc;
    border-radius: 4px;	
    background: #f9f9f9;
    background: linear-gradient(#fff, #eee);
} */
#pager {
    overflow: auto;
    display: flex;
    justify-content: center;
}
.pagewrap .prev, .pagewrap .next {
    position: relative;
}
.pagewrap a, .pagewrap button {
    display: inline-block;
    color: #2390c5;
    text-align: center;
    box-sizing: border-box;
    text-shadow: 0 1px 0 #fff;
    vertical-align: top;
}
.pagewrap .current {
    color: #999;
}
.pagenavi .current {
    opacity: 0;
}
.pagewrap a.home {
    width: 12%;
    margin: 0 2%;
}
.pagewrap a.home img {
    width: 18px;
    height: 19px;
}
.pagewrap .prev span {
    /* background: url(./img/icon_pager_prev.png) no-repeat left center; */
    /* background-size: 9px 14px;
    padding-left: 16px; */
}
.pagewrap .next span {
    /* background: url(./img/icon_pager_next.png) no-repeat right center; */
    /* background-size: 9px 14px;
    padding-right: 16px; */
}
.pagenavi .prev, .pagenavi .next {
    width: 42%;
}
.pagenavi .first, .pagenavi .last {
    width: 17%;
}
/* #pager .first::before {
    font-family: fontAwesome;
    content: "";
} */
#pager .prev, #pager .next {
    width: 15%;
}
#pager .first, #pager .last {
    width: 15%;
}
.prev.current, .next.current,
.first.current, .last.current {
    display: none;
}
#pager a {
    /* border-left: 1px solid #fff;
    border-right: 1px solid #ccc;
    text-shadow: 0 1px 0 #fff; */
}
#pager a:last-of-type {
    border-right: none;
}
.pagewrap button {
    display: inline-block;
    border: none;
    background: transparent;
}
.paged {
    font-size: 17px;
    padding: 10px 10px 10px;
    text-align: center;
    width: 30%;
    background-color: #a83f3f;
    color: #fff;
    border-radius: 4px;
    font-weight: 200;
}

/*	comment	*/
#comment-area {
    padding: 10px 0;
}
.comment-btn {
    margin: 30px 0 20px;
    text-align: center;
}
.comment-btn a {
    display: inline-block;
    font-size: 14px;
    width: 49%;
    line-height: 41px;
    border-radius: 4px;
    background-color: #efefef;
    text-align: center;
}
.comment-btn a:nth-of-type(1) {
    margin-right: 1%;
}
#comments-list {
    font-size: 14px;
    line-height: 18px;
    position: relative;
    margin: 0 10px 10px;
    color: #444;
    background: #fafafa;
    border: 1px solid #e6e6e6;
}
#comments-list > div {
    padding: 16px;
}
.list-header, .comment-header {
    font-weight: bold;
    color: #777;
}
.list-header > * {
    font-size: 16px;
    display: inline-block;
    vertical-align: middle;
}
.list-header .counts {
    font-weight: normal;
    margin-left: 0.5em;
}
.comment-wrap {
    border-top: solid 1px #f3f3f3;
}
.comment-header {
    position: relative;
}
.comment-header .comment-number {
    margin-right: 5px;
}
.comment-header .comment-time {
    display: block;
    font-size: 10px;
    font-weight: normal;
    color: #999;
}
.comment-body {
    margin: 16px 0 20px;
}
#comment-form {
    display: none;
    position:fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 999;
}
#comment-form form {
    position: absolute;
    top: 50%;
    margin-top: -202px;
    padding: 12px;
    background: #f3f3f3;
}
#comment-form form > input, #comment-form select, #comment-form textarea {
    display: block;
    font-size: 14px;
    width: 100%;
    height: 48px;
    padding: 12px;
    border: solid #ddd 1px;
    border-radius: 4px;
}
#comment-form form > * {
    margin-bottom: 8px;
}
#comment-form select {
    display: inline-block;
    background: #fff;
    width: 127px;
    padding: 12px;
    vertical-align: middle;
}
#comment-form label {
    font-size: 14px;
    margin-left: 24px;
    color: #000;
    vertical-align: middle;
}
#comment-form label input {
    display: none;
}
#comment-form label span {
    position: relative;
    display: inline-block;
    line-height: 1.5;
    padding-left: 28px;
}
#comment-form label span:before, #comment-form label span:after {
    content: "";
    display: block;
    position: absolute;
    border-radius: 50%;
    background: #fff;
}
#comment-form label span:before {
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
}
#comment-form label span:after {
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
}
#comment-form input[type="radio"]:checked + span:before {
    background: #38c638;
}
#comment-form textarea {
    height: 200px;
}
#comment-form textarea:placeholder-shown {
    color: #999;
}
#comment-form input[type="submit"] {
    height: 56px;
    color: #aaa;
    background: #fff;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.12);
}
#comment-form .cancel {
    font-size: 14px;
    position: fixed;
    top: 19%;
    right: 12px;
    line-height: 1;
    color: #fff;
}

/*	ranking	*/
.rankbox {
    margin: 0 10px 10px;
    background: #fafafa;
    border: 1px solid #e6e6e6;
}
.rankbox > p {
    color: #545454;
    padding: 10px;
    margin: 0;
}
.ranking li {
        background: none;
    background-size: 14px 10px,16px 16px;
}
.ranking li a {
    position: relative;
    min-height: 50px;
    font-size: 14px;
    line-height: 1.5;
    display: block;
    border-top: 1px solid #e6e6e6;
}
.ranking li img {
    position: absolute;
    left: 0;
    top: 0;
    width: 50px;
    height: 50px;
}
.ranking li a p {
    display: block;
    padding: 3px 16px 3px 56px;
}
.ranking li span {
    position: absolute;
    font-size: 11px;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    color: #444;
    background: rgba(255,255,255,0.8);
    z-index: 1;
}
.rankmore {
    display: block;
    font-size: 12px;
    height: 24px;
    width: 75%;
    line-height: 24px;
    margin: 0 auto 20px;
    padding: 6px;
    color: #ddd;
    background: #b31717;
    border-radius: 4px;
    text-align: center;
}

/*	side or ad	*/
.inner {
    margin: 0 0 10px;
}
.plugin {
    margin-bottom: 10px;
    text-align: center;
}
.box {
    font-size: 14px;
    line-height: 18px;
    margin: 0 10px 10px;
    background: #fafafa;
    border: 1px solid #e6e6e6;
}
a.box {
    display: block;
    padding: 10px;
    text-align: center;
}
a.box.link {
    text-align: left;
    background: #fafafa;
    background-size: 14px 10px,16px 16px;
}
.box.text {
    padding: 10px;
}
.abox {
    background: #499dbe;
    padding: 10px;
}
.pbox, .p-box {
    padding: 10px 0;
    background: #eee;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14) inset;
    border-bottom: solid 1px #ddd;
    text-align: center;
}
.pr {
    margin: 10px auto;
    text-align: center;
    max-width: 300px;
}
.more_item-headline {
    font-size: 20px;
    font-weight: bold;
    padding: 8px 4px;
    color: #fff;
    background-color: #424242;
}
.dl_msg, .image_index {
    display: none;
}


/* ==== 記事DLボタン ==== */
.download a{
  color: #fff;
  display: block;
  width: 100%;
  height: auto;
  line-height: 44px;
  margin: 0px auto 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  padding: 6px 0;
}


.download{
  width: 260px;
  border-color: #ffffff;
  background-color: #fd0000;
  border-radius: 6px;
  margin: 40px auto 100px auto;
  text-align: center;
}

.download-thin a{
  color: #fff;
  display: block;
  width: 100%;
  height: auto;
  line-height: 44px;
  margin: 0px auto 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  padding: 6px 0;
}


.download-thin {
  width: 260px;
  border-color: #ffffff;
  background-color: #5471f3;
  border-radius: 6px;
  margin: 0 auto 12px auto;
  text-align: center;
}

/*	footer	*/
footer {
    /* margin-top: 10px; */
    font-size: 12px;
    text-align: center;
    line-height: 54px;
    color: #fff;
    padding: 10px 20px
}

.att-main {
    background-color: #fff;
}
.att-origin {
    font-size: 1px;
    line-height: 24px;
    padding: 16px 8px 16px 24px;
    position: relative;
}
.att-origin::before {
    content: '<';
    font-size: 13px;
    font-weight: 600;
    left: 8px;
    position: absolute;
    top: 18px;
}
.att-thumb {
    margin: 0;
}
.att-thumb figcaption {
    color: #333333;
    font-size: 16px !important;
    line-height: 28px !important;
    margin: 0 !important;
    padding: 0 8px;
}
.att-nav {
    display: flex;
    justify-content: space-around;
    padding: 24px 16px 32px;
}
.att-nav__post,
.att-nav__prev,
.att-nav__next {
    align-items: center;
    display: flex;
    font-size: 13px !important;
    line-height: 16px !important;
    height: 36px;
    margin: 0 !important;
}
.att-nav__post {
    background: linear-gradient(#fff, #eee);
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #2390c5;
    padding: 0 16px;
}
.att-nav__prev,
.att-nav__next {
    padding: 0;
}
.att-nav__prev::before {
    content: '<';
    font-size: 11px;
    font-weight: 600;
    margin-right: 8px;
}
.att-nav__next::after {
    content: '>';
    font-size: 11px;
    font-weight: 600;
    margin-left: 8px;
}
.att-gallery {
    background-color: #F5F5F5;
    padding: 0 16px;
}
.att-gallery .att-gallery__caption {
    color: #101010;
    font-size: 15px !important;
    font-weight: bold;
    line-height: 18px !important;
    margin: 0 !important;
    padding: 20px;
    text-align: center;
}
.att-gallery .att-gallery__images {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 30px;
}
.att-gallery .att-gallery__image {
    background-color: #DEDEDE;
    border-radius: 2px;
    border: solid 1px #D6D6D6;
    height: calc((100vw - (16px * 2) - (8px * 3)) / 4);
    width: calc((100vw - (16px * 2) - (8px * 3)) / 4);
}
.att-gallery .att-gallery__image--active {
    border: solid 1px #2390c5;
    position: relative;
}
.att-gallery .att-gallery__image--active::after {
    background-color: #DEDEDE;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0.6;
    position: absolute;
    right: 0;
    top: 0;
}
.att-gallery .att-gallery__image img {
    background-color: #FFFFFF;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.att-gallery .att-gallery__image + .att-gallery__image {
    margin-left: 8px;
}
.att-gallery .att-gallery__image:nth-of-type(n + 5) {
    margin-top: 8px;
}
.att-gallery .att-gallery__image:nth-of-type(4n + 1) {
    margin-left: 0;
}

.pickup .pickup-item-img {
    display: block;
    width: 42px;
    height: 42px;
    margin: 0 auto;
    object-fit: cover;
}

.rss-ai {
    /* display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly; */
    margin-bottom: 16px;
}
.rss-entrybox {
    /* width: calc(50% - 4px);
    margin-top: 3px; */
    margin: 0 16px;
}
.rss-entrybox + .rss-entrybox{
    margin-top: 16.11px;
}
.rss-entrybox img {
    vertical-align: bottom;
    object-fit: cover;
    width: 100%;
}

.content-description {
    /* margin: 20px 8px; */
}
.content-description p {
    font-size: 14px;
    line-height: 1.5;
    color: #fff;
}

.ranking-list__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 24px 20px 0;
    position: relative;
}

.ranking-list__nav:before {
    background-color: #247D9E;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
}

.ranking-list[data-ranking=daily] .ranking-list__tab[data-ranking=daily], .ranking-list[data-ranking=monthly] .ranking-list__tab[data-ranking=monthly], .ranking-list[data-ranking=weekly] .ranking-list__tab[data-ranking=weekly] {
    background-color: #fff;
    border: 1px solid #247D9E;
    color: #247D9E;
    position: relative;
}

.ranking-list__tab+.ranking-list__tab {
    margin-left: 16px;
}
.ranking-list__tab {
    background-color: #EEEEEE;
    border: 1px solid #EEEEEE;
    border-radius: 8px 8px 0 0;
    color: #848484;
    cursor: pointer;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    text-align: center;
    width: 30%;
    font-weight: 500;
    font-size: 20px;
    line-height: 40px;
}

.ranking-list[data-ranking=daily] .ranking-list__tab[data-ranking=daily]:before, .ranking-list[data-ranking=monthly] .ranking-list__tab[data-ranking=monthly]:before, .ranking-list[data-ranking=weekly] .ranking-list__tab[data-ranking=weekly]:before {
    background-color: #fff;
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
}
h1.area_title,
h2.area_title {
    background: #64758B;
    /* box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25); */
    font-weight: 700;
    font-size: 16px;
    line-height: 29px;
    color: #fff;
    /* border-radius: 8px; */
    /* text-align: center; */
    /* padding: 10px 20px; */
    margin: 8px;
}
.head-text {
    margin-bottom: 8px;
}
.ranking-list__head-text p,
.head-text p {
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #616161;
    margin: 0 16px;
}

.ranking-list[data-ranking=daily] .ranking-list__view[data-ranking=daily], .ranking-list[data-ranking=monthly] .ranking-list__view[data-ranking=monthly], .ranking-list[data-ranking=weekly] .ranking-list__view[data-ranking=weekly] {
    display: block;
    opacity: 1;
    -webkit-transition: width 0s .2s,opacity .2s .2s;
    transition: width 0s .2s,opacity .2s .2s;
    width: 100%;
}

.ranking-list__view {
    display: none;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    opacity: 0;
    -webkit-transition: opacity .2s,width 0s .2s;
    transition: opacity .2s,width 0s .2s;
    width: 0;
}

.ranking-list__view .rank-entrybox a {
    position: relative;
}

.ranking-list__head {
    margin-bottom: 8px;
}

.separate {
    height: 4px;
    width: 100%;
    background-color: #eee;
}

.category-list {
    margin: 16.48px 16px;
}
.category-list .area-title {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 19px;
    padding: 8px;
    background: #3d6cb9;
    color: #fff;
    font-weight: 300;
}
.category-list__main {
    display: flex;
    flex-wrap: wrap;
}
.category-list__main .category-list__item {
    width: 50%;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #bdbdbd;
    border-top: none;
}
.category-list__main .category-list__item:nth-child(2n) {
    border-left: none;
}
.category-list__main .category-list__item a {
    color: #227ea9;
    font-weight: 300;
    font-size: 16px;
    line-height: 19px;
}

.area_title + nav.pickup {
    margin-top: -8px;
}

.related-tags {
    margin: 16px 16px;
}
.related-tags a {
    font-size: 16px;
    display: block;
    margin-bottom: 6px;
    line-height: 1.5;
}

.related-articles ul {
    margin: 0 16px;
    display: flex;
    flex-wrap: wrap;
}
.related-articles ul img {
    max-height: 300px;
    object-fit: contain;
}
.related-articles ul li {
    width: calc(50% - 4px);
    margin-bottom: 8px;
}
.related-articles ul li:nth-child(even){
    margin-left: 8px;
}
.related-articles .related-post-title {
    font-size: 14px;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dmm-summary-text {
    font-size: 13px;
    margin: 0 4px;
}

.breadcrumb {
    background-color: #27393b;
    font-size: 12px;
    /* margin: 0px 8px; */
    padding: 8px;
    line-height: 1.3;
    color: #fff;
}
.breadcrumb a {
    color: #fff;
}

.head-tags-area {
    /* margin: 0 4px; */
    font-size: 15px;
    line-height: 1.5;
}
.head-tag-items a {
    display: inline-block;
    margin-bottom: 4px;
    margin-right: 4px;
}

.ranking--btn {
    background-color: #27393b;
    padding: 8px;
    margin: -8px 8px 8px 8px;
}
.ranking--btn .ranking-list__item{
    display: inline-block;
    margin: 4px;
    margin-right:0px;
}
.ranking--btn .ranking-list__item a{
    display: inline-block;
    padding: 0.4em 0.6em;
    text-align: center;
    cursor: pointer;
    font-size: 14px;
    line-height: normal;
    vertical-align: middle;
    border-radius: 3px;
    font-weight: bold;
    background-repeat: repeat-x;
    color: #fff;
    background-color: #a83f3f;
    text-decoration: none;
}

.header-bar {
    margin-bottom: 10px;
    text-align: center;
    padding: 12px;
    background-color: #27393b;
    line-height: 1.3;
}
.header-bar a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;

}
.header-bar a::before {
    content: '注目';
    display: inline-block;
    background: red;
    color: #fff;
    padding: 5px;
    border-radius: 4px;
    font-size: 12px;
    margin-right: 8px;
    vertical-align: bottom;
    line-height: 1;
}

/* 
form.searchform {
    position: relative;
    margin: 16px 8px;
}
  
.searchform {
    margin-bottom: 10px;
}
.searchform .s {
    background: #fff;
    padding: 11px 50px 11px 10px;
    width: 100%;
    font-size: 14px;
    border: 2px solid #ccc;
    box-sizing: border-box;
    border-radius: 8px;
}

input[type=submit].searchsubmit {
    position: absolute;
    border: none;
    top: 0;
    bottom: 0;
    right: 0;
    width: 45px;
    padding: 0;
    background: #64758B;
    background-size: 17px;
    background-color: #64758B;
    border-left: none;
    border-radius: 0 8px 8px 0;
    border: 1px solid #fff;
}

.hidden-checkbox {
    display: none;
}
.menu-content {
    display: none;
}
#menu-check:checked ~ .menu-content {
    display: block;
}
.menu-content {
    z-index: 99999;
    padding: 30px 10px;
    background: #64758B;
      border: 3px solid rgba(255,255,255,1);
    position: fixed;
    width: 240px;
    box-sizing: border-box;
    top: 45px;
    left: 30px;
    border-radius: 8px;
    color: #fff;
}
.menu-content__inner {
    display:flex;
    flex-flow: column;
}
.menu-content a {
    display: inline-block;
    margin: 0 5px 15px 10px;
    color: rgba(255,255,255,0.75);
    font-size: 15px;
    width: fit-content;
}
.menu-content h2 {
    margin-bottom: 20px;
}

#menu-check:checked ~ .drawer-overlay {
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.3);
    z-index: 9999;
}

#search-check:checked ~ .drawer-overlay {
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.3);
    z-index: 9999;
}
#header_search {
    display: none;
}
#search-check:checked ~ #header_search {
    display: block;
    margin: 10px;
    border-radius: 8px;
    z-index: 99999;
    padding: 30px 10px;
    background-color: #64758B;
    position: fixed;
    width: calc(100% - 20px);
    box-sizing: border-box;
    max-width: 500px;
    transform: translate(-50%,-50%);
    top: 50%;
    left: calc(50% - 10px);
    border: 3px solid rgba(255,255,255,1);
} */
.head-tags-area .head-tag-items.circle-tag a {
    background-color: #d04646;
}
.head-tag-items a {
    background-color: red;
    padding: 2px 4px;
    color: #fff;
    border-radius: 4px;
}

.related-sites {
    margin: 40px 8px 8px;
    padding: 8px;
    text-align: center;
}
.h-title .related-sites__title {
    font-size: 14px;
}
.related-sites a {
    color: rgba(255,255,255,0.75);
    padding: 4px;
    margin: 2px;
    display: inline-block;
    color: #fff;
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.page-main {
    padding: 10px;
    background-color: #27393b;
    box-sizing: border-box;
    min-height: 400px;
}
.page-main td {
    padding: 8px;
    border: 1px solid #fff;
}

.ranking-page .entrybox {
    counter-increment: article-ranking;
}
.ranking-page .entrybox a {
    position: relative;
}
.ranking-page .entrybox a:after {
    content: counter(article-ranking);
    line-height: 1;
    position: absolute;
    padding: 5px 10px;
    left: 0;
    top: 0;
    background: #313131;
    color: #fff;
    font-size: 1.1em;
    font-weight: 700;
}

.ranking-page .entrybox:nth-child(1) a:after {
    background: #ffe658
}
.ranking-page .entrybox:nth-child(2) a:after {
    background: #ccc
}
.ranking-page .entrybox:nth-child(3) a:after {
    background: #ff7925cc
}

#single-related-articles {
    margin-top: 40px;
}


.head-discription-text {
    padding: 8px;
    font-size: 11px;
    margin: 0 auto;
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    background-color: #27393b;
    line-height: 1.4;
    text-align: center;
}

.inner_box img {
    margin-top: 8px;
}


.rss-items {
    padding: 0;
    margin: 8px;
    border-radius: 8px;
    background-color: #27393b;
    box-sizing: border-box;
}
.rss-item > a {
    color: #fff;
}
.rss-items .rss-item {
    padding: 4px;
    box-sizing: border-box;
    border-bottom: solid 1px #fff;
}
.rss-items .rss-item:last-child {
    border-bottom: none;
}
.rss-item img {
    display: none;
}
.rss-item .rss-item__title {
    font-size: 14px;
    padding: 2px 0;
    line-height: 1.4;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}


body,html{
    margin: 0;
    background: #4c545e;
    font-family: Arial, Helvetica, sans-serif;
}
header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 50px;
    text-align: center;
    color: rgb(255,255,255,1);
    background-color: #0000005c;
    z-index: 9999;
}
header #site-title{
    line-height: 50px;
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    letter-spacing: 2px;
    color: #fff;
}
#site-title a {
    color: #fff;
}

/* top-slider
----------------------------------------------- */
#top-slider {
    display: none;
    padding: 30px;
    margin: 50px 0 50px 0;
    background-color: rgba(0,0,0,0.05);
    /* border-top: 1px solid #64758B;
    border-bottom: 1px solid #64758B; */
}
#top-slider .slick-prev:before, #top-slider .slick-next:before {
    color: rgba(255,255,255,1);
}
#top-slider .post-list-image {
    position: relative;
    width: 90%;
    margin: 0 auto 2px auto;
    padding-bottom: 67.5%;
    border-radius: 10px;
    overflow: hidden;
}
#top-slider .post-list-image img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#top-slider span {
    display: -webkit-box;
    width: 88%;
    height: 36px;
    margin: 0 auto;
    line-height: 18px;
    color: rgba(255,255,255,0.75);
    font-size: 13px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.h-title {
    position: relative;
    /* margin: 0 10px; */
}
.h-title h1,
.h-title h2,
.h-title h3 {
    margin-top: 4px;
    margin-bottom: 20px;
    color: rgba(255,255,255,1);
    font-size: 150%;
    font-weight: bold;
    line-height: 1.7;
}
.h-title a {
    position: absolute;
    right: 0;
    bottom: 5px;
    color: rgba(255,255,255,0.75);
    font-size: 90%;
    margin: 0 0 5px 0;
}
.h-title a::before {
    margin-right: 4px;
    color: #3EC7DE;
    /* font-family: 'FontAwesome'; */
    content: ">";
    font-weight: bold;
}


.tag-list .tag-list__inner {
    margin: 0 10px 55px;
}
.tag-list .tag-list__inner a {
    display: inline-block;
    margin: 0 15px 15px 0;
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
  
.tag-list .tag-list__inner a::before {
    color: #FFD700;
    font-weight: bold;
    content: "#";
}
.tag-list .tag-list__inner a span {
    margin-left: 2px;
    color: rgba(255,255,255,0.5);
    font-size: 10px;
}
.main {
    margin: 80px 20px 20px 20px;
}

.post-list {
    display: flex;
    margin: 0 -2% 16px -2%;
    flex-wrap: wrap;
}

#article-list {
    padding-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
}
.article-list {
    padding-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
}

article .main-img {
    margin-top: 20px;
    text-align: center;
}
article img {
    margin-bottom: 20px;
}
.article-description {
    margin-bottom: 20px;
    line-height: 1.6;
}

.page-h {
    text-align: center;
    margin:100px 20px 50px;
    line-height: 1.6;
}
h3 {
    font-family: 'M PLUS 1p', sans-serif;
    margin-bottom: -3px;
    color: rgba(255,255,255,0.5);
    font-size: 14px;
}
.page-h h1 {
    margin-bottom: -2px;
    /* margin-bottom: 20px; */
    color: rgba(255,255,255,1);
    font-size: 200%;
    font-weight: bold;
}
.page-h span {
    font-size: 90%;
    color: rgba(255,255,255,1);
}

/* レビューエリア */
.review-list {
  padding: 20px 0 0;
  max-width: 680px;
  margin: 0 auto 30px;
  background-color: #ebebeb;
  border-radius: 4px;
  color: #1f2937;
}

.review-title {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
  padding: 0 8px 12px 8px;
  line-height: 1.4;
}

.review-items {
  list-style: none;
  margin: 0;
}

.review-item {
  border-top: 1px solid #ddd;
  padding: 24px 24px 32px;
}

.review-body {
  font-size: 14px;
  line-height: 1.6;
}

.review-date {
  font-size: 12px;
  line-height: 1.5;
  color: #4b4b4b;
  float: right;
}


/* Q&Aエリア */
.qa-block {
  padding: 20px 20px 0;
  background: #fdfdfd;
  border: 1px solid #ddd;
  border-radius: 8px;
  max-width: 640px;
  margin: 0 auto 30px;
}

.qa-item {
  margin-bottom: 20px;
}

.qa-question {
  font-weight: bold;
  color: #bf0000;
  margin-bottom: 5px;
  font-size: 16px;
}

.qa-answer {
  color: #333;
  font-size: 15px;
  line-height: 1.6;
  padding-left: 1em;
}



/* details要素全体のスタイリング */
.details-qa {
    border: 1px solid #aaa;
    border-radius: 4px;
    padding: 20px;
    background-color: #f9f9f9;
    max-width: 640px;
    margin: 0 auto 30px;
    position: relative; /* 追加アイコンの位置指定のため */
}

/* summary要素のスタイリング */
.summary-qa {
    font-weight: bold;
    color: #333;
    cursor: pointer;
    outline: none; /* フォーカス時のアウトラインを削除 */
    list-style: none; /* デフォルトの三角形を非表示に */
    margin-left: 8px;
}

/* summary要素の疑似要素にカスタムアイコンを追加 */
.summary-qa::before {
    content: '▼';
    font-size: 16px;
    color: red;
    margin-right: 5px;
    position: absolute; /* 絶対位置指定 */
    left: 0; /* 左端から配置 */
    margin-left: 8px;
}

/* details要素が開いたときのsummaryのアイコンを変更 */
.details-qa[open] .summary-qa::before {
    content: '▲'; /* アイコンを変更 */
}

/* クリック可能な領域を示すためにマウスホバー時のスタイルを変更 */
.summary-qa:hover {
    background-color: #e8e8e8;
}

/* デフォルトのマーカーを消すための追加スタイル */
.details-qa summary::-webkit-details-marker {
    display: none;
}

.footer-text {
    line-height: 1.5;
}

.footer-links {
  color: #FFFFFF;
  margin-bottom: 12px;
}
.footer-links a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  vertical-align: baseline;
  color: #FFFFFF;
  margin: 0 6px;
}

.ads-300-250 {
    width: 300px;
    height: 250px;
    margin: 0 auto 12px;
}
.ads-336-280 {
    width: 336px;
    height: 280px;
    margin: 0 auto 12px;
}

.contens-base {
    margin: 20px 0;
    color: #FFF;
}
.admin-review {
    text-align: justify;
    line-height: 1.8;
    word-break: break-word;
    line-break: strict;
}

.content-description h2,
.admin-review h2 {
  font-size: 20px;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  /* color: #494949;文字色 */
  background: transparent;/*背景透明に*/
  border-left: solid 5px #7db4e6;/*左線*/
  margin-bottom: 16px;
  margin-top: 48px;
  line-height: 1.4;
}

.short-review-item {
  background: #fff;
  color: #000;
  padding: 8px;
  margin-bottom: 12px;
  border-radius: 4px;
}


.qa-table {
  max-width: 500px;
  border-collapse: collapse;
  margin: 20px auto;
  background: #ffffff; /* テーブル背景 */
  color: #333;         /* 通常文字色 */
  border: 1px solid #6a737d;
  font-size: 15px;
}

.qa-table th,
.qa-table td {
  border: 1px solid #6a737d;
  padding: 8px;
  word-break: break-word;
}

.qa-table th {
  width: 40%;
  background: #2e343b; /* 深いグレー背景 */
  color: #f1f1f1;      /* 白文字 */
  text-align: left;
}

.qa-table td {
  background: #ffffff; /* 読みやすい白地 */
  color: #333;         /* 黒い文字 */
}

.qa-table caption {
  margin-bottom: 10px;
  font-weight: bold;
  color: #ffffff;       /* 背景と馴染む白文字 */
}


.clamp {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.readmore-btn {
  margin-top: 10px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  background: #f0f0f0;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: block;
  margin: 10px auto 0;
}

.readmore-btn::after {
  content: " ▼";
  font-size: 12px;
}

.readmore-btn:hover {
  background: #e6e6e6;
}
