@charset "UTF-8";
/*----------------------------------------------------------------------------*/
@media screen and (min-width: 600px) {
	html{
		font-size: 20px!important;
        background: repeating-linear-gradient(-45deg, #ffe, #ffe 2px, #eee 2px, #eee 4px)!important;
	}
	body{
        width: 600px;
        margin: 0 auto!important;
		font-size: 1rem;
	}
}
@media screen and (max-width: 599px) {
	html{
		font-size: calc(100vw / 28);/* 30 */
	}
}
/*
html{
    font-size: 62.5%;
    height: 100%;
    margin: 0;
    padding: 0;
}
*/
body {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "メイリオ", "Meiryo", "Noto Sans Japanese", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1;
    word-wrap: break-word;
    height: 100%;
    margin: 0;
    padding: 0;
}
a{
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}
li{
    list-style:none;
}
img{
    vertical-align:top;
}
/* clearfix */
.cf::after {
    content: '';
    display: block;
    clear: both;
}
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    background-color: #ffffff;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote::before,
blockquote::after,
q::before,
q::after {
    content:'';
    content:none;
}

/*-----------------------------------
 カテゴリ
-----------------------------------*/
#categories ul {
    padding: 0 10px 0 10px;
}
#categories ul li {
    display: inline-block;
}
#categories ul li a {
    display: inline-block;
    margin-top: 10px;
    padding: 0 14px;
    font-size: 14px;
    height: 28px;
    line-height: 28px;
    border-radius: 14px 14px 14px 14px;
    background: #8fc31f;
    font-weight: bold;
    color: #fff;
}

/*-----------------------------------
 記事
-----------------------------------*/

.title_area {
    padding: 10px;
}
.title_area2 {
    padding: 16px 8px 12px 8px;
}

.article_date {
    margin-bottom: 0.1rem;
    font-size: 70%;
    color: #8d8d8d;
}

.article_title {
    font-weight: bold;
    font-size: 120%;
}



/* addition */
.title_area .article_title {
    line-height: 1.4;
}

.title_area2 .article_title {
    line-height: 1.4;
}

.article_title_row {
    line-height: 1.1;
}

.page_content {
    margin: 1.0rem 0.5rem;
    font-size: 1.0rem;
    line-height: 1.8;
}

.page_content a {
    text-decoration: underline;
}

.article_body {
    margin: 0;
    padding: 0;
}

.article_body h2, .article_body h3 {
    margin: 0 0 1rem 0;
    padding: 0.7rem 0.5rem;
    font-size: 1.05rem;
    font-weight: bold;
    color: #fff;
    background-color: #8fc31f;
    line-height: 1.5;
}

.article_body h4 {
    margin: 0 0.5rem 0.5rem 0.5rem;
    border-left: 0.5rem solid #8fc31f;
    padding: 0.4rem 0.5rem;
    font-weight: bold;
    color: #324851;
    line-height: 1.5;
}

.article_body h5 {
    margin: 0 0.5rem 0.5rem 0.5rem;
    border-bottom: 1px dotted #ccc;
    padding: 0.4rem 0;
    font-weight: bold;
    color: #324851;
    line-height: 1.5;
}

.article_body blockquote {
    margin: 1rem 0.5rem 1rem 0.5rem;
    padding: 0.7rem 0.7rem 0.7rem 2.0rem;
    /*border: 1px solid #bae19f;*/
    border: none;
    background-color:#F8FFEC;
    background-image: url(/sp/img/bg_quote.png);
    background-repeat: no-repeat;
    background-size : 1.2rem;
    background-position: 0.5rem 0.5rem;
    font-size: 0.95rem;
    border-radius: 0.1rem 0.1rem 0.1rem 0.1rem;
    line-height:1.6;
}

.article_body strong {
    font-weight: bold;
    color: #324851;
}

.article_body i {
    color: #777;
    font-style: italic;
}

.article_body  img {
    margin: 0.5rem 0.5rem!important;
    width: calc(100% - 1rem)!important;
    height: auto!important;
}

.article_body  p img {
    margin: 0 0!important;
    width: 100%!important;
}

.page_img_caption {
    padding: 0 0.5rem 0.5rem 0.5rem;
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.6;
    color:#555;
}

.page_img_caption a {
    text-decoration: underline;
}

.article_body .al-c {
    margin: 0.5rem 0.5rem 1rem 0.5rem;
    text-align:center;
}

.additional_meta {
    width: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: space-between;
}

.additional_meta > .meta_author {
    margin: 0;
    padding: 0.3rem 0.3rem;
    font-size: 0.85rem;
    color: #555;
}

.additional_meta > .meta_category {
    margin: 0;
    padding: 0.3rem 0.3rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    font-size: 0.85rem;
    font-weight: bold;
}

.meta_category > .category_label {
    padding: 0.4rem 0.7rem;
    background-color: #8fc31f;
    color: #fff;
    border-radius: 0.8rem 0.8rem 0.8rem 0.8rem
}
/* addition end */

.line_hr {
    margin: 0 0 0.8rem 0;
    height: 1px;
    line-height: 0;
    font-size: 0;
    border:none;
    border-bottom: 1px solid #ccc;
}

.article_contents {
    font-weight: bold;
    color: #000;
    font-size: 90%;
    line-height:140%;
}

.content_area {
    padding: 10px;
    margin-bottom: 15px;
    line-height: 25px;
}

.page_img {
    margin-bottom: 0.7rem;
}

.button_read li a {
    display: block;
    padding: 20px 10px;
    margin-top: 15px;
    background-color: #8fc31f;
    color: #fff;
    text-align: center;
}

.button_stamp li a {
    display: block;
    padding: 20px 10px;
    margin-top: 15px;
    background-color: #ff3366;
    color: #fff;
    text-align: center;
}

.already_read {
    display: block;
    padding: 10px 10px;
    margin-top: 15px;
    background-color: #4d8019;
    color: #ffffff;
    text-align: center;
}

.no_data {
    padding: 10px;
    font-size: 120%;
    text-align: center;
    line-height: 1.5;
}

.font_bold {
    font-weight: bold;
}

.article_header {
    padding: 10px 10px 8px 10px;
    border-bottom: 3px solid #F8CA00;
}

#article_btn_home {
    position: absolute;
    right: 20px;
}

.new_list_bar {
    display: block;
    margin-top: 10px;
    padding: 0.4rem;
    background-color: #4d8019;
    color: #fff;
    text-align: center;
    font-weight: bold;
}

.loading {
    text-align: center;
    padding: 10px;
}

@media screen and (min-width: 600px) {
    .title_area2 {
        padding: 0.7rem 0.7rem 0.7rem 0.7rem!important
    }
    .page_content {
        margin: 1.0rem 0.7rem!important;
    }
    .article_body h2, .article_body h3 {
        padding: 0.7rem 0.7rem!important;
    }
    .article_body h4 {
        margin: 0 0.7rem 0.7rem 0.7rem!important;
    }
    .article_body h5 {
        margin: 0 0.7rem 0.7rem 0.7rem!important;
    }
    .article_body blockquote {
        margin: 1rem 0.7rem 1rem 0.7rem!important;
    }
    .article_body  img {
        margin: 0.7rem 0.7rem!important;
        width: calc(100% - 1.4rem)!important;
    }
    .page_img_caption {
        padding: 0 0.7rem 0.7rem 0.7rem;
    }
    .article_body .al-c {
        margin: 0.7rem 0.7rem 1rem 0.7rem;
    }
}
/*-----------------------------------
 Top
-----------------------------------*/
.header_banner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.header_banner > img,
.explain_img img {
    margin: 0;
    padding: 0;
    border: none;
    vertical-align:top;
}

.header_return {
    position: absolute;
    top: 4.2vw;
    right: 3vw;
}

.header_return2 {
    position: absolute;
    top: 4vw;
    right: 2vw;
}

.article_top a {
    color: #000000;
}

.article_img {
    margin-bottom: 5px;
}

#article_area ul {
    width: 100%;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    justify-content: center;
}

#article_area li {
    margin: 0.2rem;
    margin-bottom: 0.35rem;
    list-style-type:none;
    width: 47%;
    min-height: 6rem;
    font-weight: bold;
    font-size: 90%;
}

#article_area li a {
    color: #000000;
}

#page_article_area ul, #page_article_area2 ul {
    width: 100%;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    justify-content: center;
}

#page_article_area li, #page_article_area2 li {
    margin: 0.2rem;
    margin-bottom: 0.35rem;
    list-style-type:none;
    float: left;
    width: 47%;
    min-height: 6rem;
    max-height: 31%;
    font-weight: bold;
    font-size: 90%;
    overflow: hidden;
}

#page_article_area li:nth-child(2), #page_article_area2 li:last-child {
    max-height: 31%;
    overflow: hidden;
}

#page_article_area li a, #page_article_area2 li a {
    color: #000000;
}

.company {
    float: left;
    width: 100%;
    height: 25px;
    padding-top: 15px;
    background-color: #8fc31f;
    font-size: 80%;
    text-align: center;
}

.company.recommend {
    background-color: #4d8019;
}

.company a {
    color: #fff;
}

.backtop {
    background-color: #8fc31f;
}

.backtop a {
    padding:20px 10px;
    display:block;
    color: #fff;
    text-align: center;
}

.copyright {
    float: left;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #324851;
    font-size: 50%;
    text-align: center;
    color: #fff;
}

.terms {
    padding: 10px 4px;
    font-size: 0.8rem;
    text-align: center;
    background: #648b1c;
    border-bottom: 1px solid rgba(255,255,255, 0.5);
}

.terms a {
    color: #fff;
}

.terms.error {
    width: 100%;
    position: fixed;
    bottom: 0;
}

/*-----------------------------------
 ポン太Top
-----------------------------------*/

.pon {
    position: relative;
    background-color: #8fc31f;
    width: 100%;
    min-height: 100%;
    display:flex;
    flex-direction:column;
}

.content {
    flex:1;
}

.pon_header_banner {
    background-image: url(/sp/img/ponta/header.png);
    background-position: center center;
    background-repeat: no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    width: 100%;
    height: 60px;
}

#pon_back_img {
    float:right;
    text-align:right;
    margin:10px;
}

.top_line_hapa {
    padding: 20px 5px 20px 5px;
    vertical-align: middle;
    text-align:center;
    background-color: #7DCDF3;
}

.pon > .content {
    background-color: #7DCDF3;
}

.top_hapa {
    font-size: 95%;
    background-color: #ffffff;
    padding: 8px 3px;
    border: 3px solid #005925;
    border-radius: 5px;
    color: #220000;
    font-weight: bold;
}

.top_font_green {
    font-size: 125%;
    color: #005925;
}

.top_font_red {
    color: #ee4f4d;
}

.top_btn_history {
    margin-left: 10px;
    display: inline-block;
    width: 35%;
    vertical-align:middle;
}

.top_btn_history img {
    width:100%;
}

.top_btn_news {
    padding: 10px;
    margin: 0px 10px 15px 10px;
    background-color: #ff0000;
    padding: 5px;
    border-radius: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align:center;
}

#pon_article_area {
    background-color: #c1de67;
    padding-bottom:30px;
}

#pon_article_area a {
    color: #000000;
}

#pon_article_area2 {
    background-color: #c2dc6e;
    padding-bottom:30px;
}

#pon_article_area2 p {
    margin-right:10px;
    margin-left:10px;
    margin-bottom:20px;
    font-size: 75%;
    font-weight: bold;
}

.pon_article_inner {
    background-color: #FFFFFF;
    margin:0px 5px 1px 5px;
    padding:5px 0px 5px 5px;
}

.pon_article_inner a {
    width: 100%;
    box-sizing: border-box;
    padding: 0.2rem 0.3rem 0.2rem 0.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pon_article_area_t {
    display: inline-block;
    vertical-align:top;
    width:65%;
}

.pon_article_area_i {
    display: inline-block;
    align:right;
    vertical-align:middle;
    width:30%;
}

.pon_article_area_i img{
    width:100%;
}

.pon_article_area p {
    margin: 2%;
    list-style-type:none;
    width: 46%;
    height: 160px;
    font-weight: bold;
    font-size: 90%;
}

.pon_footer_list {
    width: 100%;
    height: 25px;
    padding-top: 15px;
    background-color: #99CC00;
    border-top: 2px solid #000000;
    font-size: 80%;
    text-align: left;
}

.pon_footer_list a {
    color: #000000;
    font-weight: bold;
}

/*-----------------------------------
 ポン太FAQ
-----------------------------------*/

#ponfaq_article_area {
    background-color: #8fc31f;
    padding:10px 10px 10px 10px;
}

#ponfaq_article_area p {
    margin: 2%;
    list-style-type:none;
    text-align:center;
    font-weight: bold;
    font-size: 100%;
}

#ponfaq_article_area a {
    color: #000000;

}

#ponfaq_article_container {
    background-color: #c2dc6e;
    border-radius: 3px;       /* 角丸の指定 */
    margin:10px 10px 10px 10px;
    padding:15px 15px 15px 15px;
}

.ponfaq_article_inner {
    background-color: #CC9900;
    border-radius: 3px;       /* 角丸の指定 */
    margin:1px 1px 15px 1px;
    padding:1px 1px 1px 1px;
}

.ponfaq_article_inner_q {
    background-color: #FFFFCC;
    border-top-left-radius: 3px;     /* 左上 */
    border-top-right-radius: 3px;    /* 右上 */
    padding:5px 5px 5px 5px;
    font-weight: bold;
    font-size: 88%;

}

.ponfaq_article_inner_a {
    background-color: #FFFFFF;
    border-bottom-left-radius: 3px;  /* 左下 */
    border-bottom-right-radius: 3px; /* 右下 */
    margin-top:1px;
    padding:5px 5px 5px 5px;
    font-size: 85%;
}

.ponfaq_article_inner_q_i {
    display: inline-block;
    align:right;
    vertical-align:middle;
    width:8%;
}

.ponfaq_article_inner_q_t {
    display: inline-block;
    vertical-align:top;
    width:89%;
}

.ponfaq_article_inner_a_i {
    display: inline-block;
    margin-top:5px;
    align:right;
    vertical-align:middle;
    width:8%;
}

.ponfaq_article_inner_a_t {
    display: inline-block;
    margin-top:5px;
    vertical-align:top;
    width:89%;
}

.ponfaq_inquiry {
    position: relative;
    text-align:center;
    width: 100%;
    margin-top:50px;
    margin-bottom:120px;

}

/*-----------------------------------
 ポンタおしらせ
-----------------------------------*/

.pon_news_title {
    background-color: #FFFFCC;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding:5px 5px 5px 5px;
    font-weight: bold;
    font-size: 88%;

}

.pon_news_content {
    background-color: #FFFFFF;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    margin-top:1px;
    padding:10px;
    font-size: 85%;
}


/*-----------------------------------
 ポンタフッター
-----------------------------------*/
.pon_footer_area {
    width: 100%;
}

.pon_footer_list:before {
  margin-left: 10px;
  content: '';
  display: inline-block;
  width: 8px;
  height: 10px;
  background-image: url(/sp/img/ponta/arrow.png);
  background-size: contain;
  vertical-align: middle;
}

.pon_copyright {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #663300;
    border-top: 2px solid #000000;
    font-size: 50%;
    text-align: center;
    color: #FFFFFF;
}

/*-----------------------------------
 スタンプ履歴
-----------------------------------*/

.history_explain {
    margin-top:15px;
    background-color: #7DCDF3;
    padding:5px;
}

.history_explain p {
    margin-right:10px;
    margin-left:10px;
    font-size: 65%;
}

.history_title {
    width: 100%;
    text-align:center;
    background-color: #009900;
    color:#ffffff;
    font-size: 100%;
    font-weight: bold;
    padding-top:10px;
    padding-bottom:10px;
    border-bottom: 3px solid #006600;
}

.history_form {
    margin-top:5px;
    padding: 5px;
}

.history_btn_search {
    margin-left: 15px;
    display: inline-block;
    width: 20%;
    vertical-align: middle;
}

.history_btn_search img {
    width: 100%;
}

.history_log_area {
    padding-bottom:10px;
    background-color: #7DCDF3;
}

.history_log_inner {
    height :30px;
    line-height: 30px;
    padding:2px 0px 2px 5px;
}

.history_log_time {
    display:inline-block;
    width:25%;
}
.history_log_time p {
    font-size:0.7rem;
    color: #8d8d8d;
}

.history_log_title {
    display:inline-block;
    align:right;
    width:70%;
}
.history_log_title p {
    font-weight: bold;
    font-size: 75%;
}

.history_none {
    font-size: 80%;
}

.history_btn_point {
    width:100%;
    text-align:right;
    background-color: #7DCDF3;
}
.history_btn_point img {
    width:40%;
    margin-right:10px;
    margin-bottom:10px;
}

/*-----------------------------------
 問合せ
-----------------------------------*/
.inquiry_explain {
    background-color: #7DCDF3;
    padding:5px;
}

.inquiry_explain p {
    margin-right:10px;
    margin-left:10px;
    font-size: 75%;
    padding-bottom:10px;
}

.inquiry_title {
    font-weight:bold;
    text-align:center;
    margin:10px 0px;
}

.inquiry_form {
    margin-top:15px;
    padding:5px;
}

.inquiry_value {
    margin-bottom:10px;
}

.inquiry_error {
    padding:10px;
    color:#ff0000;
}

.mail_field {
    width:100%;
    margin-bottom:5px;
}

.title_field {
    width:100%;
    margin-bottom:5px;
}

.content_field {
    width:100%;
    margin-bottom:5px;
}

.rule {
    font-size: 80%;
}

.box_privacy {
    margin-bottom:15px;
    width:100%;
    text-align:center;
    padding:10px 0px;
}
.box_privacy label {
    font-weight: bold;
}

.confirm_col {
    font-weight: bold;
}

.confirm_input {
    margin-left:3px;
    margin-bottom:5px;
}

.confirm_area {
    font-size: 100%;
    background-color: #ffffff;
    padding: 5px;
    border: 1px solid #ffffff;
    border-radius: 5px;
}

.inquiry_btn_back {
    width: auto;
    padding:0;
    margin:0;
    background:none;
    border:0;
    outline:none;
}

.inquiry_btn_confirm_area {
    width: 100%;
    margin-top:10px;
    margin-bottom:20px;
}

.inquiry_btn_confirm {
    width: auto;
    padding:0;
    margin:0;
    background:none;
    border:0;
    outline:none;
}

.space_area {
    width: 100%;
    margin-top:15px;
    margin-bottom:20px;
}

.inquiry_com {
    margin:10px 10px 50px 10px;
    padding:10px;
    background-color: #ffffff;
    border: 1px solid #000000;
    border-radius: 5px;
}

.inquiry_btn_top {
    width:60%;
    padding-left:20%;
    margin:0;
    background:none;
    border:0;
    outline:none;
}

/*-----------------------------------
 プライバシーポリシー
-----------------------------------*/
.privacy_inner {
    background-color: #CC9900;
    border-radius: 3px;
    margin-top:5px;
    padding:1px;
}

.privacy_corner {
    background-color: #FFFFCC;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding:5px 5px 5px 5px;
    font-weight: bold;
    font-size: 88%;

}

.privacy_content {
    background-color: #ffffff;
    margin-top:1px;
    padding:4px;
    font-size: 70%;
}

/*-----------------------------------
 スタンプ
-----------------------------------*/

.body_stamp {
    height: 100%;
    background-image: url(/sp/img/back.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin: 0;
}

.content_stamp {
    min-height: 100%;
}

.content_inside {
  padding: 0.1px;
}

.comp_get {
    position: absolute;
    top: 0px;
}

.comp_get img {
    width: 100%;
}

.img_stamp {
    margin-top:50px;
}

.img_stamp img {
    width: 100%;
}

.ad_area_stamp {
    margin: 10px auto;
    padding-left: auto;
    padding-right: auto;
    width: 100%;
    text-align: center;
}

.btn_area {
    margin-top: 10px;
    text-align: center;
    left: 0;
    right: 0;
}

.btn_area img {
    width: 90%;
}

.btn_com {
    margin-top: 18px;
    /*padding-bottom: 20px;*/
    text-align: center;
    left: 0;
    right: 0;
}

.btn_com img {
    width: 90%;
}

.copyright_stamp {
    height: 25px;
    margin-top: -25px;
    line-height: 25px;
    width: 100%;
    background-color: #324851;
    font-size: 50%;
    text-align: center;
    vertical-align: middle;
    color: #fff;
}

/*-----------------------------------
 ネイティブ広告用CSS
-----------------------------------*/
.ntv-box {
  border-bottom: 1px solid #eee;
  display: table;
  width: 100%;
}
.ntv-img,
.ntv-text {
  display: table-cell;
  vertical-align: middle;
}
.ntv-img img {
  width: 100px;
  margin: 5px;
}
.ntv-pr {
  color: #fff;
  font-size: 10px;
  padding: 0 5px;
  text-align: righ; 
}
.ntv-text h2 {
  color: #000;
  font-size: 14px;
  line-height: 1.4;
  margin-right: 10px;
}

/* ad_area addition */
.ad_area, .ad_area2 {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-box-pack: center;
    padding: 15px 0 15px 0;
}

.ad_area {
    padding: 20px 0 20px 0;
}

.ad_area3, .ad_area4, .ad_area5, .ad_area6, .ad_area7, .ad_area8, .ad_area9, .ad_area10, .ad_area11, .ad_area12, .ad_area13, .ad_area14, .ad_area15, .ad_area16 {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-box-pack: center;
    padding: 15px 0 15px 0;
}

.ad_block {
    width: 100%!important;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* tabs */
.category_tabs {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color:#c2dc6e;
    border-top: 2px solid #ddd;
    border-bottom: 5px solid #c2dc6e;
}

.category_tabs.ponta {
    background-color:#c2dc6e;
    border-bottom: 5px solid #c2dc6e;
}

.tab {
    position: relative;
    margin: 0 1.5% 0 1.5%;
    width: 45%;
    height: 2.4rem;
    display: block;
    border-radius: 0 0 8px 8px;
}

.tab > a {
    display: flex;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-box-pack: center;
    align-items: center;
    height: 2.4rem;
    font-size: 1rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}

.tab > a > img {
    margin-right: 0.2rem;
}

.entame_tab {
    background-color: #33ccff;
}

.entame_tab > a {

}

.life_tab {
    background-color: #8fc31f;
}

.life_tab > a {

}

.trepy_tab {
    background-color: #ff9d39;
}

.trepy_tab > a {

}


.badge {
    position: absolute;
    top: 25%;
    left: 5px;
}

.badge-new {
    padding: 4px 3px 3px 3px;
    background-color: #e00;
    border: 1px solid #fff;
    font-size: 0.6rem;
    font-weight: bold;
    color: #fff;
    border-radius: 8px 8px 8px 8px;
}

/* animate */
.enlarge {
  animation-name: bigger;
  animation-duration: 2.0s;
  animation-iteration-count:infinite;
  animation-timing-function:ease-in-out;
  animation-direction: alternate;
  animation-delay: 0s;
}

@keyframes bigger {
  0% {
    transform: scale(1.0, 1.0);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.1, 1.1);
    opacity: 1.0;
  }
  100% {
    transform: scale(1.0, 1.0);
    opacity: 0.7;
  }
}

.check {
  animation-name: blink;
  animation-duration: 2.0s;
  animation-iteration-count:infinite;
  animation-timing-function:ease-in-out;
  animation-direction: alternate;
  animation-delay: 0s;
}

@keyframes blink {
    0% {
        opacity: 1.0;
    }
    100% {
        opacity: 0.7;
    }
}

/* message */
.head-message {
    margin: 0 0;
    padding: 8px 10px;
    text-align: center;
    background: #324851;
}

.head-message a {
    color: #fff;
    font-size: 14px;
}

.ad_area {
    width: 100%;
    padding-left: auto;
    padding-right: auto;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.ad_area2 {
    width: 100%;
    padding-left: auto;
    padding-right: auto;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* infomation */
.info-container {
    margin : 3vw 3vw;
    padding : 4.5vw 3.5vw 3.5vw 4vw;
    background-color: rgba(255,255,255, 0.85);
    border-radius: 8px 8px 8px 8px;
}

.info-title {
    margin-bottom: 1.4rem;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
}

.info-content {
    margin-bottom: 0.7rem;
    font-size: 0.9rem;
    line-height: 1.6;
}

.info-caption {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: right;
}

.info-subtitle {
    padding-top: 1rem;
    padding-bottom: 0.7rem;
    margin-bottom: 1rem;
    font-size: 1.0rem;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}

.info-list {
}

.info-list li {
    margin-left: 1.5rem;
    margin-bottom: 0.7rem;
    list-style-type: decimal;
    list-style-position: outside;
    line-height: 1.6;
    font-size: 0.9rem;
}

.article_body i, .italic {
    font-style: italic;
    font-weight: bold;
    color: #999;
}

.article_body em, .red {
    color: #e00;
    font-style: normal;
}

.article_body .blue {
    color: #107ee6;
}

.article_body .green {
    color: #1e8208;
}

.article_body u, .underline {
    text-decoration: underline;
}

.article_body table {
    margin: 1rem 0.7rem;
    width: calc(100%-1.4rem)!important;
    box-sizing: border-box;
    border-collapse: collapse;
}

.article_body p table  {
    margin: 1rem 0;
    width: 100%!important;
}
.article_body table th {
    background-color: #eee;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ccc;
    padding: 0.3rem 0.4rem;
    font-size: 0.9rem;
    line-height: 1.6;
}

.article_body table td {
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 0.3rem 0.4rem;
    font-size: 0.9rem;
    line-height: 1.6;
}

.article_body table p {
    margin: 0;
    padding: 0;
}

.article_body ol, .article_body ul {
    margin: 1rem 0.7rem;
    list-style-position: outside;
}

.article_body ol li {
    margin-left: 1.1rem;
    padding: 0.4rem 0;
    line-height: 1.5;
    list-style-type: decimal;
}

.article_body ul li {
    margin-left: 1.1rem;
    padding: 0.4rem 0;
    line-height: 1.5;
    list-style-type: disc;
}

.article_body blockquote p {
    margin-top: 0;
    margin-bottom: 0.7rem;
    line-height: 1.6;
}

.article_body blockquote p:last-child {
    margin-bottom: 0;
}

.article_body blockquote ol,
.article_body blockquote ul {
    margin-top: 0;
    margin-bottom: 0;
}

blockquote.tiktok-embed, blockquote.instagram-media {
    margin: 0;
    padding: 0;
    border: none;
    background-color: #fff;
    background-image: none;
}

/*-----------------------------------
 Geniee Native Add
-----------------------------------*/
.yads_ad_desc {
    margin-top: 0.2rem;
    color: #555;
}

.yads_ad_img {
    margin-bottom: 0.5rem;
    border: 1px solid #b6cccb;
}

.page_baloon {
    display: flex;
    justify-content: flex-end;
    padding: 0.5rem 0.5rem;
    position: relative;
    bottom: 0;
    right: 0;
    background: #555;
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
}

.margin-w {
    margin-left: 0.5rem!important;
    margin-right: 0.5rem!important;
    padding-bottom: 0.5rem;
    font-size: .8rem;
    text-align: center;
    color:#777;
}

.article_body > div.twitter-tweet {
    margin-left: 0.5rem!important;
    margin-right: 0.5rem!important;
    width: calc(100% - 1rem)!important;
}

.margin-w  iframe {
    width: 100%!important;
}

.margin-w  iframe[title="YouTube video player"] {
    width: 100%!important;
    height: 56vw!important;
}

.margin-t {
    margin-top: 1rem!important;
}

.quick_center {
    margin-left: 0.5rem!important;
    margin-right: 0.5rem!important;
    text-align: center;  
}

/* monetatsu */
.box_style {
    margin: 1rem 0.7rem;
}

.box_style_gray {
    background-image: linear-gradient(-45deg,#fff 25%,#999 25%,#999 50%,#fff 50%,#fff 75%,#999 75%,#999);
}

.box_style_gray .box_inner {
    background-color: #fafafa;
}

.box_style_blue, .box_style_green, .box_style_orange, .box_style_red, .box_style_pink, .box_style_yellow, .box_style_gray {
    margin-bottom: 1rem;
    padding: .5rem .5rem;
    background-size: 4px 4px;
    background-repeat: repeat;
}

.box_style_title {
    margin: .2rem 0 .2rem -.5rem;
    color: #fff;
    line-height: 1.4;
}

.box_style_gray .list_style02 li:before, .box_style_gray .box_style_title span {
    background-color: #999;
}

.genre_box {
    display: inline-block;
    margin-left: 0.5rem;
    padding:0.25rem 0.2rem 0.2rem 0.2rem;
    width: 3.5rem;
    vertical-align: middle;
    font-size: 0.7rem;
    font-weight: bold;
    color: #fff;
    border-radius: 0.4rem 0.4rem 0.4rem 0.4rem;
    border: none;
    box-sizing: border-box;
    text-align: center;
    line-height: 1;
}

.genre_box.entame {
    background: #33ccff;
}

.genre_box.life {
    background: #8fc31f;
}

.genre_box.trend {
    background: #ff9d39;
}

.entame_tab {
    background-color: #33ccff;
}

.line-yellow {
    background: linear-gradient(transparent 50%,#fff499 50%);
}

.line-pink {
    background: linear-gradient(transparent 50%,#f7c2e1 50%)
}

.line-lime {
    background: linear-gradient(transparent 50%,#aae59e 50%);
}

.quick-simple-square-block,
.quick-square-block,
.quick-circle-square-block {
    margin : 0.5rem 0.5rem 1rem 0.5rem!important;
    padding: 0.1rem 0.3rem!important;
}

.stamp_status {
    box-sizing: border-box;
    width:100%;
    height: 16.5vw;
    display: flex;
    background-size: 100%;
    background-repeat: no-repeat;
    align-items: flex-start;
    justify-content: space-between;
}

.stamp_remain {
    box-sizing: border-box;
    margin-top:2.5vw;
    margin-left:4.7vw;
    padding-left:14.5vw;
    width: 47.5vw;
    height: 8.6vw;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    align-items: center;
    font-weight: bold;
    font-size: 1.0rem;
}

.stamp_history_button {
    box-sizing: border-box;
    margin-top:2.5vw;
    margin-right:4.7vw;
    width: 39.4vw;
    height: 8.6vw;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    align-items: center;
}

.stamp_history_button > img {
    object-fit:contain!important;
    object-position: 50% 50%;
}

.custom-table {
    display:block;
    max-width: calc(100%-1.4rem)!important;
    white-space: nowrap;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

.af_box {
    box-sizing:border-box;
    margin: 0.7rem;
    padding: 0.5rem 0.7rem 0.7rem 0.7rem;
    border: 1px solid #ccc;
    border-radius: 0.4rem;
    background-color: #fff;
}

.af_box_left {
    text-align: center;
}

.af_box_left img {
    width: 50%!important;
}

.af_box_right {
   font-size: 0.9rem;
   line-height: 1.5;
}

.af_box_link_amazon,
.af_box_link_rakuten {
    margin-top: 0.7rem;
    padding:0.5rem;
    text-align: center;
    border-radius: 0.2rem;
}

.af_box_link_amazon {
    background-color: orange;
}

.af_box_link_rakuten {
    background-color: #dc143c;
}

.af_box_link_amazon a,
.af_box_link_rakuten a {
    display:block;
    object-fit: fill;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}

.af_box_right b {
    margin-bottom: 0.5rem;
}

.af_box_right span {
    font-size: 0.8rem;
    color: #777;
}

.af_review-title {
    color: #333;
    line-height: 1.4;
    font-weight: bold;
    padding-bottom: 0.7rem;
}

.review-count {
    display: none;
}

.af_review-price {
    color: #dc143c;
    font-weight: bold;
    padding-bottom: 0.7rem;
}

.af_link-btn.rakuten {
    width: calc(100%-1.4rem);
    padding: 0.7rem;
    text-align: center;
    color: #fff;
    background-color: #dc143c;
    font-weight: bold;
}

/* iid */
.link-card {
    margin: 0.7rem 0.5rem;
    padding: 0.7rem 0.7rem;
    border: 1px solid #ddd;
    background: #f7f7f7;
}

.link-card a {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.link-card-title {
    width: 100%;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.3;
    text-decoration: none;
    color: #333;
    margin-bottom: 0.3rem;
}

.link-card-image {
    width: 25%;
    min-height: 63px;
}

.link-card-image img {
    margin: 0!important;
    padding : 0;
    width: 100%!important;
}

.link-card-cap {
    margin-left: 0.5rem;
    width: 70%;
    height: 63px;
    font-size: 0.85rem;
    color: #777;
    overflow: hidden;
    line-height: 1.2;
}

.link-card-url {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-top: 0.5rem;
    align-items: center;
}

.link-card-urltxt {
    display: block;
    width: 70%;
    font-size: 0.85rem;
    overflow: hidden;
    white-space: nowrap;
}

.link-card-btn {
    width: 25%;
    display: block;
    margin-left: 0.5rem;
    padding: 0.3rem 0.5rem;
    color: #fff;
    background: #000;
    font-size: 0.85rem;
    text-align: center;
}