/*--------------------------------------------------------
ベース
--------------------------------------------------------*/
@font-face {
   font-family: Mincho;
   src: url(../fonts/NotoSerifJP-SemiBold.ttf);
   font-display: swap;
}

body {
   color: #535353;
}

/* スムーズスクロール */
html {
   scroll-behavior: smooth;
}

.bold {
   font-weight: bold;
}

.mini {
   font-size: .8em;
}

.pink {
   color: #ef5179;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/
/* ロゴ周り */
.p-menu-button,
.c-menu-button,
.p-sidemnu {
   display: none;
}

@media only screen and (max-width: 991px) {
   .p-header__bar {
      padding: 0;
   }
}

/* ボタン */
.p-header-member-menu__item--login,
.p-header-member-menu__item-author {
   background: #ef5179;
   min-width: 150px;
}

.p-header-member-menu__item--registration.has-bg a,
.p-header-member-menu__item--mypage {
   background: #2cc6c4 !important;
   min-width: 150px;
}

@media only screen and (max-width: 991px) {

   .p-header-member-menu__item-author_thumbnail {
      height: 35px;
      width: 35px;
   }
}

@media only screen and (max-width: 767px) {

   .p-header-member-menu__item .p-header-member-menu__item-author {
      padding: 0 15px;
   }

   .p-header-member-menu__item--login,
   .p-header-member-menu__item--registration.has-bg a {
      min-width: 95px;
   }

   .p-header-member-menu__item--mypage {
      min-width: 120px;
   }
}

@media only screen and (max-width: 499px) {
   .p-header-member-menu__item {
      font-size: 14px;
   }
}


/*--------------------------------------------------------
コンテンツエリア
--------------------------------------------------------*/
/*背景色*/
.l-main.has-bg {
   background: #fff;
}

@media (min-width: 992px) {
   .l-main.has-bg--pc {
      background: #fff;
   }
}

@media only screen and (max-width: 991px) {
   body {
      font-size: 14px;
   }

   .l-main.has-bg--mobile {
      background: #fff;
   }
}

/*見出し*/
.p-page-header__title {
   width: 100%;
   margin: 0 auto;
   padding: 40px 0 10px;
   color: #333;
   position: relative;
   z-index: 0;
}

.p-page-header__title::before {
   width: 100%;
   position: absolute;
   content: '';
   font-family: "mincho";
   z-index: -1;
   color: #eee7dd;
   top: -5px;
   left: 50%;
   transform: translateX(-50%);
   font-size: 55px;
   letter-spacing: 3px;
}

.p-page-header__title[data-type="reviews"]::before {
   content: 'REVIEWS';
}

.p-page-header__title[data-type="ranking"]::before {
   content: 'PICK UP';
}

@media only screen and (max-width: 991px) {

   .p-page-header__title::before {
      top: 13px;
      font-size: 35px;
   }

   /*サイドバー*/
   .p-widget-sidebar.tcdw_ad_widget {
      display: none;
   }
}


/*--------------------------------------------------------
投稿リスト、投稿ページ
--------------------------------------------------------*/
.p-entry__meta_top,
.p-entry__meta_top a {
   color: #999;
}

.p-blog-archive__sort-item {
   color: #333;
}

/*投稿*/
.p-blog-archive__item {
   border: 1px solid #e7e7e7;
}

.p-blog-archive__item-title {
   font-weight: normal;
}

.p-category-item.progress-report,
.p-category-item.progress-report:hover {
   background: #2cc6c4;
}

/*アイコン*/
.p-has-icon,
.p-icon-views {
   color: #ef5179;
}

@media only screen and (max-width: 991px) {
   .p-blog-archive__item {
      border: none;
   }

   .p-icon-views::before {
      top: -2.5px;
   }

   .p-blog-archive__item-author {
      position: relative;
      top: 0;
      left: 0;
      margin-top: 10px;
      padding: 0 18px;
   }
}

@media only screen and (max-width: 550px) {
   .p-article__edit-buttons+.p-blog-archive__item-counts {
      bottom: 35px;
   }

   .p-article__edit-button,
   .p-article__delete-button {
      font-size: 11px;
      line-height: 22px;
      min-width: 40px;
   }
}


/*--------------------------------------------------------
マイページ
--------------------------------------------------------*/
.p-author__lists__inner {
   background: #fffbfc;
}

/*メニュー*/
.p-author__list-tab {
   background: #fff !important;
   border: 1px solid #e7e7e7;
}

.p-author__list-tab:hover {
   color: #535353;
   background: #fffbfc !important;
}

.p-author__list-tab+.p-author__list-tab {
   margin-left: 0;
}

.p-author__list-tab.is-active {
   background: #ef5179 !important;
   border: solid 1px #ef5179;
   color: #fff !important;
}

.p-author__list-tab.is-active .p-author__list-tab_badge {
   background: #fff;
   color: #ef5179;
}

/*削除*/
.p-article__delete-button,
.p-article__edit-buttons .p-article__delete-button {
   display: none;
}

/*投稿する*/
.p-blog-archive__button ul li {
   padding: 0 10px;
   width: fit-content;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
/*スライダー*/
.p-footer-blog__item {
   margin-right: 1em;
}

.p-footer-blog__item .p-float-category,
.p-footer-blog__item .p-footer-blog__item-title {
   display: none;
}

/*ウィジェット周り*/
.u-hidden-sm.widget_nav_menu,
.p-social-nav {
   display: none;
}

.p-siteinfo__desc {
   margin-bottom: 20px;
}

.p-siteinfo__button.p-button.login {
   width: fit-content;
   display: block;
   background: #ef5179 !important;
}

.p-siteinfo>*+* {
   margin-top: 10px !important;
}

.p-siteinfo>*+.p-social-nav {
   margin-top: 20px !important;
}

.widget_nav_menu ul li a {
   padding: 5px 0;
   color: #333;
}

#tcdw_ad_widget-3 {
   margin-bottom: auto;
   margin-right: 0;
}

@media only screen and (max-width: 991px) {

   .p-siteinfo__button.p-button.login {
      margin: 0 auto;
   }

   .p-social-nav {
      display: block;
   }

   #nav_menu-2 {
      margin: 0 auto;
      text-align: center;
   }
}


/*--------------------------------------------------------
会員登録・ログイン
--------------------------------------------------------*/
@media (min-width: 992px) {
   .l-main.has-bg--pc:has(.p-membership-form) {
      background: #fffbfc;
   }
}

.p-login,
.p-registration {
   padding: 50px;
}

.p-member-page-headline {
   color: #ef5179;
   font-size: 30px;
}

.p-membership-form__registration-email,
.p-membership-form__registration-password,
.p-membership-form__desc,
.p-membership-form__login-email,
.p-membership-form__login-password,
.p-membership-form__login-remember,
.p-membership-form__login-reset_password,
.line-login-button-added .p-membership-form__button,
.p-membership-form__login-registration .p-membership-form__button {
   display: none;
}

.p-membership-form__login-registration {
   margin-top: 0;
}

.p-membership-form__login-registration::before {
   border-top: none;
}

@media only screen and (max-width: 991px) {
   .p-member-page-headline {
      font-size: 24px;
   }
}