@charset "utf-8";
/* CSS Document */

/* ==================================================
 DLsite.com Touch Common Style
================================================== */

/*
  デフォルト

  レイアウト
    - ヘッダー
    - フロア切替え（topのみ）
    - アコーディオン
    - カルーセル
    - キャンペーンカルーセル用
    - メインエリア
    - 見出し
    - フッター

  フォーム
    - 基本設定
    - フォームエラー
    - セキュリティ
    - フォームレイアウト
    - フォーム個別設定

  共通
    - テキスト
    - アイコン
    - バッジ
    - リスト
    - ボタン
    - ローダー
    - タブ
    - 開閉
    - スクロールアップ
    - 装飾

  その他
    - 0件
    - もっと見る
    - ソート・ページャー
    - メッセージ
    - キャンペーンバナー（フッター固定）

  作品表示形式
    - 詳細表示
    - 画像表示
    - 商業系縦長サムネイル拡大表示
    - レコメンド表示
    - パック販売
    - ジャンルアイコン

  作品画像
    - メイン画像
    - サンプル画像

  個別設定
    - ユーザー登録
    - ログイン
    - トップページ
    - ランキング
    - レビュー
    - おすすめ特集
    - キャンペーンページ新作枠
    - 発売予告作品
    - サークル一覧
    - プロフィール
    - 検索結果
    - カート
    - 決済
    - ダウンロード
    - ご意見箱
    - その他

  マイページ
    - 重要なお知らせ
    - お気に入り
    - 購入履歴
    - 特典コード
    - クーポン管理
    - マイ評価
    - マイレビュー
    - ポイント
    - 画像表示設定
    - メール設定
    - 登録情報

  ご案内

  総合トップ
  
  汎用
*/

/* ==================================================
 デフォルト
================================================== */

html {
  height: 100%;
}

body {
  color: #333;
  height: 100%;
  padding: 0;
  margin: 0;
  background-color: #fff;
  font-size: 14px/1.231;
  font-family: "ヒラギノ角ゴ Pro W3",Meiryo,メイリオ,helvetica,arial,verdana,sans-serif;
  -webkit-text-size-adjust: 100%;
}

a {
  text-decoration: none;
}

a:link {
  color: #25a;
}

a:visited,
a:hover,
a:active {
  color: #71a;
}

img {
  vertical-align: bottom;
}

/* ==================================================
 レイアウト
================================================== */

/* ヘッダー
-------------------------------------------------- */
.header {
  position: relative;
  border-bottom: 4px solid #4d6594;
  background-color: #4d6594;
}

.style_home .header { border-color: #83c840; }
.style_comic .header { border-color: #e57285; }
.style_maniax .header { border-color: #75baeb; }
.style_pro .header { border-color: #e075ab; }
.style_books .header { border-color: #5aad5f; }

.header.top_hd {
  border-bottom: none;
}

.hd_inner {
  position: relative;
  min-width: 320px;
  height: 50px;
}

/* ロゴ */
.index_header .logo.logo_1million {
  top: 0;
  height: 50px;
}

.index_header .logo.logo_1million a {
  width: 125px;
  height: 50px;
  background: url(../../images/web/common/logo_dlsite_sprite.png) no-repeat 0 -425px;
  background-size: 125px 475px;
}
 
h1.logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 136px;
  height: 50px;
  z-index: 50;
  text-indent: -9999px;
  background: url(../../images/web/hometouch/logo_dlsite.png) no-repeat 10px 15px;
  background-size: 116px 21px;
}

h1.logo a {
  display: block;
  width: 136px;
  height: 50px;
}

h1.logo.logo_1million {
  width: 125px;
  background: url(../../images/web/common/logo_dlsite_sprite.png) no-repeat;
  background-position: 0 -224px;
  background-size: 125px 475px;
}

h1.logo.logo_1million a {
  width: 125px;
}

/* ナビ */
.hd_btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 176px;
}

.hd_btn li {
  width: 44px;
  height: 50px;
  float: left;
  background: url(../../images/web/hometouch/icon_hd_btn.png) no-repeat left top;
  background-size: 176px 176px;
}

.hd_btn li.selected {
  background-color: #e6ebf5;
}

.hd_btn li a {
  display: block;
  width: 44px;
  height: 50px;
  text-indent: -9999px;
}

.hd_btn .btn_search { background-position: 0 3px; }
.hd_btn .btn_cart { background-position: -44px 3px; }
.hd_btn .btn_mypage { background-position: -88px 3px; }
.hd_btn .btn_mypage.login { background-position: -88px -41px; }
.hd_btn .btn_menu { background-position: -132px 3px; }
.hd_btn .btn_search.selected { background-position: 0 -85px; }
.hd_btn .btn_mypage.selected { background-position: -88px 3px; }
.hd_btn .btn_mypage.login.selected { background-position: -88px -129px; }
.hd_btn .btn_menu.selected { background-position: -132px -85px; }

/* バッジ表示位置 */
.hd_btn .btn_cart,
.hd_btn .btn_mypage,
.hd_btn .btn_menu {
  position: relative;
}

.hd_btn .btn_cart .badge,
.hd_btn .btn_mypage .badge,
.hd_btn .btn_menu .badge {
  position: absolute;
  right: 3px;
  top: 3px;
  z-index: 3;
}

/* ----- ヘッダーコンテンツ ----- */
.hd_content {
  width: 100%;
}

.hd_content_inner {
  background: #fff;
}

.hd_content_inner h2 {
  height: 26px;
  line-height: 26px;
  color: #4d6594;
  font-size: 12px;
  padding-left: 8px;
  border-bottom: 1px solid #c5cee0;
  background-color: #e6ebf5;
}

.hd_content_btm {
  height: 44px;
  line-height: 44px;
  font-size: 14px;
  text-align: right;
  padding: 0 8px;
  background-color: #4d6594;
}

.hd_content_btm a {
  color: #fff;
  padding-left: 26px;
  background: url(../../images/web/hometouch/icon_menu.png) left center no-repeat;
  background-size: 24px 1004px;
}

.hd_content_btm a.hd_close {
  float: right;
  background-position: 0 10px;
}

.hd_content_btm a.hd_logout {
  float: left;
  background-position: 0 -235px;
}

/* メニュー */
.menu_list {
  width: 100%;
}

.menu_list:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.menu_list li {
  float: left;
  width: 50%;
  box-sizing: border-box;
  border-bottom: 1px solid #c5cee0;
  border-right: 1px solid #c5cee0;
  position: relative;
}

.menu_list li:nth-child(even) {
  border-right: none;
}

#hd_menu .menu_list li:nth-child(7) {
  border-bottom: none;
}

#hd_menu .menu_list {
  border-bottom: 1px solid #c5cee0;
}

.menu_list li .badge {
  position: absolute;
  left: 183px;
  top: 50%;
  margin-top: -9px;
  z-index: 3;
}

.menu_list li a {
  display: block;
  height: 44px;
  line-height: 44px;
  color: #4d6594;
  font-size: 14px;
  padding-left: 38px;
  background: url(../../images/web/hometouch/icon_menu.png) no-repeat;
  background-size: 24px 1004px;
}

.menu_list li.close a { background-position: 8px -10px; }
.menu_list li.faq a { background-position: 8px -39px; }
.menu_list li.favorite a { background-position: 8px -88px; }
.menu_list li.genre a { background-position: 8px -137px; }
.menu_list li.help a { background-position: 8px -186px; }
.menu_list li.logout a { background-position: 8px -235px; }
.menu_list li.new a { background-position: 8px -284px; }
.menu_list li.point a { background-position: 8px -333px; }
.menu_list li.ranking a { background-position: 8px -382px; }
.menu_list li.rate a { background-position: 8px -431px; }
.menu_list li.report a { background-position: 8px -480px; }
.menu_list li.setting a { background-position: 8px -529px; }
.menu_list li.user a { background-position: 8px -578px; }
.menu_list li.userbuy a { background-position: 8px -627px; }
.menu_list li.privilege a { background-position: 8px -677px; }
.menu_list li.dlplay a { background-position: 8px -725px; }
.menu_list li.mygenre a { background-position: 8px -774px; }
.menu_list li.infomail a { background-position: 8px -824px; }
.menu_list li.ana a { background-position: 8px -872px; }
.menu_list li.exclusive a { background-position: 8px -920px; }
.menu_list li.discount a { background-position: 8px -970px; }

.menu_list li.followlist a,
.menu_list li.savesearch a {
padding-left: 10px;
}

.menu_list li.savesearch a::before,
.menu_list li.followlist a::before {
    display: inline-block;
    width: 16px;
    border-radius: 2px 0 0 2px;
    color: #5f7093;
    text-align: center;
    font-family: "fontawesome";
    font-size: 20px;
    margin-right: 12px;
    font-weight: bold;
    content: "\f08a";
}

.menu_list li.followlist a::before { content: "\f004"; }
.menu_list li.savesearch a::before { content: "\f002"; }

/* フロアメニュー */
.hd_content_floor table {
  width: 100%;
  table-layout: fixed;
}

.hd_content_floor table th,
.hd_content_floor table td {
  line-height: 1.0;
  font-size: 14px;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #c5cee0;
  border-bottom: 1px solid #c5cee0;
}

.hd_content_floor table td:last-child {
  border-right: none;
}

.hd_content_floor table th {
  width: 72px;
  color: #4d6594;
  font-size: 12px;
  background-color: #f5f7fa;
}

.hd_content_floor table td span {
  font-size: 10px;
  display: block;
  padding-top: 3px;
}

.floor_list a {
  display: block;
  color: #4d6594;
  padding: 11px 0 6px;
}

.floor_list a.selected {
  color: #fff;
  background-color: #7191bd;
}

.style_home .floor_list a.selected { background-color: #83c840; }
.style_comic .floor_list a.selected { background-color: #e57285; }
.style_maniax .floor_list a.selected { background-color: #75baeb; }
.style_pro .floor_list a.selected { background-color: #e075ab; }
.style_books .floor_list a.selected { background-color: #5aad5f; }

.floor_list th a {
  padding: 14px 0;
}

/* お知らせ、キャンペーン情報 */
.dl_info {
  width: 100%;
}

.dl_info li {
  font-size: 13px;
  height: 44px;
  border-bottom: 1px solid #c5cee0;
}

.dl_info li:last-child {
  border-bottom: none;
}

.dl_info li a {
  display: block;
  height: 44px;
  line-height: 44px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 30px 0 8px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

.dl_info li a span {
  color: #333;
  padding-right: 10px;
}

.dl_info li.more a {
  color: #4d6594;
}

/* 検索 */
.hd_content_search {
  background-color: #fff;
}

.hd_content_search dl {
  display: table;
  width: 100%;
  height: auto;
  border-bottom: 1px solid #ddd;
}

.hd_content_search dt,
.hd_content_search dd {
  display: table-cell;
  vertical-align: middle;
}

.hd_content_search dt {
  width: 90px;
  font-size: 12px;
  text-align: right;
  padding-right: 10px;
  background-color: #f5f5f5;
}

.hd_content_search dd {
  padding: 10px;
  position: relative;
}

.hd_content_search dd input[type="checkbox"] {
  position: absolute;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  top: 0;
  left: 0;
}

.hd_content_search dd.option {
  display: block;
}

.hd_content_search dd input[type="checkbox"] + label {
  display: block;
  line-height: 1.3;
  color: #333;
  padding: 3px 20px 3px 30px;
  font-size: 15px;
}

.hd_content_search dd input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) 0 center no-repeat;
  background-size: 20px 20px;
}

.hd_content_search dd input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 0 center no-repeat;
  background-size: 20px 20px;
}

.hd_content_search input[type="search"],
.hd_content_search select {
  font-size: 13px;
}

.hd_content_search input[type="search"] {
  padding: 0 8px;
  height: 28px;
}

.hd_content_search select {
  height: 28px;
}

.hd_content_search select:disabled {
  color: #aaa;
  background-color: #f5f5f5;
}

.hd_content_search .search_btn {
  padding: 12px;
}

div.btn_01.search_btn input {
  width: 60%;
  height: 34px;
  line-height: 34px;
}

div.btn_01.search_btn input:first-child {
  width: 36%;
  margin-right: 5px;
}

/* フロア切替え（topのみ）
-------------------------------------------------- */
nav#floor_nav {
}

nav#floor_nav ul {
  display: table;
  width: 100%;
  table-layout: fixed;
}

nav#floor_nav ul li {
  display: table-cell;
  border-right: 1px solid #4d6594;
  border-bottom: 1px solid #4d6594;
}

nav#floor_nav ul li:last-child {
  border-right: none;
}

nav#floor_nav li a {
  display: block;
  height: 36px;
  line-height: 36px;
  color: #fff;
  font-size: 14px;
  text-align: center;
  background-color: #7191bd;
}

nav#floor_nav li#select_home a { background-color: #83c840; }
nav#floor_nav li#select_comic a { background-color: #e57285; }
nav#floor_nav li#select_maniax a { background-color: #75baeb; }
nav#floor_nav li#select_pro a { background-color: #e075ab; }
nav#floor_nav li#select_books a { background-color: #5aad5f; }

/* アコーディオン
-------------------------------------------------- */
ul.accordion_list {
}

ul.accordion_list > li {
  border-bottom: 1px solid #ddd;
}

ul.accordion_list ul {
  display: none;
}

ul.accordion_list li ul {
  overflow: hidden;
  -moz--webkit-transition: all 400ms;
  -webkit-transition: all 400ms;
}

ul.accordion_list > li > ul > li {
  border-bottom: 1px solid #ddd;
}

ul.accordion_list > li > ul > li:last-child {
  border-bottom: none;
}

ul.accordion_list a,
ul.accordion_list span {
  position: relative;
  display: block;
  line-height: 1.5;
  font-size: 14px;
  padding: 10px 40px 10px 8px;
}

ul.accordion_list span:after {
  position: absolute;
  right: 12px;
  top: 12px;
  content: "";
  width: 17px;
  height: 17px;
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  background-size: 17px 588px;
  background-position: 0 -112px;
}

ul.accordion_list .open span {
  color: #fff;
  background-color: #4d6594;
}

.style_home ul.accordion_list .open span { background-color: #83c840; }
.style_comic ul.accordion_list .open span { background-color: #e57285; }
.style_maniax ul.accordion_list .open span { background-color: #75baeb; }
.style_pro ul.accordion_list .open span { background-color: #e075ab; }
.style_books ul.accordion_list .open span { background-color: #5aad5f; }

ul.accordion_list .open span:after {
  background-position: 0 0;
}

ul.accordion_list > li > ul > li > a {
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

/* カルーセル
-------------------------------------------------- */
#wrapper .bx-wrapper .bx-prev {
  background: url(../../images/web/common/btn_carousel_prev.png) left top no-repeat;
  background-size: 30px 20px;
}

#wrapper .bx-wrapper .bx-next {
  background: url(../../images/web/common/btn_carousel_next.png) left top no-repeat;
  background-size: 30px 20px;
}

/* キャンペーンカルーセル用
-------------------------------------------------- */
.head_campaign_banner .bx-wrapper {
  min-height: auto;
  margin: 0 auto;
}

.head_campaign_banner .bx-wrapper .bx-viewport {
  padding: 0;
}

.head_campaign_banner .bx-wrapper p {
  display: block;
  text-align: center;
}

.head_campaign_banner .bx-wrapper .bx-pager {
  opacity: 0.7;
  bottom: -4px;
  z-index: 100;
}

.head_campaign_banner .bx-wrapper .bx-pager.bx-default-pager a {
  background-color: #fff;
  height: 6px;
  width: 6px;
}

.head_campaign_banner p img {
  width: 100%;
  height: auto;
}

.head_campaign_banner .bx-wrapper .bx-prev {
  background: url(../../images/web/common/btn_carousel_prev.png) left top no-repeat;
  background-size: 30px 20px;
}

.head_campaign_banner .bx-wrapper .bx-next {
  background: url(../../images/web/common/btn_carousel_next.png) left top no-repeat;
  background-size: 30px 20px;
}

/* メインエリア
-------------------------------------------------- */
#wrapper {
  width: 100%;
  word-wrap: break-word;
  font-size: 14px;
}

/* 見出し
-------------------------------------------------- */
.main_lead_01 {
  color: #4d6594;
  font-size: 16px;
  height: 35px;
  line-height: 35px;
  padding-left: 8px;
  border-bottom: 1px solid #c5cee0;
  background-color: #e6ebf5;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
}

.main_lead_01 .sub {
  font-size: 12px;
  padding-left: 0;
}

.link_pc_work,
.link_sp_work {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 90px;
  height: 20px;
  line-height: 1;
}

.link_pc_work a,
.link_sp_work a {
  display: block;
  width: 90px;
  height: 20px;
  text-align: left;
  text-indent: -9999px;
  background: url(../../images/web/hometouch/btn_work_menu.png) 0 -200px no-repeat;
  background-size: 90px 380px;
}

.link_sp_work a {
  background-position: 0 -220px;
}

.link_twitter {
  position: absolute;
  right: 8px;
  top: 8px;
  line-height: 1;
}

/* <a>なしver ランキングで使用 */
.device_switch_01 {
  text-indent: -9999px;
}

.device_switch_01.link_pc_work:after,
.device_switch_01.link_sp_work:after {
  content: "";
  display: block;
  width: 90px;
  height: 20px;
  text-align: left;
  background: url(../../images/web/hometouch/btn_work_menu.png) 0 -200px no-repeat;
  background-size: 90px 380px;
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
}

.device_switch_01.link_sp_work:after {
  background-position: 0 -220px;
}

/* ----- サブタイトル ----- */
.sub_lead_01,
.home_box h1,
.refine_box h1 {
  position: relative;
  line-height: 1.3;
  color: #fff;
  font-size: 14px;
  padding: 6px 8px;
  border-bottom: none;
  background-color: #4d6594;
}

.home_box h1 span,
.refine_box h1 span {
  position: absolute;
  right: 0;
  top: 0;
  height: 30px;
}

.home_box h1 a,
.refine_box h1 a {
  display: block;
  height: 30px;
  line-height: 30px;
  color: #fff;
  font-size: 13px;
  padding: 0 8px 0 16px;
  background: url(../../images/web/hometouch/icon_link_page.png) left center no-repeat;
  background-size: 8px 7px;
}

.home_box h1 span.popular_genre_more,
.home_box h1 span.link_genre_more,
.refine_box h1 span.refine_more,
.refine_box h1 span.link_release {
  line-height: 30px;
  color: #fff;
  padding: 0 8px 0 16px;
  font-size: 13px;
  cursor: pointer;
}

.refine_box h1 span.link_release {
  right: 65px;
}

.home_box h1 span.popular_genre_more:after,
.home_box h1 span.link_genre_more:after,
.refine_box h1 span.refine_more:after {
  content: "";
  display: block;
  position: relative;
  top: -18px;
  left: -18px;
  height: 0;
  width: 0;
  overflow: hidden;
  color: rgba(0,0,0,0);
  border: 6px solid transparent;
  border-top-color: #ffd942;
}

.home_box h1 span.popular_genre_more.more:after,
.home_box h1 span.link_genre_more.more:after,
.refine_box h1 span.refine_more.more:after {
  border-top-color: transparent;
  border-bottom-color: #ffd942;
  top: -24px;
}

.refine_box h1 span.link_release:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  height: 14px;
  width: 14px;
  background: url(../../images/web/hometouch/icon_release_01.png) left top no-repeat;
  background-size: 14px 14px;
}

.sub_lead_01.small,
.sub_lead_02,
.home_box h2,
.refine_box h2 {
  line-height: 1.4;
  font-size: 12px;
  padding: 5px 8px;
}

.home_box h2,
.refine_box h2 {
  color: #fff;
  background-color: #7191bd;
}

.style_home .home_box h2 { background-color: #83c840; }
.style_comic .home_box h2 { background-color: #e57285; }
.style_maniax .home_box h2 { background-color: #75baeb; }
.style_pro .home_box h2 { background-color: #e075ab; }
.style_books .home_box h2 { background-color: #5aad5f; }

.sub_lead_02 {
  color: #4d6594;
  background-color: #e6ebf5;
}

.sub_lead_02.confirm {
  color: #333;
  background-color: #e5e5e5;
}

h1.gold_gradient {
  background: rgb(251,223,147); /* Old browsers */ /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(251,223,147,1)), color-stop(64%,rgba(248,181,0,1)), color-stop(67%,rgba(252,205,77,1)), color-stop(100%,rgba(252,234,187,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(-45deg,  rgba(251,223,147,1) 0%,rgba(248,181,0,1) 64%,rgba(252,205,77,1) 67%,rgba(252,234,187,1) 100%); /* Chrome10+,Safari5.1+ */ /* Opera 11.10+ */ /* IE10+ */
  background: -webkit-linear-gradient(315deg,  rgba(251,223,147,1) 0%,rgba(248,181,0,1) 64%,rgba(252,205,77,1) 67%,rgba(252,234,187,1) 100%);
  background: linear-gradient(135deg,  rgba(251,223,147,1) 0%,rgba(248,181,0,1) 64%,rgba(252,205,77,1) 67%,rgba(252,234,187,1) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbdf93', endColorstr='#fceabb',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  color: #a52a2a;
}

/* キャンペーン時の装飾 TOPに乗せる金帯、作品詳細ページでのキャンペーン告知 */
.mb00 {
  margin-bottom: 0 !important;
}

section#campaign_picup {
  background-color: rgba(252, 233, 183, 0.2);
}

h1.campaign_ttl {
  position: relative;
  line-height: 1.3;
  color: #630;
  font-size: 14px;
  padding: 6px 8px;
  border-top: solid #eec835 1px;
  border-bottom: solid #eec835 1px;
  background-color: #ffe581;
}

strong.work_price {
  color: #c00;
}

strong.half_price {
  color: #c00;
}

span.red {
  color: #c00;
}

span.campaign_arr {
  display: inline-block;
  margin-top: 18px;
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  background-size: 17px 588px;
  height: 10px;
  /* width: 0px; */
  padding-left: 18px;
  background-position: 0 -322px;
  position: absolute;
  right: 0;
  /* top: 16px; */
}

#campaign_picup ul.work_img_list {
  padding-top: 0;
}

/* フッター
-------------------------------------------------- */
.footer {
  clear: both;
  background-color: #4d6594;
}

ul.device {
  color: #fff;
  font-size: 14px;
  text-align: center;
  margin-top: 15px;
}

ul.device li {
  display: inline-block;
}

ul.device li a {
  display: block;
  padding: 7px 10px;
  color: #fff;
  border-radius: 3px;
  border: solid 1px #7191bd;
  font-size: 11px;
}

ul#footer_nav {
  text-align: center;
  padding: 0 15px;
  margin-top: 15px;
}

ul#footer_nav li {
  display: inline-block;
  font-size: 11px;
}

ul#footer_nav li a:after {
  content: " /";
}

ul#footer_nav li:last-child a:after {
  content: "";
}

ul#footer_nav li a {
  display: block;
  color: #fff;
  padding: 3px 0;
}

ul#footer_link_01 {
  text-align: center;
  background: #7191bd;
  display: table;
  width: 100%;
  table-layout: fixed;
  box-sizing: border-box;
}

ul#footer_link_01 li {
  width: 25%;
  display: table-cell;
  font-size: 12px;
  vertical-align: middle;
}

ul#footer_link_01 li:not(:first-child) {
  border-left: 1px solid #4d6594;
}

ul#footer_link_01 li a {
  display: block;
  color: #fff;
  padding: 12px 0;
}

ul#footer_link_01 li:last-child a {
  border-right: none;
}

ul#footer_link_02 {
  margin-top: 15px;
  color: #fff;
  font-size: 0;
  text-align: center;
}

ul#footer_link_02 li {
  display: inline;
  font-size: 11px;
}

ul#footer_link_02 li:not(.label) {
  border-right: 1px solid #7191bd;
  padding: 0 10px;
}

ul#footer_link_02 li:last-child {
  border-right: none;
}

ul#footer_link_02 li.label:after {
  display: inline;
  margin-left: 5px;
  content: ":";
}

ul#footer_link_02 li a {
  color: #fff;
}

.copyright {
  color: #fff;
  font-size: 10px;
  text-align: center;
  margin-top: 15px;
  border-top: solid 1px #7191bd;
  padding: 20px 0;
}

/* ==================================================
 フォーム
================================================== */

/* 基本設定
-------------------------------------------------- */
input,select,textarea,submit {
  font-size: 15px;
  line-height: 1.3;
}

/* テキスト入力 */
input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding: 8px;
  border: 1px solid #aaa;
  border-radius: 0;
  box-sizing: border-box;
}

input[type="email"].input_large {
  font-size: 20px;
}

.code_4col input {
  width: 60px;
  margin: 0 5px;
}

.code_4col input:first-child { margin-left: 0; }

/* メールアドレス補完 */
.autocomplete_box {
  position: relative;
  height: 0;
}

input.magazine_address ~ .autocomplete_box {
  width: calc(100% - 85px);
}

.user_regist_box input[type=text] ~ .autocomplete_box {
  width: 250px;
}

table.form_table input[size="42"] ~ .autocomplete_box,
table.form_table input[size="80"] ~ .autocomplete_box {
  width: 90%;
}

.autocomplete_box .ui-widget-content {
  width: 100% !important;
  position: absolute !important;
  z-index: 100;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  border: 1px solid #a9a9a9;
  box-sizing: border-box;
  background: #fff;
}

.autocomplete_box .ui-menu-item > div {
  display: block;
  padding: 8px 5px;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}

.autocomplete_box .ui-menu-item:not(:first-child) > div {
  border-top: solid 1px #ccc;
}

.autocomplete_box .ui-menu-item > div:hover,
.autocomplete_box .ui-state-hover,
.autocomplete_box .ui-widget-content .ui-state-hover,
.autocomplete_box .ui-widget-header .ui-state-hover,
.autocomplete_box .ui-state-focus,
.autocomplete_box .ui-widget-content .ui-state-focus,
.autocomplete_box .ui-widget-header .ui-state-focus {
  background: #fff9d9;
  color: #e58600;
  text-decoration: none;
}

.ui-helper-hidden-accessible {
  display: none;
}

/* ボタン */
input[type="submit"],input[type="reset"],input[type="button"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  padding: 0;
  border: none;
  border-radius: 6px;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* セレクト */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 37px;
  color: #333;
  padding: 0 31px 0 8px;
  background: url(../../images/web/hometouch/select_arrow.png) right center no-repeat #fff;
  background-size: 25px 37px;
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid #aaa;
}

/* テキストエリア */
textarea {
  width: 100%;
  height: 88px;
  padding: 3px 4px;
  border: 1px solid #aaa;
  box-sizing: border-box;
  resize: none;
}

p.text_count {
  font-size: 12px;
  text-align: right;
  margin: 12px 0;
}

p.text_count.over {
  color: #c00;
}

/* チェックボックス・ラジオ */
.check_radio_list_01 {
  margin-bottom: 10px;
  border-radius: 6px;
  border: 1px solid #aaa;
  background-color: #fff;
}

.check_radio_list_01.no_border {
  border: none;
  margin-bottom: 0;
}

.check_radio_list_01 li {
  position: relative;
}

.check_radio_list_01 li input {
  position: absolute;
  width: 100%;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.check_radio_list_01 li input[type="checkbox"],
.check_radio_list_01 li input[type="radio"] {
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
}

.check_radio_list_01 li input[type="checkbox"] + label,
.check_radio_list_01 li input[type="radio"] + label {
  display: block;
  line-height: 1.3;
  color: #333;
  padding: 15px 20px 15px 50px;
  border-bottom: 1px dotted #ccc;
}

.check_radio_list_01 li input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.check_radio_list_01 li input[type="radio"] + label {
  background: url(../../images/web/hometouch/btn_radio_off.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.check_radio_list_01 li input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.check_radio_list_01 li input[type="radio"]:checked + label {
  background: url(../../images/web/hometouch/btn_radio_on.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.check_radio_list_01 li:last-child input + label {
  border-bottom: none;
}

.check_radio_list_01 li.find {
  color: #666;
  background-color: rgb(245, 245, 245);
  padding: 10px;
  border-radius: 5px 5px 0 0;
}

/* 設定ラジオボタン */
.btn_select_box {
  position: relative;
  display: inline-block;
}

ul.btn_select_radio {
  border-radius: 3px;
  font-size: 15px;
}

ul.btn_select_radio.size_l {
  width: 200px;
}

ul.btn_select_radio li {
  display: inline-block;
  box-sizing: border-box;
  height: 44px;
  line-height: 44px;
  background: #fff;
  border: 1px solid #b8c3d9;
  text-align: center;
  color: #aaa;
  cursor: pointer;
}

ul.btn_select_radio.size_m li {
  width: 100px;
}

ul.btn_select_radio li:first-child {
  border-radius: 3px 0 0 3px;
  border-right: none;
}

ul.btn_select_radio li:last-child {
  border-radius: 0 3px 3px 0;
}

ul.btn_select_radio li.current {
  background: #607194 !important;
  color: #fff !important;
}

ul.btn_select_radio li:hover {
  background: #dde2ed;
  color: #fff;
}

.popup_message_01 {
  position: absolute;
  top: -35px;
  opacity: 0;
  margin: 0 auto;
  padding: 8px 10px;
  border-radius: 3px;
  background: #e6457a;
  color: #fff;
  font-size: 14px;
  text-align: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  white-space: nowrap;
}

.btn_select_box .popup_message_01 {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.work_btn .popup_message_01 {
  right: 45px;
}

.popup_message_01:after {
  position: absolute;
  top: 100%;
  left: 50%;
  height: 0;
  width: 0;
  border: 6px solid transparent;
  border-top: 6px solid #e6457a;
  content: "";
  margin-left: -6px;
}

.popup_message_01.on {
  opacity: 1;
  top: -45px;
}

/* フォローする,検索結果を保存 */
a.btn_savesearch,
a.btn_follow,
a.btn_mygenre {
  font-size: 12px;
  display: inline-block;
  line-height: 20px;
  height: 20px;
  padding: 0px 4px;
  margin-left: 4px;
  background: #ddd;
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #ddd 100%);
  background: linear-gradient(to bottom, #f7f7f7 0%, #ddd 100%);
  border: #aaa solid 1px;
  border-radius: 4px;
  color: #333;
  word-break: keep-all;
}

a.btn_savesearch::before,
a.btn_follow::before {
  display: inline-block;
  width: 16px;
  border-radius: 2px 0 0 2px;
  color: #333;
  text-align: center;
  font-family: "fontawesome";
}

a.btn_savesearch::before {
  content: "\f002";
}

a.btn_follow::before {
  content: "\f08a";
}

a.btn_follow_in:before {
  content: "\f004";
  color: #888;
}

a.btn_savesearch_in:before{
  color: #888;
}

li a.btn_savesearch,
li a.btn_follow,
li a.btn_mygenre {
  margin-top: 5px;
}

.text_box_01.search_condition .btn_savesearch,
.text_box_01.search_condition .btn_follow,
.text_box_01.search_condition .btn_mygenre {
  float: right;
  margin-bottom: 10px;
}

a.btn_savesearch_in,
a.btn_follow_in {
  background: #ccc;
  background: -webkit-linear-gradient(top, #ddd 0%, #ccc 100%);
  background: linear-gradient(to bottom, #ddd 0%, #ccc 100%);
  border-color: #aaa;
  color: #888;
}

a.btn_hp {
    font-size: 12px;
    display: inline-block;
    line-height: 18px;
    height: 18px;
    padding: 0px 6px 0px 4px;
    margin-bottom: 4px;
    background: #ddd;
    background: -webkit-linear-gradient(top, #f7f7f7 0%, #ddd 100%);
    background: linear-gradient(to bottom, #708abf 0%, #4d6594 100%);
    border: #4f6797 solid 1px;
    /* border-radius: 4px; */
    color: #fff;
    word-break: keep-all;
}

a.btn_hp::before {
  display: inline-block;
  width: 18px;
  color: #fff;
  text-align: center;
  vertical-align: bottom;
  font-size: 14px;
  font-family: "fontawesome";
  content: "\f015";
}

/* フォームエラー
-------------------------------------------------- */
.validetta-error {
  position: relative;
  display: block;
  max-width: 325px;
  color: #c00;
  font-size: 12px;
  padding: 8px 12px;
  margin: 12px 0 8px;
  border-radius: 5px;
  background-color: #fff1f1;
}

.validetta-error:before {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 12px;
  width: 0;
  height: 0;
  border-bottom: 5px solid #fff1f1;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.validetta-errorClose {
  display: block;
  cursor: pointer;
  position: absolute;
  top: -1px;
  right: 3px;
  color: c00;
  font-size: 12px;
}

.global_error_box ul,
.global_message_box ul,
.global_message_box > .mini_message {
  margin: 12px;
}

.text_box_01 + .global_error_box ul,
.text_box_01 + .global_message_box ul {
  margin-top: 0;
}

.global_error_box:not([style$="none;"]) + .text_box_01,
.global_message_box:not([style$="none;"]) + .text_box_01 {
  padding-top: 0;
}

/* 重要 */
.global_error_box ul li {
  line-height: 1.4;
  color: #c00;
  font-size: 12px;
  font-weight: bold;
  padding: 8px;
  margin-bottom: 8px;
  border: 2px solid #c00;
  background-color: #fff1f1;
}

/* メッセージ */
.global_message_box > ul > li {
  line-height: 1.4;
  color: #ef7700;
  font-size: 12px;
  font-weight: bold;
  padding: 8px;
  margin-bottom: 8px;
  border: 2px solid #fcb165;
  border-radius: 6px;
  background-color: #fff9d9;
}

/* 注意リスト */
.global_error_box ul.error_list_attention li {
  font-weight: normal;
  border: 1px solid #c00;
}

.global_error_box ul.error_list_attention li:last-child {
  margin-bottom: 0;
}

/* 注意文 */
.global_error_box .error_message {
  padding: 8px;
  margin: 12px 12px 8px;
  border: 1px solid #c00;
  background-color: #fff1f1;
}

.global_error_box .error_message p {
  line-height: 1.5;
  font-size: 12px;
  margin-bottom: 12px;
}

.global_error_box .error_message p:first-child {
  margin-bottom: 4px;
}

.global_error_box .error_message p:last-child {
  margin-bottom: 0;
}

.global_error_box .error_message p strong {
  color: #c00;
  font-size: 14px;
}

input.input_error,
textarea.input_error {
  border: 1px solid #d9b8b8;
  background-color: #fff1f1;
}

/* セキュリティ
-------------------------------------------------- */
.form_security {
  padding: 16px 12px;
  background-color: #fff;
}

.form_security p {
  color: #666;
  font-size: 11px;
  line-height: 1.4;
  border-top: 1px solid #ccc;
  padding-top: 10px;
}

.form_security p:first-child {
  border-top: none;
  padding: 0 0 10px;
}

.form_security p:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.form_security p img {
  float: left;
  margin: 0 8px 8px 0;
}

.form_security p strong {
  clear: left;
  display: block;
  font-size: 12px;
  padding-bottom: 4px;
}

/* フォームレイアウト
-------------------------------------------------- */

/* ----- 情報入力 ----- */

/* フロー */
.flow {
  text-align: center;
  padding: 12px 0;
}

.flow span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  border-radius: 10px;
  background-color: #ccc;
}

.flow span.current {
  background-color: #fa8c1e;
}

/* フロー2 */

.flow_02:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.flow_02 ul {
  width: 100%;
  display: table;
  border-bottom: 1px solid #ccc;
  table-layout: fixed;
  overflow: hidden;
}

.flow_02 li {
  display: table-cell;
  padding-left: 9px;
  position: relative;
  height: 36px;
  line-height: 36px;
  text-align: center;
  box-sizing: border-box;
  background: #f5f5f5;
}

.flow_02 li:before,
.flow_02 li:after {
  content: "";
  position: absolute;
  top: 0;
  right: -9px;
}

.flow_02 li:before {
  border-left: 10px solid #ccc;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  z-index: 5;
  right: -10px;
  top: -2px;
}

.flow_02 li:after {
  border-left: 9px solid #f5f5f5;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  z-index: 10;
}

.flow_02 li:first-child {
  padding: 0;
}

.flow_02 li:last-child:before,
.flow_02 li:last-child:after {
  border: none;
}

.flow_02 ul.current_01 li:nth-child(1),
.flow_02 ul.current_02 li:nth-child(2),
.flow_02 ul.current_03 li:nth-child(3) {
  background: #4d6594;
  color: #fff;
}

.flow_02 ul.current_01 li:nth-child(1):before,
.flow_02 ul.current_02 li:nth-child(2):before,
.flow_02 ul.current_02 li:nth-child(1):before,
.flow_02 ul.current_03 li:nth-child(3):before,
.flow_02 ul.current_03 li:nth-child(2):before {
  border: none;
}

.flow_02 ul.current_01 li:nth-child(1):after,
.flow_02 ul.current_02 li:nth-child(2):after,
.flow_02 ul.current_03 li:nth-child(3):after {
  border-left-color: #4d6594;
}

/* フォーム入力項目 */
.form_list_01 {
  border-top: 1px solid #ccc;
}

.form_list_01 > li {
  border-bottom: 1px solid #ccc;
}

.form_list_01 li dl {
}

.form_list_01 li dt {
  line-height: 1.5;
  color: #666;
  font-size: 14px;
  padding: 6px 8px;
  background-color: #f5f5f5;
}

.form_list_01 li dt span {
  color: #ef7700;
  font-size: 12px;
  margin-left: 8px;
}

.form_list_01 li dt span.either {
  color: #e04861;
}

.form_list_01 li dd {
  padding: 12px;
}

.form_list_01 li dd .guide_input {
  color: #666;
  font-size: 12px;
  line-height: 1.4;
  padding: 6px 0;
}

.form_list_01 li dd .guide_input:last-child {
  padding-bottom: 0;
}

.form_list_01 li dd ul.guide_input {  
}

.form_list_01 li dd ul.guide_input > li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 8px;
}

.form_list_01 li dd ul.guide_input > li:before {
  content: "";
  position: absolute;
  left: 2px;
  top: 6px;
  width: 3px;
  height: 3px;
  background-color: #ef7700;
}

.form_list_01 .form_sub_title {
  line-height: 1.6;
  padding: 4px 0;
}

.form_list_01 .guide_radio {
  color: #ef7700;
  font-size: 12px;
  padding: 4px 0 0 27px;
}

/* ----- 入力内容の確認 ----- */
.form_list_01.confirm {
}

.form_list_01.confirm li dl {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.form_list_01.confirm li dt,
.form_list_01.confirm li dd {
  display: table-cell;
  vertical-align: middle;
}

.form_list_01.confirm li dt {
  line-height: 1.3;
  font-size: 11px;
  width: 80px;
  text-align: right;
}

.form_list_01.confirm li dd {
  line-height: 1.4;
  font-size: 13px;
  padding: 12px 8px;
}

.form_list_01.confirm li dd:empty:before {
  content: "　";
  color: #fff;
}

.form_list_01.confirm .comfirm_mail_address {
  font-size: 15px;
  font-weight: bold;
}

.form_list_01.confirm .comfirm_mail_btn {
  display: block;
  margin-top: 5px;
  height: 34px;
  position: relative;
}

.comfirm_mail_btn .btn_testmail {
  display: block;
  width: 150px;
  height: 34px;
  line-height: 34px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-radius: 6px;
  background-color: #f5f5f5;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  cursor: pointer;
  position: absolute;
  left: 0;
  bottom: 0;
}

.comfirm_mail_btn .mini_message {
  color: #ef7700;
  font-size: 12px;
  line-height: 1.5;
  display: inline-block;
  margin: 0;
  height: 32px;
  line-height: 32px;
  padding: 0 12px;
}

/* ----- 完了メッセージ ----- */
.form_message {
  margin-bottom: 12px;
}

.form_message h2 {
  line-height: 1.6;
  font-size: 15px;
  text-align: center;
  padding: 12px;
  border-bottom: 1px solid #ccc;
}

.message_text {
  padding: 12px;
}

.message_text p {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 12px;
}

.message_text strong {
  color: #ef7700;
}

.message_text :last-child {
  margin-bottom: 0;
}

/* フォーム個別設定
-------------------------------------------------- */

/* ログインID */
input.loginid {
  width: 180px;
  margin-right: 5px;
}

input.loginid_btn {
  width: 90px;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

.loginid_check {
  position: relative;
  display: block;
  max-width: 325px;
  color: #3f8c3f;
  font-size: 12px;
  padding: 8px 12px;
  margin-top: 12px;
  border-radius: 5px;
  background-color: #edfaed;
}

.loginid_check.error {
  color: #c00;
  background-color: #fff1f1;
}

.loginid_check:before {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 12px;
  width: 0;
  height: 0;
  border-bottom: 5px solid #edfaed;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.loginid_check.error:before {
  border-bottom-color: #fff1f1;
}

/* 生年月日 */
.birthdate_01 {
  width: 80px;
}

.birthdate_02 {
  width: 70px;
}

/* 郵便番号 */
input.zipcode_01 {
  width: 60px;
  margin-right: 5px;
}

input.zipcode_02 {
  width: 80px;
  margin: 0 5px;
}

input.zipcode_btn {
  width: 90px;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

/* 金融機関選択 */
.bank_select {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.bank_select li {
  display: table-cell;
}

.bank_select li:first-child {
  padding-right: 4px;
}

.bank_select li:last-child {
  padding-left: 4px;
}

.bank_select input[type="button"] {
  width: 100%;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

/* 金融機関・支店名の頭文字 */
input[type="text"].bankinitial {
  width: 180px;
  margin-right: 5px;
}

input[type="button"].bankinitial_btn {
  width: 90px;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

/* 口座番号 */
input[type="number"].banknumber_01 {
  width: 100px;
  margin-right: 5px;
}

input[type="number"].banknumber_02 {
  width: 120px;
  margin: 0 5px;
}

/* メールマガジン */
input.magazine_address {
  width: calc(100% - 85px);
  margin-right: 5px;
  float: left;
}

input.magazine_cancel_btn {
  width: 80px;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

/* ==================================================
 共通
================================================== */

/* テキスト
-------------------------------------------------- */
.text_box_01 {
  padding: 12px;
}

.text_box_01 p {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 12px;
}

.text_box_01 p.small {
  font-size: 12px;
  line-height: 1.5;
}

.text_box_01 :last-child {
  margin-bottom: 0;
}

ul.base_list > li,
ul.base_list_in > li {
  position: relative;
  font-size: 13px;
  line-height: 1.6;
  padding-left: 14px;
  margin-bottom: 8px;
}

ul.attention_list > li {
  line-height: 1.6;
  font-size: 13px;
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 8px;
}

ul.base_list.small > li,
ul.base_list_in.small > li,
ul.attention_list.small > li {
  font-size: 12px;
  line-height: 1.5;
}

ul.base_list > li:before,
ul.base_list_in > li:before {
  content: "";
  position: absolute;
  left: 2px;
  top: 6px;
  width: 4px;
  height: 4px;
  background-color: #ef7700;
}

ul.attention_list > li:before {
  content: "※";
}

ul.base_list > li p,
ul.base_list_in > li p,
ul.attention_list > li p {
  line-height: 1.5;
}

ul.base_list .link_list_box {
  margin-top: 8px;
}

ul.base_list.no_type > li {
  padding-left: 0;
}

ul.base_list.no_type > li:before {
  background: none;
}

ul.base_list > li.no_type:before {
  background: none;
}

ul.base_list_in {
  padding-top: 8px;
}

ol.base_list > li,
ol.base_list_in > li {
  list-style-type: decimal;
  font-size: 13px;
  line-height: 1.6;
  margin-left: 20px;
  margin-bottom: 8px;
}

ol.base_list.small > li,
ol.base_list_in.small > li {
  font-size: 12px;
  line-height: 1.5;
}

ol.base_list_in {
  padding-top: 8px;
}

dl.base_list {
}

dl.base_list dt {
  font-size: 13px;
  line-height: 1.6;
  padding: 4px 0 4px 8px;
  margin-bottom: 8px;
  border-left: 5px solid #c5cee0;
}

dl.base_list dd {
  line-height: 1.5;
  font-size: 12px;
  margin-bottom: 16px;
}

.link_text {
  display: inline-block;
  height: 1.2em;
  line-height: 1.2em;
  font-size: 14px;
  padding-left: 1.2em;
  background: url(../../images/web/hometouch/icon_link_text.png) left center no-repeat;
  background-size: 12px 12px;
}

/* アイコン
-------------------------------------------------- */

/* ----- 評価アイコン ----- */
.work_hyouka_1,
.work_hyouka_2,
.work_hyouka_3,
.work_hyouka_4,
.work_hyouka_5 {
  height: 20px;
  line-height: 20px;
  font-size: 11px;
  padding-left: 25px;
  background: url(../../images/web/hometouch/icon_myhyouka.png) no-repeat;
  background-size: 20px 200px;
}

.work_hyouka_1 {
  background-position: 0 -160px;
}

.work_hyouka_2 {
  background-position: 0 -120px;
}

.work_hyouka_3 {
  background-position: 0 -80px;
}

.work_hyouka_4 {
  background-position: 0 -40px;
}

.work_hyouka_5 {
  background-position: 0 0;
}

/* ----- 評価分布図 ----- */
.hyouka_detail {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  z-index: 99999;
}

.hyouka_detail section {
  position: fixed;
  left: 6%;
  top: 8%;
  width: 88%;
  height: auto;
  padding: 8px;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
}

.work_header .hyouka_detail h1 {
  color: #536280;
  font-size: 13px;
  font-weight: bold;
  padding: 5px 40px 10px 5px;
}

.hyouka_detail table {
  width: 100%;
  font-size: 13px;
  border-collapse: separate;
}

.hyouka_detail table th,
.hyouka_detail table td {
  vertical-align: top;
  border: 1px solid #fff;
  white-space: nowrap;
}

.hyouka_detail table th {
  color: #536280;
  text-align: right;
  padding: 10px;
  background: #e6eaf2;
}

.hyouka_detail table td {
  padding: 0 0 0 10px;
}

span.eva_ave {
  font-size: 15px;
  font-weight: bold;
}

span.eva_count {
  font-weight: normal;
  font-size: 11px;
  padding-left: 5px;
}

.hyouka_detail td div {
  margin: 5px 0;
}

/* ----- 別窓リンク ----- */
.icon_link_blank_01 {
  padding: 0 0 0 15px;
  background: url(../../images/web/common/icon_link_blank_01_touch.gif) no-repeat left center;
  background-size: 11px 11px;
}

.icon_link_blank_btn_01 {
  padding: 0 0 0 15px;
  background: url(../../images/web/common/icon_link_blank_02_touch.gif) no-repeat left center;
  background-size: 11px 11px;
}

/* ----- SNSボタン ----- */
.btn_twitter_01 a {
  display: block;
  width: 34px;
  height: 34px;
  border: 1px solid #1b7bb6;
  border-radius: 4px;
  box-sizing: border-box;
  background: #1da1f2;
  background: -webkit-linear-gradient(top, #1da1f2 0%, #1b90d9 100%);
  background: linear-gradient(to bottom, #1da1f2 0%, #1b90d9 100%);
  color: #fff;
  font-size: 18px;
  line-height: 34px;
  text-align: center;
}

/* 見出しアンカーリンク
--------------------------------------------------------- */

ul.headline_skip_nav > li {
  list-style: none;
  position: relative;
  line-height: 1.6;
  margin-bottom: 8px;
  font-size: 13px;
}

ul.headline_skip_nav > li:before {
  position: absolute;
  top: -2px;
  left: 0;
  
  content: "\f078";
  color: #a3acbf;
  font-family: FontAwesome;
}

ul.headline_skip_nav > li a {
  padding-left: 1.3em;
}

/* バッジ
-------------------------------------------------- */

/* 表示位置は各所で個別指定 */

.badge {
  display: table;
}

.badge span {
  display: table-cell;
  width: 12px;
  height: 18px;
  border-radius: 9px;
  background-clip: padding-box;
  background-color: #ffd942;
  color: #4d6594;
  font-size: 12px;
  font-weight: bold;
  padding: 0 3px 0 3px;
  text-align: center;
  vertical-align: middle;
  line-height: 18px;
}

.hd_btn li a .badge {
  text-indent: 0;
}

/* リスト
-------------------------------------------------- */

/* ----- 1列リスト ----- */
.link_list li {
  border-bottom: 1px solid #ddd;
}

.link_list li:last-child {
  border-bottom: none;
}

.link_list li a {
  display: block;
  line-height: 1.5;
  color: #333;
  font-size: 13px;
  padding: 10px 30px 10px 8px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

.link_list li a p.name {
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.link_list li a p.name span {
  color: #666;
  padding-left: 8px;
}

.link_list li a p.info {
  color: #666;
  font-size: 10px;
}

/* 人気作品 */
.link_list.circle p.name { line-height: 46px; }

.link_list.circle li a p.name img { margin-right: 8px; }

/* ----- 1列リスト（外余白あり） ----- */
.link_list_box {
  margin-bottom: 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #fff;
}

.link_list_box li {
  border-bottom: 1px solid #ccc;
}

.link_list_box li:last-child {
  border-bottom: none;
}

.link_list_box li a {
  display: block;
  line-height: 1.5;
  color: #333;
  font-size: 13px;
  padding: 13px 30px 13px 12px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

/* ----- 2列リスト ----- */
.link_2col_list {
  width: 100%;
}

.link_2col_list:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.link_2col_list li {
  float: left;
  width: 50%;
  box-sizing: border-box;
  border-bottom: 1px solid #c5cee0;
}

.link_2col_list li:nth-child(odd) {
  border-right: 1px solid #c5cee0;
}

.link_2col_list li a {
  display: block;
  height: 44px;
  line-height: 44px;
  color: #333;
  font-size: 13px;
  padding-left: 12px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

/* ボタン
-------------------------------------------------- */

/* ----- 基本ボタン ----- */
.btn_01 {
  text-align: center;
}

/* 橙 */
.btn_01 input,
.btn_01 a {
  height: 44px;
  line-height: 44px;
  color: #fff;
  background-color: #fa8c1e;
}

.btn_01 input {
  width: 100%;
  margin-bottom: 10px;
}

.btn_01 input[type="image"] {
  width: auto;
  height: auto;
}

.btn_01 a {
  display: inline-block;
  width: 100%;
  font-size: 16px;
  vertical-align: middle;
  border-radius: 6px;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  cursor: pointer;
  margin-bottom: 10px;
}

.btn_01 a:only-child {
  margin-bottom: 0;
}

/* 赤 */
.btn_01 input.type_02,
.btn_01 a.type_02 {
  background-color: #dc4760;
}

/* 緑 */
.btn_01 input.type_03,
.btn_01 a.type_03 {
  background-color: #54b733;
}

/* 黒 */
.btn_01 input.type_04,
.btn_01 a.type_04 {
  background-color: #808080;
}

/* disable */
.btn_01 input.disabled,
.btn_01 a.disabled {
  background-color: #ccc;
}

/* ボタン2つの場合 */
div.btn_01.parallel input {
  margin-bottom: 0;
}

div.btn_01.parallel input,
div.btn_01.parallel a {
  width: 48%;
}

div.btn_01.parallel a:first-child,
div.btn_01.parallel input:first-child {
  margin-right: 5px;
  margin-bottom: 0;
}

/* ローダー
-------------------------------------------------- */
.loading_box {
  position: relative;
  width: 100%;
  height: 100px;
}

.loading {
  position: relative;
}

.loading:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 1;
}

.loading:after {
  content: "";
  position: absolute;
  top: 20px;
  left: 50%;
  width: 31px;
  height: 31px;
  margin-left: -15px;
  z-index: 2;
  text-align: center;
  background: url(../../images/web/common/loading_touch.gif) center top no-repeat;
  background-size: 31px 31px;
}

/* タブ
-------------------------------------------------- */
.tab_area {
}

.tab_area ul {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.tab_area ul li {
  display: table-cell;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-right: 1px solid #ddd;
  box-sizing: border-box;
}

.tab_area ul li:last-child {
  border-right: none;
}

.tab_area ul li a {
  display: block;
  height: 36px;
  color: #666;
  border-bottom: 1px solid #ddd;
  background-color: #f5f5f5;
}

.tab_area ul li.current a {
  color: #333;
  border-bottom: 1px solid #fff;
  background-color: #fff;
}

.switch_area {
  padding: 12px;
}

.switch_area ul {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.switch_area ul li {
  display: table-cell;
  height: 36px;
  line-height: 36px;
  color: #666;
  text-align: center;
  border: 1px solid #ddd;
  background-color: #f5f5f5;
}

.switch_area ul li:nth-child(n+2) {
  border-left: none;
}

.switch_area ul li.current {
  background-color: #fff;
}

.switch_area ul li a {
  display: block;
  height: 36px;
  line-height: 36px;
}

/* 開閉
-------------------------------------------------- */
.truncate {
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.2s linear 0;
}

.truncate:after {
  content: "− 閉じる";
  display: inline-block;
  height: 28px;
  line-height: 28px;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #333;
  font-size: 14px;
  text-align: center;
  padding: 0 12px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  -webkit-transition: all 0.6s linear 0;
}

/* 閉じた状態 */
.truncate.close {
  height: 120px;
}

.truncate.close:before {
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  position: absolute;
  bottom: -1px;
  left: 0;
  background: url(../../images/web/common/bg_truncate.png) left bottom repeat-x;
  background-size: 10px 80px;
}

.truncate.close:after {
  content: "＋ 開く";
}

/* スクロールアップ
-------------------------------------------------- */
#scrollUp {
  bottom: 10px;
  right: 10px;
  height: 48px;  /* Height of image */
  width: 48px; /* Width of image */
  background: url(../../images/web/common/btn_pagetop.png) no-repeat;
  background-size: 48px 48px;
}
   
/* 装飾
-------------------------------------------------- */

/* ----- 文字色 ----- */
.color_01 { color: #ef7700; } /* 橙 */
.color_02 { color: #d9415a; } /* 赤 */
.gray { color: #666; }

/* ----- 文字サイズ ----- */
.fs10 { font-size: 10px !important; }
.fs11 { font-size: 11px !important; }
.fs12 { font-size: 12px !important; }
.fs13 { font-size: 13px !important; }
.fs14 { font-size: 14px !important; }
.fs15 { font-size: 15px !important; }
.fs16 { font-size: 16px !important; }

/* ----- 文字装飾色 ----- */
.strike { text-decoration: line-through; }

/* ----- 文字揃え ----- */
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

/* ----- 余白 ----- */
.pt0 { padding-top: 0 !important; }
.pt8 { padding-top: 8px; }
.pt12 { padding-top: 12px; }
.pt16 { padding-top: 16px; }
.pt24 { padding-top: 24px; }
.pt32 { padding-top: 32px !important; }

.pb0 { padding-bottom: 0 !important; }
.pb8 { padding-bottom: 8px; }
.pb12 { padding-bottom: 12px; }
.pb16 { padding-bottom: 16px; }
.pb24 { padding-bottom: 24px; }
.pb32 { padding-bottom: 32px !important; }

.mt0 { margin-top: 0 !important; }
.mt8 { margin-top: 8px; }
.mt12 { margin-top: 12px; }
.mt16 { margin-top: 16px; }
.mt24 { margin-top: 24px; }
.mt32 { margin-top: 32px !important; }

.mb0 { margin-bottom: 0 !important; }
.mb8 { margin-bottom: 8px; }
.mb12 { margin-bottom: 12px; }
.mb16 { margin-bottom: 16px; }
.mb24 { margin-bottom: 24px; }
.mb32 { margin-bottom: 32px !important; }

/* ==================================================
 その他
================================================== */

/* 0件（重要なお知らせ、お気に入り、ログイン済み）
-------------------------------------------------- */
.info_none,
.wishlist_none,
.regist_already {
  padding: 12px;
}

.info_none p,
.wishlist_none p,
.regist_already p {
  line-height: 1.6;
  font-size: 13px;
  margin-bottom: 12px;
}

.info_none p:last-child,
.wishlist_none p:last-child,
.regist_already p:last-child {
  margin-bottom: 0;
}

.info_none a,
.wishlist_none a,
.regist_already a {
  display: block;
  width: 100%;
  height: 44px;
  line-height: 44px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-radius: 6px;
  background-color: #f5f5f5;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* もっと見る
-------------------------------------------------- */
div.more_load,
div.more_link {
  height: 48px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #f5f5f5;
}

div.more_link a {
  display: block;
  height: 48px;
  color: #666;
}

div.more_load span,
div.more_link span {
  display: inline-block;
  margin-top: 18px;
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  background-size: 17px 588px;
}

div.more_load span {
  padding-left: 18px;
  background-position: 0 -373px;
}

div.more_link span {
  padding-left: 18px;
  background-position: 0 -322px;
}

div.more_load.loading:after,
div.more_link.loading:after {
  top: 9px;
}

/* ソート・ページャー
-------------------------------------------------- */

/* ソート */
.status_select {
  height: 50px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.status_select select {
  font-size: 14px;
  height: 30px;
}

dl.sort_type_only {
  display: table;
  width: 100%;
  font-size: 13px;
}

dl.sort_type_only dt,
dl.sort_type_only dd {
  display: table-cell;
  height: 50px;
  vertical-align: middle;
}

dl.sort_type_only dt {
  width: 64px;
  padding-left: 12px;
}

dl.sort_type_only dd {
  padding: 0 12px 0 0;
}

/* ページャー */
.work_list_guide {
}

.pager_area {
  position: relative;
  font-size: 14px;
  height: 48px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.pager_area p {
  position: absolute;
  top: 0;
  width: 62px;
}

.pager_area p.prev {
  left: 0;
  border-right: 1px solid #ddd;
}

.pager_area p.next {
  right: 0;
  border-left: 1px solid #ddd;
}

.pager_area p a {
  display: block;
  height: 48px;
  line-height: 48px;
  color: #333;
  text-align: center;
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  background-size: 17px 588px;
}

.pager_area p.prev a {
  padding-left: 12px;
  background-position: 15px -509px;
}

.pager_area p.next a {
  padding-right: 12px;
  background-position: 39px -456px;
}

.pager_area ul {
  text-align: center;
}

.pager_area ul li {
  display: inline-block;
  margin: 11px 0 0 0;
}

.pager_area ul li a,
.pager_area ul li span {
  display: block;
  color: #333;
  padding: 6px 10px;
}

.pager_area ul li.current span {
  color: #fff;
  background-color: #999;
}

/* 対象件数 */
.work_count {
  height: 30px;
  line-height: 30px;
  font-size: 12px;
  padding: 0 8px;
  border-bottom: 1px solid #ddd;
  background-color: #f5f5f5;
}

.work_list_guide.btm .work_count {
  text-align: right;
  border-top: 1px solid #ddd;
}

/* メッセージ
-------------------------------------------------- */

/* ----- 初期表示・検索結果0件時など ----- */
.guide_message {
  position: relative;
  line-height: 1.5;
  color: #666;
  font-size: 14px;
  padding: 12px;
  margin: 24px 12px 24px;
  border-radius: 6px;
  background-color: #f5f5f5;
}

.guide_message:after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  top: -7px;
  left: 50%;
  margin-left: -7px;
  background-color: #f5f5f5;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}

.guide_message ul {
  padding: 12px;
}

.guide_message ul li {
  margin-bottom: 8px;
}

.guide_message ul li:last-child {
  margin-bottom: 0;
}

/* ----- 文中メッセージ ----- */

/* 橙（購入データ移行申請など） */
.mini_message {
  padding: 8px 12px;
  margin: 12px 0 12px;
  border-radius: 6px;
  border: 1px solid #fcb165;
  background-color: #fffae0;
}

.mini_message p {
  color: #ef7700;
  font-size: 12px;
  line-height: 1.5;
}

.mini_message p strong {
  font-size: 13px;
  padding: 0 2px;
}

.mini_message ul.attention_list li {
  line-height: 1.4;
  font-size: 12px;
}

.mini_message ul.attention_list li:last-child {
  margin-bottom: 0;
}

/* 強調（大文字・センター） */
.mini_message.large p,
.mini_message.large p strong {
  font-size: 14px;
  text-align: center;
}

/* 赤（注意文的なもの） */
.mini_message.attention {
  border: 1px solid #f58eb0;
  background-color: #fff2f9;
}

.mini_message.attention p {
  color: #ca3064;
}

.mini_message.attention ul li {
  color: #ca3064;
}

.mini_message.attention p span.title {
  color: #ca3064;
  font-weight: bold;
  display: block;
  padding-bottom: 2px;
}

/* 緑（ポイント決済など） */
.mini_message.important {
  border: 1px solid #92d1a7;
  background-color: #f0faf3;
}

.mini_message.important p {
  color: #6ab883;
}
   
/* キャンペーンバナー（フッター固定）
-------------------------------------------------- */
#campaign_banner_fix {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  padding: 5px;
  background: rgba(0,0,0,0.5);
  width: 100%;
  font-size: 0;
  vertical-align: top;
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 99999;
}

#campaign_banner_fix.fade {
  bottom: -100px !important;
}

#campaign_banner_fix.cbf_col_2 a {
  display: inline-block;
  vertical-align: top;
}

#campaign_banner_fix div.cbf_close {
  background: rgba(0,0,0,0.5);
  width: 22px;
  height: 0;
  padding-top: 22px;
  overflow: hidden;
  font-size: 20px;
  border-radius: 2px;
  position: absolute;
  left: 5px;
  top: 5px;
  line-height: 26px;
  text-align: center;
  z-index: 9999999999;
}

#campaign_banner_fix div.cbf_close::before,
#campaign_banner_fix div.cbf_close::after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #ccc;
  top: 50%;
  left: 50%;
  margin: -7px 0 0 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}

#campaign_banner_fix div.cbf_close::before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}

/* ----- 同時開催中キャンペーンバナー ----- */
.more_campaign_banners {
  padding: 10px;
}

.more_campaign_banners p {
  margin: 0 0 8px;
}

.more_campaign_banners img {
  width: 100%;
  height: 100%;
}

/* 対象サービスポップ擬似要素 */
.more_campaign_banners .target {
  display: block;
  width: 100%;
  height: 25px;
  margin: 5px auto 15px;
  border-radius: 3px;
  background: #e6eaf2;
  color: #536280;
  line-height: 25px;
  text-align: center;
  vertical-align: middle;
}

/* ==================================================
 作品表示形式
================================================== */

dt.work_thumb {
  text-align: center;
}

dt.work_thumb img {
  vertical-align: bottom;
}

dd.work_no {
  font-size: 12px;
}

.work_point {
  color: #093;
}

dd.work_other {
  font-size: 10px;
}

span.work_dl {
  font-size: 10px;
  padding-left: 10px;
}

/* 詳細表示
-------------------------------------------------- */
.work_list {
  width: 100%;
}

.work_list > li {
  position: relative;
  border-bottom: 1px solid #c5cee0;
}

.work_list dl {
  line-height: 1.3;
  padding: 12px 8px 4px;
}

.work_list dl:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

/* キャンペーン中ランキングページに表示される【＊＊還元】の文字サイズを隣接するサイズに合わせる */
.work_list dd span.discount_cam {
  font-size: 14px !important;
}

/*.work_list dt{ float:left; margin:0; text-align:center;}*/
.work_list dt {
  float: left;
  margin: 0;
  text-align: center;
  display: table;
}

.work_list dt img{
 max-width: 90px;
}

.work_list dd {
  padding-bottom: 3px;
  margin-left: 98px;
}

.work_list dd.work_name {
  font-size: 14px;
  font-weight: bold;
  word-wrap: break-word;
}

.work_list dd.maker_name {
  font-size: 13px;
}

.work_list dd.work_price {
  color: #c00;
  font-size: 13px;
  line-height: 1.4;
}

.work_list dd.work_price span.lead_price {
  display: block;
  color: #333;
  font-weight: bold;
  padding-bottom: 2px;
}

.work_price .strike {
  color: #333;
}

.work_list dd.work_cp {
  font-size: 12px;
}

.work_list dd.work_genre {
  letter-spacing: -0.4em;/* 文字間を詰めて隙間を削除する */
}

.work_list dd.work_date,
.work_list dd.work_rental_limit {
  clear: both;
  color: #666;
  font-size: 11px;
  text-align: right;
  padding-top: 4px;
  margin-left: 0;
}

.work_list dd.work_rental_limit {
  padding-top: 0;
}

.work_list dd.work_date.expected {
  color: #c11f7b;
}

.download_work_list .work_list dd.work_pack,
.work_list dd.work_pack {
  clear: both;
  margin: 0;
  padding: 12px 0 0;
}

.work_list dd.work_pack > p {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 6px;
}

/* 作品名の真上に割引終了期日 */
.work_date.period {
    display: block;
    color: #c11f7b;
    padding: 0 0 3px;
    font-size: 12px;
    line-height: 1.1;
    font-weight: normal;
}

/* ----- お気に入りに追加・サンプルを見る ----- */
div.work_btn {
  position: relative;
  font-size: 12px;
  height: 30px;
  color: #c5cee0;
  text-align: right;
  padding: 0 8px;
  background-color: #e6ebf5;
}

div.work_btn > a,
div.work_btn > span {
  position: relative;
  display: inline-block;
  width: 82px;
  height: 20px;
  text-align: left;
  text-indent: -9999px;
  margin: 5px 0 0 2px;
  background: url(../../images/web/hometouch/btn_work_menu.png) no-repeat;
  background-size: 90px 380px;
}

/* お気に入りに追加 */
div.work_btn > a.link_favorite,
div.work_btn > a.btn_favorite { background-position: 0 0; }
div.work_btn > a.btn_favorite_in { background-position: 0 -20px; }

/* カートに追加 */
div.work_btn > a.link_cart,
div.work_btn > a.btn_cart { background-position: 0 -40px; }
div.work_btn > a.btn_cart_in { background-position: 0 -60px; }
div.work_btn > a.btn_detail { background-position: 0 -360px; }

/* ダウンロード */
div.work_btn > a.btn_dl { background-position: 0 -80px; }
div.work_btn > a.btn_dl_no { background-position: 0 -100px; }/* ダウンロード不可（PC作品） */

/* ブラウザ視聴 */
div.work_btn > a.btn_st { background-position: 0 -240px; }

/* サンプル画像 */
div.work_btn > a.link_sample { background-position: 0 -120px; }
div.work_btn > span { background-position: 0 -140px; }/* サンプル画像無し */

/* カートから移動 */
div.work_btn > a.link_move { background-position: 0 -160px; }
div.work_btn > a.link_delete { background-position: 0 -180px; }

/* お知らせメール送る */
div.work_btn a.send.current { background-position: 0 -280px; }
div.work_btn a.send { background-position: 0 -300px; }

/* お知らせメール送らない */
div.work_btn a.notsend.current { background-position: 0 -320px; }
div.work_btn a.notsend { background-position: 0 -340px; }

div.work_btn > a span.add_message {
  display: block;
  position: absolute;
  left: 0;
  top: -45px;
  opacity: 0;
  height: 40px;
  line-height: 40px;
  text-indent: 0;
  color: #fff;
  font-size: 14px;
  text-align: center;
  margin: 0;
  border-radius: 6px;
  background: rgba(0,0,0,0.6);
}

div.work_btn > a.link_favorite span.add_message {
  width: 190px;
}

div.work_btn > a.link_cart span.add_message {
  width: 170px;
  left: -44px;
}

/* 画像表示
-------------------------------------------------- */
ul.work_img_list {
  padding: 12px 0;
}

ul.work_img_list:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

ul.work_img_list > li {
  position: relative;
  float: left;
  width: 104px;
  width: 33%;/* 修正するまで仮 */
  min-height: 195px;
}

.wrapper_books ul.work_img_list > li {
  min-height: 200px;
}

/* TOPページ：同人作品ボックスのリストの縦幅 */
#wrapper.wrapper_home ul.work_img_list > li,
#wrapper.wrapper_maniax ul.work_img_list > li {
  min-height: 160px;
}

ul.work_img_list > li.work_none {
  float: none;
  width: auto;
  min-height: initial;
  min-height: auto;
  font-size: 13px;
  padding-left: 8px;
  box-sizing: border-box;
}

ul.work_img_list > li > a {
  display: block;
}

ul.work_img_list dl {
}

ul.work_img_list dl dt.work_thumb {
  display: block;
  width: 104px;
  text-align: center;
  margin-bottom: 4px;
}

/* 同人サムネイル固定サイズ */
ul.work_img_list dl dt.work_thumb img {
  width: 90px;
}

ul.work_img_list.nijiyome_list dt.work_thumb img {
  border-radius: 6px;
}

ul.work_img_list dl dd {
  line-height: 1.3;
  font-size: 12px;
  padding: 0 7px;
}

ul.work_img_list dl dd.work_name {
  max-height: 30px;
  text-overflow: ellipsis;
  overflow: hidden;
  margin-bottom: 2px;
}

ul.work_img_list li a dl dd.work_name {
  font-weight: bold;
}

ul.work_img_list li a dl dd.work_name strong {
  font-size: 11px;
} /* 2014.10.15以降消してOK */

ul.work_img_list dl dd.maker_name {
  font-size: 11px;
  max-height: 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

ul.work_img_list li a dl dd.maker_name {
  color: #333;
}

/* 商業系縦長サムネイル拡大表示
-------------------------------------------------- */
#wrapper.wrapper_books ._day_new_works.filter-ready ul,
#wrapper.wrapper_comic ._day_new_works.filter-ready ul,
#wrapper.wrapper_pro ._day_new_works.filter-ready ul,
#wrapper.wrapper_soft ._day_new_works.filter-ready ul {
  margin: 0 auto;
  display: table;
}

ul.work_img_list > li {
  margin-bottom: 10px;
}

@media screen and (max-width: 359px) {
  #campaign_picup.recommend_list ul.work_img_list {
    padding: 0;
  }

  #wrapper.wrapper_books section.home_box ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box ul.work_img_list > li {
    width: 104px;
    height: 210px;
  }
}

@media screen and (max-width: 359px) {
  #wrapper.wrapper_books section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box.no_btn ul.work_img_list > li {
    height: 192px;
  }
}

@media screen and (min-width: 360px) {
  #wrapper.wrapper_books section.home_box ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box ul.work_img_list > li {
    width: 117px;
    height: 220px;
  }
  #wrapper.wrapper_books section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_comic section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_pro section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_soft section.home_box ul.work_img_list dl dt.work_thumb {
    width: 117px;
  }
  #wrapper.wrapper_books section.home_box dt.work_thumb,
  #wrapper.wrapper_comic section.home_box dt.work_thumb,
  #wrapper.wrapper_pro section.home_box dt.work_thumb,
  #wrapper.wrapper_soft section.home_box dt.work_thumb {
    width: 112px;
  }
  #wrapper.wrapper_books ul.ranking_day dt.work_thumb img, #wrapper.wrapper_books ul.ranking_week dt.work_thumb img, #wrapper.wrapper_books ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_books section.home_box dt.work_thumb img,
  #wrapper.wrapper_comic ul.ranking_day dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_week dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_comic section.home_box dt.work_thumb img,
  #wrapper.wrapper_pro ul.ranking_day dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_week dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_pro section.home_box dt.work_thumb img,
  #wrapper.wrapper_soft ul.ranking_day dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_week dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_soft section.home_box dt.work_thumb img {
    width: 112px;
  }
}

@media screen and (min-width: 360px) {
  #wrapper.wrapper_books section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box.no_btn ul.work_img_list > li {
    height: 202px;
  }
}

@media screen and (min-width: 480px) {
  #wrapper.wrapper_books section.home_box ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box ul.work_img_list > li {
    width: 157px;
    height: 280px;
  }
  #wrapper.wrapper_books section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_comic section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_pro section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_soft section.home_box ul.work_img_list dl dt.work_thumb {
    width: 157px;
  }
  #wrapper.wrapper_books section.home_box dt.work_thumb,
  #wrapper.wrapper_comic section.home_box dt.work_thumb,
  #wrapper.wrapper_pro section.home_box dt.work_thumb,
  #wrapper.wrapper_soft section.home_box dt.work_thumb {
    width: 150px;
  }
  #wrapper.wrapper_books ul.ranking_day dt.work_thumb img, #wrapper.wrapper_books ul.ranking_week dt.work_thumb img, #wrapper.wrapper_books ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_books section.home_box dt.work_thumb img,
  #wrapper.wrapper_comic ul.ranking_day dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_week dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_comic section.home_box dt.work_thumb img,
  #wrapper.wrapper_pro ul.ranking_day dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_week dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_pro section.home_box dt.work_thumb img,
  #wrapper.wrapper_soft ul.ranking_day dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_week dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_soft section.home_box dt.work_thumb img {
    width: 150px;
  }
}

@media screen and (min-width: 480px) {
  #wrapper.wrapper_books section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box.no_btn ul.work_img_list > li {
    height: 262px;
  }
}

@media screen and (min-width: 768px) {
  #wrapper.wrapper_books section.home_box ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box ul.work_img_list > li {
    width: 152px;
    height: 260px;
  }
  #wrapper.wrapper_books section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_comic section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_pro section.home_box ul.work_img_list dl dt.work_thumb,
  #wrapper.wrapper_soft section.home_box ul.work_img_list dl dt.work_thumb {
    width: 152px;
  }
  #wrapper.wrapper_books section.home_box dt.work_thumb,
  #wrapper.wrapper_comic section.home_box dt.work_thumb,
  #wrapper.wrapper_pro section.home_box dt.work_thumb,
  #wrapper.wrapper_soft section.home_box dt.work_thumb {
    width: 145px;
  }
  #wrapper.wrapper_books ul.ranking_day dt.work_thumb img, #wrapper.wrapper_books ul.ranking_week dt.work_thumb img, #wrapper.wrapper_books ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_books section.home_box dt.work_thumb img,
  #wrapper.wrapper_comic ul.ranking_day dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_week dt.work_thumb img, #wrapper.wrapper_comic ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_comic section.home_box dt.work_thumb img,
  #wrapper.wrapper_pro ul.ranking_day dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_week dt.work_thumb img, #wrapper.wrapper_pro ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_pro section.home_box dt.work_thumb img,
  #wrapper.wrapper_soft ul.ranking_day dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_week dt.work_thumb img, #wrapper.wrapper_soft ul.ranking_month dt.work_thumb img,
  #wrapper.wrapper_soft section.home_box dt.work_thumb img {
    width: 145px;
  }
}

@media screen and (min-width: 768px) {
  #wrapper.wrapper_books section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_comic section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_pro section.home_box.no_btn ul.work_img_list > li,
  #wrapper.wrapper_soft section.home_box.no_btn ul.work_img_list > li {
    height: 242px;
  }
}

#wrapper.wrapper_books section.home_box.recommend_list ul.work_img_list > li,
#wrapper.wrapper_comic section.home_box.recommend_list ul.work_img_list > li,
#wrapper.wrapper_pro section.home_box.recommend_list ul.work_img_list > li,
#wrapper.wrapper_soft section.home_box.recommend_list ul.work_img_list > li {
  width: 33%;
}

#wrapper.wrapper_books ul.work_img_list dl dt.work_thumb,
#wrapper.wrapper_comic ul.work_img_list dl dt.work_thumb,
#wrapper.wrapper_pro ul.work_img_list dl dt.work_thumb,
#wrapper.wrapper_soft ul.work_img_list dl dt.work_thumb {
  display: block;
  height: auto;
  text-align: center;
  margin-bottom: 4px;
}

/* ランキング幅 */
#wrapper.wrapper_books #ranking_top10 .work_img_list,
#wrapper.wrapper_comic #ranking_top10 .work_img_list,
#wrapper.wrapper_pro #ranking_top10 .work_img_list,
#wrapper.wrapper_soft #ranking_top10 .work_img_list {
  margin: 0 auto;
  display: table;
  width: auto;
}

/* ピックアップ幅 */
#wrapper.wrapper_books ul.work_img_list.pickup,
#wrapper.wrapper_comic .work_img_list.pickup,
#wrapper.wrapper_pro .work_img_list.pickup,
#wrapper.wrapper_soft .work_img_list.pickup {
  margin: 0 auto;
  display: table;
  width: auto;
}

/* にじよめゲームサムネ */
ul.work_img_list.nijiyome_list li dt.work_thumb img {
  max-width: 90px;
}

#wrapper ul.work_img_list.nijiyome_list > li {
  max-height: 120px;
  min-height: initial;
  width: 33%!important;
}

ul.work_img_list.nijiyome_list dt.work_thumb img {
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
}

/* TOPページ_あなたにオススメの作品ボックス_高さ調整 */
div#_recommend_box_user li {
  height: auto!important;
}

/* レコメンド表示
-------------------------------------------------- */
.recommend_list ul.work_img_list {
  padding: 0 4px;
}

.recommend_list ul.work_img_list dl dt.work_thumb {
  margin-bottom: 6px;
}

.recommend_list ul.work_img_list dl dd.work_name {
  font-size: 11px;
  line-height: 1.2;
  max-height: 25px;
  margin-bottom: 3px;
}

.recommend_list ul.work_img_list dl dd.maker_name {
  font-size: 10px;
  height: 13px;
  margin-bottom: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.recommend_list ul.work_img_list dl dd.work_price {
  color: #c00;
  font-size: 12px;
  margin-bottom: 2px;
}

.recommend_list ul.work_img_list dl dd.work_cp {
  font-size: 10px;
  height: 13px;
  margin-bottom: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.work_operation {
  display: -moz-box;
  display: -webkit-box;
  padding: 0 7px;
  margin: 4px 0 0;
}

.work_operation p.work_cart {
  margin-right: 4px;
}

.work_operation p.work_cart,
.work_operation p.work_favorite {
  width: 43px;
  height: 33px;
}

.work_operation p.work_cart a,
.work_operation p.work_favorite a {
  display: block;
  width: 43px;
  height: 0;
  padding-top: 33px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  position: relative;
}

.work_operation p.work_cart a::before,
.work_operation p.work_favorite a::before {
  display: inline-block;
  width: 100%;
  height: 100%;
  font-family: "dlsite-icons";
  font-size: 20px;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 6px;
  box-sizing: border-box;
}

.work_operation p.work_cart a.btn_cart {
  background-color: #e53a49;
}

.work_operation p.work_cart a.btn_cart::before {
  font-size: 20px;
  content: "\e919";
}

.work_operation p.work_cart a.btn_cart_in {
  background-color: #cc525c;
}

.work_operation p.work_cart a.btn_cart_in::before {
  content: "\e91a";
  color: #f2c2c6;
}

.work_operation p.work_cart a.btn_dl {
  background-color: #734dbf;
}

.work_operation p.work_cart a.btn_dl::before {
  content: "\e901";
  color: #fff;
}

.work_operation p.work_cart a.btn_dl_no {
  background-color: #ccc;
}

.work_operation p.work_cart a.btn_dl_no::before {
  content: "\e901";
  color: #fff;
}

.work_operation p.work_cart a.btn_st {
  background-color: #47acff;
}

.work_operation p.work_cart a.btn_st::before {
  content: "\e904";
  color: #fff;
}

.work_operation p.work_cart a.btn_detail {
  background-color: #a1bde6;
}

.work_operation p.work_cart a.btn_detail::before {
  content: "\e91b";
}

.work_operation p.work_favorite a.btn_favorite {
  background-color: #ddd;
}

.work_operation p.work_favorite a.btn_favorite::before {
  content: "\e902";
  color: #333;
}

.work_operation p.work_favorite a.btn_favorite_in {
  background-color: #ccc;
  color: #888;
}

.work_operation p.work_favorite a.btn_favorite_in::before {
  content: "\e91a";
  color: #888;
}

/* カルーセル調整 */
.recommend_list .bx-wrapper {
  margin: 0 auto 29px;
}

.recommend_list .bx-wrapper .bx-pager,
.recommend_list .bx-wrapper .bx-controls-auto {
  bottom: -17px;
}

.recommend_list .bx-wrapper .bx-controls-direction a {
  bottom: -20px;
}

/* パック販売
-------------------------------------------------- */
/* ----- 作品詳細 親パックリスト / 個別ダウンロード パックリスト ----- */
.pack_work_list .work_list > li {
  border-bottom: none;
}

.pack_work_list .work_list > li:not(:first-child) {
  border-top: 1px solid #c5cee0;
}

.pack_work_list .work_list > li dl {
  padding: 12px 8px;
}

.pack_work_list .work_list dt a {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 90px;
}

.pack_work_list .work_list dt a img {
  max-height: 90px;
}

/* ----- 購入履歴・決済完了 子作品リスト ----- */
ul.pack_children {
  padding-left: 10px;
}

ul.pack_parents {
  padding-left: 10px;
  margin: 5px 0 0;
}

ul.pack_children > li,
ul.pack_parents > li {
  font-size: 12px;
  padding-left: 10px;
}

ul.pack_parents > li > a {
  font-weight: bold;
}

ul.pack_children > li::before,
ul.pack_parents > li::before {
  display: inline-block;
  width: 3px;
  height: 3px;
  margin: 0 5px 0 -10px;
  border-radius: 50%;
  background: #666;
  content: "";
  vertical-align: middle;
}

ul.pack_children > li:not(:first-child),
ul.pack_parents > li:not(:first-child) {
  margin-top: 3px;
}

ul.pack_parents li > ul.pack_children {
  margin: 2px 0 0 10px;
}

/* ジャンルアイコン
-------------------------------------------------- */
.work_genre span {
  display: inline-block;
  height: 15px;
  line-height: 15px;
  font-size: 11px;
  padding: 0 3px;
  margin: 0 2px 1px 0;
  border-radius: 2px;
  letter-spacing: normal;/* 文字間を通常に戻す */
}

/* PC専用・Android専用・ブラウザ視聴・特典コードつき */
.icon_DLP,
.flag_pc,.icon_PCO,
.flag_mode,.icon_AND,
.flag_privilege {
  display: inline-block;
  height: 15px;
  line-height: 15px;
  color: #fff;
  font-size: 11px;
  padding: 0 3px;
  margin: 0 2px 1px;
  border-radius: 2px;
}

/* ブラウザ視聴 */
.icon_DLP {
  border: 1px solid #47acff;
  background: #47acff;
}

.flag_pc,.icon_PCO,/* PC専用 */
.flag_mode,.icon_AND/* Android専用 */ {
  border: 1px solid #d94c63;
  background: #d94c63;
}/* class名をicon_〇〇〇に統一するため、反映し終わるまで共存 */

/* 特典コード */
.flag_privilege {
  border: 1px solid #ff5f96;
  background: #ff5f96;
}

/* 作品ジャンル */
/* R-15 */
.work_genre span.icon_R15 {
  border: 1px solid #7acc83;
  color: #46b250;
  background: #e6ffe8;
}

/* 18禁 */
.work_genre span.icon_ADL {
  border: 1px solid #f29dac;
  color: #f28597;
  background: #ffe4e8;
}

/* 女性向け */
.work_genre span.icon_LDS {
  border: 1px solid #cca6a3;
  color: #a68685;
  background: #f9ebe0;
}

/* 同人誌 */
.work_genre span.icon_DOH {
  border: 1px solid #a1c9e5;
  color: #70a6cc;
  background: #e6f6ff;
}

/* 同人ソフト */
.work_genre span.icon_SOF {
  border: 1px solid #c3add9;
  color: #987db3;
  background: #f2e5ff;
}

/* 同人ゲーム */
.work_genre span.icon_GAM {
  border: 1px solid #d9b98d;
  color: #cc9952;
  background: #ffefd8;
}

.work_genre span.icon_MNG,/* マンガ */
.work_genre span.icon_MDC,/* デジタルコミック */
.work_genre span.icon_IST,/* イラスト集 */
.work_genre span.icon_INV,/* イラスト+ノベル */
.work_genre span.icon_ICG,/* CG集 */
.work_genre span.icon_IN2,/* CG+ノベル */
.work_genre span.icon_GSH,/* 画集 */
.work_genre span.icon_SCM,/* 劇画 */
.work_genre span.icon_NRE,/* ノベル */
.work_genre span.icon_NR2,/* ノベル */
.work_genre span.icon_DNV,/* デジタルノベル */
.work_genre span.icon_ETC,/* その他 */
.work_genre span.icon_ET3,/* その他 */
.work_genre span.icon_ET4,/* その他 */
.work_genre span.icon_GAE,/* その他 */
.work_genre span.icon_MOV,/* 動画 */
.work_genre span.icon_TOL,/* ツール/アクセサリ */
.work_genre span.icon_SOU,/* 音声 */
.work_genre span.icon_MUS,/* 音楽 */
.work_genre span.icon_QIZ,/* クイズ */
.work_genre span.icon_TBL,/* テーブル */
.work_genre span.icon_PZL,/* パズル */
.work_genre span.icon_ACN,/* アクション */
.work_genre span.icon_ADV,/* アドベンチャー */
.work_genre span.icon_RPG,/* ロールプレイング */
.work_genre span.icon_SLN,/* シミュレーション */
.work_genre span.icon_TYP,/* タイピング */
.work_genre span.icon_STG,/* シューティング */
.work_genre span.icon_IMT,/* 画像素材 */
.work_genre span.icon_AMT/* 音素材 */ {
  border: 1px solid #a3cc7a;
  color: #80a65b;
  background: #e6f8d4;
}

.work_genre span.icon_IME,/* 画像 */
.work_genre span.icon_EXE,/* アプリケーション */
.work_genre span.icon_TXT,/* TEXTファイル */
.work_genre span.icon_PVA,/* 専用Viewer*/
.work_genre span.icon_HTE,/* HTML */
.work_genre span.icon_HTI,/* HTML(画像) */
.work_genre span.icon_HMO,/* HTML(動画) */
.work_genre span.icon_HTF,/* HTML(Flash) */
.work_genre span.icon_IJP,/* JPEG */
.work_genre span.icon_IGF,/* GIF */
.work_genre span.icon_IBP,/* BMP */
.work_genre span.icon_PNG,/* PNG */
.work_genre span.icon_ADO,/* オーディオ */
.work_genre span.icon_MP3,/* MP3 */
.work_genre span.icon_WMA,/* WMA */
.work_genre span.icon_AAC,/* AAC */
.work_genre span.icon_WAV,/* WAV */
.work_genre span.icon_MVF,/* ムービー */
.work_genre span.icon_AVI,/* AVI */
.work_genre span.icon_MWM,/* WMV */
.work_genre span.icon_MPG,/* MPEG */
.work_genre span.icon_PDF,/* PDF */
.work_genre span.icon_FLA,/* Flash */
.work_genre span.icon_ET1,/* その他形式 */
.work_genre span.icon_APK,/* APK */
.work_genre span.icon_FLC,/* FLC */
.work_genre span.icon_OGG,/* OGG */
.work_genre span.icon_MP4/* MP4 */ {
  border: 1px solid #ccb8a3;
  color: #b38659;
  background: #faecdf;
}

.work_genre span.icon_SND,/* 音声あり */
.work_genre span.icon_MS2,/* 音楽あり */
.work_genre span.icon_MV2,/* 動画あり */
.work_genre span.icon_3DP/* 3DCG */ {
  border: 1px solid #b8c4d9;
  color: #8591a6;
  background: #f2f3f7;
}

/* 体験版あり */
.work_genre span.icon_TRI {
  border: 1px solid #cb6;
  color: #a69542;
  background: #fff7d2;
}

.work_genre span.icon_L_ENG,/* 英語 */
.work_genre span.icon_L_CHI,/* 中国語 */
.work_genre span.icon_L_FRA,/* フランス語 */
.work_genre span.icon_L_ITA,/* イタリア語 */
.work_genre span.icon_L_GER,/* ドイツ語 */
.work_genre span.icon_L_ESP/* スペイン語 */ {
  border: 1px solid #e25a70;
  color: #fff;
  background: #e25a70;
}

.work_genre span.icon_DOT/* 翻訳サービス */ {
  border: 1px solid #e25a70;
  color: #fff;
  background: #e25a70;
}

.work_genre span.icon_PRT,/* プロテクト */
.work_genre span.icon_SER,/* シリアル発行 */
.work_genre span.icon_BUD,/* Buddy */
.work_genre span.icon_DEN,/* ソフト電池 */
.work_genre span.icon_GRS,/* グルセン */
.work_genre span.icon_DLV,/* ユーザー認証 */
.work_genre span.icon_DAD/* DLsite ADV */ {
  border: 1px solid #85ccc6;
  color: #63a69f;
  background: #e7faf8;
}

/* ボーイズラブ */
.work_genre span.icon_BL1 {
  border: 1px solid #e5a1c3;
  color: #cc7aa3;
  background: #ffe7f3;
}

/* 乙女ゲーム */
.work_genre span.icon_OTM {
  border: 1px solid #85c5f2;
  color: #70a6cc;
  background: #e6f6ff;
}

.work_genre span.icon_GRO,
.work_genre span.icon_MEN,
.work_genre span.icon_EVT {
  height: 17px;
  line-height: 17px;
  text-indent: -9999px;
  padding: 0;
  border: none;
  background: url(../../images/web/common/icon_genre_touch.png) no-repeat -86px top;
  background-size: 400px 37px;
}

/* グロ */
.work_genre span.icon_GRO {
  background-position: -119px top;
  width: 17px;
}

/* ホモ */
.work_genre span.icon_MEN {
  background-position: -67px top;
  width: 16px;
}

/* イベント頒布 */
.work_genre span.icon_EVT {
  background-position: -141px top;
  width: 15px;
}

/* レビューあり */
.work_genre span.icon_REV {
  width: 16px;
  height: 15px;
  text-indent: -9999px;
  padding: 0;
  border: none;
  background: url(../../images/web/home/icon_REV.png) no-repeat 0 50%;
}

.work_genre span.icon_W_TOUCH,/* スマホ同梱 */
.work_genre span.icon_WPD,/* PDF同梱 */
.work_genre span.icon_WAP,/* APK同梱 */
.work_genre span.icon_ALM/* Almight対応 */ {
  border: 1px solid #b8bee5;
  color: #7a87cc;
  background: #e9ecfe;
}

.work_genre span.icon_ARE,/* レンタルあり */
.work_genre span.icon_ORE/* レンタルのみ */ {
  background: #fff none repeat scroll 0 0;
  border: 1px solid #f1963c;
  color: #f17700;
}

.maker_name span {
  display: inline-block;
  text-indent: -9999px;
}

/* 新規サークル：NEW */
.maker_name span.icon_NCI {
  background: url(../../images/web/common/icon_genre_touch.png) no-repeat 0 -32px;
  width: 33px;
  height: 12px;
  margin-left: 3px;
  padding: 0;
}

/* ----- 作品名のアイコン表示 ----- */
.icon_lead_01 {
  display: inline-block;
  border-radius: 2px;
  border: solid 1px #ccc;
  margin: 0 2px 0 0;
  font-size: 11px;
  height: 12px;
  line-height: 12px;
  padding: 0 3px;
  vertical-align: top;
  font-weight: bold;
}

.icon_lead_01:last-of-type {
  margin-right: 3px;
}

.icon_lead_01.type_limit {
  border: 1px solid #18a29a;
  color: #fff;
  background: #18a29a;
}/* 限定 */

.icon_lead_01.type_sale {
  border: 1px solid #c00;
  color: #fff;
  background: #c00;
}/* ○○%OFF */

.icon_lead_01.type_points {
  border: 1px solid #093;
  color: #fff;
  background: #093;
  text-align: center;
}/* ポイントUP */

.icon_lead_01.type_rental {
  border: 1px solid #fe7d00;
  color: #fff;
  background: #fe7d00;
  text-align: center;
}/* レンタル割引 */

.icon_lead_01.type_exclusive {
  border: 1px solid #ffd400;
  color: #604200;
  background: #ffe800;
  text-align: center;
}/* 専売、先行、独占 */

.recommend_list .icon_lead_01.type_exclusive {
  font-size: 10px;
  height: 11px;
  line-height: 11px;
  padding: 0 2px;
}

h1 .icon_lead_01 {
  font-size: 14px;
  height: 15px;
  line-height: 15px;
  margin-top: 2px;
}

.work_list .icon_lead_01 {
  font-size: 12px;
  height: 13px;
  line-height: 13px;
  margin-top: 1px;
}

.work_deals span {
  padding: 0px 1px;
  font-size: 9px;
}

.icon_lead_01.type_followlist {
  border-color: #b8c3d9;
  color: #607194;
  background: #e6eaf2;
  text-align: center;
  font-size: 11px;
  width: 50px;
  text-indent: 0;
}/* フォローリスト */

/* iphone5対応 */
@media screen and (max-width:320px) {
  ul.work_img_list dl dd.work_deals {
    line-height: 1.3;
    padding: 0 4px;
  }
  ul.work_img_list dl dd.work_deals span {
    line-height: 1.5;
    padding: 0;
    font-weight: normal;
  }
}

/* ==================================================
 作品画像
================================================== */

/* メイン画像
-------------------------------------------------- */
#work_visual {
  text-align: center;
  margin-bottom: 10px;
  background-color: #fff;
}

#work_visual .bx-viewport {
  padding-top: 0;
}

.work_visual_box {
  display: table;
  width: 100%;
  height: 225px;
}

#work_visual .work_visual_box p {
  display: none;
}

.bx-wrapper .work_visual_box p {
  display: table-cell !important;
  text-align: center;
  vertical-align: middle;
}

.work_visual_box p.chobit_video,
.work_visual_box p.chobit_audio,
.work_visual_box p.chobit_book {
  position: relative;
}

.work_visual_box p.chobit_video:after,
.work_visual_box p.chobit_audio:after,
.work_visual_box p.chobit_book:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  opacity: 0.6;
  background: url(../../images/web/common/icon_chobit_file.png) no-repeat;
  background-size: 100px 300px;
}

.work_visual_box p.chobit_video:after {
  background-position: left top;
}

.work_visual_box p.chobit_audio:after {
  background-position: left -100px;
}

.work_visual_box p.chobit_book:after {
  background-position: left -200px;
}

@media screen and (max-width: 359px) {
  .work_visual_box img {
    max-height: 228px;
    max-width: 304px;
  }
}

@media screen and (min-width: 360px) {
  .work_visual_box img {
    max-height: 258px;
    max-width: 344px;
  }
}

@media screen and (min-width: 375px) {
  .work_visual_box img {
    max-height: 270px;
    max-width: 360px;
  }
}

@media screen and (min-width: 576px) {
  .work_visual_box img {
    max-height: 420px;
    max-width: 560px;
  }
}

.work_visual p.noimage {
  margin-top: 3px;
  border: 1px solid #ccc;
  font-size: 12px;
  padding: 10px;
  text-align: center;
  background: #eee;
}

/* サンプル画像
-------------------------------------------------- */
.sample_container {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000;
}

/* 閉じる */
.sample_close {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

.sample_close a {
  display: inline-block;
  color: #fff;
  padding: 12px;
  margin: 12px;
  border-radius: 6px;
  border: 1px solid rgba(102,102,102,0.4);
  background-color: rgba(51,51,51,0.4);
}

/* メインサンプル */
.sample_header {
  position: relative;
  height: 100%;
  padding-bottom: 62px;
  box-sizing: border-box;
  z-index: 10;
}

.sample_main {
  display: table;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.sample_main div {
  display: table-cell;
  vertical-align: middle;
}

.sample_main div img {
  width: 100%;
}

/* サムネイルサンプル */
.sample_thumb {
  width: 100%;
  height: 62px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 20;
}

.sample_thumb ol {
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 8px;
  box-sizing: border-box;
}

.sample_thumb ol li {
  display: table;
  float: left;
  width: 46px;
  height: 46px;
  margin: 0 8px 0 0;
}

.sample_thumb ol li div.thumbnail {
  width: 46px;
  height: 46px;
  text-align: center;
  overflow: hidden;
  border: 2px solid #fff;
  box-sizing: border-box;
  background-color: #fff;
}

.sample_thumb ol li.active div.thumbnail {
  border: 2px solid #fa8c1e;
}

.sample_thumb ol li div.thumbnail img {
  display: inline-block;
  vertical-align: middle;
  max-height: 100%;
}

/* サムネイルズーム */
.sample_zoom {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 240px;
  height: auto;
  margin-left: -120px;
  z-index: 1100;
}

.sample_zoom div {
  color: #fff;
  text-align: center;
  padding: 16px 0;
  border-radius: 6px;
  background-color: rgba(51,51,51,0.8);
}

.sample_zoom div strong {
  font-size: 18px;
}

/* ==================================================
 個別設定
================================================== */

/* ユーザー登録
-------------------------------------------------- */
.regist_text_box {
  display: table;
  min-height: 100px;
  width: 100%;
}

.regist_text_box .text_box_01 {
  display: table-cell;
  vertical-align: middle;
}

.regist_text_box .text_box_01 p {
  background: #54b733;
  border-radius: 3px;
  padding: 10px;
  margin-bottom: 0;
  position: relative;
  color: #fff;
}

.regist_text_box .text_box_01 p:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  border-left: 10px solid #54b733;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  left: 100%;
}

.regist_text_box i {
  display: table-cell;
  margin-top: -80px;
  width: 80px;
  vertical-align: middle;
}

.regist_text_box .pic_01:after,
.regist_text_box .pic_02:after,
.regist_text_box .pic_03:after {
  content: "";
  display: block;
  width: 80px;
  height: 100px;
  background: url(../../images/web/hometouch/pic_regist_01.png) no-repeat;
  background-size: 80px 300px;
  overflow: hidden;
}

.regist_text_box .pic_01:after {
  background-position: 0 0;
}

.regist_text_box .pic_02:after {
  background-position: 0 -100px;
}

.regist_text_box .pic_03:after {
  background-position: 0 -200px;
}

.regist_text_box + .text_box_01,
.regist_text_box + .form_message h2 {
  padding-top: 0;
}

.user_regist_finish_box {
  margin-bottom: 12px;
}

.user_regist_finish_box h3 {
  line-height: 1.3;
  color: #fff;
  font-size: 14px;
  padding: 6px 8px;
  background-color: #fa8c1e;
}

/* ログイン
-------------------------------------------------- */
.login_form {
  padding: 16px 12px;
  background-color: #f5f5f5;
}

.login_form p {
  line-height: 1.4;
  text-align: right;
  margin: 10px 0;
}

.login_form > p:first-child {
  text-align: left;
  margin: 0 0 16px;
}

.login_form input[type="text"] {
  padding: 12px 8px;
  margin-bottom: 0;
  border-bottom: none;
  background-color: #fff;
}

.login_form .password_box input[type="text"] {
  border-bottom: 1px solid #aaa;
}

.login_form input[type="password"] {
  padding: 12px 8px;
  background-color: #fff;
}

.password_wrapper {
  width: 100%;
  display: -moz-box;
  display: -webkit-box;
}

.password_wrapper + .btn_01 {
  margin-top: 12px;
}

.password_box {
  -moz-box-flex: 1;
  -webkit-box-flex: 1;
}

.password_display {
  width: 48px;
  color: #666;
  font-size: 14px;
  text-align: center;
  text-indent: -9999px;
  border: 1px solid #aaa;
  border-left: none;
  box-sizing: border-box;
}

.password_display.hide {
  background: url(../../images/web/hometouch/btn_password_hide.png) center center no-repeat;
  background-size: 28px 28px;
}

.password_display.show {
  background: url(../../images/web/hometouch/btn_password_show.png) center center no-repeat;
  background-size: 28px 28px;
}

.login_form .check_radio_list_01 {
  margin: 12px 0 12px -15px;
  border: none;
  background-color: #f5f5f5;
}

.login_form .check_radio_list_01 li input[type="checkbox"] {
  border: none;
}

.login_form .check_radio_list_01 li input[type="checkbox"] + label {
  display: block;
  color: #333;
  padding: 12px 12px 12px 44px;
}

.login_form input[type="submit"] {
  font-size: 17px;
  margin-bottom: 0;
}

.login_form .btn_01 a {
  height: 60px;
  line-height: 60px;
  color: #fff;
  margin-top: 10px;
}

.login_form .btn_01 a.type_03 {
  font-size: 17px;
  background-color: #54b733;
}

.login_form .btn_01 a.type_04 {
  height: 44px;
  line-height: 44px;
}

/* ----- OPEN ID ----- */
.login_attestation {
  padding: 10px 0;
}

.login_attestation .attestation_icon {
  text-align: center;
  margin-bottom: 8px;
}

.login_attestation .attestation_icon img {
  width: 70px;
  height: auto;
  border-radius: 6px;
}

.login_attestation h1 {
  font-size: 16px;
  padding: 0 12px 12px;
  border-bottom: 1px solid #ccc;
  line-height: 1.4;
  font-weight: bold;
}

.login_attestation .text_box_01 {
  padding-bottom: 0;
}

.login_attestation .base_list {
  background: #fff9d9;
  padding: 8px 10px;
}

.login_attestation .base_list li {
  margin-bottom: 5px;
}

.login_attestation .base_list li:last-child {
  margin-bottom: 0;
}

.login_attestation p {
  font-size: 12px;
}

.setting_attestation li {
  border-bottom: 1px solid #ccc;
}

.setting_attestation li:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.setting_attestation dl {
  font-size: 13px;
  line-height: 1.2;
  padding: 8px;
  margin-right: 70px;
  display: table;
}

.setting_attestation dl dt {
  width: 40px;
  display: table-cell;
}

.setting_attestation dl dt .attestation_icon img {
  width: 35px;
  height: auto;
  border-radius: 6px;
}

.setting_attestation dl dd {
  font-size: 14px;
  display: table-cell;
  vertical-align: middle;
}

/* トップページ
-------------------------------------------------- */

/* ----- センターバナー ----- */
.center_banner p {
  display: none;
}

.center_banner .bx-wrapper p {
  display: block;
  text-align: center;
}

.center_banner p img {
  width: 100%;
  height: auto;
}

/* ----- 人気ジャンル ----- */
.popular_genre {
  height: 62px;
  overflow: hidden;
  padding: 12px 12px 0;
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.popular_genre.more {
  height: 168px;
}

.popular_genre:after {
  content: " ";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
  font-size: 0;
}

.popular_genre li {
  float: left;
  margin: 0 12px 12px 0;
}

.popular_genre a {
  font-size: 14px;
}

/* 作品形式をボタン型に */
.popular_genre.btn {
  height: 100%;
  padding-top: 15px;
}

.popular_genre.btn a {
  background: #f5f5f5;
  padding: 3px 5px;
  border-radius: 5px;
  border: solid #b1b1b1;
  border-width:0px 1px 1px 0px;
  font-size: 13px;
}

.popular_genre.btn li {
  margin: 0 6px 20px 0;
}

.popular_genre.btn li.refine a {
  background: #a1bde6;
  color: #fff;
}

/* ----- 新着作品（top） ----- */

/* 作品表示設定 */
.work_display_area {
  position: relative;
  color: #4d6594;
  padding: 12px 8px;
  background: #e6ebf5;
}

.work_display_area p {
  line-height: 1;
  font-size: 12px;
}

.work_display_area .link_pc_work,
.work_display_area .link_sp_work {
  top: 50%;
  margin-top: -10px;
}

/* 新規サークル */
ul.work_img_list dl.new dt.work_thumb:after {
  content: "";
  position: absolute;
  left: 0;
  top: -7px;
  width: 59px;
  height: 20px;
  background: url(../../images/web/common/icon_new_circle.png) left top no-repeat;
  background-size: 59px 20px;
}

/* PC専用(同人) */
ul.work_img_list dl.for_pc dt.work_thumb:after {
  content: "";
  position: absolute;
  left: 0;
  top: -3px;
  width: 25px;
  height: 21px;
  background: url(../../images/web/common/icon_for_pc.png) left top no-repeat;
  background-size: 25px 21px;
}

/* 絞り込み */
.link_genre {
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.link_genre.more {
  height: 117px;
}

.link_genre ul {
  width: 100%;
}

.link_genre ul:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.link_genre li {
  float: left;
  width: 33%;
  box-sizing: border-box;
  border-bottom: 1px solid #c5cee0;
  border-right: 1px solid #c5cee0;
}

.link_genre li:nth-child(3n) {
  width: 34%;
  border-right: none;
}

.link_genre li:empty {
  height: 39px;
}

.link_genre li a {
  display: block;
  height: 38px;
  line-height: 38px;
  color: #4d6594;
  font-size: 14px;
  text-align: center;
}

/* ----- おすすめ特集（top） ----- */
#report_list ul {
  width: 290px;
  padding: 0 15px;
  margin: 0 auto;
}

#report_list ul:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

#report_list ul li {
  float: left;
  width: 140px;
  height: 71px;
  margin-bottom: 10px;
}

#report_list ul li:nth-child(odd) {
  margin-right: 10px;
}

#report_list ul li:nth-child(3),
#report_list ul li:nth-child(4) {
  margin-bottom: 0;
}

/* おすすめ特集記事（作品/ジャンル） */
div.report_header {
  text-align: center;
}

div.report_header div {
  padding-top: 10px;
  background: #fff;  /* カスタマイズ */
}

div.report_header p {
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
  padding: 10px;
}

ul.report_list {
}

ul.report_list li {
  margin-bottom: 10px;
}

ul.report_list li:last-child {
  margin-bottom: 0;
}

ul.report_list table {
  width: 100%;
  color: #333;  /* カスタマイズ */
  background: #fff;  /* カスタマイズ */
}

ul.report_list td {
  font-size: 12px;
  line-height: 1.3;
  padding: 5px 10px;
}

ul.report_list td.work_copy {
  color: #fff;  /* カスタマイズ */
  font-size: 12px;
  line-height: 1.4;
  padding: 4px 8px;
  background: #4d6594;  /* カスタマイズ */
}

ul.report_list td.work_visual {
  text-align: center;
  padding-top: 15px;
}

ul.report_list td.work_name {
  font-size: 16px;
  font-weight: bold;
}

ul.report_list td.maker_name {
  padding-bottom: 0;
}

ul.report_list td.work_report {
  padding-bottom: 0;
}

ul.report_list td.work_report p {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 12px;
}

ul#report_work td.work_report p.report_title,
ul#report_work td.work_sample p.sample_title {
  color: #333;  /* カスタマイズ */
  line-height: 1.2;
  padding: 5px 10px;
  margin: 0 -10px 10px;
  background: #fc0;  /* カスタマイズ */
}

ul.report_list td.work_sample {
}

ul.report_list td.work_sample ul:after {
  content: " ";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
  font-size: 0;
}

ul.report_list td.work_sample ul li {
  float: left;
  display: block;
  padding: 0 10px 10px 0;
}

ul.report_list td.work_sample ul li a {
  width: 68px;
  height: 68px;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #ccc;
  background: #fff;
}

ul.report_list td.work_sample p.work_trial {
  padding: 0 0 10px;
}

ul.report_list td.work_sample p.work_trial a {
  display: block;
  width: 140px;
  min-width: 88px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  font-size: 12px;
  text-align: center;
  border-radius: 6px;
  background: #ffae0d;
  box-shadow: 0 -2px 1px 0 rgba(0,0,0,0.2) inset;
  word-wrap: break-word;
  word-break: break-all;
}

ul.report_list .work_buy_box {
  border-top: none;
  border-bottom: 1px solid #c5cee0;
  background-color: #e6ebf5;
}

ul.report_list p.report_work_link {
  font-size: 13px;
  text-align: center;
  margin: 15px 0 5px;
}

/* ----- ランキング（top） ----- */
#ranking_top10 .bx-wrapper .bx-viewport {
  padding: 0;
}

#ranking_top10 .work_img_list {
  width: 312px;
  margin: 0 auto;
}

p.rank_header {
  padding: 0 7px 6px 7px;
}

p.rank_header strong {
  display: inline-block;
  color: #666;
  font-size: 18px;
  padding: 0 0 0 2px;
}

p.rank_header strong span {
  font-size: 14px;
  font-weight: bold;
  padding-left: 3px;
}

/* DL数表示したい時用
p.rank_header{
padding:0 7px 5px 7px;
}

p.rank_header strong{
display:inline-block;
color:#aaa;
font-size:16px;
padding:4px 26px 0 0;
}

p.rank_header.new strong,
p.rank_header.up strong,
p.rank_header.down strong,
p.rank_header.stay strong{
-webkit-background-size:18px 18px;
background-size:18px 18px;
}

p.rank_header strong span{
font-size:14px;
font-weight:normal;
padding-left:2px;
}

p.rank_header .rank_count{
color:;
font-size:11px;
padding-left:8px;
}

*/

/* 絞り込み */
.refine_list {
  height: 0;
  overflow: hidden;
}

.refine_list .new_function {
  display: inline-block;
  background-color: #e64545;
  padding: 0 5px;
  color: #fff;
  border-radius: 8px;
  border: solid 1px #d92b2b;
  font-weight: bold;
  font-size: 11px;
  height: 16px;
  line-height: 16px;
  margin-left: 5px;
}

.refine_list ul {
  padding: 8px 8px 3px;
}

.refine_list ul li {
  background: #e6eaf2;
  display: inline-block;
  height: 28px;
  line-height: 28px;
  text-align: center;
  padding: 0 8px;
  border-radius: 14px;
  margin: 0 3px 5px 0;
  text-decoration: none;
  color: #536280;
  font-size: 12px;
  cursor: pointer;
}

.refine_list ul li.select {
  background: #fff9d9;
  color: #fa8c1e;
}

.refine_list .refine_price {
  padding: 0 8px 10px;
  border-bottom: 1px solid #c5cee0;
}

.refine_list .refine_price span {
  padding-left: 5px;
}

.refine_list .refine_price input[type="text"] {
  width: 70px;
}

.refine_list .refine_price input[type="submit"] {
  display: inline-block;
  height: 44px;
  line-height: 44px;
  width: 60px;
  margin-left: 10px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-radius: 6px;
  background-color: #f5f5f5;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  cursor: pointer;
}

/* ----- リワード広告・オリジナルコンテンツ ----- */
#reward_box p.banner,
#original_content_box p.banner {
  margin: 10px 12px;
  text-align: center;
}

#reward_box p.banner img,
#original_content_box p.banner img {
  max-width: 100%;
}

/* ----- あなたにおすすめ ----- */
#recommend_list .viewport {
  padding-bottom: 10px;
}

/* ランキング
-------------------------------------------------- */
.status_select.ranking {
  border-top: none;
}

.ranking_type {
  display: table;
  width: 100%;
  font-size: 13px;
}

.ranking_type dt,
.ranking_type dd {
  display: table-cell;
  height: 50px;
  vertical-align: middle;
}

.ranking_type dt {
  width: 104px;
  padding-left: 8px;
}

.ranking_type dd {
  padding: 0 12px 0 0;
}

/* ランキング順位 */
dd.rank_header {
  line-height: 1;
  padding-bottom: 8px;
}

.rank_header strong {
  display: inline-block;
  color: #999;
  font-size: 20px;
  padding: 0 0 0 2px;
}

.rank_header strong span {
  font-size: 14px;
  font-weight: bold;
  padding-left: 3px;
}

/* 変動 */
.rank_header.new strong,
.rank_header.up strong,
.rank_header.down strong,
.rank_header.stay strong {
  padding: 0 34px 0 2px;
}

.rank_header.new strong {
  background: url(../../images/web/hometouch/icon_rank_new.png) right bottom no-repeat;
}

.rank_header.up strong {
  background: url(../../images/web/hometouch/icon_rank_up.png) right bottom no-repeat;
}

.rank_header.down strong {
  background: url(../../images/web/hometouch/icon_rank_down.png) right bottom no-repeat;
}

.rank_header.stay strong {
  background: url(../../images/web/hometouch/icon_rank_stay.png) right bottom no-repeat;
}

.rank_header.new strong,
.rank_header.up strong,
.rank_header.down strong,
.rank_header.stay strong {
  background-size: 18px 18px;
}

/* DL数 */
.rank_header .rank_count {
  color: #666;
  font-size: 11px;
  padding-left: 8px;
}

/* 絞り込み（販売日） */
.btn_select_ranking_genre {
  display: inline-block;
  border-radius: 3px;
  font-size: 0;
  margin: 8px;
}

.btn_select_ranking_genre input[type="radio"] {
  display: none;
}

.btn_select_ranking_genre input[type="radio"] + label {
  height: 30px;
  line-height: 30px;
  display: inline-block;
  background: #e6eaf2;
  cursor: pointer;
  text-align: center;
  font-size: 12px;
  color: #536280;
  border: 1px solid #b8c3d9;
  box-sizing: border-box;
  position: relative;
  width: 100px;
}

.btn_select_ranking_genre input[type="radio"] + label:first-of-type {
  border-radius: 3px 0 0 3px;
  position: relative;
  right: -1px;
}

.btn_select_ranking_genre input[type="radio"] + label:last-of-type {
  border-radius: 0 3px 3px 0;
}

.btn_select_ranking_genre input[type="radio"]:checked + label {
  background: #fff9d9;
  color: #e58600;
  border-color: #e58600;
  position: relative;
  z-index: 100;
}

/* レビュー
-------------------------------------------------- */
.review_title {
  position: relative;
  padding-bottom: 8px;
  border-bottom: 1px dotted #ccc;
}

.review_title h1 {
  line-height: 1.3;
  font-size: 14px;
  font-weight: bold;
  padding-right: 25px;
}

.review_title p {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.2;
}

.reviewer_descrip {
  line-height: 1.4;
  font-size: 13px;
  padding: 8px 0;
  border-bottom: 1px dotted #ccc;
}

.review_ref {
  font-size: 13px;
  text-align: right;
  padding-top: 10px;
}

/* オススメ！ */
span.osusume {
  display: inline-block;
  height: 15px;
  line-height: 15px;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  vertical-align: top;
  text-align: center;
  padding: 0 6px;
  margin-right: 4px;
  border-radius: 8px;
  background: #ff5858; /* Old browsers */
  background: -webkit-linear-gradient(top,  #ff5858 0%,#ff3131 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #ff5858 0%,#ff3131 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

/* ネタバレ注意 */
.review_caution {
  line-height: 1.3;
  font-size: 13px;
  padding: 10px 0 0;
}

.review_caution strong {
  display: block;
  color: #d94c4c;
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 2px 0;
}

.review_open {
  display: block;
  width: 130px;
  font-size: 12px;
  text-align: right;
  padding: 0 0 0 16px;
  margin: 3px 0 0 auto;
  background: url(../images/web/home/icon_down.png) left center no-repeat;
}

.review_open a { color: #333; }

.review_open:hover {
  cursor: pointer;
  text-decoration: underline;
}

/* ----- レビューを投稿する ----- */

#review_write_work {
  border-bottom: 1px solid #ccc;
}

.form_list_01.review,
.form_list_01.review_confirm {
  border-top: none;
}

.form_list_01.review li dd input[type="text"] {
  font-size: 14px;
}

.form_list_01.review li dd textarea {
  height: 180px;
  line-height: 1.5;
  font-size: 13px;
  padding: 5px;
}

.form_list_01 li dd.reviewer_name {
  padding: 12px 12px 36px;
}

/* この作品に当てはまるジャンル */

.form_list_01 li dd.reviewer_genre {
  padding: 0;
}

.form_list_01 > li dd.reviewer_genre li:last-child {
  border: none;
}

dd.reviewer_genre .form_list_01 {
  border: none;
}

dd.reviewer_genre .form_list_01 li {
  border-bottom: 1px dotted #ccc;
}

.form_list_01 > li dd.reviewer_genre li dl {
  padding: 0 12px;
}

.form_list_01 li dd.reviewer_genre dt {
  font-size: 13px;
  padding: 0 0 6px;
  
  color: #666;
  margin: 12px 0 0;
  background: #fff;
}

.form_list_01 li dd.reviewer_genre dd {
  padding: 0 0 15px;
}

/* 入力情報の確認 */

ul.review_confirm li.review_comment dd {
  line-height: 1.4;
}

ul.review_confirm li.genre_ttl dd {
  display: inline-block;
}

.text_box_01.clear {
  clear: both;
}

/* チェックボックス（オススメ/ネタバレ） */

dl.check_osusume label {
  cursor: pointer;
}

.check_osusume {
  position: relative;
  padding: 0 12px;
}

.check_osusume input[type="checkbox"] {
  position: absolute;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  top: 0;
  left: 0;
}

.check_osusume input[type="checkbox"] + label {
  display: block;
  line-height: 1.3;
  color: #333;
  padding: 15px 20px 15px 30px;
  font-size: 15px;
}

.check_osusume input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) 0 center no-repeat;
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
}

.check_osusume input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 0 center no-repeat;
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
}

/* レビュー投稿済み */

.work_review_already a {
  background: #ccc;
}

.my_review_check p.reviewer_descrip {
  line-height: 1.6;
}

.review_work_list input[type="button"].btn_review,
.review_comment input[type="button"].btn_review {
  width: 100%;
  min-height: 44px;
  line-height: 44px;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  background-color: #fa8c1e;
  -moz-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  -webkit-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  margin-top: 5px;
}

/* ----- 投稿レビュー一覧 ----- */

.review_work_list {
}

.review_work_list ul {
}

.review_work_list .work_list > li {
  border-bottom: 1px solid #ccc;
}

.review_work_list .work_list > li:last-of-type {
  border-bottom: none;
}

/* レビュー作品情報 */

.review_work_list .work_list dl {
  padding: 8px;
  background-color: #f5f5f5;
  position: relative;
  overflow: hidden;
}

.review_work_list .work_list dt.work_thumb {
  width: 90px;
}

.review_work_list .work_list dt.work_thumb img {
  max-width: 90px;
}

.review_work_list .work_list dd {
  padding-bottom: 4px;
  margin-left: 98px;
}

.review_work_list .work_list dd.maker_name {
  font-size: 12px;
}

/* 開閉アイコン（投稿レビューなど） */

ul.work_list span.deployment {
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  -webkit-background-size: 17px 588px;
  background-size: 17px 588px;
  background-position: 0 -373px;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 17px;
  height: 17px;
  z-index: 10;
}

.hyouka_work_list ul.work_list li.open span.deployment,
.review_work_list ul.work_list li.open span.deployment {
  display: none;
}

/* 文字制限 */
span.limit_count {
  float: right;
  width: 90px;
  font-size: 12px;
  color: #666;
  text-align: right;
  padding: 6px 0;
  z-index: 10;
}

/* ジャンル選択チェックボックス */

accordion_list dd.genre_select {
  float: right;
  width: 54px;
  position: relative;
  text-align: center;
}

.accordion_list dd.genre_select input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 54px;
  height: 52px;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.accordion_list dd.genre_select input[type="checkbox"] + label {
  display: block;
  color: #666;
  font-size: 14px;
  padding-top: 6px;
}

dd.genre_select span:after,
.accordion_list dd.genre_select input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) right top no-repeat;
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
}

dd.genre_select span.checked:after,
.accordion_list dd.genre_select input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) right top no-repeat;
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
}

dd.genre_select span:after {
  width: 20px;
  height: 20px;
  right: 0;
}

dd.genre_select {
  padding: 10px;
}

dd.genre_select label {
  cursor: pointer;
  font-size: 14px;
}

/* おすすめ作品 */

ul.work_list.review_osusume img {
  max-width: 50px;
  padding: 0;
}

ul.work_list.review_osusume .work_thumb {
  width: 50px;
  margin-right: 10px;
  height: 60px;
}

ul.work_list.review_osusume dl {
  padding: 8px 8px 4px;
  background: #fdf8d7;
}

ul.work_list.review_osusume dd {
  margin-left: 0 ;
  padding-bottom: 0;
}

ul.work_list.review_osusume dd.maker_name {
  font-size: 12px;;
}



/* いちおし作品背景色 */
.review_work_list.osusume_review .work_review_box,
.review_work_list.osusume_review dl {
  background: #fdf8d7;
}

/* いちおし作品を削除 */

.library-work-trash {
  position: absolute;
  width: 50px;
  height: 50px;
  color: #fff;
  background-color: rgba(50,50,50,0.55);
  font-size: 30px;
  line-height: 50px;
  text-align: center;
  /* margin: 0 3px; */
  opacity: 0;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.review_osusume.editing .library-work-trash {
  opacity: 1;
}

.library-work-trash::before {
  content: "";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}

/* ---ヘルプページ_レビューについて--- */

.review_point {
  border: 1px solid #d94c4c solid 3px;
  margin: 10px 0;
}

.review_point p.ttl {
  background: #d94c4c;
  color: #fff;
  font-weight: bold;
  padding: 0;
  text-align: center;
  margin-bottom: 0;
}

.review_point p.content {
  padding: 6px;
}

/* ----他のユーザーのレビュー一覧ページ---- */

ul.work_img_list li.rank3 {
  margin-left: 18%;
}

p.reviewer_genre {
  line-height: 1.4;
  font-size: 12px;
  padding-top: 8px;
}

p.reviewer_genre span{
  font-size: 13px;
}

/* レビューは参考になりましたか？ */

footer.review_ref p span {
  padding: 0 5px;
}

footer.review_ref_decision {
  position: relative;
  line-height: 1.6;
  font-size: 11px;
  text-align: right;
  margin: 10px 0 0;
}

footer.review_ref_decision .btn {
  color: #333;
  font-size: 13px;
  padding: 4px 8px;
  margin-left: 3px;
  border-radius: 3px;
  background-color: #f5f5f5;
  -moz-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  -webkit-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

footer.review_ref_decision .mini_message {
  font-size: 12px;
  text-align: center;
}

/* レビューを報告 */

footer.review_ref_decision span {
  float: left;
  padding-top: 3px;
}

/* 作品詳細へ */

input.btn_detail {
  width: 100%;
  min-height: 44px;
  line-height: 44px;
  color: #fff;
  text-align: center;
  margin-top: 10px;
  border-radius: 6px;
  background-color: #fa8c1e;
  -moz-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  -webkit-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* ピックアップレビュー */

p.pickup_mark {
  width: 46px;
  height: 47px;
  float: left;
  text-indent: -9999px;
  margin-left: 3px;
  background: url(../../images/web/hometouch/icon_review_pickup.png) no-repeat;
  -webkit-background-size: 47px 47px;
  background-size: 47px 47px;
  position: absolute;
  right: -20px;
  top: -20px;
}

div#work_review td.pickup_main,
div#review_list_box td.pickup_main {
  background: #fffff2;
}

/* おすすめ特集
-------------------------------------------------- */
.report_banner ul {
  border-top: 1px solid #ddd;
}

.report_banner li {
  min-height: 87px;
  padding: 8px 8px;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}

.report_banner .new_report {
  position: relative;
  min-height: 93px;
  background-color: #fffae0;
  overflow: hidden;
}

.report_banner .new_report:after {
  content: "NEW";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 58px;
  height: 22px;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  padding: 5px 0 0 8px;
  border-top-right-radius: 20px;
  background-color: #fa8c1e;
  box-sizing: border-box;
}

.report_banner li:last-child {
  border-bottom: none;
}

.report_banner li a {
  display: block;
}

.report_banner li a img {
  float: left;
  width: 120px;
  height: 60px;
}

.report_banner li a p {
  line-height: 1.4;
  color: #333;
  font-size: 12px;
  margin-left: 128px;
}

.report_banner li a p strong {
  display: block;
  line-height: 1.3;
  color: #15c;
  font-size: 13px;
  padding-bottom: 3px;
}

/* キャンペーンページ新作枠
-------------------------------------------------- */
.new_work_released {
  margin: 0 10px 1.5em;
}

.new_work_released .new_heading {
  border-radius: 5px 5px 0 0;
}

.new_work_released .list_new_work {
  overflow: hidden;
  border: 1px solid #4d6594;
  border-top: none;
  border-radius: 0 0 5px 5px;
  box-sizing: border-box;
}

.new_work_released .list_new_work .item:last-child {
  border-bottom: none;
}

.new_work_released .work_thumb {
  overflow: hidden;
  position: relative;
}

.new_work_released .work_thumb:before {
  position: absolute;
  top: 6px;
  left: -16px;
  transform: rotateZ(-45deg);
  width: 50px;
  height: 11px;
  padding: 0 3px;
  border: 1px solid #c00;
  border-radius: 2px;
  background: #f00;
  color: #fff;
  font-weight: bold;
  font-size: 10px;
  line-height: 12px;
  text-align: center;
  vertical-align: top;
  content: 'NEW';
}

/* 発売予告作品
-------------------------------------------------- */
.text_box_01 p.work_ana {
  display: block;
  height: auto;
  line-height: 1.4;
  color: #c00;
  font-size: 12px;
  padding: 8px;
  border: 1px solid #c00;
  background-color: #fff;
}

.work_list#ana_list dd.work_date.sale:before {
  content: "（販売中）";
  color: #f00;
  display: inline-block;
}

/* サークル一覧
-------------------------------------------------- */
.initial_line_select {
  padding: 15px 12px;
}

.initial_line_select select {
  font-size: 14px;
  height: 30px;
}

.initial_select {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.initial_select.selected {
  border-bottom: none;
}

.initial_select li {
  display: table-cell;
}

.initial_select li a {
  display: block;
  color: #333;
  border-right: 1px solid #ddd;
}

.initial_select li:last-child a {
  border-right: none;
}

.initial_select li div {
  font-size: 16px;
  text-align: center;
  padding: 10px 0;
}

.initial_select li div span {
  display: block;
  font-size: 12px;
  padding-top: 4px;
}

.initial_select li.selected a {
  color: #fff;
  background-color: #7191bd;
}

.style_home .initial_select li.selected a { background-color: #83c840; }
.style_comic .initial_select li.selected a { background-color: #e57285; }
.style_maniax .initial_select li.selected a { background-color: #75baeb; }
.style_pro .initial_select li.selected a { background-color: #e075ab; }
.style_books .initial_select li.selected a { background-color: #5aad5f; }

.initial_select li.none {
  color: #aaa;
  background-color: #f5f5f5;
}

/* プロフィール
-------------------------------------------------- */
.prof_area {}

.btn_prof {
  text-align: center;
  padding: 8px 0;
  border-top: 1px solid #c5cee0;
  background: #e6ebf5;
}

.btn_prof span {
  display: inline-block;
  width: 280px;
  height: 33px;
  line-height: 33px;
  color: #4d6594;
  font-size: 13px;
  border-radius: 5px;
  border: 1px solid #c5cee0;
  border-bottom-width: 2px;
  background: #f5f7fa;
  cursor: pointer;
}

.btn_prof span:hover {
  background: #fefefe;
}

/* ----- プロフィール画像 ----- */
.prof_area .prof_visual {
  text-align: center;
  padding: 12px 0;
}

.prof_area .prof_visual img {
  max-height: 225px;
  max-width: 300px;
}

/* ----- プロフィール情報 ----- */
.prof_info dl {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.prof_info dt,
.prof_info dd {
  display: table-cell;
  line-height: 1.3;
  font-size: 11px;
  padding: 6px;
  border-bottom: 1px solid #ddd;
}

.prof_info dt {
  width: 76px;
  text-align: right;
  background-color: #f5f5f5;
  white-space: nowrap;
}

.prof_info dl:last-of-type dt,
.prof_info dl:last-of-type dd {
  border-bottom: none;
}

.prof_info .name {
  font-size: 14px;
  font-weight: bold;
}

.prof_info .member li a {
  display: inline-block;
  padding: 0 4px;
}

.prof_info .sales_floor {
  padding: 6px;
  border-top: 1px solid #ddd;
}

.prof_info .sales_floor li {
  float: left;
  margin-right: 10px;
}

.prof_info .sales_floor li a {
  display: inline-block;
  color: #fff;
  font-size: 11px;
  padding: 2px 4px;
  margin: 0 4px 4px 0;
  border-radius: 3px;
  background-color: #ccc;
}

.prof_info .sales_floor li a.general { background-color: #78bf60; }
.prof_info .sales_floor li a.adult { background-color: #61aaf2; }
.prof_info .sales_floor li a.woman { background-color: #f279b6; }
.prof_info .sales_floor li a.gay { background-color: #888; }

.prof_info .sales dd,
.prof_info .series dd,
.prof_info .label dd,
.prof_info .blog dd {
  padding: 0;
}

.prof_info .sales_device li,
.prof_info .series dd li,
.prof_info .label dd li,
.prof_info .blog dd li {
  padding: 4px 6px;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.prof_info .sales_device li {
  color: #ef7700;
  font-weight: bold;
}

.prof_info .sales_device li a {
  display: block;
  font-weight: normal;
}

.prof_info .series dd li {
  padding-left: 2px;
}

.prof_info .sales_device li:last-child,
.prof_info .series dd li:last-child,
.prof_info .label dd li:last-child,
.prof_info .blog dd li:last-child {
  border-bottom: none;
}

.prof_info .blog p {
  padding: 4px 6px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.blog_article {
  border-top: 1px solid #ddd;
}

.blog_article a {
  display: block;
}

.blog_article a span {
  display: block;
  color: #666;
}

/* DLsite blogアイコン */
p.icon_dlblog a {
  font-size: 12px;
  padding: 3px 0 3px 22px;
  background: url(../../images/web/hometouch/icon_blog.gif) left 3px no-repeat;
}

/* 検索結果
-------------------------------------------------- */

/* 検索条件 */
.search_condition p {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 12px;
}

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

.search_condition p.btn_01 a {
  height: 32px;
  line-height: 32px;
  color: #666;
  font-size: 12px;
  background-color: #f0f0f0;
}

.search_condition p.btn_01 a span {
  display: inline-block;
  padding-left: 20px;
  background: url(../../images/web/hometouch/icon_search.png) left center no-repeat;
  background-size: 15px 15px;
}

/* 並び替え・表示形式 */
.status_select.search {
  display: table;
  width: 100%;
}

.sort_type,
.display_type {
  display: table-cell;
  height: 50px;
  vertical-align: middle;
}

.sort_type {
  padding: 0 24px 0 8px;
}

.display_type {
  width: 80px;
  letter-spacing: -0.40em;/* 文字間を詰めて隙間を削除する */
}

.display_type span {
  display: inline-block;
  width: 30px;
  height: 30px;
  letter-spacing: normal;/* 文字間を通常に戻す */
}

.display_type span:first-child {
  margin-right: 12px;
}

.display_type span a {
  display: block;
  height: 30px;
  text-indent: -9999px;
  background: url(../../images/web/common/btn_display.png) no-repeat;
  background-size: 30px 300px;
}

.display_type .normal a {
  background-position: 0 0;
}

.display_type .image a {
  background-position: 0 -60px;
}

.display_type .normal a.selected {
  background-position: 0 -30px;
}

.display_type .image a.selected {
  background-position: 0 -90px;
}

/* 検索結果0件 */
.search_result_guide {
  line-height: 1.6;
  font-size: 13px;
}

.search_result_guide .guide_message {
  margin: 12px 12px;
}

.search_result_guide p {
  margin: 0 12px 12px;
}

.search_result_guide .link_list_box {
  margin: 0 12px 16px;
}

.search_result_guide .link_list_box a span {
  font-size: 12px;
}

.search_other_floor p {
  font-size: 13px;
  margin-bottom: 4px;
}

.search_floor_guide {
  padding: 12px 0;
}

.search_floor_guide p:nth-child(n+2) {
  font-size: 15px;
  padding-left: 8px;
  margin-bottom: 8px;
  border-left: 5px solid #4d6594;
}

.search_floor_guide ul:last-child {
  margin-bottom: 4px;
}

/* カート
-------------------------------------------------- */

/* ----- 消費税率引き上げに関するご案内 ----- */
.about_tax {
  line-height: 1.3;
  font-size: 10px;
  padding: 10px 8px;
  margin: 0 0 0;
  border-bottom: 1px dotted #ccc;
  background-color: #fff2f2;
}

.work_buy_box .about_tax {
  padding: 10px 12px;
}

.about_tax h2 {
  display: block;
  color: #da3751;
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 8px;
}

.about_tax .base_list li {
  line-height: 1.3;
  font-size: 10px;
  padding-left: 12px;
  margin-bottom: 8px;
}

.about_tax .base_list > li:before {
  left: 4px;
  top: 5px;
  width: 2px;
  height: 2px;
  background-color: #da3751;
}

.about_tax .base_list li:last-child {
  margin-bottom: 0;
}

/* ----- カートの中身 ----- */
.cart_work_list {
}

.cart_work_list h2 {
  position: relative;
}

.cart_work_list h2 span {
  position: absolute;
  top: 8px;
  right: 8px;
  color: #ddd;
  font-size: 12px;
}

.cart_work_list ul {
  background-color: #fff;
}

.cart_work_list .work_list > li {
  border-bottom: 1px solid #ccc;
}

.cart_work_list .work_list dl {
  padding: 8px 0 8px 8px;
  margin-right: 54px;
}

.cart_work_list .work_list dt.work_thumb {
  width: 75px;
}

.cart_work_list .work_list dt.work_thumb img {
  max-width: 75px;
  max-height: 107px;
}

.cart_work_list .work_list dd {
  padding-bottom: 3px;
  margin-left: 83px;
}

.cart_work_list .work_list dd.work_name {
  font-size: 13px;
}

.cart_work_list .work_list dd.maker_name {
  font-size: 12px;
}

.cart_work_list .work_list dd.work_price {
  font-size: 14px;
}

.message_rental {
  display: inline-block;
  border: 1px solid #fcb165;
  margin: 0 8px 8px;
  padding: 5px 8px;
  background: #fff9d9;
  color: #ef7700;
  font-size: 12px;
  line-height: 1.3;
}

.message_rental a.purchase {
  display: inline-block;
  background: #f0f0f0;
  height: 20px;
  line-height: 20px;
  padding: 0 5px;
  margin-top: 3px;
  font-size: 12px;
  color: #666;
  text-decoration: none;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

.message_rental a.purchase:before {
  content: "→";
  padding-right:3px;
}

.cart_work_list div.work_btn {
  background-color: #ebebeb;
}

.cart_work_list div.work_btn a {
  color: #666;
}

/* 購入チェック */
.cart_work_list .work_list p.buy_check {
  float: right;
  width: 54px;
  position: relative;
  text-align: center;
}

.cart_work_list p.buy_check input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 54px;
  height: 52px;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.cart_work_list p.buy_check input[type="checkbox"] + label {
  display: block;
  color: #666;
  font-size: 12px;
  padding-top: 12px;
  padding-bottom: 28px;
}

.cart_work_list p.buy_check input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) center 32px no-repeat;
  background-size: 20px 20px;
}

.cart_work_list p.buy_check input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) center 32px no-repeat;
  background-size: 20px 20px;
}

/* 注意作品 */
.cart_work_list li.eocs_work,
.cart_work_list li.pc_work,
.cart_work_list li.mode_work,
.cart_work_list li.dlp_work {
  background-color: #fff2f2;
}

.cart_work_list .work_list > li.eocs_work,
.cart_work_list .work_list > li.pc_work,
.cart_work_list .work_list > li.mode_work,
.cart_work_list .work_list > li.dlp_work {
  border-bottom: 1px solid #d9b8b8;
}

.cart_work_list li.eocs_work div.work_btn,
.cart_work_list li.pc_work div.work_btn,
.cart_work_list li.mode_work div.work_btn,
.cart_work_list li.dlp_work div.work_btn {
  background-color: #ffe0e0;
}

/* ----- 金額計算 ----- */
.cart_price_box {
}

.cart_subtotal,
.cart_total,
.cart_point {
  background-color: #fff;
}

.cart_coupon {
  background-color: #fff;
  display: table;
  width: 100%;
  border-top: 1px dotted #ccc;
}

.cart_total,
.cart_point {
  border-top: 1px dotted #ccc;
}

.cart_subtotal:after,
.cart_total:after,
.cart_point:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.cart_subtotal .cart_status_btn,
.cart_total .cart_status_btn,
.cart_point .cart_status_btn {
  float: left;
  width: 110px;
  padding: 8px;
}

.cart_coupon > div {
  display: table-cell;
}

.cart_coupon .cart_status_btn {
  width: 110px;
  padding: 8px;
  vertical-align: top;
}

.cart_subtotal .cart_status_btn input,
.cart_total .cart_status_btn input,
.cart_point .cart_status_btn input,
.cart_coupon .cart_status_btn input {
  width: 100%;
  height: 30px;
  line-height: 1;
  color: #666;
  font-size: 12px;
  border-radius: 0;
  background-color: #f0f0f0;
}

/* 小計 */
.cart_subtotal .cart_status_btn input:first-child {
  margin-bottom: 8px;
}

.cart_subtotal ul {
  padding: 8px 0;
  margin-left: px;
}

.cart_subtotal li {
  font-size: 14px;
  text-align: right;
  padding: 8px 12px 8px 0;
}

.cart_subtotal .price span {
  color: #c00;
}

/* ポイント使用 */
.point_use {
  margin-left: 0;
}

.point_use ul {
}

.point_use li {
  font-size: 14px;
  text-align: right;
  padding: 8px 12px;
}

.point_use li.total {
  padding-bottom: 0;
}

.point_use li.total span,
.point_use li.count span {
  color: #093;
}

.point_use li.count input {
  width: 90px;
}

.point_use p {
  color: #666;
  font-size: 11px;
  text-align: right;
  margin: 0 12px 8px 0;
}

.point_use p.error {
  text-align: right;
}

.point_use p.error span {
  display: inline-block;
  color: #c00;
  font-size: 11px;
  padding: 5px;
  border: 1px solid #c00;
  background: #fff1f5;
}

/* ポイントの適用タイミング記載 */
.point_notice {
  padding: 10px;
  color: #666;
  font-size: 11px;
  line-height: 1.4;
}

/* クーポン利用 */
.coupon_use {
  vertical-align: middle;
  padding: 8px 12px;
}

.coupon_use ul {
  text-align: right;
}

.coupon_use ul li {
  font-size: 14px;
  text-align: right;
  line-height: 1.4;
}

.coupon_use ul li.selected_coupon {
  color: #093;
  font-weight: bold;
  display: inline-block;
  text-align: left;
  word-break: break-all;
}

.coupon_use ul li.count span {
  color: #093;
}

/* クーポンリスト */
ul.coupon_list {
  overflow: auto;
  height: 70%;
  clear: both;
}

ul.coupon_list.selected {
  max-height: none;
  height: auto;
}

ul.coupon_list li {
  border-top: solid 1px #ddd;
  padding: 10px;
  position: relative;
}

ul.coupon_list li:first-child,
ul.coupon_list.selected li:first-child {
  border: none;
}

ul.coupon_list li:last-child {
  border-bottom: solid 1px #ddd;
}

ul.coupon_list.selected li {
  padding: 10px 10px 10px;
  background: #fffde5;
}

/* クーポン情報 */
dl.coupon_info {
  overflow: hidden;
  display: table;
  width: 100%;
  line-height: 1.4;
}

dl.coupon_info > dt {
  display: table-cell;
  padding-bottom: 5px;
  font-weight: bold;
}

dl.coupon_info > dd {
  display: table-cell;
  vertical-align: top;
  padding: 0 0 0 10px;
  text-align: right;
}

/* クーポン名 */
dl.coupon_info p.coupon_name {
  font-weight: bold;
  font-size: 13px;
  padding-bottom: 5px;
}

ul.coupon_list.selected dl.coupon_info p.coupon_name {
  color: #073;
}

/* クーポン有効期限 */
dl.coupon_info p.coupon_period {
  font-size: 12px;
  padding-bottom: 5px;
}

/* クーポン割引率 */
dl.coupon_info p.coupon_discount {
  font-weight: bold;
  float: none;
  font-size: 12px;
  white-space: nowrap;
  padding-bottom: 5px;
}

dl.coupon_info p.coupon_discount strong {
  font-size: 14px;
  color: #c00;
  display: block;
}

/* クーポン選択ボタン */
div.btn_coupon_select,
input.btn_coupon_select {
  display: inline-block;
  padding: 0 10px;
  height: 26px;
  line-height: 26px;
  border-radius: 3px;
  background: #093;
  color: #fff;
  cursor: pointer;
  margin-bottom: 10px;
  border: none;
  outline: none;
  font-size: 13px;
}

dl.coupon_info p.coupon_select {
}

dl.coupon_info p.coupon_select input.btn_coupon_select {
  margin: 0;
}

ul.coupon_list.selected input.btn_coupon_select {
  background: #c00;
  color: #fff;
}

ul.coupon_list.selected input.btn_coupon_select:hover {
  background: #e22;
}

/* クーポン条件 */
div.coupon_outline {
  clear: both;
  background: #e6eaf2;
  color: #536280;
  position: relative;
  margin: 10px 0 0;
  font-size: 12px;
  padding: 8px 30px 8px 10px;
  overflow: hidden;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.4;
}

div.coupon_outline.open p {
  display: none;
}

dl.coupon_condition {
  display: none;
}

dl.coupon_condition > dt,
dl.coupon_details > dt {
  padding: 0 0 0 7px;
  border-left: solid 3px #b8c3d9;
}

dl.coupon_condition > dd,
dl.coupon_details > dd {
  padding-left: 10px;
}

dl.coupon_condition > dd:nth-of-type(1),
dl.coupon_details > dd:nth-of-type(1) {
  padding-top: 5px;
}

/* クーポン説明 */
dl.coupon_details {
  margin-top: 10px;
  padding-top: 10px;
  border-top: dotted 1px #b8c3d9;
  display: none;
}

div.coupon_outline.open dl.coupon_details,
div.coupon_outline.open dl.coupon_condition {
  display: block;
}

/* クーポン条件もっと見る */
div.coupon_outline > div.coupon_condition_more {
  display: block;
  background: #fff;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 10px;
  top: 8px;
  border-radius: 2px;
}

div.coupon_outline > div.coupon_condition_more i {
  display: block;
  position: absolute;
  top: 7px;
  left: 3px;
  height: 0;
  width: 0;
  overflow: hidden;
  color: rgba(0,0,0,0);
  border: 6px solid transparent;
  border-top-color: #b8c3d9;
}

div.coupon_outline.open > div.coupon_condition_more i {
  border-bottom-color: #b8c3d9;
  border-top-color: transparent;
  top: 0;
}

/* クーポンアイコン（NEW、期限切れ間近） */
.coupon_new,
.coupon_deadline {
  display: inline-block;
  height: 18px;
  line-height: 18px;
  border-radius: 11px;
  color: #333;
  background: #fc0;
  padding: 0 10px;
  margin-left: 10px;
  font-size: 11px;
  font-weight: bold;
  vertical-align: top;
}

.coupon_deadline {
  color: #fff;
  background: #c00;
}

/*クーポンを発券する*/
.coupon_code_wrap {
  padding: 12px;
}

.coupon_code_wrap div.coupon_code_wrap_inner {
  display: table;
  width: 100%;
}

.coupon_code_wrap div.coupon_code_wrap_inner div {
  display: table-cell;
}

.coupon_code_wrap .coupon_code {
  padding-right: 8px;
}

.coupon_code_wrap .btn {
  width: 80px;
}

.coupon_code_wrap .coupon_code input[type="text"] {
  font-size: 14px;
}

.coupon_code_wrap .btn input[type="submit"] {
  width: 100%;
  height: 36px;
  color: #666;
  font-size: 12px;
  background-color: #f0f0f0;
}

.coupon_code_wrap .global_error_box ul {
  margin: 0 0 12px;
}

/* 合計 */
.cart_total p {
  margin-left: 130px;
  font-size: 15px;
  text-align: right;
  vertical-align: middle;
  padding: 12px;
}

.cart_total .price strong {
  color: #c00;
}

/* ----- カート決済ボタン ----- */
.cart_payment {
  margin-top: 12px;
}

.cart_payment_inner {
  font-size: 13px;
  padding-bottom: 12px;
}

.cart_payment_inner .sub_lead_02 {
  position: relative;
  padding: 6px 8px;
  font-size: 14px;
  border-top: 1px solid #c5cee0;
  border-bottom: 1px solid #c5cee0;
}

.cart_payment_inner .sub_lead_02 span {
  position: absolute;
  right: 0;
  top: 0;
  height: 30px;
}

.cart_payment_inner .sub_lead_02 span.payment_more {
  line-height: 30px;
  color: #4d6594;
  padding: 0 8px 0 16px;
  font-size: 13px;
  cursor: pointer;
}

.cart_payment_inner .sub_lead_02 span.payment_more:after {
  content: "";
  display: block;
  position: relative;
  top: -18px;
  left: -18px;
  height: 0;
  width: 0;
  overflow: hidden;
  color: rgba(0,0,0,0);
  border: 6px solid transparent;
  border-top-color: #fa8c1e;
}

.cart_payment_inner .sub_lead_02 span.payment_more.more:after {
  border-top-color: transparent;
  border-bottom-color: #fa8c1e;
  top: -24px;
}

.payment_guide {
  padding: 12px 12px 0;
}

.payment_guide p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.payment_btn {
  padding: 12px;
}

.payment_btn p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.payment_btn p strong {
  color: #ef7700;
}

/* メンテナンス告知 */
.payment_stop {
  color: #c00;
  font-size: 12px;
  line-height: 1.3;
  padding: 8px;
  margin: 8px;
  border: 2px solid #c00;
  background-color: #fff1f1;
}

#other_payment {
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.payment_method_select {
  margin: 12px 8px;
  border-radius: 6px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.payment_method_select li {
  border-bottom: 1px solid #ccc;
}

.payment_method_select li:last-child {
  border-bottom: none;
}

.payment_method_select li div {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.payment_method_select li div figure,
.payment_method_select li div .btn_01 {
  display: table-cell;
  vertical-align: middle;
  padding: 8px;
}

.payment_method_select li div figure {
}

.payment_method_select li div figure img {
  margin-top: 6px;
}

.payment_method_select li div figure img:first-child {
  margin-top: 0;
}

.payment_method_select li div figure img.img_credit,
.payment_method_select li div figure img.img_emoney,
.payment_method_select li div figure img.img_netbank,
.payment_method_select li div figure img.img_conv {
  width: 100%;
  max-width: 190px;
  height: auto;
}

.payment_method_select li div .btn_01 {
  padding-left: 4px;
}

.payment_method_select li div .btn_01 input {
  height: auto;
  line-height: 1.3;
  font-size: 15px;
  padding: 12px 0;
}

.payment_period {
  color: #666;
  font-size: 11px;
  padding: 8px;
}

.payment_method_select .guide_link {
  padding: 0 0 10px 10px;
  margin-top: -10px;
}

.payment_method_select li .cart_no_later {
  margin: 8px;
  border-radius: 3px;
  background: #54b733;
  position: relative;
  padding: 10px;
  color: #fff;
  display: block;
  width: auto;
}

.cart_no_later:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -8px;
  border-top: 10px solid #54b733;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
}

.cart_no_later p.title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 5px;
  color: #fff77f;
}

.cart_no_later p.text {
  line-height: 1.4;
  margin-bottom: 7px;
}

.cart_no_later p.link a {
  display: block;
  background: #fff;
  border-radius: 3px;
  padding: 10px;
  font-size: 15px;
  color: #54b733;
  text-align: center;
}

.cart_no_later p.link a span {
  display: inline-block;
  background: url(../../images/web/hometouch/icon_layout.png) no-repeat;
  background-size: 17px 588px;
  padding-left: 18px;
  background-position: 0 -320px;
}

/* ----- カート0件 ----- */
.cart_none {
  padding: 12px;
}

.cart_none p {
  line-height: 1.6;
  font-size: 13px;
  margin-bottom: 12px;
}

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

.cart_none a {
  display: block;
  width: 100%;
  height: 44px;
  line-height: 44px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-radius: 6px;
  background-color: #f5f5f5;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* ----- ポップアップ ----- */
#popup_check {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  z-index: 99999;
}

#popup_check section {
  position: fixed;
  left: 6%;
  top: 8%;
  width: 88%;
  height: auto;
  background: #fff;
  border-radius: 10px;
}

#popup_check h1 {
  line-height: 1.5;
  color: #c00;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  margin: 15px;
}

#popup_check p {
  line-height: 1.4;
  font-size: 12px;
  margin: 0 15px 10px;
}

.pop_display {
  width: 100%;
  position: relative;
  margin: 0 0 10px;
}

.pop_display input {
  position: absolute;
  width: 100%;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.pop_display input[type="checkbox"] {
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
}

.pop_display input[type="checkbox"] + label {
  display: block;
  line-height: 1.3;
  color: #333;
  font-size: 14px;
  padding: 15px 20px 15px 50px;
  background: url(../../images/web/hometouch/btn_check_off.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.pop_display input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 15px center no-repeat;
  background-size: 20px 20px;
}

.pop_close {
  position: absolute;
  top: -20px;
  right: -15px;
  width: 52px;
  height: 52px;
}

.pop_close a {
  display: block;
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  border-radius: 26px;
  border: 2px solid #ccc;
  background: url(../../images/web/common/icon_pop_close.png) center center no-repeat #ccc;
  background-size: 50% 50%;
}

/* 決済
-------------------------------------------------- */

/* ユーザー情報 */
.user_info ul {
  border-top: none;
}

.text_box_01 + .user_info {
  margin-top: 12px;
}

.form_list_01 .save_number {
  padding-top: 5px;
}

.form_list_01 .save_number {
  position: relative;
}

.form_list_01 .save_number input {
  position: absolute;
  width: 100%;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.form_list_01 .save_number input[type="checkbox"] {
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
}

.form_list_01 .save_number input[type="checkbox"] + label {
  display: block;
  line-height: 1.3;
  color: #333;
  padding: 12px 12px 12px 30px;
}

.form_list_01 .save_number input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) 0 center no-repeat;
  background-size: 20px 20px;
}

.form_list_01 .save_number input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 0 center no-repeat;
  background-size: 20px 20px;
}

.form_list_01.confirm dt span {
  font-size: 11px;
}

/* 楽天ボタン */
.rakuten_btn {
  padding: 12px;
}

.rakuten_btn div {
  font-size: 13px;
  text-align: center;
}

.rakuten_btn div:before {
  content: "引き続き、楽天決済ページへお進みください。";
  display: block;
  margin-bottom: 8px;
}

/* ビットキャッシュ指定表示義務 */
.bitcash_labeling {
  margin: 8px 0;
}

.bitcash_labeling p {
  font-size: 11px;
}

.bitcash_labeling p:first-child img {
  width: 100px;
}

.bitcash_labeling p:last-child {
  padding-top: 8px;
}

/* ダウンロード
-------------------------------------------------- */
.finish_message {
  line-height: 1;
  font-size: 15px;
  text-align: center;
  padding: 16px 0 12px;
  border-bottom: 1px solid #ccc;
}

/* ----- DL前の重要なお知らせ（必須アプリ等） ----- */
.before_download {
  background-color: #fffae0;
}

.before_download h2 {
  line-height: 1.3;
  color: #fff;
  font-size: 14px;
  padding: 6px 8px;
  background-color: #fa8c1e;
}

.before_download.important h2 {
  background-color: #dc4760;
}

.before_download .text_box_01 {
  border-bottom: 1px dotted #d3cba2;
}

.before_download p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.before_download p strong {
  color: #c00;
  font-size: 13px;
}

.before_download .app_btn a {
  display: block;
  min-height: 44px;
  line-height: 44px;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 6px;
  background-color: #54b733;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  cursor: pointer;
}

.before_download .app_btn a span {
  font-size: 12px;
  padding-left: 8px;
}

.before_download .app_dl {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}

.before_download .work_genre {
  display: table-cell;
}

.before_download .app_guide {
  text-align: right;
  display: table-cell;
}

.before_download .app_guide a {
  font-size: 13px;
  padding-left: 1.3em;
}

.before_download .rental_message_box {
  color: #ef7700;
  font-size: 12px;
  line-height: 1.3;
  font-weight: bold;
  padding: 8px;
  margin-bottom: 8px;
  border: 2px solid #fcb165;
  border-radius: 6px;
  background-color: #fff9d9;
}

/* アプリダウンロードのご案内 */
.before_download.guide_app,
.user_flow .before_download {
  background-color: #fff;
}

.before_download.guide_app .app_btn {
  margin-bottom: 0;
}

.before_download dl {
  margin-bottom: 8px;
}

.before_download dl:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.before_download dt {
  float: left;
  width: 80px;
}

.before_download dt img {
  width: 80px;
}

.before_download dd {
  font-size: 13px;
  padding: 2px 0;
  margin: 0 0 4px 90px;
}

.before_download dl dd:nth-of-type(1) {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 6px;
}

/* ----- ダウンロード作品一覧 ----- */
.download_work_list {
}

.download_work_list ul {
  background-color: #fff;
}

.download_work_list .before_download ul {
  background-color: #fffae0;
}

.download_work_list .work_list > li {
  border-bottom: 1px solid #ccc;
}

.download_work_list .work_list > li:last-child {
  border-bottom: none;
}

.download_work_list .work_list dl {
  padding: 12px 8px;
}

.download_work_list .work_list dt.work_thumb {
  width: 75px;
}

.download_work_list .work_list dt.work_thumb img {
  max-width: 75px;
  max-height: 107px;
}

.download_work_list .work_list dd {
  padding-bottom: 3px;
  margin-left: 83px;
}

.download_work_list .work_list dd.work_name {
  font-size: 13px;
}

.download_work_list .work_list dd.maker_name {
  font-size: 12px;
}

.download_work_list .work_list dd.work_download ul {
  padding-top: 3px;
}

.download_work_list .work_list dd.work_download ul li {
  margin-bottom: 10px;
}

.download_work_list .work_list dd.work_download ul li:last-child {
  margin-bottom: 0;
}

.download_work_list .serial_no {
  font-size: 12px;
  font-size: 10px;
  display: table;
  width: 100%;
  margin-bottom: 7px;
}

.download_work_list .serial_no:last-of-type {
  margin-bottom: 20px;
}

.download_work_list .serial_no span {
  display: table-cell;
  width: 75px;
}

.download_work_list .serial_no input {
  font-weight: bold;
  color: #d94c63 ;
  padding: 7px 0;
  border: 1px solid #d94c63;
  font-size: 13px;
  display: table-cell;
  text-align: center;
  background: #fff1f1;
}

/* ダウンロードボタン */
.work_list dd.work_download ul li a {
  display: block;
  line-height: 1.2;
  color: #fff;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 6px;
  background: #9635ff;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  word-wrap: break-word;
  word-break: break-all;
  width: 70%;
}

.work_list dd.work_download ul li a span {
  padding-left: 5px;
  font-weight: normal;
}

/* SNSボタン */
.download_work_list dd.work_twitter {
  position:absolute;
  right: 12px;
  bottom: 12px;
}

/* 楽天再ダウンロード */
.item_code {
  padding: 10px 12px;
  background-color: #54b733;
}

.item_code p {
  color: #fff;
  font-size: 12px;
  margin-bottom: 8px;
}

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

/* ----- ダウンロード情報メール再発行 ----- */
.purchase_list > li {
  line-height: 1.5;
  font-size: 13px;
  padding: 12px;
  border-bottom: 1px solid #ccc;
}

.purchase_list > li:last-child {
  border: none;
}

.purchase_list .buy_date {
  font-size: 14px;
  padding: 0 0 0 8px;
  margin-bottom: 8px;
  border-left: 5px solid #4d6594;
}

.purchase_list .work_no {
  padding: 0 0 0 15px;
  margin-bottom: 2px;
}

.purchase_list .work_name {
  padding: 0 0 0 15px;
  margin-bottom: 8px;
}

.purchase_list .btn_inquiry_number {
}

.purchase_list .btn_inquiry_number input {
  display: block;
  width: 100%;
  height: 44px;
  line-height: 44px;
  color: #fff;
  font-size: 14px;
  padding-left: 0;
  border-radius: 4px;
  background-color: #fa8c1e;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* 未払い作品 */
.unpaid_work_list .purchase_list > li:first-child {
  border-top: 1px solid #ccc;
}

.unpaid_work_list .purchase_list .buy_date {
  border-left: 5px solid #d14747;
}

.unpaid_work_list .purchase_list .work_name {
  margin-bottom: 0;
}

.unpaid_work_list .purchase_list .work_price {
  color: #c00;
  font-size: 14px;
  padding: 0 0 0 15px;
  margin-bottom: 8px;
}

/* ご意見箱
-------------------------------------------------- */
.work_request {
  padding: 8px 12px;
  margin: 12px 0;
  border-radius: 6px;
  border: 1px solid #f58eb0;
  background-color: #fff2f9;
}

.work_request p {
  color: #ca3064;
  font-size: 12px;
  line-height: 1.5;
}

.work_request p strong {
  display: block;
  font-size: 13px;
}

/* その他
-------------------------------------------------- */

/* 過払い返金申請 */
.repay_price strong {
  color: #c00;
  font-size: 16px;
}

/* ユーザー情報の破棄 */
.delete_attention p strong {
  color: #c00;
}

/* ==================================================
 マイページ
================================================== */

/* 重要なお知らせ
-------------------------------------------------- */

/* ----- トップ一覧 ----- */
.important_info_list {
}

.important_info_list li {
  border-bottom: 1px solid #ddd;
}

.important_info_list li:last-child {
  border-bottom: none;
}

.important_info_list li a {
  display: block;
  line-height: 1.5;
  padding: 10px 30px 10px 8px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

.important_info_list dl {
  width: 100%;
  line-height: 1.3;
}

.important_info_list dt {
  font-size: 14px;
  padding-bottom: 5px;
}

.important_info_list dd {
  color: #666;
  font-size: 13px;
  padding-left: 22px;
}

.important_info_list li.unopen {
  background: #fff2f2;
}

.important_info_list li.unopen dt {
  font-weight: bold;
  padding-left: 22px;
  background: url(../../images/web/common/icon_mail_unopen.png) no-repeat left 3px;
}

.important_info_list li.open dt {
  font-weight: normal;
  padding-left: 22px;
  background: url(../../images/web/common/icon_mail_open.png) no-repeat left 0;
}

/* ----- 本文ページ ----- */
.important_info {
}

.important_info header {
  padding: 12px;
  border-bottom: 1px solid #ddd;
  background-color: #f5f5f5;
}

.important_info header h1 {
  line-height: 1.2;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 6px;
}

.important_info header p {
  line-height: 1;
  color: #666;
  font-size: 13px;
}

.important_info_text {
  line-height: 1.4;
  font-size: 13px;
  padding: 12px;
}

.important_info footer {
  display: table;
  width: 100%;
  table-layout: fixed;
  height: auto;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  background-color: #fafafa;
}

.important_info footer p {
  display: table-cell;
  color: #666;
  font-size: 13px;
  padding: 8px 4px 8px 8px;
}

.important_info footer p:last-child {
  padding: 8px 8px 8px 4px;
}

.important_info footer p a {
  display: block;
  height: 30px;
  line-height: 30px;
  color: #666;
  font-size: 14px;
  padding-left: 0;
  border-radius: 4px;
  background-color: #f0f0f0;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

/* お気に入り
-------------------------------------------------- */
.status_refine {
  padding: 12px;
}

.status_refine + .work_list_guide,
.text_box_01 + .status_refine {
  border-top: 1px solid #ddd;
}

.refine_keyword {
  display: table;
  width: 100%;
}

.refine_keyword div {
  display: table-cell;
}

.refine_keyword .keyword {
  padding-right: 8px;
}

.refine_keyword .btn {
  width: 80px;
}

.refine_keyword .keyword input[type="text"] {
  font-size: 14px;
}

.refine_keyword .btn input[type="submit"] {
  width: 100%;
  height: 36px;
  color: #666;
  font-size: 12px;
  background-color: #f0f0f0;
}

.status_refine p.btn_01 {
  margin-top: 12px;
}

.status_refine p.btn_01 a {
  height: 32px;
  line-height: 32px;
  color: #666;
  font-size: 12px;
  background-color: #f0f0f0;
}

.status_delete {
  padding: 12px;
}

.status_delete ul {
  font-size: 13px;
  text-align: center;
  margin-bottom: 12px;
}

.status_delete ul li {
  display: inline-block;
}

.status_delete ul li:first-child {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #ddd;
}

.status_delete ul li a {
  vertical-align: middle;
}

.status_delete .btn_01 input {
  height: 32px;
  line-height: 32px;
  color: #666;
  font-size: 12px;
  background-color: #f0f0f0;
}

/* ----- お気に入り作品一覧 ----- */
.wish_work_list .work_list dd {
  margin-right: 54px;
}

.wish_work_list .work_list dd.work_genre,
.wish_work_list .work_list dd.work_date {
  margin-right: 0;
}

.wish_work_list .work_list p.delete_check {
  float: right;
  width: 54px;
  position: relative;
  text-align: center;
}

.wish_work_list p.delete_check input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 54px;
  height: 52px;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.wish_work_list p.delete_check input[type="checkbox"] + label {
  display: block;
  color: #666;
  font-size: 12px;
  padding-top: 12px;
  padding-bottom: 28px;
}

.wish_work_list p.delete_check input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) center 32px no-repeat;
  background-size: 20px 20px;
}

.wish_work_list p.delete_check input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) center 32px no-repeat;
  background-size: 20px 20px;
}

section#wishlist .hd_content_search dl {
  border-bottom: none;
}

section#wishlist .hd_content_search dd.option {
  border-top: solid 1px #ddd;
}

/* ----- マイジャンル一覧 ----- */
.favorite_genre_list .work_list dd {
  margin-right: 54px;
}

.favorite_genre_list .work_list dd.work_genre,
.favorite_genre_list .work_list dd.work_date {
  margin-right: 0;
}

.favorite_genre_list .work_list p.delete_check {
  float: right;
  width: 54px;
  position: relative;
  text-align: center;
}

.favorite_genre_list p.delete_check input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 54px;
  height: 52px;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

.favorite_genre_list p.delete_check input[type="checkbox"] + label {
  display: block;
  color: #666;
  font-size: 12px;
  padding-top: 12px;
  padding-bottom: 28px;
}

.favorite_genre_list p.delete_check input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) center 32px no-repeat;
  background-size: 20px 20px;
}

.favorite_genre_list p.delete_check input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) center 32px no-repeat;
  background-size: 20px 20px;
}

.favorite_genre_list .work_list dl {
  padding-bottom: 10px;
}

.favorite_genre_list dt {
  width: 83%;
  text-align: left;
  position: relative;
  top: 0;
}

/* お知らせメール受け取り可否ボタンに隣接するテキスト */
div.work_btn p.favorite_genre_text {
  color: #666;
  display: inline;
  font-size: 13px;
  vertical-align: super;
}

/* 購入履歴
-------------------------------------------------- */

/* ご利用金額 */
.use_price_box {
  border-bottom: 1px solid #ddd;
}

.use_price_box .main_use_price {
  font-size: 15px;
}

.use_price_box .main_use_price dt {
  float: left;
  width: 160px;
  padding: 16px 0 16px 12px;
}

.use_price_box .main_use_price dd {
  text-align: right;
  padding: 16px 12px 16px 0;
  margin-left: 120px;
}

.use_price_box .detail_price {
  font-size: 14px;
  padding: 8px 0;
  margi: 0 12px 12px;
  border-radiu: 6px;
  border-top: 1px dotted #ccc;
}

.use_price_box .detail_price:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.use_price_box .detail_price dt {
  float: left;
  width: 194px;
  padding: 6px 0 6px 12px;
}

.use_price_box .detail_price dt span {
  font-size: 12px;
}

.use_price_box .detail_price dd {
  text-align: right;
  padding: 6px 12px 6px 0;
  margin-left: 220px;
}

strong.work_price {
  color: #c00;
}

strong.half_price {
  color: #c00;
}

span.red {
  color: #c00;
}

/* 未払い作品一覧 */
.unpaid_work_list {
}

.unpaid_work_list .sub_lead_01 {
  background-color: #d14747;
}

/* 購入作品一覧 */
.buy_work_list {
}

.buy_work_list ul {
  background-color: #fff;
}

.buy_work_list .work_list > li {
  border-bottom: 1px solid #ccc;
}

.buy_work_list .work_list > li:last-child {
  border-bottom: none;
}

.buy_work_list div.work_btn {
  display: table;
  width: 100%;
  table-layout: fixed;
  height: auto;
  line-height: 1.5;
  padding: 0;
  background-color: #fafafa;
}

.buy_work_list div.work_btn p {
  display: table-cell;
  color: #666;
  font-size: 13px;
  text-align: center;
  vertical-align: middle;
  padding: 8px 4px 8px 8px;
}

.buy_work_list div.work_btn p:last-child {
  padding: 8px 8px 8px 4px;
}

.buy_work_list div.work_btn p a,
.buy_work_list div.work_btn p.link_download span {
  display: block;
  width: 100%;
  height: 30px;
  line-height: 30px;
  text-indent: 0;
  color: #666;
  font-size: 14px;
  text-align: center;
  padding-left: 0;
  margin: 0;
  border-radius: 4px;
  background: #f0f0f0;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

span.payment_method {
  color: #666;
  font-size: 12px;
  padding-left: 6px;
}

/* 販売終了 */
.buy_work_list div.work_btn p > span:not([class^="work_hyouka"]) {
  display: block;
  height: 30px;
  line-height: 30px;
  text-indent: 0;
  color: #a2a2a2;
  font-size: 14px;
  text-align: center;
  padding-left: 0;
  margin: 0;
  border-radius: 4px;
  background: #e6e6e6;
  box-shadow: none;
}

/* 評価済み */
div.work_btn .link_hyouka .work_hyouka_1,
div.work_btn .link_hyouka .work_hyouka_2,
div.work_btn .link_hyouka .work_hyouka_3,
div.work_btn .link_hyouka .work_hyouka_4,
div.work_btn .link_hyouka .work_hyouka_5 {
  display: inline-block;
  width: 20px;
  padding-left: 0;
  margin-right: 8px;
  text-indent: -9999px;
}

/* ----- 過去の購入履歴 ----- */
.status_select.buy {
  height: auto;
  padding: 12px 0;
  border-bottom: none;
}

.buy_work_type,
.buy_date {
  font-size: 14px;
  padding: 0 12px 12px;
}

.buy_work_type dd,
.buy_date dd {
  padding-top: 6px;
}

/* 購入月 */
.buy_date dd select.buydate_01 {
  width: 94px;
}

.buy_date dd select.buydate_02 {
  width: 70px;
}

.old_buy .use_price_box {
  border-top: 1px solid #ccc;
  border-bottom: none;
}

/* 特典コード
-------------------------------------------------- */
.special_code_list_01 ul {
  border-top: 1px solid #ccc;
}

h1 + .special_code_list_01 li:first-child ul {
  border-top: none;
}

.special_code_list_01 li dl {
  display: table;
  width: 100%;
}

.special_code_list_01 li.period_end {
  background: #efefef;
  color: #999;
}

.special_code_list_01 li.period_end li.special_code_no input {
  color: #999;
  border: 1px solid #999;
  background: #efefef;
  font-weight: normal;
}

.special_code_list_01 li dt,
.special_code_list_01 li dd {
  display: table-cell;
  vertical-align: top;
}

.special_code_list_01 li dt {
  line-height: 1.7;
  font-size: 11px;
  width: 60px;
  text-align: right;
  background-color: #f5f5f5;
  color: #666;
  padding: 6px 8px 6px 8px;
}

.special_code_list_01 li dd {
  line-height: 1.4;
  font-size: 13px;
  padding: 6px 8px;
  word-break: break-all;
}

.special_code_list_01 li.special_code_no dt {
  vertical-align: middle;
}

.special_code_list_01 li.special_code_no input {
  font-weight: bold;
  color: #d94c63 ;
  padding: 7px 0;
  font-size: 13px;
  display: inline-block;
  text-align: center;
  border: 1px solid #d94c63;
  background: #fff1f1;
}

/* クーポン管理
-------------------------------------------------- */
.coupon_list_01 > li {
  border-bottom: 1px solid #ccc;
}

.status_select + .coupon_list_01 > li:last-child {
  border-bottom: none;
}

.coupon_list_01 li dl {
  display: table;
  width: 100%;
}

.coupon_list_01 li.period_end {
  background: #efefef;
  color: #999;
}

.coupon_list_01 li dt,
.coupon_list_01 li dd {
  display: table-cell;
  vertical-align: top;
}

.coupon_list_01 li dt {
  line-height: 1.7;
  font-size: 11px;
  width: 70px;
  text-align: right;
  background-color: #f5f5f5;
  color: #666;
  padding: 6px 8px 6px 8px;
}

.coupon_list_01 li dd {
  line-height: 1.4;
  font-size: 13px;
  padding: 6px 8px;
}

ul.base_list.coupon_condition {
  border-top: none;
}

ul.base_list.coupon_condition > li {
  margin-bottom: 4px;
}

/* マイ評価
-------------------------------------------------- */
.status_select.hyouka {
  height: 60px;
  border-top: none;
}

.status_select.hyouka dl.sort_type_only dt,
.status_select.hyouka dl.sort_type_only dd {
  height: 60px;
}

.hyouka_work_list {
}

.hyouka_work_list ul {
}

.hyouka_work_list .work_list > li {
  border-bottom: 1px solid #ddd;
}

.hyouka_work_list .work_list > li:last-child {
  border-bottom: none;
}

.hyouka_work_list .work_list dl {
  padding: 8px;
  background-color: #f5f5f5;
  position: relative;
  overflow: hidden;
}

.hyouka_work_list .work_list dt.work_thumb {
  width: 50px;
}

.hyouka_work_list .work_list dt.work_thumb img {
  max-width: 50px;
  max-height: 60px;
}

.hyouka_work_list .work_list dd {
  padding-bottom: 3px;
  margin-left: 58px;
}

.hyouka_work_list .work_list dd.rate_complete,
.hyouka_work_list .work_list dd.rate_error {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  background: #f5f5f5;
}

.hyouka_work_list .rate_complete span,
.hyouka_work_list .rate_error span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 280px;
  height: 38px;
  line-height: 38px;
  color: #ef7700;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 0;
  margin: -20px 0 0 -140px;
}

.hyouka_work_list .rate_error span {
  color: #c00;
}

/* 評価フォーム */
.my_hyouka_check {
  font-size: 12px;
  padding: 12px;
  border-top: 1px solid #ccc;
  background-color: #fff;
}

.hyouka_rank {
  display: table;
  width: 100%;
  height: 40px;
  table-layout: fixed;
}

.hyouka_rank li {
  display: table-cell;
  text-align: center;
}

.hyouka_rank li span.icon {
  display: block;
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
  background: url(../../images/web/hometouch/icon_myhyouka.png) no-repeat;
  background-size: 40px 400px;
}

.hyouka_rank li.myhyouka_05 span.icon {
  background-position: 0 -40px;
}

.hyouka_rank li.myhyouka_04 span.icon {
  background-position: 0 -120px;
}

.hyouka_rank li.myhyouka_03 span.icon {
  background-position: 0 -200px;
}

.hyouka_rank li.myhyouka_02 span.icon {
  background-position: 0 -280px;
}

.hyouka_rank li.myhyouka_01 span.icon {
  background-position: 0 -360px;
}

.hyouka_rank li.myhyouka_05 span.icon:hover,
.hyouka_rank li.myhyouka_05.selected span.icon {
  background-position: 0 0;
}

.hyouka_rank li.myhyouka_04 span.icon:hover,
.hyouka_rank li.myhyouka_04.selected span.icon {
  background-position: 0 -80px;
}

.hyouka_rank li.myhyouka_03 span.icon:hover,
.hyouka_rank li.myhyouka_03.selected span.icon {
  background-position: 0 -160px;
}

.hyouka_rank li.myhyouka_02 span.icon:hover,
.hyouka_rank li.myhyouka_02.selected span.icon {
  background-position: 0 -240px;
}

.hyouka_rank li.myhyouka_01 span.icon:hover,
.hyouka_rank li.myhyouka_01.selected span.icon {
  background-position: 0 -320px;
}

.hyouka_rank p.tooltip {
  position: relative;
  width: 52px;
  height: 19px;
  line-height: 19px;
  color: #4d6594;
  font-size: 11px;
  text-align: center;
  margin: 0 auto 12px;
  background: #ebeef5;
  border-radius: 2px;
}

.hyouka_rank p.tooltip:after {
  content: " ";
  position: absolute;
  width: 0;
  height: 0;
  left: 21px;
  bottom: -12px;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 7px solid #ebeef5;
  border-bottom: 5px solid transparent;
}

.hyouka_rank li.myhyouka_05.selected p.tooltip {
  color: #71345d;
  background: #ffb6ff;
}

.hyouka_rank li.myhyouka_04.selected p.tooltip {
  color: #8d3144;
  background: #ffa39a;
}

.hyouka_rank li.myhyouka_03.selected p.tooltip {
  color: #7b3c2c;
  background: #ffad15;
}

.hyouka_rank li.myhyouka_02.selected p.tooltip {
  color: #8e4633;
  background: #ffdb26;
}

.hyouka_rank li.myhyouka_01.selected p.tooltip {
  color: #425900;
  background: #e4e43f;
}

.hyouka_rank li.myhyouka_05.selected p.tooltip:after {
  border-top: 7px solid #ffb6ff;
}

.hyouka_rank li.myhyouka_04.selected p.tooltip:after {
  border-top: 7px solid #ffa39a;
}

.hyouka_rank li.myhyouka_03.selected p.tooltip:after {
  border-top: 7px solid #ffad15;
}

.hyouka_rank li.myhyouka_02.selected p.tooltip:after {
  border-top: 7px solid #ffdb26;
}

.hyouka_rank li.myhyouka_01.selected p.tooltip:after {
  border-top: 7px solid #e4e43f;
}

.hyouka_comment textarea {
  height: 4em;
  margin: 12px 0 0;
  resize: none;
  overflow: hidden;
}

.hyouka_comment ul.error_list li {
  line-height: 1.4;
  color: #c00;
  font-size: 12px;
  font-weight: bold;
  padding: 8px;
  margin-top: 12px;
  border: 2px solid #c00;
  background-color: #fff1f1;
}

.hyouka_comment input[type="button"].btn_hyouka {
  width: 100%;
  min-height: 44px;
  line-height: 44px;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  background-color: #fa8c1e;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

section#rate_wrap div.rate_loading {
  height: 18px;
  line-height: 18px;
  width: 92px;
  text-align: center;
  margin: 10px auto;
}

section#rate_wrap div.rate_loading img {
  float: left;
}

section#rate_wrap div.rate_loading span {
  padding-left: 5px;
  color: #666;
  font-size: 14px;
}

/* マイレビュー
---------------------------------------------- */

/* ----- レビューステータス ----- */
dd.review_publish {
}

/* レビュー掲載中 */
dd.review_publish span {
  display: inline-block;
  width: 70px;
  line-height: 1;
  color: #50b361;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  padding: 4px 0 3px;
  margin-top: 3px;
  border-radius: 12px;
  border: 2px solid #50b361;
  background-color: #f3fbf4;
}

/* レビュー掲載待ち */
dd.review_publish span.icon_wait {
  color: #f26161;
  border-color: #f26161;
  background-color: #fff2f2;
}

/* レビュー掲載不可 */
dd.review_publish span.icon_no {
  color: #888;
  border-color: #888;
  background-color: #efefef;
}

/* --- いちおし作品に追加・レビューを削除ボタン --- */
.btn_02 {
  text-align: right;
  padding-top: 10px;
}

.btn_02 input.btn_osusume,
.btn_02 a {
  width: 140px;
  min-height: 30px;
  line-height: 30px;
  color: #fff;
  font-size: 12px;
  margin: 0 0 0 3px;
  border-radius: 3px;
  background-color: #fa8c1e;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
}

.btn_02 a {
  display: inline-block;
  width: 100px;
  color: #333;
  font-size: 11px;
  text-align: center;
  vertical-align: top;
  background-color: #eee;
}

/* レビューを削除ボタン */
input.btn_review_delete {
  width: 100px;
  height: 30px;
  font-size: 11px;
  color: #333;
  border-radius: 3px;
  background-color: #eee;
}

/* ---いちおし作品を編集--- */
.navbar-right {
  float: right;
}

.navbar-right .navbar-button {
  font-size: 14px;
  border-radius: 5px;
  box-sizing: border-box;
  vertical-align: top;
  cursor: pointer;
  -moz-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  -webkit-box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  box-shadow: -1px -1px 1px 0 rgba(0,0,0,0.2) inset;
  color: #fff;
  background: #1f9aff;
  padding: 3px 5px;
}

.review_osusume.editing li.item {
  cursor: pointer;
}

.review_osusume.editing li.item::after {
  position: absolute;
  top: 50%;
  height: 26px;
  line-height: 26px;
  margin-top: -13px;
  right: 5px;
  content: "";
  color: #1f9aff;
  font-size: 20px;
  cursor: move;
  font-family: FontAwesome;
}

/* ポイント
-------------------------------------------------- */

/* ----- ポイント照会・履歴 ----- */
.point_box {
  padding: 8px;
  background-color: #f5f5f5;
}

.point_box dl {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.point_box dt,
.point_box dd {
  display: table-cell;
  font-size: 15px;
  font-weight: bold;
  padding: 6px 0;
}

.point_box span {
  font-weight: normal;
  padding: 0 4px;
}

.point_box dt {
  width: 140px;
  text-align: right;
}

.point_box dt:after {
  content: " ： ";
}

.point_box dd {
  color: #c00;
  padding-left: 4px;
}

.point_box dl:first-child dd {
  color: #093;
}

/* ポイント履歴 */
.point_history {
  border-top: 1px solid #ccc;
}

.point_history li {
  border-bottom: 1px solid #ccc;
}

.point_history li:last-child {
  border-bottom: 0;
}

.point_history dl {
  font-size: 12px;
  line-height: 1.2;
  padding: 7px 10px 4px;
}

.point_history dl:after {
  content: " ";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
  font-size: 0;
}

.point_history dl dt,
.point_history dl dd {
  padding-bottom: 4px;
}

.point_history dl dt.date {
}

.point_history dl dd.point_detail {
  font-size: 13px;
  line-height: 1.4;
}

.point_history dl dd span.point_genre {
  display: inline-block;
  line-height: 1.2;
  color: #fff;
  font-size: 11px;
  padding: 2px 4px;
  margin-right: 6px;
  border-radius: 3px;
  background: #666;
}

.point_history dl dd.use_point {
  float: right;
  color: #093;
  font-size: 15px;
  text-align: right;
}

.point_history dl dd.situation {
  float: left;
}

/* ----- ポイント使用 ----- */
.point_count {
  font-size: 16px;
}

.charge_price {
  color: #c00;
  font-size: 16px;
}

.point_count strong,
.charge_price strong {
  padding-right: 4px;
}

p.use_point input[type="tel"] {
  width: 120px;
}

/* 確認画面 */
.confirm .point_count,
.confirm .charge_price {
  font-size: 14px;
}

.confirm .point_count strong,
.confirm .charge_price strong {
  font-weight: normal;
}

/* ポイントアイテム */
.change_point {
  color: #333;
  font-size: 14px;
  height: 28px;
  line-height: 28px;
  padding: 0 8px;
  border-bottom: none;
  background-color: #f5f5f5;
}

a.guide_guest_pointitem {
  display: block;
  width: 296px;
  height: 84px;
  margin: 0 auto 12px;
  background: url(../../images/web/hometouch/bn_ge_pointitem_touch.png) left top no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  text-indent: -9999px;
}

.point_item_list {
}

.point_item_list dl:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.point_item_list li {
  border-bottom: 1px solid #ddd;
}

.point_item_list li:last-child {
  border-bottom: none;
}

.point_item_list dl {
  line-height: 1.2;
  padding: 8px;
}

.point_item_list dt.item_thumb {
  width: 75px;
  float: left;
  text-align: center;
}

.point_item_list dt.item_thumb img {
  max-width: 75px;
  max-height: 75px;
}

.point_item_list dd {
  font-size: 13px;
  padding-bottom: 3px;
  margin-left: 83px;
  margin-right: 54px;
}

.point_item_list dd.text:last-child {
  clear: left;
  line-height: 1.4;
  font-size: 11px;
  padding-top: 5px;
  margin: 0;
}

.point_item_list dd.title {
  font-size: 14px;
  font-weight: bold;
}

.point_item_list dd.point {
  color: #093;
  font-size: 14px;
}

/* アイテム選択 */
p.change_check {
  float: right;
  width: 54px;
  position: relative;
  text-align: center;
}

p.change_check input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 54px;
  height: 52px;
  -webkit-tap-highlight-color: rbga(0,0,0,0);
}

p.change_check input[type="checkbox"] + label {
  display: block;
  color: #666;
  font-size: 12px;
  padding-top: 12px;
  padding-bottom: 28px;
}

p.change_check input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) center 32px no-repeat;
  background-size: 20px 20px;
}

p.change_check input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) center 32px no-repeat;
  background-size: 20px 20px;
}

/* にじコイン変換 */
.nijicoin_trade:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.nijicoin_trade p:first-child {
  float: left;
  margin: 4px 12px 8px 0;
}

.nijicoin_trade p:first-child img {
  width: 40px;
  height: 40px;
}

/* ----- ポイント購入 ----- */
.point_reflect {
  margin: 0 12px;
  border: 1px solid #ccc;
}

.point_reflect dl {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid #ccc;
}

.point_reflect dl:last-child {
  border-bottom: none;
}

.point_reflect dt,
.point_reflect dd {
  display: table-cell;
  line-height: 1.2;
  font-size: 12px;
  vertical-align: middle;
  padding: 8px;
}

.point_reflect dt {
  width: 120px;
  color: #666;
  text-align: left;
  border-right: 1px solid #ccc;
  background-color: #f5f5f5;
}

.point_reflect dd {
}

/* 画像表示設定
-------------------------------------------------- */
.display_condition select {
  height: 28px;
  padding-top: 4px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sub_lead_01 .setting_count {
  float: right;
}

/* ----- 非表示ジャンル ----- */
.setting_img_genre {
}

.setting_img_genre li {
  border-bottom: 1px solid #ccc;
}

.setting_img_genre dl {
  font-size: 12px;
  line-height: 1.2;
  padding: 8px;
}

.setting_img_genre dl dt {
  color: #666;
  padding-bottom: 4px;
}

.setting_img_genre dl dd {
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.display_condition .form_list_01 {
  border-top: none;
}

/* ----- 非表示サークル ----- */
input[type="text"].maker_set {
  width: 200px;
  margin-right: 5px;
}

input[type="button"].btn_maker_search {
  width: 68px;
  height: 37px;
  color: #666;
  font-size: 14px;
  background-color: #f0f0f0;
}

.maker_search_result {
  margin-top: 12px;
}

.maker_search_result li.none {
  padding: 15px 20px;
}

.setting_img_maker {
}

.setting_img_maker li {
  border-bottom: 1px solid #ccc;
}

.setting_img_maker li:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.setting_img_maker dl {
  font-size: 13px;
  line-height: 1.2;
  padding: 8px;
  margin-right: 70px;
}

.setting_img_maker dl dt {
  font-size: 14px;
  padding-bottom: 3px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.setting_img_maker p.check_delete,
.setting_attestation p.check_delete {
  float: right;
  width: 60px;
  position: relative;
}

.setting_img_maker p.check_delete input[type="checkbox"],
.setting_attestation p.check_delete input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 60px;
  height: 50px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.setting_img_maker p.check_delete input[type="checkbox"] + label,
.setting_attestation p.check_delete input[type="checkbox"] + label {
  display: block;
  height: 50px;
  line-height: 50px;
  color: #666;
  font-size: 12px;
}

.setting_img_maker p.check_delete input[type="checkbox"] + label,
.setting_attestation p.check_delete input[type="checkbox"] + label {
  background: url(../../images/web/hometouch/btn_check_off.png) 30px 15px no-repeat;
  background-size: 20px 20px;
}

.setting_img_maker p.check_delete input[type="checkbox"]:checked + label,
.setting_attestation p.check_delete input[type="checkbox"]:checked + label {
  background: url(../../images/web/hometouch/btn_check_on.png) 30px 15px no-repeat;
  background-size: 20px 20px;
}

/* メール設定
-------------------------------------------------- */

/* ----- お知らせメール ----- */
.infomail_status .guide_link { padding-top: 5px; }

.infomail_list_01 li dd {
  padding: 12px 12px 0 12px;
}

.infomail_list_01 li dt {
  line-height: 1.5;
  color: #666;
  font-size: 14px;
  padding: 6px 8px;
  background-color: #f5f5f5;
  border-top: 1px solid #ccc;
}

.infomail_list_01 dd p {
  font-size: 13px;
  line-height: 1.6;
}

ul.check_radio_list_01 input#infomail {
  left: 0;
  height: 0;
}

/* ----- メルマガ設定の変更 ----- */
table.mail_choice {
  width: 100%;
}

table.mail_choice td.choice {
  float: right;
  margin-bottom: 10px;
}

table.mail_choice td.name {
  vertical-align: middle;
  font-size: 13px;
}

table.mail_choice .list_inner {
  margin-bottom: 5px;
}

table.mail_choice .list_inner.clearfix.format {
  margin-top: 13px;
  margin-bottom: 0 !important;
  padding-top: 11px;
  border-top: 1px solid #b8c3d9;
}

table.mail_choice ul.btn_infomail_send {
  width: 166px;
}

table.mail_choice ul.btn_infomail_send li {
  width: 83px;
}

table.mail_choice table.mail_choice td.name {
  padding: 8px 0;
}

table.mail_choice ul.btn_infomail_send {
  width: 200px;
  border-radius: 3px;
  font-size: 16px;
}

table.mail_choice ul.btn_infomail_send li {
  height: 44px;
  line-height: 44px;
  width: 100px;
  display: block;
  float: left;
  background: #fff;
  cursor: pointer;
  text-align: center;
  color: #ccc;
  border: 1px solid #b8c3d9;
  box-sizing: border-box;
}

table.mail_choice ul.btn_infomail_send li:first-child {
  border-radius: 3px 0 0 3px;
  border-right: none;
}

table.mail_choice ul.btn_infomail_send li:last-child {
  border-radius: 0 3px 3px 0;
}

table.mail_choice ul.btn_infomail_send li.current {
  background: #607194 !important;
  color: #fff !important;
}

table.mail_choice ul.btn_infomail_send li:hover {
  background: #dde2ed;
  color: #fff;
}

table.mail_choice p.lead_infomail_send {
  width: 130px;
  font-size: 11px;
  padding-bottom: 4px;
  text-align: left;
  margin: 0 auto;
}

tr.mm_type {
  padding-top: 10px;
  border-top: 1px dotted #ccc;
}

tr.mm_type td {
  margin-top: 10px;
}

table.mail_choice td.name label {
  line-height: 1.4;
}

/* 登録情報
-------------------------------------------------- */
.payment_type {
  font-size: 12px;
  margin-top: 7px;
  color: #ef7700;
}

p.send_mail_add {
  padding: 10px;
  border-radius: 5px;
  color: #536280;
  font-weight: bold;
  font-size: 14px;
  margin: 10px 0;
  background: #f0f2f7;
}

.creditcard_list_01 {
  padding: 6px 12px;
}

.creditcard_list_01 li {
  padding: 6px 0;
}

.creditcard_list_01 .creditcard_wrap {
  display: table;
  table-layout: fixed;
  width: 100%;
  box-sizing: border-box;
}

.creditcard_list_01 .creditcard_wrap .icon {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 40px;
}

.creditcard_wrap .icon span {
  display: inline-block;
  overflow: hidden;
  text-align: left;
  text-indent: 100%;
  white-space: nowrap;
  background: url(../../images/web/common/logo_creditcard_setting_touch.png) no-repeat;
  background-size: 150px 20px;
  height: 20px;
}

.creditcard_wrap .icon span {
  width: 28px;
  background-position: -114px 0;
}

.creditcard_wrap .icon span.visa {
  width: 40px;
  background-position: 0 0;
}

.creditcard_wrap .icon span.master {
  width: 28px;
  background-position: -40px 0;
}

.creditcard_wrap .icon span.jcb {
  width: 25px;
  background-position: -68px 0;
}

.creditcard_wrap .icon span.amex {
  width: 20px;
  background-position: -94px 0;
}

.creditcard_list_01 .creditcard_wrap .number {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  word-break: break-all;
}

.creditcard_list_01 .creditcard_wrap .limit {
  display: table-cell;
  vertical-align: middle;
}

.creditcard_wrap .limit .lead {
  font-size: 11px;
  color: #666;
}

.creditcard_wrap .limit.error {
  color: #c00;
}

/* ----- クレジットカード情報の登録・変更 ----- */
.creditcard_list_edit_01 li {
  border-bottom: 1px solid #ccc;
  padding: 12px 0;
}

.creditcard_list_edit_01 .creditcard_wrap {
  width: 100%;
  display: table;
  table-layout: fixed;
  box-sizing: border-box;
}

.creditcard_list_edit_01 .creditcard_wrap .icon,
.creditcard_list_edit_01 .creditcard_wrap div {
  display: table-cell;
  vertical-align: middle;
}

.creditcard_list_edit_01 .creditcard_wrap .icon {
  text-align: center;
  width: 40px;
  padding: 0 8px 0 12px;
  vertical-align: top;
}

.creditcard_list_edit_01 .creditcard_wrap .number {
  padding-bottom: 8px;
  word-break: break-all;
}

.creditcard_wrap .btn_01 {
  text-align: right;
  padding: 0 12px 0 0;
}

.creditcard_wrap .btn_01 a {
  width: 55px;
  margin-bottom: 0;
  text-align: center;
}

.creditcard_wrap .btn_01 a:last-child {
  margin-left: 5px;
}

/* ==================================================
 ご案内
================================================== */

.static_table {
  width: 100%;
}

.static_table th,
.static_table td {
  line-height: 1.4;
  font-size: 13px;
  border: 1px solid #ccc;
}

.static_table th.left_60 { width: 60px; }
.static_table th.left_80 { width: 80px; }
.static_table th.left_100 { width: 100px; }
.static_table th.left_120 { width: 120px; }

.static_table th {
  padding: 8px 8px;
  text-align: left;
  vertical-align: top;
  background-color: #f5f5f5;
}

.static_table td {
  padding: 8px 12px;
}

.static_table td p {
  line-height: 1.5;
}

.magazine_release {
  display: block;
  font-size: 13px;
  padding-top: 4px;
}

/* 初めての方へ */
.floor_link_list {
}

.floor_link_list a {
  line-height: 1.4;
  font-size: 12px;
}

.floor_link_list a strong {
  display: block;
  color: #ef7700;
  font-size: 14px;
}

/* 年齢認証 */
.guide_ th {
  width: 68px;
}

/* サークル登録について
-------------------------------------------------- */
#circle_panf {
  background-color: #fffae0;
}

#circle_panf h2 {
  background-color: #fa8c1e;
}

#panf_cover:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

#panf_cover p:first-child {
  float: left;
  width: 100px;
  height: 120px;
  text-indent: -9999px;
  background: url(../../images/web/hometouch/pic_circlepanf.png) left top no-repeat;
  background-size: 90px 118px;
  overflow: hidden;
}

#circle_panf #panf_cover .btn_01 {
  margin-left: 110px;
}

/* お支払い方法について
-------------------------------------------------- */
.guide_payment_way {
}

.guide_payment_way h4 {
  line-height: 1.6;
  font-size: 14px;
  padding: 3px 0 3px 8px;
  margin-bottom: 8px;
}

.guide_payment_way h4.pre_way {
  border-left: 5px solid #f2973d;
}

.guide_payment_way h4.later_way {
  border-left: 5px solid #7bcc52;
}

dl.guide_payment_type {
}

dl.guide_payment_type dt {
}

dl.guide_payment_type dt.pre_pay {
  border-left: 5px solid #f2973d;
}

dl.guide_payment_type dt.later_pay {
  border-left: 5px solid #7bcc52;
}

/* 決済の流れ */
.user_flow {
}

.user_flow ol {
  font-size: 13px;
  padding-top: 12px;
  margin: 0 12px 12px;
  border-radius: 6px;
  border: 2px solid #e27386;
  background: #fff7f9;
}

.user_flow.mt12 {
  margin-top: 12px;
}

.user_flow ol > li {
  position: relative;
  margin-bottom: 18px;
  border-bottom: 1px solid #e27386;
}

.user_flow ol > li:after {
  content: " ";
  height: 0;
  position: absolute;
  width: 0;
  border-right: 16px solid transparent;
  border-left: 16px solid transparent;
  border-top: 12px solid #e27386;
  top: 100%;
  left: 50%;
  margin-left: -16px;
}

.user_flow ol > li:last-child {
  margin-bottom: 0;
  border: none;
}

.user_flow ol > li:last-child:after {
  border: none;
}

.user_flow ol p {
  line-height: 1.5;
  font-size: 12px;
  margin: 0 12px 12px;
}

.user_flow ol p.flow_title {
  color: #c54c60;
  font-size: 15px;
  font-weight: bold;
  margin: 0 8px 4px;
}

.user_flow ol ul.attention_list,
.user_flow ol dl.base_list {
  margin: 0 12px;
}

.user_flow ol dl.base_list dt {
  font-size: 13px;
  border-color: #e27386;
}

.user_flow ol dl.base_list dt span {
  font-size: 12px;
}

.user_flow.guest ol {
  border-color: #709fe0;
  background: #f7fbff;
}

.user_flow.guest ol > li {
  border-color: #709fe0;
}

.user_flow.guest ol > li:after {
  border-top-color: #709fe0;
}

.user_flow.guest ol p.flow_title {
  color: #4d81c0;
}

.user_flow.guest ol dl.base_list dt {
  border-color: #709fe0;
}

/* 振込先金融機関 */
.bank_list {
  margin: 0 12px 12px;
}

.bank_list table {
  background-color: #fff;
}

.bank_list .name {
  color: #333;
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 8px;
}

.bank_list .name span {
  font-size: 12px;
  font-weight: normal;
  padding-left: 4px;
}

.bank_list dl {
  font-size: 12px;
  line-height: 1.5;
}

.bank_list dl dt {
  clear: left;
  float: left;
  width: 100px;
  text-align: right;
}

.bank_list dl dd {
  margin-left: 105px;
}

/* 3Dセキュア */
.guide_3dsecure th {
  width: 68px;
}

/* よくある質問
-------------------------------------------------- */
ul.faq_list {
}

ul.faq_list li {
  border-bottom: 1px solid #ddd;
}

ul.faq_list li:last-child {
  border-bottom: none;
}

ul.faq_list li a {
  display: block;
  line-height: 1.5;
  font-size: 13px;
  text-indent: -19px;
  padding: 10px 30px 10px 30px;
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
}

ul.faq_list li a:before {
  content: "Q. ";
}

.check_q {
  color: #d94c4c;
  font-size: 12px;
  padding: 0 3px;
}

/* ----- 回答 ----- */
.faq_title {
  line-height: 1.6;
  text-indent: -19px;
  padding: 8px 8px 8px 30px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background-color: #f5f5f5;
}

.faq_answer_list .faq_title:first-child {
  border-top: none;
}

.faq_title:before {
  content: "Q. ";
}

.faq_back {
  height: 48px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #f5f5f5;
}

.faq_back a {
  display: inline-block;
  color: #666;
  padding-left: 18px;
  margin-top: 18px;
  background: url(../../images/web/hometouch/icon_more_link.png) left top no-repeat;
  background-size: 11px 11px;
}

/* 作品の閲覧について
-------------------------------------------------- */
p.guide_file_img_01 {
  padding-bottom: 129px;
  background: url(../../images/web/hometouch/guide_file_01.jpg) no-repeat center bottom;
  background-size: 278px 119px;
}

p.guide_file_img_02 {
  padding-bottom: 105px;
  background: url(../../images/web/hometouch/guide_file_02.jpg) no-repeat center bottom;
  background-size: 278px 95px;
}

p.guide_file_img_03 {
  padding-bottom: 180px;
  background: url(../../images/web/hometouch/guide_file_03.jpg) no-repeat center bottom;
  background-size: 278px 170px;
}

p.guide_file_img_04 {
  padding-bottom: 58px;
  background: url(../../images/web/hometouch/guide_file_04.jpg) no-repeat center bottom;
  background-size: 278px 48px;
}

/* Almight作品について
-------------------------------------------------- */

/* Androidの場合 */
p.guide_almight_01 {
  padding-bottom: 111px;
  background: url(../../images/web/common/guide_almight_01.jpg) no-repeat center bottom;
  background-size: 208px 101px;
}

p.guide_almight_02 {
  padding-bottom: 263px;
  background: url(../../images/web/common/guide_almight_02.jpg) no-repeat center bottom;
  background-size: 208px 253px;
}

p.guide_almight_03 {
  padding-bottom: 144px;
  background: url(../../images/web/common/guide_almight_03.jpg) no-repeat center bottom;
  background-size: 208px 134px;
}

/* iOSの場合 */
ol.guide_almight_ios p.guide_almight_02 {
  padding-bottom: 117px;
  background: url(../../images/web/common/guide_almight_02_ios.jpg) no-repeat center bottom;
  background-size: 208px 107px;
}

ol.guide_almight_ios p.guide_almight_03 {
  padding-bottom: 120px;
  background: url(../../images/web/common/guide_almight_03_ios.jpg) no-repeat center bottom;
  background-size: 208px 110px;
}

ol.guide_almight_ios p.guide_almight_04 {
  padding-bottom: 214px;
  background: url(../../images/web/common/guide_almight_04_ios.jpg) no-repeat center bottom;
  background-size: 208px 204px;
}

/* ----- 再インストールについて ----- */
p.guide_almight_re_01 {
  padding-bottom: 128px;
  background: url(../../images/web/common/guide_almight_reinstall_01_ios.jpg) no-repeat center bottom;
  background-size: 208px 118px;
}

p.guide_almight_re_02 {
  padding-bottom: 128px;
  background: url(../../images/web/common/guide_almight_reinstall_02_ios.jpg) no-repeat center bottom;
  background-size: 208px 118px;
}

/* ユーザー認証について
-------------------------------------------------- */
dl.guide_protect_usertype {
}

dl.guide_protect_usertype dt {
  display: block;
  font-weight: normal;
}

dl.guide_protect_usertype dt.user {
  border-color: #f2973d;
}

dl.guide_protect_usertype dt.guest {
  border-color: #7bcc52;
}

dl.guide_protect_usertype dd {
  padding-left: 0;
}

/* ----- DLsite Viewerランディングページ ----- */
.search_floor h3 {
  color: #fff;
}

#general_floor h3 {
  background-color: #83c840;
}

#adult_floor h3 {
  background-color: #75baeb;
}

#girls_floor h3 {
  background-color: #eb759c;
}

/* DLsite ADV作品について
-------------------------------------------------- */
dl.dladv_trial {
}

dl.dladv_trial:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

dl.dladv_trial dt {
  float: left;
  width: 80px;
}

dl.dladv_trial dt img {
  width: 80px;
}

dl.dladv_trial dd {
  line-height: 1.4;
  margin: 0 0 4px 90px;
}

dl.dladv_trial dd:nth-of-type(1) a {
}

dl.dladv_trial dd:nth-of-type(2) {
  font-size: 13px;
  margin-bottom: 6px;
}

dl.dladv_trial dd:nth-of-type(3) a {
  font-size: 13px;
}

dl.dladv_trial dd:nth-of-type(3) a span {
  font-size: 12px;
}

/* ブラウザ視聴について
-------------------------------------------------- */
.dlplay_header {
  position: relative;
  background-color: #2b9cfc;
}

.dlplay_header img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.dlplay_link {
  padding: 30px 15px;
  background-color: #292929;
}

.dlplay_link div {
  width: 260px;
  height: 50px;
  margin: 0 auto;
}

.dlplay_link div a {
  display: block;
  height: 50px;
  text-indent: -9999px;
  border-radius: 6px;
  background: url(../../images/web/common/btn_dlplay_start_touch.png) center center no-repeat #2b9cfc;
  background-size: 250px 55px;
}

.dlplay_link p {
  width: 260px;
  line-height: 1.3;
  color: #fff;
  font-size: 11px;
  text-align: center;
  margin: 12px auto 0;
}

/* レンタルについて
-------------------------------------------------- */
.rental_header img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* 作品詳細について
-------------------------------------------------- */
ul#guide_crown li {
  padding: 2px 0 0 28px;
}

ul#guide_crown li:nth-child(1) {
  background: url(../../images/web/common/icon_crown_total.png) left top no-repeat;
}

ul#guide_crown li:nth-child(2) {
  background: url(../../images/web/common/icon_crown_year.png) left top no-repeat;
}

ul#guide_crown li:nth-child(3) {
  background: url(../../images/web/common/icon_crown_month.png) left top no-repeat;
}

ul#guide_crown li:nth-child(4) {
  background: url(../../images/web/common/icon_crown_week.png) left top no-repeat;
}

ul#guide_crown li:nth-child(5) {
  background: url(../../images/web/common/icon_crown_hour.png) left top no-repeat;
}

ul#guide_crown li:nth-child(1),
ul#guide_crown li:nth-child(2),
ul#guide_crown li:nth-child(3),
ul#guide_crown li:nth-child(4),
ul#guide_crown li:nth-child(5) {
  background-size: 20px 20px;
}

ul#guide_crown > li:before {
  background: none;
}

/* ドコモ ケータイ払いのご案内
-------------------------------------------------- */
#docomokeitai h1 {
  margin-bottom: 0;
}

#docomokeitai .sub_lead_01 {
  background-color: #d00e31;
}

#docomokeitai .user_flow ol {
  border: 2px solid #cfced9;
  background: #fff;
}

#docomokeitai .user_flow ol > li {
  border-bottom: 1px solid #cfced9;
}

#docomokeitai .user_flow ol > li:last-child {
  border: none;
}

#docomokeitai .user_flow ol > li:after {
  border-top: 12px solid #cfced9;
}

#docomokeitai .user_flow ol p.flow_title {
  color: #d00e31;
}

/* DLsite壁紙アプリ
-------------------------------------------------- */
p.guide_wallpaper_01 {
  padding-bottom: 261px;
  background: url(../../images/web/common/pic_dlw_flow_01.png) no-repeat center bottom;
  background-size: 260px 251px;
}

p.guide_wallpaper_02 {
  padding-bottom: 420px;
  background: url(../../images/web/common/pic_dlw_flow_02.png) no-repeat center bottom;
  background-size: 260px 410px;
}

/* ==================================================
 総合トップ
================================================== */

/* ヘッダー
-------------------------------------------------- */
.index_header {
  height: 50px;
  overflow: hidden;
  position: relative;
}

.index_header h1.logo {
  display: inline-block;
  vertical-align: middle;
  width: 117px;
  height: 21px;
  position: absolute;
  top: 15px;
  left: 10px;
  background: none;
}

.index_header h1.logo a {
  display: block;
  width: 117px;
  height: 0;
  padding-top: 21px;
  line-height: 21px;
  overflow: hidden;
  background: url(../../images/web/index/icon_01_touch.png) no-repeat 0 0;
  background-size: 117px 41px;
}

.index_header nav {
  float: right;
  font-size: 0;
  height: 40px;
  position: relative;
  top: 5px;
}

.index_header nav ul li {
  display: inline-block;
  font-size: 11px;
  width: 80px;
  height: 40px;
  vertical-align: middle;
  border-left: solid 1px #ccc;
}

.index_header nav ul li a {
  display: block;
  width: 80px;
  height: 40px;
  position: relative;
  color: #333;
  text-decoration: none;
  line-height: 66px;
  text-align: center;
}

.index_header nav ul li a::after {
  content: "";
  display: block;
  position: absolute;
  height: 20px;
  width: 20px;
  top: 5px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: url(../../images/web/index/icon_01_touch.png) no-repeat -40px -21px;
  background-size: 117px 41px;
}

.index_header nav ul li.anchor_international a::after {
  background-position: -60px -21px;
}

/* 販売フロア案内
-------------------------------------------------- */

/*----- メインバナー -----*/
.index_bn a {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 40%;
  line-height: 200%;
  overflow: hidden;
  background: url(../../images/web/index/mainpic_01_touch.png) no-repeat 0 0;
  background-size: contain;
}

/*----- 各フロア見出し -----*/
.floor_title {
  height: 40px;
  color: #fff;
  line-height: 40px;
  padding-left: 10px;
  font-weight: bold;
  font-size: 15px;
  background: url(../../images/web/index/bg_title_01_touch.jpg) no-repeat right 0;
  background-size: 320px 200px;
}

.floor_title#general {
  background-color: #5ba024;
  background-position: right 0;
}/* 全年齢 */
.floor_title#adult {
  background-color: #d9568b;
  background-position: right -40px;
}/* 男性成人 */
.floor_title#girls {
  background-color: #7d3192;
  background-position: right -80px;
}/* 女性 */
.floor_title#gay {
  background-color: #3297de;
  background-position: right -120px;
}/* ゲイ */
.floor_title#international {
  background-color: #ad1d1d;
  background-position: right -160px;
}/* International */

/*----- フロアリンク -----*/
.index_floor_link li {
  height: 50px;
  border-bottom: solid 1px #ccc;
  position: relative;
}

.index_floor_link li:last-child {
  border: none;
}

#international + .index_floor_link li {
  height: 55px;
}

.index_floor_link li a {
  background: url(../../images/web/hometouch/icon_accordion_link.png) right center no-repeat;
  background-size: 19px 12px;
  display: block;
  height: 100%;
  width: 100%;
  padding: 5px 0;
  box-sizing: border-box;
  font-size: 12px;
  color: #333;
}

.index_floor_link li a strong {
  display: inline-block;
  width: 80px;
  height: 40px;
  line-height: 40px;
  border-right: solid 1px #ccc;
  text-align: center;
  font-size: 15px;
  margin-right: 10px;
}

/*----- 各フロアリンク文字色 -----*/
#general + .index_floor_link li a strong {
  color: #3d8214;
}/* 全年齢 */
#adult + .index_floor_link li a strong {
  color: #c9396b;
}/* 男性成人 */
#girls + .index_floor_link li a strong {
  color: #7d3192;
}/* 女性 */
#gay + .index_floor_link li a strong {
  color: #1e78cf;
  width: 110px;
}/* ゲイ */

/* International */
#international + .index_floor_link li a strong {
  color: #ad1d1d;
  display: block;
  width: auto;
  text-align: left;
  height: auto;
  line-height: 1.5;
  border: none;
}

.index_floor_link li a span {
  position: absolute;
  top: 50%;
  margin-top: -1.5em;
  width: 100%;
  display: block;
  box-sizing: border-box;
  padding-left: 7px;
}

/* その他案内
-------------------------------------------------- */

/*----- 見出し -----*/
.other_guide h2.sub_lead_01 {
  background: #293366;
  color: #fff;
}

/*----- 2列リンクリスト -----*/
.other_guide .link_2col_list li {
  display: table;
  height: 44px;
  border-color: #ccc;
}

.other_guide .link_2col_list li a {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.3;
  height: auto;
  width: 100%;
  font-size: 12px;
  padding: 0 24px 0 12px;
}

/*----- ゲオグループ表記 -----*/
p.management {
  position: relative;
  height: 31px;
  line-height: 31px;
  font-size: 10px;
  text-align: center;
  padding: 10px 0;
}

p.management:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 40px;
  height: 20px;
  margin-right: 5px;
  background: url(../../images/web/index/icon_01_touch.png) no-repeat 0 -21px;
  background-size: 117px 41px;
}

/* フッター
-------------------------------------------------- */
.index_footer {
  background: #293366;
  text-align: center;
  padding: 20px 0;
}

.index_footer a {
  display: inline-block;
  padding: 7px 10px;
  background: #fff;
  color: #293366;
  border-radius: 2px;
  font-size: 12px;
  margin-bottom: 15px;
}

.index_footer .copyright {
  padding: 0;
}

/* ----- フッターバナー ----- */

div.bn_footer_1box {
  clear: both;
  background: url(../../images/web/hometouch/bg_bn_footer.gif) left top repeat-x;
  text-align: center;
  padding: 15px 0 15px;
  margin-top: -1px;
}

div.bn_footer_1box div {
  text-align: center;
}

/* ==================================================
 汎用
================================================== */
.non_link {
  cursor: default !important;
}

[v-cloak] {
  display: none !important;
}

.popup-enter-active {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.popup-leave-active {
  -webkit-transition: all 0.4s ease;
  transition: all 0.2s ease;
}

.popup-enter {
  opacity: 0;
  -webkit-transform: translateY(4px);
  -ms-transform: translateY(4px);
  transform: translateY(4px);
}

.popup-leave-to {
  opacity: 0;
}