@charset "utf-8";

/*========== 共通 ==========*/
html {
  font-size: 62.5%; /* 1rem = 10px */
}
body {
  font-size: 1.6rem;
  color: #131313;
}
body, input, textarea, select, button {
  font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif;
}

#wrapper {
  min-width: 1260px;
}

a {
  color: #1010AA;
}
a.color-inherit {
  color: inherit;
}
a:link,
a:visited {
  text-decoration: none;
}
a:hover,
a:active {
  text-decoration: underline;
}

/* floatをクリアするためのCSS */
.clearfix::after {
content: " ";
display: block;
height: 0;
visibility: hidden;
clear: both;
}

.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */


.article-box a {
  color: inherit;
}
/* 画像+文章の記事カード系要素(タイトルのみunderline) */
.article-box a:hover, .article-box a:active {
  text-decoration: none;
}
.article-box a:hover .title, .article-box a:active .title,
.article-box a:hover .feature-title, .article-box a:active .feature-title {
  text-decoration: underline;
}
/* iconやボタン系要素(hover時に透過させる系) */
a.txt-deco-none:hover, a.txt-deco-none:active,
a.btn:hover, a.btn:active,
input.btn:hover, input.btn:active,
button.btn:hover, button.btn:active {
  text-decoration: none;
  opacity: .8;
}
/* inline-block要素(underlineが効かない為の対策) */
a.txt-deco-und {
  position: relative;
}
a.txt-deco-und:hover::before,
a.txt-deco-und:active::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: solid 1px currentColor;
}
#global-nav a:hover, #global-nav a:active { /* 詳細は#global-navにて.activeと同時に定義 */
  text-decoration: none;
}

/* 太字 */
.bold {
  font-weight: bold;
}

/* 全角括弧のマイナスインデント */
.bracket-indent {
  text-indent: -0.5em;
}

/* 折り返し禁止 */
.nowrap {
white-space: nowrap;
}

/* PC・SP共通部品でSPのみ表示する要素 */
.sp-only {
  display: none;
}

/*========== 部品 ==========*/
/* 記事画像 */
.article-img {
  position: relative;
  background: #eee; /* #TODO: 背景色仮置き */
  overflow: hidden;
}
.article-img:hover img {
  transform: scale(1.2,1.2);
}
.article-img::before {
  content: '';
  display: block;
  padding-top: calc(100% * 105 / 200); /* 記事一覧のpxにて算出 */
}
.article-img.img-leaf::before {
  padding-top: calc(100% * 2 / 3); /* 特集・トップ画像の比率 */
}
.article-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  transition: 0.5s;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

/* 検索ボックス(ヘッダー、検索結果一覧) */
.search-box form {
  display: inline-block;
  position: relative;
}
.search-box form input[type="text"] {
  width: 210px;
  height: 36px;
  padding: 0 30px 0 8px;
  box-sizing: border-box;
  border: none;
}
.search-box form input[type="submit"] {
  border: none;
  background: none;
  width: 19px;
  height: 19px;
  background: url(../../../../common/dol/images/v1/icon-search.png) center center /cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto 0;
  cursor: pointer;
}
/* placeholder */
.search-box form input[type="text"]:placeholder-shown {
  font-style: oblique;
}
.search-box form input[type="text"]::-webkit-input-placeholder {
  font-style: oblique;
}
.search-box form input[type="text"]::-moz-placeholder {
  font-style: oblique;
}
.search-box form input[type="text"]:-ms-input-placeholder {
  font-style: oblique;
}

/* ログインフォーム */
.login-box form {
  width: 100%;
}
.login-box form table {
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0 2px;
}
.login-box form table tr:first-child {
}
.login-box form table th  {
  padding-right: 6px;
  font-size: 1.4rem;
}
.login-box form input[type="email"],
.login-box form input[type="password"] {
  width: 420px;
}
.login-box form input[type="submit"] {
  margin-top: 15px;
  padding: 0;
  border: none;
  cursor: pointer;
}

/* ボタン */
.btn {
  display: block;
  width: 41.86%;
  margin: 0 auto;
  background: #15276a;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 3.125;
}
.btn.bg-gold {
  background: #baac71;
  color: #fff;
  border: none;
}

/* RSS最新記事リンク */
.rss-recent-article {
  margin-bottom: 5px;
  text-align: right;
}
.rss-recent-article a {
  display: inline-block;
  padding-left: 24px;
  background: url(../../../../../common/dol/images/v1/icon-rss.png) no-repeat left center /20px;
  color: #000;
  font-size: 1.4rem;
  line-height: 20px;
}

/* TOPボタン */
#top-btn {
  display: none;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  padding-top: 30px;
  background: #15276a;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  position: fixed;
  text-align: center;
  right: 15px;
  bottom: 15px;
  cursor: pointer;
}
#top-btn::before {
  display: block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px #fff solid;
  border-left: 2px #fff solid;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 15px;
  left: calc((100% - 6px) / 2);
}
#top-btn:hover {
  opacity: .8 !important; /* fadeInで付与されるstyleを上書きするためimportant */
}

/* 三角アイコン */
.link-icon {
  font-size: 1.4rem;
}
.link-icon::before {
  content: "▲";
  display: inline-block;
  transform: rotate(90deg);
  vertical-align: middle;
  margin-right: 0.37em;
  font-size: 0.7em;
  text-decoration: underline;
}
/* IE対策 一度定義してから消す */
.link-icon::before {
  text-decoration: none;
}

/* ｜区切り */
.list-style-vertical-var {
  font-size: 0;
}
.list-style-vertical-var li {
  display: inline-block;
  font-size: 1.4rem;
}
.list-style-vertical-var li:not(:last-child)::after {
  content: "|";
  margin: 0 20px;
  font-weight: normal;
}
.list-style-vertical-var li.break::after {
  content: "";
}

/* PRアイコン */
/*
.pr-icon::after {
  content: 'PR' !important;
  display: inline-block !important;
  width: 26px;
  background: #baac71;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8rem;/* 小数点以下の値が影響を及ぼすため、一意に指定 */
  text-align: center;
  vertical-align: baseline;
}
*/

/* 下矢印 */
.down-arrow {
  position: relative;
}
.down-arrow::after {
  content: "";
  position: absolute;
  top:1em;
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  transform: rotate(45deg);
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  margin-left: 10px;
}

/* 右矢印 */
.arrow::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  transform: rotate(-45deg);
  border-right: solid 2px #baac71;
  border-bottom: solid 2px #baac71;
}

/* 右矢印(リスト用) */
.list-arrow li {
  position: relative;
}
.list-arrow li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 0.4em;
  width: 0.5em;
  height: 0.5em;
  transform: rotate(-45deg);
  border-right: solid 2px #baac71;
  border-bottom: solid 2px #baac71;
}

/* ページャー */
.pagination {
  margin: auto;
  text-align: center;
  font-size: 0;
}
.pagination li {
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
}
.pagination li span {
  display: inline-block;
  box-sizing: border-box;
  font-size: 2rem;
  line-height: 40px;
  padding: 0 5px;
  min-width: 40px;
  height: 40px;
  border: solid 1px #15276a;
  color: #15276a;
  position: relative;
}
.pagination li.current span {
  background: #15276a;
  color: #fff;
}
.pagination li.prev span::before,
.pagination li.next span::before {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  width: 1.2rem;
  height: 1.2rem;
  border-right: solid 2px #15276a;
  border-bottom: solid 2px #15276a;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.pagination li.prev span::before {
  transform: rotate(135deg);
  left: 5px;
}
.pagination li.next span::before {
  transform: rotate(-45deg);
  right: 5px;
}

/* ランキングタブ */
.ranking-tab {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 20px;
  background: #eee;
  border: solid 1px #baac71;
  border-bottom: none;
  box-sizing: border-box;
}
.ranking-tab li {
  display: table-cell;
  width: calc(100% / 4);
  border-bottom: solid 1px #baac71;
  text-align: center;
  line-height: 40px;
  font-size: 1.4rem;
  cursor: pointer;
}
.ranking-tab li:not(:last-child) {
  border-right: solid 1px #baac71;
}
.ranking-tab li.active {
  background: #fff;
  border-bottom: none;
}

/* overlay */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/*========== ヘッダー ==========*/
#site-header {
  background: #efefef;
  color: #222;
  font-size: 1.4rem;
  padding: 0 30px;
}
.header-content-wrap {
  width: 1200px;
  margin: auto;
  position: relative;
}

/* ロゴ */
.header-logo {
  width: 190px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto; /* 高さ100% */
}
.header-logo img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto; /* 高さ100% */
}

/* コンテンツ */
.header-content {
  padding-left: 190px; /* logo.width */
}

/* SNSアイコン */
.header-sns-icons {
  text-align: right;
  margin-bottom: 15px;
}
.header-sns-icons ul li {
  display: inline-block;
}
.header-sns-icons ul li a {
  display: inline-block;
}
.header-sns-icons ul li a:hover {
  opacity: 0.8;
}

/* お知らせ */
.header-information {
  float: left;
  margin: 15px 0;
  width: calc(100% - 100px); /* 100px：SNSボタンの領域 */
}
.header-information dt,
.header-information dd {
  display: inline-block;
  font-weight: bold;
}
.header-information dt {
  background: #d80913;
  color: #fff;
  font-size: 1.2rem;
  padding: 6px 8px;
  margin-right: 5px;
}
.header-information dd a {
  color: rgb(204, 0, 0);
}

/* 検索ボックス */
.header-search-box {
  width: calc(100% - 320px);
  margin-bottom: 20px;
}
.header-search-box form {
  vertical-align: top;
}
/* 注目のキーワード */
.header-search-box .attention-keyword {
  display: inline-block;
  width: calc(100% - 320px);
  margin-left: 25px;
  padding-top: 6px;
}
.header-search-box .attention-keyword p {
  display: inline-block;
  background: #373737;
  color: #fff;
  border-radius: 2px;
  padding: 6px 8px;
  margin-right: 7px;
  font-size: 1.2rem;
  font-weight: bold;
  vertical-align: top;
}
.header-search-box .keyword {
  display: inline-block;
  width: calc(100% - 124px);
}
.header-search-box .keyword li {
  display: inline-block;
  padding-top: 5px;
  padding-bottom: 5px;
}
.header-search-box .keyword li:not(:last-child) {
  margin-right: 2em;
}

/* 無料会員登録・ログイン */
.header-member-link {
  position: relative;
  width: 320px;
  text-align: right;
  margin: 10px 0 0;
}
.header-member-link .list-style-vertical-var a {
  color: #695e2d;
}
.header-member-link .list-style-vertical-var li:not(:last-child)::after {
  color: #bdbdbd;
}

/* ログインメニュー */
.header-member-link .messege {
  position: relative;
  padding-right: 50px;
  font-size: 1.4rem;
}
.header-member-link .user-name {
  color: #695e2d;
  font-weight: bold;
  cursor: pointer;
}
.header-member-link .menu-btn {
  display: inline-block;
  position: absolute;
  top: 4px;
  right: 12px;
  border: 7px solid transparent;
  border-top: 8px solid #695e2d;
  cursor: pointer;
}
.header-member-link .menu {
  position: absolute;
  top: 26px;
  right: -3px;
  z-index: 2;
  width: 204px;
}
.header-member-link .user-menu {
  position: relative;
  width: calc(100% - 4px);
  margin: 8px auto 0 auto;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
}
.header-member-link .user-menu::before {
  content: "";
  position: absolute;
  top: -14px;
  right: 12px;
  border: 6px solid transparent;
  border-bottom: 8px solid #fff;
}
.header-member-link .user-menu li {
  line-height: 50px;
  font-size: 1.4rem;
  text-align: center;
}
.header-member-link .user-menu li a {
  display: block;
  color: #000;
}
.header-member-link .user-menu li:first-child {
  border-bottom: solid 2px #d8d8d8;
}
.header-member-link .user-menu .menu-border {
  border-bottom: solid 1px #d8d8d8;
  margin: 0 18px;
}

/* ナビゲーション */
#global-nav ul {
  width: 100%;
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
}
#global-nav ul li {
  display: table-cell;
  white-space: nowrap;
  text-align: center;
  letter-spacing: 1.2px;
  position: relative;
}
#global-nav ul li:not(:first-child)::before,
#global-nav ul li.active:not(:last-child)::after,
#global-nav ul li:hover:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 20%;
  height: 60%;
  opacity: .3;
  border-color: #fff;
  border-style: solid;
  border-width: 0;
}
#global-nav ul li:not(:first-child)::before {
  left: 0;
  border-left-width: 1px;
}
#global-nav ul li.active:not(:last-child)::after,
#global-nav ul li:hover:not(:last-child)::after {
  right: 0;
  border-right-width: 1px;
}
#global-nav ul li.active:not(:last-child) + li::before,
#global-nav ul li:hover:not(:last-child) + li::before {
  display: none;
}
#global-nav ul li a {
  display: block;
  line-height: 40px;
  background: #6a5e2e;
  color: #fff;
}
#global-nav ul li.active a,
#global-nav ul li:hover a,
#global-nav ul li:active a {
  background: #bbac71;
}

/*========== ページトップバナー ==========*/
.top-banner {
  text-align: center;
  max-width: 100%;
  margin-bottom: 20px;
}
/*========== パンくず ==========*/
.breadcrumb {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 5px 0;
  letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する(font-size:0;だとtext-overflowが効かない為、改行によるスペースが除去できない) */
}
.breadcrumb li {
  display: inline;
  letter-spacing: normal; /* 文字間を通常に戻す */
}
.breadcrumb li:not(:last-child)::after {
  content: '>';
  display: inline;
  margin: 0 .5em;
}
/*========== フッター ==========*/
#site-footer {
  background: #6a5e2e;
  color: #a59a62;
  padding: 25px 0;
  font-size: 1.4rem;
}
.footer-content-wrap {
  width: 1200px;
  margin: auto;
  text-align: center;
  line-height: 2;
}
.footer-links-domestic li.break::after {
  content: "|";
}

/* ダイヤモンド社のサイト */
.footer-links-diamond .heading {
  border-bottom: 1px #84794c solid;
  padding-bottom: 5px;
  margin-bottom: 5px;
}

/* リンク */
.footer-links ul {
  width:820px;
  margin: 0 auto 20px;
}
.footer-links ul li a {
  font-size: 1.2rem;
  color: #fff;
}

/* コピーライト */
.footer-copyright {
  font-size: 1.1rem;
}

/*========== コンテンツ ==========*/
#contents {
  width: 1200px;
  margin: 20px auto 30px auto;
  padding: 0 30px;
}

/* ページタイトル（主に一覧系） */
.page-title {
  text-align: center;
  font-size: 2.2rem;
  line-height: 3;
}

/* コンテンツ */
.content {
  clear:both;
  border-top: solid 2px #baac71;
  margin-bottom: 40px;
}
.content .content-title {
  text-align: center;
  font-size: 2.2rem;
  line-height: 2.63;
}

.content-sub-title {
  border-left: 4px #baac71 solid;
  margin: 10px 0 5px;
  padding: 5px 10px 2px;
  font-size: 1.8rem;
  font-weight: bold;
}

.content-description {
  margin: 0 0 10px;
  line-height: 1.5;
}

/* 記事一覧の行間 */
.article-info {
  line-height: 1.3;
}

/* 会員限定記事アイコン */
.article-box.member-only:not(.member-only-summary) .article-info .title::after,
.article-box.member-only.member-only-summary .article-info .summary::after {
  display: inline-block;
  content: "";
  width: 14px;
  height: 18px;
  background: url(../../../../common/dol/images/v1/icon-member-only.png) center center /cover;
  margin-left: 5px;
}

/* スペシャル・インフォメーション */
.main-special .content-title.pr-icon {
  position: relative;
}
/*
.main-special .content-title.pr-icon::after {
  position: absolute;
  top: 17px;
  right: 0;
}
*/
.main-special .content-title.pr-icon span {
  position: absolute;
  top: 17px;
  right: 0;
  display: inline-block !important;
  width: 26px;
  background: #baac71;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8rem;/* 小数点以下の値が影響を及ぼすため、一意に指定 */
  text-align: center;
  padding-top:1px;/*メイリオ調整用*/
  vertical-align: baseline;
}

.main-special .special-info-list {
  padding: 0 20px;
  background-color: #f8f3de;
}
.main-special .special-info-list li {
  font-size: 1.6rem;
  line-height: 2;
  border-bottom: solid 1px #fff;
}
.main-special .special-info-list li:last-child {
  border-bottom: none;
}
.main-special .special-info-list a {
  display: inline-block;
  width: 100%;
  padding-left: 1.625em;
  box-sizing: border-box;
  padding-top: 7.5px;
  padding-bottom: 7.5px;
}

/* メイン週刊ダイヤモンド */
.main-magazine .magazine-info .left-info {
  max-width:140px;
  padding: 12px;
  text-align: center;
  background-color: #efefef;
  float: left;
}
.main-magazine .left-info .magazine-img {
  position: relative;
  width: 140px;
  background: #eee;
}
.main-magazine .left-info .magazine-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}
.main-magazine .left-info .magazine-img::after {
  content: "";
  display: block;
  padding-top: 133%;
}
.main-magazine .left-info .issuedate {
  margin-top: 7px;
  font-size: 1.3rem;
  font-weight: bold;
}
.main-magazine .left-info .price {
  margin-top: 5px;
  font-size: 1.2rem;
}
.main-magazine .magazine-info .right-info {
  padding-left: 194px;
}
.main-magazine .right-info .btn {
  display: inline-block;
  width: calc((100% - 10px) / 2);
  margin: 0;
}
.main-magazine .right-info .btn span {
  vertical-align: middle;
}
.main-magazine .right-info div .btn:first-child {
  float: left;
  margin-right: 10px;
}
.main-magazine .right-info .magazine-title {
  margin-bottom: 22px;
  font-size: 1.5rem;
  line-height: 1.5;
}
.main-magazine .right-info .magazine-title .sptitle {
  font-size: 2.2rem;
  font-weight: bold;
}
.main-magazine .right-info .magazine-title strong {
  display: inline-block;
  margin-top: 8px;
}
.main-magazine .right-info .purchase {
  margin-bottom: 10px;
}
.main-magazine .right-info .purchase .btn {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 50px;
}
.main-magazine .right-info .purchase .paper-book {
  background-color: #b90f43;
}
.main-magazine .right-info .purchase .electronic-book {
  background-color: #7eb23b;
}
.main-magazine .right-info .purchase .btn .btn-r-text {
  margin-left: .5em;
  font-size: 1.6rem;
}
.main-magazine .right-info .subscription .btn {
  font-size: 1.5rem;
  line-height: 32px;
  color:  #15276a;
  background-color: #ffffff;
  border: solid 1px #15276a;
}
.main-magazine .right-info .subscription .btn .btn-r-text {
  margin-left: .5em;
  font-size: 1.4rem;
}

/* 情報をいち早く手に入れたい方へ */
.footer-get-information .content-title {
  line-height: 1;
  margin-top: 20px;
  margin-bottom: 40px;
}
.footer-get-information .get-info-list {
  display: flex;
  flex-wrap: wrap;
  magin-bottom: 30px;
}
.footer-get-information .get-info-list li {
  position: relative;
  width: calc((100% - 2px) / 3);
  padding: 0 30px 80px 30px;
  border-right: solid 1px #d8d8d8;
  box-sizing: border-box;
  float: left;
}
.footer-get-information .get-info-list li:last-child {
  border: none;
}
.footer-get-information .get-info-list .info-top {
  height: 134px;
}
.footer-get-information .get-info-list .info-title {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 20px;
}
.footer-get-information .get-info-list .info-img {
  text-align: center;
}
.footer-get-information .get-info-list .twitter-img {
  margin-right: 20px;
}
.footer-get-information .get-info-list .description {
  font-size: 1.4rem;
  line-height: 1.5;
}
.footer-get-information .get-info-list .info-btn {
  position: absolute;
  bottom: 0;
  width: calc(100% - 60px);
}
.footer-get-information .get-info-list .register-btn,
.footer-get-information .get-info-list .rss-btn {
  background: #fff;
  border: solid 1px #15276a;
  color: #15276a;
}
.footer-get-information .info-btn a {
  display: inline-block;
  width: calc((100% - 20px) / 2);
}
.footer-get-information .twitter-btn {
  background: #fff;
  color: #1db4eb;
  border: solid 1px #1db4eb;
  float: left;
}
.footer-get-information .facebook-btn {
  background: #fff;
  color: #3368a1;
  border: solid 1px #3368a1;
  float: right;
}

/* メイン広告 */
.content-ad {
  margin-bottom: 50px;
  text-align: center;
}
.content-ad img:first-child {
  margin-right: 60px;
}

/* 記事下バナー */
.article-banner {
  text-align: center;
  margin: 60px 0;
}

/* サブカラムの記事(共有) */
#sub-column ul {
  margin-bottom: 10px;
}
.article-box.sub-article-box {
  border-bottom: solid 1px #d8d8d8;
}
.article-box.sub-article-box .article-info {
  display: block;
  padding: 18px 0;
}
.article-box.sub-article-box .title {
  font-size: 1.6rem;
  line-height: 1.25;
}
/* サブカラムのPRアイコン記事(共有) */
.sub-article-box .article-info:not(.pr-list).pr-icon {
  position: relative;
}
.sub-article-box .article-info:not(.pr-list).pr-icon::after {
  position: absolute;
  top: 18px;
  left: 0;
}

/* サブカラムの一覧リンク(共有) */
#sub-column .list-link {
  text-align: right;
}
#sub-column .list-link a {
  font-weight: bold;
}


/* サブカラム週刊ダイヤモンド */
.content.sub-magazine {
  margin-bottom: 20px;
}
.sub-magazine .magazine-info {
  margin-bottom: 12px;
}
.sub-magazine .magazine-info .img-wrapper {
  width: 100px;
  height: 133px;
  padding: 5px;
  background: #eee;
  float: left;
}
.sub-magazine .magazine-info .magazine-img {
  position: relative;
  width: 100%;
  height: 100%;
}
.sub-magazine .magazine-info .magazine-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}
.sub-magazine .magazine-info .title-list {
  padding-left: 120px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.25;
}
.sub-magazine .magazine-info .title-list p:nth-of-type(2) {
  margin-top: 8px;
  font-weight: normal;
}
.sub-magazine .magazine-info .title {
  display: block;
}
.sub-magazine .title-list p:first-child {
  margin-bottom: 22px;
}
.sub-magazine .price {
  font-size: 1.5rem;
  margin-bottom: 17px;
}
.sub-magazine>.btn {
  width: 100%;
  margin-bottom: 10px;
  border: none;
  color: #fff;
  line-height: 2.865;
}
.sub-magazine > .btn::before {
  color: #fff;
}
.sub-magazine .paper-book {
  background-color:  #b90f43;
}
.sub-magazine .electronic-book {
  background-color:  #7eb23b;
}
.sub-magazine .subscription .btn {
  display: inline-block;
  width: 145px;
  background: #fff;
  border: solid 1px #15276a;
  color: #15276a;
}
.sub-magazine .subscription .btn:first-child {
  height: 60px;
  position: relative;
  float: left;
  margin-right: 10px;
  padding: 0;
  text-align: left;
}
.sub-magazine .subscription .text {
  position: absolute;
  top: 12px;
  left: 27px;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.5;
}
.sub-magazine .text>p {
  line-height: 1.425;
}
.sub-magazine .subscription .link-icon:first-child::before {
  position: absolute;
  top: 15px;
  left: 14px;
}
.sub-magazine .subscription .btn:nth-child(2) {
  line-height: 4.25;
}
.author-info-box.dw-latest ul li{float:left; margin:0 0 5px 5px;}
.author-info-box.dw-latest p{
display:block;
clear:both;
margin-top:10px;
font-size:90%;
}
.author-info-box.dw-latest ul li a{
background: url(/common/images/v5/article/store-btns.jpg) no-repeat; font-weight:bold;
display:block; width:116px; height:38px; text-indent:-1100em; overflow: hidden;
text-align:center; font-size:14px;
}
.author-info-box.dw-latest ul li.btn-ehon a{background-position:-544px 0;}
.author-info-box.dw-latest ul li.btn-amazon a{background-position:-680px -50px;}
.author-info-box.dw-latest ul li.btn-rakutenbooks a{background-position:-544px -50px;}
.author-info-box.dw-latest ul li.btn-kobo a{background-position:0 0;}
.author-info-box.dw-latest li.btn-readerstore a{background-position:-136px 0;}
.author-info-box.dw-latest ul li.btn-kinokuniya a{background-position:-272px 0;}
.author-info-box.dw-latest ul li.btn-honto a{background-position:-408px 0;}
.author-info-box.dw-latest ul li.btn-digitalehon a{background-position:-272px -50px;}
.author-info-box.dw-latest ul li.btn-booklive a{background-position:-680px 0;}
.author-info-box.dw-latest ul li.btn-magastore a{background-position:-816px 0;}
.author-info-box.dw-latest ul li.btn-fujisan a{background-position:0 -50px;}
.author-info-box.dw-latest ul li.btn-zasshi a{background-position:-136px -50px;}
.author-info-box.dw-latest ul li.btn-kindle a{background-position:-408px -50px;}
.author-info-box.dw-latest ul li.btn-googleplay a{background-position:0 -100px; width:110px; height:38px;}
.author-info-box.dw-latest ul li.btn-newsstand a{background:none; text-indent:0; border:solid 1px #dcdcdc; line-height:38px; height:36px; background-color:#fff; color:#000;}
.author-info-box.dw-latest ul li.btn-digitalehon,
.author-info-box.dw-latest ul li.btn-zasshi{clear:left;}
.author-info-box.dw-latest ul li{clear:none;}

/* ランキング */
.sub-ranking ul {
  counter-reset:i;
}
#sub-column .sub-ranking .ranking-tab {
  margin-bottom: 2px;
}
#sub-column .sub-ranking .ranking-tab li {
  line-height: 26px;
}
.sub-ranking .article-info::before {
  display: inline-block;
  width: 30px;
  height: 30px;
  padding-top: 7px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 2px;
  background: #baac71;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  float: left;
}
.sub-ranking .article-info:not(.pr-list)::before {
  counter-increment: i;
  content: counter(i);
}
.sub-ranking .article-info.pr-list::before {
  content: "PR";
}
.sub-ranking .article-box .article-info {
  display: block;
  min-height: 30px;
}
.sub-ranking .article-box .title {
  padding-left: 40px;
}
.sub-ranking .ranking-tab-content+div.list-link{
  margin-bottom: 6px;
}

/* サブカラム広告 */
.sub-ad {
  margin-bottom: 30px;
}

/* プレスリリース */
.sub-press .content-title {
  line-height: 1;
  padding: 17px 0 10px;
}
.sub-press .article-box.sub-article-box .article-info {
  padding-top: 20px;
}
.sub-press .article-info .date {
  font-size: 1.4rem;
  color:  #a89416;
}
/* あなたにオススメの記事・最新記事一覧 */
.sub-recommend .content-title,
.sub-recent .content-title {
  line-height: 1;
  padding: 18px 0 10px;
}
.sub-recommend .pr-icon .title,
.sub-recent .pr-icon .title {
  padding-left: 40px;
}

/*========== メインカラム ==========*/
#main-column {
  width: calc(100% - 340px); /* サイド + 余白 */
  margin-right: 40px;
  border-top: solid 2px #baac71;
}
.top-page #main-column {
  border-top: none;
}

/*===== 記事一覧 =====*/
.article-list {
  display: flex;
  flex-wrap: wrap;
}
.type-TB {
  margin-bottom: 15px;
}
.type-LR {
  margin-bottom: 30px;
}
.top-page .type-TB,
.top-page .type-LR { /* top-pageの場合余白なし */
  margin-bottom: 0;
}
.article-box:not(.top-article-box) a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.article-box:not(.top-article-box) a::after {
  content: '';
  display: block;
  clear: both;
}
/* カテゴリ名・著者名・タイトル */
.main-article-box .article-info {
  box-sizing: border-box;
  font-weight: bold;
}
.main-article-box .article-info .title {
  line-height: 2rem;
}
.main-article-box .article-info .category,
.main-article-box .article-info .pub-date,
.main-article-box .article-info .author {
  color: #a89416;
  font-size: 1.4rem;
  font-weight: normal;
}
.main-article-box .article-info .author {
  text-align: right;
  font-size: 1.2rem;
  margin-bottom: -1em;
  margin-top: .5em;
}
.article-list .article-info .pub-date {
  font-weight: normal;
}
.main-article-box .article-info .summary {
  font-weight: normal;
  line-height: 1.5;
}

/* 記事（Top-Bottom:↑画像↓本文） */
.type-TB .main-article-box {
  width: 100%;
  margin-bottom: 15px;
}
.type-TB.col3 .main-article-box {
  width: calc((100% - 2px) / 3); /* 2px:border分 */
}
.type-TB.col3 .main-article-box:not(:nth-of-type(3n)) {
  border-right: 1px #d8d8d8 solid;
}
.type-TB.col3 .main-article-box:not(:nth-of-type(3n)) .article-img::after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: -1px;
}
.type-TB .main-article-box .article-info {
  padding: 10px 20px 15px;
}
.type-TB .main-article-box .article-info .title {
  min-height: 6rem; /* 3行分 */
}
.type-TB .main-article-box .article-info .category,
.type-TB .main-article-box .article-info .pub-date {
  margin-bottom: 15px;
}

/* 記事（Left-Right:←画像→本文） */
.type-LR .main-article-box {
  width: 100%;
  border-bottom: 1px #d8d8d8 solid;
}
.type-LR .main-article-box:first-child {
  border-top: 1px #d8d8d8 solid;
}
.type-LR.col2 .main-article-box {
  width: calc((100% - 40px) / 2);
}
.type-LR.col2 .main-article-box:nth-child(odd) {
  margin-right: 40px;
}
.type-LR .main-article-box a {
  padding: 20px 0;
}
.type-LR .main-article-box .article-img {
  float: left;
  width: calc(100% * 90 / 410); /* imgのwidth / article-boxのwidth */
}
.type-LR .main-article-box .article-info {
  padding-left: calc(100% * 90 / 410 + 20px); /* .article-img + padding20px */
}
.type-LR .main-article-box .article-info .pub-date,
.type-LR .main-article-box .article-info .category {
  margin-bottom: 5px;
}
.type-LR .main-article-box .article-info .title {
  margin-bottom: 10px;
}
.type-LR .main-article-box .article-info .title:last-child {
  margin-bottom: 0;
}
.top-page .type-LR .main-article-box:first-child {
  border-top: none;
}
.top-page .type-LR .main-article-box:nth-last-of-type(1) {
  border-bottom: none;
}
.top-page .type-LR.col2 .main-article-box:nth-child(2n+1):nth-last-of-type(2) {
  border-bottom: none;
}

/* 記事（特集） */
.type-TB-slim .main-article-box {
  margin-bottom: 10px;
}
.type-TB-slim.col3 .main-article-box {
  width: calc((100% - 10px * 2) / 3);
}
.type-TB-slim.col3 .article-box:not(:nth-child(3n)) {
  margin-right: 10px;
}
.type-TB-slim.col4 .main-article-box {
  width: calc((100% - 20px * 3) / 4);
}
.type-TB-slim.col4 .article-box:not(:nth-child(4n)) {
  margin-right: 20px;
}
.type-TB-slim .article-box .article-info {
  padding: 5px 0;
  font-weight: bold;
}
.type-TB-slim .article-box .article-info .feature-title {
  margin: 5px 0;
  font-weight: normal;
}

/* PRアイコン */
#main-column .main-feature .article-box.pr .article-info .theme::before,
.feature-list-page #main-column .article-box.pr .article-info .theme::before {
  content: "【PR】";
}

/* PRアイコン */
.article-box.pr .article-info .title::after {
  content: "[PR]";
  font-weight: inherit;
  margin-left: 5px;
}

/* 番号付き */
.article-list.numbering {
  counter-reset: i;
}
.article-list.numbering .article-box {
  position: relative;
}
.article-list.numbering .article-box::after {
  counter-increment: i;
  box-sizing: border-box;
  display: block;
  content: counter(i);
  width: 36px;
  font-size: 1.9rem;
  text-align: center;
  background: #debe3a;
  color: #fff;
  font-weight: bold;
  padding-top: 8.5px;
  padding-bottom: 8.5px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.article-list.numbering .article-box:nth-child(n+4)::after {
  background: #baac71;
}
/* 番号付き(type-LR用) */
.article-list.type-LR.numbering .article-box::after {
  background: #baac71;
  top: 20px;
}

/*========== サブカラム ==========*/
#sub-column {
  width: 300px;
}
/*========== フッターカラム ==========*/
#footer-column {
  clear: both;
}

/*========== トップページ ==========*/
/* トップ特集 */
.top-feature {
  border-bottom: solid 1px #d8d8d8;
  font-weight: bold;
}
.top-feature .feature-title {
  border-left: solid 6px #baac71;
  padding-left: 10px;
  font-size: 3.6rem;
  line-height: 1.25;
}
.top-feature .feature-articles {
  padding-bottom: 20px;
}
/* 記事１つ目 */
.top-article-box {
  margin-bottom: -2px; /* 「あわせて読みたい」が下に張り付くように調整 */
}
.top-article-box .article-img {
  float: left;
  width: calc(100% * 420 / 860);
}
.top-article-box .article-info {
  padding-left: calc(100% * 420 / 860 + 30px); /* 1枚目画像 + 余白30px */
  min-height: calc(3.0rem * 1.25 * 3 + 2rem + 1rem); /* 3行分 + 著者名(margin含む) */
  font-size: 3rem;
}
.top-article-box .article-info h3 {
  line-height: 1.25;
}
.top-article-box .article-info .author {
  color: #a89416;
  font-size: 1.6rem;
  text-align: right;
  line-height: 2rem;
  margin-top: 1rem;
}
/* 記事２つ目以降 */
.top-sub-article-wrapper {
  width: calc(100% - 100% * 420 / 860 - 30px); /* 1枚目画像 + 余白30px */
  padding-left: 30px;
}
.top-sub-article-wrapper .sub-article-text {
  font-size: 1.4rem;
  font-weight: normal;
}
.top-sub-article-wrapper .main-article-box {
  padding: 10px 0;
}
.top-sub-article-wrapper>.main-article-box:last-child {
  padding-bottom: 0;
}
.top-sub-article-wrapper .main-article-box a {
  padding: 0;
}

/* トップ記事 */
.top-article {
  padding: 20px 0;
  font-weight: bold;
}
.top-article .article-img.img-leaf{
  background-color:#fff;
}
.top-article .article-info .title {
  min-height: calc(2rem * 3); /* 3行分 */
}


/*========== 記事詳細 ==========*/
/* 記事ヘッダー */
.article-header {
  padding: 10px 0 0;
}
.article-header .article-pub-date {
  font-size: 1.4rem;
  color: #baac71;
  font-weight: bold;
  line-height: 2;
}
.article-header .article-title {
  font-size: 3rem;
  line-height: 1.267;
  font-weight: bold;
  margin-bottom: .6em;
}
.article-header .article-title.with-subtitle{
  margin-bottom:auto;
}
.article-header .article-subtitle {
  font-size: 1.8rem;
  line-height: 1.267;
  font-weight: normal;
  margin: .4em 0;
}
.article-header .author-link {
  line-height: 20px; /* .article-functionsとの余白調整 */
  margin: 18px 0; /* .article-functionsとの余白調整 */
}
.article-header .author-link .article-author {
  float: left;
}
.article-header .author-link .link-icon {
  float: right;
}
.article-header .article-functions {
  margin: 18px 0; /* .article-authorとの余白調整 */
}
.article-header .article-author a span {
  vertical-align: middle;
}
.article-header .article-author a::after {
  display: inline-block;
  content: '＋';
  line-height: 1;
  padding: 1px;
  margin: 0 5px;
  border-radius: 2px;
  background: #c4ab6a;
  color: #fff;
  text-align: center;
}
.article-header .article-author a:hover::after {
  opacity: .8;
}

/* 各種機能 */
.article-functions,
.article-functions > li ul {
  font-size: 0;
}
.article-functions > li,
.article-functions > li ul li {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 20px;
  vertical-align: middle;
}
.article-functions > li:not(:last-child) {
  border-right: dotted 1px #000;
  margin-right: 10px;
  padding-right: 10px;
}
/* SNSicon */
.article-sns-icons li {
  height: 20px;
  overflow: hidden;
}
.article-sns-icons li:not(:last-child) {
  margin-right: 10px;
}
/* 印刷icon */
.artilce-print-icon {
  display: inline-block;
  background: url(../../../../common/dol/images/v1/icon-print.png) left center no-repeat;
  padding-left: 30px;
}
/* 文字サイズicon */
.article-font-resize-icons a {
  display: inline-block;
  box-sizing: border-box;
  color: #666666;
  width: 20px;
  height: 20px;
  border: solid 1px #c9c9c9;
  text-align: center;
  font-family: Arial;
  transition: .3s;
}
.article-font-resize-icons a.active {
  background: #c4ab6a;
  border-color: #c4ab6a;
  color: #fff;
}
.article-font-resize-icons li:first-child {
  font-size: 1.7rem;
  margin-right: 4px;
}
.article-font-resize-icons li:last-child {
  font-size: 1.3rem;
}
/* 記事本文 */
.article-body {
  padding: 10px 60px 0;
}
/* 記事ページナビ */
.article-nav {
  margin-bottom: 30px;
}

/* 次のページへ */
.article-next-page {
  text-align: center;
  margin-bottom: 30px;
  font-size: 1.6rem;
  color: #15276a;
  line-height: 1.5;
}
.article-next-page > a {
  display: inline-block;
  padding: 10px 15px;
  width: 534px;
  background: #efefef;
}
.article-next-page .next-page {
  font-weight: bold;
}
.article-next-page .next-page-title::after {
  content: '>';
  margin-left: .5em;
}
/* 記事下バナー */
.article-page .article-banner {
  margin: 30px 0;
}
/* 関連キーワード */
.article-related-keywords {
  border: solid 1px #d8d8d8;
  border-left: none;
  border-right: none;
  margin-bottom: 60px;
  padding: 10px 0;
}
.article-related-keywords .content-title {
  font-size: 2rem;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 3px;
}
.article-related-keywords ul {
  font-size: 0;
}
.article-related-keywords ul li {
  display: inline-block;
  margin-right: 2em;
  font-size: 1.4rem;
  line-height: 2;
}
.article-related-keywords ul li:last-child {
  margin-right: 0;
}
/* 関連記事 */
.article-related-article .title.pr-icon::after {
  font-size: 1.2rem;
  font-weight: normal;
  font-style: oblique;
  line-height: 16px;
  width: 22px;
  margin-left: 8px;
  background: #695e2d;
  text-decoration: underline;
}
/* IE対策 一度定義してから消す */
.article-related-article .title.pr-icon::after {
  text-decoration: none;
}

/* 非ログイン時 */
.article-non-member {
  width: 70%;
  margin: 0 auto;
}
.article-non-member .login-box,
.article-non-member .non-member-box {
  margin: 20px 0 40px;
}
.article-non-member .description {
  padding: 0 10px;
  line-height: 1.2;
  text-align: left;
}
.article-non-member .btn {
  margin-top: 15px;
  margin-bottom: 15px;
}
.article-non-member .login-box .description {
  margin-bottom: 20px;
}
.article-non-member .non-member-box {
  text-align: center;
}
.article-non-member .non-member-box .non-member {
  line-height: 2.5;
}

/* 著者レイヤー */
.author-info-box {
  display: none;
  width: 700px;
  padding: 30px;
  box-sizing: border-box;
  color: #000;
  background: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
}
.author-info-box .author-img {
  float: left;
  position: relative;
  background: #eee; /* #TODO: 背景色仮置き */
  width: 120px;
}
.author-info-box .author-img::before {
  content: '';
  display: block;
  padding-top: 100%; /* 記事一覧のpxにて算出 */
}
.author-info-box .author-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}
.author-info-box .author-basic-info {
  box-sizing: border-box;
  width: 100%;
  font-weight: bold;
}
.author-info-box .author-img + .author-basic-info {
  padding-left: 140px; /* imgサイズ + 余白20px、画像がない場合は適用されない＝左詰め */
}
.author-info-box .author-basic-info .author-name {
  font-size: 2.4rem;
  line-height: 1;
}
.author-info-box .author-basic-info .author-kana {
  font-size: 1.2rem;
  margin-bottom: 1em;
}
.author-info-box .author-basic-info .author-shozoku {
  font-size: 1.6rem;
}
.author-info-box .author-profile {
  margin: 20px 0;
}
.author-info-box .author-column-list li {
  border-top: solid 1px #d8d8d8;
  margin: 20px 0;
}
.author-info-box .author-column-list .column-title {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 15px 0 10px;
}
.author-info-box .author-column-list .column-description {
  margin: 10px 0;
}
.author-info-box .author-column-list .column-link {
  text-align: right;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: .5em;
}
/* 閉じる */
.fancybox-close-wrapper-custom {
  display: block;
  width: calc(21px * 1.414); /* 1.414:√2 */
  height: calc(21px * 1.414);
  padding: 4px;
  position: absolute;
  top: 10px;
  right: 10px;
}
.fancybox-close-custom {
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.fancybox-close-custom::before,
.fancybox-close-custom::after {
  content: '';
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 4px;
  background: #999;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 2px;
}
.fancybox-close-custom::before {
  transform: rotate(45deg);
}
.fancybox-close-custom::after {
  transform: rotate(-45deg);
}

/* fancybox override */
.fancybox-skin {
  padding: 0 !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
  background: #fff;
}

/*========== 一覧系 ==========*/
/* 共有 */
section.main-content {
  padding-top: 30px;
  border-top: solid 1px #d8d8d8;
}
h1+section.main-content {
  padding-top: 0;
  border:none;
}
section.main-content h2.title {
  margin-bottom: 16px;
  padding-left: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.25;
  border-left: solid 4px #baac71;
}
.page-description {
  font-size: 1.6rem;
  line-height: 1.5;
}

/* コラム一覧 */
.column-list-page .page-description {
  margin-bottom: 26px;
}

/* 検索結果一覧 */
.search-list-page .page-title {
  font-size: 2.4rem;
}
.search-list-page .main-content:nth-child(2) .title {
  padding-left: 10px;
}
.search-list-page .main-content:nth-child(2) .page-description {
  margin-bottom: 15px;
}
.search-list-page .search-count {
  float: right;
}
.search-list-page .search-count::after {
  clear: both;
  content: "";
  display: table;
}
.search-list-page section.main-content .search-box {
  background: #efefef;
  margin-bottom: 20px;
  padding: 20px;
}
.search-list-page section.main-content .search-box form {
  width: 100%;
}
.search-list-page section.main-content .search-box input[type="text"] {
  width: 100%;
  box-sizing: border-box;
}

/*========== ランキング ==========*/
.ranking-tab-content .article-list.type-LR.numbering {
  counter-reset: none;
}

/*========== 会員限定コンテンツ ==========*/
/* NEW */
.member-news {
  margin: 0 0 20px;
  padding: 10px 0;
  border-top: 1px #d8d8d8 solid;
  border-bottom: 1px #d8d8d8 solid;
}
#main-column > :first-child.member-news { /* .page-titleがない場合 */
  border-top: none; /* mainと重複する為削除 */
}
.member-news dl dt {
  background: #d80913;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 5px;
  margin-right: 10px;
}
.member-news dl dd {
  max-width: calc(100% - 55px);
  padding-top: 4px;
}

/* 無料会員登録のご案内 */
.member-induction {
  text-align: center;
  margin-bottom: 40px;
}
.member-induction a {
  display: block;
  color: #fff;
}
.member-induction .bnr-detail {
  background: #373737;
  padding: 25px 30px;
  line-height: 1.6;
}
.member-induction .bnr-detail h2 {
  font-size: 3rem;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px #fff dotted;
}
.member-induction .bnr-btn {
  background: #baac71;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 60px;
}
.member-induction .bnr-btn::after {
  box-sizing: border-box;
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  border: 3px #fff solid;
  border-radius: 50%;
  vertical-align: middle;
  margin-left: 8px;
}
.member-induction .bnr-btn::before {
  display: inline-block;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 3px #fff solid;
  border-right: 3px #fff solid;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: relative;
  left: calc(8em + 8px + 15px + 4px); /* テキスト + 余白 + ○の横幅半分 + >の横幅半分 */
}

/* 会員限定記事・人気ランキング */
.member-page .btn-area {
  text-align: center;
}
.member-page .btn-area .btn {
  display: inline-block;
  margin: 20px;
}

/* 区切り線 */
.member-page #main-column .content {
  border-top: none;
  border-bottom: 1px #d8d8d8 solid;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

/*===== 電子書籍・雑誌 =====*/
#magazine-list {
  display: flex;
  flex-wrap: wrap;
  font-size: 0;
  line-height: 1.4;
}
#magazine-list .magazine-item {
  box-sizing: border-box;
  width: calc(25% - (15px * 3 / 4));
  margin: 0 0 40px; /* 40px = ::after.height + marginBottom(10) */
  padding: 20px 10px 10px;
  font-size: 1.6rem;
  border: 1px #d8d8d8 solid;
  background: #f7f7f7;
  font-weight: bold;
  position: relative;
  cursor: pointer;
}
#magazine-list .magazine-item:not(:nth-of-type(4n)) {
  margin-right: 15px;
}
#magazine-list .magazine-item::after {
  display: block;
  content: "";
  width: calc(100% + 2px); /* 2px = border */
  height: 30px;
  background: #15276b url(../../../../../common/dol/images/v1/magazine-btn-open.png) no-repeat center /15px 9px;
  position: absolute;
  left: -1px;
  bottom: -30px;
}
#magazine-list .magazine-item.open::after {
  background: #15276b url(../../../../../common/dol/images/v1/magazine-btn-close.png) no-repeat center /15px 9px;
}
#magazine-list .magazine-item .magazine-img {
  display: block;
  margin: 0 auto 15px;
}

/*===== 書籍情報 =====*/
/* 枠 */
#magazine-tooltip {
  width: 100%;
  font-size: 1.6rem;
  margin: 15px 0 30px;
  padding: 20px 0;
  border-top: 2px #15276a solid;
  border-bottom: 2px #15276a solid;
  background: #fff;
  position: relative;
}
#magazine-tooltip::before {
  display: block;
  content: "";
  width: 15px;
  height: 15px;
  border-top: 2px #15276a solid;
  border-left: 2px #15276a solid;
  background: #fff;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: -10px;
}
#magazine-tooltip.one::before {
  left: calc((25% - (15px * 3 / 4)) / 2 - 8px);
}
#magazine-tooltip.two::before {
  left: calc((25% - (15px * 3 / 4)) * 1.5 + 7px);
}
#magazine-tooltip.three::before {
  right:  calc((25% - (15px * 3 / 4)) * 1.5 + 6px);
}
#magazine-tooltip.four::before {
  right: calc((25% - (15px * 3 / 4)) / 2 - 9px);
}
/* 閉じるボタン */
#magazine-tooltip .close-btn {
  display: block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 17px;
  right: 0;
}
#magazine-tooltip .close-btn::before,
#magazine-tooltip .close-btn::after {
  display: block;
  content: "";
  width: 3px;
  height: 100%;
  background: #999;
  border-radius: 2px;
  position: absolute;
  right: 9px;
}
#magazine-tooltip .close-btn::before {
  transform: rotate(45deg);
}
#magazine-tooltip .close-btn::after {
  transform: rotate(-45deg);
}
/* 書籍情報 */
#magazine-tooltip .magazine-data {
  width: calc(100% - 218px - 30px);
  margin-left: 30px;
}
/* 書籍名・発行元名・閲覧期間 */
#magazine-tooltip .magazine-nm,
#magazine-tooltip .magazine-no,
#magazine-tooltip .publisher {
  display: inline-block;
  margin-right: .5em;
  font-weight: bold;
}
#magazine-tooltip .date {
  font-weight: bold;
}
/* 特集名・詳細 */
#magazine-tooltip .title {
  font-weight: bold;
  margin-top: 1em;
}
#magazine-tooltip .detail {
  margin: 1em 0;
}
/* ボタン・リンク */
#magazine-tooltip .magazine-btn-area {
  text-align: center;
  font-weight: bold;
}
#magazine-tooltip .magazine-btn-area .btn {
  width: 70%;
  margin-bottom: 5px;
  position: relative;
}
#magazine-tooltip .magazine-btn-area .btn::before {
  display: inline-block;
  content: "";
  width: 22px;
  height: 17px;
  background: url(../../../../../common/dol/images/v1/icon-book.png) no-repeat center /cover;
  margin-right: 10px;
  margin-bottom: -2px;
}
#magazine-tooltip .magazine-btn-area .btn::after {
  display: inline-block;
  content: "";
  width: 10px;
  height: 10px;
  border: 2px #fff solid;
  box-shadow: 0 0 0 2px #15276a,
              6px -6px 0 -2px #15276a,
              6px -6px 0 0px #fff;
  position: absolute;
  top: calc((100% - 10px) / 2);
  right: 40px;
}

/*===== 各種設定 =====*/
.member-menu {
  margin-bottom: 20px;
  font-size: 0;
  display: flex;
  flex-wrap: wrap;
}
.member-menu li {
  box-sizing: border-box;
  width: calc((100% - 2px) / 3);
  padding: 50px 20px 43px;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  vertical-align: top;
  position: relative;
}
.member-menu li:not(:last-child) {
  border-right: 1px #d8d8d8 solid;
}
.member-menu li .description {
  text-align: left;
  margin: 30px 0 25px;
}
.member-menu li .btn {
  width: calc(100% - 40px);
  position: absolute;
  bottom: 0;
  left: 20px;
  border: 1px #15276a solid;
  background: #fff;
  color: #15276a;
}

/*===== ログイン・フォーム =====*/
#member-login{
  margin-bottom:40px;
}
#member-login .msg-box{
  max-width:100%;
  margin:10px auto;
  padding:10px;
  border:2px dotted #ccc;
  font-size:90%;
  color:#131313;
  line-height:1.3;
}
#member-login a.link-icon{
  margin-top:10px;
  font-weight:bold;
  display:block;
}
#member-login a.link-icon::before{
  vertical-align:2px;
}
#member-login .member{
  margin:20px auto;
  padding:10px;
  font-size:90%;
}
#member-login .member p,#member-login .not-member p{
  width:80%;
  margin:auto;
}
#member-login .login-form{
  margin:10px auto;
  font-size:100%;
}
#member-login .login-form .field{
  clear:both;
  width:80%;
  margin:10px auto;
  font-size:110%;
}
#member-login .login-form .field label{
  display:block;
  float:left;
  width:25%;
  height:1.4em;
  margin-right:2em;
  line-height:1.4em;
  text-align:right;
  font-weight:bold;
}
#member-login .login-form .field input{
  display:block;
  clear:none;
  float:left;
  width:48%;
  padding:0 1%;
  height:1.4em;
}
#member-login .action{
  width:40%;
  margin:20px auto auto 34%;
}
#member-login .action .btn{
  width:100%;
  height:40px;
  line-height:40px;
  cursor:pointer;
  border: none;
}
#member-login .action .next-login{
  margin:10px auto;
  text-align:center;
  text-indent:2em;
}
#member-login .action .link-icon{
  text-align:center;
}
#member-login .not-member .btn{
  background-color:#6a5e2e;
}
#member-login .not-member .btn:hover{
  background-color:#bbac71;
}

/*===== 記事下週刊ダイヤモンド告知スペース =====*/
#dw-magazine-latest{
margin:0 auto 25px auto;
}
#dw-magazine-latest ul{width:auto;}
#dw-magazine-latest ul li{border-style:none;margin:0;padding:0;}
.dw-latest-infobox{
border:solid 1px #cc0001;
padding:15px;
}
.dw-latest-infobox .magazine-cover{width:180px;float:left;}
.dw-latest-infobox .magazine-cover p{margin:0;padding:0;}
.dw-latest-infobox .magazine-cover p.issue-date{font-size:16px;font-weight:bold;line-height:1.6;}
.dw-latest-infobox .magazine-cover p.price{font-size:12px;line-height:1.4;padding:5px 0;}
.dw-latest-infobox .magazine-cover .for-dw-website{float:right;}

.dw-latest-infobox .magazine-info{width:390px;float:right;}
.dw-latest-infobox .magazine-info h3{margin:0 0 0.5em 0;font-size:21px;}
.dw-latest-infobox .magazine-info ul li{border-bottom:dotted 1px #cdcdcd !important;padding:5px 0 !important;}

#dw-magazine-latest .magazine-link{float:right;margin:15px 0;}
#dw-magazine-latest .magazine-link ul li{float:left;}
#dw-magazine-latest .magazine-link ul li#dw-latest-issue{margin-right:10px;}

#dw-magazine-latest .dw-backnumber-link{float:right;margin-right:8px;}


/*石井記述20140725*/
#dw-article-end-magazine{
  clear:both;
  float:left;
  width:100%;
  margin:auto;
}
#dw-article-end-magazine.altbanner{
margin:20px auto;
text-align:center;
}

#dw-article-end-magazine p{margin:0px 0px 6px 0px;}
.magazineTitle{margin-left:20px;}
.magazineDW{border:1px solid #cc0001; padding:15px; width:auto; margin:0 auto 25px auto;}
.magazinedwImg{float:left; width:140px; text-align:center;}
.magazinedwImg img{width:100%;margin-left:12px;margin-bottom:5px; border:solid 1px #666;}
.magazinedwImg span{display:block; text-align:center; font-size:12px; line-height:1; margin:0 0 3px; color:#333;}
.magazinedwBody{float:left;margin-left:60px;}
.magazinedwBody p{font-size:14px; margin:0; line-height:1.2;}
.magazinedwBody p.tokusyuTtl{padding:7px 3px; border-bottom:dashed 1px #ccc; margin:0 0 10px;}
.magazinedwBody p.tokusyuTtl strong{display:block; font-size:16px;}
.magazinedwBody ul{padding:0; margin:10px 0 0;}
/*のち削除*/
.magazinedwBody ul li{float:left; border:none; margin-left:15px;}
.magazinedwBody ul li:first-child{margin:0;}
/*ここまで*/

.magazinedwBody ul.magazinepopupLink{width:440px;}
.magazinedwBody ul.magazinepopupLink2{width:450px; margin:0;}
.magazinedwBody ul.magazinepopupLink li,
.magazinedwBody ul.magazinepopupLink2 li{clear:none; width:100%; float:left; display:block; margin:0 0 5px; padding:0;}
.magazinedwBody ul.magazinepopupLink li{width:450px;}
.magazinedwBody ul.magazinepopupLink2 li{width:220px;}
.magazinedwBody ul.magazinepopupLink li a,
.magazinedwBody ul.magazinepopupLink2 li a{
  display:block; color:#fff; font-weight:bold;
  border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px;
  height:20px; line-height:22px;
}
.magazinedwBody ul.magazinepopupLink li a{
  padding:3px 0 3px 50px; font-size:16px; letter-spacing:2px;
  background: url(/common/images/v5/article/magazinepopup.png) no-repeat right center;
}
.magazinedwBody ul.magazinepopupLink li.pop1 a{background-color:#b90505; border:solid 2px #d92f01;}
.magazinedwBody ul.magazinepopupLink li.pop2 a{background-color:#d56b04; border:solid 2px #e68a06;}

.magazinedwBody ul.magazinepopupLink2 li a{padding:3px 0 3px; font-size:14px; text-align:center; background-color:#2859bc; border:solid 2px #3e6cc7;}
.magazinedwBody ul.magazinepopupLink2 li.blankLink{margin-right:10px;}
.magazinedwBody ul.magazinepopupLink2 li.blankLink a{padding:3px 0 3px 8px;}
.magazinedwBody ul.magazinepopupLink li a:hover,
.magazinedwBody ul.magazinepopupLink2 li a:hover{background-color:#777; border:solid 2px #999;}

.magazinedwBody ul.magazinepopupLink li a span,
.magazinedwBody ul.magazinepopupLink2 li a span{color:#fff; float:left; text-align:left;}
.magazinedwBody ul.magazinepopupLink li a span{font-size:12px; line-height:22px; margin-right:20px; letter-spacing:1px;}
.magazinedwBody ul.magazinepopupLink2 li.blankLink a span{font-size:9px; line-height:11px;}

.commonFancy{display:none;padding:20px;}
/*commonFancy*/
.fancybox-skin{background-color:#f4f2ec;}
.commonFancy{display:none;}
.commonFancy strong{font-size:14px;}
.commonFancy p{font-size:12px;}
.commonFancy ul{margin:20px auto;}

#fancy2 ul{width:492px;}
.commonFancy ul li{float:left; margin:0 0 5px 5px;}
.commonFancy ul li a{
  background: url(/common/images/v5/article/store-btns.jpg) no-repeat; font-weight:bold;
  display:block; width:116px; height:38px; text-indent:-1100em; overflow: hidden;
  text-align:center; font-size:14px;
}
.commonFancy ul li.btn-ehon a{background-position:-544px 0;}
.commonFancy ul li.btn-amazon a{background-position:-680px -50px;}
.commonFancy ul li.btn-rakutenbooks a{background-position:-544px -50px;}

.commonFancy ul li.btn-kobo a{background-position:0 0;}
.commonFancy ul li.btn-readerstore a{background-position:-136px 0;}
.commonFancy ul li.btn-kinokuniya a{background-position:-272px 0;}
.commonFancy ul li.btn-honto a{background-position:-408px 0;}
.commonFancy ul li.btn-digitalehon a{background-position:-272px -50px;}
.commonFancy ul li.btn-booklive a{background-position:-680px 0;}
.commonFancy ul li.btn-magastore a{background-position:-816px 0;}
.commonFancy ul li.btn-fujisan a{background-position:0 -50px;}
.commonFancy ul li.btn-zasshi a{background-position:-136px -50px;}
.commonFancy ul li.btn-kindle a{background-position:-408px -50px;}
.commonFancy ul li.btn-googleplay a{background-position:0 -100px; width:110px; height:38px;}

.commonFancy ul li.btn-newsstand a{background:none; text-indent:0; border:solid 1px #dcdcdc; line-height:38px; height:36px; background-color:#fff; color:#000;}

.commonFancy ul li.btn-digitalehon,
.commonFancy ul li.btn-zasshi{clear:left;}

#fancy3.commonFancy ul li{clear:none;}
