@charset "utf-8";
/*------------------------------------------------------------------
    * site name : チャンスイットSP
    * description : 懸賞TOP＋一覧＋詳細（アプリ版は別）
    * last update : 2026/08/27 a-yamamoto
-------------------------------------------------------------------*/

/* common
---------------------------------------- */
body{
    background-color: #fff;
    background-image: none;
    font-family: 'Hiragino Kaku Gothic Pro', "Helvetica";
    line-height: 1.3;
    -webkit-text-size-adjust: none;
}
a {
    text-decoration: none;
}
img {
    box-sizing: border-box;
    vertical-align: bottom;
}
/* -- もっとみるボタン loading --*/
.loading {
    background: #fff;
    color: #555;
    display: block;
    box-shadow: 0px 1px 3px #cec4b9;
    border-radius: 5px;
    padding: 10px 0;
    margin: 0 38px 10px;
}

/* もっと見るボタン */
.more_txt,
.more {
    width: 100%;
    display: block;
    position: relative;
    box-sizing: border-box;
    border: solid 1px #E2E2E2;
    border-radius: 20px;
    background-color: #fff;
    padding: 10px 20px;
    box-shadow: 0 1px 3px #D9C9B1;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    color: #555;
}
.more_txt::before,
.more_txt::after,
.more::before,
.more::after {
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    content: '';
    width: 9px;
    height: 2px;
    background: #FFAB47;
    border-radius: 4px;
}
.more_txt::before ,
.more::before {
    margin-top: -4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.more_txt::after,
.more::after {
    margin-top: 2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 懸賞検索 */
.search_present {
    margin-top: 15px;
}

/* スワイプナビゲーション */
.snavi {
    background-color: #FDF4E7;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* 当選者数・締切・ポイント */
/* murecho-regular - japanese */
@font-face {
    font-display: swap;
    font-family: 'Murecho';
    font-style: normal;
    font-weight: 400;
    src: url('../../../fonts/murecho-v17-japanese-regular.woff2') format('woff2');
}
/* murecho-700 - japanese */
@font-face {
    font-display: swap;
    font-family: 'Murecho';
    font-style: normal;
    font-weight: 700;
    src: url('../../../fonts/murecho-v17-japanese-700.woff2') format('woff2');
}
.winner {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    background: url("../../img/present/ico_present.gif") no-repeat 0 4px;
    background-size: 15px 15px;
    padding: 3px 0 0 17px;
    word-break: break-all;
    text-align: left;
    line-height: 1.1;
    font-family: 'Murecho';
    font-weight: 700;
    font-size: 16px;
    color: #FF5555;
}
.winner_large {
    background-size: 20px 20px;
    padding: 6px 0 2px 22px;
    font-size: 18px;
}
.enddate {
    display: inline-block;
    box-sizing: border-box;
    border-radius: 16px;
    padding: 5px 8px;
    line-height: 1.0;
    font-family: 'Murecho';
    font-weight: 400;
    font-size: 12px;
    white-space: nowrap;
    background-color: #FF5555;
    color: #fff;
}
.point {
    line-height: 1.1;
    font-family: 'Murecho';
    font-weight: 700;
    color: #FF5555;
}

/* 新規会員登録導線 */
.bnr_register_cp {
    display: block;
    box-sizing: border-box;
    background-color: #FDF4E7;
    padding: 10px 10px 20px;
}
.bnr_register_cp img {
    width: 100%;
    vertical-align: bottom;
    border-radius: 6px;
    border: #ffe788 1px solid;
}

/* -----------------------------------------------
    懸賞TOPページ
----------------------------------------------- */
/* heading
---------------------------------------- */
h1 {
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    color: #555
}
h2 {
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    color: #555
}

/*  rotation
---------------------------------------- */

#present .rotation {
    background-color: #FDF4E7;
}

/* 検索窓 search_box
---------------------------------------- */
#present section.search_box {
    background: #fff;
    margin: 8px 0 18px;
}
section.search_box form {
    display: table;
    float: left;
    padding: 0 5px 0 10px;
    width: 80%;
}
section.search_box form .word_input {
    display: table-cell;
    vertical-align: top;
    width: 100%;
}

section.search_box input[type="text"] {
    width: 100%;
    vertical-align: middle;
    line-height: 16px;
    padding: 12px 7px 7px 7px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #bebebe;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
    text-align: left;
    color: #555;
}
section.search_box input[type="submit"] {
    width: 60px;
    height: 40px;
    vertical-align: middle;
    line-height: 16px;
    display: table-cell;
    margin-left: 5px;
    padding: 7px 0;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    border: none;
    background: #FFAB47;
    overflow: visible;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size:  16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}

/* ドロワーメニュー　条件・賞品カテゴリ
---------------------------------------- */
#present p.naviMenu2 {
    border-left: 1px dotted #ccc;
    padding: 2px 0;
}
#present .slideMenu2 h2 {
    background: #6C6C6C;
    color: #fff;
    margin-bottom: 0;
    padding: 6px 10px;
    font-size: 14px;
}
#present .slideMenu2_list > li {
    width: 100%;
    text-align: left;
}
#present .slideMenu2_list > li.active {
    background: #fff8d6;
    font-weight: bold;
}
#present .slideMenu2_list > li > a {
    border-bottom: 1px solid #ccc;
    color: #555;
    display: block;
    font-size: 13px;
    padding: 14px 10px;
}
#present .slideMenu2_list .number {
    display: inline-block;
    margin-left: 3px;
}
#present .slideMenu2 {
    width: 85%;
    height: 100%;
    position: fixed;
    top: 0;
    right: -85%;
    z-index: 9996;
    padding: 0 0 30px;
    background: #FFF;
    box-sizing: border-box;
    text-align: center;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    transform: translate3d(0,0,99999px);
}
#present .shade{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9995;
    background-color: #333;
    background-color: rgba(0,0,0,.7);
    cursor: pointer;
    transform: translate3d(0,0,99998px);
}
#present .slideMenu2 .control2 {
    height: 50px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#present .slideMenu2 .close2 {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    flex-direction: column;
}
#present .slideMenu2 .close2 .close2_txt {
    margin-top: auto;
    padding-bottom: 7px;
    font-weight: bold;
    font-size: 8px;
}
#present .slideMenu2 .close2 .btnClose2 {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 1.5em;
    height: 0.15em;
    background: currentColor;
    border-radius: 0.1em;
    position: absolute;
    top: 18px;
    transform: rotate(45deg);
}
#present .slideMenu2 .close2 .btnClose2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
}

/* アコーディオン　中小カテゴリ表示 */
#present .accordion_list > li > p {
    border-bottom: 1px solid #ccc;
    color: #555;
    display: block;
    font-size: 13px;
    padding: 14px 10px;
}
#present .accordion_list_child {
    display: none;
}
#present .accordion_list_child > li {
    border-bottom: 1px solid #ccc;
}
#present .accordion_list_child > li > a {
    display: block;
    position: relative;
    background-color: #FDF4E7;
    padding: 14px 30px 14px 1.9em;
    font-weight: normal;
    font-size: 13px;
    color: #555;
    transition: background-color 0.2s ease;
}
#present .accordion_list_child > li.active > a {
    background: #fff8d6;
    font-weight: bold;
}

#present .slideMenu2_category .control2 {
    justify-content: space-between;
}
#present .slideMenu2_category .title {
    margin-left: 10px;
    font-weight: bold;
    font-size: 15px;
}
#present .accordion_list_item {
    position: relative;
    padding: 12px 40px 12px 16px;
    margin: 0;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}
#present .accordion_list_item::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 16px;
    width: 12px;
    height: 2px;
    background-color: #FFAB47;
    border-radius: 2px;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}
#present .accordion_list_item::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 21px;
    width: 2px;
    height: 12px;
    background-color: #FFAB47;
    border-radius: 2px;
    transform: translateY(-50%);
    transition: transform 0.3s ease, opacity 0.3s ease;
}
#present .accordion_list_item.is-active::before {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg);
}

/* 注目の条件・賞品から探す
---------------------------------------- */
.present_featuredcategory {
    background-color: #FDF4E7;
    padding: 0 0 40px;
}
.present_featuredcategory h2 {
    background-color: #FF5555;
    margin-bottom: 20px;
    padding: 12px 10px;
    line-height: 1.0;
    font-size: 16px;
    color: #fff;
}
.present_featuredcategory .more {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
}
.present_featuredcategory_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 3px;
    margin-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
}
.present_featuredcategory_list > li {
    width: fit-content;
    min-width: 60px;
}
.present_featuredcategory_list > li:nth-child(3n)::after {
    content: "";
    display: block;
    width: 100%;
}
.present_featuredcategory_list > li > a {
    width: 100%;
    display: block;
    box-sizing: border-box;
    border: #6C6C6C 1px solid;
    border-radius: 30px;
    background-color: #fff;
    padding: 8px 15px;
    line-height: 1.0;
    font-weight: bold;
    font-size: 13px;
    color: #333;
}

/* 大量当選＆豪華賞品
---------------------------------------- */
.present_gorgeous {
    background: #FDF4E7;
    padding-bottom: 20px;
}
.present_gorgeous_bg {
    background: url(../../img/present/bg_present_gorgeous.png) no-repeat;
    background-size: cover;
    padding: 20px 0;
}
.present_gorgeous h2 {
    padding-left: 10px;
    padding-right: 10px;
}
.present_gorgeous h2 img {
    width: 100%;
    vertical-align: bottom;
}
.present_gorgeous_box {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-left: 10px;
}
.present_gorgeous_box::-webkit-scrollbar {
    display: none;
}
.present_gorgeous_box::after {
    content: '';
    flex: 0 0 10px;
    scroll-snap-align: none;
}
.present_gorgeous_list {
    display: flex;
    gap: 0 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.present_gorgeous_list > li {
    width: 270px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.present_gorgeous_list > li > a {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 1px 5px #9D1E26;
    padding: 10px;
    color: #555;
}
.present_gorgeous_list .thumbnail {
    width: 250px;
    margin-bottom: 20px;
}
.present_gorgeous_list .thumbnail > img {
    width: 100%;
    vertical-align: bottom;
}
.present_gorgeous_list .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 15px;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
}
.present_gorgeous_list .summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: auto;
}
.present_gorgeous_list .winner {
    margin-bottom: 10px;
}
.present_gorgeous_list .winner_large {
    background-size: 28px 28px;
    padding: 5px 0 2px 28px;
    font-size: 28px;
}
.present_gorgeous_list .summary_bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.present_gorgeous_list .company {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    padding-top: 3px;
    padding-right: 3px;
    word-break: break-all;
    text-align: left;
    font-size: 11px;
}
.present_gorgeous .more {
    width: auto;
    box-shadow: none;
    margin-left: 10px;
    margin-right: 10px;
}

/* 応募でポイントも貯まるプレゼントキャンペーン
---------------------------------------- */
.point_presentcp {
    background: #FDF4E7;
    padding-bottom: 20px;
}
.point_presentcp_bg {
    background-image: url("../../img/present/bg_pointpresent.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    padding: 20px 0;
}
.point_presentcp h2 {
    padding-left: 10px;
    padding-right: 10px;
}
.point_presentcp h2 > img {
    width: 100%;
    vertical-align: bottom;
}
.point_presentcp_list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 2px 2px #c27f30;
    margin-left: 10px;
    margin-right: 10px;
}
.point_presentcp_list > li {
    flex: 1;
    border-right: 1px dotted #ccc;
}
.point_presentcp_list > li:last-child {
    border-right: none;
}
.point_presentcp_list > li > a {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    padding: 10px;
    color: #333;
}
.point_presentcp_list .thumbnail {
    width: 95px;
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px;
}
.point_presentcp_list .thumbnail img {
    width: 100%;
    vertical-align: bottom;
}
.point_presentcp .name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 15px;
    text-align: left;
    font-weight: bold;
    font-size: 13px;
}
.point_presentcp .summary {
    margin-top: auto;
}
.point_presentcp .point {
    background-position: 0 15px;
    font-weight: normal;
    font-size: 13px;
    color: #333;
}
.point_presentcp .point .ci-point {
    background-image: url(../../img/icon/ico-pt.gif);
    background-repeat: no-repeat;
    background-position: top 6px left 0;
    background-size: 16px 16px;
    padding-left: 20px;
    font-weight: bold;
    font-size: 18px;
    color: #ff5555;
}
.point_presentcp .point del {
    background-image: url(../../img/icon/ico-pt.gif);
    background-repeat: no-repeat;
    background-position: top 2px left 0;
    background-size: 16px 16px;
    margin-left: 2px;
    margin-right: 5px;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 20px;
    font-size: 13px;
}
.point_presentcp .point ins {
    margin-left: 5px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    color: #ff5555;
}

/* SNS懸賞
---------------------------------------- */

.present_sns {
    background: #FDF4E7;
    padding-bottom: 40px;
}
.present_sns_bg {
    background: #6f8eba;
    padding: 20px 0 20px;
}
.present_sns h2 {
    margin-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
}
.present_sns h2 > img {
    width: 100%;
    vertical-align: bottom;
}
.present_sns_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5px;
    margin-bottom: 13px;
    padding-left: 7px;
    padding-right: 7px;
}
.present_sns_list > li {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    padding: 0 3px 7px;
    box-sizing: border-box;
    width: calc( 100% / 3);
}
.present_sns_list > li > a {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 8px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0px 1px 3px #536A8B;
    color: #333;
}
.present_sns_list .head {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px 6px 0 0;
    margin-bottom: 8px;
    padding: 5px 0;
    text-align: center;
    line-height: 1.0;
    font-weight: bold;
    font-size: 13px;
    color: #fff
}
.present_sns_list .head.head_x {
    background-color: #3F3E3E;
}
.present_sns_list .head.head_line {
    background-color: #0BC45B;
}
.present_sns_list .head.head_instagram {
    background-color: #D42F80;
}
.present_sns_list .thumbnail {
    margin-bottom: 10px;
    padding-left: 8px;
    padding-right: 8px;
}
.present_sns_list .thumbnail > img {
    width: 100%;
    vertical-align: bottom;
}
.present_sns_list .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 8px;
    padding-left: 8px;
    padding-right: 8px;
    text-align: left;
    font-weight: bold;
    font-size: 13px;
}
.present_sns_list .summary {
    display: flex;
    flex-direction:column;
    align-items:center;
    margin-top: auto;
    padding-left: 8px;
    padding-right: 8px;
}
.present_sns_list .company {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-bottom: 2px;
    word-break: break-all;
    text-align: left;
    font-size: 10px;
}
.present_sns_list .winner {
    margin-bottom: 8px;
}
.present_sns_link  {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5px;
    padding-left: 7px;
    padding-right: 7px;
}
.present_sns_link > li {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    padding: 0 3px 0;
    box-sizing: border-box;
    width: calc( 100% / 3);
}
.present_sns_link > li > a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: #fff 1px solid;
    border-radius: 25px;
    box-shadow: 0px 1px 3px #536A8B;
    padding: 13px 0;
    line-height: 1.0;
    font-size: 12px;
    color: #fff;
}
.present_sns_link > li > a::before,
.present_sns_link > li > a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    content: '';
    width: 7px;
    height: 2px;
    background: #fff;
    border-radius: 4px;
}
.present_sns_link > li > a::before {
    margin-top: -3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.present_sns_link > li > a::after {
    margin-top: 1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.present_sns_link .link_x {
    background-color: #3F3E3E;
}
.present_sns_link .link_line {
    background-color: #0BC45B;
}
.present_sns_link .link_instagram {
    background-color: #D42F80;
}

/* 懸賞一覧
---------------------------------------- */
.present_catalog {
    background-color: #FDF4E7;
    padding-bottom: 40px;
}
.present_catalog_heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 15px;
}
.present_catalog_heading .sort_btn {
    padding: 5px 0;
    color: #555;
    font-size: 14px;
    font-weight: bold;
}
.present_catalog_heading .sort_btn:before {
    content: "";
    display: inline-block;
    width: 17px;
    height: 15px;
    margin: -3px 5px 0 0;
    background: url("../../img/present/ico_sort.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* 並び替え */
.sort_present {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 15px;
}
.sort_present .number {
    font-size: 15px;
}
.sort_present .number > span{
    font-size: 12px;
}
.sort_present .sort_btn {
    padding: 5px 0;
    color: #555;
    font-size: 14px;
    font-weight: bold;
}
.sort_present .sort_btn:before {
    content: "";
    display: inline-block;
    width: 17px;
    height: 15px;
    margin: -3px 5px 0 0;
    background: url("../../img/present/ico_sort.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
}
#present .sort_content,
#present .sort_content2 {
    display: none;
}
#sort_content h2,
#sort_content2 h2 {
    padding: 0;
    margin-bottom: 10px;
    text-align: center;
    border-bottom: none;
}
#sort_content, #sort_content2 {
    background-color: #FDF4E7;
    padding: 30px 15px 20px;
}
#sort_content li {
    width: 100%;
    margin-bottom: 8px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #b6b6b6;
    border-radius: 5px;
    box-shadow: 0 1px 3px #CEC4B9;
    font-size: 14px;
}
#sort_content li.current {
    background: #FFF8D6;
    font-weight: bold;
}
#sort_content li.memberonly a:before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 14px;
    margin: -3px 3px 0 0;
    background: #fff url("../../img/present/ico_memberonly.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
}
#sort_content li a {
    display: block;
    padding: 10px 20px;
    color: #555;
}
#sort_content2 p {
    margin-bottom: 20px;
    font-size: 12px;
    line-height: 1.5;
}
#sort_content2 li {
    margin-bottom: 8px;
    font-size: 15px;
}
#sort_content2 a {
    display: block;
    width: 100%;
    padding: 15px 0;
    border-radius: 5px;
}
#sort_content2 a.register {
    border-bottom: 2px solid #1a815b;
    background: #49bb91;
    font-weight: bold;
    color: #fff;
}
#sort_content2 a.login {
    background: #dcdcdc;
    color: #555;
}
#sort_content2 > a {
    padding: 10px 0;
    text-align: right;
    color: #555;
    text-decoration: underline;
}

/* 検索結果なし */
.present_catalog .no_result {
    width: auto;
    border: #C03434 2px solid;
    border-radius: 6px;
    text-align:center;
    margin: 20px 10px;
    padding: 40px 0;
    font-weight: bold;
    font-size: 14px;
    color: #C03434;
}

/* 懸賞リスト */
.present_list {
    display: flex;
    flex-direction: column;
}
.present_list > li {
    display: flex;
    flex-direction: column;
}
.present_list > li > a {
    display: flex;
    gap: 0 10px;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 1px 3px #CEC4B9;
    margin: 8px 10px;
    padding: 10px;
    color: #333;
}
.present_list > li:first-child > a,
.present_list > li:nth-child(n+2) > a {
    margin-top: 0;
}
.present_list .thumbnail {
    width: 37.5%;
}
.present_list .thumbnail > img {
    width: 100%;
    vertical-align: bottom;
}
.present_list .summary {
    width: 62.5%;
    display: flex;
    flex-direction: column;
}
.present_list .summary_top {
    display: flex;
    gap: 0 10px;
}
.present_list .title {
    flex: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: 8px;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
    font-size: 14px;
}
.present_list .info {
    margin-bottom: 10px;
    line-height: 1.4;
    text-align: left;
    font-size: 11px;
    color: #555;
}
.present_list .info span + span::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1.0em;
    background-color: #555;
    transform: rotate(30deg);
    margin: 0 0.6em;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.present_list .summary_bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px 5px;
    margin-top: auto;
}
.present_list_pr .enddate,
.present_list .enddate{
    width: 75px;
    padding-left: 0;
    padding-right: 0;
}
.present_catalog .more {
    width: auto;
    margin: 12px 10px 0;
}

/*-- クリックポイント --*/
.present_list .click,
.present_list_pr .click {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    margin-bottom: 5px;
}
.present_list .click_pt,
.present_list_pr .click_pt {
    width: 75px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EBEBEB;
    background: -moz-linear-gradient(left, #D4D4D4 0%, #EBEBEB 40%, #D4D4D4 100%);
    background: -webkit-linear-gradient(left, #D4D4D4 0%,#EBEBEB 40%,#D4D4D4 100%);
    background: linear-gradient(to right, #D4D4D4 0%,#EBEBEB 40%,#D4D4D4 100%);
    background-repeat:no-repeat, no-repeat;
    border-radius:50px;
    color:#555;
    border:#bbb 1px solid;
    padding: 4px 0;
    line-height: 1.0;
    font-family: 'Murecho';
    font-weight: 700;
    font-size:11px;
}
.present_list .click_5pt,
.present_list_pr .click_5pt {
    width: 75px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffe12f;
    background: -moz-linear-gradient(left, #fff082 0%, #ffe12f 40%, #fff082 100%);
    background: -webkit-linear-gradient(left, #fff082 0%,#ffe12f 40%,#fff082 100%);
    background: linear-gradient(to right, #fff082 0%,#ffe12f 40%,#fff082 100%);
    background-repeat:no-repeat, no-repeat;
    border-radius:50px;
    color:#7d572b;
    border:#d5c44f 1px solid;
    padding: 4px 0;
    line-height: 1.0;
    font-family: 'Murecho';
    font-weight: 700;
    font-size:11px;
}
.present_list .click_pt .pt,
.present_list .click_5pt .pt,
.present_list_pr .click_pt .pt,
.present_list_pr .click_5pt .pt {
    display: inline-block;
    padding-left: 3px;
    font-size: 12px;
}

/* -- お気に入りボタン --*/
.present_list .favorite {
    display: block;
    border: none;
    background: #fff url(../../img/present/ico_favorite_add.png) no-repeat;
    background-size: 1800px 36px;
    background-position: 0 -4px;
    height: 30px;
    width: 30px;
}
.present_list .favorite_add {
    background: #fff url(../../img/present/ico_favorite_add.png) no-repeat;
    background-size: 1800px 36px;
    background-position: -1751px -4px;
    transition: background 1s steps(44);
}

/* -- PR枠 --*/
.present_list_pr {
    display: flex;
    flex-direction: column;
    gap: 8px 0;
    background: url("../../img/present/bg_present_pr.png") no-repeat top center;
    background-size: cover;
    margin-bottom: 8px;
    padding: 20px 10px;
}
.present_list_pr > li {
    display: flex;
    flex-direction: column;
}
.present_list_pr > li > a {
    display: flex;
    gap: 0 10px;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 1px 3px #CEC4B9;
    padding: 10px;
    color: #333;
}
.present_list_pr .thumbnail {
    width: 37.5%;
}
.present_list_pr .thumbnail > img {
    width: 100%;
    vertical-align: bottom;
}
.present_list_pr .summary {
    width: 62.5%;
    display: flex;
    flex-direction: column;
}
.present_list_pr .title .pr {
    width: 30px;
    display: inline-block;
    border-radius: 4px;
    background-color: #278BD1;
    margin-right: 3px;
    padding-top: 3px;
    padding-bottom: 2px;
    line-height: 1.0;
    text-align: center;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
}
.present_list_pr .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: 8px;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
    font-size: 14px;
}
.present_list_pr .info {
    margin-bottom: 10px;
    line-height: 1.4;
    text-align: left;
    font-size: 11px;
    color: #555;
}
.present_list_pr .info span + span::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1.0em;
    background-color: #555;
    transform: rotate(30deg);
    margin: 0 0.6em;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.present_list_pr .summary_bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px 5px;
    margin-top: auto;
}

/* -- おすすめ枠 --*/
.present_list_recommend {
    display: flex;
    flex-direction: column;
    gap: 8px 0;
    background: url("../../img/present/bg_present_recommend.png") no-repeat top center;
    background-size: cover;
    margin-bottom: 8px;
    padding: 10px;
}
.present_list_recommend > li {
    display: flex;
    flex-direction: column;
}
.present_list_recommend > li > a {
    display: flex;
    gap: 0 10px;
    position: relative;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 1px 3px #A44E35;
    padding: 10px;
    color: #333;
}
.present_list_recommend .recommend::before {
    width: 64px;
    height: 24px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background: url("../../img/present/ico_recommend.png") no-repeat 0 0;
    background-size: 64px 24px;
}

/* -- SSP枠 --*/
.present_list > li > .ssp {
    margin: 0 0 8px;
}

/* 懸賞ニュース
---------------------------------------- */
.present_news {
    position: relative;
    background-color: #fff;
    padding: 24px 10px 40px;
}
.present_news::before {
    width: 74px;
    height: 68px;
    content: "";
    position: absolute;
    top: -3px;
    right: 10px;
    z-index: 1;
    background: url("../../img/top/img_chara_news.png") no-repeat top 0 left 0;
    background-size: 74px 68px;
}
.present_news h2 {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    color: #555
}
.present_news_list {
    margin-bottom: 20px;
}
.present_news_list > li {
    border: solid 1px #ccc;
    border-radius: 6px;
    background-color: #fff;
    margin-bottom: 10px;
    box-shadow: 0 1px 3px #D2D2D2;
}
.present_news_list > li:last-child {
    margin-bottom: 0;
}
.present_news_list > li > a {
    display: flex;
    gap: 0 10px;
    padding: 10px;
    text-align: left;
    color: #333;
}
.present_news_list .thumbnail {
    width: 25%;
}
.present_news_list .thumbnail > img {
    width: 100%;
    height: 70px;
    object-fit: cover;
    vertical-align: bottom;
}
.present_news_list .summary {
    width: 75%;
    display: flex;
    flex-direction: column;
}
.present_news_list .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 2px;
    line-height: 1.5;
    font-weight: bold;
    font-size: 14px;
}
.present_news_list .date {
    font-size: 11px;
}
.present_news .more_txt {
    box-shadow: 0 1px 3px #D2D2D2;
}

/* 懸賞コラム
---------------------------------------- */

.present_column {
    background-color: #fff;
    padding: 0 10px 40px;
}
.present_column h2 {
    border-top: solid 2px #FF5555;
    padding-top: 20px;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    color: #555
}
.present_column_list {
    margin-bottom: 20px;
}
.present_column_list > li {
    border: solid 1px #ccc;
    border-radius: 6px;
    background-color: #fff;
    margin-bottom: 10px;
    box-shadow: 0 1px 3px #D2D2D2;
}
.present_column_list > li:last-child {
    margin-bottom: 0;
}
.present_column_list > li > a {
    display: flex;
    gap: 0 10px;
    padding: 10px;
    text-align: left;
    color: #333;
}
.present_column_list .thumbnail {
    width: 25%;
}
.present_column_list .thumbnail > img {
    width: 100%;
    height: 70px;
    object-fit: cover;
    vertical-align: bottom;
}
.present_column_list .summary {
    width: 75%;
    display: flex;
    flex-direction: column;
}
.present_column_list .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 2px;
    line-height: 1.5;
    font-weight: bold;
    font-size: 14px;
}
.present_column_list .date {
    font-size: 11px;
}
.present_column .more_txt {
    box-shadow: 0 1px 3px #D2D2D2;
}

/* 固定バナー bnr_box
---------------------------------------- */
.bnr_box {
    margin-bottom: 20px;
    padding: 0 5px;
}
.bnr_box a {
    display: block;
}
.bnr_box img {
    width: 100%;
}

/* アプリ・SNS sns_list
---------------------------------------- */
.sns_list h2 {
    background: url(../../img/icon/title/ico_sns.png) no-repeat 10px 2px;
    background-size: 16px 20px;
    margin-bottom: 10px;
}
.sns_list ul {
    margin-bottom: 40px;
    overflow: hidden;
}
.sns_list ul li {
    box-sizing: border-box;
    float: left;
    padding: 0 12px;
    width: 25%;
    width: calc( 100% / 4 );
}
.sns_list ul li a {
    display: block;
}
.sns_list ul li img {
  width: 100%;
}

/* モーダル
---------------------------------------- */
.modal_present {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    transform: translate3d(0,0,9999px);
    -webkit-transform: translate3d(0,0,9999px);
}
.modal_present .bg {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9990;
    background-color: rgba(0, 0, 0, 0.7);
}
.modal_present .wrap {
    width: 100%;
    max-width: 700px;
    height: auto;
    max-height: 650px;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 9999;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    background-image: url("../../img/present/bg_present_modal02.png");
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
    padding: 0 15px;
    animation: popup1 0.4s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
}
@keyframes popup1 {
  0% {
    transform: translate(-50%, -40%) scale(0.4);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.0);
    opacity: 1;
  }
}
.modal_present .wrap::before {
    width: 100%;
    height: 200px;
    content: "";
    position: absolute;
    top: 32%;
    left: 0;
    z-index: 9999;
    background: url("../../img/present/img_present_modal01.png") no-repeat 0 0;
    background-size: 100%;
}
.modal_present .wrap .inner {
    width: 100%;
    max-width: 600px;
    height: auto;
    max-height: 650px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    border-radius: 6px;
    background-color: #f9de1f;
    text-align: center;
    animation: popup2 0.9s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
}
@keyframes popup2 {
  0% {
    transform: translateY(60px) scale(0.8);
    opacity: 0;
  }
  100% { transform: scale(1.0);}
  80%, 100% { opacity: 1;}
}
.modal_present .wrap .burst {
    width: 1000px;
    height: 1000px;
    position: absolute;
    top: -280px;
    left: 50%;
    margin-left: -500px;
    z-index: 100;
    background-image: url("../../img/present/bg_present_modal01.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    opacity: 0.8;
    background-size: 1000px 1000px;
    -webkit-animation: spin 45s linear infinite;
    animation: spin 45s linear infinite;
}
@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
.modal_present .wrap .detail {
    width: 100%;
    max-width: 600px;
    height: auto;
    max-height: 650px;
    box-sizing: border-box;
    position: relative;
    z-index: 200;
    background-image: url("../../img/present/bg_present_modal02.png");
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
    margin: 0 auto;
    padding: 15px 0 30px;
    font-weight: bold;
    color: #313131;
}
 .modal_present .wrap .detail .free_txt {
    text-shadow: 0 0 4px #fff, 0 0 4px #fff;
    margin-bottom: 10px;
    font-size: 14px;
}
@media screen and (min-width:480px) {
    .modal_present .wrap .detail .free_txt { font-size: 16px;}
}

@media screen and (min-width:768px) {
    .modal_present .wrap .detail .free_txt { font-size: 22px;}
}
.modal_present .wrap .detail .image {
    width: 55%;
    margin-bottom: 10px;
}
.modal_present .wrap .detail img.image {
    max-width: 100%;
    vertical-align: bottom;
}
.modal_present .wrap .detail .winner {
    background: none;
    text-align: center;
    text-shadow: 0 0 4px #fff, 0 0 4px #fff;
    margin-bottom: 5px;
    font-size: 18px;
}
@media screen and (min-width:768px) {
    .modal_present .wrap .detail .winner { font-size: 26px;}
}
.modal_present .wrap .detail .winner span { color: #ff5555;}
.modal_present .wrap .detail .winner .num {
    font-size: 30px;
}
@media screen and (min-width:480px) {
    .modal_present .wrap .detail .winner .num { font-size: 45px;}
}
@media screen and (min-width:768px) {
    .modal_present .wrap .detail .winner .num { font-size: 55px;}
}
.modal_present .wrap .detail .company {
    text-shadow: 0 0 4px #fff, 0 0 4px #fff;
    margin-bottom: 10px;
    font-size: 14px;
}
.modal_present .wrap .detail a {
    width: auto;
    display: block;
    border-radius: 6px;
    background: #3dba8f;
    box-shadow: 0px 7px 0 #268262;
    margin-right: 10px;
    margin: 0 30px;
    padding: 10px 0;
    text-decoration: none;
    font-size: 21px;
    color: #fff;
}
.modal_present .modal_present_close {
    width: 100px;
    box-sizing: border-box;
    position: absolute;
    top: 117%;
    left: 50%;
    z-index: 9999;
    transform: translate(-50%, -117%);
    -webkit-transform: translate(-50%, -117%);
    border-radius: 4px;
    border: #d6d6d6 1px solid;
    background-color: rgba(49,49,49,0.5);
    padding: 10px 13px 10px 0;
    cursor: pointer;
    font-size: 17px;
    color: #fff;
}
@media screen and (min-width:768px) {
    .modal_present .modal_present_close {
        top: 113%;
        transform: translate(-50%, -113%);
        -webkit-transform: translate(-50%, -113%);
    }
}
.modal_present .modal_present_close::before,
.modal_present .modal_present_close::after {
    position: absolute;
    top: 47%;
    right: 18px;
    display: block;
    content: '';
    width: 16px;
    height: 3px;
    background: #fff;
    border-radius: 4px;
}
.modal_present .modal_present_close::before {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.modal_present .modal_present_close::after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}

/* -----------------------------------------------
    懸賞一覧ページ
----------------------------------------------- */

.present_catalog h1.heading {
    padding: 15px 10px 15px;
}
.present_refine {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 5px;
    margin-bottom: 15px;
    padding-left: 10px;
    padding-right: 10px;
}
.present_refine > p {
    flex: 1;
    font-size: 11px;
}
.present_refine .more {
    margin: 0;
}
.present_refine .more::before,
.present_refine .more::after {
    right: 10px;
    width: 8px;
}
.present_refine .more::after {
    margin-top: 1px;
}
.present_refine .filter {
    width: 100%;
    display: block;
    position: relative;
    box-sizing: border-box;
    border: solid 1px #FFD29C;
    border-radius: 20px;
    background-color: #FFAB47;
    padding: 10px 20px;
    box-shadow: 0 1px 3px #D9C9B1;
    text-align: center;
    font-weight: bold;
    color: #fff;
}
.present_refine .filter::before {
    width: 13px;
    height: 12px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    background: url("../../img/present/ico_filter.png") no-repeat 0 0;
    background-size: 13px 12px;
    margin-top: -6px;
}

/* ページャー pager
---------------------------------------- */
.pager {
    padding-top: 12px;
}
.pageNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 8px;
    margin-bottom: 10px;
    font-size: 14px;
    text-align: center;
}
.pageNav > li {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pageNav > li > a {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid #C3C3C3;
    background-color: #fff;
    text-decoration: none;
    font-family: 'Murecho';
    font-weight: 400;
    color: #555;
}
.pageNav .current {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid #6C6C6C;
    background-color: #6C6C6C;
    font-family: 'Murecho';
    font-weight: 700;
    color: #fff;
}
.pageNav .ellipsis {
    width: 20px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.0;
    font-weight: bold;
    font-size: 15px;
    color: #555;
}
.pager .number {
    margin-bottom: 20px;
    font-size: 15px;
}
.pager .number > span{
    font-size: 12px;
}

/* -----------------------------------------------
    スマホ懸賞詳細ページ edit:2015/06/15
----------------------------------------------- */

/* ------------------ヘッダタイトル部分 */
.present_dtl {
    padding-bottom: 80px;
}

/* ---------------詳細ページ-メイン部分 */
.present_dtl section {
    padding: 0 10px;
}
.detail_main h1.name {
    margin: 10px 0;
    font-weight: bold;
    font-size: 18px;
    text-align: left;
}
.detail_main p.prize_img {
    min-height: 150px;
    vertical-align: top;
    display: table-cell;
    margin: 15px auto 0;
    padding: 0 20px 0 0;
}
.detail_main p.prize_img img {
    border: 1px solid #bbb;
}
.detail_main > dl {
    width: 100%;
    vertical-align: top;
    display: table-cell;
    margin: 0;
    padding: 0;
    text-align: center;
}
.detail_main > dl dt {
    margin-bottom: 6px;
    padding: 6px 0;
    background: #cccaa8;
    font-size: 14px;
}
.detail_main > dl dd {
    margin-bottom: 20px;
    font-size: 16px;
}
.detail_main > dl dd  em{
    font-size: 18px;
    font-weight: bold;
    color: #FF3135;
}
.detail_main dl dd  span.pt-num {
    color: #f55;
    margin-left: 4px;
}
.detail_main dl dd  span.col-green {
    color: #3a0;
}

/* ---------------詳細ページ-詳細部分 */
.detail_more h2.title_detail {
    margin-bottom: 6px;
    padding: 6px 0;
    background: #cccaa8;
    font-size: 14px;
    text-align: center;
}
.detail_more dl.text {
    overflow: hidden;
    text-align: left;
}
.detail_more dl dt {
    float: left;
    width: 80px;
    margin-bottom: 8px;
}
.detail_more dl dd {
    margin: 0 0 8px 90px;
}
.detail_more p.description {
    margin: 15px 0;
    text-align: left;
}
.detail_more p.caution {
    padding: 10px;
    border: 1px dotted #7B7B7B;
    font-size: 12px;
    text-align: left;
}
.detail_more a.category {
    float: left;
    margin-right: 10px;
    text-decoration: underline;
}

/* ---------------各種ボタン */
/* ソーシャルアイコン */
div.btn {
    margin: 15px 10px 25px;
}
ul.sns  {
    margin: 0 0 15px;
    text-align: center;
}
ul.sns li {
    display: inline-block;
    margin: 0 3px 0;
    border-radius: 4px;
    font-weight: bold;
    font-size: 12px;
}
ul.sns li img{
    width : 120px;
}

/* お気に入り追加・削除 */
p.favorite {
    width: 100%;
    font-weight: bold;
    text-align: center;
}
p.favorite a {
    display: block;
    padding: 15px 30px 15px 12px;
    border: 1px solid #afafaf;
    border-radius: 8px;
    background: #fff;
    background: -moz-linear-gradient(top, #fff, #e9e9e9);
    background: -webkit-linear-gradient(top, #fff, #e9e9e9);
    background: linear-gradient(to bottom, #fff, #e9e9e9);
    color: #4b4b4b;
    box-shadow: -1px -2px #fff inset;
}
p.del_fav a {
    border: 1px solid #ff9b07;
}
p.favorite a span {
    padding: 5px 0 5px 30px;
}
p.add_fav a span {
    background: url(../../img/icon/icon_favorite.png) no-repeat 0 5px;
    background-size: 28px auto;
}
p.del_fav a span {
    background: url(../../img/icon/icon_favorite.png) no-repeat 0 -48px;
    background-size: 28px auto;
}

/* 応募ボタン（下部固定） */
.eventApply {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 1000;
    box-sizing: border-box;
    background: #fef1c5;
    text-align: center;
}
.eventApply .btnApply {
    display: block;
    margin: 15px;
    padding: 15px 20px;
    border: solid #B32020 1px;
    border-radius: 10px;
    background-image: -webkit-linear-gradient(top, #ff4d4d, #ff0b0b);
    background-image: -moz-linear-gradient(top, #ff4d4d, #ff0b0b);
    background-image: linear-gradient(to bottom, #ff4d4d, #ff0b0b);
    box-shadow: 1px 1px rgba(255,255,255,0.6) inset;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
}

/* ---------------レコメンド */
section.recommend {
    margin-bottom: 25px;
    padding: 0;
    border-top: 1px solid #ce7c7c;
}
.recommend h1 {
    padding: 10px;
    background: #FFBCBD;
    border-top: 1px solid #fff;
    font-weight: bold;
    text-align: center;
}
.recommend li {
    padding: 10px;
    border-bottom: 1px solid #bbb;
    text-align: left;
}
.recommend li a {
    color: #434128;
}

.recommend li .rcmd_img {
    vertical-align: top;
    display: table-cell;
    padding: 0 15px 0 0;
}
.recommend li .rcmd_img img {
    border: 1px solid #bbb;
}
.recommend li .rcmd_detail {
    width: 100%;
    vertical-align: top;
    display: table-cell;
}
.recommend li .rcmd_detail h3 {
    margin-bottom: 10px;
}

.recommend li .rcmd_detail dl dt {
    float: left;
    width: 100px;
    margin-bottom: 5px;
}
.recommend li .rcmd_detail dl dd {
    margin-bottom: 5px;
}
.recommend em{
    font-weight: bold;
    color: #FF3135;
}

/* ---------------会員登録誘導 */
section.register {
    margin-bottom: 15px;
    padding: 0;
    border-top: 1px solid #638963;
    border-bottom: 1px solid #638963;
}
.register h1 {
    padding: 10px;
    background: #b4e3b4;
    border-top: 1px solid #fff;
    font-weight: bold;
    text-align: center;
}
.register li {
    padding: 10px;
}
.register p.regist_img {
    vertical-align: top;
    display: table-cell;
    padding: 0 15px 0 0;
}
.register li .regist_detail {
    width: 100%;
    vertical-align: top;
    display: table-cell;
}
.register em{
    font-weight: bold;
    color: #FF3135;
}

/* 会員登録ボタン */
.eventRegister {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}
.eventRegister .btnRegister {
    display: block;
    margin: 2px 15px 15px;
    padding: 15px 20px;
    border: solid #7a7a7a 1px;
    border-radius: 10px;
    background-image: -webkit-linear-gradient(top, #32bf53, #118b2d);
    background-image: -moz-linear-gradient(top, #32bf53, #118b2d);
    background-image: linear-gradient(to bottom, #32bf53, #118b2d);
    box-shadow: 1px 1px rgba(255,255,255,0.6) inset;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: #ffffff;
}

/*広告*/
div#appvador {
    padding: 30px 0 20px;
    text-align: center;
}
div#appvador span {
    font-size: 75%;
}
.pr-ban{
    width: 320px;
    text-align:center;
    margin: 0 auto;
}