@charset "utf-8";
/*
Theme Name:PORTAL
Theme URI:https://tcd-theme.com/tcd095
Description:WordPress theme "PORTAL" is an ideal template for personal blogs. Smartened theme options support your blog management. Stylish design and preset colors that can be used without any images are also part of its charm.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.9
Text Domain:tcd-portal
*/

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


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

:root {

  /* 基本カラー */
  --tcd-accent-color:0,0,0;    /* #bf9d87 */
  --tcd-link-color:21,120,214; /* #1578d6 */
  --tcd-bg-color:249,248,245; /* #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 { color:rgba(var(--tcd-link-color, 21,120,214),1); }
.post_content a:not([class]):hover, .post_content .e_link: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; }

/* サイト全体の枠線 */
.p-site-border { border: 15px solid rgba(var(--tcd-accent-color, 0,0,0),1); }
@media (max-width: 767px) {
  .p-site-border { border-width:10px; }
}
/* ----------------------------------------------------------------------
 上付き文字、下付き文字
---------------------------------------------------------------------- */
sup {
  vertical-align: super;
  font-size: smaller;
  }
  sub {
  vertical-align: sub;
  font-size: smaller;
  }

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

.l-container { position: relative; }
.l-main { position: relative; width:100%; }
.l-sidebar { width:300px; }
@media not all and (max-width: 1200px) {
  .l-sidebar__inner { height:100%; flex-direction: column; }
}
@media (max-width: 1200px) {
  .l-sidebar { width:100%; margin-top:100px; }
  .l-sidebar__inner { margin:-50px 0 0 -50px; }
}
@media (max-width: 767px) {
  .l-sidebar { margin-top:40px; }
  .l-sidebar__inner { margin:-40px 0 0 -25px; }
}
@media (max-width: 599px) {
  .l-sidebar__inner { margin: -40px auto 0; }
}
.l-inner { max-width: 810px; width:calc(100% - 80px); margin: 0 auto; }
@media (max-width: 767px) {
  .l-inner { width:calc(100% - 40px); }
}
.l-header { width:100%; position:absolute; top:0; left:0; z-index:98; }
.l-header__inner { position:relative; }
@media not all and (max-width: 767px) {
  .hide-profile .l-header__inner { border:none; }
}  
.l-footer--hide { margin-bottom:-15px; }
@media (max-width: 767px) {
  .l-footer--hide { margin-bottom:-10px; }
}

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

/* 行間 */
.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 { font-size:14px; color:rgba(var(--tcd-accent-color, 0,0,0),1); }
span.c-category { transition:color 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
  .c-category:hover { color:rgba(var(--tcd-accent-color, 0,0,0),0.5); }
}

/* タグ */
.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; }
@media (hover: hover) and (pointer: fine) {
  .c-post-tags__link:hover { opacity:0.5; }
}

/* 日付 */
.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:26px; line-height:1.5; text-align: center; margin:-0.25em 0 calc(60px - 0.25em);
}
@media (max-width: 767px) {
  .c-article-title { font-size: 20px; margin-bottom:calc(35px - 0.25em); }
}

/* 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 { content:'\e944'; }
.c-sns-icons__link--twitter:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
.c-sns-icons__link--instagram:before { content:'\ea92'; font-size:0.95em; padding-top:0.05em; }
.c-sns-icons__link--tiktok:before { font-family: 'tiktok_x_icon'; content: "\e900"; }
.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--tiktok: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-pagination {
  padding:100px 0; border-top:1px solid #ddd; 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; }
* + .c-pagination__item { margin-left:10px; }
.c-pagination__item a, .c-pagination__item span {
  display: inline-block; min-width: 50px; height: 50px; line-height: 50px;
  font-size: 14px; text-align: center; color: #000; border-radius: 50%; overflow: hidden;
  border:1px solid #ddd;
}
.c-pagination__item a { transition:all 0.3s ease; }
.c-pagination__item span.dots { min-width:30px; border:none; font-weight: normal; }
.c-pagination__item .current, .c-pagination__item a:hover
{ color:#fff; background-color:rgba(var(--tcd-accent-color, 0,0,0),1); border-color:rgba(var(--tcd-accent-color, 0,0,0),1); }

@media (max-width: 767px) {
  .c-pagination { padding:40px 0; }
  .c-pagination__item span.dots { min-width:20px; }
}

/* パンくずリスト */
.c-breadcrumb { max-width:calc(100% - 90px); }
.c-breadcrumb__list {
  width:100%; height:100px;
  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 { overflow:hidden; white-space: nowrap; text-overflow: ellipsis; visibility:visible; }
.c-breadcrumb__item--home:before { content:"\e90c"; font-family: "design_plus"; transition: none; }
.c-breadcrumb__item--home > span { display:none; }
.c-breadcrumb__item:last-of-type { overflow: hidden; }


@media (max-width: 767px) {
  .c-breadcrumb {
    max-width: initial; width: calc(100% + 40px); margin-left: -20px; padding: 0 20px;
    overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; overflow-y: hidden;
  }
  .c-breadcrumb::-webkit-scrollbar { display:none;}
  .c-breadcrumb__list { height:50px; padding-top:1px; }
  .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-breadcrumb__item:before { margin:0 5px; }
}

/* ロゴ */
.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__image { max-width:100%; width:auto; max-height:100%; }
.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 + .c-logo__image { display:none; }
}
@media (max-width: 767px) {
  .c-logo__image { display:none; }
  .c-logo__image + .c-logo__image { 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; }
@media (hover: hover) and (pointer: fine) {
  .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; }

/* PORTAL専用 */

/* 特殊日付 */
.c-release-date { font-size:12px; min-width:115px; font-family: 'Arial'; color:rgba(var(--tcd-accent-color, 0,0,0),1); }
.c-release-date__inner { display: block; text-align: center; padding-right:45px; margin-top:-2px; }
.c-release-date span { display: block; }
.c-release-date__day { font-weight:700; font-size:50px; }
.c-release-date__month { margin-top:12px; }
.c-release-date__year { margin-top:15px; color:#999; }

@media not all and (max-width: 767px) {
  .c-release-date__month--sp { display: none!important; }
}
@media (max-width: 767px) {
  .c-release-date { min-width:70px; }
  .c-release-date__inner { display: inline-block; padding-right:20px; min-width:70px; }
  .c-release-date__day { font-size:44px; padding-top:2px; }
  .c-release-date__month { margin-top:5px; }
  .c-release-date__year { margin-top:5px; }
  .c-release-date__month--pc { display:none!important; }
}

/* カテゴリーリスト */
.c-categories { font-size:16px; }
.c-categories a {
  width:100%; min-height:60px; padding:1em 0; line-height:1.6; border-bottom:1px solid rgba(0,0,0,0.13);
  display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
}
.c-categories .count {
  display:block; min-width:50px; height:30px; line-height:29px; border-radius:30px;
  font-size:14px; text-align: center; border:1px solid rgba(0,0,0,0.13);
  margin-left:5px; position: relative; z-index:1; overflow: hidden;
}
.c-categories .count:before {
  content:''; display:block; width:100%; height:100%; background:#fff;
  position: absolute; top:0; left:0; z-index:-1;
}
.c-categories li > ul > li > a { padding-left:1em; }
@media (hover: hover) and (pointer: fine) {
  .c-categories a:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
@media (max-width: 767px) {
  .c-categories a { min-height:50px; padding: 0.6em 0; }
  .c-categories .count { min-width:48px; height:28px; line-height:27px; }
}

/* タイトルのアクセントカラー */
.c-title-color { transition:color 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
  a:hover .c-title-color { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}

/* ボーダ用のコンテンツ幅 */
.c-main-content { overflow: clip; }
.p-site-border .c-main-content { width:calc(100% + 30px); margin-left:-15px; background:#fff; }
@media (max-width: 767px) {
  .p-site-border .c-main-content { width:calc(100% + 20px); margin-left:-10px; }
}

/* アニメーション用 */
body:not(.use_loading_screen) .c-animation--header, .close_loading_screen .c-animation--header
{ opacity:0; animation: FadeIn 0.5s ease 0.3s forwards; }

body:not(.use_loading_screen) .c-animation--text, .close_loading_screen .c-animation--text
{ opacity:0; animation: FadeIn 1s ease 0.7s forwards; }
body:not(.use_loading_screen) .c-animation--text + .c-animation--text, .close_loading_screen .c-animation--text + .c-animation--text
{ animation-delay: 1s; }
body:not(.use_loading_screen) .c-animation--text + .c-animation--text + .c-animation--text, .close_loading_screen .c-animation--text + .c-animation--text + .c-animation--text
{ animation-delay: 1.3s; }

body:not(.use_loading_screen) .c-animation--tab-label, .close_loading_screen .c-animation--tab-label
{ transform: translateY(100%); animation: fadeIn_tabLabel 0.3s cubic-bezier(0.65,0.05,0.36,1) 0.3s forwards; }
body:not(.use_loading_screen) .c-animation--tab-label + .c-animation--tab-label, .close_loading_screen .c-animation--tab-label + .c-animation--tab-label
{ animation-delay: 0.5s; }
body:not(.use_loading_screen) .c-animation--tab-label + .c-animation--tab-label + .c-animation--tab-label,
.close_loading_screen .c-animation--tab-label + .c-animation--tab-label + .c-animation--tab-label
{ animation-delay: 0.7s; }
/* 詳細ページはアニメーションさせない */
body.single-post .c-animation--header, body.page-template-default:not(.home) .c-animation--header {
  opacity:1; animation: none;
}

@keyframes fadeIn_tabLabel {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0); }
}

/* ラベル */
.c-tab-label { width:180px; height:60px; border-radius: 10px 10px 0 0; font-weight:600; }
@media (max-width: 767px) {
  .c-tab-label { width:105px; height: 45px; font-size: 14px; }
}


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

/* 検索フォーム */
.p-header__search-wrapper { position: absolute; top:30px; right:80px; z-index:10; }
.p-header__search { position:relative; }

.p-header__search-form { }
.p-header__search-form input {
  display:block; width:50px; height:40px; padding:0 1em;
  border-radius: 40px; font-size:16px;
  border:1px solid; background:#fff;
}
.p-header__search-form input::-webkit-search-cancel-button { -webkit-appearance: none; }
.p-header__search-button { display:block; font-size:20px; margin-left:15px; }
.p-header__search-button label { cursor: pointer; font-family: 'design_plus'; width:40px; height:40px; transition: opacity 0.3s ease; }
.p-header__search-button label:hover { opacity:0.3; }

/* ホバーアニメーション */
.p-header__search-form input { width:50px; max-width:calc(100vw - 130px); opacity:0; transition:width 0.3s ease, opacity 0.3s ease; }
.p-header__search.is-active .p-header__search-form input { width:300px; opacity:1; }
@media (hover: hover) and (pointer: fine) {
  .p-header__search:hover .p-header__search-form input { width:300px; opacity:1; }
}

/* ドロワーメニューボタン */
.p-header__menu-button { position: absolute; top:30px; right:30px; }
button.p-menu-button { position:relative; padding:10px; transition:opacity 0.3s ease; }
button.p-menu-button:hover { opacity:0.3; }
.p-menu-button span {
  display:block; height:1px; width:22px; overflow:hidden;
  
}
.p-menu-button span:before {
  content:''; display:block; width:100%; height:100%;
  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; }

/* アニメーション */
html.show-drawer .p-menu-button span:before { transform:translateX(100%); }

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

/* ロゴ */
@media not all and (max-width: 767px) {
  .p-header__logo { display:none; }
}
.p-header__logo { position: absolute; top:0; left:20px; }
.p-header__logo a { height:50px; max-height:50px; }

@media (max-width: 767px) {

  .l-header__top { width:100%; height:50px; position: relative; }
  body.home:not(.error404) .l-header__top { border-bottom:none; }
  .p-header__menu-button { top:5px; right:10px; }
  .p-menu-button span:not(:first-of-type) { margin-top:6px; }
  .p-header__search-wrapper { top:5px; right:48px; }
  .p-header__search-button { font-size:18px; margin-left:5px; }

  .p-menu-button--close{ width:16px; height: 16px; overflow:hidden; }
  .p-site-border + .p-drawer-menu .p-menu-button--close{ top:22px; }
  .p-menu-button--close{ right:19px; }
  .p-menu-button--close span{ height:30px; }
}


/* ヘッダープロフィール */
.p-header__profile { display:inline-block; padding:40px 0; }
.p-header__profile-image { width:70px; min-width:70px; height:70px; border-radius:50%; }
.p-header__profile-image img { width:100%; height:100%; object-fit: cover; }
.p-header__profile-name { margin-left:30px; transition:color 0.3s ease; }
.p-header__profile-name span { display:inline-block; padding-left:10px; border-left:1px solid; margin-left:10px; transition:border-color 0.3s ease; }
.p-header__profile--drawer { display:none; }

@media (max-width: 767px) {
  .p-header__profile { display:none; }
  .p-header__profile--drawer { display:block; }
  .p-header__profile { padding:0; margin-bottom:30px; }
  .p-header__profile-name { margin-left:20px; }
  .p-header__profile-name span {
    display:block; padding:0; border:none; font-weight:normal;
    font-size:14px; line-height:1.4; margin:calc(10px - 0.2em) 0 -0.2em 0;
  }
}



/* ----------------------------------------------------------------------
  ドロワーメニュー
---------------------------------------------------------------------- */

/* 閉じるボタン */
.p-menu-button--close { width:40px; height:40px; position: absolute; top:30px; right:30px; z-index:1; transition:opacity 0.3s ease; }
.p-menu-button--close span {
  display:block; width:1px; height:20px; 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: translateX(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:100;
  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); }
.p-drawer-menu__inner { padding:110px 50px 100px; }
.p-drawer-menu__header { margin-bottom:50px; }
.p-drawer-menu__item + .p-drawer-menu__item { margin-top:50px; }
@media not all and (max-width: 599px) {
  html.show-drawer .p-drawer-menu__overlay { position: fixed; top:0; left:0; z-index:99; width:100%; height:100%; }
}
@media (max-width: 767px) {
  .p-drawer-menu { width:350px; right:-350px; }
  html.show-drawer .p-drawer-menu { transform:translateX(-350px); }
  .p-drawer-menu__inner { padding:0 20px 30px; }
  .p-drawer-menu__header { width: calc(100% + 40px); padding:0 20px; margin:0 0 30px -20px; border-bottom:1px solid; }
  .p-drawer-menu__logo { height:50px; }
  .p-drawer-menu__logo a { max-height:50px; }
  .p-menu-button--close { top:5px; right:7px; }
  .p-drawer-menu__item + .p-drawer-menu__item { margin-top:40px; }
  .p-site-border + .p-drawer-menu .p-drawer-menu__logo { height:60px; }
  .p-site-border + .p-drawer-menu .p-drawer-menu__logo a { max-height:60px; }
  .p-site-border + .p-drawer-menu .p-menu-button--close { top:10px; }
}
@media (max-width: 599px) {
  .p-drawer-menu { width:100%; right:-100%; }
  html.show-drawer .p-drawer-menu { transform:translateX(-100%); }
  .p-drawer-animation { transition:transform 0.4s cubic-bezier(0.65,0.05,0.36,1); }
  html.show-drawer .p-drawer-animation {
    transform:translateX(-100%);
  }
}
/* ナビゲーション */
.p-drawer-menu__navigation { margin-top: calc( -30px + 0.5em); }
.p-drawer-menu__navigation a { color:inherit; }
@media (max-width: 767px) {
  .p-drawer-menu__navigation { margin-top:calc(-25px + 0.5em); }
}
/* 記事スライダー */
.p-drawer-menu__slider-category { display:inline-block; margin-bottom:25px; }
.p-drawer-menu__slider-link { display:block; color:inherit; }
.p-drawer-menu__slider-headline { font-size:16px; line-height:1.8; font-weight:normal; max-height:3.6em; margin:-0.4em 0; }
.p-drawer-menu__slide__pagination {
  width:auto!important; top:0; right:0; bottom: initial !important; left:initial !important;
}
.p-drawer-menu__slide__pagination .swiper-pagination-bullet {
  --swiper-pagination-bullet-width: 12px;
  --swiper-pagination-bullet-height: 12px;
  --swiper-pagination-bullet-horizontal-gap: 3.5px;
  --swiper-pagination-bullet-inactive-color: #ddd;
  --swiper-pagination-color: rgba(var(--tcd-accent-color, 0,0,0),1);
  --swiper-pagination-bullet-inactive-opacity: 1;
  vertical-align: bottom;
}
/* タグクラウド */
.p-drawer-menu__tagcloud { margin:-7px 0 0 -7px; }
.p-drawer-menu__tagcloud-item { margin:7px 0 0 7px; }
.p-drawer-menu__tagcloud-item a {
  display:block; color:inherit; padding:1em 1.25em; border-radius:5px;
}
@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__tagcloud-item a:hover { color:#fff; background-color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
/* アーカイブ */
.p-drawer-menu__archive {
  position: relative; height:60px; color:inherit; border:1px solid;
}
.p-drawer-menu__archive-icon {
  font-family: 'design_plus'; font-size:14px; pointer-events: none; color: #000;
  position: absolute; top:50%; right:20px; transform: translateY(-50%);
}
.p-drawer-menu__archive-select {
  background: #fff!important;display: block; width:100%; height:100%; padding:0 20px;
  border:none;color: #000;
  font-size:16px; cursor: pointer; -webkit-appearance: none; appearance: none;
  background: #fff!important;display: block; width:100%; height:100%; padding:0 20px; color:inherit; border:none;color: #000;
  font-size:16px;  background: #fff!important; cursor: pointer; -webkit-appearance: none; appearance: none;
}

/* バナー */
.p-drawer-menu__banner { display: block; background:#000; }
.p-drawer-menu__banner img { transition:opacity 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__banner:hover img { opacity:0.8; }
}

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

.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__return-top { height:60px; background-color: #fff; border-top:1px solid #ddd; }
.p-footer__return-top-button { 
  display: block; width:100%; height:100%;
  font-family: 'design_plus'; font-size:20px;
}
@media (hover: hover) and (pointer: fine) {
.p-footer__return-top-button:hover { background:#fafafa; }
}
@media (max-width: 767px) {
  .p-footer__return-top { height:50px; font-size:18px; }
}

/* フッターコンテンツ */
.p-footer__inner { position: relative; color:#000; background:rgba(var(--tcd-bg-color, 249,248,245),1); }
.p-footer__inner:before {
  content:''; position: absolute; top:0; left:0;
  display:block; width:100%; height:3px;
  background:linear-gradient( rgb(0,0,0,5%), rgb(0,0,0,1%) );
}
.p-site-border .p-footer__inner:before { width:calc(100% + 30px); left:-15px; }
.p-footer__contents { max-width:1120px; width:calc(100% - 80px); margin:0 auto; padding:100px 0; }
.p-footer__item { width:calc( (100% - 100px) / 3 ); }
.p-footer__item:not(:first-of-type) { margin-left:50px; }
.p-footer__item-headline {
  font-size:18px; line-height:1.2; height:45px; padding-left:30px; margin-bottom:40px;
  color:rgba(var(--tcd-accent-color, 0,0,0),1); border-left:4px solid rgba(var(--tcd-accent-color, 0,0,0),1);
}

/* プロフィール */
.p-footer__item-profile__link {}
.p-footer__item-profile__image { width:70px; height:70px; overflow: hidden; border-radius:70px; margin-right:30px; }
.p-footer__item-profile__image img { width: 100%; height:100%; object-fit: cover; }
.p-footer__item-profile__name { font-size:16px;line-height:1.4; }
.p-footer__item-profile__name span { display: block; font-size:14px; font-weight:normal; margin: calc(10px - 0.2em) 0 -0.2em 0; }
.p-footer__item-profile__desc { font-size:16px; line-height:1.8; margin:calc(40px - 0.4em) 0 -0.4em; }
.p-footer__item-profile__icons { margin-top:30px; }
.p-footer__item-profile__copyright { font-size:12px; line-height:2; margin:calc(30px - 0.5em) 0 -0.5em; }

/* ナビゲーション */
.p-footer__item-categories { margin-top:calc( -30px + 0.5em); }

/* 記事一覧 */
.p-footer__item-articles { margin-top:-22px; }
.p-footer__item-articles__item { border-bottom:1px solid rgba(0,0,0,0.13); }
.p-footer__item-articles__link { display:block; padding:23px 0; }
.p-footer__item-articles__title { font-size:16px; line-height:1.6; font-weight:normal; max-height:3.2em; margin:-0.3em 0; }

/* メニュー */
.p-footer__nav { background:#000; }
.p-footer__nav-list { height:60px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.p-footer__nav li { padding:0 15px; }
.p-footer__nav a { display:block; color:#fff; font-size:14px; line-height:1.6; }
@media (hover: hover) and (pointer: fine) {
  .p-footer__nav a:hover { color:rgba( 255,255,255,0.5 ); }
}

/* コピーライト */
.p-footer__copyright {
  display:none; height:50px; line-height:50px; text-align: center;
  font-size:12px; color:#fff; background:rgba(var(--tcd-accent-color, 0,0,0),1);
}
.p-site-border .p-footer__copyright { margin-bottom:-10px; }

@media (max-width:992px) {
  .p-footer__contents { max-width:810px; }
  .p-footer__item { width:100%; }
  .p-footer__item:not(:first-of-type) { margin-left:0px; margin-top:50px; }
  .p-footer__nav-wrapper { overflow-x: scroll; }
  .p-footer__nav-list { white-space: nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  .p-footer__nav li:first-of-type { padding-left:35px; }
  .p-footer__nav li:last-of-type { padding-right:35px; }
  .p-footer__copyright { display:block; }
  .p-footer__item-profile__copyright { display:none; }
}

@media (max-width:767px) {
  .p-footer__contents { width:calc(100% - 50px); padding:40px 0; }
  .p-site-border .p-footer__inner:before { width:calc(100% + 20px); left:-10px; }
  .p-footer__item:not(:first-of-type) { margin-top:40px; }
  .p-footer__item-headline { font-size:16px; padding-left:20px; height:40px; margin-bottom:30px; }
  .p-footer__item-profile__image { margin-right:20px; }
  .p-footer__item-profile__desc { font-size:14px; line-height:2.2; margin:calc(30px - 0.6em) 0 -0.6em; }
  .p-footer__item-categories { margin-top: calc( -25px + 0.5em); }
  .p-footer__nav-list { height:50px; }
  .p-footer__nav li:first-of-type { padding-left: 20px; }
  .p-footer__nav li:last-of-type { padding-right:20px; }
  .p-footer__item-articles { margin-top:-20px; }
  .p-footer__item-articles__link { padding:20px 0; }
  .p-footer__item-articles__title { font-size:14px; }
}


/* ページ上部へ戻るボタン */
.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;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.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 { transform:translateY(0); }
@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 { transition: transform 0.5s cubic-bezier(0.22,0.61,0.36,1); }
  .p-footer-bar ~ .p-return-top-button-wrapper .p-return-top-button:not(.is-active) { transform: translateY(100px); }

  /* ドロワー対策 */
  html.show-drawer .p-return-top-button-wrapper .p-return-top-button { transform: translateY(50px); }
  html.show-drawer .p-footer-bar ~ .p-return-top-button-wrapper .p-return-top-button { transform: translateY(100px); }
}


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

/* ページヘッダー */
.p-page-header { height:470px; overflow:hidden; position: relative; }
.p-page-header__inner { position:relative; height:100%; }
.p-page-header__content {
  width:100%; position: absolute; top: 50%; left: 50%; z-index:3; padding: 100px 0 60px;
  transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);
}
.p-page-header__headline { font-size:32px; 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; margin:-0.5em 0; }
.p-page-header__headline + .p-page-header__description { margin-top:calc(30px - 0.5em); }

/* 背景 */
.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-wrapper { position:absolute; left:0; bottom:-4px; z-index:4; }
.p-page-header__count { color:#000; background: #fff; text-align: center; }
.p-page-header__count-label { color:rgba(var(--tcd-accent-color, 0,0,0),1); margin-left:10px; font-family: 'Arial'; }

@media (max-width: 767px) {
  .p-page-header { height:340px; }
  .p-page-header__content { text-align: center; padding:100px 0 50px; }
  .p-page-header__headline { font-size:22px; }
  .p-page-header__count-wrapper { width:100%; }
  .p-page-header__description { font-size:16px; }
  .p-page-header__headline + .p-page-header__description { margin-top:calc(20px - 0.5em); }
}


/* ----------------------------------------------------------------------
 投稿基本ループ
---------------------------------------------------------------------- */

.p-archive__inner { }
.p-archive__item { position:relative; width:100%; padding:100px 0; }
.p-archive__item:not(:last-of-type):after {
  content:''; display:block; position: absolute; left:0; bottom:0;
  background:#ddd; width:100vw; height:1px; margin: 0 calc(50% - 50vw);
}
.p-archive__link { display:block; width:calc(100% - 120px); }
.p-archive__item-meta { height:45px; margin-bottom:30px; }
.p-archive__item-meta {
  border-left:4px solid rgba(var(--tcd-accent-color, 0,0,0),1); padding-left:30px;
  width:calc(100% + 4px); margin-left:-4px;
}
.p-archive__item-meta li:not(:first-child) { margin-left:30px; }
.p-archive__item-title { font-size:30px; line-height:1.5; max-height:3em; margin:-0.25em 0; position: relative; word-break: break-all; }
.p-archive__item-desc { font-size:16px; line-height:2.2; max-height:4.4em; margin:calc(30px - 0.6em) 0 -0.6em; }
.p-archive__item-image { margin-top:30px; border-radius:5px; }
.p-archive__item-image-bg { padding-top:56.25%; }

@media not all and (max-width: 767px) {
  .p-archive__item-meta--sp {
    display: none !important;;
  }
}

@media (max-width: 767px) {
  .p-archive__item { padding:40px 0; }
  .p-archive__item-meta { margin:0; padding-left:20px; height:40px; }
  .p-archive__item-meta--pc { display:none!important; }
  .p-archive__item-ornament { width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; }
  .p-archive__link { width:100%; margin-top:25px; }
  .p-archive__item-title { font-size:18px; line-height:1.6; max-height:3.2em; margin:-0.3em 0; }
  .p-archive__item-image { margin-top:20px; }
  .p-archive__item-desc { font-size:14px; margin-top:calc(20px - 0.6em); }
  .p-archive__item-meta li:not(:first-child) { margin-left:20px; }
}

@media (max-width: 599px) {
  .p-archive__item-meta li { width:100%; }
  .p-archive__item-meta li:not(:first-child) { margin-left:0; margin-top:10px; }
}

/* 枠線アニメーション */
.p-border-animation {
  position: absolute; top:0; left:1px;
  display:block; padding:0 1px; width:calc(100% + 2px);
  color:transparent; pointer-events: none;
}
.p-border-animation span {
  background: linear-gradient(rgba(var(--tcd-accent-color, 0,0,0),1), rgba(var(--tcd-accent-color, 0,0,0),1)) 0 100%/0 2px no-repeat;
  transition: background 0.5s cubic-bezier(0.25,0.46,0.45,0.94); filter: blur(1px); border-radius:2px;
}
.p-border-animation.is-active span {
  background-size: 100% 2px;
}



/* ----------------------------------------------------------------------
  トップページ　コンテンツスライダー
---------------------------------------------------------------------- */
.p-header-slider-wrapper { position: relative; overflow:hidden; height:550px; background:rgba(var(--tcd-bg-color, 249,248,245),1); }
.p-header-slider { width:100%; height:100%; position:relative; }
.p-header-slider__inner {}
.p-header-slider__item { display:block; background:#000; width:100%; height:550px; }

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

/* コンテンツ */
.p-header-slider__content { position:absolute; top:50%; transform: translateY(-50%); z-index:10; width:100%; color:#fff; text-align: center; }
.p-header-slider__content-logo { display:inline-block; }
.p-header-slider__content-logo__image { transition:opacity 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
  .p-header-slider__content-logo:hover .p-header-slider__content-logo__image { opacity:0.7; }
}
@media not all and (max-width: 767px) {
  .show-profile .p-header-slider__content { padding:150px 0 60px; }
  .hide-profile .p-header-slider__content { padding:0px 0 60px; }
}
.p-header-slider__content-headline { font-size:36px; line-height:1.6; margin:-0.3em 0; }
.p-header-slider__content-desc { font-size:18px; line-height:2; margin:-0.5em 0; }
* + .p-header-slider__content-desc { margin-top:calc(30px - 0.5em); }
.p-header-slider__overlay { position: absolute; top:0; left:0; width:100%; height:100%; z-index:5; }
@media (max-width: 1024px) {
  .p-header-slider__bg--youtube-inner { width:auto; height:calc(100% + 110px); }
}
@media (max-width: 767px) {
  .p-header-slider-wrapper { height:590px; }
  .p-header-slider__content { padding:50px 0 45px; }
  .p-header-slider__content-logo { pointer-events: none; }
  .p-header-slider__content-headline { font-size:24px; }
  .p-header-slider__content-desc { font-size:16px; line-height:2.2; margin:-0.6em 0; }
  * + .p-header-slider__content-desc { margin-top:calc(25px - 0.5em); }
  .p-header-slider__item { width:100%; height:590px; }
}


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

/* タブ */
.p-archive-tab { position: relative; }
.p-archive-tab__labels { position: absolute; bottom: -1px; left: 0; z-index:11; width: 100%; }
.p-archive-tab__label-item {
  padding:0 10px; line-height:1.4; background:rgba(var(--tcd-accent-color, 0,0,0),1); color:#fff; cursor: pointer;
}
* + .p-archive-tab__label-item { margin-left:10px; }
.p-archive-tab__label-item.is-active { background:#fff; 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: FadeIn 0.3s ease forwards; }
@media (max-width: 767px) {
  .p-archive-tab__label {
    width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  }
  * + .p-archive-tab__label-item { margin-left:8px; }
}


/* ----------------------------------------------------------------------
  トップページ用　固定ページ
---------------------------------------------------------------------- */
.p-front-page__body { padding:100px 0; }
.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:40px 0; }
}
.p-front-page__body a > img { transition:opacity 0.3s ease; }
.p-front-page__body a:hover > img { opacity:0.7; }


/* ----------------------------------------------------------------------
  固定ページ - デフォルト
---------------------------------------------------------------------- */

.p-article--page .p-article__header-title { padding-left:0; }


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

.p-article--about .p-article__header-title { padding-left:0; }
.p-article--about .p-article__header-contents { padding:100px 0; position: relative; z-index:3; }
.p-article--about .p-article__body { padding:95px 0 150px; }
/* プロフィール */
.p-about-profile { margin-top:40px; }
.p-about-profile-link {}
.p-about-profile__image {
  display: inline-block; width:120px; height:120px; border-radius: 50%; overflow: hidden;
}
.p-about-profile__image img { width:100%; height:100%; object-fit: cover; }
.p-about-profile__content { width:calc(100% - 120px); padding-left:30px; }
.p-about-profile__name { font-size:16px; line-height:1.2; margin:-0.1em 0; }
.p-about-profile__name span { display: inline-block; padding-left: 1em; border-left: 1px solid; margin-left: 1em; line-height: 1; }
.p-about-profile__icons { margin-top:15px; }

@media (max-width: 767px) {
  .p-about-profile__image { width:70px; height:70px; }
  .p-about-profile__content { width: calc(100% - 70px); }
  .p-article--about .p-article__header-contents { padding:30px 0; }
  .p-article--about .p-article__body { padding:40px 0; }
  .p-about-profile { margin-top:18px; }
  .p-about-profile__name span { display:block; font-size:14px; font-weight:normal; padding-left:0; margin:10px 0 0; border:none; }
}
@media (max-width: 599px) {
  .p-article--about .p-article__header { text-align: center; }
  .p-about-profile-link { display:block!important; }
  .p-about-profile__content { padding-left:0; width:100%; margin-top:18px; }
  .p-about-profile__icons { margin-top:20px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
}

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

.page-template-page__lp .l-header__inner,
.page-template-page__lp .l-header__top { border-bottom:none!important; }
.p-lp-header { text-align: center; background: #333; color:#fff; height:500px; position: relative; }
.p-lp-header__inner { position:relative; height:100%; max-width:none; }
.p-lp-header__content {
  position: absolute; top:50%; left:0; transform: translateY(-50%); z-index:2; width:100%;
}
.p-lp-header__headline { font-size:36px; line-height:1.5; margin:-0.25em 0 -0.25em; }
.p-lp-header__description { font-size:18px; line-height:2; margin:-0.5em 0; }
* + .p-lp-header__description { margin-top:calc( 30px - 0.5em ); }
.p-lp-header__overlay { position: absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
.p-lp-header__image { position: absolute; top:0; left:0; width:100%; height:100%; }

@media (max-width: 767px) {
  .p-lp-header { height:350px; }
  .p-lp-header__headline { font-size:20px; }
  .p-lp-header__description { font-size:16px; line-height:2.2; margin:-0.6em 0; }
  * + .p-lp-header__description { margin-top:calc( 30px - 0.6em ); }
}
.p-article--lp { margin:100px 0 150px; }
.p-article--lp-body { width:calc(100% - 80px); margin:0 auto; }
.p-article--lp-body--narrow { max-width:750px;  }
.p-article--lp-body--normal { max-width:810px; }
.p-article--lp-body--wide { max-width:1100px; }
@media (max-width: 767px) {
  .p-article--lp { margin:40px 0; }
  .p-article--lp-body { width:calc(100% - 50px); }
}

/* 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:18px; line-height:2.4!important; font-weight:600; padding:26px 60px 26px 30px; margin:0!important;
  cursor: pointer; margin-bottom:0; 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:2px; 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:18px; 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; }
}


/* ----------------------------------------------------------------------
  固定ページ - ランキング
---------------------------------------------------------------------- */
.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-article {  }
.p-article__main { width:100%; }

/* ヘッダー */
.p-article__header { position: relative; padding-top:100px; }
.p-article__header:before {
  content:''; display:block; position: absolute; bottom:0; left:0; width:100%; height:4px;
  background:linear-gradient( rgb(0,0,0,1%), rgb(0,0,0,5%) );
}
.p-site-border .p-article__header:before {
  width:calc(100% + 30px); left:-15px;
}
.p-article__header-contents { padding:60px 0; }
.p-article__header-meta { margin-bottom:40px; }
.p-article__header-meta__list {
  height: 45px; border-left: 4px solid rgba(var(--tcd-accent-color, 0,0,0),1);
  padding-left: 30px; width: calc(100% + 4px); margin-left: -4px;
}
.p-article__header-meta__item:not(:first-of-type) { margin-left:30px; }
.p-article__header-title { font-size:32px; line-height:1.5; margin:-0.25em 0; word-wrap: break-word;}
.p-article__header-desc { line-height:2; margin:calc( 30px - 0.5em) 0 -0.5em; }

@media (max-width: 767px) {
  .p-site-border .p-article__header:before { width:calc(100% + 20px); left:-10px; }
  .p-article__header--has-image:before { content:none; }
  .p-article__header-contents { padding:30px 0; width: calc(100% - 60px); }
  .p-article__header-meta { margin-bottom:25px; }
  .p-article__header-meta__list { height:40px; padding-left:20px; }
  .p-article__header-meta__item:not(:first-of-type) { margin-left:20px; }
  .p-article__header-title { font-size:22px; }
  .p-article__header-desc { margin-top:calc( 20px - 0.5em); }
}

@media (max-width: 599px) {

  .p-article__header-meta__item { width:100%; }
  .p-article__header-meta__item:not(:first-of-type) { margin-left:0; margin-top:10px; }

}

/* 本文 */
.p-article__body { padding:60px 0 150px; }
@media (max-width:767px) {
  .p-article__body { padding:0px 0 40px; }
}

/* アイキャッチ画像 */
.p-article__thumbnail { border-radius:10px; margin-bottom:60px; overflow:hidden; }
.p-article__thumbnail:empty { margin-bottom:0; }
.p-article__thumbnail img { width:100%; }
@media (max-width:767px) {
  .p-article__thumbnail { border-radius:0; width:calc(100% + 40px); margin:0 0 40px -20px; position: relative; }
  .p-article__header--has-image + .c-main-content .p-article__thumbnail:before {
    content: ''; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px;
    background: linear-gradient( rgb(0,0,0,1%), rgb(0,0,0,5%) );
  }
  .p-article__thumbnail:empty { margin:0 0 40px 0; }
}


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

.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.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:30px; }
  .p-copy-title-url__button { border-width:2px; font-size:12px; line-height:46px; min-width:250px; }
}

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

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

/* 記事下メタボックス */
.p-metabox { margin-top:60px; }
.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-single-tagcloud { margin-top:60px; }
.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-page-nav { margin-top:60px; 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--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 (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; }
  .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:#f8f8f8; margin:60px 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%; height:100%; object-fit: cover; }
.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 span { display: inline-block; padding-left: 10px; border-left: 1px solid #000; margin-left: 10px; transition: border-color 0.3s ease; }
.p-author-profile__desc { font-size:14px; line-height:1.8; margin:-0.4em 0; }
.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 { 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__title span { font-size:14px; display:block; font-weight:normal; padding-left:0; border:none; margin:10px 0 0;  }
  .p-author-profile__desc { display: none; 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.4; }
.p-single-banner img { -webkit-transition: filter 0.3s ease; transition: filter 0.3s ease; }
@media(hover: hover) {
  .p-single-banner a:hover img { filter: brightness(80%); }
}
@media (max-width:767px) {
  .p-single-banner {  line-height: 2; }
}

/* 関連記事 */
.p-related-post { background: #f8f8f8; width: 100vw; margin: 100px calc(50% - 50vw) 0; padding:95px 0 100px; }
.p-related-post__list { margin:-10px 0 0 -10px; }
.p-related-post__item { width:calc(50% - 10px); margin:10px 0 0 10px; }
.p-related-post__link { display:block; padding:40px; background:#fff; }
.p-related-post__category { }
.p-related-post__title { font-size:18px; line-height:1.8; margin:calc(25px - 0.4em) 0 -0.4em; height:3.6em; }
@media not all and (max-width:767px) {
  .p-related-post.is-only-section { margin-bottom:-150px; padding-bottom:150px; }
}
@media (max-width:767px) {
  .p-related-post { margin-top:40px; padding:35px 0 40px; }
  .p-related-post.is-only-section { margin-bottom:-40px; }
  .p-related-post__link { padding:20px; }
  .p-related-post__title { font-size:16px; line-height:1.6; margin:calc(20px - 0.3em) 0 -0.3em; height:3.2em; }
  .p-related-post__list { margin:-15px 0 0 -15px; }
  .p-related-post__item { width:100%; margin:15px 0 0 15px; }
}


/* ページ分割 */
.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; margin-top:95px; }
@media (max-width:767px) {
  .p-single-comment { position: relative; margin-top:35px; }
}


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

.p-single-cta { position: relative; }
.p-single-cta__link { display:block; height:240px; position: relative; }
.p-single-cta__content { position: absolute; top:0; right:0; z-index:1; height:100%; padding:0 40px; background: rgba(0, 0, 0, 0.3); }
.p-single-cta__headline { width:100%; line-height:1.6; margin:-0.3em 0; color:#fff; font-weight:600; }
.p-single-cta__image { position: absolute; top:0; left:0; width:100%; height:100%; }
/* type1 */
.p-single-cta--type1 .p-single-cta__content { width:100%; text-align: center; }
.p-single-cta--type1 .p-single-cta__headline { font-size:22px; }
/* type2 */
.p-single-cta--type2 .p-single-cta__link { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.p-single-cta--type2 .p-single-cta__image { width:50%; position: relative; }
.p-single-cta--type2 .p-single-cta__content { width:50%; text-align: left; position: relative; }
.p-single-cta--type2 .p-single-cta__headline { font-size:20px; }

@media (max-width:767px) {

  /* type1 */
  .p-single-cta--type1 .p-single-cta__link { height:120px; }
  .p-single-cta--type1 .p-single-cta__content { padding:20px 0; }
  .p-single-cta--type1 .p-single-cta__headline { font-size:16px; }
  /* type2 */
  .p-single-cta--type2 .p-single-cta__link { height:auto; }
  .p-single-cta--type2 .p-single-cta__image { position: relative; width:100%; height:125px; }
  .p-single-cta--type2 .p-single-cta__content { width:100%; min-height:125px; position: relative; padding:30px; }
  .p-single-cta--type2 .p-single-cta__headline { font-size:16px; }

}


.p-single-cta-wrapper--top { margin:100px 0; }
.p-single-cta-wrapper--bottom { margin-top:100px; }
@media (max-width:767px) {
  .p-single-cta-wrapper--top { margin:40px 0; }
  .p-single-cta-wrapper--bottom { margin-top:35px; }
}


/* ----------------------------------------------------------------------
  投稿者一覧ページ
---------------------------------------------------------------------- */
.p-author-info { padding:100px 0; border-bottom:1px solid #ddd; }
.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: 767px) {
  .p-author-info { padding:40px 0; }
  .p-author-info__icons { margin-top:25px; }
}



/* ----------------------------------------------------------------------
  404ページ
---------------------------------------------------------------------- */
.p-404-page { width:100%; height:100vh; position:relative; }
.p-404-page__contents { text-align:center; position: relative; z-index:3; }
.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%;
}

@media (max-width: 767px) {
  .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--search .p-archive__item-meta, .p-archive--search .c-release-date {
  display:none!important;
}
.p-archive--search .p-archive__link { width:100%; margin:0; }

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


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

/* 基本設定 */
.p-widget { width:100%; font-size:16px; line-height:1.6; position: relative; }
@media not all and (max-width: 1200px) {
  .p-widget:not(:first-of-type) { margin-top:50px; }
}
@media (max-width: 1200px) {
  .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:40px;
  color:rgba(var(--tcd-accent-color, 0,0,0),1);
  padding: 13px 0 13px 30px; border-left:4px solid rgba(var(--tcd-accent-color, 0,0,0),1);
}
.p-widget__headline span { display:block; margin:-0.2em 0; }

@media (max-width: 767px) {
  .p-widget__headline { font-size: 16px; padding: 12px 0 12px 20px; margin-bottom: 30px; }
}

/* ----------------------------------------------------------------------
  keyframes
---------------------------------------------------------------------- */

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

@keyframes SlideInTop {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0); }
}


/* ----------------------------------------------------------------------
  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 プリセットスタイル
---------------------------------------------------------------------- */

/* Cardlink style - カードリンクのスタイル */
.cardlink { align-items:center; 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; }

.wp-block-embed { margin:0 0 2em 0; }
.has-text-align-left { text-align:left !important; }
.has-text-align-right { text-align:right !important; }

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

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

/* TCDCE対策として移設 */

/* ----------------------------------------------------------------------
 Speech balloon - スピーチ
---------------------------------------------------------------------- */
.speech_balloon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start; }
.speech_balloon_user { -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; margin-right: 36px; margin-bottom: 2em; min-width: 80px; text-align: center; }
.speech_balloon_user_image { border-radius: 50%; height: 80px !important; width: 80px; object-fit: cover; }
.speech_balloon_user_name { font-size: 87.5%; line-height: 1.2; margin-top: 12px; }
.speech_balloon_user_name:only-child { 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; margin-top: 0; min-height: 80px; }
.speech_balloon_text { -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; margin-bottom: 3em; position:relative; }
.speech_balloon_text_inner { background: #fff; border: 2px solid #ddd; border-radius: 10px; line-height: 2; min-height: 80px; padding: 22px 28px; position: relative; }
.speech_balloon_text_inner > *:last-child { margin-bottom: 0 !important; }

.speech_balloon.right {  -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse }
.speech_balloon.right .speech_balloon_user { margin-left: 36px; margin-right: 0; }

.speech_balloon_text .before , .speech_balloon_text .after{
  border-color: transparent; border-style: solid; pointer-events: none; height: 0; margin-top: -10px; width: 0; position: absolute; right: 100%; top: 40px;
}
.speech_balloon_text .before { border-left-color:inherit; border-width: 8px 0 8px 10px; }
.speech_balloon_text .after { border-right-color:inherit; border-width: 8px 10px 8px 0; }
.speech_balloon.left .before { transform:rotate(180deg); }
.speech_balloon.left .after { margin-right:-3px; }
.speech_balloon.right .before { left:100%; }
.speech_balloon.right .after { left:100%; transform:rotate(180deg); margin-left:-3px; }

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