@charset "utf-8";
/*
Theme Name:NULL
Theme URI:https://tcd-theme.com/biz002
Description:"NULL" is a WordPress theme for blog media which can take advantage of the Like and Views features. Popular posts can be found intuitively. The design makes it easy to find posts by tag or category, and is usable without featured Image.
Author:TCD
Author URI:https://tcd-theme.com/
Version:2.10
Text Domain:tcd-null
*/

/* ------------------------------------------------------------------------------------
 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.0');
  src: url('fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('fonts/tiktok_x_icon.svg?v=1.0#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%; }


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

:root {

  /* 基本カラー */
  --tcd-accent-color:0,0,0;    /* #bf9d87 */
  --tcd-link-color:21,120,214; /* #1578d6 */

  /* 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 { line-height:1; width:100%; position:relative; -webkit-font-smoothing:antialiased; }
body, input, textarea { font-family: var(--tcd-font-type2); }
a, button { 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;
}
a[href^="tel:"] { pointer-events:none; text-decoration:none !important; }
.mobile_device a[href^="tel:"] { pointer-events:auto; text-decoration:underline; }

.post_content { word-wrap: break-word; }
.post_content a:not([class]), .post_content .e_link, .p-page-header__content a:not([class]) { color:rgba(var(--tcd-link-color, 21,120,214),1); }
.post_content a:not([class]):hover, .post_content .e_link:hover, .p-page-header__content a:not([class]):hover { text-decoration: underline; }

img:not(.c-logo__image) { max-width:100%; height:auto; vertical-align: bottom; }
strong { font-weight:600; }
::placeholder { color: #999; }
::-ms-input-placeholder { color: #999; }
:-ms-input-placeholder { color: #999; }

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


/* ----------------------------------------------------------------------
  layout
---------------------------------------------------------------------- */

.l-container { position: relative; overflow: clip; }

.l-sidenav { width:280px; -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
.l-sidenav__inner { overflow: hidden; height:100%; border-right: 1px solid #ddd; }

.l-sidebar {
  -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2;
  max-width:350px; border-left:1px solid #ddd; border-top:1px solid #ddd; padding:50px;
  width:350px;
}

.l-main {
  -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1;
  position: relative; margin-bottom:-1px; width:100%;
}

@media not all and (max-width: 1300px) {
.l-sidenav + .l-main { width:calc(100% - 280px); }
.l-sidebar + .l-main { width:calc(100% - 350px); }
.l-sidenav + .l-sidebar + .l-main { width:calc(100% - 630px); }
}

@media (max-width: 1300px) {
  .l-sidenav { width:auto; }
  .l-sidenav__inner {
    width:280px; height:calc( 100vh - 110px ); border-right:none;
    position: fixed; bottom:0; left:0; z-index:100;
    overflow-x: hidden; overflow-y: auto; background: #fff;
    transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.65,0.05,0.36,1);
  }
  html.show-drawer .l-sidenav__inner {
    transform: translateX(0);
  }
  .l-main { width:100%; }
  .l-sidebar + .l-main { width:calc(100% - 350px); }
}

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

@media (max-width: 1024px) {
  .l-sidebar + .l-main { width:100%; }
  .l-sidebar { width: 100%; max-width:100%; border-left:none; }
  .l-sidebar__inner { margin:-50px 0 0 -50px; }
}

@media (max-width: 767px) {
  .l-sidebar { padding:40px 25px; }
  .l-sidebar__inner { margin:-40px 0 0 -25px; }
}

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

.l-header { width:100%; z-index:100; background:#fff; position:relative; }
.l-header__inner { height:80px; position:relative; margin:0 30px; }
@media (max-width: 1300px) {
  .l-header__inner { height:auto; padding-top:60px; margin:0; }
}

.l-footer { width:100%; }


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

/* フォントタイプ */
.c-font-type { font-weight:600; }
.c-font--1 { font-family: var(--tcd-font-type1); font-weight:600; }
.c-font--2 { font-family:var(--tcd-font-type2); font-weight:600; }
.c-font--3 { font-family: var(--tcd-font-type3); font-weight:600; }
.c-font--logo { font-family: var(--tcd-font-type-logo); font-weight: var( --tcd-logo-font-weight);}
/* 行間 */
.c-line1, .c-line2, .c-line3, .c-line4 { overflow:hidden; visibility:visible; word-break: break-all; }
.c-line1 > span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.c-line2 > span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.c-line3 > span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.c-line4 > span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; }


/* スライダー */

/* ページネーション */
.c-swiper-pagination { }
.c-swiper-pagination .swiper-pagination-bullet {  }
.c-swiper-pagination { bottom:20px!important; }
.c-swiper-pagination .swiper-pagination-bullet {
  --swiper-pagination-bullet-width: 12px;
  --swiper-pagination-bullet-height: 12px;
  --swiper-pagination-bullet-horizontal-gap: 5px;
  --swiper-pagination-color: #000;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  vertical-align: bottom;
}

/* アロー */
.c-arrow-next { top:calc(50% + 35px); right:15px; }
.c-arrow-next:after { content:'\e94a'; font-family: "design_plus"; font-size:10px; color:#fff; }
.c-arrow-prev { top:calc(50% + 35px); left:15px; }
.c-arrow-prev:after { content:'\e94b'; font-family: "design_plus"; font-size:10px; color:#fff; }
.c-arrow-next:hover:after, .c-arrow-prev:hover:after { transition:color 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
  .c-arrow-next:hover:after, .c-arrow-prev:hover:after { color:rgba(255,255,255,0.5); }
}

/* ボタン */
.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;
  text-align: center;
}

/* カテゴリー */
.c-category {
  display:-webkit-box; display:-ms-flexbox; display:-webkit-inline-flex; display:inline-flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center; position:relative;
  min-height:30px; padding: 8px 15px; color:#1080aa; border:1px solid #1080aa; border-radius:30px; overflow: hidden;
  font-size:12px; background:transparent;
  transition:color 0.3s ease, border-color 0.3s ease;
}
.c-category__name { position: relative; z-index:1; }
.c-category__bg {
  position:absolute; top:0; left:0; display:block; width:100%; height:100%; z-index:0;
  opacity:0; transition:opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-category:hover { color:#fff!important; }
  .c-category:hover .c-category__bg { opacity:1; }
}
@media (max-width: 767px) {
  .c-category { padding:8px 10px; }
}

/* タグ */
.c-post-tags { font-size:14px; color:#999; line-height:1.4; margin:-0.2em 0; }
.c-post-tags:before {
  font-family: 'design_plus'; content: '\e952'; vertical-align: middle;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.c-post-tags__item { display:inline; }
.c-post-tags__link { color:#999; transition:opacity 0.3s ease; }
.c-post-tags__link:hover { opacity:0.5; }

/* いいね */
.c-like {
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  font-family:"Arial"; font-size:14px; color:#999;
}
.c-like:before {
  font-family: 'design_plus'; content: '\e94f'; font-weight:600; margin-right:5px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 767px) {
  .c-like { font-size:12px; }
}

/* 日付 */
.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'; margin-right:5px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.c-date--updated:before { font-family:'design_plus'; content:'\e943'; }
@media (max-width: 767px) {
  .c-date { font-size:12px; }
}

/* 検索フォーム */
.c-search-form {
  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;
}
.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%; }
@media (max-width: 767px) {
  .c-search-form__text { width:calc(100% - 50px); }
  .c-search-form__text input { height:40px; 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; }
}

/* 記事下タイトル */
.c-article-title {
  font-size:20px; line-height:1.2; text-align: center;
  width:calc(100% + 2px); height:60px; margin-left:-1px; padding:0 20px;
  background-color:rgba(var(--tcd-accent-color, 0,0,0),1); color:#fff;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-align-items:center; -webkit-align-items:center; align-items:center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
@media (max-width: 767px) {
  .c-article-title { font-size: 16px; height:50px; }
}

/* 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:hover { opacity:0.5; }
.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 { content:'\e944'; }
.c-sns-icons__link--twitter:before { font-family: 'tiktok_x_icon'; content: "\e901";font-size:0.90em;}
.c-sns-icons__link--tiktok:before { font-family: 'tiktok_x_icon'; content: "\e900";font-size:0.90em;}
.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; }

/* モノクロ */
.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:#000; }
.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-pagination {
  margin: 60px 0 150px; text-align: center; font-family: Arial;
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.c-pagination__item { display:block; margin-top:-30px; }
.c-pagination__item a, .c-pagination__item span {
  display: inline-block; min-width: 60px; height: 70px; line-height: 70px;
  font-size: 14px; text-align: center; color: #000; border-bottom: 4px solid transparent;
}
.c-pagination__item a { transition:border-color 0.3s ease; }
.c-pagination__item span.dots { min-width:30px; }
.c-pagination__item .current { border-color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.c-pagination__item a:hover { color:rgba(0, 0, 0, 0.5); border-color:#ddd; }
.c-pagination__item .prev, .c-pagination__item .next { font-family: "design_plus"; font-size: 12px; }

@media (max-width: 767px) {
  .c-pagination { margin:40px 0; }
  .c-pagination__item { display:block; margin-top:-25px; }
  .c-pagination__item a, .c-pagination__item span { min-width: 50px; height: 60px; line-height: 60px; }
}

/* パンくずリスト */
.c-breadcrumb { width:100%; height:60px; border-top: 1px solid #ddd; }
.c-breadcrumb__list {
  height:100%; padding:0 40px;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.c-breadcrumb__item {
  font-size:14px; white-space: nowrap;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
* + .c-breadcrumb__item:before {
  content:"\e910"; font-family: "design_plus"; font-size:12px; margin:0 10px;
}
.c-breadcrumb__item > span { color:rgba(var(--tcd-accent-color, 0,0,0),1); overflow:hidden; white-space: nowrap; text-overflow: ellipsis; visibility:visible; line-height: 2; }
.c-breadcrumb__item--home:before { content:"\e90c"; font-family: "design_plus"; transition: none; }
.c-breadcrumb__item--home > span { display:none; }
.c-breadcrumb__item-link:hover { color: rgba(0, 0, 0, 0.4); }
.c-breadcrumb__item:last-of-type { overflow: hidden; }
@media (max-width: 1024px) {
  .c-breadcrumb { height:50px; }
  .c-breadcrumb__list { padding:0 20px; }

}
@media (max-width: 767px) {
  .c-breadcrumb { overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; overflow-y: hidden; }
  .c-breadcrumb::-webkit-scrollbar { display:none;}
  .c-breadcrumb__item { font-size:12px; }
  .c-breadcrumb__item > span { text-overflow: initial; }
  .c-breadcrumb__item:last-of-type { overflow: initial; padding-right:20px; }
}

/* ロゴ */
.c-logo {
  height:100%; max-height:80px; 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:hover { opacity:0.5; }
.c-logo__image { max-width:100%; width:auto; max-height:100%; }
.c-logo__text { display:block; line-height:1.6; }
@media not all and (max-width: 1300px) {
  .c-logo__image_2 { display:none; }
}
@media (max-width: 1300px) {
  .c-logo__image { display:none; }
  .c-logo__image_2 { display:block; }
  .c-logo__image:only-child { display: block; }
}

/* パスワード保護 */
.c-pw { margin-top:50px; }
.c-pw__box { font-size:16px; padding:50px; 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; max-width:400px; flex:1; border:none; background:#eee; height:100%; padding: 0 20px; }
.c-pw__btn--submit { display:block; min-width:150px; height:100%; 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 { padding:0 10px; }
  .c-pw__btn--submit { min-width:100px; }
}

/* 記事が無い時のメッセージ */
.c-no-post { padding:100px 20px; text-align: center; font-weight: 600; font-size: 1.2em; }

/* NULL専用 */
@media not all and (max-width: 1300px) {
  .c-header-width { width:calc(100% + 1px); margin-left:-1px; }
}
@media (max-width: 1300px) {
  .c-header-width { width:100%; }
}


/* ----------------------------------------------------------------------
  ヘッダー
---------------------------------------------------------------------- */

/* ロゴ */
.p-header__logo { position: absolute; top:0; left:0; height:100%; color:#000; z-index:10; }
@media (max-width: 1300px) {
  .p-header__logo { height:60px; left:20px; }
}

/* 検索フォーム */
.p-header__search-wrapper { position: absolute; top:17.5px; right:-13px; z-index:10; display: flex; height:45px; }
.p-header__search { width:330px; height:100%; position:relative; display:-webkit-box; display:-ms-flexbox; display:flex; }
.p-header__search-form { width:calc(100% - 45px); }
.p-header__search-form input {
  display:block; width:100%; height:45px; padding:0 1em; border:none; background:#f3f3f3;
  border-radius: 45px 0 0 45px; font-size:16px;
}
.p-header__search-form input::-webkit-search-cancel-button { -webkit-appearance: none; }
.p-header__search-button {
  display:block; width:45px; height:45px; position:relative; text-align:center; background: #f3f3f3;  
  border-radius: 0 45px 45px 0;
}
.p-header__search-button:before { 
  content: '\e951'; font-family: 'design_plus'; font-size:18px; height:1em;
  position:absolute; top:0; left:0; bottom:0; right:0; margin:auto; transition: color 0.3s ease;
  pointer-events: none;
}
.p-header__search-button label { cursor: pointer; display: block; width:100%; height:100%; }

/* アニメーション */
.p-header__search { width:45px; opacity:0; transition:width 0.3s ease, opacity 0.5s ease; }
.p-header__search-wrapper.is-active .p-header__search { width:330px; opacity:1; }

/* 検索アイコン・ボタン */
.p-search-toggle-button {
  background:transparent; border:none; padding:0; border-radius: 0; position: relative;
  cursor: pointer; display: block; width: 45px; height: 45px; text-align:center; overflow: hidden;
}
.p-search-toggle-button span { display:block; width:100%; height:100%; }
.p-search-toggle-button-open:before { content: '\e951'; font-family: 'design_plus'; font-size:18px; height:1em; position:absolute; top:0; left:0; bottom:0; right:0; margin:auto; transition: color 0.3s ease; }
.p-search-toggle-button-close { position:absolute; left:0; top:-10px;  }
.p-search-toggle-button-close:before, .p-search-toggle-button-close:after {
  content:''; display:block; width:20px; height:1px; background:#000;
  position: absolute; top:0; left:0; right:0; bottom:0; margin:auto;
}
.p-search-toggle-button-close:before { transform: rotate(45deg); }
.p-search-toggle-button-close:after { transform: rotate(-45deg); }
.p-search-toggle-button span { transition:opacity 0.2s ease, transform 0.4s cubic-bezier(0.22,0.61,0.36,1); }
.p-search-toggle-button-open { opacity:1; }
.p-search-toggle-button-close { opacity:0; }
.p-header__search-wrapper.is-active .p-search-toggle-button-open {
  opacity:0; transform:translateY(10px);
}
.p-header__search-wrapper.is-active .p-search-toggle-button-close {
  opacity:1; transform:translateY(10px);
}

@media (max-width: 1300px) {
  .p-header__search-wrapper { height:60px; padding:7.5px 0; top:0; right:7px; }
  .p-header__search-button:before { font-size:16px; }
}

@media (max-width: 599px) {

  .p-header__search-wrapper { width:100%; right:0; pointer-events: none; }
  .p-header__search-inner { position: absolute; top: 60px; left: 0; width: 100%; height: 60px; overflow: hidden; }

  .p-header__search {
    width:100%!important; height:60px; padding:10px; pointer-events: none;
    background: #fff; border:1px solid #ddd;
    transition:transform 0.4s cubic-bezier(.22,.61,.36,1), opacity 0.3s ease;
    opacity:0; transform: translateY(-5px);
  }
  .p-header__search-wrapper.is-active .p-header__search {
    pointer-events: auto;
    transform: translateY(0);
    opacity: 1;
  }

  .p-header__search-form input { height:40px; }
  .p-header__search-button { height:40px; }
  .p-search-toggle-button { margin-left:auto; pointer-events: auto; }

}

/* ヘッダーメニュー */
.p-global__nav-wrapper { display:block; height:100%; padding:0 50px; }
.p-global__nav { font-size: 16px; line-height:1.2; height:100%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.p-global__nav li { position: relative; }
.p-global__nav a { position: relative; 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; }

/* 親メニュー */
.p-global__nav > li > a { position: relative; overflow: hidden; padding:0 23px; text-align: center; height:100%; }
.p-global__nav > li > .sub-menu { display:none!important; }

/* バーエレメント */
.p-global__nav > li > a:before {
  content:''; display: block; width:calc(100% - 50px); height:5px; background:rgba(var(--tcd-accent-color, 0,0,0),1);
  position:absolute; bottom:0; left:0; right:0; margin:auto; transform:translateY(5px); transition:transform 0.3s ease;
}

.p-global__nav > li.is-active > a:before,
.p-global__nav > li.current-menu-item > a:before { transform:translateY(0); }
@media (hover: hover) and (pointer: fine) {
  .p-global__nav > li:hover > a:before { transform:translateY(0); }
  .p-global__nav > li:hover a { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
.p-global__nav > li:not(.is-active) > a:before { transition-duration: 0.1s; }


@media (max-width: 1300px) {

  .p-header__menu {
    width:100%; height:50px; border-top:1px solid #ddd;
    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;
  }
  .p-global__nav-wrapper {
    width:100%; padding:0;
    overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; overflow-y: hidden;
  }
  .p-global__nav-wrapper::-webkit-scrollbar { display:none;}
  .p-header__menu-button + .p-global__nav-wrapper { width:calc(100% - 60px); }
  .p-global__nav { font-size:14px; }
  .p-header__menu-button + .p-global__nav-wrapper .p-global__nav { margin-left:-10px; }
  .p-global__nav > li:first-child { padding-left:10px; }
  .p-header__menu-button + .p-global__nav-wrapper .p-global__nav > li:first-child { padding-left:0; }
  .p-global__nav > li:last-child { padding-right:10px; }
  .p-global__nav a { white-space: nowrap; }
  .p-global__nav > li > a { padding:0 10px; }
  .p-global__nav > li > a:before { width:calc(100% - 20px); height:3px; transform:translateY(3px); }
  /* .p-global__nav > li > a[data-menu-type="type3"]:before { content:none; } */

}

/* サブメニュー */
.p-submenu { max-width:280px; position: absolute; top: 80px; right:0; z-index: 100; overflow: hidden; background: #f5f5f5; height:0; transition: height 0.3s ease; }
.p-submenu__item { }
.p-submenu__link { color: #000; font-size:14px; line-height:1.4; width:100%; height: 50px; padding: 0 20px; }
.p-submenu__link:hover { color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),0.8); }
@media (max-width: 1300px) {
  .p-submenu { top:110px; }
}
@media (max-width: 767px) {
  .p-submenu { left:0!important; max-width:100%; width:100%; }
  /* .p-submenu:not([style*="height"]) { transition-duration: 0.1s; } */
}


/* ドロワーメニューボタン */
.p-header__menu-button { position:relative; }

.p-menu-button {
  position:relative; display:none;
  background: transparent; border: none; border-radius: 0; cursor: pointer; font-family: "design_plus"; padding: 0; -webkit-appearance: none; appearance: none;
  width: 60px; height: 50px;
}
.p-menu-button span {
  display:block; height:1px; width:20px; overflow:hidden;
  position:absolute; top:0; left:0; bottom:0; right:0; margin:auto;
  transition: transform 0.3s ease;
}
.p-menu-button span:before {
  content:''; display:block; width:100%; height:100%; background:#000;
  transform:translateX(0); transition:transform 0.2s ease;
}

.p-menu-button span:nth-of-type(1) { transform:translateY(-6px); }
.p-menu-button span:nth-of-type(3) { transform:translateY(6px); }
html.show-drawer .p-menu-button span:nth-of-type(1) {
  transform:translateY(0) rotate(45deg);
}
html.show-drawer .p-menu-button span:nth-of-type(2):before {
  transform:translateX(100%);
}
html.show-drawer .p-menu-button span:nth-of-type(3) {
  transform:translateY(0) rotate(-45deg);
}
.p-close-button { display:none; cursor: pointer; position: absolute; top: 0; left: 0; z-index:1; width: 100%; height: 100%; border: none; background: transparent; }
@media (max-width: 1300px) {
  .p-menu-button { display:block; }
  html.show-drawer .p-close-button { display:block; }
}


/* ----------------------------------------------------------------------
  メガメニュー
---------------------------------------------------------------------- */

.p-global__nav .p-has-megamenu .sub-menu { display:none; }

/* メガメニュー共通スクロールバー */
.p-megamenu .simplebar-track.simplebar-horizontal { height:9px; }
.p-megamenu .simplebar-track.simplebar-horizontal .simplebar-scrollbar:before { left:0; right:0; }
.p-megamenu .simplebar-track .simplebar-scrollbar.simplebar-visible:before { background:#bbbbbb; opacity:1; }

/* メガメニューA  タグメニュー */
.p-megamenu01 {
  background:#f5f5f5; position: relative; overflow: hidden;
  height:0; transition:height 0.7s cubic-bezier(0.17,0.84,0.44,1);
}
.p-megamenu01__inner { overflow: hidden; overflow-x: scroll; }
.p-megamenu01__list { width:100%; padding:30px; }
.p-megamenu01__list:not(:first-of-type) { border-left:1px solid #d4d4d4; }
.p-megamenu01__list--sp { display:none; }
.p-megamenu01__list-item {
  font-size:14px;
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-justify-content:space-between; justify-content:space-between;
}
.p-megamenu01__list-item:not(:first-of-type) { margin-top:20px; }
.p-megamenu01__item-link { display:block; line-height:1.2; transition-property:padding; }
.p-megamenu01__item-link:hover { color:#888888; padding-left:0.5em; }
.p-megamenu01__item-count {
  display:block; min-width: 45px; height: 30px; line-height: 30px; border-radius: 30px; text-align: center; background:#fff;
}

@media not all and (max-width: 1300px) {
  .p-megamenu01:before {
    content:''; pointer-events: none;
    display:block; position: absolute; top:0; left:-100px; width:calc(100% + 200px); height:100%;
    box-shadow: inset 0px 0px 10px 5px rgba(85, 85, 85, 0.1);
  }
  .p-megamenu01__inner.is-fix { overflow: hidden; }
  .p-megamenu01__inner.is-scroll .p-megamenu01__list { min-width:18%; }
}
@media (max-width: 1300px) {
  .p-megamenu01 { position: absolute; top:110px; left:0; width:100%; }
  .p-megamenu01__list { min-width:260px; }
}
@media (max-width: 767px) {
  .p-megamenu01__list { padding:25px 20px; }
  .p-megamenu01__list--sp { display:block; }
  .p-megamenu01__list--sp ~ .p-megamenu01__list--pc { display:none; }
  .p-megamenu01__list-item:not(:first-of-type) { margin-top:15px; }
  .p-megamenu01__item-count { height:25px; line-height: 25px; border-radius: 25px; }
  .p-megamenu01 { transition-duration: 0.4s; }
  /* .p-megamenu01:not([style*="height"]) { transition-duration: 0.1s; } */
}


/* メガメニューB 記事スライダー */
.p-megamenu02 {
  opacity: 0; pointer-events: none; visibility: hidden; transition:all 0.4s cubic-bezier(0.22,0.61,0.36,1);
  width:100%; background: #000; position: absolute; top:100px; left:0; z-index:100;
}
.p-megamenu02:before { content:''; position: absolute; top:0; left:0; width:100%; height:65px; background:#f5f5f5; }
.p-megamenu02.is-active { opacity: 1; top:80px; pointer-events: auto; visibility: visible; }
.p-megamenu02__inner { width:calc(100% - 120px); margin:0 auto; position: relative; }
.p-megamenu02__inner.p-has-image:before { content:''; display:block; width:1px; height:110px; background:#000; position:absolute; top:65px; right:0; z-index:3; }
.p-megamenu02__item { width:calc(20% + 0.8px); height:auto; margin-right: -1px; }
.p-megamenu02__contents { display:block; }
.p-megamenu02__image-wrap { height:110px; }
.p-megamenu02__image { width:100%; height:100%; }
.p-megamenu02__text { height:172px; padding:30px; border-left:1px solid #333; border-right:1px solid #333; }
.p-has-image .p-megamenu02__text { height:180px; }
.p-megamenu02__date { margin-bottom:20px; }
.p-megamenu02__title {
  font-size:18px; line-height:1.6; height:4.8em; color:#fff; margin:-0.3em 0;
  transition:color 0.3s ease;
}
.p-megamenu02__contents:hover .p-megamenu02__title { color:rgba(255,255,255,0.5); }
.p-megamenu02__catgeory { padding:17.5px 30px; border-left:1px solid #ddd; border-right:1px solid #ddd; }
.p-megamenu02__catgeory-link:not(:hover) { background:#fff; }
.p-megamenu02__post-tag { margin-top:80px; }

@media (max-width: 1300px) {
  .p-megamenu02 { top:120px; overflow-y: hidden; overflow-x:auto; }
  .p-megamenu02:before { content:none; }
  .p-megamenu02.is-active { top:110px; }
  .p-megamenu02__inner { width:100%; overflow: initial; }
  .p-megamenu02__inner.p-has-image:before { content:none; }
  .p-megamenu02__item { width:260px; margin-right:0; }
  .p-megamenu02__catgeory { background:#f5f5f5; }
  .p-megamenu02__catgeory, .p-megamenu02__text { border-left:none; }
  .p-megamenu02__item:last-of-type .p-megamenu02__catgeory,
  .p-megamenu02__item:last-of-type .p-megamenu02__text { border-right:none; }
  .p-megamenu02 div[class^="swiper-button-"] { display:none; }
}

@media (max-width: 767px) {
  .p-megamenu02__item { width:170px; }
  .p-megamenu02__catgeory { padding:10px 17px; }
  .p-megamenu02__image-wrap { height:90px; }
  .p-megamenu02__date { margin-bottom:15px; }
  .p-megamenu02__text { padding:20px 20px 30px; height:auto; }
  .p-megamenu02__title { font-size:14px; height: 6.4em; }
  .p-megamenu02__title span { -webkit-line-clamp: 4; }
  /* .p-megamenu02:not(.is-active) { transition-duration: 0.1s; } */
  .p-has-image .p-megamenu02__text { height:auto; }

  .p-megamenu02__image-wrap + .p-megamenu02__text .p-megamenu02__title { height: 4.8em; }
  .p-megamenu02__image-wrap + .p-megamenu02__text .p-megamenu02__title span { -webkit-line-clamp: 3; }


}


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

.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; }
}


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

/* メニュー */
.p-footer__menu-wrapper { border-top: 1px solid #ddd; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; }
.p-footer__menu { width:100%; padding:60px 50px; }
.p-footer__menu-title { pointer-events: none; font-size:18px; line-height:1.4; color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.p-footer__menu-title-label { display: block; margin:-0.2em 0; }
.p-footer__menu-list {  }
.p-footer__menu-item { font-size:14px; line-height:1.4; }
.p-footer__menu-item:first-of-type { margin:calc(30px - 0.2em) 0 -0.2em; }
.p-footer__menu-item:not(:first-of-type) { margin:calc(20px - 0.2em) 0 -0.2em; }
.p-footer__menu-link { display: inline-block; }
.p-footer__menu-link:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.p-footer__menu-button { display:none; }

@media not all and (max-width: 1024px) {
  .p-footer__menu:not(:last-of-type) { border-right:1px solid #ddd; }
}

@media (max-width:1024px) {
  .p-footer__menu-wrapper { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .p-footer__menu { width:50%; border-bottom:1px solid #ddd; }
  .p-footer__menu:nth-child(2n+1) { border-right:1px solid #ddd; }
}

@media (max-width:767px) {
  .p-footer__menu { width:100%; padding:0; }
  .p-footer__menu { border-right:none!important; }
  .p-footer__menu-title { cursor: pointer; pointer-events: auto; font-size:16px; min-height: 50px; padding:15px 20px; }
  .p-footer__menu-list-wrapper { height:0px; overflow: hidden; transition: height 0.3s cubic-bezier(0.65,0.05,0.36,1); }
  .p-footer__menu-list { background:#f5f5f5; border-top:1px solid #ddd; padding:20px 25px; }
  .p-footer__menu-item:first-of-type { margin-top:0; }
  .p-footer__menu-link { color:transparent; transition:color 0.3s ease; }
  .p-footer__menu-title-label { width:calc(100% - 12px); padding-right:10px; }
  .p-footer__menu-button { display:block; width:12px; height:12px; position: relative; }
  .p-footer__menu-button:before, .p-footer__menu-button:after {
    content:''; display:block; width:1px; height:12px; background: #000;
    position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
    transition: height 0.3s ease;
  }
  .p-footer__menu-button:after { transform: rotate(90deg); }
  .p-footer__menu-title.is-active .p-footer__menu-button:before { height:0; }
  .p-footer__menu-title.is-active + .p-footer__menu-list-wrapper .p-footer__menu-link { color:#000; }
}

/* フッターロゴエリア */
.p-footer__logo { position: absolute; top: 0; left: 0; height: 100%; color:#fff; }
.p-footer__info { height:60px; background-color:rgba(var(--tcd-accent-color, 0,0,0),1); padding:0 50px; }
.p-footer__info-inner { height:100%; position: relative; }

/* メニュー */
.p-footer__info-nav { height:100%; font-size:14px; line-height:1.2; text-align: center; }
.p-footer__info-nav ul {
  height:100%; white-space: nowrap;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-inline-flex; display:inline-flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.p-footer__info-nav ul > li > a { display:block; color:#fff; padding:0 20px; }
.p-footer__info-nav ul > li > a:hover { color:rgba(255, 255, 255, 0.5); }

@media (max-width:767px) {
  .p-footer__info { height:50px; padding:0; }
  .p-footer__logo { display:none; }
  .p-footer__info-nav { overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; overflow-y: hidden; }
  .p-footer__info-nav::-webkit-scrollbar { display:none;}
  .p-footer__info-nav ul { padding:0 10px; }
  .p-footer__info-nav ul > li > a { padding:0 10px; }
}

/* コピーライト */
.p-footer__copyright { height:60px; padding:0 50px; }
.p-footer__copyright-inner { position:relative; }
.p-footer__copyright-label { display:block; height:100%; line-height:60px; font-size:14px; text-align: center; }
.p-footer__sns-icons { height:1em; position:absolute; top:0; left:0; bottom:0; margin:auto; }

@media (max-width:767px) {
  .p-footer__copyright { height:auto; padding:0; }
  .p-footer__sns-icons { position: relative; height:50px; padding:0 25px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .p-footer__copyright-label { font-size:12px; height:50px; line-height:50px; }
  .p-footer__sns-icons + .p-footer__copyright-label { border-top:1px solid #ddd; }
}


/* ページ上部へ戻るボタン */
.p-return-top-button-wrapper {
  position: sticky; position: -webkit-sticky; left:0; bottom: 0; z-index:99;
  pointer-events: none; width: 100%; margin-top: -60px; overflow: hidden;
}
.p-return-top-button {
  display:block; width:60px; height:60px; padding:0; margin-left:auto;
  background:#fff; border:1px solid #ddd; border-right:none; border-bottom:none;
  cursor: pointer; pointer-events: auto;
  opacity: 0; transition: opacity 0.4s ease; pointer-events: none;
}
.p-return-top-button:before {
  content:'\e94a'; font-family:'design_plus'; font-size:10px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  display:block; transform: rotate(-90deg); transition:none;
}
.p-return-top-button.is-active { opacity: 1; pointer-events: auto; }
@media (max-width:767px) {
  .p-return-top-button-wrapper { margin-top:-50px; }
  .p-return-top-button { width:50px; height:50px; }
  .p-footer-bar ~ .p-return-top-button-wrapper { height:100px; margin-top:-100px; }
  .p-footer-bar ~ .p-return-top-button-wrapper .p-return-top-button.is-active { opacity: 1; transition: opacity 0.4s ease; pointer-events: auto; }
  .p-footer-bar ~ .p-return-top-button-wrapper .p-return-top-button:not(.is-active) { opacity: 0; pointer-events: none; }

  /* ドロワー対策 */
  html.show-drawer .p-return-top-button-wrapper .p-return-top-button { opacity: 0; transition: opacity 0.4s ease; pointer-events: none; }
  html.show-drawer .p-footer-bar ~ .p-return-top-button-wrapper .p-return-top-button { opacity: 0; transition: opacity 0.4s ease; pointer-events: none; }
}


/* ----------------------------------------------------------------------
  サイドナビゲーション
---------------------------------------------------------------------- */

@media not all and (max-width: 1300px) {
  .p-sidecat__list-wrapper {
    max-height:1230px; overflow:hidden; overflow-y:scroll;
    -ms-overflow-style: none; scrollbar-width: none;
  }
  .p-sidecat__list-wrapper::-webkit-scrollbar { display:none;}
}
.p-sidecat__headline {
  font-size:18px; line-height:1.2; width:calc(100% + 1px); height:60px; padding:0 30px;
  color:#fff; background-color:rgba(var(--tcd-accent-color, 0,0,0),1); position:relative; z-index:1;
}
.p-sidecat__list { background:#fff; border-bottom:1px solid #ddd; }
.p-sidecat__list li { position:relative; }
.p-sidecat__headline + .p-sidecat__list { margin-top:-1px; }

/* 共通 */
.p-sidecat__item { font-size:16px; line-height:1.2; height:59px; }
.p-sidecat__count { font-family: 'Arial'; font-size:14px; min-width:45px; height:30px; padding:0 10px; border-radius:30px; }

/* 親メニュー */
.p-sidecat__item--parent { color:#000; padding:0 30px; border-top:1px solid #ddd; }
.p-sidecat__count--parent { color:#000; border:1px solid #ddd; margin-left:10px; }
.p-sidecat__item--parent:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.is-active .p-sidecat__item--parent { color:rgba(var(--tcd-accent-color, 0,0,0),1); }

/* 子メニュー */
.p-sidecat__list--children {
  background:#0f7faa; width:calc(100% + 1px); height:0; overflow:hidden;
  transition:height 0.3s cubic-bezier(0.65,0.05,0.36,1);

}
.p-sidecat__item--child { color:#fff; padding: 0 20px 0 calc(30px + 1em); }
.p-sidecat__count--child { color:#fff; background:rgba(0,0,0,0.1); margin-left:auto; }
.p-sidecat__item--child:hover { color:#fff; background:rgba(0,0,0,0.1); }

/* 開閉ボタン */
.p-sidecat__toggle-button {
  cursor:pointer; border:none; background:none; padding:0;
  display:block; width:42px; height:60px; position: absolute; top:0; right:0;
}
.p-sidecat__toggle-button:before, .p-sidecat__toggle-button:after {
  content:''; display:block; height:12px; width:1px; background:#000;
  position: absolute; top:0; left:0; right:0; bottom:0; margin:auto;
}
.p-sidecat__toggle-button:before { transform: rotate(90deg); }
.p-sidecat__toggle-button:after { transition:height 0.5s ease; backface-visibility: hidden; }
.is-active .p-sidecat__toggle-button:after { height:0px; }

@media (max-width: 767px) {
  .p-sidecat__headline { height:50px; padding:0 20px; }
  .p-sidecat__item { font-size:14px; height:50px; }
  .p-sidecat__item--parent { padding:0 20px 0 19px; }
  .p-sidecat__item--child { padding:0 20px 0 calc(20px + 1em); }
  .p-sidecat__count { height:25px; }
  .p-sidecat__toggle-button { right:5px; height:50px; }
}

/* バナー */
.p-sidebanner { width:calc(100% + 1px); }
.p-sidebanner__link { display:block; width:100%; padding-top:56.25%; position:relative; }
.p-sidebanner__title {
  position:absolute; left:0; bottom:0; z-index:2; width:100%; padding:10%;
  color:#fff; font-size:16px; line-height:1.5;
}
.p-sidebanner__title span { display:block; margin:-0.25em 0; }
.p-sidebanner__overlay {
  position:absolute; left:0; bottom:0; z-index:1;
  width:100%; height:70%; background:linear-gradient(to top,rgb(0 0 0/70%),transparent);
}
.p-sidebanner__image { position:absolute; top:0; left:0; width:100%; height:100%; }
.p-side-free-space { max-width:100%; overflow:hidden; }

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

@media (max-width: 1300px) {
  .p-sidenav__overlay {
    width:100%; height:calc(100vh - 110px); position: fixed; bottom:0; left:0; z-index:99; background:rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  html.show-drawer .p-sidenav__overlay {
    opacity: 1; visibility: visible;
  }
}

.l-sidebar a:hover{color:rgba(0, 0, 0, 0.5);}


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

/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */

/* ページヘッダー */
.p-page-header { height:400px; overflow:hidden; position: relative; color:#fff; background:#fff; }
.p-page-header__content {
  width:100%; text-align: center; padding:0 25px;
  position: absolute; top: 50%; left: 50%; z-index:3;
  transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);
}
.p-page-header__headline { font-size:34px; line-height:1.5; }
.p-page-header__headline span { display:block; margin:-0.25em 0; }
.p-page-header__description { font-size:18px; line-height:2.2; margin:-0.6em 0; }
.p-page-header__headline + .p-page-header__description { margin-top:calc(35px - 0.6em); }
.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__count {
  position:absolute; top:-90px; left:0; right:0; margin:auto; z-index:4;
  width:180px; height:180px; border:1px solid #fff; border-radius:50%; padding-top:90px;
  text-align: center; backface-visibility: hidden;
}
.p-page-header__count-label { display:block; margin-top:15px; font-size:14px; }
.p-page-header__count-number { display:block; margin-top:10px; font-size:24px; font-weight:600; }

/* アニメーション */
.p-page-header__count-animation {
  transform: translateY(-90px);
  animation: pageHeader_displayCount 0.5s cubic-bezier(0.17,0.84,0.44,1) 0.5s forwards;
}
@keyframes pageHeader_displayCount {
  0% { transform: translateY(-90px); }
  100% { transform: translateY(0);  }
}
.p-page-header__headline-animation {
  opacity:0;
  animation: pageHeader_displayText 1s ease 0.7s forwards;
}
.p-page-header__description-animation {
  opacity:0;
  animation: pageHeader_displayText 1s ease 1s forwards;
}
@keyframes pageHeader_displayText {
  0% { opacity:0; }
  100% { opacity:1; }
}

/* タグ専用ページヘッダー */
.p-page-header__tag {
  width:100%; height:200px; color:#000; background:#f5f5f5;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-align-items:center; -webkit-align-items:center; align-items:center;
}
.p-page-header__tag-inner { width:100%; text-align: center; }
.p-page-header__tag-headline { font-size:34px; line-height:1.5; }
.p-page-header__tag-headline span { display:block; margin:-0.25em 0; }
.p-page-header__tag-count {
  display:inline-block; min-width:45px; height:30px; line-height:30px; border-radius:30px;
  font-size:14px; background:#fff; margin-top:15px; padding: 0 10px;
}

@media (max-width: 767px) {
  .p-page-header { height:230px; }
  .p-page-header__headline { font-size:22px; }
  .p-page-header__description { font-size:16px; }
  .p-page-header__headline + .p-page-header__description { margin-top:calc(20px - 0.6em); }
  .p-page-header__count { width:120px; height:120px; top:-60px; padding-top:60px; }
  .p-page-header__count-label { font-size:12px; margin-top:10px; }
  .p-page-header__count-number { font-size:20px; margin-top:4px; }
  /* タグ */
  .p-page-header__tag { height:130px; }
  .p-page-header__tag-headline { font-size:22px; }
  .p-page-header__tag-count { margin-top:20px; height:25px; line-height: 25px; }
}


/* ----------------------------------------------------------------------
 投稿基本ループ
---------------------------------------------------------------------- */
@media not all and (max-width: 767px) {
  .l-sidebar + .l-main .p-archive-tab__content .p-archive__item { width:100%; border-right:none; }
  .l-sidebar + .l-main .p-archive-tab__content .p-archive__item-desc { display:block; line-height:1; max-height:1em; margin:20px 0 0; }
  .l-sidebar + .l-main .p-archive-tab__content .p-archive__item-desc span { -webkit-line-clamp: 1; }
}
.p-archive {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  border:0px solid #ddd; width:100%;
}
.p-archive__item {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  width:50%; border:0px solid #ddd;
  border-bottom-width:1px;
}
.p-archive__item:nth-of-type(2n+1) { border-right-width:1px; }
.p-archive__link { display:block; width:100%; }
.p-archive__item-content { padding:50px; }
.p-archive__item-meta {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  margin-bottom:20px; font-size:12px;
}
.p-archive__item-meta li:not(:last-child) { margin-right:15px; }
.p-archive__item-title { font-size:22px; line-height:1.6; max-height:3.2em; margin:-0.3em 0; transition:color 0.3s ease; }
.p-archive__item-tag { padding-top:20px; }
.p-archive__link:hover .p-archive__item-title { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.p-archive__item--type1 .p-archive__item-desc { display:none; line-height:2; max-height:4em; margin:calc(20px - 0.5em) 0 -0.5em; }

/* タイプ2 画像有り */
.p-archive__item--type2 { width:100%; }
.p-archive__item--type2:nth-of-type(2n+1) { border-right-width:0px; }
.p-archive__item--type2 .p-archive__link {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse;
}
.p-archive__item--type2 .p-archive__item-image { width:50%; position: relative; height: calc(100% + 1px); overflow: hidden; }
.p-archive__item--type2 .p-archive__item-image-bg { position:absolute; top:0; left:0; width:100%; height:100%; }
.p-archive__item--type2 .p-archive__item-content { width:50%; }
.p-archive__item--type2 .p-archive__item-desc { display:none; }

@media (max-width: 767px) {
  .p-archive__item { width:100%; }
  .p-archive__item:nth-of-type(2n+1) { border-right-width: 0px; }
  .p-archive__item-content { padding:30px 25px; }
  .p-archive__item-title { font-size:18px; max-height:4.8em; }
  .p-archive__item-title span { -webkit-line-clamp: 3; }
  .p-archive__item-meta li:not(:last-child) { margin-right:10px; }
  .p-archive__item--type1 .p-archive__item-desc { display:none; }
  /* タイプ2 画像あり */
  .p-archive__item--type2 .p-archive__link { padding:25px 20px; }
  .p-archive__item--type2 .p-archive__item-image { width:100%; height:auto; padding-top:40.625%; margin-bottom:20px; }
  .p-archive__item--type2 .p-archive__item-content { width:100%; padding:0; }
}



/* ----------------------------------------------------------------------
  トップページ　フロントカバー
---------------------------------------------------------------------- */

.p-front-cover { height:520px; min-height:400px; max-height:800px; position: relative; background:#ddd; }
.p-front-cover__contents { color:#fff; text-align: center; width:100%; padding:0 50px; position: relative; z-index:3; }
.p-front-cover__contents > * { opacity:0; transform:translateY(15px); }
body:not(.use_loading_screen) .p-front-cover__contents > *,
.close_loading_screen .p-front-cover__contents > * {
  animation: slider_SlideIN 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; animation-delay:1s; backface-visibility: hidden;
}
.p-front-cover__contents > * + * { animation-delay:1.3s!important; }
.p-front-cover__contents > * + * + * { animation-delay:1.7s!important; }
.p-front-cover__headline { font-size:36px; line-height:1.5; font-weight:600; }
.p-front-cover__headline span { display:block; margin:-0.25em 0; }
.p-front-cover__headline span + span { display:none; }
.p-front-cover__desc { font-size:18px; line-height:2.2; margin:-0.6em 0; }
* + .p-front-cover__desc { margin-top:calc(35px - 0.6em); }
.p-front-cover__desc span + span { display:none; }
.p-front-cover__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-front-cover__search { margin-top:40px; }
.p-front-cover__search-form { width: calc(100% - 60px); }
.p-front-cover__search-form input {
  display: block; width: 100%; height: 50px; padding-left: 25px;
  border: none; background: transparent; font-size: 16px;
}
.p-front-cover__search-button {}
.p-front-cover__search-button label {
  font-family: 'design_plus'; font-size: 18px; cursor: pointer; color:#000;
  width:60px; height:100%;
}
.p-front-cover__overlay { position:absolute; top:0; left:0; z-index:2; width:100%; height:100%; background:rgba(0, 0, 0, 0.1); }
.p-front-cover__image { position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; }
@media (hover: hover) and (pointer: fine) {
  .p-front-cover__search-button label:hover { color:rgba(0, 0, 0, 0.5) }
}

@media (max-width: 767px) {
  .p-front-cover {  }
  .p-front-cover__contents { padding:0 25px; }
  .p-front-cover__headline { font-size:22px; }
  .p-front-cover__headline span:not(:only-child) { display:none; }
  .p-front-cover__headline span:not(:only-child) + span { display:block; }
  .p-front-cover__desc { font-size:16px; }
  .p-front-cover__desc span:not(:only-child) { display:none; }
  .p-front-cover__desc span:not(:only-child) + span { display:block; }
  * + .p-front-cover__desc { margin-top:calc(20px - 0.6em); }
  * + .p-front-cover__search { margin-top:20px; }
}

@media (max-width: 599px) {
  .p-front-cover { height:calc( 100vh - 110px ); }
  .p-header-message ~ .l-container .p-front-cover { height:calc( 100vh - 150px ); }
}


/* ----------------------------------------------------------------------
  トップページ　 記事スライダー
---------------------------------------------------------------------- */

.p-header-post-slider { height:520px; }
.p-header-post-slider__inner { width:100%; height:100%; }
.p-header-post-slider__list { will-change: transform; transition-timing-function:cubic-bezier(0.65,0.05,0.36,1); }
.p-header-post-slider__item { position: relative; z-index:1; }
.p-header-post-slider__item * { color:#fff; }
.p-header-post-slider__item-link { display:block; position:relative; height:100%; }
.p-header-post-slider__item-content { width:100%; padding:50px; position: absolute; top:0; left:0; z-index:5; }
.p-header-post-slider__item-meta { margin-bottom:20px; }
.p-header-post-slider__item-meta li:not(:last-child) { margin-right:15px; }
.p-header-post-slider__item-category .c-category:not(:hover) { border-color:#fff!important; }
.p-header-post-slider__item-title { font-size:28px; line-height:1.5; max-height:3em; margin:-0.25em 0; z-index:4; }
.p-header-post-slider__item-tags { padding-top:20px; }
.p-header-post-slider__item-overlay {
  position:absolute; top:0; left:0; width:100%; height:100%; z-index:4;
  background: -moz-linear-gradient(to bottom, rgba(0,0,0, 70%), rgba(0,0,0, 10%));
  background: -webkit-linear-gradient(to bottom, rgba(0,0,0, 70%), rgba(0,0,0, 10%));
  background: linear-gradient(to bottom, rgba(0,0,0, 70%), rgba(0,0,0, 10%));
}
.p-header-post-slider__item-image {
  position:absolute; top:0; left:0; width:100%; height:100%; z-index:3;
}
@media (max-width: 1300px) {
  .p-header-post-slider { width:100%; }
}
@media (max-width: 767px) {
  .p-header-post-slider { height: 260px; }
  .p-header-post-slider__item-content { padding:20px; }
  .p-header-post-slider__item-title { font-size:20px; }
  .p-header-post-slider__item-tags { padding-top:18px; }
}


/* ----------------------------------------------------------------------
  トップページ　コンテンツスライダー
---------------------------------------------------------------------- */
.p-header-slider-wrapper { position: relative; overflow:hidden; }
.p-header-slider { width:100%; height:520px; min-height: 400px; max-height: 800px; position:relative; }
.p-header-slider__inner {}
.p-header-slider__item { display:block; background:#000; }
.p-header-slider__contents {
  width:100%; padding:0 50px;
  position: absolute; top: 50%; left: 0%; transform: translateY(-50%); z-index:3;
  color:#fff; text-align: center;
}
.p-header-slider__title { font-size:36px; line-height:1.5; margin:-0.25em 0; }
.p-header-slider__title--sp { display:none; }
.p-header-slider__desc { font-size:18px; line-height:2.2; margin:-0.6em 0; }
* + .p-header-slider__desc { margin-top:calc( 35px - 0.6em ); }
.p-header-slider__desc--sp { display:none; }

/* ボタン */
* + .p-header-slider__link { margin-top:40px; }
.p-header-slider__link-button {
  max-width:100%; width:270px; height:60px; line-height:1.5; padding:0 1.5em;
  text-align:center; position:relative; overflow:hidden; font-size:16px; z-index:1;
  color:#fff; border-width:1px; border-style:solid; text-decoration: none;
  transition:border-color 0.2s ease;
}
.p-header-slider__link-button:before {
  content: ''; display: block; width: 100%; height: calc(100% + 2px);
  position: absolute; top: -1px; z-index: -1;
  transition-property:background-color, left, opacity;
  transition-duration:0.5s;
  transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);
}
.p-header-slider__link-button:hover { color:#fff; }

/* オーバーレイ */
.p-header-slider__overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }

/* 画像 */
.p-header-slider__bg--image { width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }

/* mp4動画 */
.p-header-slider__bg--video { width:100%; height: 100%; object-fit: cover; overflow:hidden; }

/* YouTube */
.p-header-slider__bg--youtube { width:100%; height:100%; overflow: hidden; position: relative;  }
.p-header-slider__bg--youtube-inner { aspect-ratio: 16 / 9; width:100%; }
.p-header-slider__bg--youtube-player { width:100%; height:100%; transition:opacity 0.2s ease; pointer-events: none; }


/* コンテンツアニメーション */

/* タイプ 1 - フェードイン */
.p-content-animation--type1 .p-header-slider__contents > * { opacity:0; }
.p-content-animation--type1 .swiper-slide-active .p-header-slider__contents > * {
  animation: slider_FadeIN 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; animation-delay:1.3s;
}
.p-content-animation--type1 .swiper-slide-active .p-header-slider__contents > * + * { animation-delay:1.7s; }
.p-content-animation--type1 .swiper-slide-active .p-header-slider__contents > * + * + * { animation-delay:2.1s; }

@keyframes slider_FadeIN {
  0% { opacity:0; }
  100% { opacity:1; }
}

/* タイプ 2 - スライドイン */
.p-content-animation--type2 .p-header-slider__contents > * { opacity:0; transform:translateY(15px); }
.p-content-animation--type2 .swiper-slide-active .p-header-slider__contents > * {
  animation: slider_SlideIN 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; animation-delay:1.3s; backface-visibility: hidden;
}
.p-content-animation--type2 .swiper-slide-active .p-header-slider__contents > * + * { animation-delay:1.7s; }
.p-content-animation--type2 .swiper-slide-active .p-header-slider__contents > * + * + * { animation-delay:2.1s; }

@keyframes slider_SlideIN {
  0% { opacity:0; transform:translateY(15px); }
  100% { opacity:1; transform:translateY(0px); }
}

/* 背景アニメーション */

/* ズームアウト */
.p-bg-animation--type1 .p-header-slider__bg--image { transform: scale(1.0); transition:transform 25s ease; }
.p-bg-animation--type1 .swiper-slide-active .p-header-slider__bg--image { transform: scale(1.3); }
.p-bg-animation--type2 .p-header-slider__bg--image { transform: scale(1.3); transition:transform 25s ease; }
.p-bg-animation--type2 .swiper-slide-active .p-header-slider__bg--image { transform: scale(1.0); }

/* 背景リンク時のホバーアニメーション */
@media (hover: hover) and (pointer: fine) {
  a.p-header-slider__item .p-header-slider__bg--image { transition:transform 25s ease, opacity 0.3s ease; }
  a.p-header-slider__item .p-header-slider__bg--video,
  a.p-header-slider__item .p-header-slider__bg--youtube { transition:opacity 0.3s ease; }
  a.p-header-slider__item:hover .p-header-slider__bg--image,
  a.p-header-slider__item:hover .p-header-slider__bg--video,
  a.p-header-slider__item:hover .p-header-slider__bg--youtube { opacity:0.8; }
}

@media (max-width: 1024px) {
  .p-header-slider__bg--youtube-inner { width:auto; height:calc(100% + 110px); }
}

@media (max-width: 767px) {
  .p-header-slider__contents { padding:0 25px; }
  .p-header-slider__title { font-size:22px; }
  .p-header-slider__title--sp { display:block; }
  .p-header-slider__title--sp + .p-header-slider__title--pc { display:none; }
  .p-header-slider__desc { font-size:16px }
  * + .p-header-slider__desc { margin-top:calc( 25px - 0.6em ); }
  .p-header-slider__desc--sp { display:block; }
  .p-header-slider__desc--sp + .p-header-slider__desc--pc { display:none; }
  * + .p-header-slider__link { margin-top:25px; }
  .p-header-slider__link-button { max-height: 50px; }
}

@media (max-width: 599px) {
  .p-header-slider { height:calc( 100vh - 110px ); }
  .p-header-message ~ .l-container .p-header-slider { height:calc( 100vh - 150px ); }
}

/* ----------------------------------------------------------------------
  トップページ タブコンテンツ
---------------------------------------------------------------------- */

/* タブ */
.p-archive-tab__label { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.p-archive-tab__label-item {
  width:100%; height:60px; padding:0 10px; font-size:16px; line-height:1.4; font-weight:600;
  background:rgba(var(--tcd-accent-color, 0,0,0),1); color:#fff; cursor: pointer;
}
.p-archive-tab__label-item.is-active {
  background:transparent; color:#000; cursor: auto; pointer-events: none;
}
.p-archive-tab__label-item:not(.is-active) {
  transition: background 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .p-archive-tab__label-item:not(.is-active):hover {
    background:rgba(var(--tcd-accent-color, 0,0,0),0.85);
  }
}
.p-archive-tab__content {  }
.p-archive-tab__content-item:not(.is-active) { display:none; }

/* アニメーション */
.p-archive-tab__content-item .p-archive__item { opacity:0; }
.p-archive-tab__content-item.is-first .p-archive__item { opacity: 1; }
.p-archive-tab__content-item .p-archive__item.is-show { opacity:0; animation: display_tabItem 0.3s ease forwards; }

@keyframes display_tabItem {
  0% { opacity:0; }
  100% { opacity:1; }
}

@media (max-width: 767px) {
  .p-archive-tab__label-item { height:50px; font-size:14px; }
  .p-archive-tab__content-item .p-archive__item--type2:first-of-type > a { padding-top:30px; }
}

/* タブボタン */
.p-archive-tab__button-wraper { width:100%; padding:60px 50px 150px; text-align: center; }
.p-has-bottom .p-archive-tab__button-wraper { padding-bottom:10px; }
.p-archive-tab__button {
  max-width:100%; min-width:280px; height:60px; padding:0 30px; border-radius:60px;
  font-size:16px; font-weight:600; line-height: 1.4; color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1);
}
@media (hover: hover) and (pointer: fine) {
  .p-archive-tab__button:hover { background:rgba(var(--tcd-accent-color, 0,0,0),0.8); }
}
@media (max-width: 767px) {
  .p-archive-tab__button-wraper { padding:40px 25px; }
  .p-archive-tab__button { font-size:14px;  min-width:240px; height:50px; padding:0 20px; border-radius:50px; }
}

/* ----------------------------------------------------------------------
  トップページ用　固定ページ
---------------------------------------------------------------------- */
.p-front-page__body { padding:50px; }
.p-front-page__body.is-active:not(.is-first) { animation: frontPage_tabAnimation 0.7s ease forwards; }
@keyframes frontPage_tabAnimation {
  0% { opacity:0; }
  100% { opacity:1; }
}

@media (max-width: 767px) {
  .p-front-page__body { padding:25px; }
}
.p-front-page__body a > img { transition:opacity 0.3s ease; }
.p-front-page__body a:hover > img { opacity:0.7; }



/* ----------------------------------------------------------------------
  固定ページ - LPページ
---------------------------------------------------------------------- */

.p-article--lp { margin:100px 0 150px; }
.p-article--lp-body { width:60%; margin:0 auto; }
.p-article--lp-body--narrow { max-width:750px; width:calc(100% - 100px); }
.p-article--lp-body--normal { max-width:900px; width:calc(100% - 100px); }
.p-article--lp-body--wide { max-width:1200px; width:calc(100% - 100px); }

@media (max-width: 1024px) {
  .p-article--lp-body { width:calc(100% - 100px); }
}
@media (max-width: 767px) {
  .p-article--lp { margin:40px 0; }
  .p-article--lp-body { width:calc(100% - 40px); }
}


/* ----------------------------------------------------------------------
  固定ページ - ランキング
---------------------------------------------------------------------- */
.p-ranking__item-rank {
  font-family:"Arial"; font-size:14px; width:35px; min-width:35px; height:100%; background:#f5f5f5;
}
.p-ranking__tab-area:not(.is-active) { display:none; }
@media (max-width: 767px) {
  .p-ranking__item-rank { width:30px; min-width:30px; }
}


/* ----------------------------------------------------------------------
  固定ページ - 投稿者一覧ページ
---------------------------------------------------------------------- */

.p-author-list__item { width: 50%; border: 0px solid #ddd; border-bottom-width: 1px; }
.p-author-list__item:nth-of-type(2n+1) { border-right-width: 1px; }
.p-author-list__link {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  -ms-align-items:center; -webkit-align-items:center; align-items:center;
  padding:50px;
}
.p-author-list__image { width:120px; height:120px; margin-right:45px; border-radius:50%; overflow: hidden; }
.p-author-list__contents { width:calc(100% - 165px); }
.p-author-list__title { font-size:20px; line-height:2.4; margin:-0.7em 0; }
.p-author-list__title > a { display:inline-block; margin:-0.7em 0; }
.p-author-list__title > a:hover { color:rgba(0, 0, 0, 0.5); }
.p-author-list__sub-title { font-size:14px; line-height:1.6; color:#999999; padding-top:20px; }
.p-author-list__sub-title span { display:block; margin:-0.3em 0; }
.p-author-list__desc {
  width:100%; font-size:16px; line-height:2.2; max-height: 4.4em; margin:calc(45px - 0.6em) 0 -0.6em;
}
.p-author-list__sns-icons { margin-top:20px; }
@media (max-width: 1024px) {
  .p-author-list__item { width:100%; }
  .p-author-list__item:nth-of-type(2n+1) { border-right-width: 0px; }
}
@media (max-width: 767px) {
  .p-author-list__link { padding:30px 25px; }
  .p-author-list__image { width:100px; height:100px; margin-right:20px; }
  .p-author-list__contents { width:calc(100% - 120px); }
  .p-author-list__title { font-size:18px; }
  .p-author-list__sub-title { padding-top:15px; }
  .p-author-list__sns-icons { margin-top:15px; }
  .p-author-list__desc { font-size:14px; line-height:2; max-height:4em; margin:calc(25px - 0.5em) 0 -0.5em; }

}


/* ----------------------------------------------------------------------
  投稿詳細ページ
---------------------------------------------------------------------- */

.p-article { padding-bottom: 1px; }

/* ヘッダー */
.p-article__header {  }
.p-article__header-image { width:calc(100% + 2px); margin-left:-1px; }
.p-article__header-image img { width:100%; }
.p-article__header-contents { padding:50px; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.p-article__header-image + .p-article__header-contents { margin-top:-1px; }
.p-article__header-meta { margin-bottom:20px; }
.p-article__header-meta li:not(:last-child) { margin-right:15px; }
.p-article__header-title { font-size:30px; line-height:1.4; margin:-0.2em 0; word-wrap: break-word;}
.p-article__header-tags { padding-top:20px; padding-left:2px; }
@media (max-width: 767px) {
  .p-article__header-contents { padding:25px; }
  .p-article__header-title { font-size:22px; }
  .p-article__header-meta { margin:-10px 0 20px -10px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .p-article__header-meta li { margin:10px 0 0 10px; }
  .p-article__header-meta li:not(:last-child) { margin-right:0px; }
}

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

.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;
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.3s; -webkit-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.3s; transition-timing-function:ease;
}
.p-copy-title-url__button:hover { color:rgba(0,0,0,0.5) !important; }
.p-copy-title-url__button.copied { background:#ccc; color:#fff; pointer-events:none; }

@media (max-width:767px) {
  * + .p-copy-title-url { margin-top:30px; }
  .p-copy-title-url__button { border-width:2px; font-size:12px; line-height:46px; min-width:250px; }
}

/* 本文 */
.p-article__contents { padding:50px; }
* + .p-article-body { margin-top:50px; }
@media (max-width: 767px) {
  .p-article__contents { padding:30px 25px 40px; }
  * + .p-article-body { margin-top:40px; }
}

/* キャプション */
.p-article__header-caption {
  margin:20px 0 -0.5em; line-height:2;
}

/* 記事下メタボックス */
.p-metabox { margin-top:50px; }
.p-metabox__list { padding:15px 30px; border:1px solid #ddd; background:#fff; }
.p-metabox__item { display:inline; padding:0 15px 0 25px; font-size:12px; line-height:1.8; position:relative; }
.p-metabox__item:not(:last-child) { margin-right:10px; border-right:1px solid #ddd; }
.p-metabox__item:before { font-family:'design_plus'; color:#666; font-size:14px; line-height:1; position:absolute; top:0px; left:0px; }
.p-metabox__item a:hover { color:rgba(0,0,0,0.5); }
.p-metabox__item--author:before { content:'\e90d'; }
.p-metabox__item--category:before { content:'\e92f'; }
.p-metabox__item--post-tag:before { content:'\e935'; }
.p-metabox__item--comment:before { content:'\e916'; font-size:20px; top:-3px; left:-2px; }
@media (max-width: 767px) {
  .p-metabox { margin-top:40px; }
  .p-metabox__list { padding:15px 20px 13px; }
  .p-metabox__item { display:block; padding:0 0 0 25px; }
  .p-metabox__item:not(:last-child) { margin:0 0 5px 0; border-right:none; }
  .p-metabox__item:before { line-height:1.5; }
}

/* 次の記事・前の記事 */
.p-page-nav { margin-top:50px; 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:120px; padding:0 30px; color:#000; border:1px solid #ddd;
}
.p-page-nav__item:hover { color:rgba(0,0,0,0.5); }
.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; }
.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.6; max-height: 3.2em; width:100%;
}
.p-page-nav__title-sp { display:none; }

@media (max-width: 767px) {
  .p-page-nav { margin-top:40px; font-size:12px; }
  .p-page-nav__item { height:50px; padding:0 15px; }
  .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-author-profile {
  background:#f5f5f5; margin:50px 0 0; position:relative; padding:40px;
  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__image { display:block; width:120px; height:120px; border-radius:100%; overflow:hidden; }
.p-author-profile__image img { width:100%; }
.p-author-profile__content { width:calc(100% - 120px); padding-left:40px; }
.p-author-profile__title { font-size:18px; margin-bottom:20px; }
.p-author-profile__title a:hover { color:rgba(0, 0, 0, 0.5); }
.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.6em; }

@media (max-width:767px) {
  .p-author-profile { margin-top:40px; padding:20px; }
  .p-author-profile__image { width:90px; height:90px; }
  .p-author-profile__content { width:calc(100% - 90px); padding-left:15px; }
  .p-author-profile__title { font-size:16px; margin-bottom:15px; }
  .p-author-profile__desc { font-size: 12px; }
  .p-author-profile .c-sns-icons--type1 { font-size:14px; }
}

/* 広告 */
.p-single-banner { max-width:100%; margin:50px auto 0; line-height: 2;}
.p-single-banner img { max-width:100%; height:auto; }
.p-single-banner a img { -webkit-transition: filter 0.3s ease; transition: filter 0.3s ease; }
@media(hover: hover) {
  .p-single-banner a:hover img { filter: brightness(80%); }
}

/* 関連記事 */
.p-related-post { margin-bottom:-1px; background: #fff; }
.p-archive__item--related .p-archive__item-content { padding:30px 50px; }
.p-archive__item--related .p-archive__item-title { font-size:18px; max-height:4.8em; height:4.8em }
.p-archive__item--related .p-archive__item-title > span { -webkit-line-clamp: 3; }
@media (max-width: 767px) {
  .p-archive__item--related .p-archive__item-content { padding:20px 25px; }
  .p-archive__item--related .p-archive__item-title { font-size:18px; height:auto; }
}

/* ページ分割 */
.p-page-break { font-size:0; text-align:center; }
.p-page-break a, .p-page-break p {
  font-family:"Arial"; color:#000; border-bottom:4px solid transparent; font-size:14px;
  width:60px; height:70px; line-height:70px; display:inline-block; text-align:center;
  transition: border-color 0.25s ease;
}
.p-page-break p { border-color:#000; position:relative; margin:0; }

/* コメント */
.p-single-comment { position: relative; }

/* ----------------------------------------------------------------------
  いいね
---------------------------------------------------------------------- */

.p-single-like {
  color:#000; text-align: center;
  padding:50px 30px; background:#f5f5f5; border-radius:10px;
}
* + .p-single-like { margin-top:50px; }
.p-single-like__title { font-size:18px; font-weight: 600; line-height:1.6; }
.p-single-like__title span { display:block; margin:-0.3em 0; }
.p-single-like__desc { line-height:2; }
.p-single-like__desc span { display:block; margin:-0.5em 0; }
* + .p-single-like__desc { padding-top:30px; }
.p-single-like__button {
  cursor: pointer; transition: box-shadow 0.3s ease, transform 0.3s ease;
  width:120px; height:50px; padding:0; border:none; background:#fff; border-radius: 50px;
  color:#d80000; margin:0 auto;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.p-single-like__button:before { color:#999; }
* + .p-single-like__button { margin-top:30px; }
.p-single-like__button.is-liked:before { color:inherit; content: '\e94d'; }
.p-single-like__button:hover { box-shadow: 0px 2px 25px -6px rgba(0,0,0,0.2); transform: translateY(-1px); }

@media (max-width: 767px) {
  .p-single-like { padding:30px 25px; }
  * + .p-single-like { margin-top:40px; }
  .p-single-like__title { font-size:16px; }
  .p-single-like__desc { font-size:14px; }
  * + .p-single-like__desc { padding-top:25px; }
  .p-single-like__button { margin-top:25px; }
}


/* ----------------------------------------------------------------------
  投稿者一覧ページ
---------------------------------------------------------------------- */
.p-author-info { padding:100px 0; border-bottom:1px solid #ddd; }
.p-author-info__inner { width:60%; margin:0 auto; }
.p-author-info__desc { line-height:2.2; margin:-0.6em 0; }
.p-author-info__icons { margin-top:40px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
@media (max-width: 1024px) {
  .p-author-info__inner { width:calc(100% - 100px); }
}
@media (max-width: 767px) {
  .p-author-info { padding:40px 0; }
  .p-author-info__inner { width:calc(100% - 40px); }
  .p-author-info__icons { margin-top:25px; }
}



/* ----------------------------------------------------------------------
  404ページ
---------------------------------------------------------------------- */
.p-404-page { width:100%; height:calc(100vh - 140px); position:relative; }
.p-404-page__contents {
  width:100%; max-height:100%; text-align:center; position: relative; z-index:3; padding:100px 315px;
  overflow-x: hidden; overflow-y: auto;
}
.p-404-page__headline { font-size:36px; line-height:1.5; margin:-0.25em 0; }
.p-404-page__desc { line-height:2.2; margin:-0.6em 0; }
* + .p-404-page__desc { margin-top:calc(40px - 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__post-tags { margin: -6px 0px 0px -7px; }
* + .p-404-page__post-tags { margin-top:40px; }
.p-404-page__post-tags a {
  display: block; color:inherit; height: 35px; padding: 0px 12px; line-height: 35px; margin: 6px 0px 0px 6px;
  border-radius: 5px; overflow: hidden; transition: all 0.3s ease;
}
.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%;
}
/* タイプ1 */
.p-404-page--type1 { color:#000; background:#f5f5f5; }
.p-404-page--type1 .p-404-page__post-tags a { color:#999999; border:1px solid #999999; }

/* タイプ2 */
.p-404-page--type2 { color:#fff; }
.p-404-page--type2 .p-404-page__desc a { color:#fff; text-decoration: underline; }
.p-404-page--type2 .p-404-page__post-tags a { color:#fff; border:1px solid #fff; }

@media (hover: hover) and (pointer: fine) {
  .p-404-page--type1 .p-404-page__post-tags a:hover { color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1); border-color:rgba(var(--tcd-accent-color, 0,0,0),1); }
  .p-404-page--type2 .p-404-page__post-tags a:hover { color:#000; background:#fff; }
  .p-404-page--type2 .p-404-page__desc a:hover { color:rgba(255, 255, 255, 0.5); }
}
@media (max-width: 1300px) {
  .p-404-page { height:calc( 100vh - 170px ); }
  .p-404-page__contents { padding:100px 50px; }
}
@media (max-width: 767px) {
  .p-404-page { height:calc( 100vh - 210px ); }
  .p-404-page__contents { padding:40px 25px; }
  .p-404-page__headline { font-size:24px; }
  * + .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; }
}


/* ----------------------------------------------------------------------
  検索結果ページ
---------------------------------------------------------------------- */
/* ループ */
.p-archive__item--search .p-archive__item-desc { display:block; }
.p-archive__item--search .p-archive__item-title { max-height:1.6em; }
.p-archive__item--search .p-archive__item-title span { -webkit-line-clamp: 1; }

/* 結果が無い時の画面 */
.p-search { padding:100px; height:100%; background:#f5f5f5; text-align: center; }
.p-search__headline { font-size:34px; line-height:1.5; margin:-0.25em 0; }
.p-search__desc { line-height:2.2; margin:-0.6em 0; }
* + .p-search__desc { margin-top:calc(40px - 0.6em); }
.p-search__desc a { color:rgba(var(--tcd-link-color, 21,120,214),1); }
.p-search__desc a:hover { text-decoration: underline; }
* + .p-search__form { margin-top:40px; }
.p-search__post-tags { margin: -6px 0px 0px -7px; }
* + .p-search__post-tags { margin-top:40px; }
.p-search__post-tags a {
  display: block; color:inherit; height: 35px; padding: 0px 12px; line-height: 35px; margin: 6px 0px 0px 6px;
  border-radius: 5px; overflow: hidden; transition: all 0.3s ease;
  color:#999999; border:1px solid #999999;
}
@media (hover: hover) and (pointer: fine) {
  .p-search__post-tags a:hover { color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1); border-color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
@media (max-width: 1300px) {
  .p-search { padding:100px 50px; }
}
@media (max-width: 767px) {
  .p-search { padding:40px 25px; }
  .p-search__headline { font-size:22px; }
  * + .p-search__desc { margin-top:calc(25px - 0.6em); }
  * + .p-search__form { margin-top:25px; }
  * + .p-search__post-tags { margin-top:20px }
}

/* ----------------------------------------------------------------------
  ウィジェット
---------------------------------------------------------------------- */

/* 基本設定 */
.p-widget { width:100%; font-size:16px; line-height:1.8; position: relative; }
@media not all and (max-width: 1024px) {
  .p-widget:not(:first-of-type) { margin-top:50px; }
}
@media (max-width: 1024px) {
  .p-widget { width:calc(50% - 50px); margin:50px 0 0 50px; }
}
@media (max-width: 767px) {
  .p-widget { width:calc(50% - 25px); margin:40px 0 0 25px; }
}
@media (max-width: 599px) {
  .p-widget { width:100%; margin:40px 0 0 0; }
}

/* 見出し */
.p-widget__headline { font-size:18px; font-weight:600; line-height: 1.4; margin-bottom:20px; }
.p-widget__headline span { display:block; margin:-0.2em 0; }

/* バナーウィジェット */
.p-widget-banner { display:block; position: relative; }
.p-widget-banner__content { font-weight: 600; position:absolute; left:0; bottom:0; z-index:3; width:100%; color:#fff; padding:25px 25px 20px; }
.p-widget-banner__sub-title { display: block; font-size:14px; line-height:1.8; }
.p-widget-banner__title { display:block; font-size:24px; line-height:1.2; }
.p-widget-banner__overlay { position: absolute; bottom:0; left:0; width: 100%; height:70%; z-index:2; }
.p-widget-banner__image { width:100%; }
.p-widget-banner__sub-title + .p-widget-banner__title {  }

/* ランキング */
.p-widget-ranking__tab-label { border:1px solid #ddd; border-bottom:none; }
.p-widget-ranking__tab-label__item {
  cursor: pointer; width:50%; height:50px; line-height:1.4; text-align: center; font-size:14px; padding:0 5px;
}
.p-widget-ranking__tab-label__item:not(:first-of-type) { border-left:1px solid #ddd; }
.p-widget-ranking__tab-label__item { background:#f6f6f6; border-bottom:1px solid #ddd; }
.p-widget-ranking__tab-label__item.is-active { background:#fff; border-bottom-color:#fff; }

.p-widget-ranking:not(.is-active) { display:none; }
.p-widget-ranking__item { height:100px; }
.p-widget-ranking__rank {
  width:30px; height:100%; line-height:100px; text-align: center;
  color:#fff; background-color: #fff; position: relative;
}
.p-widget-ranking__rank.low_rank{ border-bottom:1px solid #ddd; border-left:1px solid #ddd; }
.p-widget-ranking__content {
  width:calc(100% - 30px); padding:0 20px; border-bottom:1px solid #ddd; border-right:1px solid #ddd;
}
.p-widget-ranking:only-child .p-widget-ranking__item:first-of-type .p-widget-ranking__content { border-top:1px solid #ddd; }
.p-widget-ranking__title { font-size: 14px; line-height:1.8; max-height:5.4em; }
.p-widget-ranking__rank-label { position: relative; z-index:1; }
.low_rank .p-widget-ranking__rank-label{ color:#000; opacity:0.25; }
.p-widget-ranking__rank-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-color: #006666; }
.l-sidenav .p-widget-ranking .no_post{ margin: 20px; }
.l-sidebar .p-widget-ranking .no_post{ margin: 0; }


/* いいね */
.p-widget-liked-posts__list {}
.p-widget-liked-posts__item { height:100px; border:1px solid #ddd; }
.p-widget-liked-posts__item:not(:first-of-type) { margin-top:-1px; }
.p-widget-liked-posts__count {
  width:45px; background:#f6f6f6; border-right:1px solid #ddd;
  color:#d90000; line-height:1.2;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
}
.p-widget-liked-posts__count:before { content:'\e94d'; margin:0; }
.p-widget-liked-posts__count-label { }
.p-widget-liked-posts__link { width:calc(100% - 45px); padding:0 20px; }
.p-widget-liked-posts__title { font-size:14px; line-height:1.8; max-height:5.4em; }
.l-sidenav .like_post_list_widget .no_post{ margin: 20px; }
.l-sidebar .like_post_list_widget .no_post{ margin: 20px 20px 0; }


/* 記事スライダー */
.p-widget-slider__image { position:relative; margin-bottom:20px; }
.p-widget-slider__image-bg { padding-top:56.25%; }
.p-widget-slider__title { font-size:16px; line-height:1.6; max-height:3.2em; margin:-0.3em 0; }
.p-widget-slider__headline {
  -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
  margin-bottom:20px;
}
.p-widget-slider__headline h3 { margin-bottom:0; }
.p-widget-slider__pagination .swiper-pagination { position: relative; bottom:0!important; }
.p-widget-slider__pagination .swiper-pagination-bullet {
  width: 10px; height: 10px; background: #ddd;
  opacity: 1; transition: background 0.2s ease;
}
.p-widget-slider__pagination .swiper-pagination-bullet-active { background: #000; pointer-events: none; }
.p-widget-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet { margin-left:5px; }


/* ----------------------------------------------------------------------
  utility
---------------------------------------------------------------------- */

/* 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; }


/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */

/* Cardlink style - カードリンクのスタイル */
.cardlink { word-wrap: break-word; max-width: 100%; margin: 45px 0 !important; padding: 12px; border: 1px solid #ddd; background: #fafafa; }
.cardlink_thumbnail { margin-right: 20px; float: left; }
.cardlink_content { line-height: 1.6; }
.cardlink_timestamp { display: inline; margin: 0; padding: 0; color: #222; font-size: 12px; line-height: 1.6; vertical-align: top; }
.cardlink_title { margin: 0 0 5px; font-size: 14px; }
.cardlink_title a { color: #000; font-weight: bold; text-decoration: none; }
.cardlink_title a:hover { text-decoration: underline; }
.cardlink_excerpt { overflow: hidden; color: #333; font-size: 12px; line-height: 1.8; }
.cardlink_footer { clear: both; }
.clear { clear: both; }
@media screen and (max-width: 767px) {
  .cardlink_thumbnail { float: none; }
  .cardlink_timestamp { line-height: 2.4; vertical-align: middle; }
  .cardlink_excerpt { float: none; }
}


/* 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; }

/* ----------------------------------------------------------------------
 ブロックエディターのYotutubeのレスポンシブ対応
---------------------------------------------------------------------- */
.wp-block-embed { margin:0 0 2em 0; }

/* admin bar利用時 */
body.admin-bar { padding-top:32px; }
@media screen and (max-width:782px) {
  body.admin-bar { padding-top:46px; }
}


/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-table.is-style-stripes td,
.wp-block-table .has-background td{
  background-color: transparent;
}

/* TCDCE対策 移設 */

/* ----------------------------------------------------------------------
 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; }
}