@charset "utf-8";
/*
Theme Name:REHUB
Theme URI:https://tcd-theme.com/tcd099/
Description:WordPress theme REHUB is a template for creating a review site. You can average multiple rating items and utilize the star review feature. Also, ranking pages that can be sorted by category are ideal for review sites.
Author:TCD
Author URI:https://tcd-theme.com/
Version:3.6.1
Text Domain:tcd-rehub
*/

/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */
@font-face {
  font-family: 'design_plus';
  src: url('fonts/design_plus.eot?v=1.2');
  src: url('fonts/design_plus.eot?v=1.2#iefix') format('embedded-opentype'),
    url('fonts/design_plus.woff?v=1.2') format('woff'),
    url('fonts/design_plus.ttf?v=1.2') format('truetype'),
    url('fonts/design_plus.svg?v=1.2#design_plus') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'footer_bar';
  src: url('fonts/footer_bar.eot?v=1.0');
  src: url('fonts/footer_bar.eot?v=1.0#iefix') format('embedded-opentype'),
    url('fonts/footer_bar.woff?v=1.0') format('woff'),
    url('fonts/footer_bar.ttf?v=1.0') format('truetype'),
    url('fonts/footer_bar.svg?v=1.0#footer_bar') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'tiktok_x_icon';
  src: url('fonts/tiktok_x_icon.eot?v=1.1');
  src: url('fonts/tiktok_x_icon.eot?v=1.1#iefix') format('embedded-opentype'),
    url('fonts/tiktok_x_icon.woff?v=1.1') format('woff'),
    url('fonts/tiktok_x_icon.ttf?v=1.1') format('truetype'),
    url('fonts/tiktok_x_icon.svg?v=1.1#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}


/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a:focus {
  outline: none;
}

ins {
  text-decoration: none;
}

mark {
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

button,
input,
select,
textarea {
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
}

input,
textarea {
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
  -webkit-appearance: none;
  border-radius: 0;
  /* Removing the inner shadow, rounded corners on iOS inputs */
}

input[type="checkbox"] {
  -webkit-appearance: checkbox;
}

input[type="radio"] {
  -webkit-appearance: radio;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

iframe {
  max-width: 100%;
}

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* input */
.visually-hidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  color: #000;
}

strong,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1;
  width: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

/* swiper aroow */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: 'design_plus';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.swiper-button-prev:after {
  content: '\e90f';
}

.swiper-button-next:after {
  content: '\e910';
}


/* ----------------------------------------------------------------------
  CSS変数
---------------------------------------------------------------------- */

:root {

  /* 基本カラー */
  --tcd-accent-color: 0, 133, 178;
  --tcd-hover-color: 0, 133, 178;
  --tcd-bg-color: 245, 245, 245;
  --tcd-link-color: 21, 120, 214;

  /* レビュー */
  --tcd-review-star-color: #ff7f00;
  --tcd-review-ranking1-color: #b28c08;
  --tcd-review-ranking2-color: #8f9396;
  --tcd-review-ranking3-color: #7a4905;

  /* Meiryo */
  --tcd-font-type1: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  /* YuGothic */
  --tcd-font-type2: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  /* YuMincho */
  --tcd-font-type3: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;

}

body,
input,
textarea {
  font-family: var(--tcd-font-type2);
}

.post_content a:not(.q_custom_button) {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

.post_content a:hover:not(.q_custom_button) {
  text-decoration: underline;
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */

a {
  color: #000;
  text-decoration: none;
}

a,
a:before,
a:after,
input {
  -webkit-transition-property: background-color, color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  transition-property: background-color, color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.clear {
  clear: both;
}

.hide {
  display: none;
}

.post_content {
  word-wrap: break-word;
}

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
}

.mobile_device a[href^="tel:"] {
  pointer-events: auto;
  text-decoration: underline;
}

/* ----------------------------------------------------------------------
 上付き文字、下付き文字
---------------------------------------------------------------------- */
sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

/* ----------------------------------------------------------------------
  Layout
---------------------------------------------------------------------- */

.l-inner {
  max-width: 1160px;
  width: calc(100% - 60px);
  margin: 0 auto;
}

@media (max-width: 767px) {
  .l-inner {
    width: calc(100% - 40px);
  }
}

.l-container {
  position: relative;
  height: 100%;
}

.l-container__inner {
  padding: 80px 0 150px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.home .l-container__inner {
  max-width: 100%;
  width: 100%;
  padding: 0;
}

@media (max-width: 1240px) {
  .l-container__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .l-container__inner {
    padding: 40px 0;
  }
}

.l-main {
  max-width: 100%;
  width: 770px;
}

.l-main:only-child {
  width: 100%;
}

.single .l-main:only-child,
.post-type-archive-news .l-main:only-child,
.page-template-default:not(.home) .l-main:only-child {
  max-width: 850px;
}

@media (max-width: 767px) {

  body.single .l-main:only-child,
  body.page:not(.home) .l-main:only-child,
  body.post-type-archive-news .l-main:only-child {
    margin-bottom: -40px;
  }

  .l-main:only-child:after {
    content: '';
    display: block;
    width: calc(100% + 40px);
    height: 1px;
    background: #ddd;
    margin-left: -20px;
  }

  /* .l-main:only-child { margin-bottom:0; } */
  .home .l-main:only-child:after {
    width: 100%;
    margin: 0;
  }

  .home .p-fp-section--type2+.l-main:only-child::after {
    content: none;
  }

  body.blog .l-main:only-child:after,
  body.archive.author .l-main:only-child:after,
  body.archive.tag .l-main:only-child:after,
  body.archive.date .l-main:only-child:after,
  body.tax-review_category .l-main:only-child:after,
  body.tax-review_tag .l-main:only-child:after,
  body.page-template-page__comments .l-main:only-child:after,
  body.post-type-archive-review .l-main:only-child:after {
    content: none;
  }
}

.l-sidebar {
  max-width: 100%;
  width: 350px;
}

@media not all and (max-width: 1240px) {
  .l-sidebar__inner {
    height: 100%;
    flex-direction: column;
  }
}

@media (max-width: 1240px) {
  .l-sidebar {
    width: 770px;
    margin-top: 60px;
  }

  .l-sidebar__inner {
    margin: -50px 0 0 -50px;
  }
}

@media (max-width: 767px) {
  .l-sidebar {
    margin-top: 40px;
  }

  .l-sidebar__inner {
    margin: -40px 0 0 -20px;
  }
}

@media (max-width: 599px) {
  .l-sidebar__inner {
    margin-left: 0;
  }
}


/* ----------------------------------------------------------------------
  Header
---------------------------------------------------------------------- */

.l-header {
  position: relative;
  z-index: 100;
  background: #fff;
}

.l-header__main {}

.l-header__main-inner {
  height: 90px;
  position: relative;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .l-header__main-inner {
    display: block !important;
    height: auto;
  }
}

/* ロゴエリア */
.l-header__logo {
  position: relative;
  height: 100%;
}

.l-header__logo-image {
  height: 100%;
  flex-shrink: 0;
}

.l-header__desc {
  font-size: 16px;
  line-height: 1.4;
  margin-left: 35px;
  padding-right: 20px;
}

@media (max-width: 1024px) {
  .l-header__desc {
    display: none;
  }
}

@media (max-width: 767px) {
  .l-header__logo {
    width: 100%;
    height: 60px;
  }
}


/* カウント */
.l-header__counts {
  height: 100%;
  padding-right: 60px;
}

.l-header__counts-item {
  height: 45px;
  font-size: 14px;
}

*+.l-header__counts-item {
  margin-left: 15px;
}

.l-header__counts-item__label {
  line-height: 1.2;
  text-align: center;
  width: 100px;
  height: 100%;
  transition: color 0.3s ease;
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  border-radius: 5px 0 0 5px;
}

.l-header__counts-item__total {
  width: 100px;
  border: 1px solid #ddd;
  border-left: none;
  border-radius: 0 5px 5px 0;
}

.l-header__counts-item__number {
  font-size: 20px;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.l-header__counts-item__unit {
  margin-left: 5px;
  margin-bottom: -0.2em;
}

@media (hover: hover) and (pointer: fine) {
  .l-header__counts-item:hover .l-header__counts-item__label {
    color: rgba(255, 255, 255, 0.5);
  }

}

@media (max-width: 1024px) {
  .l-header__counts {
    padding-right: 95px;
  }
}

@media (max-width: 767px) {
  .l-header__counts {
    width: calc(100% + 40px);
    height: 60px;
    padding: 0 20px;
    margin-left: -20px;
    border-top: 1px solid #ddd;
  }

  .l-header__counts-item {
    height: 40px;
    font-size: 12px;
  }

  *+.l-header__counts-item {
    margin-left: 10px;
  }

  .l-header__counts-item__label {
    width: 80px;
  }

  .l-header__counts-item__total {
    width: 80px;
  }

  .l-header__counts-item__number {
    font-size: 16px;
  }

  .l-header__counts-item__unit {
    margin-bottom: -0.1em;
  }
}

@media (max-width: 599px) {

  .l-header__counts-item,
  .l-header__counts-item__label,
  .l-header__counts-item__total {
    width: 50%;
  }

}

/* ナビゲーション */
.l-header__nav {
  border-top: 1px solid #ddd;
}

.l-header__nav-inner {
  position: relative;
}

/* 検索フォーム */
.l-header__search {
  position: absolute;
  top: 0;
  right: -20px;
  z-index: 1;
  height: 100%;
}

.l-header__search-form {}

.l-header__search-form input {
  display: block;
  font-size: 16px;
  border: none;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

.l-header__search-form input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.l-header__search-button {
  display: block;
  font-size: 20px;
}

.l-header__search-button label,
.l-header__search-button button {
  font-family: 'design_plus';
  width: 60px;
  height: 50px;
  transition: color 0.2s ease;
}

@media not all and (max-width: 599px) {
  .l-header__search-form input {
    width: 0px;
    height: 50px;
    padding: 0;
    border-radius: 40px;
    opacity: 0;
    transition: width 0.3s ease, opacity 0.3s ease;
  }

  .l-header__search-form input::placeholder {
    color: transparent;
  }

  .l-header__search-button--sp {
    display: none;
  }
}

@media (min-width: 600px) and (hover: hover) and (pointer: fine) {

  .l-header__search:hover .l-header__search-form input,
  .l-header__search-form input:focus,
  .l-header__search-form input:not(:placeholder-shown) {
    width: 450px;
    opacity: 1;
    max-width: calc(100vw - 110px);
    padding: 0 25px;
  }

  .l-header__search:hover label {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media not all and (hover: hover) and (pointer: fine) {
  .l-header__search.is-active .l-header__search-form input {
    width: 450px;
    opacity: 1;
    max-width: calc(100vw - 110px);
  }

  .l-header__search.is-active label {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media (max-width: 1024px) {
  .l-header__search {
    right: 25px;
  }
}

@media (max-width: 767px) {
  .l-header__search {
    height: 60px;
  }

  .l-header__search-button label {
    width: auto;
    height: 60px;
    padding: 0 15px;
  }
}

@media (max-width: 599px) {
  .l-header__search {
    position: static;
    width: calc(100% + 40px);
    height: 0;
    margin-left: -20px;
    margin-bottom: -1px;
    overflow: hidden;
    transition: height 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .l-header__search.is-active--sp {
    height: 45px;
  }

  .l-header__search-form {
    width: 100%;
    height: 100%;
  }

  .l-header__search-form input {
    width: 100%;
    height: 100%;
    padding: 0 20px;
  }

  .l-header__search-button {
    display: none;
  }

  .l-header__search-button--sp {
    font-size: 20px;
    position: absolute;
    top: 0;
    right: 25px;
    height: 60px;
    padding: 0 15px !important;
  }
}



/* ハンバーガーメニュー */
@media not all and (max-width: 1024px) {
  .p-menu-button {
    display: none;
  }
}

button.p-menu-button {
  position: absolute;
  padding: 10px;
  top: 50%;
  right: -10px;
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  button.p-menu-button:hover {
    opacity: 0.3;
  }
}

.p-menu-button span {
  display: block;
  height: 1px;
  width: 22px;
  overflow: hidden;
  background: rgba(0, 0, 0, .3);
}

.p-menu-button span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 1);
  transform: translateX(0);
  transition: transform 0.2s ease;
}

.p-menu-button span:not(:first-of-type) {
  margin-top: 7px;
}

.p-menu-button span:nth-of-type(1):before {
  transition-delay: 0s;
}

.p-menu-button span:nth-of-type(2):before {
  transition-delay: 0.1s;
}

.p-menu-button span:nth-of-type(3):before {
  transition-delay: 0.2s;
}

@media (max-width: 767px) {
  button.p-menu-button {
    height: 60px;
    top: 0;
    transform: none;
  }
}


/* ----------------------------------------------------------------------
  Footer
---------------------------------------------------------------------- */


.l-footer {
  overflow: hidden;
  background: #fff;
}

/* top */
.l-footer__info {
  padding: 45px 0;
  text-align: center;
}

.l-footer__logo {
  display: inline-block;
}

.l-footer__desc {
  font-size: 16px;
  line-height: 1.6;
  margin: calc(30px - 0.3em) 0 -0.3em;
}

@media (max-width: 767px) {
  .l-footer__info {
    padding: 40px 0;
  }

  .l-footer__desc {
    font-size: 14px;
    margin-top: calc(20px - 0.3em);
  }
}

/* menu */
.l-footer__nav {
  border-top: 1px solid #ddd;
  padding: 80px 0;
}

.l-footer__nav-list {
  width: 25%;
}

.l-footer__nav-list li {
  font-size: 14px;
  line-height: 1.6;
  margin: -0.3em 0 -0.3em;
}

.l-footer__nav-list li+li {
  margin-top: calc(30px - 0.3em);
}

@media not all and (max-width: 1024px) {
  .l-footer__nav-list:not(:last-of-type) {
    padding-right: 20px;
  }
}

@media (max-width: 1024px) {
  .l-footer__nav-list {
    width: 50%;
  }

  .l-footer__nav-list:nth-last-of-type(-n+2):not(:nth-of-type(-n+2)) {
    margin-top: 80px;
  }

  .l-footer__nav-list:nth-of-type(2n-1) {
    padding-right: 20px;
  }
}

@media (max-width: 767px) {
  .l-footer__nav {
    padding: 40px 0;
  }

  .l-footer__nav-list:nth-of-type(2n-1) {
    padding-right: 10px;
  }

  .l-footer__nav-list li+li {
    margin-top: calc(25px - 0.3em);
  }

  .l-footer__nav-list:nth-last-of-type(-n+2):not(:nth-of-type(-n+2)) {
    margin-top: 40px;
  }
}

/* sns */
.l-footer__sns {
  border-top: 1px solid #ddd;
}

.l-footer__sns-inner {}

.l-footer__sns-icons {
  height: 60px;
}

@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-list a:hover {
    color: #666666;
  }
}

@media (max-width: 767px) {
  .l-footer__sns-icons {
    height: 50px;
  }
}

/* コピーライト */
.l-footer__copyright {
  font-size: 14px;
  text-align: center;
  border-top: 1px solid #ddd;
}

.l-footer__copyright-inner {
  height: 60px;
  line-height: 60px;
}

@media (max-width: 767px) {
  .l-footer__copyright {
    font-size: 12px;
  }

  .l-footer__copyright-inner {
    height: 50px;
    line-height: 50px;
  }

  .l-footer__copyright-inner {
    height: 50px;
    line-height: 50px;
  }
}


/* ----------------------------------------------------------------------
  component
---------------------------------------------------------------------- */

/* フォントタイプ */
.c-font-type {
  font-weight: 600;
}

.c-font--type1 {
  font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
}

.c-font--type2 {
  font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
}

.c-font--type3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}

/* 行間 */
.c-line1,
.c-line2,
.c-line3,
.c-line4 {
  overflow: hidden;
  visibility: visible;
  word-break: break-all;
}

.c-line1>span,
.c-line1>a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.c-line2>span,
.c-line2>a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.c-line3>span,
.c-line3>a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.c-line4>span,
.c-line4>a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* ホバー時のアクセントカラー */
.c-hover-color {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  a:hover .c-hover-color {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

/* SNSアイコン */
.c-sns-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
}

.c-sns-icons__item {}

.c-sns-icons__item:not(:last-of-type) {
  margin-right: 15px;
}

.c-sns-icons__link {
  display: block;
  transition: opacity 0.2s ease;
}

.c-sns-icons__link:before {
  font-family: 'design_plus';
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.c-sns-icons__link--user-url:before {
  content: '\e942';
}

.c-sns-icons__link--facebook:before {
  font-family: 'tiktok_x_icon';
  content: "\e902";
}

.c-sns-icons__link--twitter:before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
}

.c-sns-icons__link--tiktok:before {
  font-family: 'tiktok_x_icon';
  content: "\e900";
}

.c-sns-icons__link--instagram:before {
  content: '\ea92';
  font-size: 0.95em;
  padding-top: 0.05em;
}

.c-sns-icons__link--pinterest:before {
  content: '\e905';
}

.c-sns-icons__link--youtube:before {
  content: '\ea9d';
}

.c-sns-icons__link--contact:before {
  content: '\f0e0';
  font-size: 0.95em;
}

.c-sns-icons__link--rss:before {
  content: '\e90b';
  font-size: 0.9em;
  padding-top: 0.05em;
}

@media (hover: hover) and (pointer: fine) {
  .c-sns-icons__link:hover {
    opacity: 0.5;
  }
}

/* モノクロ */
.c-sns-icons--type1 {
  font-size: 18px;
}

.c-sns-icons--type1 .c-sns-icons__link {
  color: #000;
}

/* カラー */
.c-sns-icons--type2 {
  font-size: 22px;
}

.c-sns-icons--type2 .c-sns-icons__link--user-url:before {
  color: #00729f;
}

.c-sns-icons--type2 .c-sns-icons__link--facebook:before {
  color: #1877f2;
}

.c-sns-icons--type2 .c-sns-icons__link--twitter:before {
  color: #000000;
}

.c-sns-icons--type2 .c-sns-icons__link--instagram:before {
  color: #e4405f;
}

.c-sns-icons--type2 .c-sns-icons__link--pinterest:before {
  color: #bd081c;
}

.c-sns-icons--type2 .c-sns-icons__link--youtube:before {
  color: #f00;
}

.c-sns-icons--type2 .c-sns-icons__link--contact:before {
  color: #00729f;
}

.c-sns-icons--type2 .c-sns-icons__link--rss:before {
  color: orange;
}

/* ロゴ */
.c-logo {
  color: inherit;
  transition: opacity 0.3s ease;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-logo__image {
  max-width: 100%;
  width: auto;
  max-height: 75px;
}

.c-logo__text {
  display: block;
  line-height: 1.6;
  margin: -0.3em 0;
}

@media (hover: hover) and (pointer: fine) {
  .c-logo:hover {
    opacity: 0.5;
  }
}

@media not all and (max-width: 767px) {
  .c-logo__image:nth-of-type(2) {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-logo__image {
    display: none;
    max-height: 50px;
  }

  .c-logo__image:nth-of-type(2) {
    display: block;
  }

  .c-logo__image:only-child {
    display: block;
  }
}

/* 日付 */
.c-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  font-family: 'Arial';
  font-size: 14px;
  color: #999;
  line-height: 1;
}

.c-date:before {
  font-family: 'footer_bar';
  content: '\e912';
  font-size: 0.85em;
  margin-top: 0.06em;
  margin-right: 4px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.c-date--updated:before {
  font-family: 'design_plus';
  content: '\e943';
}

/* カテゴリー */
.c-post-category {
  font-size: 14px;
  text-align: center;
  line-height: 1.2;
  position: absolute;
  z-index: 1;
  width: 160px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #000;
  background: #fff;
  padding: 0 10px;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .c-post-category:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media (max-width: 767px) {
  .c-post-category {
    font-size: 12px;
    width: 110px;
    height: 40px;
  }

}

/* パンくずリスト */
.c-breadcrumb {
  overflow: hidden;
  margin-bottom: -80px;
}

.c-breadcrumb__list {
  height: 90px;
  overflow: initial;
}

.c-breadcrumb__item {
  font-size: 14px;
  white-space: nowrap;
}

*+.c-breadcrumb__item:before {
  content: "\e910";
  font-family: "design_plus";
  font-size: 12px;
  margin: 0 10px;
}

.c-breadcrumb__item--home:before {
  content: "\e90c";
  font-family: "design_plus";
  transition: none;
}

.c-breadcrumb__item:last-of-type>span {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

@media (hover: hover) and (pointer: fine) {
  .c-breadcrumb a:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media not all and (max-width: 767px) {
  .c-breadcrumb__item>span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible;
  }

  .c-breadcrumb__item:last-of-type {
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .c-breadcrumb {
    margin-bottom: -40px;
  }

  .c-breadcrumb__list {
    width: 100%;
    height: 50px;
    padding: 1px 20px 0;
  }

  .c-breadcrumb__item {
    font-size: 12px;
  }

  *+.c-breadcrumb__item:before {
    margin: 0 5px;
  }
}


/* ページャー */
.c-pagination {
  margin-top: 40px;
  text-align: center;
  font-family: Arial;
}

.c-pagination__item {
  display: block;
}

*+.c-pagination__item {
  margin-left: -1px;
}

.c-pagination a,
.c-pagination span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  font-size: 16px;
  color: #000;
  border: 1px solid #ddd;
}

.c-pagination a {
  color: #000 !important;
  background: #fff;
  transition: all 0.2s ease;
}

.c-pagination .current {
  position: relative;
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  border-color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.post_content .c-pagination>*+* {
  margin-left: -1px;
}

@media (hover: hover) and (pointer: fine) {
  .c-pagination a:hover {
    position: relative;
    color: #fff !important;
    text-decoration: none !important;
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
    border-color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }
}

.c-pagination .next,
.c-pagination .prev {
  font-size: 14px;
  font-family: 'design_plus';
}

@media (max-width: 767px) {
  .c-pagination {
    margin-top: 40px;
  }
}

/* 検索フォーム */
.c-search-form {
  max-width: 550px;
  width: 100%;
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

.c-search-form__text {
  width: calc(100% - 60px);
}

.c-search-form__text input {
  display: block;
  width: 100%;
  height: 50px;
  padding-left: 25px;
  border: none;
  background: transparent;
  font-size: 16px;
}

.c-search-form__button label {
  font-family: 'design_plus';
  font-size: 18px;
  cursor: pointer;
  color: #000;
  width: 60px;
  height: 100%;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .c-search-form__button label:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media (max-width: 767px) {
  .c-search-form__text {
    width: calc(100% - 50px);
  }

  .c-search-form__text input {
    height: 45px;
    padding-left: 20px;
  }

  .c-search-form__text input::-webkit-input-placeholder {
    font-size: 14px;
  }

  .c-search-form__text input:-ms-input-placeholderm {
    font-size: 14px;
  }

  .c-search-form__text input::placeholder {
    font-size: 14px;
  }

  .c-search-form__button label {
    width: 50px;
    font-size: 16px;
  }
}

@media (max-width: 599px) {
  .c-search-form {
    max-width: 280px;
  }
}

/* 個別ページのセクション用タイトル */
.c-single-section-title {
  font-size: 22px;
  line-height: 1.6;
  margin: -0.3em 0 calc(40px - 0.3em);
  text-align: center;
}

@media (max-width: 767px) {
  .c-single-section-title {
    font-size: 20px;
  }
}

/* 背景画像 */
.c-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-size: cover !important;
  width: 100%;
  height: 100%;
}

.c-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

/* アイコン */
.c-icon {
  font-family: 'design_plus';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* スライダーアロー */
.c-arrow {
  cursor: pointer;
  padding: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
  z-index: 1;
}

.c-arrow--prev {
  left: -50px;
}

.c-arrow--next {
  right: -50px;
}

.c-arrow:before {
  font-family: 'design_plus';
  font-size: 20px;
}

.c-arrow--prev:before {
  content: '\e90f';
}

.c-arrow--next:before {
  content: '\e910';
}

@media (hover: hover) and (pointer: fine) {
  .c-arrow:hover {
    opacity: 0.5;
  }
}



.c-arrow-prev,
.c-arrow-next {
  width: 50px;
  height: 50px;
  line-height: 50px;
}

.c-arrow-prev:after,
.c-arrow-next:after {
  font-family: 'design_plus';
  font-size: 20px;
  color: #000;
  text-align: center;
}

.c-arrow-prev:after {
  content: '\e90f';
}

.c-arrow-next:after {
  content: '\e910';
}


/* サイドバーのレイアウト */
.c-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.is-sidebar--left .l-container__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* .is-sidebar--none { max-width:840px; } */
.is-sidebar--full .l-main {
  width: 100%;
}

@media not all and (max-width: 767px) {

  body.single .is-sidebar--none .c-breadcrumb__list,
  body.single .is-sidebar--none .l-container__inner,
  body.post-type-archive-news .is-sidebar--none .l-container__inner,
  body.page-template-default:not(.home) .is-sidebar--none .c-breadcrumb__list,
  body.page-template-default:not(.home) .is-sidebar--none .l-container__inner {
    max-width: 850px;
  }
}


/* 基本ボタン */
.c-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 300px;
  height: 60px;
  border-radius: 60px;
  overflow: hidden;
  cursor: pointer;
  font-size: 16px;
  padding: 0 1em;
  background: transparent;
  text-align: center;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
  position: relative;
}

.c-button:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #000;
}

.c-button--grey {
  border: none;
}

.c-button--grey:not(:hover) {
  color: #fff;
  background: #ccc;
}

@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 0.8);
  }
}

@media (max-width: 767px) {
  .c-button {
    font-size: 14px;
    width: 240px;
    height: 50px;
    border-radius: 50px;
  }
}

/* 横スクロール対応 */
.c-h-scroll {
  overflow: auto hidden;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.c-h-scroll::-webkit-scrollbar {
  display: none;
}

.c-h-scroll>* {
  overflow: visible;
  position: relative;
}

.c-h-scroll>*:last-child:after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  height: 1px;
  width: 20px;
  background-color: transparent;
}

/* 投稿が無いときのメッセージ */
.c-no-post {
  line-height: 1.8;
  margin: -0.4em 0;
}

/* 影 */
.c-shadow {
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(rgb(0 0 0 / 7%), transparent);
}

@media (max-width: 767px) {
  .c-shadow {
    display: none;
  }
}

/* 画像読み込み時 */
.c-image-loading {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #eee;
  overflow: hidden;
}

.c-image-loading:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #eee 0, #f3f3f3 15%, #eee 30%);
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: imageLoadingBackground;
  animation-timing-function: linear;
}

@keyframes imageLoadingBackground {
  0% {
    transform: translateZ(0)
  }

  to {
    transform: translate3d(100%, 0, 0)
  }
}

body.is-watermark-loaded .c-image-loading {
  display: none;
}

/* メインカラム */
.c-main-column {
  padding: 40px;
  background: #fff;
}

@media (max-width: 767px) {
  .c-main-column {
    width: calc(100% + 40px);
    padding: 40px 20px;
    margin: -40px -20px 0;
  }

  body.single .c-main-column {
    margin-bottom: -40px;
  }
}


/* トグルボタン */
.c-toggle-button {
  position: relative;
  display: block;
  font-size: 12px;
  width: 1em;
  height: 1em;
}

.c-toggle-button:before,
.c-toggle-button:after {
  content: '';
  display: block;
  background: #000;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.c-toggle-button:before {
  width: 1em;
  height: 1px;
  opacity: 1;
}

.c-toggle-button:after {
  width: 1px;
  height: 1em;
}

.c-toggle-button-wrapper.is-open .c-toggle-button:before {
  opacity: 0;
}

.c-toggle-button-wrapper.is-open .c-toggle-button:before,
.c-toggle-button-wrapper.is-open .c-toggle-button:after {
  transform: rotate(90deg);
}


/* ----------------------------------------------------------------------
  Project
---------------------------------------------------------------------- */

/* ナビゲーション */
.p-global__nav-wrapper {
  position: relative;
}

.p-global__nav {
  font-size: 16px;
  line-height: 1.2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-global__nav li {
  width: 100%;
  position: relative;
}

.p-global__nav a {
  display: block;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* 親メニュー */
.p-global__nav>li>a {
  text-align: center;
  width: 100%;
  height: 60px;
  line-height: 1.2;
  padding: 0 10px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-global__nav>li.current-menu-item>a {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-global__nav>li>a:hover {
    color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }
}

/* サブメニュー */
.p-global__nav .sub-menu {
  position: absolute;
  left: 100%;
  top: 0;
  font-size: 14px;
  line-height: 1.7;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-global__nav a:hover+.sub-menu,
.p-global__nav .sub-menu:hover {
  visibility: visible;
  opacity: 1;
}

.p-global__nav>li.menu-item-has-children>.sub-menu {
  top: 100%;
  left: 0;
  z-index: 200;
}

.p-global__nav .sub-menu a {
  color: inherit;
  line-height: 1.4;
  padding: 0 20px;
  min-width: 240px;
  z-index: 2;
  height: 50px;
  transtion: color 0.2s ease, background 0.2s ease;
}

.p-global__nav a[data-megamenu]+.sub-menu {
  display: none;
}

.p-global__nav .sub-menu .menu-item-has-children>a:after {
  position: absolute;
  right: 16px;
  font-family: "design_plus";
  content: "\e910";
  -webkit-transition: none
}

/* 子メニューを逆方向にする */
.p-global__nav>li.rev ul ul,
.p-global__nav>li:nth-last-of-type(1) ul ul {
  left: auto;
  right: 100%;
}

.p-global__nav>li.rev ul li.menu-item-has-children>a:after,
.p-global__nav>li:nth-last-of-type(1) ul li.menu-item-has-children>a:after {
  content: '\e90f';
  right: auto;
  left: 21px;
}

.p-global__nav>li.rev ul li.menu-item-has-children>a,
.p-global__nav>li:nth-last-of-type(1) ul li.menu-item-has-children>a {
  padding: 0 20px 0 45px;
}



@media (hover: hover) and (pointer: fine) {
  .p-global__nav .sub-menu a:hover {
    color: #000;
    background: #fff;
  }
}

/* ダークカラー */
.is-header-type--dark .p-global__nav .sub-menu {
  color: #fff;
  background: #000;
}

/* ライトカラー */
/* .is-header-type--light .p-global__nav .sub-menu { color:#000; background:rgba(var(--tcd-bg-color, 245, 245, 245),1); } */
.is-header-type--light .p-global__nav .sub-menu {
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

@media (max-width: 1024px) {
  .l-header__nav {
    display: none;
  }
}

/* メガメニュー */
.p-megamenu {
  position: absolute;
  top: 100%;
  width: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-megamenu.is-active,
.p-megamenu:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 1024px) {
  .p-megamenu {
    display: none;
  }
}

/* メガメニュー01（アイテム） */
.p-megamenu01 {}

.p-megamenu01__inner {}

.p-megamenu01__list {}

.p-megamenu01__item {
  background: #333;
}

.p-megamenu01__link {
  display: block;
  position: relative;
  height: 180px;
}

.p-megamenu01__overlay {
  background: transparent;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.8));
}

.p-megamenu01__image {
  width: 100%;
  height: 100%;
}

.p-megamenu01__image-bg {
  width: 100%;
  height: 100%;
}

.p-megamenu01__content {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  padding: 30px;
  color: #fff;
}

.p-megamenu01__title {
  font-size: 22px;
  line-height: 2.4;
  margin: -0.7em 0;
}

.p-megamenu01__desc {
  font-size: 16px;
  line-height: 2;
  margin: -0.5em 0;
}

*+.p-megamenu01__desc {
  margin-top: calc(20px - 0.5em);
}

.p-megamenu01-layout--type1 .p-megamenu01__item {
  width: calc(100% / 2);
}

.p-megamenu01-layout--type2 .p-megamenu01__item {
  width: calc(100% / 3);
}

.p-megamenu01-layout--type3 .p-megamenu01__item {
  width: calc(100% / 4);
}


/* メガメニュー02（スライダー） */
.p-megamenu02 {}

.p-megamenu02__inner {
  position: relative;
}

.p-megamenu02__inner:before {
  content: '';
  display: block;
  width: 1px;
  height: 160px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.p-megamenu02__list {}

.p-megamenu02__item {
  width: calc(100% / 4);
}

.p-megamenu02__link {}

.p-megamenu02__catgeory {
  left: 30px;
  bottom: 0;
}

.p-megamenu02__image {
  position: relative;
}

.p-megamenu02__image-bg {
  height: 200px;
}

.p-megamenu02__content {
  padding: 30px;
  height: 160px;
  background: #fff;
  border-left: 1px solid #ddd;
}

.p-megamenu02__title {
  font-size: 16px;
  line-height: 1.7;
  height: 5.1em;
  margin: -0.35em 0;
}

.p-megamenu02__date {
  margin-top: 15px;
}

@media (max-width:1250px) {
  .p-megamenu02 .c-arrow--next {
    right: -40px;
  }

  .p-megamenu02 .c-arrow--prev {
    left: -40px;
  }
}

/* ライトカラー */
.is-header-type--light .p-megamenu {
  color: #000;
}

.is-header-type--light .p-megamenu02__link {
  color: #000;
}

.is-header-type--light .p-megamenu02 .swiper-button-next,
.is-header-type--light .p-megamenu02 .swiper-button-prev {
  color: #000;
}

/* ダークカラー */
.is-header-type--dark .p-megamenu {
  color: #fff;
  background: #000;
}

.is-header-type--dark .p-megamenu02__link {
  color: #fff;
}

.is-header-type--dark .p-megamenu02 .swiper-button-next,
.is-header-type--dark .p-megamenu02 .swiper-button-prev {
  color: #fff;
}


/* ナビゲーションバー */
.p-global-nav-bar {
  pointer-events: none;
  display: block;
  width: 200px;
  height: 6px;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  position: absolute;
  bottom: 0;
  opacity: 0;
  transition: left 0.4s ease, opacity 0.3s ease;
}

.p-global-nav-bar.is-active {
  opacity: 1;
}

@media (max-width:1024px) {
  .p-global-nav-bar {
    display: none;
  }
}

/* ----------------------------------------------------------------------
  Project - Drawer menu
---------------------------------------------------------------------- */

/* 閉じるボタン */
.p-menu-button--close {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transition: opacity 0.3s ease;
}

.p-menu-button--close span {
  display: block;
  width: 1px;
  height: 15px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.p-menu-button--close span:first-of-type {
  transform: rotate(-45deg);
  z-index: 2;
}

.p-menu-button--close span:last-of-type {
  transform: rotate(45deg);
}

.p-menu-button--close span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}

.p-menu-button--close span:first-of-type:before {
  transform: translateY(-100%);
  transition-delay: 0.2s;
}

.p-menu-button--close span:last-of-type:before {
  transform: translateY(-100%);
  transition-delay: 0.5s;
}

html.show-drawer .p-menu-button--close span:before {
  transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
  .p-menu-button--close:hover {
    opacity: 0.5;
  }
}

/* ドロワーメニュー */
.p-drawer-menu {
  position: fixed;
  top: 0;
  right: -400px;
  z-index: 201;
  padding: 50px 0;
  width: 400px;
  height: 100%;
  overflow: hidden auto;
  transition: transform 0.4s cubic-bezier(0.65, 0.05, 0.36, 1);
}

html.show-drawer .p-drawer-menu {
  transform: translateX(-400px);
}

html.show-drawer .p-drawer-menu__overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4)
}

@media (max-width: 599px) {
  .p-drawer-menu {
    width: 300px;
    right: -300px;
  }

  html.show-drawer .p-drawer-menu {
    transform: translateX(-300px);
  }
}

/* ナビゲーション */
.p-drawer-menu__nav a {
  font-size: 14px;
  line-height: 1.2;
  padding: 0 20px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-drawer-menu__nav ul {
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-drawer-menu__nav ul a {
  color: #fff;
  border-top: none;
  height: auto;
  padding: calc(12.5px - 0.1em) 20px calc(12.5px - 0.1em) 25px;
}

.p-drawer-menu__nav ul li:first-of-type a {
  padding-top: calc(25px - 0.1em);
}

.p-drawer-menu__nav ul li:last-of-type a {
  padding-bottom: calc(25px - 0.1em);
}

.p-drawer-menu__nav ul {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

.p-drawer-menu__nav li.is-active>a {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__nav>li a:hover {
    color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }

  .p-drawer-menu__nav ul li a:hover {
    color: rgba(255, 255, 255, 0.5) !important;
  }
}

/* サブメニュー開閉ボタン */
.p-drawer-menu-toggle-button {
  min-width: 50px;
  width: 50px;
  height: 100%;
  margin-right: -20px;
  position: relative;
}

.p-drawer-menu-toggle-button__icon {
  display: block;
  width: 12px;
  height: 12px;
  position: relative;
}

.p-drawer-menu-toggle-button__icon:before,
.p-drawer-menu-toggle-button__icon:after {
  content: '';
  display: block;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.p-drawer-menu-toggle-button__icon:before {
  width: 1px;
  height: 100%;
  transition: transform 0.2s ease;
}

.p-drawer-menu-toggle-button__icon:after {
  width: 100%;
  height: 1px;
}

.p-drawer-menu__nav>li.is-active .sub-menu .p-drawer-menu-toggle-button__icon:before {
  transform: rotate(0);
}

.p-drawer-menu__nav>li.is-active .p-drawer-menu-toggle-button__icon:before {
  transform: rotate(90deg);
}

.p-drawer-menu__nav>li.is-active .sub-menu>li.is-active .p-drawer-menu-toggle-button__icon:before {
  transform: rotate(90deg);
  height: 1px;
}

.p-drawer-menu__nav .sub-menu .sub-menu {
  margin-left: 20px;
}

.p-drawer-menu__nav .sub-menu .sub-menu a {
  padding: calc(12.5px - 0.1em) 20px calc(12.5px - 0.1em) 25px;
}

.p-drawer-menu__nav .sub-menu .sub-menu li:first-of-type a {
  padding-top: calc(12.5px - 0.1em);
}

.p-drawer-menu__nav .sub-menu .sub-menu li:last-of-type a {
  padding-bottom: calc(25px - 0.1em);
}

.p-drawer-menu__nav .sub-menu .sub-menu li:only-child a {
  padding: calc(12.5px - 0.1em) 20px calc(25px - 0.1em);
}

/* SNS */
.p-drawer-menu__sns {
  padding: 30px 20px;
}


/* ダークカラー */
.is-header-type--dark .p-drawer-menu {
  background: #000;
}

.is-header-type--dark .p-drawer-menu a {
  color: #fff;
  border-top: 1px solid #333;
}

.is-header-type--dark .p-drawer-menu .p-drawer-menu__member-list li+li a {
  border-left: 1px solid #333;
}

.is-header-type--dark .p-drawer-menu .p-drawer-menu__nav {
  border-bottom: 1px solid #333;
}

.is-header-type--dark .p-drawer-menu .p-drawer-menu__nav ul a {
  border: none;
}

.is-header-type--dark .p-drawer-menu .p-drawer-menu-toggle-button:before {
  color: #fff;
}

.is-header-type--dark .p-drawer-menu .p-menu-button--close span {
  background: rgba(255, 255, 255, 0.3);
}

.is-header-type--dark .p-drawer-menu .p-menu-button--close span:before {
  background: #fff;
}

.is-header-type--dark .p-drawer-menu .p-drawer-search-form {
  background: #ffffff;
}

/* ライトカラー */
.is-header-type--light .p-drawer-menu {
  background: #fff;
}

.is-header-type--light .p-drawer-menu a {
  color: #000;
}

.is-header-type--light .p-drawer-menu .p-drawer-menu__member-list li+li a {
  border-left: 1px solid #ddd;
}

.is-header-type--light .p-drawer-menu .p-drawer-menu__nav {
  border-bottom: 1px solid #ddd;
}

.is-header-type--light .p-drawer-menu .p-drawer-menu__nav a {
  border-top: 1px solid #ddd;
}

.is-header-type--light .p-drawer-menu .p-drawer-menu__nav ul a {
  color: #fff;
  border: none;
}

.is-header-type--light .p-drawer-menu .p-drawer-menu-toggle-button:before {
  color: #000;
}

.is-header-type--light .p-drawer-menu .p-menu-button--close span {
  background: rgba(0, 0, 0, 0.3);
}

.is-header-type--light .p-drawer-menu .p-menu-button--close span:before {
  background: #000;
}

.is-header-type--light .p-drawer-menu .p-drawer-search-form {
  background: #eeeeee;
}

/* ----------------------------------------------------------------------
  Project - header message
---------------------------------------------------------------------- */

.p-header-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 50px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 1em 20px;
}

.p-header-message__label {
  display: block;
  color: inherit;
  line-height: 1.4;
  margin: -0.2em 0;
  padding-top: 1px;
}

a.p-header-message__label:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .p-header-message {
    min-height: 40px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------------------
  Project - return top button
---------------------------------------------------------------------- */

/* ページ上部へ戻るボタン */
.p-return-top-button-wrapper {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 99;
}

.p-return-top-button {
  display: block;
  width: 65px;
  height: 65px;
  padding: 0;
  margin-left: auto;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.p-return-top-button:before {
  content: '\e911';
  font-family: 'design_plus';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  transition: none;
}

.p-return-top-button.is-active {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .p-return-top-button:hover {
    color: rgba(0, 0, 0, 0.4);
  }
}

@media (max-width:767px) {
  .p-return-top-button-wrapper {
    right: 15px;
    bottom: 25px;
  }

  .p-return-top-button {
    width: 50px;
    height: 50px;
    font-size: 11px;
  }

  .p-footer-bar~.p-return-top-button-wrapper {
    bottom: 75px;
  }

  .p-review-footer-bar~.p-return-top-button-wrapper {
    bottom: 75px;
  }

  /* ドロワー対策 */
  html.show-drawer .p-return-top-button-wrapper .p-return-top-button {
    opacity: 0;
    transition: none;
  }
}


/* ----------------------------------------------------------------------
  Project - Page Header
---------------------------------------------------------------------- */

/* ページヘッダー */
.p-page-header {
  background: #333;
  overflow: hidden;
  position: relative;
}

.p-page-header__inner {
  position: relative;
  height: 100%;
  color: #fff;
  text-align: center;
}

.p-page-header__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.p-page-header__headline {
  font-size: 32px;
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-page-header__description {
  font-size: 16px;
  line-height: 2.4;
  margin: -0.7em 0;
}

.p-page-header__headline+.p-page-header__description {
  margin-top: calc(40px - 0.7em);
}

.p-page-header__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: #000;
}

.p-page-header__image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

*+.p-page-header__search {
  margin-top: 40px;
}

.p-page-header--simple {
  padding-top: 80px;
  text-align: center;
}

@media not all and (max-width: 767px) {
  .p-page-header {
    height: 550px;
  }

  .l-header+.l-container .p-page-header {
    height: 420px;
  }
}

@media (max-width: 767px) {
  .p-page-header {
    height: 240px;
  }

  .p-page-header__headline {
    font-size: 22px;
  }

  .p-page-header__description {
    font-size: 14px;
    line-height: 2;
    margin: -0.5em;
  }

  .p-page-header__headline+.p-page-header__description {
    margin-top: calc(20px - 0.5em);
  }

  *+.p-page-header__search {
    margin-top: 20px;
  }

  .p-page-header--simple {
    padding-top: 40px;
    text-align: center;
  }
}


/* ----------------------------------------------------------------------
  Project - POST
---------------------------------------------------------------------- */

/* 投稿アーカイブ */
.p-arvhive--post-wrap {
  background: #fff;
  padding-bottom: 40px;
}

.p-archive--post {}

.p-archive--post-item {
  width: 50%;
  position: relative;
}

.p-archive--post-item__image-bg {
  width: 100%;
  height: 370px;
}

.p-archive--post-item__content {
  width: 69%;
  padding: 35px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
}

.p-archive--post-item__category {
  position: absolute;
  left: 0;
  top: -50px;
}

.p-archive--post-item__title {
  font-size: 18px;
  line-height: 1.6;
  height: 3.2em;
  margin: -0.3em 0;
}

.p-archive--post-item__date {
  margin-top: 15px;
}

@media not all and (max-width:767px) {
  .p-archive--post-item:nth-of-type(n+3) {
    margin-top: 40px;
  }
}

@media (max-width:767px) {
  .p-archive--post-item {
    width: 50%;
  }

  .p-archive--post-item:nth-of-type(n+3) {
    margin-top: 20px;
  }

  .p-archive--post-item__image-bg {
    height: 220px;
  }

  .p-archive--post-item__content {
    width: calc(100% - 60px);
    padding: 30px;
  }

  .p-archive--post-item__title {
    font-size: 16px;
  }

  .p-archive--post-item__date {
    margin-top: 10px;
  }

  .p-archive--post-item__category {
    top: -40px;
  }
}

@media (max-width:599px) {
  .p-archive--post-item {
    width: 100%;
  }

  *+.p-archive--post-item {
    margin-top: 20px;
  }
}

/*カテゴリー一覧*/
#blog_category_sort_wrap { width:100%; margin:0px auto 80px; position:relative; text-align:center; }
#archive_headline + #archive_blog #blog_category_sort_wrap { margin-top:100px; }
#blog_category_sort:after { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; right:0; top:0; z-index:2; }
#blog_category_sort:before { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; left:0; top:0; z-index:2; }
#blog_category_sort .item { margin:0; width:calc(25% + 1px); }
#blog_category_sort.small_size .item { flex: 1 1 0%; width:auto; }
#blog_category_sort .item a { font-size:16px; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:0 20px; position:relative; }
#blog_category_sort .item a p { line-height:1.4; max-height:2.8em; overflow:hidden; visibility:visible; }
#blog_category_sort .item a span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
#blog_category_sort .item a:after { content:''; display:block; width:1px; height:100%; position:absolute; right:0; top:0; background:#ddd; }
#blog_category_sort .item.active_menu { position:relative; z-index:5; }
#blog_category_sort .item.active_menu a { background:rgba(var(--tcd-accent-color, 0, 0, 0), 1); border-color:rgba(var(--tcd-accent-color, 0, 0, 0), 1) !important; color:#fff; position:relative; pointer-events:none; }
/* 選択されたカテゴリーの背景色を変更 */
.item.active_category { background-color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);border-color:rgba(var(--tcd-accent-color, 0, 0, 0), 1) !important;}
.item.active_category a { color: #fff;}
#blog_category_sort .item.active_menu a:after { background:#eee; }
#blog_category_sort_wrap .swiper-button-next::after, #blog_category_sort_wrap .swiper-button-prev::after { color:#000; font-size: 20px;}
#blog_category_sort_wrap .swiper-button-prev { left:-50px; right:auto; top:50%; z-index:10; color: #000; }
#blog_category_sort_wrap .swiper-button-next { left:auto; right:-50px; top:50%; z-index:10; color: #000;}
@media(hover: hover) {
  #blog_category_sort_wrap .swiper-button-next:hover:before, #blog_category_sort_wrap .swiper-button-prev:hover:before { color:#aaa; }
  #blog_category_sort .item a:hover { color:#999; }
}
body.category .c-breadcrumb{  margin-bottom: 0; border-bottom: 1px solid #ddd; }

#blog_category_sort_wrap .category_center { justify-content: center;}
#blog_category_sort_wrap .item_width { flex: none !important; width: calc(100% / 4) !important;}
#blog_category_sort_wrap .small_size::before { display: none;}
#blog_category_sort_wrap .small_size::after { display: none;}
#blog_category_sort_wrap .category_center .item:first-child { border-left: 1px solid #ddd;}
#blog_category_sort_wrap .mobile_button_width { justify-content: center;}


@media screen and (max-width:1130px) {
  #archive_blog { width:auto; margin:0 0 150px; overflow:hidden; }
    #blog_category_sort_wrap { width:auto; margin:10px 100px 100px; }
    #blog_category_sort { overflow:hidden; }
    #blog_category_sort:after, #blog_category_sort:before { display:none !important; }
    #blog_category_sort_wrap .swiper-nav-button { display:none; }
    #blog_category_sort .item { width:233px ; }
    #blog_category_sort.small_size .item { flex: 0 0 auto; width:auto; }
    #blog_category_sort .item a { border-right:1px solid #ddd; }
    #blog_category_sort .item:first-of-type a { border-left:1px solid #ddd; }
    #blog_category_sort .item a:after { display:none; }
    body:not(.home):not(.single-post) .style_list { width:auto; margin:0 100px -30px; }
}
@media screen and (max-width:1000px) {
    #blog_category_sort_wrap { width:auto; margin:10px 50px 100px; }
}
@media screen and (max-width:800px) {
    #blog_category_sort_wrap { width:auto; margin:0 auto 40px; }
  #archive_headline + #archive_style #blog_category_sort_wrap { margin-top:35px; }
#blog_category_sort .mobile_item_width { width: calc( 100% / 2) !important;}
    #blog_category_sort .item { width:200px; }
    #blog_category_sort .item a { height:50px; line-height:50px; font-size:14px; }
}
@media screen and (max-width:600px) {
#blog_category_sort .mobile_item_width { width: calc( 100% / 2) !important;}
    #blog_category_sort .item { width:160px; }
}




/* 著者アーカイブ */
.archive.author .p-author-profile {
  background: #fff;
}

@media not all and (max-width:767px) {
  .archive.author .p-author-profile {
    margin-bottom: 80px;
  }

  .archive.author .p-author-profile__image {
    width: 140px;
    height: 140px;
  }

  .archive.author .p-author-profile__content {
    width: calc(100% - 140px);
  }

  .archive.author .p-author-profile__title {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .archive.author .p-author-profile__icons {
    margin-top: 20px;
  }
}

@media (max-width:767px) {
  .archive.author .p-author-profile {
    padding: 30px;
    margin-bottom: 20px;
    margin-top: -20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .archive.author .p-author-profile__image {
    width: 110px;
    height: 110px;
  }

  .archive.author .p-author-profile__content {
    padding: 20px 0 0;
    width: 100%;
  }

  .archive.author .p-author-profile__title {
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
  }

  .archive.author .p-author-profile__desc {
    font-size: 14px;
    max-height: none;
  }

  .archive.author .p-author-profile__desc>span {
    -webkit-line-clamp: unset;
  }

  .archive.author .p-author-profile__icons {
    margin-top: 20px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}


/* ----------------------------------------------------------------------
  Project - single post
---------------------------------------------------------------------- */

/* 全体 */
.p-single {
  background: #fff;
  padding: 40px;
}

@media (max-width:767px) {
  .p-single {
    padding: 30px 20px 40px;
    margin: 0 -20px;
  }
}

/* ヘッダー */
.p-single__header {
  position: relative;
}

.p-single__header-content {}

.p-single__header-title {
  font-size: 24px;
  line-height: 1.6;
  margin: -0.3em 0;
  word-wrap: break-word;
}

.p-single__header-meta {
  margin-top: 20px;
}

*+.p-single__header-meta__item {
  margin-left: 20px;
}

.p-single__header-image {
  margin: 40px -40px 0;
}

.p-single__header-image img {
  width: 100%;
}

.p-single__header-category {
  margin-left: 40px;
}

.p-single__header-caption {
  font-size: 16px;
  line-height: 1.8;
  margin: calc(20px - 0.4em) 0 -0.4em;
}

.p-single__header-image~.p-single__header-content {
  margin-top: -1px;
  padding-top: 40px;
}

@media (max-width:767px) {
  .p-single__header {}

  .p-single__header-content {}

  .p-single__header-meta {
    margin-top: 15px;
  }

  .p-single__header-image {
    margin: 30px -20px 0;
  }

  *+.p-single__header-meta__item {
    margin-left: 10px;
  }

  .p-single__header-title {
    font-size: 20px;
    line-height: 1.4;
    margin: -0.2em 0;
  }

  .p-single__header-category {
    margin-left: 0;
    width: 140px;
    padding: 0 20px;
  }

  .p-single__header-caption {
    font-size: 14px;
    margin: calc(15px - 0.4em) 0 -0.4em;
  }

  .p-single__header-image~.p-single__header-content {
    margin-top: 0;
    padding-top: 20px;
  }

}

/* 本文 */
*+.p-single__content {
  margin-top: 40px;
}

@media (max-width:767px) {
  *+.p-single__content {
    margin-top: 40px;
  }
}


/* コピーボタン */
.p-copy-title-url {
  text-align: center;
}

*+.p-copy-title-url {
  margin-top: 40px;
}

.p-copy-title-url__button {
  font-size: 14px;
  background: #fff;
  border: 3px solid #ccc;
  cursor: pointer;
  line-height: 54px;
  min-width: 300px;
  padding: 0 15px;
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.p-copy-title-url__button.copied {
  background: #ccc;
  color: #fff;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .p-copy-title-url__button:hover {
    color: rgba(0, 0, 0, 0.5) !important;
  }
}

@media (max-width:767px) {
  *+.p-copy-title-url {
    margin-top: 40px;
  }

  .p-copy-title-url__button {
    border-width: 2px;
    font-size: 12px;
    line-height: 46px;
    min-width: 250px;
  }
}

/* 記事下タグクラウド */
.p-single-tagcloud {
  margin-top: 40px;
}

.p-single-tagcloud__list {
  margin: -6px 0 0 -6px;
}

.p-single-tagcloud__item {
  margin: 6px 0 0 6px;
}

.p-single-tagcloud__link {
  display: block;
  line-height: 35px;
  height: 35px;
  padding: 0px 12px;
  font-size: 12px;
  background: #eeeeee;
  border-radius: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .p-single-tagcloud__link:hover {
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
    color: #fff;
  }
}

@media (max-width: 767px) {
  .p-single-tagcloud {
    margin-top: 40px;
  }
}


/* プロフィール */
.p-author-profile {
  margin: 0;
  position: relative;
  padding: 40px;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
}

*+.p-author-profile {
  margin-top: 40px;
}

.p-author-profile__image {
  display: block;
  width: 110px;
  height: 110px;
  border-radius: 100%;
  overflow: hidden;
}

.p-author-profile__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-author-profile__content {
  width: calc(100% - 110px);
  padding-left: 40px;
}

.p-author-profile__title {
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0 calc(15px - 0.3em);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}

.p-author-profile__desc {
  font-size: 14px;
  line-height: 1.8;
  margin: -0.4em 0;
  max-height: 3.6em;
}

.p-author-profile__icons {
  margin-top: 15px;
}

.p-author-profile__icons li:not(:last-of-type) {
  margin-right: 0.5em;
}

@media (hover: hover) and (pointer: fine) {
  .p-author-profile__title a:hover {
    color: rgba(0, 0, 0, 0.5);
  }

  .p-author-profile__title a:hover span {
    border-color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width:767px) {
  .p-author-profile {
    padding: 20px;
  }

  .p-author-profile__image {
    width: 90px;
    height: 90px;
  }

  .p-author-profile__content {
    width: calc(100% - 90px);
    padding-left: 20px;
  }

  .p-author-profile__title {
    font-size: 16px;
  }

  .p-author-profile__desc {
    font-size: 12px;
  }

  .p-author-profile .c-sns-icons--type1 {
    font-size: 16px;
  }
}

/* 次の記事・前の記事 */
.p-page-nav {
  margin-top: 40px;
  font-size: 16px;
}

.p-page-nav__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-page-nav__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 50%;
  height: 110px;
  padding: 0 30px;
  color: #000;
  border: 1px solid #ddd;
}

.p-page-nav__item--prev {
  padding-left: 30px;
}

.p-page-nav__item--next {
  padding-right: 30px;
}

.p-page-nav__item--prev:before {
  content: "\e90f";
  color: inherit;
  font-family: "design_plus";
  margin-right: 30px;
  transition: none;
}

.p-page-nav__item--next:after {
  content: "\e910";
  color: inherit;
  font-family: "design_plus";
  margin-left: 30px;
  transition: none;
}

.p-page-nav__item--next:only-child {
  margin-left: auto;
  border-left: 1px solid #ddd;
}

.p-page-nav__item--prev+.p-page-nav__item--next {
  border-left: none;
}

.p-page-nav__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.7;
  max-height: 3.4em;
  width: 100%;
}

.p-page-nav__title-sp {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .p-page-nav__item:hover {
    color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width: 767px) {
  .p-page-nav {
    margin-top: 40px;
    font-size: 12px;
  }

  .p-page-nav__item {
    height: 50px;
    padding: 0 15px;
    border: 1px solid #ddd;
  }

  .p-page-nav__item--prev {
    padding-right: 0;
  }

  .p-page-nav__item--next {
    padding-left: 0;
  }

  .p-page-nav__title-pc {
    display: none;
  }

  .p-page-nav__title-sp {
    display: block;
    width: 100%;
    text-align: center;
  }

  .p-page-nav__item--prev:before,
  .p-page-nav__item--next:after {
    margin: 0;
  }
}

/* 追加コンテンツ */
*+.p-single-banner {
  margin-top: 40px;
}

@media (max-width: 767px) {
  *+.p-single-banner {
    margin-top: 40px;
  }
}

/* 関連記事 */
.p-related-post {
  margin-top: 40px;
}

.p-related-post .p-archive--post-item {
  width: 50%;
  margin-top: -1px;
}

.p-related-post .p-archive--post-item__image-bg {
  height: 220px;
}

.p-related-post .p-archive--post-item__content {
  position: relative;
  width: 100%;
  transform: none;
  left: 0;
  padding: 30px;
  border: 1px solid #ddd;
  border-top: none;
}

.p-related-post .p-archive--post-item__category {
  margin-left: 30px;
}

.p-related-post .p-archive--post-item__title {
  font-size: 16px;
}

.p-related-post .p-archive--post-item:nth-child(2n) .p-archive--post-item__content {
  border-left: none;
}

@media (max-width: 767px) {
  .p-related-post {
    width: calc(100% + 40px);
    margin: 40px 0 -41px -20px;
  }

  .p-related-post .p-archive--post-item {}

  .p-related-post .p-archive--post-item__image-bg {
    height: 130px;
  }

  .p-related-post .p-archive--post-item__content {
    padding: 20px;
  }

  .p-related-post .p-archive--post-item__category {
    margin-left: 20px;
  }

  .p-related-post .p-archive--post-item__title {
    font-size: 14px;
    line-height: 1.4;
    margin: -0.2em 0;
    height: 4.2em;
  }

  .p-related-post .p-archive--post-item__title>span {
    -webkit-line-clamp: 3;
  }

  .p-related-post .p-archive--post-item:nth-child(2n) .p-archive--post-item__content {
    border-right: none;
  }

  .p-related-post .p-archive--post-item:nth-child(2n-1) .p-archive--post-item__content {
    border-left: none;
  }
}

/* コメント */
.p-single-comment {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .p-single-comment {
    margin-top: 40px;
  }

  .p-related-post+.p-single-comment {
    margin-top: 80px;
  }
}


/* ----------------------------------------------------------------------
  Project - NEWS
---------------------------------------------------------------------- */

.p-archive--news {}

.p-archive--news-item {
  width: 100%;
  border: 1px solid #ddd;
  margin-top: -1px;
}

.p-archive--news-item__link {
  width: 100%;
  padding: 35px;
}

.p-archive--news-item__image {
  width: 210px;
  height: 130px;
}

.p-archive--news-item__image-bg {
  width: 100%;
  height: 100%;
}

.p-archive--news-item__content {
  width: 100%;
}

.p-archive--news-item__date {
  margin-bottom: 15px;
}

.p-archive--news-item__title {
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0;
  max-height: 1.6em;
}

.p-archive--news-item__image+.p-archive--news-item__content {
  width: calc(100% - 210px);
  padding-left: 40px;
}

.p-archive--news-item__image+.p-archive--news-item__content .p-archive--news-item__title {
  max-height: 3.2em;
}

.p-archive--news-item__image+.p-archive--news-item__content .p-archive--news-item__title span {
  -webkit-line-clamp: 2;
}

@media (max-width: 767px) {
  .p-archive--news-item__link {
    padding: 25px;
  }

  .p-archive--news-item__title {
    font-size: 16px;
  }

  .p-archive--news-item__image+.p-archive--news-item__content {
    padding-left: 25px;
  }
}

@media (max-width: 599px) {
  .p-archive--news-item__image {
    width: 100%;
    height: 170px;
  }

  .p-archive--news-item__image+.p-archive--news-item__content {
    width: 100%;
    padding: 20px 0 0;
  }
}


/* ----------------------------------------------------------------------
  Project - single news
---------------------------------------------------------------------- */

/* 新着記事 */
.p-recent-news {
  margin-top: 40px;
}

.p-recent-news__list {}

@media (max-width: 599px) {
  .p-recent-news .p-archive--news-item__link {
    padding: 20px;
  }

  .p-recent-news .p-archive--news-item__image {
    width: 80px;
    height: 80px;
  }

  .p-recent-news .p-archive--news-item__title {
    font-size: 14px;
    line-height: 1.8;
    max-height: 3.6em;
    margin: -0.4em 0;
  }

  .p-recent-news .p-archive--news-item__image+.p-archive--news-item__content {
    width: calc(100% - 80px);
    padding: 0 0 0 15px;
  }
}


/* ----------------------------------------------------------------------
  Project - Review
---------------------------------------------------------------------- */

/* ランキングラベル */
.p-ranking-label {
  display: block;
  overflow: hidden;
  height: 45px;
  position: relative;
  font-weight: 600;
  font-size: 16px;
  width: 40px;
}

.p-ranking-label__number {
  width: 100%;
  height: 35px;
  position: relative;
  z-index: 1;
  color: #000;
  background: #eeeeee;
  padding-top: 3px;
  font-family: 'Arial';
}

.p-ranking-label:before,
.p-ranking-label:after {
  content: '';
  position: absolute;
  width: 23px;
  height: 23px;
  background: #eeeeee;
  bottom: 4px;
}

.p-ranking-label:before {
  transform: rotate(160deg);
  left: -5px;
}

.p-ranking-label:after {
  transform: rotate(-160deg);
  right: -5px;
}

.p-ranking-label--1:before,
.p-ranking-label--1:after,
.p-ranking-label--1 .p-ranking-label__number {
  color: #fff;
  background: var(--tcd-review-ranking1-color, #b28c08);
}

.p-ranking-label--2:before,
.p-ranking-label--2:after,
.p-ranking-label--2 .p-ranking-label__number {
  color: #fff;
  background: var(--tcd-review-ranking2-color, #8f9396);
}

.p-ranking-label--3:before,
.p-ranking-label--3:after,
.p-ranking-label--3 .p-ranking-label__number {
  color: #fff;
  background: var(--tcd-review-ranking3-color, #7a4905);
}

.p-ranking-label--PR {
  font-weight: normal;
  font-size: 14px;
}

@media (max-width: 767px) {
  .p-ranking-label {
    width: 35px;
    height: 40px;
    font-size: 14px;
  }

  .p-ranking-label__number {
    height: 33px;
    padding-top: 2px;
  }

  .p-ranking-label:before,
  .p-ranking-label:after {
    width: 20px;
    height: 20px;
    bottom: 3px;
  }

  .p-ranking-label:before {
    transform: rotate(160deg);
    left: -4px;
  }

  .p-ranking-label:after {
    transform: rotate(-160deg);
    right: -4px;
  }
}


/* レビューカテゴリー */
.p-review-category {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100px;
  height: 50px;
  padding: 0 1em;
  font-size: 14px;
  line-height: 1.6;
  color: #000;
  background: #fff;
  z-index: 1;
  transition: color 0.3s ease;
}

.p-review-category--round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 100px;
  height: 30px;
  padding: 0 15px;
  margin-left: -1px;
  font-size: 12px;
  line-height: 1.6;
  color: #000;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50px;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-review-category:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }

  .p-review-category--round:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media (max-width: 767px) {
  .p-review-category {
    font-size: 12px;
    height: 40px;
  }
}


/* スターレビュー */
.p-star-review {
  font-size: 16px;
  color: #bababa;
}

.p-star-review__icon {
  position: relative;
}

.p-star-review__icon+.p-star-review__icon {
  margin-left: -0.1em;
}

.p-star-review__icon.is-active {}

.p-star-review__icon.is-active:before {
  content: '\e838';
  position: absolute;
  inset: 0;
  margin: auto;
  color: var(--tcd-review-star-color, #ff7f00);
}

.p-star-review__icon.is-last:before {
  clip-path: inset(0 50% 0 0);
}


.p-star-review__total {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0 0 -2px 5px;
}

/* クチコミ数 */
.p-review-counts {
  color: #999;
}

.p-review-counts__icon {
  font-size: 12px;
}

.p-review-counts__number {
  font-size: 14px;
  margin-left: 5px;
}


/* ----------------------------------------------------------------------
  Project - Review header
---------------------------------------------------------------------- */

/* ヘッダー */
.p-single--review-header {
  margin-bottom: 20px;
}

.p-single--review-header__contents {}

.p-single--review-header__info {
  width: 100%;
}

.p-single--review-header__rank+.p-single--review-header__info {
  width: calc(100% - 100px);
}

.p-single--review-header__rank {
  width: 100px;
  min-width: 100px;
  padding-right: 35px;
}

.p-single--review-header__rank-inner {
  margin-top: -15px;
  text-align: center;
}

.p-single__header.is-hide .p-single--review-header__rank-inner {
  margin-top: 0;
}

.p-single--review-header__rank .p-ranking-label {
  margin: 0 auto;
}

.p-single--review-header__desc {
  font-size: 12px;
  line-height: 1.5;
  margin: calc(10px - 0.25em) 0 -0.25em;
}

.p-single--review-header__category-top {
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  .p-single--review-header__rank {
    width: 70px;
    min-width: 70px;
    padding-right: 15px;
  }

  .p-single--review-header__rank-inner {
    margin-top: -10px;
  }

  .p-single--review-header__desc {
    font-size: 10px;
  }

  .p-single__header.is-hide .p-single--review-header__rank-inner {
    margin-top: 0;
  }
}

.p-single--review-header__meta {
  margin-top: 15px;
}

*+.p-single--review-header__meta-item {
  margin-left: 10px;
}

@media (max-width: 767px) {
  .p-single--review {
    padding-top: 20px;
  }

  .p-single--review-header {}

  .p-single--review-header__rank+.p-single--review-header__info {
    width: calc(100% - 70px);
  }

  .p-single--review-header__contents {
    margin-top: 10px;
  }

  .p-single--review-header__meta {
    margin-top: 10px;
  }

  .p-single--review-header__meta-item .p-review-counts {
    margin-top: 2px;
  }
}

/* メディア */
.p-single--review-header__media {
  margin-top: 40px;
  position: relative;
}

/* ギャラリー */
.p-single--review-header__images {}

.p-single--review-header__images-main {
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

.p-single--review-header__images img {
  width: 100%;
}

.p-single--review-header__images-sub {}

.p-single--review-header__images-sub__list {
  margin: 0 0 0 -10px;
}

.p-single--review-header__images-sub__item {
  cursor: pointer;
  width: calc(100% / 5 - 10px);
  height: 85px;
  margin: 10px 0 0 10px;
  transition: opacity 0.2s ease;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

.p-single--review-header__images-sub__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-single--review-header__images-sub__item.is-active {
  pointer-events: none;
  opacity: 0.5;
}

@media (hover: hover) and (pointer: fine) {
  .p-single--review-header__images-sub__item:hover {
    opacity: 0.5;
  }
}

/* ビデオ */
.p-single--review-header__video {
  width: 100%;
  max-width: 100%;
  background: #333;
}

.p-single--review-header__video-bg {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* yottube */
.p-single--review-header__youtube {
  position: relative;
  padding-top: 56.25%;
  background: #333;
}

.p-single--review-header__youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media not all and (max-width: 767px) {
  .p-single--review-header__images-sub__list {
    overflow: initial;
  }
}

@media (max-width: 767px) {
  .p-single--review-header__media {
    width: calc(100% + 40px);
    margin: 30px 0 0 -20px;
  }

  .p-single--review-header__images-sub__list {
    margin: 0;
  }

  .p-single--review-header__images-sub__item {
    width: 95px;
    min-width: 95px;
    height: 60px;
    margin: 8px 0 0 8px;
  }

  .p-single--review-header__images-sub__list>*:last-child:after {
    width: 8px;
  }
}

/* テーブル */
.p-single--review-table {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 40px;
  border: 1px solid #ddd;
}

.p-single--review-table__wrapper {}

.p-single--review-table__body {}

.p-single--review-table__item {}

*+.p-single--review-table__item {
  border-top: 1px solid #ddd;
}

.p-single--review-table__cell {
  padding: calc(20px - 0.3em) 20px;
}

.p-single--review-table__cell-left {
  font-weight: normal;
  width: 25%;
  text-align: center;
  background: #f5f5f5;
  border-right: 1px solid #ddd;
  vertical-align: middle;
}

.p-single--review-table__cell-right {
  width: 75%;
}

.p-single--review-table__cell>span>a {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

.p-single--review-table__cell>span>a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .p-single--review-table {
    font-size: 14px;
    overflow: auto hidden;
    white-space: nowrap;
  }

  .p-single--review-table__cell {
    padding: calc(15px - 0.3em) 15px;
  }
}

/* タグクラウド */
.p-single--review-tag-wrapper {
  padding-top: 40px;
}

.p-single--review-tag {
  margin: -5px 0px 0px -5px;
}

.p-single--review-tag__item {
  margin: 5px 0 0 5px;
}

.p-single--review-tag__link {
  min-width: 60px;
  height: 30px;
  font-size: 12px;
  padding: 0 10px;
  font-size: 12px;
  background: #eee;
  border-radius: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .p-single--review-tag__link:hover {
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
    color: #fff;
  }
}

/* ボタン */
.p-single--review-button {
  margin-top: 40px;
  position: relative;
  z-index: 1;
}


/* ----------------------------------------------------------------------
  Project - Review form
---------------------------------------------------------------------- */


/* 口コミフォーム */
.p-review-comments-wrapper {
  overflow: hidden;
  margin-top: -1px;
  transition: height 0.5s ease;
}

.p-review-comments-wrapper:not(.is-active) {
  height: 0;
}

.p-review-comments {
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

/* .p-review-comments:not(.is-active) { display:none; } */
.p-review-comments__form {
  border: 1px solid #ddd;
  border-top: none;
}

.p-review-comments__headline {
  font-size: 18px;
  line-height: 1.6;
  padding: calc(20px - 0.3em) 40px;
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

/* 見出し内のキャンセルリンク */
.p-review-comments__headline .cancel-comment-reply-link {
  display: none;
}

.p-review-comments__must-login {
  font-size: 16px;
  text-align: center;
  padding: 40px;
  border: 1px solid #ddd;
  border-top: none;
}

@media (max-width: 767px) {
  .p-review-comments-wrapper {
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  .p-review-comments__form {
    border-left: none;
    border-right: none;
  }

  .p-review-comments__headline {
    font-size: 16px;
    text-align: center;
    padding: calc(15px - 0.3em) 20px;
  }

  .p-review-comments__must-login {
    font-size: 14px;
    padding: 20px;
    border-left: none;
    border-right: none;
  }
}

.p-review-comments__item {
  padding: 40px;
}

*:not(input)+.p-review-comments__item {
  border-top: 1px solid #ddd;
}

.p-review-comments__item__submit {
  margin-bottom: 40px;
  text-align: center;
}

.p-review-comments__item__submit-button {
  border: none;
}

@media (max-width: 767px) {
  .p-review-comments__item {
    padding: 40px 20px;
  }
}

.p-review-comments__item-label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin: -0.3em 0 calc(20px - 0.3em);
}

*+.p-review-comments__item-label {
  margin-top: 40px;
}

.p-review-comments__item-text {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border: none;
  background: #fff;
}

.p-review-comments__item-textarea {
  width: 100%;
  min-height: 260px;
  padding: calc(20px - 0.3em) 20px;
  border: none;
  background: #fff;
  line-height: 1.6;
}

.p-review-comments__item-desc {
  font-size: 14px;
  line-height: 1.8;
  margin: calc(20px - 0.4em) 0 -0.4em;
}

.p-review-comments__item--caution-headline {
  font-size: 16px;
  line-height: 1.6;
  margin: -0.3em 0;
  color: #b20000;
  font-weight: 600;
  text-align: center;
}

.p-review-comments__item--caution-desc {
  font-size: 14px;
  line-height: 2.2;
  margin: -0.6em 0;
}

*+.p-review-comments__item--caution-desc {
  margin-top: calc(20px - 0.3em);
}

.p-review-comments__item--caution-desc a {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

.p-review-comments__item--caution-desc a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .p-review-comments__item-label {
    padding-left: 5px;
  }

  .p-review-comments__item-text {
    padding: 0 15px;
    height: 45px;
  }

  .p-review-comments__item-desc {
    padding-left: 5px;
  }
}

/* スターレビュー */
.p-review-comments__rating-list {}

.p-review-comments__rating-item {
  background: #fff;
}

.p-review-comments__rating-item+.p-review-comments__rating-item {
  margin-top: 20px;
}

.p-review-comments__rating-item__headline {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px 30px;
  line-height: 1.6;
  font-weight: 600;
  font-size: 16px;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-review-comments__rating-item__stars {
  padding: 20px 30px;
  border-top: 1px solid #ddd;
}

.p-review-comments__rating-item__stars-label {
  font-size: 16px;
  line-height: 1.4;
}

.p-review-comments__rating-item__stars-value {
  margin-left: 15px;
}

.p-review-comments__rating-item__stars-input {
  display: block;
  margin: 0;
  width: 1px;
  opacity: 0;
  pointer-events: none;
}

.p-review-comments__rating-item__stars-icon {
  cursor: pointer;
  font-size: 24px;
  color: #bababa;
}

.is-checked>.p-review-comments__rating-item__stars-icon {
  color: var(--tcd-review-star-color, #ff7f00);
}

.p-review-comments__rating-item__stars-input:checked+.p-review-comments__rating-item__stars-icon {
  color: var(--tcd-review-star-color, #ff7f00);
}

.p-review-comments__rating-item__stars-input:checked~.p-review-comments__rating-item__stars-icon~.p-review-comments__rating-item__stars-icon {
  color: #bababa;
}

@media (max-width: 767px) {
  .p-review-comments__rating-item__headline {
    padding: 15px;
  }

  .p-review-comments__rating-item__stars {
    padding: 15px;
  }

  .p-review-comments__rating-item__stars-label {
    font-size: 14px;
    padding-top: 1px;
  }

  .p-review-comments__rating-item__stars-icon {
    font-size: 20px;
  }
}

/* 任意ラベル */
.p-review-comments__item-required,
.p-review-comments__item-any {
  display: inline-block;
  min-width: 50px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  font-size: 12px;
  padding: 0 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: 500;
  border-radius: 25px;
}

.p-review-comments__item-required {
  background: #000;
}

.p-review-comments__item-any {
  background: #7f7f7f;
}

/* コメント通知メッセージ */
.p-comment-message {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  display: none;
  z-index: 101;
  background: #20C563;
  font-size: 14px;
  min-height: 50px;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  font-weight: 600;
}

@media (max-width: 767px) {
  .p-comment-message {
    font-size: 12px;
    min-height: 40px;
  }
}


/* ----------------------------------------------------------------------
  Project - review archive
---------------------------------------------------------------------- */
.p-review-loop-wrapper {
  overflow: hidden;
}

.p-review-loop {
  margin-bottom: -1px;
}

.p-archive--review {}

.p-archive--review-item {
  position: relative;
  background: #fff;
}

.p-archive--review-item__link {
  display: block;
  padding: 40px;
}

.p-archive--review-item__image {
  width: 100%;
  height: 200px;
  position: relative;
}

.p-archive--review-item__image-bg {
  width: 100%;
  height: 100%;
}

.p-archive--review-item__meta {
  margin-top: 15px;
}

*+.p-archive--review-item__meta-item {
  margin-left: 10px;
}

.p-archive--review-item__content {
  padding-top: 40px;
}

.p-archive--review-item__title {
  font-size: 18px;
  line-height: 1.6;
  height: 1.6em;
  margin: -0.3em 0;
}

.p-archive--review-item__desc {
  font-size: 16px;
  line-height: 2;
  height: 4em;
  margin: calc(20px - 0.5em) 0 -0.5em;
}

.p-archive--review-item__rank {
  position: absolute;
  left: 30px;
  top: -20px;
  z-index: 2;
}

.p-archive--review-item__category-wrapper {
  margin-bottom: -20px;
}

.p-archive--review-item__category-wrapper+.p-archive--review-item__content .p-archive--review-item__desc {
  height: 8em;
  margin-top: calc(40px - 0.5em);
}

.p-archive--review-item__category-wrapper+.p-archive--review-item__content .p-archive--review-item__desc>span {
  -webkit-line-clamp: 4;
}

/* ボーダー */
@media not all and (max-width: 767px) {
  .p-review-loop .p-archive--review-item {
    width: calc(100% / 3);
    border-bottom: 1px solid #ddd;
  }

  .p-review-loop .p-archive--review-item:not(:nth-of-type(3n)) {
    border-right: 1px solid #ddd;
  }
}

@media (max-width: 1024px) {
  .p-archive--review-item__link {
    padding: 25px;
  }

  .p-archive--review-item__image {
    height: 170px;
  }

  .p-archive--review-item__content {
    padding-top: 25px;
  }

  .p-archive--review-item__title {
    font-size: 16px;
  }

  .p-archive--review-item__meta {
    margin-top: 10px;
    margin-left: -2px;
  }

  .p-archive--review-item__desc {
    font-size: 14px;
    margin-top: calc(15px - 0.5em);
  }

  .p-archive--review-item__category-wrapper {
    margin: 20px 0 -10px;
  }

  .p-review-loop .p-archive--review-item__category-wrapper {
    margin-top: 0;
  }

  .p-archive--review-item__category-wrapper+.p-archive--review-item__content .p-archive--review-item__desc {
    margin-top: calc(20px - 0.5em);
  }
}

@media (max-width: 767px) {
  .p-review-loop .p-archive--review-item {
    width: calc(100% / 2);
    border-bottom: 1px solid #ddd;
  }

  .p-review-loop .p-archive--review-item:not(:nth-of-type(2n)) {
    border-right: 1px solid #ddd;
  }
}

@media (max-width: 599px) {
  .p-review-loop .p-archive--review-item {
    width: 100%;
    border-bottom: 1px solid #ddd;
    border-right: none !important;
  }
}

/* update */


/* arhive review type2 */
.p-archive--review-rating--type2 {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  white-space: nowrap;
  font-size: 14px;
  color: #999;
}

.p-archive--review-rating--type2__item {
  display: flex;
  gap: 5px;
}

.p-archive--review-rating--type2__item-value {
  color: #000;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .p-archive--review-rating--type2 {
    margin-top: 20px;
  }
}

/* arhive review type3 */
.p-archive--review-rating--type3 {
  margin-top: 25px;
  overflow: hidden;
  margin-bottom: -10px;
}

.p-archive--review-rating--type3__list {
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
  font-size: 12px;
  color: #666;
  background: #ddd;
  margin: -1px -1em;
}

.p-archive--review-rating--type3__item {
  display: flex;
  gap: 3px;
  padding: 1em;
  background: #fff;
}

.p-archive--review-rating--type3__item-label {
  flex: 1;
  min-width: 0;
  line-height: 1.4;
  margin: -0.2em 0;
}

.p-archive--review-rating--type3__item-value {
  color: #000;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .p-archive--review-rating--type3 {
    margin-top: 20px;
  }
}


/* ----------------------------------------------------------------------
  Project - Review single
---------------------------------------------------------------------- */

.p-single--review-rating {
  padding: 40px 40px 40px 0;
  border: 1px solid #ddd;
  margin-top: 40px;
}

.p-single--review-rating__total {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 180px;
}

.p-single--review-rating__total-label {
  font-size: 14px;
  margin-bottom: 10px;
}

.p-single--review-rating__total-number {
  font-size: 40px;
  font-weight: 700;
}

.p-single--review-rating__total .p-star-review {
  margin-top: 10px;
}

.p-single--review-rating__total .p-review-counts {
  margin-top: 10px;
}

.p-single--review-rating__list {
  width: calc(100% - 180px);
}

*+.p-single--review-rating__item {
  margin-top: 40px;
}

.p-single--review-rating__item-info {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-single--review-rating__item-label {
  display: block;
  font-size: 16px;
  padding-left: 10px;
}

.p-single--review-rating__item .p-star-review__total {
  font-size: 16px;
  color: #000;
}

.p-single--review-rating__item-score {
  margin-top: 20px;
  width: 100%;
  height: 8px;
  background: #dddddd;
  border-radius: 8px;
  overflow: hidden;
}

.p-single--review-rating__item-score__bar {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--tcd-review-star-color, #ff7f00);
  transition: width 1s 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.p-single--review-rating__item-score__bar:not(.is-show) {
  width: 0 !important;
}

@media (max-width: 767px) {
  .p-single--review-rating {
    width: calc(100% + 40px);
    padding: 40px 20px;
    margin-left: -20px;
    border-left: none;
    border-right: none;
  }

  .p-single--review-rating__total {
    width: 100%;
  }

  .p-single--review-rating__list {
    width: 100%;
    margin-top: 40px;
  }

  .p-single--review-rating__item-label {
    padding-left: 0;
  }

  .p-single--review-rating__item-score {
    margin-top: 15px;
    height: 7px;
  }
}

@media (max-width: 599px) {
  .p-single--review-rating__list {
    max-width: 300px;
    margin: 40px auto 0;
  }

}


/* コメント一覧 */
.p-single--review-comments {
  margin-top: 40px;
}

.p-single--review-comments__headline {
  font-size: 18px;
  line-height: 1.6;
  color: #fff;
  text-align: center;
  position: relative;
  padding: calc(20px - 0.3em) 40px;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-single--review-comments__headline-count {
  position: absolute;
  top: 0;
  right: 30px;
  height: 100%;
}

.p-single--review-comments__headline-count .p-review-counts {
  color: #fff;
}

.p-single--review-comments__item {
  padding: 40px;
  border: 1px solid #ddd;
  margin-top: -1px;
}

.p-single--review-comments__item-title {
  font-size: 18px;
  line-height: 2;
  margin: -0.5em 0;
}

.p-single--review-comments__item-desc {
  font-size: 14px;
  line-height: 2.2;
  margin: calc(20px - 0.6em) 0 -0.6em;
}

.p-single--review-comments__item-meta {
  font-size: 14px;
  color: #999;
  margin: 10px 0 0 -10px;
}

.p-single--review-comments__item-meta>li {
  margin: 10px 0 0 10px;
}

.p-single--review-comments__item-meta__rating {
  padding-bottom: 1px;
}


.p-single--review-comments__item-like {
  font-size: 14px;
  color: #666666;
  margin: 25px 0 0 -10px;
}

.p-single--review-comments__item-like__button {
  width: 52px;
  height: 28px;
  font-size: 12px;
  background: #f5f5f5 !important;
  border-radius: 5px;
}

.p-single--review-comments__item-like__button.is-liked {
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1) !important;
}

.p-single--review-comments__item-like>* {
  margin: 10px 0 0 10px;
}

.p-single--review-comments__item-like__count {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-single--review-comments__item-like__count-icon {}

.p-single--review-comments__item-like__count-number {
  margin-left: 3px;
}

/* 続きを読む */
.p-single--review-comments__item-readmore {
  cursor: pointer;
  display: inline-block;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  font-size: 14px;
  margin-top: 20px;
}

.p-single--review-comments__item-desc--hide {
  max-height: 4.4em;
  overflow: hidden;
  position: relative;
}

.p-single--review-comments__item-desc--hide:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 5em);
}

.p-single--review-comments__item-desc--hide:not(.is-hide):before {
  content: none;
}

.p-single--review-comments__item-desc--hide:not(.is-hide)+.p-single--review-comments__item-readmore {
  display: none;
  pointer-events: none;
}

.p-single--review-comments__item-desc--hide.is-active {
  max-height: initial;
}

.p-single--review-comments__item-desc--hide.is-active:before {
  display: none;
}

.p-single--review-comments__item-desc--hide.is-active+.p-single--review-comments__item-readmore .p-single--review-comments__item-readmore--open,
.p-single--review-comments__item-desc--hide:not(.is-active)+.p-single--review-comments__item-readmore .p-single--review-comments__item-readmore--close {
  display: none;
}


.p-single--review-comments__no-comments {
  font-size: 16px;
  text-align: center;
  padding: 40px 20px;
  border: 1px solid #ddd;
  border-top: none;
}


@media (max-width: 767px) {
  body.single-review .l-main:only-child:after {
    content: none;
  }

  .l-main:only-child .p-single--review-comments__post {
    margin-bottom: -40px;
  }

  .p-single--review-comments__headline {
    font-size: 16px;
    padding: calc(15px - 0.3em) 40px;
  }

  .p-single--review-comments__headline-count {
    right: 20px;
  }

  .p-single--review-comments__item {
    padding: 30px 25px;
  }

  .p-single--review-comments__item-title {
    font-size: 16px;
  }

  .p-single--review-comments__item-desc {
    margin-top: calc(15px - 0.6em);
  }

  .p-single--review-comments__item-meta {
    margin-top: 5px;
  }

  .p-single--review-comments__item-meta>li {
    font-size: 14px;
  }

  .p-single--review-comments__item-like {
    margin-top: 15px;
  }

  .p-single--review-comments__no-comments {
    font-size: 14px;
  }
}


/* 書き込みボタン */
.p-single--review-write {
  border: 1px solid #ddd;
  height: 60px;
  margin-top: 40px;
  cursor: pointer;
}

.p-single--review-write__icon {}

.p-single--review-write__label {
  font-size: 16px;
  margin-left: 5px;
}

.p-single--review-write * {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-single--review-write:hover * {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

@media (max-width: 767px) {
  .p-single--review-write {
    width: calc(100% + 40px);
    height: 50px;
    margin-left: -20px;
    border-left: none;
    border-right: none;
  }
}


/* update */
/* comment rating */
.p-single--review-comments__item-rating {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
  font-size: 14px;
  color: #999;
  white-space: nowrap;
}

.p-single--review-comments__item-rating__item {
  display: flex;
  gap: 5px;
}

.p-single--review-comments__item-rating__item-value {
  color: #000;
  font-weight: 600;
}


/* ----------------------------------------------------------------------
  Project - Review footer bar
---------------------------------------------------------------------- */
.p-review-footer-bar {
  position: fixed;
  left: 0;
  bottom: 30px;
  width: 100%;
  z-index: 99;
}

.p-review-footer-bar__inner {}

.p-review-footer-bar__list {
  max-width: 100%;
  height: 60px;
  padding: 0 40px;
  border-radius: 60px;
  background: #000;
  overflow: hidden;
}

.p-review-footer-bar__item {
  font-size: 16px;
}

*+.p-review-footer-bar__item {
  margin-left: 35px;
}

.p-review-footer-bar__link {
  color: #fff;
  background: transparent;
  transition: opacity 0.3s ease;
}

.p-review-footer-bar__icon {
  margin-right: 5px;
}

.p-review-footer-bar__icon--share {
  font-size: 24px;
}

.p-review-footer-bar__icon--done {
  font-size: 22px;
  display: none;
}

.p-review-footer-bar__link.is-copied {
  pointer-events: none;
}

.p-review-footer-bar__link.is-copied .p-review-footer-bar__icon--share {
  display: none;
}

.p-review-footer-bar__link.is-copied .p-review-footer-bar__icon--done {
  display: block;
}

.p-review-footer-bar__link:hover {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .p-review-footer-bar {
    bottom: 0;
    background: #000;
  }

  .p-review-footer-bar__list {
    height: 50px;
    padding: 0 20px;
  }

  .p-review-footer-bar__item {
    font-size: 14px;
  }

  *+.p-review-footer-bar__item {
    margin-left: 30px;
  }

  .p-review-footer-bar__space {
    width: 100%;
    height: 50px;
  }
}


/* ----------------------------------------------------------------------
  Project - Review slider
---------------------------------------------------------------------- */

.p-header-review-slider {
  height: 550px;
  overflow: hidden;
}

.p-header-review-slider__inner {
  width: calc(100% + 4px);
  height: 100%;
  margin-left: -2px;
}

.p-header-review-slider__list {}

.p-header-review-slider__item {
  width: calc(100% / 3);
}

.p-header-review-slider__item-link {
  display: block;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.p-header-review-slider__item-category {
  z-index: 4;
}

.p-header-review-slider__item-content {
  position: absolute;
  left: 0;
  bottom: -70px;
  z-index: 3;
  width: 100%;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.p-header-review-slider__item-text {
  padding: 40px;
  color: #fff;
}

.p-header-review-slider__item-title {
  font-size: 20px;
  line-height: 1.6;
  margin: -0.3em;
  height: 1.6em;
  padding-left: 5px;
}

.p-header-review-slider__item-desc {
  font-size: 16px;
  line-height: 2;
  height: 4em;
  margin: calc(20px - 0.5em) 0 -0.5em
}

.p-header-review-slider__item-meta {
  height: 70px;
  padding: 0 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

*+.p-header-review-slider__item-meta__item {
  margin-left: 15px;
}

.p-header-review-slider__item-meta__item .p-star-review__total {
  color: #fff;
}

.p-header-review-slider__item-meta__rank {
  font-size: 14px;
  color: #fff;
}

.p-header-review-slider__item-meta__rating {
  padding-bottom: 2px;
}

.p-header-review-slider__item-meta__comment * {
  color: #fff;
}

.p-header-review-slider__item-meta__rank .p-ranking-label {
  min-width: 25px;
  width: 25px;
  height: 30px;
  font-size: 12px;
  margin-right: 10px;
}

.p-header-review-slider__item-meta__rank .p-ranking-label__number {
  height: 20px;
  padding-top: 5px;
}

.p-header-review-slider__item-meta__rank-desc {
  line-height: 1.4;
  margin: -0.2em 0;
}

.p-header-review-slider__item-overlay {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8));
  background-color: transparent;
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .p-header-review-slider__item-link:hover .p-header-review-slider__item-content {
    transform: translateY(-70px);
  }
}

@media (max-width: 1024px) {
  .p-header-review-slider__item {
    width: calc(100% / 2);
  }
}

@media (max-width: 767px) {
  .p-header-review-slider {
    height: 470px;
  }

  .p-header-review-slider__item-text {
    padding: 20px;
  }

  .p-header-review-slider__item-title {
    font-size: 18px;
  }

  .p-header-review-slider__item-desc {
    font-size: 14px;
    margin-top: calc(15px - 0.5em);
  }

  .p-header-review-slider__item-content {
    bottom: 0;
  }

  .p-header-review-slider__item-meta {
    padding: 0 20px;
    height: 60px;
  }

  *+.p-header-review-slider__item-meta__item {
    margin-left: 10px;
  }

  .p-header-review-slider__item-meta__rank-desc {
    text-align: center;
  }
}

@media (max-width: 599px) {
  .p-header-review-slider__item {
    width: 100%;
  }
}


/* ----------------------------------------------------------------------
  Project - news ticker
---------------------------------------------------------------------- */

.p-news-ticker {
  width: 100%;
  background: #fff;
}

.p-news-ticker+.c-shadow {
  display: block;
}

/* .p-news-ticker:after { content:''; display: block; width:100%; height:3px; background: linear-gradient(rgb(0 0 0 / 10%), transparent); } */
.p-news-ticker__inner {
  height: 60px;
}

.p-news-ticker__list {
  height: 100%;
}

.p-news-ticker__wrapper {
  height: 100%;
}

.p-news-ticker__item {
  height: 100%;
  font-size: 16px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.p-news-ticker__date {
  line-height: 60px;
  font-weight: 600;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-news-ticker__title {
  line-height: 60px;
  margin-left: 15px;
}

.p-news-ticker__link {
  color: #000;
}

.p-news-ticker__item.swiper-slide-active {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .p-news-ticker__link:hover {
    color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width: 767px) {
  .p-news-ticker {}

  .p-news-ticker__inner {
    height: 50px;
  }

  article.p-news-ticker__item {
    font-size: 14px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .p-news-ticker__date {
    line-height: 50px;
  }

  .p-news-ticker__title {
    font-size: 14px;
    line-height: 50px;
    margin-left: 10px;
  }
}

/* ----------------------------------------------------------------------
  Project - front page section
---------------------------------------------------------------------- */

.p-fp-section {
  padding: 80px 0;
}

.p-fp-section--type1 {
  background: #fff;
}

.p-fp-section--type2 {
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
}

.p-fp-section--type1+.p-fp-section--type1:not(.p-fp-banner),
.p-fp-section--type2+.p-fp-section--type2:not(.p-fp-banner) {
  border-top: 1px solid #ddd;
}

.p-fp-section--type1+.p-fp-section--type1.p-fp-banner,
.p-fp-section--type2+.p-fp-section--type2.p-fp-banner {
  margin-top: -80px;
}

.p-fp-section--type1+.p-fp-section-border {
  border-top: 1px solid #ddd;
}

@media (max-width: 767px) {
  .p-fp-section {
    padding: 40px 0;
  }

  .p-fp-section-border {
    display: none;
  }

  .p-fp-section--type1+.p-fp-section--type1.p-fp-banner,
  .p-fp-section--type2+.p-fp-section--type2.p-fp-banner {
    margin-top: -40px;
  }
}

.p-fp-section__header {
  text-align: center;
  padding-bottom: 80px;
}

.p-fp-section__headline {
  font-size: 36px;
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-fp-section__desc {
  font-size: 16px;
  line-height: 2.4;
  margin: -0.7em 0;
}

.p-fp-section__headline+.p-fp-section__desc {
  margin-top: calc(30px - 0.7em);
}

@media (max-width: 767px) {
  .p-fp-section__header {
    padding-bottom: 40px;
  }

  .p-fp-section__headline {
    font-size: 22px;
  }

  .p-fp-section__desc {
    font-size: 14px;
    line-height: 2;
    margin: -0.5em 0;
  }

  .p-fp-section__headline+.p-fp-section__desc {
    margin-top: calc(20px - 0.5em);
  }
}

.p-fp-section__button {
  margin-top: 80px;
  text-align: center;
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .p-fp-section__button {
    margin-top: 40px;
  }
}


/* ----------------------------------------------------------------------
  Project - front page - page type
---------------------------------------------------------------------- */

.p-fp-main-page {}

/* ----------------------------------------------------------------------
  Project - front page banner
---------------------------------------------------------------------- */

.p-fp-banner {}

.p-fp-banner__link {
  display: block;
  width: calc(50% - 20px);
  position: relative;
  height: 200px;
}

.p-fp-banner__link+.p-fp-banner__link {
  margin-left: 40px;
}

.p-fp-banner__content {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
  color: #fff;
  width: 100%;
  padding: 30px;
}

.p-fp-banner__headline {
  font-size: 28px;
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-fp-banner__headline-sub {
  font-size: 16px;
  line-height: 1.5;
  margin: -0.25em 0;
}

*+.p-fp-banner__headline-sub {
  margin-top: calc(15px - 0.25em);
}

.p-fp-banner__overlay {
  background: transparent;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6));
}

.p-fp-banner__image {}

@media not all and (max-width: 767px) {
  .p-fp-banner__link:only-child {
    width: 560px;
  }
}

@media (max-width: 767px) {
  .p-fp-banner__link {
    height: 120px;
    max-width: 400px;
    width: 100%;
  }

  .p-fp-banner__link+.p-fp-banner__link {
    margin: 20px 0 0 0;
  }

  .p-fp-banner__content {
    padding: 20px;
  }

  .p-fp-banner__headline {
    font-size: 24px;
  }

  .p-fp-banner__headline-sub {
    font-size: 14px;
  }

  *+.p-fp-banner__headline-sub {
    margin-top: calc(10px - 0.25em);
  }
}


/* ----------------------------------------------------------------------
  Project - front page review ranking
---------------------------------------------------------------------- */

.p-fp-review-ranking {}

.p-fp-review-ranking__inner {}

.p-fp-review-ranking__list {
  padding-top: 20px;
}

.p-fp-review-ranking .p-archive--review-item {
  width: calc(100% / 3);
  background: #fff;
}

.p-fp-review-ranking *+.p-archive--review-item {
  border-left: 1px solid #ddd;
}

@media (max-width: 1024px) {
  .p-fp-review-ranking__list {
    width: calc(100% + 60px);
    margin-left: -30px;
    padding-left: 30px;
  }

  .p-fp-review-ranking .p-archive--review-item {
    width: 320px;
    min-width: 320px;
  }
}

@media (max-width: 767px) {
  .p-fp-review-ranking__list {
    width: calc(100% + 40px);
    margin-left: -20px;
    padding-left: 20px;
  }
}

.p-fp-review-ranking.p-fp-section--type1 .p-archive--review-item {
  border: 1px solid #ddd;
}

.p-fp-review-ranking.p-fp-section--type1 *+.p-archive--review-item {
  border-left: none;
}


/* ----------------------------------------------------------------------
  Project - front page posts
---------------------------------------------------------------------- */

.p-fp-posts {}

.p-fp-posts__swiper {
  position: relative;
}

.p-fp-posts .p-archive--post-item {
  margin-top: 0;
}

@media (max-width: 1240px) {
  .p-fp-posts__arrow {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-fp-posts .p-archive--post-item__image-bg {
    height: 240px;
  }

  .p-fp-posts__swiper {
    margin: 0 -20px;
  }
}


/* ----------------------------------------------------------------------
  Project - front page review list
---------------------------------------------------------------------- */

.p-fp-review-list {}

.p-fp-review-list__list {
  background: #fff;
}

.p-fp-section--type1 .p-review-loop {
  overflow: initial;
}

@media not all and (max-width: 767px) {
  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(-n+3) {
    border-top: 1px solid #ddd;
  }

  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(3n) {
    border-right: 1px solid #ddd;
  }

  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(3n-2) {
    border-left: 1px solid #ddd;
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(-n+2) {
    border-top: 1px solid #ddd;
  }

  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(2n) {
    border-right: 1px solid #ddd;
  }

  .p-fp-section--type1 .p-review-loop .p-archive--review-item:nth-of-type(2n-1) {
    border-left: 1px solid #ddd;
  }
}

@media (max-width: 599px) {
  .p-fp-section--type1 .p-review-loop .p-archive--review-item {
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
  }

  .p-fp-section--type1 .p-review-loop .p-archive--review-item:first-of-type {
    border-top: 1px solid #ddd;
  }
}


/* ----------------------------------------------------------------------
  Project - front page comment list
---------------------------------------------------------------------- */

.p-fp-review-comments {}

.p-fp-review-comments__list {
  margin: -40px 0 0 -40px;
}

.p-fp-review-comments__item {
  width: calc(50% - 40px);
  background: #fff;
  padding: 0;
  margin: 40px 0 0 40px;
}

.p-fp-section--type2 .p-fp-review-comments__item {
  border-color: #fff;
}

.p-fp-review-comments__item-header {
  width: calc(100% + 2px);
  height: 60px;
  padding: 0 30px;
  margin: -1px 0 0 -1px;
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-fp-review-comments__item-header__title {
  flex: 1;
  font-size: 16px;
  line-height: 1.6;
  height: 1.6em;
  transition: color 0.5s ease;
}

.p-fp-review-comments .p-review-counts {
  flex-shrink: 0;
  flex-grow: 0;
  color: #fff;
  margin-left: 20px;
}

.p-fp-review-comments__item-content {
  padding: 40px;
}

.p-fp-review-comments__item-title {
  height: 2em;
}

.p-fp-review-comments__item-desc {
  height: 4.4em;
}

@media (hover: hover) and (pointer: fine) {
  .p-fp-review-comments__item-header:hover .p-fp-review-comments__item-header__title {
    color: rgba(255, 255, 255, 0.7);
  }
}

@media (max-width: 767px) {
  .p-fp-review-comments__list {
    margin: -20px 0 0 0;
  }

  .p-fp-review-comments__item {
    width: 100%;
    padding: 0;
    margin: 20px 0 0 0;
  }

  .p-fp-review-comments__item-header {
    height: 50px;
    padding: 0 15px;
  }

  .p-fp-review-comments .p-review-counts {
    margin-left: 5px;
  }

  .p-fp-review-comments__item-content {
    padding: 25px;
  }

  .p-fp-review-comments__item-desc {
    height: auto;
    max-height: 6.6em;
  }

  .p-fp-review-comments__item-desc>span {
    -webkit-line-clamp: 3;
  }

  .p-fp-review-comments__item-meta__date {
    display: none;
  }
}

/* ----------------------------------------------------------------------
  Project - front page banner list
---------------------------------------------------------------------- */

.p-fp-review-banner {}

.p-fp-review-banner__list {
  margin: -40px 0 0 -40px;
}

.p-fp-review-banner__item {
  width: calc(100% / 3 - 40px);
  margin: 40px 0 0 40px;
}

.p-fp-review-banner__item-image {
  position: relative;
  height: 180px;
}

.p-fp-review-banner__item-overlay {
  background: transparent;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.6));
}

.p-fp-review-banner__item-image__bg {}

.p-fp-review-banner__item-title {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  color: #fff;
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  padding: calc(30px - 0.4em) 30px;
}

.p-fp-review-banner__item-content {
  padding: 30px;
  background: #fff;
}

.p-fp-section--type1 .p-fp-review-banner__item-content {
  border: 1px solid #ddd;
  border-top: none;
}

.p-fp-review-banner__item-desc {
  font-size: 16px;
  line-height: 2;
  margin: -0.5em 0;
}

@media (max-width: 1024px) {
  .p-fp-review-banner__item {
    width: calc(100% / 2 - 40px);
  }
}

@media (max-width: 767px) {
  .p-fp-review-banner__list {
    margin: -20px 0 0 -20px;
  }

  .p-fp-review-banner__item {
    width: calc(100% / 2 - 20px);
    margin: 20px 0 0 20px;
  }

  .p-fp-review-banner__item-image {
    height: 160px;
  }

  .p-fp-review-banner__item-title {
    font-size: 16px;
    padding: calc(25px - 0.4em) 25px;
  }

  .p-fp-review-banner__item-content {
    padding: 25px;
  }

  .p-fp-review-banner__item-desc {
    font-size: 14px;
  }
}

@media (max-width: 599px) {
  .p-fp-review-banner__item {
    width: calc(100% - 20px);
  }
}

/* ----------------------------------------------------------------------
  Project - front page review tags
---------------------------------------------------------------------- */

.p-fp-review-tags__list {
  margin: -5px 0px 0px -5px;
}

.p-fp-review-tags__item {
  margin: 5px 0px 0px 5px;
}

.p-fp-review-tags__item-link {
  color: #000;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #ddd;
  font-size: 12px;
  min-width: 60px;
  height: 35px;
  padding: 0 10px;
  transition-property: color, background, border-color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-fp-review-tags__item-link:hover {
    color: #fff;
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
    border-color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }
}


/* ----------------------------------------------------------------------
  Project - Page
---------------------------------------------------------------------- */

/* LP */
.p-single--lp--narrow {
  max-width: 850px;
}

.p-single--lp--normal {
  max-width: 1000px;
}

.p-single--lp--wide {}

@media not all and (max-width: 767px) {
  .p-single--lp {
    padding: 80px 50px;
    margin: 0 auto;
  }

  .p-single--lp--narrow {
    padding: 80px 40px;
  }
}

@media (max-width: 767px) {
  .p-single--lp {
    padding: 40px 20px;
    margin-top: -40px;
  }
}

/* FAQ */
.post_content .p-faq-list {
  margin-bottom: 2em;
  background: #fff;
}

.post_content .p-faq-list__item {
  border: 1px solid #ddd;
}

.post_content *+.p-faq-list__item {
  margin-top: -1px;
}

.post_content .p-faq-list__title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  padding: 25px 70px 25px 30px;
  margin: 0 !important;
  cursor: pointer;
  position: relative;
  transition: color 0.4s ease;
}

.post_content .p-faq-list__title-label {
  display: block;
  margin: -0.7em 0;
}

.post_content .p-faq-list__title-icon {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  overflow: hidden;
}

.post_content .p-faq-list__title-icon:before,
.post_content .p-faq-list__title-icon:after {
  content: '';
  display: block;
  width: 1px;
  height: 10px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.post_content .p-faq-list__title-icon:before {
  transition: height 0.3s ease;
}

.post_content .p-faq-list__title-icon:after {
  transform: rotate(90deg);
}

.post_content .p-faq-list__content {
  height: 0;
  overflow: hidden;
  transition: height 0.5s cubic-bezier(0.54, 0.07, 0.38, 0.9);
}

.post_content .p-faq-list__desc {
  font-size: 16px;
  line-height: 2.4;
  border-top: 1px solid #ddd;
  padding: 30px;
}

.post_content .p-faq-list__desc span {
  display: block;
  margin: -0.7em 0;
  transition: opacity 0.7s ease;
  opacity: 0;
}

.post_content .p-faq-list__title.is-active {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.post_content .p-faq-list__title.is-active .p-faq-list__title-icon:before {
  height: 0;
}

.post_content .p-faq-list__title.is-active+.p-faq-list__content span {
  opacity: 1;
  transition: opacity 1s ease;
}

@media (max-width: 767px) {
  .post_content .p-faq-list__title {
    font-size: 14px;
    padding: 17px 45px 17px 20px;
  }

  .post_content .p-faq-list__title-label {
    line-height: 1.6;
    margin: -0.3em 0;
  }

  .post_content .p-faq-list__title-icon {
    right: 20px;
  }

  .post_content .p-faq-list__desc {
    font-size: 14px;
    padding: 20px;
  }
}



/* ----------------------------------------------------------------------
  Project - Ranking
---------------------------------------------------------------------- */


/* カテゴリー */
.p-ranking__categories {}

.p-ranking__categories-list {
  margin: -4px 0 0 -4px;
}

.p-ranking__categories-item {
  width: 100%;
  height: 60px;
  margin: 4px 0 0 4px;
  cursor: pointer;
  position: relative;
  font-size: 16px;
  text-align: center;
  line-height: 1.6;
  font-weight: 600;
}

.p-ranking__categories-item__link,
.p-ranking__categories-item--child-item {
  width: 100%;
  height: 100%;
  background: #F1F1F1;
  padding: 0 20px;
  transition: color 0.2s ease, background 0.2s ease;
}

.p-ranking__categories-item.is-active .p-ranking__categories-item__link,
.p-ranking__categories-item.is-open .p-ranking__categories-item__link,
.p-ranking__categories-item--child-item.is-active {
  color: #fff;
  background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

.p-ranking__categories-item--child {
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  z-index: 3;
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

.p-ranking__categories-item--child-item {
  width: 100%;
  height: 50px;
  color: #000;
  background: #fff;
  padding: 0 20px;
  border: 1px solid #ddd;
  border-top: none;
  font-weight: normal;
}

*+.p-ranking__categories-item--child-item {
  border-top: 1px solid #ddd;
  margin-top: -1px;
}

.p-ranking__categories-item__toggle {
  cursor: pointer;
  display: block;
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

.p-ranking__categories-item__toggle:before,
.p-ranking__categories-item__toggle:after {
  content: '';
  display: block;
  width: 1px;
  height: 10px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: height 0.3s ease, background 0.3s ease, opacity 0.3s ease;
}

.is-active>.p-ranking__categories-item__toggle:before,
.is-active>.p-ranking__categories-item__toggle:after {
  background: #fff;
}

.p-ranking__categories-item__toggle:after {
  transform: rotate(90deg);
}

.is-open>.p-ranking__categories-item__toggle:before {
  height: 0;
}

.is-open>.p-ranking__categories-item__toggle:before,
.is-open>.p-ranking__categories-item__toggle:after {
  background: #fff;
}



@media (hover: hover) and (pointer: fine) {
  .p-ranking__categories-item__link:hover {
    color: #fff;
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }

  .p-ranking__categories-item--child-item:hover {
    color: #fff;
    background: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
  }

  .p-ranking__categories-item__link:hover+.p-ranking__categories-item__toggle:before,
  .p-ranking__categories-item__link:hover+.p-ranking__categories-item__toggle:after {
    background: #fff;
  }

  .p-ranking__categories-item__toggle:hover:before,
  .p-ranking__categories-item__toggle:hover:after {
    opacity: 0.5;
  }
}

@media not all and (max-width: 767px) {
  .p-ranking__categories-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-ranking__categories-item {
    width: calc(100% / 3 - 4px);
  }
}

@media not all and (max-width: 1024px) {
  .p-ranking__categories-item {
    width: calc(100% / 5 - 4px);
  }
}

/* フォームアイテム */
.p-ranking__form-ratings {
  margin-top: 50px;
}

.p-ranking__form-ratings__list {}

.p-ranking__form-ratings__item {
  cursor: pointer;
  font-size: 16px;
  height: 40px;
  padding: 0 25px;
  transition: color 0.3s ease;
}

*+.p-ranking__form-ratings__item {
  border-left: 1px solid #ddd;
}

.p-ranking__form-ratings__item.is-active {
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-ranking__form-ratings__item:hover {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }
}

/* ループ */
.p-ranking__headline {
  font-size: 20px;
  text-align: center;
  line-height: 1.4;
  padding: calc(20px - 0.2em);
  background: #F1F1F1;
  margin-top: 50px;
  position: relative;
  z-index: 2;
}

.p-ranking__list {}

.p-ranking__item {
  opacity: 0;
  border: 1px solid #ddd;
  margin-top: -1px;
}

.p-ranking__item-link {
  padding: 25px 40px 25px 25px;
}

.p-ranking__item-image {
  width: 310px;
  height: 200px;
  position: relative;
}

.p-ranking__item-image-bg {
  width: 100%;
  height: 100%;
}

.p-ranking__item-info {
  width: calc((100% - 310px) / 2);
  height: 200px;
  padding-left: 40px;
}

.p-ranking__item-label {
  margin-bottom: 30px;
}

.p-ranking__item-content {}

.p-ranking__item-title {
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0;
  height: 1.6em;
}

.p-ranking__item-meta {
  margin-top: 15px;
}

.p-ranking__item-meta__label {
  font-size: 14px;
  color: #999;
  padding-top: 2px;
  margin-left: 10px;
}

.p-ranking__item-meta__comments {
  width: 100%;
  margin-top: 15px;
}

.p-ranking__item-desc {
  width: calc((100% - 310px) / 2);
  padding-left: 40px;
  font-size: 16px;
  line-height: 2;
  height: 6em;
  margin: -0.5em 0;
  /* width:calc(100% - 690px); */
}

.p-ranking-animation {
  width: 100%;
}

.p-ranking__item.is-show {
  animation: showAjaxProductItems 0.3s ease 0s forwards;
}

.p-ranking__item_typeb.is-show {
  animation: showAjaxProductItems 0.3s ease 0s forwards;
}

@keyframes showAjaxProductItems {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


@media not all and (max-width: 1240px) {
  .p-ranking__item-desc {
    width: 370px;
  }

  .p-ranking__item-info {
    width: calc(100% - 680px);
  }
}

@media (max-width: 1024px) {
  .p-ranking__item-image {
    width: 260px;
    height: 170px;
  }

  .p-ranking__item-info {
    width: calc((100% - 260px) / 2);
    height: 170px;
    padding-left: 25px;
  }

  .p-ranking__item-desc {
    width: calc((100% - 260px) / 2);
    padding-left: 25px;
  }
}

@media not all and (max-width: 767px) {

  .p-ranking__categories-list {
    overflow: initial;
  }

  .p-ranking__form-ratings {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-ranking__form-ratings__list {
    white-space: nowrap;
  }

  .p-ranking__form-ratings__list_typeb{
    white-space: nowrap;
  }

  .p-ranking__form-ratings__item:first-of-type {
    padding-left: 0;
  }

  .p-ranking__form-ratings__item:last-of-type {
    padding-right: 0;
  }

  .p-ranking__form-ratings__item:last-of-type:after {
    content: none;
  }

  .p-ranking__categories--sp,
  .p-ranking__form-ratings--sp {
    display: none !important;
  }
}

@media (max-width: 767px) {

  .p-ranking {
    margin-top: -40px;
    padding-top: 40px;
  }

  /* カテゴリー */
  .p-ranking__categories {
    margin-left: -20px;
    width: calc(100% + 40px);
  }

  .p-ranking__categories-list {
    margin: 0 0 0 -2px;
  }

  .p-ranking__categories-item {
    margin: 0 0 0 2px;
    min-width: 140px;
    height: 50px;
    font-size: 14px;
  }

  .p-ranking__categories-item:first-of-type {
    margin-left: 20px;
  }

  .p-ranking__categories-item__toggle,
  .p-ranking__categories-item__toggle+.p-ranking__categories-item--child {
    display: none !important;
  }

  /* スマホ用カテゴリーリスト */
  .p-ranking__categories--sp {}

  .p-ranking__categories--sp-list {
    display: none;
    margin: 20px -2px 0 0;
  }

  .p-ranking__categories--sp-list.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-ranking__categories--sp-item {
    font-size: 14px;
    width: 50%;
    height: 50px;
    padding: 0 15px;
    cursor: pointer;
    border: 1px solid #ddd;
    margin: -1px 0 0 -1px;
    transition: color 0.2s ease;
  }

  .p-ranking__categories--sp-item.is-active {
    color: rgba(var(--tcd-hover-color, 0, 0, 0), 1);
  }


  /* レーティング */
  .p-ranking__form-ratings {
    margin-top: 20px;
  }

  .p-ranking__form-ratings__list {
    display: none !important;
  }

  /* セレクトボックス */
  .p-ranking__form-ratings--sp {
    cursor: pointer;
    display: block;
    width: 100%;
    height: 50px;
    position: relative;
  }

  .p-ranking__form-ratings--sp:before {
    content: '\e90e';
    font-family: 'design_plus';
    display: block;
    font-size: 14px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .p-ranking__form-ratings--sp-select {
    width: 100%;
    height: 50px;
    font-size: 14px;
    padding: 0 40px 0 15px;
    border: 1px solid #ddd;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0px;
    cursor: pointer;
  }


  /* ループ */
  .p-ranking__headline {
    font-size: 14px;
    margin-top: 40px;
  }

  .p-ranking__item-image {
    width: 100%;
  }

  .p-ranking__item-info {
    width: 100%;
    height: auto;
    padding: 0;
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .p-ranking__item-content {
    width: calc(100% - 35px);
    padding-left: 20px;
  }

  .p-ranking__item-link {
    padding: 25px;
  }

  .p-ranking__item-label {
    margin-bottom: 20px;
  }

  .p-ranking__item-title {
    font-size: 16px;
  }

  .p-ranking__item-desc {
    width: 100%;
    height: auto;
    max-height: 6em;
    padding: 0;
    margin-top: calc(20px - 0.5em);
    font-size: 14px;
  }

  .p-ranking__item-meta__label {
    font-size: 12px;
  }

}

/* ロードアイコン */
.p-ranking-ajax-loading {
  height: 250px;
}

.p-ranking-ajax-loading.is-loading {
  animation: ajaxButtonAnimation 2s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

.p-ranking-ajax-loading:not(.is-loading) {
  display: none;
}

/* アイコンアニメーション */
.p-ranking-ajax-loading-icon,
.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
  display: block;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: ajaxLoadAnimation 1.8s infinite ease-in-out;
  animation: ajaxLoadAnimation 1.8s infinite ease-in-out;
}

.p-ranking-ajax-loading-icon {
  display: block;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 0.7);
  position: relative;
  top: -1.5em;
  text-indent: -9999em;
  font-size: 10px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
  content: '';
  position: absolute;
  top: 0;
}

.p-ranking-ajax-loading-icon:before {
  left: -2.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.p-ranking-ajax-loading-icon:after {
  left: 2.5em;
}

@keyframes ajaxLoadAnimation {

  0%,
  80%,
  100% {
    box-shadow: 0 1.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 1.5em 0 0;
  }
}

@media (max-width: 767px) {
  .p-ranking-ajax-loading {
    height: 170px;
  }
}


/* 画僧無しデザイン */
.p-ranking-type2__item {}

.p-ranking-type2__item-link {
  padding: 40px;
}

.p-ranking-type2__item-info {
  width: 48%;
  padding-right: 40px;
}

.p-ranking-type2__item-content {
  width: calc(100% - 40px);
  padding-left: 40px;
}

.p-ranking-type2__item-category {
  margin-bottom: 15px;
}

.p-ranking-type2__item-desc {
  width: 52%;
  font-size: 16px;
  line-height: 2;
  height: 6em;
  margin: -0.5em 0;
}

@media (max-width: 767px) {
  .p-ranking-type2__item-link {
    padding: 20px;
  }

  .p-ranking-type2__item-info {
    padding-right: 20px;
  }

  .p-ranking-type2__item-content {
    width: calc(100% - 35px);
    padding-left: 20px;
  }
}

@media (max-width: 599px) {
  .p-ranking-type2__item-info {
    width: 100%;
    padding: 0;
  }

  .p-ranking-type2__item-content {}

  .p-ranking-type2__item-desc {
    width: 100%;
    height: auto;
    max-height: 6em;
    margin-top: calc(20px - 0.5em);
    font-size: 14px;
  }

}


/* ----------------------------------------------------------------------
  Project - page comments list
---------------------------------------------------------------------- */

.p-page-header--comments {
  text-align: center;
}

.p-page-comments {
  margin-top: 80px;
}

.p-page-comments__list {
  background: #fff;
  padding: 40px;
}

.p-page-comments .p-review-counts {
  color: #fff;
}

@media (max-width: 767px) {
  .p-page-comments {
    margin-top: 40px;
  }

  .p-page-comments__list {
    padding: 30px 20px 40px;
    margin: 0 -20px;
  }

  .p-page-comments__pagination {
    margin-bottom: 40px;
  }
}


/* ----------------------------------------------------------------------
  Project - Front cover
---------------------------------------------------------------------- */

.p-front-cover {
  height: 550px;
  background: #333;
  position: relative;
}

.p-front-cover__inner {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  z-index: 3;
}

.p-front-cover__content {
  width: 100%;
  text-align: center;
}

.p-front-cover__headline {
  font-size: 38px;
  line-height: 1.6;
  margin: -0.3em 0;
  color: #fff;
}

.p-front-cover__search {
  background: #f5f5f5;
}

*+.p-front-cover__search {
  margin-top: 40px;
}

.p-front-cover__images {
  width: 100%;
  height: 100%;
}

.p-front-cover__images-wrapper {}

.p-front-cover__images-item {
  background-size: cover !important;
}

.p-fp-slider__bg {
  width: 100%;
  height: 100%;
}

.p-fp-slider__video {}

.p-fp-slider__video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-fp-slider__youtube {
  position: relative;
  overflow: hidden;
  background: #000;
}

.p-fp-slider__youtube-bg:not(.is-ready) {
  opacity: 0;
}

.p-fp-slider__youtube-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: opacity 0.3s ease;
  width: calc(100vh * 16 / 9);
  height: calc(100vw * 9 / 16);
  min-width: 100%;
  min-height: 100%;
}

.p-fp-slider__youtube iframe {}

@media not all and (max-width: 599px) {
  .p-front-cover {
    max-height: 550px;
  }
}

@media (max-width: 767px) {
  .p-front-cover {
    height: 470px;
  }

  .p-front-cover__headline {
    font-size: 24px;
    line-height: 1.4;
    margin: -0.2em 0;
  }

  *+.p-front-cover__search {
    margin-top: 20px;
  }
}

@media (max-width: 599px) {
  .p-header-message~.l-container .p-front-cover {}
}

/* ----------------------------------------------------------------------
  Project - Post slider
---------------------------------------------------------------------- */

.p-header-post-slider {
  width: 100%;
  height: 550px;
  background: #333;
  position: relative;
  overflow: hidden;
}

.p-header-post-slider__inner {
  width: calc(100% + 2px);
  margin-left: -1px;
  height: 100%;
}

.p-header-post-slider__item {
  width: calc(100% / 4);
}

.p-header-post-slider__item-link {
  position: relative;
  height: 100%;
  display: block;
}

.p-header-post-slider__item-category {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
}

.p-header-post-slider__item-content {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  padding: 40px;
}

.p-header-post-slider__item-date {
  margin-top: 15px;
  color: #fff;
}

.p-header-post-slider__item-title {
  color: #fff;
  font-size: 20px;
  line-height: 1.6;
  margin: -0.3em 0;
  height: 3.2em;
}

.p-header-post-slider__item-overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8));
}

.p-header-slider__arrow .c-arrow {
  font-size: 16px;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
}

.p-header-slider__arrow .c-arrow--prev {
  left: 30px;
}

.p-header-slider__arrow .c-arrow--next {
  right: 30px;
}

@media (max-width: 1024px) {
  .p-header-post-slider {
    height: 470px;
  }

  .p-header-post-slider__item {
    width: calc(100% / 3);
  }
}

@media (max-width: 767px) {
  .p-header-slider__arrow {
    display: none;
  }

  .p-header-post-slider__item {
    width: calc(100% / 2);
  }

  .p-header-post-slider__item-content {
    padding: 30px;
  }

  .p-header-post-slider__item-title {
    font-size: 18px;
    line-height: 1.5;
    margin: -0.25em 0;
    height: 3em;
  }
}

@media (max-width: 599px) {
  .p-header-post-slider__item {
    width: calc(100% / 1);
  }

}


/* ----------------------------------------------------------------------
  Project - 404
---------------------------------------------------------------------- */

.p-404-container .l-container__inner {
  padding: 0;
  max-width: initial;
  width: 100%;
}

.p-404-container .l-main {
  width: 100%;
}

.p-404-page {
  width: 100%;
  height: calc(100vh - 130px);
  position: relative;
}

.p-404-page__contents {
  text-align: center;
  position: relative;
  z-index: 3;
}

.p-404-page__headline {
  font-size: 42px;
  line-height: 1.5;
  margin: -0.25em 0;
}

.p-404-page__desc {
  font-size: 16px;
  line-height: 2.2;
  margin: -0.6em 0;
}

*+.p-404-page__desc {
  margin-top: calc(35px - 0.6em);
}

.p-404-page__desc a {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

.p-404-page__desc a:hover {
  text-decoration: underline;
}

.p-404-page__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.p-404-page__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.p-404-page--light {
  color: #000;
  background: rgba(var(--tcd-bg-color, 246, 246, 246), 1);
}

.p-404-page--dark {
  color: #fff;
  background: #333;
}

.p-404-page__search {
  max-width: 500px;
  width: 100%;
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

*+.p-404-page__search {
  margin-top: 40px;
}

.p-404-page__search-form {
  width: calc(100% - 60px);
}

.p-404-page__search-form input {
  display: block;
  width: 100%;
  height: 50px;
  padding-left: 25px;
  border: none;
  background: transparent;
  font-size: 16px;
}

.p-404-page__search-button {}

.p-404-page__search-button label {
  font-family: 'design_plus';
  font-size: 18px;
  cursor: pointer;
  color: #000;
  width: 60px;
  height: 100%;
}

@media (max-width: 767px) {
  .p-404-page {
    height: calc(100vh - 110px);
  }

  .p-404-page__headline {
    font-size: 24px;
  }

  .p-404-page__desc {
    font-size: 14px;
  }

  *+.p-404-page__desc {
    margin-top: calc(25px - 0.6em);
  }

  *+.p-404-page__search {
    margin-top: 25px;
  }

  *+.p-404-page__post-tags {
    margin-top: 20px;
  }
}



/* ----------------------------------------------------------------------
  Utility
---------------------------------------------------------------------- */

@media not all and (max-width: 767px) {
  .is-device-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .is-device-pc {
    display: none !important;
  }
}

/* flex */
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.u-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.u-flex-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.u-flex-justify-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* clearfix */
.u-clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* visually hidden */
.u-visually-hidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}

/* button reset */
.u-button-reset {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/* no scroll bar */
.u-hidden-scroll-bar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.u-hidden-scroll-bar::-webkit-scrollbar {
  display: none;
}


/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
/* alignment */
.post_content .alignright {
  float: right;
}

.post_content .alignleft {
  float: left;
}

.post_content .aligncenter {
  display: table;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7px;
}

.post_content blockquote.alignleft,
.post_content img.alignleft {
  margin: 7px 24px 7px 0;
}

.post_content .wp-caption.alignleft {
  margin: 7px 14px 7px 0;
}

.post_content blockquote.alignright,
.post_content img.alignright {
  margin: 7px 0 7px 24px;
}

.post_content .wp-caption.alignright {
  margin: 7px 0 7px 14px;
}

.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px;
}


/* text and headline */
.post_content p {
  line-height: 2.4;
  margin: 0 0 2em 0;
}

/* .post_content p:first-child { margin-top:-0.7em; } */
.post_content p:last-child {
  margin-bottom: 0;
}

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
  clear: both;
  line-height: 1.4;
  padding: 0;
  font-weight: 600;
}

.post_content h1 {
  font-size: 150%;
  margin: 0 0 35px 0;
  text-align: center;
}

.post_content h2 {
  font-size: 140%;
  margin: 0 0 35px 0;
  text-align: center;
}

.post_content h3 {
  font-size: 130%;
  margin: 0 0 35px 0;
}

.post_content h4 {
  font-size: 120%;
  margin: 0 0 30px 0;
}

.post_content h5 {
  font-size: 110%;
  margin: 0 0 30px 0;
}

.post_content h6 {
  font-size: 100%;
  margin: 0 0 30px 0;
}


/* image */
.post_content img[class*="align"],
.post_content img[class*="wp-image-"],
.post_content img[class*="attachment-"],
.post_content img.size-full,
.post_content img.size-large,
.post_content .wp-post-image,
.post_content img {
  height: auto;
  max-width: 100%;
}

/* list */
.post_content li,
.post_content dt,
.post_content dd {
  line-height: 2.2;
}

.post_content ul,
.post_content ol,
.post_content dl {
  margin-bottom: 24px;
}

.post_content ol {
  list-style: decimal outside none;
  margin-left: 1.5em;
}

.post_content ul {
  list-style: circle outside none;
  margin-left: 1.3em;
}

.post_content li>ul,
.post_content li>ol {
  margin-bottom: 0;
}

.post_content dt {
  font-weight: bold;
}

.post_content dd {
  margin-bottom: 1em;
}


/* table */
.post_content table {
  margin: 0 0 24px 0;
  width: 100% !important;
}

.post_content td,
.post_content th {
  border: 1px solid #ddd;
  padding: 17px 30px;
  line-height: 2.2;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.post_content th {
  background: #f7f7f7;
  font-weight: normal;
}

/* table style */
.post_content table.table_no_border th,
.post_content table.table_no_border td {
  border: none;
  padding-left: 0;
}

.post_content table.table_border_horizontal th,
.post_content table.table_border_horizontal td {
  border-left: none;
  border-right: none;
  padding-left: 0;
}

/* new block quote */
.post_content blockquote {
  position: relative;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 2em;
  padding: 2em 2.4em;
  box-shadow: none;
  background: rgba(0, 0, 0, 2%);
  border: none;
  border-left: 3px solid #000;
}

.post_content blockquote:before {
  line-height: 40px;
  top: 5px;
  left: 10px;
}

.post_content blockquote:after {
  text-align: left;
  line-height: 60px;
  bottom: 10px;
  right: -2px;
}

.post_content blockquote:before,
.post_content blockquote:after {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: normal;
  color: #000;
  width: 30px;
  height: 30px;
  position: absolute;
}

.post_content blockquote p {
  line-height: 1.8;
}

/* captions */
.post_content .wp-caption {
  margin-bottom: 2em;
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px;
  max-width: 100%;
}

.post_content .wp-caption-text {
  text-align: center;
  line-height: 1.5;
  margin: 0 auto;
  padding: 10px 0 0;
  font-size: 14px;
}

.post_content .wp-caption img[class*="wp-image-"] {
  display: block;
  margin: 0 auto 0;
}



/* gallery */
.gallery {
  margin-bottom: 20px;
}

.gallery img {
  border: 0 !important;
  display: block;
  margin: 0;
}

.gallery-item {
  float: left;
  margin: 0 4px 4px 0;
  overflow: hidden;
  position: relative;
}

.gallery-columns-1,
.gallery-columns-2,
.gallery-columns-3,
.gallery-columns-4,
.gallery-columns-5,
.gallery-columns-6,
.gallery-columns-7,
.gallery-columns-8,
.gallery-columns-9,
.gallery-columns-10 {
  margin: 0 -4px -4px 0 !important;
}

.gallery-columns-1 .gallery-item {
  max-width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
  max-width: calc(100% / 3 - 4px);
}

.gallery-columns-4 .gallery-item {
  max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
  max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
  max-width: calc(100% / 6 - 4px);
}

.gallery-columns-7 .gallery-item {
  max-width: calc(100% / 7 - 4px);
}

.gallery-columns-8 .gallery-item {
  max-width: calc(100% / 8 - 4px);
}

.gallery-columns-9 .gallery-item {
  max-width: calc(100% / 9 - 4px);
}

.gallery-columns-10 .gallery-item {
  max-width: calc(10% - 4px);
}

.gallery-caption {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  pointer-events: none;
  padding: 6px 8px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}

.gallery-item:hover .gallery-caption {
  transform: translate3d(0, 0, 0);
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
  display: none;
}

@media screen and (max-width:767px) {
  .gallery-caption {
    display: none;
  }
}


/* etc */
.post_content .wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

.post_content address {
  margin: 0 0 24px 0;
  line-height: 2.2;
}

.post_content pre {
  border-left: 3px solid #ccc;
  background: #f8f8f8;
  font-size: 12px;
  margin: 0 0 27px 0;
  line-height: 1.7;
  padding: 20px;
  overflow: auto;
}

.post_content .sticky {}

.post_content .mejs-container {
  margin: 12px 0 25px;
}


/* パスワード保護 */
.c-pw {
  margin-top: 50px;
}

.c-pw__box {
  font-size: 16px;
  padding: 40px;
  border: 1px solid #ddd;
}

.c-pw__box-inner {
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pw__box-desc {
  line-height: 1.8 !important;
  margin: -0.4em 0 2em !important;
}

.c-pw__box-input {
  display: block;
  flex: 1;
  border: none;
  background: #eee;
  height: 100%;
  padding: 0 20px;
}

.c-pw__btn--submit {
  display: block;
  min-width: 150px;
  height: 100%;
  padding: 0 1em;
  background: #111;
  color: #fff !important;
  border: 0;
  cursor: pointer;
}

.c-pw__btn--submit:hover {
  background: #333;
}

@media (max-width:767px) {
  .c-pw {
    margin-top: 40px;
  }

  .c-pw__box {
    font-size: 14px;
    padding: 20px;
  }

  .c-pw__box-inner {
    height: 40px;
  }

  .c-pw__box-desc {
    margin-bottom: 1em !important;
  }

  .c-pw__box-input {
    width: calc(100% - 100px);
    padding: 0 10px;
  }

  .c-pw__btn--submit {
    min-width: auto;
    width: 100px;
  }
}


/* ----------------------------------------------------------------------
 Google Map
---------------------------------------------------------------------- */
.qt_google_map {
  width: 100%;
  height: 550px;
  background: #ddd;
  margin: 0 0 35px 0;
}

.qt_google_map .qt_googlemap_embed {
  width: 100%;
  height: 550px;
}

.qt_google_map .pb_googlemap_custom-overlay-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -94px;
  left: -40px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100px !important;
  height: 100px !important;
  border-radius: 50%;
  font-size: 18px;
  text-align: center;
}

.qt_google_map .pb_googlemap_custom-overlay-inner::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: -15px;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-width: 16px 5px 0 5px;
  border-style: solid;
  content: "";
}

@media screen and (max-width: 750px) {
  .qt_google_map {
    height: 320px;
  }

  .qt_google_map .qt_googlemap_embed {
    height: 320px;
  }
}



/* Cardlink style - カードリンクのスタイル */

/* Google Mapの設定 */
.p-btn {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  min-width: 180px;
  height: 50px;
  padding: 0 15px;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-btn {
    height: 45px;
    font-size: 12px;
    line-height: 45px;
  }
}


/* ブロックエディタ */
.wp-block-social-links a {
  color: #fff !important;
}

.has-small-font-size {
  font-size: .8125em !important;
}

.has-normal-font-size,
.has-regular-font-size {
  font-size: 1em !important;
}

.has-medium-font-size {
  font-size: 1.25em !important;
}

.has-large-font-size {
  font-size: 2.25em !important;
}

.has-huge-font-size,
.has-larger-font-size {
  font-size: 2.625em !important;
}

.has-text-align-left {
  text-align: left !important;
}

.has-text-align-center {
  text-align: center !important;
}

.has-text-align-right {
  text-align: right !important;
}

/* QUADRAから追加分 */
.post_content .underline,
.post_content .underline:hover {
  text-decoration: underline;
}

.post_content .e_link {
  display: inline-block;
  position: relative;
  padding-right: 1em;
}

.post_content .e_link:after {
  font-family: 'design_plus';
  content: '\e92a';
  font-size: 100%;
  display: block;
  position: absolute;
  transition: none;
  margin-top: -0.1em;
  right: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.post_content img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc;
}

@media (max-width: 767px) {

  .post_content .s_table,
  .post_content .wp-block-table {
    overflow: auto;
    white-space: nowrap;
    margin-bottom: 2em;
  }

  .post_content .s_table table,
  .post_content .wp-block-table {
    margin-bottom: 0;
  }

  .post_content table.c_fix tbody td:first-child {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1;
  }
}

.post_content .a_break {
  display: inline-block;
}

@media (max-width: 767px) {
  .post_content .is-pc {
    display: none !important;
  }
}

@media not all and (max-width: 767px) {
  .post_content .is-sp {
    display: none !important;
  }
}

/*  WordPress プリセットスタイル */
@media screen and (max-width:767px) {

  .post_content h1,
  .post_content h2,
  .post_content h3,
  .post_content h4,
  .post_content h5,
  .post_content h6 {}

  .post_content p {
    line-height: 2;
  }

  .post_content li,
  .post_content dt,
  .post_content dd {
    line-height: 1.8;
  }

  .post_content td,
  .post_content th {
    line-height: 1.8;
    padding: 14px 20px;
  }
}


/* admin bar利用時 */
body.admin-bar {
  padding-top: 32px;
}

body.admin-bar #header_top {
  top: 32px;
}

body.admin-bar .drawer_contents,
body.admin-bar .drawer_overlay {
  top: 32px;
}

@media screen and (max-width:782px) {
  body.admin-bar #header_top {
    top: 0px;
  }

  body.admin-bar {
    padding-top: 46px;
  }

  body.admin-bar .drawer_contents,
  body.admin-bar .drawer_overlay {
    top: 46px;
  }
}

.wp-block-embed {
  margin: 0 0 2em 0;
}

.p-ranking__list_typeb{
  display: flex;
  flex-wrap: wrap;
}

.p-ranking__item_typeb {
  border-bottom: 1px solid #ddd;
  width: calc(100% / 2);
  opacity: 0;
  background: #fff;
}

.p-ranking__item_typeb:nth-child(2n+1){
  border-right: 1px solid #ddd;
}

.p-ranking__item-category_typeb{
  font-size: 15px;
  line-height: 1.6;
  margin: -0.3em 0;
  height: 1.6em;
  font-weight: 500;
  transition: opacity 0.3s ease;
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  visibility: visible;
  word-break: break-all;
}

.p-ranking__item-category_typeb:hover{
 opacity: 0.5;
}


.p-ranking__item-info_typeb{
  display: flex;
  width: calc(100% - 280px);
  height: 200px;
  padding-left: 30px;
  align-items: center;
}

.p-ranking__item-image_typeb {
  width: 280px;
  height: 200px;
  position: relative;
}

.p-ranking__item-title_typeb{
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0;
  height: 1.6em;
  margin-top: 10px;
}

.p-ranking__item-label_typeb{
position: absolute;
top: 0;
left: 0;
z-index: 1;
}

.no-border{
  border: none !important;
}

.ranking_margin{
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 0 !important;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.p-single_ranking{
}

.p-ranking__item-link_typeb {
  padding: 20px 20px 20px 20px;
}

.p-ranking__item-meta_typeb{
  flex-wrap: nowrap !important;
}

.p-ranking__item-meta__comments_typeb{
  margin-top: 3px !important;
  margin-left: 10px;
}

.p-ranking__item-meta__label_typeb{
  margin-left: 0px !important;
  margin-top: 10px;
}

.no_thumbnail{
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  width: 100%;
  position: relative;
  background: #fff;
  margin-top: 0px !important;
}

.no_thumbnail:last-child{
border-bottom: none;
}



.typeb_border{
  border: 1px solid #ddd;
}


.p-ranking-typeb__item-desc{
  height: 4em !important;
}

.raiting_typeb_border{
  border-top: 1px solid #ddd !important;
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
}

.typeb_article_border{
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.typeb_article_border:nth-child(2n){
border-left: none;
}

.typeb_article_border:nth-child(2n-1):last-child{
  border-bottom: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
}
.typeb_article_border:nth-child(2n):last-child{
  border-bottom: 1px solid #ddd !important;
}

.typeb_article_border:nth-child(2n):nth-last-child(2){
  border-bottom: 1px solid #ddd !important;
}

.typeb_article_border:nth-last-child(2){
  border-bottom: 1px solid #ddd !important;
}

.p-ranking__form-ratings__list_typeb{
  padding-right: 30px;
  padding-left: 30px;
}

@media screen and (min-width:767px) {
.p-ranking__item_typeb:nth-child(2n):nth-last-child(2){
  border-bottom: none;
}

.p-ranking__item_typeb:nth-child(2n-1):last-child{
  border-bottom: none;
  border-right: none;
}
.p-ranking__item_typeb:nth-child(2n):last-child{
  border-bottom: none;
}
.p-ranking__item_typeb:nth-last-child(2){
  border-bottom: none;
}

.no_thumbnail::before{
  content:"";
  display:inline-block;
  width:1px;
  height: 100%;
  background-color:#ddd;
  position:absolute;
  top:0px;
  right: calc(40px + 52%);
}
}

@media screen and (max-width:767px) {
  .p-ranking__item-title_typeb{
    font-size: 16px;
  }

  .p-ranking__item-category_typeb{
    font-size: 14px;
  }

  .p-ranking__item_typeb {
  width: 100%;
  }

  .p-ranking__item-image_typeb {
    width: 90px;
    height: 90px;
  }

  .p-ranking__item-info_typeb{
    width: calc(100% - 90px);
    height: 90px;
    padding-left: 10px;
  }

  .p-ranking__item-meta_typeb{
    margin-top: 5px !important;
  }

  .p-ranking__item-title_typeb{
    margin-top: 5px !important;
  }

.p-ranking__form-ratings__item_typeb{
 width: auto !important;
  flex: 0 0 auto !important;
  padding: 0 10px !important;
}

.p-ranking__item_typeb:nth-child(2n+1){
  border-right: none;
}

.p-ranking__item-meta__label_typeb {
  margin-top: 5px !important;
}


.p-ranking__item-content_typeb{
  width: 100% !important;
}

.p-ranking__item_typeb:last-child{
  border-bottom: none;;
}

.typeb_article_border{
  border-right: 1px solid #ddd !important;
  border-left: 1px solid #ddd !important;
  border-bottom: 1px solid #ddd !important;
}

}

@media screen and (max-width:1024px) {
  .p-ranking__item_typeb {
    width: 100%;
    }

  .p-ranking__item_typeb:nth-child(2n+1){
    border-right: none;
  }

  .typeb_article_border:nth-child(2n+1){
    border-right: 1px solid #ddd !important;
  }

  .p-ranking__form-ratings__list_typeb{
    justify-content: start;
    padding-right: 20px;
    padding-left: 20px;
  }

  .typeb_article_border{
    border-right: 1px solid #ddd !important;
    border-left: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
}
.p-ranking__item_typeb:nth-last-child(2){
  border-bottom: 1px solid #ddd !important;
}
}

/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-table.is-style-stripes td,
.wp-block-table .has-background td{
  background-color: transparent;
}