@charset "utf-8";
/*----- 記事ページ -----*/

#billboard .column-name {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 17px;
    line-height: 23px;
}

/* ------------------------------------------------
記事タイトル
------------------------------------------------ */
header.main {
  position: relative;
}
header.main .genre {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 17px;
    line-height: 23px;
    color: #322D1F;
}
header.main .title {
  margin-top: 12px;
  -webkit-transition: margin-top 0.2s ease-out;
  transition: margin-top 0.2s ease-out;
  font-family: Hiragino Sans;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 50px;
  letter-spacing: 0em;
  text-align: left;
  color: #000000;
}
header.main .column_title {
  margin-top: 12px;
}
header.main .date {
  color: #898989;
  font-size: 10px;
  margin-top: 10px;
  display: none;
}
header.main .pagenation {
  position: absolute;
  right: -5px;
  bottom: 0;
}
header.main .pagenation .arrow {
  background-position: 50% 50% !important;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 5px !important;
}
#billboard.fixed {
  border-bottom: 1px solid #b5b5b6;
  background-color: #fff;
  padding-bottom: 12px;
  width: 100%;
  position: fixed;
  top: 84px;
  z-index: 10;
}
#billboard.fixed header.main .genre,
#billboard.fixed .breadcramb {
  display: none;
}
#billboard.fixed .date {
  display: block;
}
#billboard.fixed header.main .title {
  margin-top: 0;
}
#billboard .billboard_footer {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  margin-bottom: 20px;
}
#billboard .billboard_footer_item {
  display: flex;
  align-items: center;
}
#billboard .billboard_footer_item img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    object-position: top;
    border: 1px solid #DDDDDD;
    box-sizing: border-box;
    border-radius: 50%;
}
#billboard .billboard_author_name {
  margin-left: 15px;
  font-family: Hiragino Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #322D1F;
}
#billboard .publish_date {
  margin-right: 20px;
  font-family: Open Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0em;
  text-align: left;
  color: #322D1F;
}
#billboard .comment_count {
  color: #808080;
  background: url(/common/images/v3/common/article-comment.png) no-repeat left;
  background-size: 20px 20px;
  padding-left: 29px;
  font-family: Open Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0em;
  text-align: left;
  margin-right: 10px;
}

/* ------------------------------------------------
  カバー画像
------------------------------------------------ */
#coverimage .slider li {
  list-style-type: none;
  float: left;
}
#coverimage .slider li img {
  background: 50% 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  width: 100%;
  height: auto;
  vertical-align: top;
}
#coverimage .cover {
  overflow: hidden;
}
#coverimage .cover li {
  width: 100%;
}
#coverimage .ctrl {
  text-align: right;
  margin-top: 10px;
}
#coverimage .ctrl .pagenation_btn {
  margin-left: 5px;
  cursor: pointer;
}
#coverimage .ctrl .slick-disabled:hover {
  background-color: #727171;
}
#coverimage .thmbs {
  margin: 10px -6px 0 -7px;
  height: 110px;
  overflow: hidden;
}
#coverimage .thmbs li {
  margin: 0 6px 0 7px;
  width: 165px;
  cursor: pointer;
}

/* ----------------------------
  記事本文エリア
---------------------------- */

#main-contents header.article .sns-tools {
  letter-spacing: -.4em;
  margin: 2.6667% 0 0;
}

/* ----------------------------
  サブタイトル
---------------------------- */
#main-column header.article {
  margin-top: 10px;
}
header.article .date {
  font-size: 10px;
}
header.article .subtitle {
  font-size: 22px;
  line-height: 1.4;
  margin-top: 25px;
  font-weight: normal;
}
 .columnlead {
  font-size: 17px;
  padding: 12px;
  background-color: #eaeaea;
  border-radius: 5px;
  margin-top: 10px;
  line-height: 1.8;
  color: #322D1F;
}


/* ----------------------------
  本文
---------------------------- */
.article_body {
  font-size: 18px;
  margin-top: 20px;
  word-break:break-word;
  color: #322D1F;
}
header.article + .article_body {
  margin: 30px 0;
}
.article_body h4 {
  color: #4a4a4a;
  font-size: 100%;
  font-weight: bold;
  line-height: 1.25;
  margin-top: 1.5em;
}
.article_body p {
  line-height: 1.8;
  margin-top: 1em;
}
.article_body h4:first-child,
.article_body p:first-child {
  margin-top: 0;
}
.article_body h4 + p {
  margin-top: .75em;
}
.article_body img{
  width:100%;
}
#main-column .figure,
#main-column .figure-center,
#main-column .figure-left {
  text-align: left;
  background-color: #F6F6F6;
  margin-top: 1em;
  padding: 0;
}
#main-column .central:first-child .figure,
#main-column .central:first-child .figure-center,
#main-column .central:first-child .figure-left {
  margin-top: 0;
}
#main-column .figure span,
#main-column .figure-center span,
#main-column .figure-left span,
#main-column .central span {
  font-size:16px;
  margin-top:5px;
  display: inline-block;
}
#main-column .figure img,
#main-column .figure-center img,
#main-column .figure-left img,
#main-column .central img {
  width:100%;
}
#main-column .figure img.fixed,
#main-column .figure-center img.fixed,
#main-column .figure-left img.fixed,
#main-column .central img.fixed {
  width: 100%;
  height: auto;
}
#main-column .figure {
  margin-left: 10px;
  float:right;
}
#main-column .figure-center {
    font-size: calc(100% - 2px);
    max-width: 100%;
    margin: 1em auto;
}
#main-column .figure-left{
  margin-right: 10px;
  clear: left;
  float: left;
}
#main-column .central {
  text-align:center!important;
  clear:both;
}
#main-column img.border{
  border: 1px solid #666;
}
.article_body div.youtube,
.article_body div.video {
  padding-top: 56.25%;
  height: 0;
  position: relative;
}
.article_body div.youtube {
  margin: 2em 0;
}
.article_body div.youtube iframe,
.article_body div.video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}



/* 本文中の囲み記事（直書きの著者プロフィールなど） */
#main-column .frame{
  border: 1px solid #ccc;
  background-color:#f6f6f6;
  margin-top: 30px;
  padding: 9px;
  display:block;
}
#main-column .frame .figure-left {
  margin-top: 0;
}


/* 追加画像 */
#main-column .option_image {
  border-top: 1px solid #000;
  margin-top: 12px;
  /*padding-top: 15px;*/
  padding-top: 45px;
}
#main-column .option_image img {
  width: 100%;
  height: auto;
}
/* 追加動画 */
#main-column .option_video .body {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#main-column .option_video .body iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  right: 0;
}
/* 著者プロフィール */
#main-column #author_profile {
  border : 1px solid #000;
  margin-top: 30px;
  padding: 9px;
}
#author_profile .img {
  float: left;
}
#author_profile .txt {
  width: 350px;
  float: right;
}
#author_profile.noimg .txt {
  width: auto;
  float: none;
}
#author_profile .txt .title,
#other_category .title {
  font-size: 18px;
  line-height: 1;
}
#author_profile .txt p {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 2px;
}
#author_profile .genres,
#other_category .genres {
  font-size: 0;
  padding-top: 10px;
  clear: both;
}
#author_profile .genres .gname,
#other_category .genres .gname {
  margin-right: 12px;
  vertical-align: middle;
}


/* ----------------------------------------
著者テンプレート
---------------------------------------- */
#main-column .author-profile {
  width: 100%;
  position: relative;
  border-top: solid 1px #bebebe;
  /* border-bottom: solid 1px #bebebe; */
  margin: 25px auto 10px auto;
  font-size: 15px;
}

#main-column .author-profile .person {
  overflow: hidden;
  line-height: 1.4;
  text-decoration: none;
}

#main-column .author-profile .person .profile-icon {
  float: left;
  width: 170px;
  height: 170px;
}

#main-column .author-profile .person .profile-icon img {
  width: 170px;
}

#main-column .author-profile .person .title {
  text-align:center;
}

#main-column .author-profile .person .title p {
  padding-top: 5px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 600;
}

#main-column .author-profile .person .title p:before {
  content: '';
position: absolute;
top: -1px;
display: inline-block;
width: 140px;
height: 5px;
left: 50%;
-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #a3a3a3;
}

#main-column .author-profile .person .text {
  overflow: hidden;
  padding: 0 0 20px 15px;
}

#main-column .author-profile .person .text .name {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.15em
}

#main-column .author-profile .person .text .name:first-letter {
  font-size: 40px;
  color: #b20000;
  font-weight: 800;
  letter-spacing: 0.15em
}

#main-column .author-profile .person .text .kana {
  letter-spacing: 0.1em;
  padding-left: 5px;
}

#main-column .author-profile .person .text .profile {
  padding-top: 10px;
  line-height: 25px;
}
#main-column .author-profile .person .author-page-link{
 margin-top:20px;
}
#main-column .author-profile .person .author-page-link a{
 display:inline-block;
 position:relative;
 padding-right:20px;
 text-decoration:underline;
}
#main-column .author-profile .person .author-page-link a::after{
 content:"";
 display:block;
 position:absolute;
 top:5px;
 right:0;
 border-left:solid 7px #000;
 border-top:solid 5px transparent;
 border-right:solid 5px transparent;
 border-bottom:solid 5px transparent;
}

/* ----------------------------------------
記事下エリア
---------------------------------------- */
#main-column .pagenation {
  text-align: right;
  border-top: 4px solid #000;
  border-bottom: 2px solid #000;.,
  margin-top: 45px;
  padding: 15px 0;
}
#main-column .pagenation .arrow {
  background-position: 50% 50% !important;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 5px !important;
}



#main-column footer section {
  padding-top: 24px;
}
#main-column footer section.keywords {
  padding-bottom: 22px;
}
#main-column footer section.category,
#main-column footer section.genre {
  padding-bottom: 25px;
}
#main-column footer section.comment,
#comment {
  padding-bottom: 21px;
}
#comment.--wide {
  padding-top: 20px;
}
#main-column footer section.related-articles {
  padding-bottom: 26px;
}
#main-column footer section h2,
#comment h2 {
    margin-bottom: 18px;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 27px;
    color: #000000;
}
#main-column section.sns-tools {
  padding-bottom: 26px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main-column .pagenation + .sns-tools {
  border-top-width: 0;
  margin-top: 0;
}
#main-column .sns-tools ul {
  letter-spacing: -.4em
}
#main-column .sns-tools li {
  letter-spacing: normal;
  margin-left: 11px;
  height: 64px;
  list-style-type: none;
  display: inline-block;
  vertical-align: top;
}
#main-column .sns-tools li:first-child {
  margin-left: 0;
}
#main-column .sns-tools li a {
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 18px;
  color: #AAAAAA;
  display: block;
  height: 64px;
  padding-top: 12px;
  padding-left: 45px;
  text-align: center;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #808080;
}
#main-column footer section.sns-tools li.fb {
  width: 140px;
}
#main-column footer section.sns-tools li.tw {
  width: 133px;
}
#main-column footer section.sns-tools li.line {
  width: 125px;
}
#main-column .sns-tools li.fb a {
  background: url(/common/images/v3/common/sns_logo_fb.png) 14px no-repeat;
}
#main-column .sns-tools li.tw a {
  background: url(/common/images/v3/common/sns_logo_tw.png) 16px no-repeat;
}
#main-column .sns-tools li.line a {
  background: url(/common/images/v3/common/sns_logo_line.png) 14px no-repeat;
}
#main-column .sns-tools li a span.sns-name {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  color: #000000;
}

#main-column footer section.author {
  display: flex;
  padding-bottom: 9px;
  justify-content: space-between;
}
#main-column footer section.author .icon {
  display: inline-block;
  vertical-align: baseline;
}
#main-column footer section.author .icon img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: top;
    border: 1px solid #DDDDDD;
    box-sizing: border-box;
    border-radius: 50%;
}
#main-column footer section.author .profile {
  display: inline-block;
  width: 282px;
  margin-top: 13px;
  margin-left: 21px;
  vertical-align: top;
}
#main-column footer section.author .profile .name {
  font-family: Hiragino Sans;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 33px;
  letter-spacing: 0em;
  text-align: left;
}
#main-column footer section.author .profile .catch {
  font-family: Hiragino Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
}
#main-column footer section.author .profile .other-article-wrapper {
  text-align: right;
  margin-top: 56.5px;
}
#main-column footer section.author .profile .other-article {
  font-family: Open Sans;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0em;
  text-align: right;
  color: #2789A8;
}
#main-column footer section.author .profile .name::after,
#main-column footer section.author .profile .other-article::after {
  display: inline-block;
  content: "";
  width: 11.66px;
  height: 11.66px;
  margin-left: 12px;
  border-right: 1px solid #322D1F;
  border-bottom: 1px solid #322D1F;
  box-sizing: border-box;
  transform: rotate(-45deg);
}
#main-column footer section.author .author-popular-articles .header {
  margin-left: -15px;
  font-family: Open Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 19px;
  letter-spacing: 0em;
  text-align: left;
  color: #808080;
}
#main-column footer section.category h2 {
  margin-bottom: 15px;
  text-align: center;
  font-family: Open Sans;
  font-style: normal;
  font-weight: bold;
  font-size: 15px;
  line-height: 27px;
  color: #AAAAAA;
}
#main-column footer section.category span.column-name {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 20px;
  line-height: 27px;
}
#main-column footer section.genre .genre-name {
    margin-left: 24px;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 27px;
    color: #000000;
}
#main-column footer section.category span.column-name::before {
  content: "";
  width: 16px;
  border: 2px solid;
  display: inline-block;
  vertical-align: middle;
  margin-left: 24px;
  margin-right: 7px;
}
#main-column footer section.category span.column-name::after,
#main-column footer section.genre .genre-name::after {
  content: "";
  width: 8.25px;
  height: 8.25px;
  display: inline-block;
  border-right: 1px solid #322D1F;
  border-bottom: 1px solid #322D1F;
  box-sizing: border-box;
  transform: rotate(-45deg);
  margin-left: 7px;
  vertical-align: middle;
}
#main-column footer section.category .clip {
  width: 197px;
  height: 38px;
  margin: 0 auto;
  font-family: Open Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0em;
  color: #808080;
  background: #F6F6F6 url(/common/images/v3/clip-c-red.png) 17px 14px no-repeat;
  border: 1px solid #DDDDDD;
  box-sizing: border-box;
  border-radius: 20px;
  padding-top: 8px;
  padding-left: 61px;
  cursor: pointer;
}
#main-column footer section.category .category-wrapper,
#main-column footer section.genre .genre-wrapper {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: center;
}
#main-column footer section.category .next-article-wrapper,
#main-column footer section.category .prev-article-wrapper,
#main-column footer section.genre .next-article-wrapper,
#main-column footer section.genre .prev-article-wrapper {
  display: flex;
  justify-content: space-evenly;
  width: 399px;
}
#main-column footer section.category .next-article-wrapper::after,
#main-column footer section.genre .next-article-wrapper::after {
  content: "";
  border-left: 1px solid #322D1F;
  border-top: 1px solid #322D1F;
  box-sizing: border-box;
  transform: rotate(135deg);
  height: 34.825011611026554px;
  width: 34.825011611026554px;
  margin: auto 0;
}
#main-column footer section.category .prev-article-wrapper::before,
#main-column footer section.genre .prev-article-wrapper::before {
  content: "";
  border-left: 1px solid #322D1F;
  border-top: 1px solid #322D1F;
  box-sizing: border-box;
  transform: rotate(-45deg);
  height: 34.825011611026554px;
  width: 34.825011611026554px;
  margin: auto 0;
}
#main-column footer section.category .next-article,
#main-column footer section.category .prev-article,
#main-column footer section.genre .next-article,
#main-column footer section.genre .prev-article {
  width: 330px;
}
#main-column footer section.category p.label,
#main-column footer section.genre p.label {
  margin-bottom: 2px;
  font-family: Open Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 0em;
  color: #AAAAAA;
}
#main-column footer section.category p.prev,
#main-column footer section.genre p.prev {
  text-align: left;
}
#main-column footer section.category p.next,
#main-column footer section.genre p.next {
  text-align: right;
}
#main-column footer section.category .prev-next-separator,
#main-column footer section.genre .prev-next-separator {
    margin: 20px 30px 0;
    border-left: 1px solid #808080;
}
#main-column footer section.comment .wrapper,
#comment .wrapper {
  max-width: 685px;
  margin: 0 auto;
}
#comment .wrapper.--wide {
  max-width: 100%;
}
#main-column footer section.related-articles .articles-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 15px;
}

#main-column footer section.genre .articles-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 15px;
}

.article_body .photolink {
  margin:20px 0;
  text-align:center;
}
.article_body .photolink a {
  display: inline-block;
  width: unset;
  padding: 12px 30px;
  font-family: Hiragino Sans;
  font-size: 20px;
  font-weight:bold;
  line-height: 1.2;
  text-align: center;
  border: none;
  border-radius: 23.7653px;
  box-sizing: border-box;
  width: 50%;
  background: #ff842e;
  color: #FFFFFF;
}
.article_body .photolink a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/* ---------------------
クイズ形式の記事のスタイル
--------------------- */
#quiz .question{
  border-bottom:solid 1px #ccc;
  margin-bottom:30px;
  padding:15px;
}
#quiz .btn{
  width:70%;
  margin:0 auto;
}
#quiz .btn input{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  text-align:center;
  border-style:none;
  background:#242e51;
  color:#fff;
  background:#242e51;
  width: 100%;
  font-size: 22px;
  padding: 15px 0;
  cursor: pointer;
  font-weight: bold;
}

#result{
  margin-top:25px;
}
#result p.title{
  text-align:center;
  font-weight:bold;
  font-size:18px;
  margin-bottom:10px;
}
#result span.score{
  font-size:20px;
  color:#e90c0c;
}
#answer-list p.qa{
  font-weight:bold;
}

/* ----------------------
写真ページ
------------------------ */

.return-aritcle-page__link{
 display:block;
 margin:50px auto;
 width:400px;
 height:44px;
 line-height:44px;
 color:#fff;
 background:#000;
 text-align:center;
 position:relative;
}
.return-aritcle-page__link:hover{
 text-decoration:none;
 opacity:0.7;
}

.return-aritcle-page__link::after{
 content: "";
 width: 7px;
 height: 7px;
 display: block;
 position: absolute;
 left: 20px;
 top: 0;
 bottom: 0;
 margin: auto;
 border-top: 1px solid #fff;
 border-left: 1px solid #fff;
 transform: rotate(-45deg);
}

/* ---------------------
  記事閱覽ログイン制限
--------------------- */
.registration-frame {
  padding: 65px 0 53px;
  margin: 20px auto 60px;
  background: #322D1F;
  text-align: center;
}
.registration-info {
  margin-bottom: 52px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 200%;
  text-align: center;
  color: #FFFFFF;
}
.registration-btn {
  display: block;
  margin: 0 auto 28px;
  width: 320px;
  padding: 15px 24px;
  background: #D53A0A;
  border-radius: 32px;
  box-sizing: border-box;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 200%;
  text-align: right;
  color: #FFFFFF;
}
.registration-btn.login {
  background: #fff;
  color: #000;
  font-weight: 600;
}
.registration-btn::after {
  content: "";
  width: 11px;
  height: 11px;
  display: inline-block;
  margin-left: 30px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.registration-btn.login::after {
  margin-left: 38.5px;
  border-top: 1px solid #322D1F;
  border-right: 1px solid #322D1F;
}
.registration-btn:hover,
.registration-btn.login:hover {
 text-decoration: none;
 opacity: 0.7;
}
.readmore {
  /*height: 650px;*/
  overflow: hidden;
  position: relative;
}
.readmore::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5em;
  background: linear-gradient(rgba(255,255,255,0), #fff);
}

/* ---------------------
  メンバーシップ制限
--------------------- */
.membership-frame {
  position: relative;
  padding: 50px 0 55px;
  margin: 20px auto 50px;
  text-align: center;
  background: rgba(0,0,0,0.6);
}
.membership-frame::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  display: block;
  background-image: url(/common/images/v2/mebership.jpg);
  background-repeat: no-repeat;
  background-position: 51% 57%;
  background-size: 175%;
  z-index: -1;
}
.membership-frame-title {
  margin-bottom: 35px;
  color: #d4020d;
  font-size: 14px;
  line-height: 1.625;
  letter-spacing: 0.2rem;
}
.membership-frame-info {
  margin-bottom: 25px;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.03rem;
  line-height: 1.8;
}
.membership-frame-link{
  display: inline-block;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 45px;
  font-size: 14px;
  color: #FFF;
  letter-spacing: 0.03rem;
}
.membership-frame-link::after {
  content: "▶";
  position: absolute;
  padding-top: 5px;
  padding-left: 3px;
  color: #d4020d;
  font-weight: bold;
  font-size: 10px;
  transform: rotateX(45deg);
}
.membership-frame-btn {
  display: block;
  width: 300px;
  position: relative;
  padding: 13px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 14px;
}
.membership-frame .membership-frame-btn {
  letter-spacing: 0.04rem;
  border: 1px solid #fff;
}
.membership-frame-link:hover,
.membership-frame-btn:hover {
 text-decoration: none;
 opacity: 0.7;
}

/* ---------------------
  クリップボタン
--------------------- */
.clip-btn-wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin:50px 0;
}
.clip-btn-wrapper .clip_btn {
  float: none;
  display: block;
  width: 200px;
  padding: 15px 45px;
  font-size: 17px;
  font-weight: bold;
  background-position: 27px 18px;
  background-size: 18px;
  cursor:pointer;
}
.clip-btn-wrapper .clip_btn:last-child {
  margin-left: auto;
}
.clip-btn-wrapper.login .clip_btn {
  color: #fff;
  background: #d4020d url(/common/images/v2/clip.png) 30px 20px no-repeat;
  background-size: 17px;
}
.clip-btn-wrapper .clip_btn:hover,
.clip-btn-wrapper .clip_btn:hover {
 text-decoration: none;
 opacity: 0.7;
}
#addclip {
    width: 30px;
    height: 30px;
    background: #F6F6F6 url(/common/images/v3/common/clip.png) no-repeat 3px;
    background-size: 25px;
    border-radius: 50px;
    box-sizing: border-box;
    cursor: pointer;
}
#addclip span {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: #000000;
}
#addclip.clipped {
    background: #F6F6F6 url(/common/images/v3/common/clipped.png) 3px no-repeat;
    background-size: 25px;
}
#addclip.clipped span {
    color: #AAAAAA;
}

.article-guest-info,
.article-login-info,
.column-guest-info,
.column-login-info{
  margin: 0;
  font-family: Hiragino Sans;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0em;
  text-align: center;
  color: #000;
}
.article-guest-flag-btn,
.article-login-flag-btn,
.column-guest-flag-btn,
.column-login-flag-btn{
  position: relative;
  display: block;
  width: 300px;
  box-sizing: border-box;
  padding: 14px 80px;
  margin-top: 20px;
  color: #fff;
  font-size: 14px;
  text-align:center;
  cursor:pointer;
}
.article-guest-flag-btn.login,
.article-login-flag-btn.mypage,
.column-guest-flag-btn.login,
.column-login-flag-btn.mypage{
  background: #322D1F;
  border-radius: 32px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 200%;
  text-align: center;
  color: #FFFFFF;
}
.article-guest-flag-btn.register ,
.column-guest-flag-btn.register{
  background: #d4020d;  border-radius: 32px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 200%;
  text-align: center;
  color: #FFFFFF;
}
.article-guest-flag-btn.login::after ,
.article-guest-flag-btn.register::after,
.article-login-flag-btn.mypage::after,
.column-guest-flag-btn.login::after ,
.column-guest-flag-btn.register::after,
.column-login-flag-btn.mypage::after{
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.article-guest-flag-btn:hover,
.article-guest-flag-btn.register:hover,
.article-guest-flag-btn.login:hover,
.article-login-flag-btn.mypage:hover,
.column-guest-flag-btn:hover,
.column-guest-flag-btn.register:hover,
.column-guest-flag-btn.login:hover,
.column-login-flag-btn.mypage:hover{
 text-decoration: none;
 opacity: 0.7;
}

.flag,.flag-c,.flag-comment{position:fixed;display:none;}
.flag__close-btn,.flag-c__close-btn{
  position: absolute;
  top: 25px;
  right: 25px;
  cursor: pointer;
}

/* ---------------------
  コメント制限
--------------------- */

.comment-frame {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 25px 30px 23px 51px;
  background: #F6F6F6;
  text-align: center;
}
.comment-list .comment-frame {
  padding-top: 35px;
  padding-left: 25px;
}
.comment-frame .button-wrapper {
  display: flex;
  justify-content: space-between;
  width: 300px;
  height: 44px;
  margin: auto 0;
}
.comment-frame-title {
  margin-bottom: 30px;
  color: #000;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
.comment-frame-btn {
  margin: auto 0;
  padding: 12px 30px;
  font-family: Hiragino Sans;
  font-size: 14px;
  line-height: 21px;
  text-align: center;
  border: none;
  border-radius: 23.7653px;
  box-sizing: border-box;
  width: 140px;
  height: 40px;
  background: #322D1F;
  color: #FFFFFF;
}
.comment-frame-btn.login {
  background: #FFFFFF;
  border: 0.792176px solid #322D1F;
  color: #322D1F;
}
.comment-frame-btn:hover,
.comment-frame-btn.register:hover,
.comment-frame-btn.login:hover {
 text-decoration: none;
 opacity: 0.7;
}

/* ---------------------
  コメント入力
--------------------- */
.comment-form {
  display: flex;
  flex: auto;
  justify-content: space-between;
}
.comment-form-bottom {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-top: 5px;
}
.comment-form .hide {
  display: none;
}
.comment-feedback.--wide {
  width: 100%;
  margin-left: 16px;
}
.comment-frame-input {
  display: block;
  width: 634px;
  height: 45px;
  padding: 11px 25px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 21px;
  background: #F6F6F6;
  border: 1px solid #DDDDDD;
  box-sizing: border-box;
  resize: vertical;
}
.comment-frame-input::placeholder{
 color: #9fa0a0;
}
.comment-frame-input.--wide {
  width: 100%;
}
.comment-frame-warning {
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: normal;
  font-size: 11px;
  line-height: 16px;
  color: #808080;
}
.comment-frame-info {
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  color: #000000;
  margin: auto 0;
}

/* 返信 */
.comment-frame.is-hidden{
  display: none;
}
.comment-frame.relpy-frame {
  position: relative;
  padding: 40px 0 23px;
  background: none;
  text-align: left;
}
.relpy-frame-close {
  position:absolute;
  top:10px;
  right:10px;
  cursor:pointer;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  color: #AAAAAA;
}
.relpy-frame-close::before {
  content: "";
  display: inline-block;
  background: url(/common/images/v3/common/close.png) no-repeat;
  background-size: contain;
  width: 11px;
  height: 11px;
  margin-right: 10px;
}
.relpy-frame .comment-frame-input{
  width: 584px;
}

/* ---------------------
  コメント
--------------------- */
.comment-header-title {
  display: block;
  padding: 10px 30px;
  background: #fff url(/common/images/v2/comment.png) 3px 13px no-repeat;
  background-size: 20px;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #9fa0a0;
}
.comment-list {
  list-style: none;
}
.comment-item {
  display: flex;
  position:relative;
  flex-wrap: nowrap;
}
.comment-item.parent {
  padding-top: 24px;
}
.comment-item + .comment-item {
  border-top: 1px solid #9fa0a0;
}
.comment-item.reply{border-style:none;}
.comment-initial {
  width: 34px;
  min-width: 34px;
  height: 34px;
  box-sizing: border-box;
  padding: 3px 1px;
  text-align: center;
  background: #C4C4C4;
  border-radius: 50%;
  color: #808080;
  font-size: 19px;
  font-weight: bold;
}
_:-ms-lang(x)::-ms-backdrop, .comment-initial { /* IE用 */
  padding: 9px 5px 0px  5px;
}
.comment-initial.post {
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-top: 6px;
  font-size: 16px;
}
.comment-photo {
  width: 36px;
  height: 36px;
  text-align: center;
  border-radius: 50%;
  font-weight: bold;
}
.comment-photo img{
  border-radius:50%;
  width: 36px;
}
.comment-info {
  max-width: 633px;
  margin-left: 16px;
  padding-top: 1px;
}
.comment-info.reply{
  max-width: 581px;
}
.comment-info.--wide,
.comment-info.reply.--wide {
  max-width: 100%;
  width: 100%;
}
.comment-info-nickname {
  font-family: Hiragino Sans;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0em;
}
.comment-info-date {
  margin-left: 39px;
  font-family: Open Sans;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0em;
  color: #AAAAAA;
}
.comment-info-text {
  padding: 10px 0;
  font-family: Hiragino Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #322D1F;
}
.comment-info-text.approval::after {
  content: "";
  display: block;
  width: 107.41px;
  height: 107.41px;
  right: 0;
  top: 10px;
  position: absolute;
  background: #fff url(/common/images/v3/kizetsu.png) 0px 0px no-repeat;
  background-size: 100%;
  z-index: -1;
  transform: rotate(25deg);
  opacity: 0.3;
}
.comment-info-link {
  display: flex;
  line-height: 1.2;
  padding-top: 4px;
  margin-bottom: 28px;
}
.comment-info-link-btn {
  border-radius: 2px;
  background: #D43A0A;
}
_:-ms-lang(x)::-ms-backdrop, .comment-info-link-btn { /* IE用 */
  padding: 9px 7px 2px 10px;
}
.comment-info-link-btn.posted{
 letter-spacing:0;
}
.comment-info-link-btn .good{
  display: inline-block;
  background:url(/common/images/v2/common/good.png) no-repeat left;
  background-size:16.5px 15px;
  margin-left: 10.75px;
  padding: 3px 19px 4px 29px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0.2em;
  color: #FFFFFF;
}
.comment-info-link-count {
  padding-top: 3px;
  margin-left: 9px;
  color: #D43A0A;
  font-family: Hiragino Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: 0.2em;
  text-align: left;
}
.comment-info-link-reply {
  margin-left: 25px;
  padding-top: 3px;
  font-family: Hiragino Sans;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  color: #AAAAAA;
  cursor:pointer;
}
.comment-info-link-reply::before {
  content: '';
  display: inline-block;
  margin-right: 21px;
  height: 15px;
  border-left: 1px solid #DDDDDD;
  vertical-align: middle;
}
_:-ms-lang(x)::-ms-backdrop, .comment-info-link-reply ,
_:-ms-lang(x)::-ms-backdrop, .comment-info-link-reply::after { /* IE用 */
  top: 5px;
}
.comment-reply-count {
  position: relative;
  display: inline-block;
  color: #9fa0a0;
  font-size: 13px;
  padding: 7px 0;
}
.comment-reply-count::after {
  content: "＋";
  position: absolute;
  top: 1px;
  padding-left: 5px;
  color: #d4020d;
  font-size: 21px;
}
_:-ms-lang(x)::-ms-backdrop, .comment-reply-count::after { /* IE用 */
  top: 4px;
}
.comment-reply-plus {
  margin-left: 5px;
  color: #d4020d;
  font-size: 21px;
}
.comment-btn {
  display: block;
  position: relative;
  width: 300px;
  padding: 14px 0;
  margin: 30px auto 135px;
  background: #000;
  box-sizing: border-box;
  color: #fff;
  font-size: 15px;
  text-align: center;
  border: none;
  cursor:pointer;
}
.comment-btn::after {
  content: "+";
  display: block;
  position: absolute;
  right: 10px;
  bottom: 0;
  padding: 10px;
  font-size: 20px;
  font-family: serif;
}
.comment-info-link-btn:hover,
.comment-info-link-reply:hover,
.comment-reply-wrapper:hover,
.comment-reply-count:hover,
.comment-btn:hover {
  text-decoration: none;
  opacity: 0.7;
}

.js-kizetsu-comment p{
    position: absolute;
    left: 100px;
    background: #eaeaea;
    padding: 5px 15px;
    color: #808080;
    z-index: 999;
}

#feedback_comment_err,
.reply_comment_err {
    font-family: Hiragino Sans;
    font-style: normal;
    font-weight: normal;
    font-size: 11px;
    line-height: 16px;
    color: #d4020d;
}

/* システム用ページ分割で消したいもの */
.free-paragraph-split,
.yahoo-paragraph-split{display:none;}

/* 前編・後編誘導 */
.article-guidance {
  padding-top: 30px;
  text-align: center;
}

.article-guidance-link {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 7px;
  background-color: #322D1F;
  color: #fff;
  border-radius: 3px;
  border: 5px solid #322D1F;
}

.article-guidance-link:hover {
  color: #322D1F;
  background-color: #fff;
  text-decoration: none;
}

.article-guidance-arrow {
  display: inline-block;
  margin-right: 5px;
}
