@charset "utf-8";
/*
Theme Name:GLUE
Theme URI:https://demo.tcd-theme.com/glue/
Description:WordPress theme “GLUE” is a template that allows you to create a personal blog or a multi-person media. It has a simple design that is easy to use even for beginners, and you can also use abundant advertising features that contribute to monetizing your blog.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.3.1
Text Domain:tcd-glue
*/


/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */
@font-face {
  font-family: 'normal_icon';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('fonts/normal_icon.woff?v=1.0') format('woff');
}
@font-face {
  font-family: 'sns_icon';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('fonts/sns_icon.woff?v=1.0') format('woff');
}


/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; word-wrap:break-word; word-break:break-word; }
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 { -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 #ddd; margin: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; }
select, option { color:#000; -webkit-text-fill-color:#000; /* iOSでの文字色を黒に設定 */ -webkit-appearance: none; /* デフォルトのスタイルを無効にする */ }
button { appearance: none; -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
iframe { max-width:100%; }
svg { display:block; }
*:focus { outline:none; }
h1, h2, h3, h4, h5, h6 { font-weight:600; }

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

/* chromeで画像を縮小した際にぼやけるのを防止 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  img { image-rendering: -webkit-optimize-contrast; }
}


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html { height:100%; position:relative; overflow-x:hidden; scroll-behavior:smooth; scroll-padding-top:200px; }
html:has(body.hide_global_menu) { scroll-padding-top:120px; }
html:has(body.no_header_fix) { scroll-padding-top:30px; }
html:has(body.hide_page_header_bar) { scroll-padding-top:30px; }
html:has(input[name="s"]:focus) {
  scroll-behavior: initial;
  scroll-padding-top: 0;
  }
body { min-height:100%; line-height:1; width:100%; position:relative; overscroll-behavior-y:none; -webkit-font-smoothing:antialiased; }
body.admin-bar { padding-top:32px; }
a { color:#000; text-decoration:none; }
.post_content a, .widget_block a, .textwidget a { color:var(--content_link_color) !important; }
@media(hover: hover) {
  a:hover { color:var(--main_color); }
}
a, a:before, a:after, input { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.clear { clear:both; }
.hide { display:none; }
.post_content { word-wrap: break-word; }
a[href^="tel:"] { pointer-events:none; text-decoration:none !important; }
.mobile_device a[href^="tel:"] { pointer-events:auto; }


/* レイアウト */
#container { position:relative; z-index:1; overscroll-behavior-y:none; overflow:hidden; }
#main_content { width:calc(100% - 270px); max-width: 1180px; margin:0 auto; position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; margin-bottom: 0;padding-bottom: 150px;}
/*body.hide_sidebar #main_content { width:800px; display:block; }*/

/*body.hide_sidebar #main_col { width:100%; margin:0 auto; }*/
#side_col { width:300px; position:relative; }
.main_content .no_side_contents{ width: 100% !important;}
#main_content .no_side_contents{ margin: 0 auto; width: 100%;}
#main_content .no_side_contents_top{ width: 100% !important;}
.no_side_contents_main { width: 830px !important;}
.no_side_contents_main #main_col{ width: 100% !important;}


/* 文字サイズとフォントタイプ */
body, input, textarea { font-size:var(--content_font_size); font-family:var(--content_font_type); }
.rich_font, .p-vertical { font-size:var(--catch_font_size); font-family:var(--catch_font_type); }
.rich_font_type1 { font-family:var(--font_family_type1); font-weight:600; }
.rich_font_type2 { font-family:var(--font_family_type2); font-weight:600; }
.rich_font_type3 { font-family:var(--font_family_type3); font-weight:600; }
@media screen and (max-width:1200px) {
  .rich_font, .p-vertical { font-size:calc(var(--catch_font_size) + var(--catch_font_size_sp) / 2); }
}
@media screen and (max-width:800px) {
  body { font-size:var(--content_font_size_sp); }
  .rich_font, .p-vertical { font-size:var(--catch_font_size_sp); }
}

/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* メインカラーを文字に適用 */
.main_color { color:var(--main_color) !important; }


/* デザインボタン */
.design_button {
  width:280px; height:60px; line-height:1.5; padding:0 1.5em; text-align:center; position:relative; overflow:hidden; font-size:16px; z-index:1; color:var(--main_color); border:1px solid var(--main_color_light2); background:transparent; text-decoration: none;
  display:inline-flex; justify-content:center; align-items:center; font-weight:600; border-radius: 30px;
}
#lp_page_header .design_button { color: #fff !important;}
@media(hover: hover) {
  .design_button:hover { border-color:var(--main_color); background:var(--main_color); color:#fff !important; }
}

#lp_page_header .bg_image.pc{ display:block; }
#lp_page_header .bg_image.mobile{ display:none; }

/* デザイン見出し */
.design_header { text-align:center; margin-bottom:50px; margin-top:-10px; }
.design_header .catch { line-height:1.6; margin:0; padding:0; }
.design_header .desc p { font-size:18px; line-height:2.4; }
.design_header .desc p.mobile { display:none; }
.design_header .catch + .desc { margin-top:15px; }


/* swiperの矢印ナビ */
.swiper-nav-button { width:40px; height:40px; border:none; z-index:200; }
.swiper-button-prev { left:-25px; right:auto; }
.swiper-button-next { left:auto; right:-25px; }
.swiper-button-next:after, .swiper-button-prev:after { display:none; }
.swiper-button-next:before, .swiper-button-prev:before {
  font-family:'normal_icon'; font-size:24px; top:2px; position:relative; color:#000;
  -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important;
}
.swiper-button-prev:before { content:'\e90f'; left:0px; }
.swiper-button-next:before { content:'\e910'; right:0px;}
.swiper-button-disabled { pointer-events:auto !important; }
.swiper-button-disabled::before { border-color:#aaa !important; }
@media(hover: hover) {
  .swiper-nav-button:hover:before { color:#aaa; }
}

/*GLUE専用見出し*/
.glue_headline { margin-top:70px !important; margin-bottom:70px !important; font-size: 22px !important; font-weight: 500 !important; color: #ffffff; border-color: #000000; border-width: 1px; border-style: solid; border-left: none; border-right: none; border-top: none; border-bottom: none; background-color: var(--main_color); height: 70px; display: flex; justify-content: center; align-items: center;}

/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container { margin-bottom:-1px; width:100%; height:540px; position:relative; overflow:hidden; margin-top: 70px;}
#header_slider_container.height_type2 { height: auto;}
.type_post_slider { height: auto !important;}
.type_post_slider #news_ticker_inner { border-bottom: none;}
/*.type_image_slider { height: 610px !important; }

/* スライダーエリア */
#header_slider { height:100%; max-width: 1180px; width: calc(100% - 270px); margin:0 auto; position:relative; overflow:hidden; }
#header_slider .swiper-wrapper { height:100%; width:100%; position:relative; }
#header_slider .item { width:100%; height:540px; position:relative; overflow:hidden; will-change:transform; }
#header_slider .item_inner { width:100%; height:100%; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; will-change:transform; }
#header_slider .bg_image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; will-change:transform; }
#header_slider .bg_image img { width:100%; height:100%; display:block; margin:0; object-fit:cover; }
#header_slider .bg_image .mobile { display:none; }

#header_slider .overlay{  opacity: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;}
#header_slider_container .height_type2 { height:auto !important; aspect-ratio:16 / 9; max-height:calc(100vh - 130px); }

/*記事スライダー*/
.no_header_news { height: 630px !important;}
#header_post_slider { height:auto; width:calc(100% - 270px); max-width: 1180px; margin:0 auto; position:relative; overflow:hidden; }
#header_post_slider .post_list{ display: flex; flex-wrap: nowrap;}
#header_post_slider .post_list .post_item:first-child:last-child { width: 100% !important;}
#header_post_slider .post_list::before{ content: ''; position: absolute; left: 0; bottom: 0; z-index: 1; width: 1px; height: 240px; background: #ddd;}
#header_post_slider .post_list::after{ content: ''; position: absolute; right: 0; bottom: 0; z-index: 1; width: 1px; height: 240px; background: #ddd;}
#header_post_slider .post_item{ width: calc(100% /2);}
#header_post_slider .image_link{ overflow: hidden;}
#header_post_slider .image_wrap{ width: 100%; height:365px; overflow: hidden; position: relative;}
#header_post_slider .image_wrap img{ width: 100%; height:100%; object-fit: cover; transition: transform 0.75s ease; overflow: hidden;}
.post_slider_cotents { padding: 40px 50px; border: 1px solid rgba(0,0,0,0.2); border-top:none; height: 240px;}
.post_slider_cotents:nth-child(n+2){ border-left: none;}
.p-slider-contents__category { margin-bottom: calc(30px - 0.1em); overflow: hidden; display: -webkit-inline-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1; width: 100%;}
.p-slider-contents__category a { transition: color 0.3s ease; color:var(--main_color);}
.p-slider-contents__category a::after { content: ", "; margin-right: 5px; }
.p-slider-contents__category a:last-child::after { content: ""; /* 最後の要素にはカンマをつけない */}
.p-slider-contents__category span{ font-size: 14px; color:var(--main_color); line-height: 1.2; font-weight: 600; transition: opacity 0.3s ease;}
.p-slider-contents__pr_label { margin-bottom: 30px; line-height: 1;}
.p-slider-contents__pr_label .pr_label{ font-size: 12px; color:#000; line-height: 1.2; border: 1px solid #ddd; text-align: center; min-width: 50px; height: 25px; padding: 5px 15px;}
.p-slider-contents__title { font-size: 24px; color: #000; line-height: 1.8; margin:-0.4em 0; overflow: hidden; transition: opacity 0.2s;}
.p-slider-contents__title span{ display: -webkit-inline-box; -webkit-box-orient: vertical;-webkit-line-clamp: 2;}
.p-slider-contents__date { font-size:14px; font-weight:500; transition: color 0.25s ease; display:block; position:relative; padding-left:15px; color: #999; margin-top: 30px; transition: opacity 0.2s;}
.p-slider-ad__date { font-size:14px; font-weight:500; transition: color 0.25s ease; display:block; position:relative; color: #b9b9b9; margin-top: 30px; transition: opacity 0.2s;  line-height: 1.4; display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden;}
.p-slider-contents__date:before { font-family:'normal_icon'; content:'\e903'; font-size:12px; position:absolute; left:0; top:50%; transform: translateY(-50%); -webkit-font-smoothing: antialiased; }
.post_slider_pagination{ position: relative !important; margin-top: 50px; bottom: 0 !important;}
.post_slider_pagination span { width: 15px; height: 15px;}
.post_slider_pagination .swiper-pagination-bullet-active { background: #000;}
@media(hover: hover) {
.p-slider-contents__category a span:hover {opacity: 0.6;}
.p-slider-contents__title a:hover { color:rgba(0,0,0,0.6) !important; }
}
.swiper-pagination-clickable .swiper-pagination-bullet { border: 2px solid #888; background: none;}
.post_slider_pagination .swiper-pagination-bullet-active { border: none; background: #000;}

/* コンテンツ */
.header_slider_content { color:#fff; position:absolute; z-index:100; text-align:center; width:100%;}
.header_slider_content .catch { line-height:1.4; position:relative; margin: -0.2em 0;}
.header_slider_content .desc { line-height:2.4; font-weight:500; font-size:16px;}
.header_slider_content .catch + .desc { margin: 30px 0 0 0; }
.header_slider_content .button { font-size:16px; width:260px; height:60px; line-height:60px; background:none; border:1px solid #fff; color:#fff; display:block; cursor:pointer; text-align:center; margin:30px auto 0; border-radius: 30px;  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;}
.header_slider_content .logo { text-align:center; filter:blur(30px); }
.header_slider_content .logo img { display:block; margin:0 auto; max-width:calc(100% - 100px); height:auto; }
.header_slider_content .logo img.mobile { display:none; }
@media(hover: hover) {
  .header_slider_content .button:hover { border-color:var(--main_color); background:var(--main_color); color:#fff; }
}
.header_slider_content > * { opacity:0; transition:opacity 0.5s ease 1.0s; }
#header_slider .item.swiper-slide-active .header_slider_content > *:nth-child(1) { opacity:1; animation: content_animation 1s ease forwards 1.0s; transition:opacity 1s ease 1.0s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
#header_slider .item.swiper-slide-active .header_slider_content > *:nth-child(2) { opacity:1; animation: content_animation 1s ease forwards 1.2s; transition:opacity 1s ease 1.2s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
#header_slider .item.swiper-slide-active .header_slider_content > *:nth-child(3) { opacity:1; animation: content_animation 1s ease forwards 1.4s; transition:opacity 1s ease 1.4s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
@keyframes content_animation {
  0% { transform: translate3d(0, 30px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
.no_post_contents_text { text-align: center; margin-top: 50px; font-size: 16px;}

/* アクティブなスライドのコンテンツを表示 */
#header_slider .item.swiper-slide-active .header_slider_content > * {
  opacity: 1;
}

#header_slider .item.swiper-slide-active .header_slider_content {
  pointer-events: auto; /* 初期化完了時にクリック可能にする */
}


/* 固定コンテンツ */
#header_slider_fixed_content { height:100%; width:100%; position:absolute; top:0; left:0; overflow:hidden; z-index:3; pointer-events:none; }
#header_slider_fixed_content .header_slider_content { top:50%; transform: translateY(-50%); }
#header_slider_fixed_content.start_animation .header_slider_content > *:nth-child(1) { opacity:1; animation: content_animation 1s ease forwards 1.0s; transition:opacity 1s ease 1.0s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
#header_slider_fixed_content.start_animation .header_slider_content > *:nth-child(2) { opacity:1; animation: content_animation 1s ease forwards 1.2s; transform: translate3d(0,0,0); transition:opacity 1s ease 1.2s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
#header_slider_fixed_content.start_animation .header_slider_content > *:nth-child(3) { opacity:1; animation: content_animation 1s ease forwards 1.4s; transform: translate3d(0,0,0);  transition:opacity 1s ease 1.4s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
#header_slider_fixed_content.start_animation .header_slider_content > .logo { filter:blur(0px); animation:none !important; transition:opacity 0.5s ease 0.5s, filter 1.4s ease 0.5s !important; }


/* ズームアウトアニメーション --------------------------------------------------------- */
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image,
#header_slider.animation_type_zoom_out .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_type_zoom_out .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .bg_image img { transform:scale(1.4); }
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }
#header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }


/* ズームインアニメーション ----------------------------------------------------------- */
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image,
#header_slider.animation_type_zoom_in .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_type_zoom_in .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .bg_image img { transform:scale(1); }
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }
#header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }


/* アイテムの横スライドアニメーション ------------------------------------------------- */
#header_slider.animation_type_slide_right .item.first_item .item_inner { transition-property: none !important; }
#header_slider.animation_type_slide_right .item { background-color: rgba(0,0,0,0); opacity: 1 !important; transition-property: background-color !important; }
#header_slider.animation_type_slide_right .item.swiper-slide-active { background-color: rgba(1,1,1,0); }
#header_slider.animation_type_slide_right .item .item_inner { height: 100%; overflow: hidden; transform: translate3d(100%, 0, 0); transition-property: none; transition-duration: inherit; transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1); transition-delay: 0s; }

#header_slider.animation_type_slide_right .item.p-effect-reverse .item_inner { transform: translate3d(-100%, 0, 0); }
#header_slider.animation_type_slide_right .item.p-effect-slidein { z-index: 2; }
#header_slider.animation_type_slide_right .item.p-effect-slidein .item_inner { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_slide_right .item.p-effect-slidein.p-effect-reverse .item_inner { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_slide_right .item.p-effect-slideout { z-index: 1; }
#header_slider.animation_type_slide_right .item.p-effect-slideout .item_inner { transform: translate3d(-30%, 0, 0); transition-property: transform; }
#header_slider.animation_type_slide_right .item.p-effect-slideout.p-effect-reverse .item_inner { transform: translate3d(30%, 0, 0); transition-property: transform; }


/* 背景画像の横スライドアニメーション */
#header_slider.animation_type_slide_right .item.first_item.p-effect-slidein .bg_image { animation:none; }
#header_slider.animation_type_slide_right .item.p-effect-slidein.animation_start .bg_image { animation: slide_animation1 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_right .item.p-effect-slideout .bg_image { animation: slide_animation2 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_right .item.p-effect-slidein.p-effect-reverse.animation_start .bg_image { animation: slide_animation3 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s }
#header_slider.animation_type_slide_right .item.p-effect-slideout.p-effect-reverse .bg_image { animation: slide_animation4 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
@keyframes slide_animation1 {
  0% { transform: translate3d(-80%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_animation2 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_animation3 {
  0% { transform: translate3d(80%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_animation4 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}


/* コンテンツの横スライドアニメーション */
#header_slider.animation_type_slide_right .item.first_item.p-effect-slidein .header_slider_content { animation:none; }
#header_slider.animation_type_slide_right .item.p-effect-slidein.animation_start .header_slider_content { animation: slide_content_animation1 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_right .item.p-effect-slideout .header_slider_content { animation: slide_content_animation2 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_right .item.p-effect-slidein.p-effect-reverse.animation_start .header_slider_content { animation: slide_content_animation3 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s }
#header_slider.animation_type_slide_right .item.p-effect-slideout.p-effect-reverse .header_slider_content { animation: slide_content_animation4 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
@keyframes slide_content_animation1 {
  0% { transform: translate3d(-100%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_content_animation2 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(30%, 0, 0); }
}
@keyframes slide_content_animation3 {
  0% { transform: translate3d(100%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_content_animation4 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-30%, 0, 0); }
}


/* アイテムの縦スライドアニメーション -------------------------------------------------- */
#header_slider.animation_type_slide_up .item.first_item .item_inner { transition-property: none !important; }
#header_slider.animation_type_slide_up .item { background-color: rgba(0,0,0,0); opacity: 1 !important; transition-property: background-color !important; }
#header_slider.animation_type_slide_up .item.swiper-slide-active { background-color: rgba(1,1,1,0); }
#header_slider.animation_type_slide_up .item .item_inner { height: 100%; overflow: hidden; transform: translate3d(0, 100%, 0); transition-property: none; transition-duration: inherit; transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1); transition-delay: 0s; }

#header_slider.animation_type_slide_up .item.p-effect-reverse .item_inner { transform: translate3d(0, -100%, 0); }
#header_slider.animation_type_slide_up .item.p-effect-slidein { z-index: 2; }
#header_slider.animation_type_slide_up .item.p-effect-slidein .item_inner { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_slide_up .item.p-effect-slidein.p-effect-reverse .item_inner { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_slide_up .item.p-effect-slideout { z-index: 1; }
#header_slider.animation_type_slide_up .item.p-effect-slideout .item_inner { transform: translate3d(0, -30%, 0); transition-property: transform; }
#header_slider.animation_type_slide_up .item.p-effect-slideout.p-effect-reverse .item_inner { transform: translate3d(0, 30%, 0); transition-property: transform; }


/* 背景画像の縦スライドアニメーション */
#header_slider.animation_type_slide_up .item.first_item.p-effect-slidein .bg_image { animation:none; }
#header_slider.animation_type_slide_up .item.p-effect-slidein.animation_start .bg_image { animation: slide_up_animation1 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_up .item.p-effect-slideout .bg_image { animation: slide_up_animation2 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_up .item.p-effect-slidein.p-effect-reverse.animation_start .bg_image { animation: slide_up_animation3 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s }
#header_slider.animation_type_slide_up .item.p-effect-slideout.p-effect-reverse .bg_image { animation: slide_up_animation4 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
@keyframes slide_up_animation1 {
  0% { transform: translate3d(0, -80%, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_up_animation2 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_up_animation3 {
  0% { transform: translate3d(0, 80%, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_up_animation4 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}


/* コンテンツの縦スライドアニメーション */
#header_slider.animation_type_slide_up .item.first_item.p-effect-slidein .header_slider_content { animation:none; }
#header_slider.animation_type_slide_up .item.p-effect-slidein.animation_start .header_slider_content { animation: slide_up_content_animation1 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_up .item.p-effect-slideout .header_slider_content { animation: slide_up_content_animation2 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
#header_slider.animation_type_slide_up .item.p-effect-slidein.p-effect-reverse.animation_start .header_slider_content { animation: slide_up_content_animation3 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s }
#header_slider.animation_type_slide_up .item.p-effect-slideout.p-effect-reverse .header_slider_content { animation: slide_up_content_animation4 1s cubic-bezier(0.76, 0, 0.24, 1) forwards 0s; }
@keyframes slide_up_content_animation1 {
  0% { transform: translate3d(0, -80%, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_up_content_animation2 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, 80%, 0); }
}
@keyframes slide_up_content_animation3 {
  0% { transform: translate3d(0, 80%, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes slide_up_content_animation4 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, -80%, 0); }
}


/* ページナビ */
#header_slider .swiper-pagination { z-index:10; bottom:30px; }
#header_slider .swiper-pagination span {  width:15px; height:15px; opacity:1; margin:0 6px; border: 2px solid #fff;}
#header_slider .swiper-pagination span.swiper-pagination-bullet-active { background:#fff; pointer-events:none; }
#header_slider.animation_type_slide_up #header_slider_pagination { left:auto; right:30px; top:50%; transform: translateY(-50%); width:auto; display:flex; flex-direction:column; justify-content:center; }
#header_slider.animation_type_slide_up #header_slider_pagination span { margin:6px 0; }
@media(hover: hover) {
  #header_slider .swiper-pagination span:hover { background:#fff; }
}


/* ニュースティッカー */
@media(hover: hover) {
  #news_ticker a:hover { color:rgba(0,0,0,0.6);}
  #news_ticker .swiper-nav-button:hover:before { color:rgba(0,0,0,0.6); }
}

#news_ticker {
  background: #fff;
  color: #000;
  max-width: 1180px;
  width: calc(100% - 270px);
  margin: 0 auto;
}

#news_ticker_inner {
  height: 70px;
  display: flex;
  justify-content: center; /* 横方向の中央揃え */
  align-items: center; /* 縦方向の中央揃え */
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

#news_ticker_inner {
  max-width: 1180px; /* コンテンツ全体の最大幅を設定 */
  width: 100%;
  margin: 0 auto;
  overflow: hidden; /* オーバーフローを隠す */
}



.header_slider_bottom #news_ticker_inner {
  border-top:none !important;
}

#news_ticker_carousel {
  width: 100% !important; /* スライダー全体の幅も100%に固定 */
  overflow: hidden; /* オーバーフローを防ぐ */
}

#news_ticker_carousel {
  width: 100%;
  height: 70px;
}

#news_ticker .item {
  display: flex;
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 縦方向に中央揃え */
  flex-wrap: nowrap; /* 日付とタイトルを一行で表示 */
  width: 100%; /* ボックス全体に中央揃え */
  /*text-align: center;*/
}

#news_ticker .date-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: center; /* PC時は中央揃えを維持 */
  width: 100%; /* 幅を100%に固定 */
}


#news_ticker .date {
  font-size: 14px;
  font-weight: 500;
  color: #999;
  margin-right: 25px; /* 日付とタイトルの間にスペース */
  flex-shrink: 0; /* 日付が縮小されないように固定 */
  display: flex;
  align-items: center;
}

#news_ticker .date:before {
  font-family: 'normal_icon';
  content: '\e903'; /* アイコンを日付前に表示 */
  font-size: 16px;
  margin-right: 5px; /* アイコンと日付の間にスペース */
}

#news_ticker .title {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap; /* テキストの折り返しを防ぐ */
  text-overflow: ellipsis; /* テキストが長い場合は省略 */
  overflow: hidden;
  max-width: 70%; /* タイトルが日付部分に重ならないように最大幅を設定 */
}

#news_ticker .item.no_date .title {
  width: 100%;
}

#news_ticker .swiper-slide {
  width: 100% !important; /* スライド幅を100%に固定 */
  flex-shrink: 0; /* 縮小を防ぐ */
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box; /* ボックスサイズを含めて計算 */
}

#news_ticker_carousel {
	transition-duration:0.2s;
	transition-delay:0.1s;
}

#news_ticker_carousel:not(.swiper-initialized) {
	opacity:0;
}

.swiper-backface-hidden {
  backface-visibility: hidden;
  transform: none; /* translateZ(0) を削除 */
}


.top_main_inner{ margin-top: 70px;}

#index_tab {height: 70px; overflow: visible;}
#index_tab ol { width: calc(100% - 1px); display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap;}
.rich_font_main_content { font-family:var(--content_font_type); font-weight: 600;}
/* タブ */
#index_tab ol {
  width:calc(100% - 1px);
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
#index_tab li {
  margin:0 -1px 0 0; font-weight:600; font-size:16px;
  -ms-flex: 1 1 0%; -webkit-flex: 1 1 0%; flex: 1 1 0%;
}
#index_tab li a{
border: 1px solid #ddd;
/*border-left: 1px solid transparent; /* 初期状態で透明なborderを設定 */
transition: border-left 0.3s ease background-color 0.3s ease border-color 0.3s ease;  /* borderの変更をスムーズに */

}
#index_tab li.active + li a { border-left:1px solid var(--main_color);}
#index_tab a { display:flex; text-align:center; width:100%; height:70px; line-height:1.3; background:#fff;  align-items: center;padding: 0 10px; justify-content: center;}
#index_tab li.active a { background:var(--main_color); color:#fff !important; position:relative; height: 70px; border-color: var(--main_color);}
@media (any-hover: hover) {
#index_tab li a:hover { background:var(--main_color); color:#fff !important; position:relative; border-color: var(--main_color);}
}
#index_tab li.active { pointer-events:none; }
#index_tab li:only-of-type.active a:after { display:none; }
#index_tab li:only-of-type a { text-align:left; padding-left:30px; -webkit-box-sizing:border-box; box-sizing:border-box; }

  #index_tab a {
    white-space: wrap; 
    overflow: hidden; /* 長いテキストを隠す */
  }



/* タブ記事　タイプ２ */

#index_tab_post_list .post_list.type2 { display: flex; flex-wrap: wrap; position: relative;}
#index_tab_post_list .post_list.type2 .item { padding-top: 40px; padding-bottom: 40px; width: 100%; display: flex; flex-wrap: nowrap; align-items: center; border-bottom: 1px solid #ddd; opacity: 0;}
#index_tab_post_list .post_list.type2 .link { display:block; width:100%; height:100%; }
#index_tab_post_list .post_list.type2 .image_wrap {  display:block; width:340px; height:210px; position:relative; z-index:1; overflow:hidden; margin-right: 40px;}
#index_tab_post_list .post_list.type2 .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; object-fit: cover;}
#index_tab_post_list .post_list.type2 .content {position:relative;-webkit-box-sizing:border-box; box-sizing:border-box;}
#index_tab_post_list .post_list.type2 .content_inner {
  display: grid; gap: 30px;
}

#index_tab_post_list .post_list.type2 .category {
  font-size:14px;color:var(--main_color);font-weight: 600; line-height: 1.4;
}

#index_tab_post_list .post_list.type2 .category { transition: opacity 0.3s ease;}
#index_tab_post_list .post_list.type2 .category:hover { opacity: 0.6 !important; }

#index_tab_post_list .post_list.type2 .title {
  font-weight:600; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; font-size: 20px;
  word-wrap:break-word; word-break:break-all;margin:-0.3em 0;
}
#index_tab_post_list .post_list.type2 .title a { transition: color 0.3s ease;}
#index_tab_post_list .post_list.type2 .title a:hover { color:rgba(0,0,0,0.6) !important; }
#index_tab_post_list .post_list.type2 .blog_category { margin: -0.2em 0;}
#index_tab_post_list .post_list.type2 .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
#index_tab_post_list .post_list.type2 .date { font-size:14px; padding:0 0 0 17px; color:#999; position:relative;}
#index_tab_post_list .post_list.type2 .date:before {
  font-family:'normal_icon'; content:'\e903'; font-size:13px; top:0px; left:0px; position:absolute;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#index_tab_post_list .post_list.type2 .client { padding-left:0; }
#index_tab_post_list .post_list.type2 .client:before { display:none; }

#index_tab_post_list .ad_item .pr_label_contents { line-height: 1;}
#index_tab_post_list .ad_item .pr_label_contents .pr_label{ text-align: center; line-height: 1.2; padding: 5px 15px ; min-width: 50px; border: 1px solid #ddd; font-size: 12px; color: #000 !important; font-weight: 500 !important; display: inline-block;}
.pr_title { max-height:unset !important;}
.pr_title span{ -webkit-line-clamp:unset !important;}
#index_tab_post_list .date_area { display: flex; flex-wrap: wrap; align-items: center;}
#index_tab_post_list .news_no_image_date { position: relative; color: #999; font-size: 14px; display: block; font-weight: 500; margin: 0 15px 0 0;}
.news_cate_no_imge { margin-bottom: 0 !important;}
.news_cate_no_imge a { margin-right: 15px;} 
.no_news_img_title span { display: -webkit-inline-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 1 !important;}
.no_banner_img_title { height: 1.8em !important;}
.no_banner_img_title a { display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;}
.no_news_img_excerpt span { display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;}
.post_list .news_no_image_date:before { font-family: 'normal_icon'; content: '\e903'; font-size: 16px; margin: 0 5px 0 0; position: relative; top: 1.5px; -webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 600px) {
.no_img_news_inner { padding-top: 0 !important;}
}

/* ホバーアニメーション */
#index_tab_post_list .post_list.use_hover_animation .item { -ms-transform: translateY(0); -webkit-transform: translateY(0); transform:translateY(0); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }
#index_tab_post_list .post_list.use_hover_animation .item:hover { -ms-transform: translateY(-3px); -webkit-transform: translateY(-3px); transform:translateY(-3px); box-shadow:0 0 30px 0 rgba(0,0,0,0.2); }
.animate_background .image_wrap .image {transition: transform 0.5s ease;}
#index_tab_post_list .excerpt { font-size: 16px; overflow: hidden; margin: -0.6em 0;}
#index_tab_post_list .excerpt span { line-height: 2.2; }

/* アニメーション */
/*#index_tab_post_list .post_list .item { position:relative; opacity:0; }*/
#index_tab_post_list .tab_post_list.active .item { opacity:1; }
#index_tab_post_list .post_list.animation_type0 .item { opacity:1; }
#index_tab_post_list .post_list.animation_type1 .item.animate {
  -webkit-animation: opacityAnimation 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
  animation: opacityAnimation 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
}
#index_tab_post_list .post_list.animation_type2 .item.animate {
  -webkit-animation: slideUp 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
  animation: slideUp 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
}
#index_tab_post_list .post_list.animation_type3 .item.animate {
  -webkit-animation: moveLeft 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
  animation: moveLeft 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
}
#index_tab_post_list .post_list.animation_type4 .item.animate {
  -webkit-animation: popUp 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
  animation: popUp 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s !important;
}

/* 固定ヘッダー */
.pc .header_fix { padding-top:240px; }/* #header_inner height + #header margin bottom */
.pc body.header_fix.no_catch { padding-top: 170px !important;}
.pc .hide_header.header_fix { padding-top:0; }
.pc .header_fix #header {
  height:70px; position:fixed; opacity:1; top:0px; left:0px; z-index:200; width:100%; box-shadow:0 0 20px 5px rgba(0,0,0,0.2);
  -webkit-animation: slide_down_menu 0.5s ease !important; animation: slide_down_menu 0.5s ease !important;
}
.pc .header_fix #header_top { display:none; }
.pc .hide_global_menu.header_fix #header { display:none; }
.pc .hide_global_menu.header_fix { padding-top:100px; }
.pc .admin-bar.header_fix { padding-top:190px; }
@-webkit-keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}
@keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}

/* フェードイン */
@-webkit-keyframes opacityAnimation {
  0% { opacity:0; }
  100% { opacity:1; }
}
@keyframes opacityAnimation {
  0% { opacity:0; }
  100% { opacity:1; }
}


/* アイコンアニメーション */
.p-ranking-ajax-loading-icon,
.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: ajaxLoadAnimation 1.5s infinite ease-in-out;
  animation: ajaxLoadAnimation 1.5s infinite ease-in-out;
}

.p-ranking-ajax-loading-icon {
  display: block;
  color: rgba(var(--tcd-accent-color, 0, 0, 0), 0.7);
  position: relative;
  top: -1.5em;
  font-size: 10px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.p-ranking-ajax-loading-icon:before,
.p-ranking-ajax-loading-icon:after {
  content: '';
  position: absolute;
  top: 0;
}

.p-ranking-ajax-loading-icon:before {
  left: -2.5em;
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.p-ranking-ajax-loading-icon:after {
  left: 2.5em;
}

@keyframes ajaxLoadAnimation {

  0%,
  80%,
  100% {
    box-shadow: 0 1.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 1.5em 0 0;
  }
}

/* 固定ページを表示する場合 */
#front_page_contents { margin:0 auto; padding:150px 0; background:#fff; position:relative; z-index:2; }

body.home.show_sidebar #main_col { width:calc(100% - 350px); }
body.page-template-page-tcd-author.show_sidebar #main_col { width:calc(100% - 350px); }
body.archive.show_sidebar #main_col { width:calc(100% - 350px); }

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_contents { padding:70px 0 150px; }
#page_contents .post_content { width:100%; margin:0 auto; }
body.large_page_width #page_contents .post_content { width:1180px; }
body.page-template-page-tcd-author #page_contents { padding-top:0; }
body.page-template-default #page_contents { padding:0; }
body.page-template-default #page_header { margin-bottom: 70px;}


/* 共通パーツ */
.short { padding:0 100px; }
.short p:last-child { margin-bottom:2em; }
.short h1:first-child, .short h2:first-child, .short h3:first-child, .short h4:first-child, .short h5:first-child, .short h6:first-child { margin-top:3em !important; margin-bottom:35px !important; }
.short + p.spacer { margin-top:-3em !important; }
body.page .post_content p.spacer { line-height:1; margin:-2em 0 72px 0; position:relative; }
body.page .post_content .short + p.spacer { margin-top:0; }
body.page .post_content p:has(img) + p.spacer { margin-top:-2em !important; }
body.page .post_content .page_headline { background:#000; color:#fff; text-align:center; font-size:24px !important; padding:17px 20px 15px !important; margin:0 !important; }
body.page .post_content .page_headline + p:has(img) { margin-top:0 !important; }
body.page .post_content .page_headline + p { margin-top:45px; }
body.page .post_content .page_headline + p.spacer { margin-top:0 !important; }
body.page .post_content p:has(img) + .page_headline { margin-top:100px !important; }
body.page .post_content p:has(img) + .q_button_wrap { margin-top:100px; }
body.page .post_content hr + .q_button_wrap { margin-top:100px; }
.post_content .colored_table { border:none; margin-bottom:100px !important; }
.post_content .colored_table th { background:var(--bg_color); border-color:#fff; border-width:2px; width:220px; vertical-align:middle; }
.post_content .colored_table td { background:var(--bg_color); border-color:#fff; border-width:2px; width:calc(100% - 220px); vertical-align:middle; padding-left:40px; padding-right:40px; }
.post_content .colored_table td:last-child { border-right:none; }



/* ABOUT */
.page_headline_number { text-align:center; color:var(--main_color); line-height:1 !important; margin:80px 0 50px 0 !important; }
.page_headline_number .num { font-family:Arial; font-size:64px; display:block; }
.page_headline_number .title { font-size:20px; display:block; margin-top:13px; }
p:has(img) + .page_headline_number { margin-top:95px !important; }



/* LP */
#lp_page_header { height:600px; position:relative; overflow:hidden; width: 100%; margin: 0 auto;}
.full_scleen_height { height: 100vh;}
#lp_page_header .bg_image { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#lp_page_header .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
#lp_page_header .logo { opacity:0; filter:blur(30px); position:absolute; top:50%; transform: translateY(-50%); z-index:3; width:100%; }
#lp_page_header .logo img { display:block; margin:auto; max-width:calc(100% - 100px); height:auto; }
#lp_page_header .logo img.mobile { display:none; }
#lp_page_title { color:#fff; position:absolute; width:100%; padding:0 100px; left:50%; top:50%; transform: translate(-50%, -50%); z-index:3; opacity:0; text-align:center; }
#lp_page_title .title { line-height:1.5; font-family:var(--single_title_font_type); font-weight:600; }
#lp_page_title .sub_title { line-height:1.5; margin-top:10px; font-size:16px; font-family:var(--single_title_font_type); font-weight:500; }
#lp_page_header.no_image { height:auto; padding-top:40px; }
#lp_page_header.no_image .logo { position:relative; top:auto; left:auto; transform:none; }
#lp_page_header.no_image .logo img { margin:auto; }
#lp_page_header.no_image #lp_page_title { color:#000; position:relative; top:auto; left:auto; transform:none; }
body.start_first_animation #lp_page_header .logo { opacity:1; filter:blur(0px); transition: opacity 0.5s ease 0.5s, filter 1.4s ease 0.5s; }
body.start_first_animation #lp_page_title { opacity:1; transition: opacity 1.0s ease; }
body.page-template-page-tcd-lp #page_contents { padding-top:70px;}
.no_breadcrumb { margin-top: 70px !important;}
body.page-template-page-tcd-lp.normal_page_width #page_contents .post_content { width: 830px;}
body.page-template-page-tcd-lp.large_page_width #page_contents .post_content { width: 1180px; }
body.page-template-page-tcd-lp #page_header.layout_type1 .content { width:100%; padding:0 50px; }
body:has(#header) #container:has(#page_header.layout_type1) { border-top:1px solid #ddd; }
@media screen and (min-width:1101px) {
  #lp_style1_content { max-width:1000px; margin:120px auto; box-shadow:0 0 20px 5px rgba(0,0,0,0.1); }
	body:not(:has(#header)) #lp_style1_content { margin-top:0; }
	body.show_header_message #lp_style1_content { margin-top:80px !important; }
  #lp_style1_content #page_header { margin:-1px -1px 0; width:calc(100% + 2px); }
  #lp_style1_content #page_contents { padding:110px 50px 120px; border: 1px solid #ddd;}
}
body.page-template-page-tcd-lp.normal_header_height #lp_page_header { height:600px; }
body.page-template-page-tcd-lp #lp_page_header.layout_type3 { height:100vh !important; height:100dvh !important; }
body.page-template-page-tcd-lp #lp_page_header.layout_type3 .image { position:absolute; }

#lp_page_header .content { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3; display: flex; flex-direction: column; align-items: flex-start;}
#lp_page_header .content.layout_type2 { align-items: center; text-align: center;}
#lp_page_header .catch .mobile { display: none; }
#lp_page_header .content.layout_type3 { align-items: flex-end; text-align: right; }
#lp_page_header .catch { color: #fff; line-height: 1.6; font-weight: 500; }
#lp_page_header .sub_catch { color: #fff; line-height: 1.6; font-weight: 500; }
#lp_page_header .catch + .sub_catch { margin-top: 5px; }
#lp_page_header .catch + .link_button { margin-top: 35px; }

body.page-template-page-tcd-lp #lp_page_header.layout_type1 .content { width: 100%; padding: 0 50px; }

/* FAQ */
.faq_list { width:100%; max-width:100%; margin:0 auto 35px; }
.faq_list .headline { font-size:24px; color:#7ea0c8; margin-bottom:45px; padding:0; text-align:center; }
.faq_list .item { border:1px solid #ddd; margin:0 0 -1px 0; position:relative; background:#fff; }
.faq_list .title { cursor: pointer; margin:0; font-weight:500; font-size:16px !important; line-height:1.8; padding:27px 40px 25px 30px; margin-bottom:0; position:relative; transition:color 0.4s ease; }
.faq_list .title span { display:block; margin:-0.4em 0; }
.faq_list .title:before { content:''; display:block; position:absolute; top:35px; right:25px; height:1px; width:11px; background:#000; }
.faq_list .title:after { content:''; display:block; position:absolute; top:30px; right:30px; height:11px; width:1px; background:#000; }
.faq_list .title.active:after { display:none; }
.faq_list .desc_area { height:0; overflow:hidden; transition:height 0.2s cubic-bezier(0.54, 0.07, 0.38, 0.9); }
.faq_list .desc { font-size:16px; line-height:2.6; padding:20px 30px; border-top:1px solid #ddd; background:#f8f8f8; transition:opacity 0.7s ease; opacity:0; }
.faq_list .desc span { display:block; }
.faq_list .title.active { color:var(--main_color); }
@media(hover: hover) {
  .faq_list .title:hover { color:var(--main_color); }
}
.faq_list .title.active + .desc_area > .desc { opacity:1; transition:opacity 1s ease; }
@media (max-width: 800px) {
  .faq_list .title { font-size:14px !important; padding:20px 50px 18px 20px; }
  .faq_list .desc { padding:20px; font-size:14px; line-height:2; }
  .faq_list .title:before { top:27px; right:15px; }
  .faq_list .title:after { top:22px; right:20px; }
}


/* AJAXロード */
.ajax_post_list_wrap { position:relative; display:none; }
.ajax_post_list_wrap.active { display:block }
.ajax_post_list_wrap .item { opacity:0; position:relative; }
.ajax_post_list_wrap .item.animate {
  -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s;
  animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s;
}
.ajax_post_list_wrap .post_list_more .design_button { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;}
.ajax_post_list_wrap .post_list_more span { display:flex; margin:70px auto 0; cursor: pointer;}
.ajax_post_list_wrap .post_list_more.is-hide { display:none; }
.ajax_post_list_wrap .entry-loading {display:none; height: 150px; margin-top: 40px;}
.ajax_post_list_wrap .entry-loading.is-show { display: flex; justify-content: center; }


/* ナビゲーション */
#style_nav { display:flex; flex-wrap:wrap; justify-content:center; margin-bottom:100px; }
#style_content + #style_nav { padding-top:100px; }
#style_nav a { display:block; padding:10px 30px; font-size:16px; }
#style_nav a:first-of-type { border-right:1px solid #000; }
#style_nav a:only-of-type { border:none; }
@media(hover: hover) {
  #style_nav a:hover { color:#999; }
}



/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */

/* 記事一覧 */
#archive_news { position:relative; width:100%; margin:0 auto; padding:70px 0 0 0; }
.news_list { }
.news_list .item { position:relative; display:flex; flex-wrap:nowrap; align-items:center; border-bottom:1px solid #ddd; padding:40px 0; }
.news_list .item:first-of-type { border-top:1px solid #ddd; }
.news_list .animate_background { display:block; margin-right: 40px;}
.news_list .image_wrap { width: 340px; height: 210px; position: relative; overflow: hidden; z-index: 2; aspect-ratio: 440 / 275;}
.news_list .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.news_list .content { padding-right:40px; display: grid; gap: 30px;}
.news_list .blog_category a {font-size: 14px; color: var(--main_color); margin-right: 15px; font-weight: 600;}
body.hide_news_image .news_list .content { width:auto; padding-left:0; }
.news_list .category { margin:0 0 23px 0; display:inline-block; height:40px; line-height:40px; min-width:120px; text-align:center; padding:0 25px; border:1px solid #ddd; background:#fff; font-size:14px; }
.news_list .blog_category a { transition: opacity 0.3s ease;}
.news_list .title { font-size:20px; line-height:1.6; height:1.6em; overflow:hidden; visibility:visible; margin: -0.3em 0;}
.news_list .title a { transition: color 0.3s ease; display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:1;}
.news_list .title a span{ display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:1;}
.excerpt_margin { margin-bottom: 0 !important;}
.news_list .excerpt { font-size: 16px; overflow: hidden;line-height: 2.2; height: 2.2em;  margin: -0.6em 0;}
.news_list .excerpt span { display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.news_list .date_area { display:flex; flex-wrap:wrap; align-items: center;}
.news_list .date { position:relative; color:#999; font-size:14px; display:block; font-weight:500; margin:0 15px 0 0; }
.news_list .date:before { font-family:'normal_icon'; content:'\e903'; font-size:16px; margin:0 5px 0 0; position:relative; top:1.5px; -webkit-font-smoothing: antialiased; }
.news_list .update { position:relative; color:#999; font-size:14px; font-weight:500; display:block; }
.news_list .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:16px; display:inline-block; margin:0 5px 0 0; top:1.5px; position:relative; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
  .news_list .blog_category a:hover { opacity: 0.6; }
  .news_list .title a:hover { color:rgba(0,0,0,0.6) !important; }
}

body.post-type-archive-news.show_sidebar #main_col { width:calc(100% - 350px); }

/* お知らせ詳細 */
#single_news_header { margin:0 0 50px; position:relative; }
body.hide_sidebar #single_news_header { margin-top:20px; }
#single_news_header .image { margin-top:50px; height: auto; position:relative; width:100%; position:relative; overflow:hidden; aspect-ratio: 830 / 510;}
#single_news_header .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#single_news_header .title { font-size:var(--single_title_font_size); font-family:var(--single_title_font_type); line-height:1.5; font-weight:600; margin:-0.25em 0 !important;}
#single_news_header .meta { margin:0 0 30px; display:flex; flex-wrap:wrap; align-items:center;}
#single_news_header .category {display:flex; margin:0 0 25px 0; min-width:120px; }
#single_news_header .category a { font-size:14px; display:inline-block; color: var(--main_color); font-weight: 600; }
#single_news_header .category a:after { content:' ,'; margin-right:10px; }
#single_news_header .category a:last-of-type:after { display:none; }
#single_news_header .date { position:relative; color:#999; font-size:14px; font-weight:500; display:flex; margin:0 15px 0 0; align-items: center; }
#single_news_header .date:before { font-family:'normal_icon'; content:'\e903'; font-size: 14px; margin:0 5px 0 0;  position:relative; -webkit-font-smoothing: antialiased; }
#single_news_header .update { position:relative; color:#999; font-size:14px; font-weight:500;display:block; }
#single_news_header .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:18px; display:inline-block; margin:0 5px 0 0; top:1.5px; position:relative; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
	#single_news_header .category a:hover { color:#999; }
}
body.single-news.show_sidebar #main_col { width:calc(100% - 350px); }


/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_header { width:100%; height:200px; position:relative; overflow:hidden; }
#page_header.type2 { height:70px; margin:0 0 90px 0; }
#page_header.no_image { background:#fff !important; border-bottom:1px solid #ddd; }
body.single #page_header.type2 { margin-bottom:70px; }
body.single-style #page_header.type2 { margin-bottom:100px; }
body.author #page_header.type2 { margin-bottom:0; }
#page_header img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; }
#page_header .overlay { opacity: 1; position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
body.single #page_header .overlay { opacity:1; }
body.search-no-results #header_top { display: none;}
body.search-no-results .p-header-site_catch { display: none;}
.site_catch_border { border-bottom: 1px solid #ddd;}
body.error404 #header_top { display: none;}
body.error404 .p-header-site_catch { display: none;}

/*GLUE見出し*/
#archive_headline { position: absolute; text-align: center; width: 100%; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%);}
#archive_headline .headline { color: #fff; font-size: var(--headline_font_size); font-family: var(--headline_font_type);}
#page_header { position: relative;}
.archive_desc_contents{ margin-top: -0.8em; margin-bottom: calc(70px - 0.8em);}
.archive_desc{ font-size: 16px; line-height: 2.6; }
.archive_desc a { color: var(--content_link_color) !important;}
.archive_desc a:hover { text-decoration: underline;} 
#page_header { margin-bottom: 50px;}
#archive_headline_no_image { text-align: center; width: 100%; margin-bottom: 70px;}
#archive_headline_no_image .headline { color: #000; font-size: var(--headline_font_size); font-family: var(--headline_font_type);}
#archive_headline_no_image .archive_desc_contents { padding-top: 50px;}
.archive_headline_no_desc_cate { padding-top: 0 !important;}
.archive_desc_contents .desc_pc_none {  display: none;}
.archive_desc_contents .desc_mobile_none {  display: none;}

/* パンくずリンク */
#bread_crumb { position:relative; z-index:3; max-width:1180px; margin:50px auto 70px; width: calc(100% - 270px);}
#bread_crumb ul { width:100%; margin:0 auto; overflow:hidden; white-space: nowrap; text-overflow: ellipsis; visibility:visible; color:#000; }
#bread_crumb li { display:inline; font-size:14px; margin:0 8px 0 0; padding:0 24px 0 0; position:relative; }
#bread_crumb li.category { padding-right:19px; }
#bread_crumb li:after { font-family:'normal_icon'; content:'\e910'; font-size:11px; color:#000; display:block; height:13px; line-height:13px; position:absolute; right:0px; top:2px; -webkit-font-smoothing: antialiased; }
#bread_crumb li:last-of-type:after { display:none; }
#bread_crumb li:last-of-type { color:#000; }
/*#bread_crumb, #bread_crumb li.last { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; visibility: visible; }*/
#bread_crumb li a { color:#000; display:inline-block; transition: opacity 0.2s ease-in-out; }
@media(hover: hover) {
  #bread_crumb li a:hover { opacity:0.5; }
}
#bread_crumb li.category a:after { content:','; margin-right:5px; }
#bread_crumb li.category a:last-of-type:after { display:none; }
#bread_crumb li.home { padding-right:20px; }
#bread_crumb li.home a { position:relative; width:16px; }
#bread_crumb li.home a span { opacity:0; }
#bread_crumb li.home a:before { font-family:'normal_icon'; content:'\e90c'; font-size:12px; color:#000; display:inline-block; top:0px; position:relative; -webkit-font-smoothing: antialiased; }

#page_header.no_image #bread_crumb li:after { color:#000; }
#page_header.no_image #bread_crumb li.home a:before { color:#000; }
#page_header.no_image #bread_crumb li a { color:#000; }
#page_header.no_image #bread_crumb li:last-of-type { color:#999; }

body.no_side_wijet #bread_crumb { width: 830px !important;}

/*body.archive #bread_crumb, body.page #bread_crumb { width:1100px; }*/
body.archive .no_image #bread_crumb, body.page.no_header_image #bread_crumb { border-bottom-color:#ddd; }
body.archive #bread_crumb ul, body.page #bread_crumb ul { width:100%; }
body.archive .no_image #bread_crumb li:after, body.page.no_header_image #bread_crumb li:after { color:#000; }
body.archive .no_image #bread_crumb li.home a:before, body.page.no_header_image #bread_crumb li.home a:before { color:#000; }
body.archive .no_image #bread_crumb li a, body.page.no_header_image #bread_crumb li a { color:#000; }
body.archive .no_image #bread_crumb li:last-of-type, body.page.no_header_image #bread_crumb li:last-of-type { color:#999; }
#bread_crumb li:last-of-type {
  color: #888888; /* 最後の項目の色を bcbcbc に指定 */
}


/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#archive_blog { padding-top: 70px; }
#archive_blog .headline { font-size:28px; text-align:center;  margin:0 auto 70px; font-weight: 600;}
#no_post { text-align:center; }
.desc_contents_none { display: none;}
.cate_no_border .blog_list .item:first-child {border-top: none !important; padding-top: 40px !important;}
.cate_no_border { padding-top: 0 !important;}
.cate_no_border .news_list .item:first-child {border-top: none !important; padding-top: 40px !important;}
.desc_no_category { margin-bottom: -0.8em;}
.no_contents_header_pc { margin-bottom: 0 !important;}
.no_contents_header_mobile { margin-bottom: 0 !important;}
.cate_no_border  .blog_list { border-top: none;}
.desc_mobile_display_none { display: none;}

/* 記事一覧 */
.blog_contents { display: grid; gap: 30px;}
.blog_list { width:100%; margin:0 auto; display:flex; flex-wrap:wrap; }
.blog_list .item { width:100%; position:relative; transition: color 0.25s ease; display: flex; flex-wrap: nowrap; padding:40px 0;  align-items: center;}
.blog_list .item:first-child{ border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.blog_list .item:nth-child(n+2){ border-bottom: 1px solid #ddd;}
.blog_list .animate_background { display:block; margin-right: 40px;}
.blog_list .image_wrap { width:340px; height:210px; position:relative; overflow:hidden; z-index:2; aspect-ratio:440 / 275; }
.blog_list .image_wrap img { width:100%; height:100%; object-fit:cover; }
.blog_list .blog_category { line-height: 1.4; margin: -0.2em 0;}
.blog_list .blog_category a{ font-size: 14px; color:var(--main_color); font-weight: 600;}
.blog_list .blog_list_date { display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; color: #999;}
.blog_list .pr_name { display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; color: #999; line-height: 1.4;}
body.author .blog_list_date::before { font-family: 'normal_icon';content: '\e903'; font-size: 16px; margin-right: 3px; }

.blog_list .meta { position:relative; height:70px; }
.blog_list.no_image .meta { border-bottom:1px solid #ddd; }
.blog_list .title { font-size:20px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; margin: -0.3em 0;}
body.category .blog_list .title { height: auto;}
.blog_list .title a { transition: color 0.3s ease;}
.blog_list .blog_category a { transition: opacity 0.3s ease; }
.blog_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.blog_list .pr_label { display:inline-block; text-align:center; padding:5px 15px; border:1px solid #ddd; background:#fff; font-size:12px;min-width: 50px;}
.blog_list .date_area { margin:0 0 -45px 50px; position:relative; }
.blog_list .date { font-family:Arial; display:block; text-align:center; position:relative; z-index:3; }
.blog_list .date { font-size:14px; display:flex; align-items: center;}
.blog_list .date::before { font-family: 'normal_icon';content: '\e903'; font-size: 16px; margin-right: 3px;}
.blog_list .update { color:#999; font-size:14px; padding-left:20px; font-family:Arial; display: flex;align-items: center;}
.blog_list .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:16px; -webkit-font-smoothing: antialiased; margin-right: 3px;}
@media(hover: hover) {
  .blog_list .title a:hover { color:rgba(0,0,0,0.6) !important; }
  .blog_list .blog_category a:hover { opacity: 0.6; }
}

.blog_list .no_banner_img { display: none;}
.tab_post_list .no_banner_img { display: none;}


/*カテゴリー一覧*/
#blog_category_sort_wrap { width:100%; margin:0 auto 0; position:relative; text-align:center; }
#archive_headline + #archive_blog #blog_category_sort_wrap { margin-top:100px; }
#blog_category_sort:after { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; right:0; top:0; z-index:2; }
#blog_category_sort:before { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; left:0; top:0; z-index:2; }
#blog_category_sort .item { margin:0; width:calc(25% + 1px); }
.add-border-left {
  border-left: 1px solid #ddd;
}
#blog_category_sort.left_tab_active::before {width: 0 !important;}
/*#blog_category_sort { border-left: 1px solid #ddd;}*/
#blog_category_sort.small_size .item { flex: 1 1 0%; width:auto; }
#blog_category_sort .item a { font-size:16px; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:0 10px; position:relative; transition: color 0.3s ease;line-height:1.4;overflow:hidden; visibility:visible; transition: color 0.3s ease; white-space: wrap;}
#blog_category_sort .item a:after { content:''; display:block; width:1px; height:100%; position:absolute; right:0; top:0; background:#ddd; }
#blog_category_sort .active_category a:after { background:var(--main_color); }
.before-active a::after { width: 0 !important;}
#blog_category_sort .item.active_category { position:relative; z-index:5; }
#blog_category_sort .item.active_category a { background:var(--main_color); border-color:var(--main_color) !important; color:#fff; position:relative; pointer-events:none; }
.cate_no_border_sort { margin-bottom: 0 !important;}
/* 選択されたカテゴリーの背景色を変更 */
.item.active_category { background-color: var(--main_color);border-color:var(--main_color) !important;}
.item.active_category a { color: #fff;}
@media(hover: hover) {
  #blog_category_sort_wrap .swiper-button-next:hover:before, #blog_category_sort_wrap .swiper-button-prev:hover:before { border-color:#aaa; }
  #blog_category_sort .item a:hover p { color:rgba(0,0,0,0.6) !important; }
}
#blog_category_sort_wrap .category_center { justify-content: center;}
#blog_category_sort_wrap .item_width { flex: none !important; width: calc(100% / 3) !important;}
#blog_category_sort .item:first-child { border-left: 1px solid #ddd;}
#blog_category_sort_wrap .small_size::before { display: none;}
#blog_category_sort_wrap .small_size::after { display: none;}
#blog_category_sort_wrap .category_center .item:first-child { border-left: 1px solid #ddd;}
#blog_category_sort_wrap .mobile_button_width { justify-content: center;}
/* 初期状態でボタンを非表示にする */
#blog_category_sort_wrap .swiper-button-prev,
#blog_category_sort_wrap .swiper-button-next {
 opacity: 1;
}

#blog_category_sort {
  opacity: 0; /* 初期状態では透明にして非表示にする */
  visibility: hidden; /* スライダーが初期化されるまで見えないようにする */
}

/* 矢印ボタンのスタイル */
#blog_category_sort_wrap .swiper-button-prev,
#blog_category_sort_wrap .swiper-button-next {
    position: relative;
    display: inline-flex; /* ボタンを横並びに配置 */
    justify-content: center;
    align-items: center;
    margin-top: 20px; /* カテゴリーソートの下40pxに配置 */
    font-size: 18px;
    z-index: 10;
    opacity: 0;  /* 非表示 */
    visibility: hidden; /* 完全に非表示にする */
    transition: opacity 0.3s ease, visibility 0s ease 0.3s; ;
}

#blog_category_sort_wrap .swiper-button-prev.active,
#blog_category_sort_wrap .swiper-button-next.active {
  opacity: 1;  /* 表示 */
  visibility: visible; /* 完全に表示する */
  transition: opacity 0.3s ease;  /* フェードインのトランジション */
}

/* 矢印ボタンの間隔を設定 */
#blog_category_sort_wrap .swiper-button-prev {
  margin-right: 8px; /* 左ボタンと右ボタンの間隔を設定 */
  left:0;
  transition: border-color 0.3s ease;
}

#blog_category_sort_wrap .swiper-button-next {
  margin-left: 8px;
  right:0;
  transition: border-color 0.3s ease;
}

  #blog_category_sort_wrap .swiper-button-prev::before {
    width: 50px;
    height: 7px;
    border-bottom: 1px solid #000;
    border-left: 2px solid #000;
    transform: skew(120deg);
    content: '' !important;
    transition: border-color 0.3s ease;
  }

/* 右矢印のデザイン */
#blog_category_sort_wrap .swiper-button-next:before {
  width: 50px;
  height: 7px;
  border-bottom: 1px solid #000;
  border-right: 2px solid #000;
  transform: skew(60deg);
  content: '' !important;
  transition: border-color 0.3s ease !important;
}

.swiper_button_none { display: none !important;}


/* ページナビ */
.page_navi { margin:70px 0 0 0; z-index:10; position:relative; }
.page_navi ul { margin:0; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; }
.page_navi li { margin:0 -1px 0 0; }
.page_navi a, .page_navi .current, .page_navi .dots { font-family:"Arial"; background:#fff; border:1px solid #ddd; color:#000; font-size:14px; width:50px; height:50px; line-height:50px; display:inline-block; text-align:center; }
@media(hover: hover) {
  .page_navi a:hover { background:var(--main_color); border-color:var(--main_color); color:#fff; }
}
.page_navi .dots { }
.page_navi .current { color:#fff !important; background:var(--main_color); border-color:var(--main_color); }
.page_navi .next, .page_navi .prev { position:relative; }
.page_navi .next span, .page_navi .prev span { display:none; }
.page_navi .next:before, .page_navi .prev:before { font-family:'normal_icon'; font-size:12px; top:0; position:relative; -webkit-font-smoothing: antialiased; transition:none !important; }
.page_navi .prev:before { content:'\e90f'; left:0px; }
.page_navi .next:before { content:'\e910'; right:0px;}

#search_archive_headline { margin-top: 70px; }
#search_archive_headline .headline{ text-align: center; width: 100%;}
#search_archive_headline .headline span{ font-size: 30px; }
#search_archive_headline .desc{ font-size: 16px; margin-top: 50px; text-align: center;}

body.page-template-default.show_sidebar #main_col { width:calc(100% - 350px); }
body.blog.show_sidebar #main_col { width:calc(100% - 350px); }
body.category.show_sidebar #main_col { width:calc(100% - 350px); }
body.search.show_sidebar #main_col { width:calc(100% - 350px); }
body.tax-news_category.show_sidebar #main_col { width:calc(100% - 350px); }
.blog_category a {
  position: relative;
  display: inline-block;
}

.blog_category a:after {
  content: ' ,';  /* カテゴリーの区切り */
  margin-right: 5px;
}

.blog_category a:last-of-type:after {
  content: '';  /* 最後のカテゴリーには区切り文字を表示しない */
  margin-right: 0;
}


/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */

/* タイトルエリア */
#single_post_header { margin-bottom:50px; position:relative; }
#single_post_header .category { display:flex; margin:0 0 30px 0; min-width:120px; white-space: nowrap; overflow-x: auto; overflow-y: hidden;}
#single_post_header .category::-webkit-scrollbar { display: none;}
#single_post_header .category a { font-size:14px; display:inline-block; color: var(--main_color); font-weight: 600; white-space: nowrap; transition: opacity 0.3s ease;}
#single_post_header .category a:after { content:' ,'; margin-right:10px; }
#single_post_header .category a:last-of-type:after { display:none; }
#single_post_header .title { font-size:var(--single_title_font_size); font-family:var(--single_title_font_type); font-weight:600; line-height:1.5; margin: -0.25em 0;}
#single_post_header .image { position:relative; width:100%; height:auto; position:relative; overflow:hidden; margin-top: 50px;}
#single_post_header .image img { width:100%; height:100%; position:relative; }
#single_post_header .date_area { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; color: #999; font-family: var(--content_font_type);}
#single_post_header .date_area .date { font-family:Arial; display: flex;align-items: center;}
#single_post_header .date_area .date::before { font-family: 'normal_icon'; content: '\e903'; font-size: 16px; margin-right: 3px; }

#single_post_header .date_area .update { color:#999; font-size:14px; padding-left:20px; display: flex; align-items: center;}
#single_post_header .date_area .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:16px; margin-right: 3px;}
#single_post_header .date_area2 { display:flex; flex-wrap:wrap; margin-top:-50px; }
#single_post_header .date_area2 .date { display:block; color:#999; position:relative; font-size:14px; padding-left:20px; margin-right:15px; }
#single_post_header .date_area2 .date:before { font-family:'normal_icon'; content:'\e903'; font-size:16px; position:absolute; left:0; -webkit-font-smoothing: antialiased; }
#single_post_header .date_area2 .update { display:block; color:#999; position:relative;  font-size:14px; padding-left:20px; }
#single_post_header .date_area2 .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:16px; position:absolute; left:0px; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
  #single_post_header .category a:hover { opacity: 0.6 !important; }
}

body.single-post.show_sidebar #main_col { width:calc(100% - 350px); }
body.show_sidebar_left #main_content { flex-direction:row-reverse; }

/* 本文 */
@media(hover: hover) {
  .post_content a:hover { text-decoration:underline; }
}


/* SNSボタン */
#single_share_top { margin:50px 0 50px; padding:0; }
#single_share_bottom { margin:50px 0 0; }


/* コピーボタン */
.single_copy_title_url { text-align: center; }
.single_copy_title_url_btn {
  font-family:var(--content_font_type); font-size:14px; color:#000; background:#fff; border:3px solid #ccc; cursor:pointer; line-height:54px; min-width:300px; padding: 0 15px;
  transition-property:background-color, color; transition-duration:0.3s; transition-timing-function:ease;
}
@media(hover: hover) {
  .single_copy_title_url_btn:hover { color:rgba(0,0,0,0.5) !important; }
}
.single_copy_title_url_btn.copied { background:#ccc; color:#fff; pointer-events:none; }
#single_copy_title_url_top { margin:0 0 50px 0; }
#single_copy_title_url_btm { margin:70px 0 0; }


/* ページ分割 */
#post_pagination { margin:60px 0 0; padding:0; clear:both; font-size:0; text-align:center; }
#post_pagination a, #post_pagination p { margin:0 -1px 0 0; font-family:"Arial"; background:#fff; border:1px solid #ddd; color:#000 !important; font-size:14px; width:50px; height:50px; line-height:50px; display:inline-block; text-align:center; text-decoration:none; }
#post_pagination p { color:#fff !important; background:#000; border-color:#000; }
@media(hover: hover) {
  #post_pagination a:hover { background:var(--main_color_light); border-color:var(--main_color_light); color:#fff !important; }
}


/* メタ情報 */
#post_tag_list { display:flex; flex-wrap:wrap; margin:30px 0 0; gap: 5px;}
#post_tag_list a { border: 1px solid #bbb; display:flex; height:30px; line-height:30px; padding:0 15px; border-radius:4px; font-size:12px; color: #999; transition: color 0.3s ease; align-items: center;}
#post_tag_list a::before { content: '#'; margin-right: 3px; color: #999; transition: color 0.25s ease;}
@media(hover: hover) {
  #post_tag_list a:hover { 
    color: #bbb; 
  }
  #post_tag_list a:hover::before {
    color: #bbb; /* ::before要素の色も変更 */
  }
}


/* プロフィール */
.author_profile { background:#fff; border:1px solid #ddd; margin:50px 0 0; position:relative; padding:50px 40px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
.author_profile .avatar_area { display:block; width:120px; height:120px; border-radius:100%; position:relative; }
.author_profile .image_wrap { display:block; width:120px; height:120px; border-radius:100%; position:relative; overflow:hidden; z-index:2; }
.author_profile .image_wrap img { display:block; width:100%; height:100% !important; z-index:2; object-fit:cover; position:absolute; top:0; left:0; }
.author_profile .info { height:100%; width:calc(100% - 120px); position:relative; }
.author_profile .info_inner { padding:0 0 0 40px; }
.author_profile .name { font-size:18px; font-weight:600; line-height:1.4; }
.author_profile .desc { line-height:2.2; font-size:16px; max-height:4.4em; overflow:hidden; visibility:visible; margin: -0.6em 0;}
.author_profile .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.author_profile .desc a { color:var(--content_link_color); }
@media(hover: hover) {
  .author_profile .name a:hover { color:rgba(0,0,0,0.5); }
  .author_profile .desc a:hover { text-decoration:underline; }
}

.author_profile .sns_button_list { text-align:left; margin-top:10px; }
.author_profile .writer_name_date {display: flex;flex-wrap: wrap;align-items: center; margin-bottom: calc(30px - 0.2em); gap: 15px 20px;}

.author_profile .writer_name_date .name { font-size: 20px;}
.author_profile .writer_name_date .job { font-size: 14px; color: #999;}
.author_profile .writer_name_date .name a { transition: color 0.3s ease;}
.author_profile .writer_name_date .name a:hover { color:rgba(0,0,0,0.6) !important;}

/* ナビゲーション */
#next_prev_post { margin:50px 0 0 ; position:relative; display:flex; flex-wrap:wrap; }
#next_prev_post .item { border:1px solid #ddd; height:120px; width:50%; position:relative; display:flex; flex-wrap:wrap; align-items:center; }
#next_prev_post .item:nth-of-type(2) { margin-left:-1px; justify-content:flex-end; }
#next_prev_post .item:before { font-family:'normal_icon'; font-size:16px; position:absolute; top:calc(50% + 2px); transform: translateY(-50%); color:#000; -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important; }
#next_prev_post .prev_post:before { content:'\e90f'; left:37px; }
#next_prev_post .next_post:before { content:'\e910'; right:37px; }
#next_prev_post .item.next_post:nth-of-type(1) { margin-left:50%; justify-content:flex-end; }
#next_prev_post .title {
  position:relative; font-weight:500; margin-top:2px;
  font-size:16px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible;
  word-wrap:break-word; word-break:break-all;
}
#next_prev_post a { transition: color 0.3s ease;}

#next_prev_post .prev_post .title { padding:0 40px 0 84px; }
#next_prev_post .next_post .title { padding:0 84px 0 40px; }
#next_prev_post .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
#next_prev_post .nav { display:none; }
@media(hover: hover) {
  #next_prev_post a:hover { color:rgba(0,0,0,0.6); }
	#next_prev_post a:hover:before { color:rgba(0,0,0,0.6); }
}


/* 関連記事 */
.single_post_bottom_contents { width: 100%; margin-top: 70px; display: flex; flex-wrap: nowrap; gap: 50px;}
.post_list_1_culam_wrap { flex-wrap: wrap;}
.bottom_related_post {width: calc((100% - 50px) / 2); }
.bottom_related_post .bottom_related_post_list .item { width: 100%;}
.post_list_1_culam { width: 100% !important;}
.post_list_1_culam .item { width:calc(100% / 2) !important; border: 1px solid #ddd; box-sizing: border-box;}

body.single-news .post_list_1_culam .item:nth-child(2) { border-left: none; }
body.single-news .post_list_1_culam .item:nth-child(2n+3) { border-top: none;}
body.single-news .post_list_1_culam .item:nth-child(2n+4) { border-left: none; border-top: none;}

body.single-post .post_list_1_culam .item:nth-child(2) { border-left: none; }
body.single-post .post_list_1_culam .item:nth-child(2n+3) { border-top: none;}
body.single-post .post_list_1_culam .item:nth-child(2n+4) { border-left: none; border-top: none;}

.bottom_related_post .headline { font-size: 20px; margin-bottom: 30px; color: var(--main_color); font-family: var(--content_font_type);}
.bottom_related_post_list { display: flex; flex-wrap: wrap; width: 100%; }
.bottom_related_post .item { width: 100%; display: flex; flex-wrap: nowrap; padding: 20px 25px 20px 20px; height: 150px; align-items: center;}
.post_list_2_culam .bottom_related_post_list { border: 1px solid #ddd;}
.post_list_2_culam .bottom_related_post_list .item { border-bottom: 1px solid #ddd;}
.post_list_2_culam .bottom_related_post_list .item:last-child { border-bottom: none;}
.bottom_related_post .item .image_wrap{ width: 110px; height: 110px; overflow: hidden; margin-right: 30px; position: relative;}
.bottom_related_post .item .image_wrap img{ width: 100%; height: 100%; overflow: hidden; object-fit: cover;}
.bottom_related_post .item .title_contents{ width: calc(100% - 110px); font-size: 16px; line-height: 1.8; }
.bottom_related_post .item .title_contents .title{ overflow: hidden; max-height: 3.6em;}
.bottom_related_post .item .title_contents .title span{ display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}
.bottom_related_post .item .title_contents .title a { transition: color 0.3s ease;}
.bottom_related_post .item .title_contents .title a:hover { color:rgba(0,0,0,0.6) !important;}

/*スタイルカルーセル*/
#single_style_carousel { position:relative; margin:0 auto 140px; overflow:hidden; }
#single_style_carousel .headline{ text-align:center; font-size:28px; line-height:1; margin:0 0 100px 0; font-family:var(--headline_font_type); }
#single_style_carousel .swiper-nav-button:before {
  color: #000; transition: color 0.25s ease !important;
}
@media(hover: hover) {
  #single_style_carousel .swiper-nav-button:hover:before { color:#aaa; }
}
.style_margin_top{ margin-top: 100px !important;}


/* カテゴリー一覧 */
#single_category_list { position:relative; width:930px; margin:0 auto 70px; }
#single_category_list .headline { height:70px; line-height:70px; text-align:center; background:#000; color:#fff; font-size:24px; font-family:var(--headline_font_type); }
#single_category_list .category_list { display:flex; flex-wrap:wrap; position:relative; border-left:1px solid #ddd; }
#single_category_list li { width:25%; }
#single_category_list li a { height:70px; line-height:70px; display:block; background-color:#fff; text-align:center; border:1px solid #ddd; border-top:none; border-left:none; font-size:16px; }
@media(hover: hover) {
  #single_category_list li a:hover { color:#999; }
}


/* アーカイブ・検索 */
#single_archive_search_area { width:930px; margin:0 auto 70px; display:flex; flex-wrap:wrap; justify-content:space-between; background:#fff; border:1px solid #ddd; padding:40px 94px; }



/* アーカイブ */
#single_archive_area { position:relative; width:350px; height:60px; }
#single_archive_area label { pointer-events:none; width:60px; height:60px; display:block; right:0px; top:0px; position:absolute; text-indent:-200%; overflow:hidden; z-index:10; }
#single_archive_area label:after { text-indent:0px; color:#333; content:"\e90e"; font-family:normal_icon; font-size:14px; position:absolute; top:27px; right:22px; z-index:11; }
#single_archive_area.open label:after { content:"\e911"; }
#single_archive_area select {
  -webkit-appearance:none; -moz-appearance:none; appearance:none; border-radius:0px; color:#000;
  cursor:pointer; border:1px solid #ddd; background:#fff; width:100%; height:60px; line-height:60px; padding:0 25px; font-size:16px;
}
#single_archive_area select::-ms-expand{ display:none; }


/* 検索 */
#sigle_search_area { position:relative; width:350px; height:60px; }
#sigle_search_area form { width:100%; height:60px; margin:0 auto; background:#fff; border:1px solid #ddd; position:relative; }
#sigle_search_area .search_input { width:calc(100% - 60px); position:absolute; top:0px; left:0px; }
#sigle_search_area .search_input input { height:60px; width:100%; border:none; background:none; padding:0 0 0 25px; }
#sigle_search_area .search_button { width:60px; height:60px; position:absolute; top:0px; right:0px; }
#sigle_search_area .search_button:before {
  text-indent:0; display:block; width:60px; height:60px; line-height:60px; text-align:center; cursor:pointer; z-index:1; pointer-events:none;
  position:absolute; font-family:normal_icon; color:#333; font-size:16px; content:'\e94c'; left:1px; top:2px; transition: color 0.2s ease;
}
#sigle_search_area .search_button:hover:before { color:rgba(0,0,0,0.5) !important; }
#sigle_search_area .search_button input { border:none; background:none; width:60px; height:60px; text-indent:-200px; overflow:hidden; cursor:pointer; }
#sigle_search_area .search_button label { display:none; }
body.search #side_col { margin-top: 70px;}


/* フリースペース */
#single_free_space {margin:50px auto 0px; }
#recent_news_list .post_list + #single_free_space { margin-top:100px; }
body.single-news.hide_sidebar #single_free_space { width:800px; }


/* 記事カルーセル */
#single_post_carousel { position:relative; width:930px; margin:0 auto 140px; overflow:hidden; }
.margin_bottom_style{ margin-bottom: 100px !important;}
#single_post_carousel_header { display:flex; flex-wrap:wrap; margin-bottom:70px; font-family:var(--headline_font_type); }
#single_post_carousel_header .item { font-weight:600; flex: 1 1 0%; text-align:center; height:70px; line-height:70px; cursor:pointer; background:#000; color:#fff; border-right:1px solid #444; transition: all 0.25s ease; }
#single_post_carousel_header .item:last-of-type { border-right:none; }
#single_post_carousel_header .item.active { pointer-events:none; background:#fff; border-color:#fff; color:#000; }
@media(hover: hover) {
	#single_post_carousel_header .item:hover { color:#999; }
}
#single_post_carousel.one_carousel #single_post_carousel_header  { display:block; }
#single_post_carousel.one_carousel #single_post_carousel_header .item { height:auto; text-align:center; font-size:28px; line-height:1; margin:0 0 100px 0; }
#single_widget_area + #single_post_carousel.one_carousel { margin-top:100px; }
.recommend_post_carousel { position:relative; opacity:0; pointer-events:none; visibility:hidden; display:none; }
.recommend_post_carousel.active { opacity:1; position:relative; pointer-events:auto; visibility:visible; display:block; animation:tcd_tab_fadein 0.5s ease-in 0s forwards; }
@keyframes tcd_tab_fadein {
  from { opacity:0; }
  to { opacity: 1; }
}
.recommend_post_carousel .post_list .item { display:block; background:#fff; height:auto; }
.recommend_post_carousel .post_list .image_wrap { margin:0 0 25px 0; width:100%; height:auto; position:relative; overflow:hidden; z-index:2; aspect-ratio:290 / 180; }
.recommend_post_carousel .post_list .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.recommend_post_carousel .post_list .title { font-size:16px; font-weight:500; line-height:1.8; display:block; max-height:3.6em; overflow:hidden; visibility:visible; }
.recommend_post_carousel .post_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.recommend_post_carousel .swiper-nav-button { opacity:0; transition: opacity 0.25s ease; }
@media(hover: hover) {
  .recommend_post_carousel:hover .swiper-nav-button { opacity:1; }
}
.recommend_post_carousel .swiper-button-next:before, .recommend_post_wrap .swiper-button-prev:before { }
.recommend_post_carousel .swiper-button-prev { left:-50px; right:auto; top:90px; }
.recommend_post_carousel .swiper-button-next { left:auto; right:-50px; top:90px; }


/* 広告 */
#single_banner_top { margin:0 auto 50px; }
body.single-staff #single_banner_top { margin:100px auto 0px; }
body.single-style #single_banner_top { margin:0px auto 100px; }
#single_banner_bottom { margin:50px auto 0px; }
body.single-staff #single_banner_bottom { margin:90px auto 100px; }
body.single-style #single_banner_bottom { margin:100px auto 0; }
#single_banner_shortcode { margin:15px auto 45px; }
img.single_banner_image { max-width:100%; height:auto; display:block; margin:0 auto; }
.single_banner img { max-width:100%; height:auto; }
.single_banner a img { -webkit-transition: filter 0.3s ease; transition: filter 0.3s ease; }
@media(hover: hover) {
  .single_banner a:hover img { filter: brightness(80%); }
}


/* ----------------------------------------------------------------------
　ページ上部　ヘッダー
---------------------------------------------------------------------- */
#header { z-index:100; position:relative; top:0px; left:0px; width:100%; background:#fff; }
/*body.admin-bar #header { top:32px; }*/
@media screen and (max-width: 782px) {
  body.admin-bar #header { top:46px; }
}
body.no_header_fix #header { position:relative; }
body.add_shadow_to_header #header { box-shadow:0 0 15px 5px rgba(0,0,0,0.5); }
#header_top { height:100px; position:relative; }
#header_bottom { height:70px; background:var(--main_color); position:relative; }
body.header_fix #header_top { display: none;}
body.header_fix .p-header-site_catch { display: none;}


/* ロゴ */
#header_logo { height:100%; position:absolute; left:50%; transform: translateX(-50%); top:0; }
#header_logo img { display:block; transition: all 0.25s ease; max-height:40px; width:auto; }
#header_logo img.mobile { display:none; }
#header_logo a { height:100%; display:flex; flex-wrap:wrap; align-items:center; transition: all 0.25s ease; }
@media(hover: hover) {
  #header_logo a:hover { opacity:0.5; }
}
#header_logo a .logo_text { font-weight:500; line-height:1.2; height:100%; display:flex; flex-wrap:wrap; align-items:center; color:#000; word-wrap:break-word; }
#header_logo img.mobile { display:none; }
body.hide_logo #header_logo { display:none !important; }

/* 検索フォーム */
.l-header__search {
  position: absolute;
  top: 0;
  right: 25px;
  height: 100%;
  display: flex;
  align-items: center;
  transition: opacity 0.5s ease;
}

.l-header__search_inner {
  display: flex;
  position: relative;
}

.l-header__search-form {
  position: relative;
}

.l-header__search-form input {
  max-width: calc(100vw - 130px);
  opacity: 0;
  transition: width 0.3s ease, opacity 0.3s ease;
  display: block;
  height: 50px;
  padding: 0 1.2em;
  color: #000;
  border-radius: 10px;
  font-size: 16px;
  border: none;
  margin-right: 65px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  width: 0;
}

.l-header__search:hover .l-header__search-form input {
  width: 300px;
  opacity: 1;
}

#header_search__button {
  position: absolute;
  right: 80px;
  top: 0;
  border: none;
  background: none;
  width: 50px;
  height: 50px;
  z-index: 2;
  cursor: pointer;
  display: none;
}

.submit_label {
  position: absolute;
  right: 60px;
  top: 0;
  z-index: 10;
  width: 50px;
  height: 50px;
  display: none;
  font-size: 15px;
  opacity: 0;
  font-weight: 600;
}

.submit_label::before {
  display: none;
}

.l-header__search-button {
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 10;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  font-size: 20px;
  transition: opcity 0.3s ease;
}

.l-header__search-button::before {
  display: block;
  font-family: 'normal_icon';
  color: #000;
  content: '\e94c';
  transition: color 0.2s ease, content 0.5s ease;
  -webkit-font-smoothing: antialiased;
}

.l-header__search-button {
  height: 50px;
  width: 50px;
}

@media (hover: hover) and (pointer: fine) {
  .l-header__search:hover .submit_label {
    opacity: 1;
  }
  .l-header__search:hover .l-header__search-form input,
  .l-header__search-form input:focus {
    width: 300px;
    opacity: 1;
  }
  .l-header__search:hover .l-header__search-button { opacity: 0.6 !important; }
}


/* サイトのキャッチフレーズ */
.p-header-site_catch { position: relative; height: 70px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; border-top: 1px solid #ddd;}
#site_catch { font-size:16px; font-weight:500; line-height:1.3; max-width: 1180px;}
#site_catch a { color:#000; }
#site_catch_mobile { display:none; }
@media(hover: hover) {
	#site_catch a:hover { color:#999; }
}


/* グローバルメニュー */
#global_menu { height:70px; width:calc(100% - 270px); z-index:2; max-width: 1180px; margin: 0 auto; position: relative;}
#global_menu > ul { display: flex; position: relative; }
#global_menu > ul > li { position: relative; width:100%; line-height:1; font-size:var(--global_menu_font_size); transition: background-color 0.3s 0.05s var(--ease-out-quart) ;}
/*@media(hover: hover) {
  #global_menu ul li :hover{ background:color-mix(in srgb,var(--main_color) 80%, white) ;}
}*/
#global_menu > ul > li > a { z-index: 2; color:#fff; text-decoration:none; height:70px; padding:0 10px; display:flex; position:relative;  transition: .5s; justify-content: center; align-items: center; width: 100%; line-height: 1.2;}
#global_menu > ul > li::before { content: '';position: absolute;top: 0;bottom: 0;left: 0;right: 0;transform-origin: right top;transform: scaleX(0);transition: transform 0.5s ease;z-index: -1; background:color-mix(in srgb,var(--main_color) 80%, white);}
#global_menu ul ul ul li a { text-indent: 1em; transition: text-indent 0.5s ease;}


#global_menu ul ul { background:color-mix(in srgb,var(--main_color) 80%, white); display:none; width:250px; position:absolute; top:70px; margin:0; padding:0; z-index:100; color: #fff;}
#global_menu ul ul ul { position: relative; top: 0; display: block;}
#global_menu ul ul li { line-height:1.5; font-size:var(--global_menu_font_size); padding:0; margin:0; text-align:left; position:relative; display:block; }
#global_menu ul ul a { color:#fff; display:block; position:relative; padding:17px 30px 15px; height:auto; line-height:1.6; margin:0; transition: text-indent 0.5s ease;}
/*#global_menu ul ul li.menu-item-has-children > a:before { font-family:'normal_icon'; content:'\e910'; color:#fff; display:block; position:absolute; right:9px; top:19px; font-size:10px; }*/
#global_menu ul ul li.menu-item-has-children > a:hover:before { color:#fff; }
@media(hover: hover) {
  #global_menu ul ul a:hover { text-decoration:none; background-color:var(--main_color); color:#fff; }
}
@media(hover: hover) {
#global_menu ul ul a:hover {text-indent: 1em;}
#global_menu ul ul ul li a:hover { text-indent: 2em; }
}
body.megamenu_dark_color #global_menu ul ul { background:#000; }
body.megamenu_dark_color #global_menu ul ul a { color:#fff; }
body.megamenu_dark_color #global_menu ul ul li.menu-item-has-children > a:before { color:#fff; }

.hover_background {
  position: absolute;
  width: 0;
  height: 100%;
  background:color-mix(in srgb,var(--main_color) 80%, white) ;/* 背景色 */
  z-index: 0;
  transition: width 0.15s, left 0.15s, opacity 0.3s;
  top: 0;
  left: 0;
  height: 100%;
}


/* ドロワーメニュー */
#drawer_menu {
  display:none; position:fixed; top:0px; right:0; width:400px; height:100vh; height:100dvh; background:var(--main_color); overflow:auto; z-index:99999;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); -webkit-overflow-scrolling: touch; pointer-events:none; transform: translate3d(100%,0,0);
}
#drawer_menu_button { display:none; }
#drawer_menu_overlay { opacity:0; pointer-events:none; content:''; width:100%; height:100%; background:rgba(0,0,0,0.6); display:block; position:fixed; top:0; left:0; z-index:9999; transition: opacity 0.5s ease; }

/*記事スライダー*/
.header_post_slider{ width: 100%; height: 730px; overflow: hidden;}

/* ヘッダーメッセージ */
#header_message {
	position:relative; z-index:20; width:100%;
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  min-height:50px; text-align: center; font-size:14px; font-weight:600; padding:15px 20px;
}
#header_message .label { display:block; color:inherit; line-height:1.4; padding:0 20px; }
@media(hover: hover) {
  #header_message a.label:hover { text-decoration: underline; }
}
@media (max-width: 800px) {
  #header_message { min-height:40px; font-size:12px; }
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/*フッターエリア*/
.p-footer__inner{ position: relative; background:#f6f6f6; color: #000;}
.p-footer_contents{ max-width: 1120px; width: calc(100% - 80px);margin: 0 auto; padding: 50px 0;display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap;}

/* ウィジェットエリア */
#footer { background:#f6f6f6; z-index:20; position:relative; overflow:hidden; background-attachment:fixed; padding: 70px 0;}

/* ロゴ */
#footer_logo { height:120px; width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; z-index:3; position:relative; }
#footer_logo img { display:block; transition: all 0.25s ease; max-width:100%; }
#footer_logo img.mobile { display:none; }
@media(hover: hover) {
  #footer_logo a:hover img { opacity:0.5; }
}
#footer_logo a .logo_text { font-weight:500; line-height:1.2; word-wrap:break-word; }
#footer_logo img.mobile { display:none; }
#footer_logo a { color:#fff; }
@media(hover: hover) {
  #footer_logo a:hover { color:rgba(255,255,255,0.5); }
}


/* ウィジェット */
#footer_widget_area { border-top:1px solid rgba(255,255,255,0.2); display:flex; flex-wrap:wrap; z-index:3; position:relative; overflow:hidden; margin: 0 auto; gap: 50px; max-width: 1180px; width: calc(100% - 270px);}
#footer_widget_area a { color:#000 !important; }
#footer_widget select, #footer_widget option { color:#fff; }
.footer_widget_content { color:#000; width:calc((100% - 100px) / 3); border-right:1px solid rgba(255,255,255,0.2); border-bottom:1px solid rgba(255,255,255,0.2); font-size:14px; margin-bottom:-1px; position:relative; }
.footer_widget_inner { position:relative; }
.footer_widget_content:nth-child(3n) { border-right:none; }
.footer_widget_headline { font-size:18px; color:var(--main_color); margin-bottom: calc(30px - 0.1em); font-weight:600 !important;line-height: 1.2; }
.widget_headline { font-size: 18px !important; color: var(--main_color); margin: 0 0 30px 0 !important; font-weight: 600 !important;}
@media(hover: hover) {
  #footer .post_content a:hover { text-decoration:underline; }
	#footer_widget_area a:hover { color:rgba(0,0,0,0.6) !important; }
  #side_col a:hover { color:rgba(0,0,0,0.6); }
}
#footer .times_headline { margin:0 0 5px 0; font-size:20px; }
.image_circle_tab { padding: 25px 30px 25px 30px !important;}
#footer_widget_area .widget_tab_post_list .image_wrap { width: 100px; height: 100px;}
#side_col .widget_tab_post_list .image_wrap { width: 120px; height: 120px;}
#side_col .widget_tab_post_list .image_circle { width: 110px; height: 110px;}
#side_col .widget_tab_post_list .image_circle_title { width: calc(100% - 110px) !important; height: 110px !important;}
#side_col .widget_tab_post_list.no_image .title_area { width: 100% !important; padding-left: 0 !important; height: auto !important;}
#footer_widget_area .widget_tab_post_list.no_image .title_area { width: 100% !important; padding-left: 0 !important; height: auto !important;}
#footer_widget_area .widget_tab_post_list li { padding: 20px 30px 20px 20px;}
#footer_widget_area .widget_tab_post_list .title_area { width: calc(100% - 100px); height: 100px;}
#side_col .widget_tab_post_list .title_area { width: calc(100% - 120px) ; height: 120px;}
#footer_widget_area .widget_tab_post_list a { flex-wrap: nowrap;}
.tab_flex { display:flex; flex-wrap: nowrap;}
#footer_widget_area .widget_tab_post_list .pr_label_contents { margin-bottom: 15px;}
#footer_widget_area .widget_categories li a { padding: 0 30px; height: 70px; line-height:70px; font-size: 16px;}
#footer_widget_area .widget_tab_post_list .pr_contents .title span { -webkit-line-clamp: 2;}
#side_col .widget_tab_post_list .pr_contents .title span { -webkit-line-clamp: 2;}
#side_col .widget_tab_post_list .pr_contents .pr_tab_title span { -webkit-line-clamp: 3;}
.no_banner_img_widget { display: none !important;}
.no_banner_title_widget { padding-left: 0 !important; width: 100% !important;}
#side_col .widget_categories li a { padding: 0 30px; height: 70px; line-height:70px; font-size: 16px;}
#side_col .widget_tab_post_list .title { max-height: 5.4em; }
#side_col .widget_tab_post_list .title span { -webkit-line-clamp: 3;}
#footer_widget_area .widget_tab_post_list .title span { -webkit-line-clamp: 3; }
.widget_tab_post_list .title { max-height: 5.4em;}



/* メニュー */
#footer_nav { background:#fff; position:relative; }
#footer_nav ul { display:flex; flex-wrap:wrap; justify-content:center; max-width: 1180px; width: calc(100% - 270px); margin: 0 auto;}
#footer_nav li a { display:block; padding:0 20px; color:#000; height:70px; line-height:70px; font-size:var(--global_menu_font_size); font-size: 14px;}
@media(hover: hover) {
	#footer_nav li a:hover { color:rgba(0,0,0,0.6); }
}


/* SNS */

#footer a {color: #fff;}
#footer_sns { position: absolute; left: 35px;  top:50%; transform: translateY(-50%); color: #fff !important; gap: 15px;}

.footer_bottom { position: relative; height: 70px; background: var(--main_color);}
/* コピーライト */
#copyright { line-height: 1.5; top: 50%; transform: translateY(-50%); position: relative; font-size: 14px; text-align: center; color: #fff;}
body.hide_footer .footer_bottom { border-top:1px solid #ddd; }
#copyright a { color: #fff; transition: opacity 0.3s ease;}
#copyright a:hover { opacity:0.6;}


/* 上部へ戻る*/
#return_top { position:fixed; right:35px; bottom:0px; z-index:80; transform: translate3d(0,100%,0); transition: all 0.35s; }
#return_top.active { transform: translate3d(0,0,0); bottom:35px; }
#return_top a { border-radius:100%; background:#fff; display:block; height:70px; width:70px; line-height:70px; text-decoration:none; position:relative; border:1px solid #ddd; }
@media(hover: hover) {
	#return_top a:hover:before { color:#aaa; }
}
#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#return_top a:before {
  color:#000; font-family:'normal_icon'; content:'\e910'; font-size:16px; display:block; width:16px;
  position:absolute; top:0px; left:27px; transform: rotate(-90deg); -webkit-font-smoothing: antialiased;
}


/* SNSボタン（全箇所共通） */
.sns_button_list { z-index:20; display:flex; flex-wrap:wrap; }
.sns_button_list li { font-size:12px; /*margin:0 15px 5px 0;*/ position:relative; }
.sns_button_list li a {
	display:block; text-align:center; position:relative; overflow:hidden;
  width:18px; height:18px;
}
.sns_button_list li a span { display:none; }
.sns_button_list li a:before {
  font-family:'sns_icon','normal_icon'; font-size:16px; display:block;
  position:absolute; left:50%; top:50%; transform: translate(-50%, -50%);
  transition: opacity 0.3s ease; -webkit-font-smoothing: antialiased;
}
.footer_bottom .sns_button_list.color_type1 li a:before { color:#fff !important; }
.sns_button_list.color_type1 li a:before { color:#000; }
@media(hover: hover) {
  .sns_button_list li a:hover:before { opacity:0.5; }
}
.sns_button_list li.line a:before { content:'\e909'; font-size:18px; }
.sns_button_list li.twitter a:before { content:'\e950'; font-size:15px; }
.sns_button_list li.facebook a:before { content:'\e944'; font-size:18px; }
.sns_button_list li.insta a:before { content:'\ea92'; font-size:15px; }
.sns_button_list li.pinterest a:before { content:'\e905'; font-size:18px; }
.sns_button_list li.youtube a { width:19px;}
.sns_button_list li.youtube a:before { content:'\ea9d'; font-size:18px; }
.sns_button_list li.tiktok a:before { content:'\e94d'; }
.sns_button_list li.contact a:before { content:'\e900'; font-size:20px; }
.sns_button_list li.note a { width:18px;}
.sns_button_list li.note a:before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; top:50%;
}
.sns_button_list li.rss a:before { content:'\e90b'; font-size:14px; margin-left:1px; }
.sns_button_list li.user_url a:before { content:'\e942'; margin-left:0.7px; }
.sns_button_list.color_type2 li { margin:0 0 5px 0; }
.sns_button_list.color_type2 li a { width:25px; height:25px; }
.sns_button_list.color_type2 li a:before { font-size:24px; }
.sns_button_list.color_type2 li.line a:before { color:#00B900; }
.sns_button_list.color_type2 li.twitter a:before { color:#000; font-size:19px; }
.sns_button_list.color_type2 li.facebook a:before { color:#1877f2; font-size:26px; }
.sns_button_list.color_type2 li.insta a:before { color:#e4405f; font-size:23px; }
.sns_button_list.color_type2 li.pinterest a:before { color:#bd081c; font-size:24px; }
.sns_button_list.color_type2 li.youtube a:before { color:#f00; }
.sns_button_list.color_type2 li.tiktok a:before { color:#000; font-size:20px; }
.sns_button_list.color_type2 li.contact a:before { color:#00729f; }
.sns_button_list.color_type2 li.rss a:before { color:orange; font-size:19px; }
.sns_button_list.color_type2 li.user_url a:before { color:#00729f; }

#footer_sns.sns_button_list:not(.color_type2) li.note a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
}
#mobile_sns.sns_button_list:not(.color_type2) li.note a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
}

/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.open_menu #dp-footer-bar { display:none; }
.dp-footer-bar-type1 #dp-footer-bar {
  opacity:0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity:1;
}
.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}


/* フッターバー　アイコン無しタイプ */
#dp-footer-bar {
  height:50px;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
#dp-footer-bar a {
  height:50px; line-height:50px; display:block; text-align:center; font-size:12px; padding:0 20px; text-decoration:none !important;
  -webkit-flex: 1 1 0%; flex: 1 1 0%;
}


/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.widget_content { margin:0 0 50px 0; position:relative; font-size:16px; }
.widget_content:last-of-type { margin-bottom:0; }
.widget_content ul { margin:0; }
.widget_content li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.widget_content a { text-decoration:none; }
.widget_content img { height:auto; max-width:100%; }
.widget_headline { font-weight:600; font-size:18px; padding:0; margin:0 0 12px 0; position:relative; line-height:1.6; }

/* タブ記事 */
.tab_post_list_widget { position:relative; }
.widget_tab_post_list_button { position:relative; z-index:10; display:flex; flex-wrap:wrap; background: #fff;}
.widget_tab_post_list_button div {
  font-size:14px; height:60px; line-height:60px; flex: 1 1 0%; text-align:center; cursor:pointer; border:1px solid #ddd; font-weight:600;
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
  display:block; position:relative; transition: all 0.25s ease;
}
.widget_tab_post_list_button div.active { pointer-events:none; border-bottom:1px solid #fff; }
@media(hover: hover) {
	.widget_tab_post_list_button div:hover { color:rgba(0,0,0,0.6) !important; }
}
#footer .index_tab_padding li { padding: 30px 30px 20px 30px !important;}
.widget_tab_post_list_button div:last-of-type { border-left:none; }
.widget_tab_post_list { opacity:0; pointer-events:none; position:absolute; top:60px; left:0; width:100%; border:1px solid #ddd; border-top:none; background: #fff;}
.widget_tab_post_list.active { opacity:1; pointer-events:initial; position:relative; top:0; left:0px; width:auto; z-index:10; }
.no_tab + .widget_tab_post_list { border-top:1px solid #ddd; }
.widget_tab_post_list li { margin:0; padding:20px; border-bottom:1px solid #ddd; line-height:1; }
.widget_tab_post_list li:last-of-type { border-bottom:none; }
/*.widget_tab_post_list a { padding:0; display:flex; flex-wrap:wrap; }*/
.widget_tab_post_list .image_wrap { display:block; width:90px; height:90px; position:relative; z-index:1; overflow:hidden; }
.widget_tab_post_list .image_circle{ border-radius: 50%; }
#footer .widget_tab_post_list .image_circle{ height: 90px; width: 90px;}
#footer .widget_tab_post_list .image_circle_title { width: calc(100% - 90px); height: 90px;}
.widget_tab_post_list .pr_label_contents { margin-bottom: 10px; display: flex;}
.widget_tab_post_list .pr_label_contents .pr_label{ font-size: 12px; border: 1px solid #ddd; padding: 5px 15px;}
.widget_tab_post_list .image_wrap .image { object-fit:cover; width:100%; height:100%; position:absolute; top:0; left:0; }
.widget_tab_post_list .title_area { width:calc(100% - 90px); height:90px; padding-left:20px; display:flex; flex-flow: column; justify-content: center; }
.image_circle_title { padding-left: 30px !important;}
.widget_tab_post_list .title { font-size:16px; line-height:1.8; max-height:5.4em; word-break:break-all; overflow:hidden; margin: -0.4em 0;}
.widget_tab_post_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; }
.widget_tab_post_list .date { font-size:14px; font-weight:500; margin:0 0 15px 0; display:block; color:#999; position:relative; }
.widget_tab_post_list .date:before { font-family:'normal_icon'; content:'\e903'; font-size:17px; margin:0 5px 0 0; position:relative; top:1.5px; -webkit-font-smoothing: antialiased; }
.widget_tab_post_list li.no_post { padding:20px; font-size:14px; line-height:2; }
.widget_tab_post_list.no_image a { display:block; }
.widget_tab_post_list.no_image .title_area { width:auto; display:block; height:auto; padding:0; }
#side_col .widget_tab_post_list .title { font-size: 14px; }
@media(hover: hover) {
  .widget_tab_post_list .blog_category a:hover { color:#999; }
}
#footer .widget_tab_post_list_button div, #footer .widget_tab_post_list, #footer .widget_tab_post_list li, .no_tab + .widget_tab_post_list { border-color:#ddd; }
#footer .widget_tab_post_list_button div.active { border-bottom:transparent; }

.pr_contents { display: flex; flex-wrap: nowrap;}



/* ----------------------------------------------------------------------
 投稿者ページ
---------------------------------------------------------------------- */
/* 投稿者一覧ページ */
.writer_archive_headline{ width: 100%; text-align: center;}
.writer_archive_headline .headline{ font-size: var(--headline_font_size); font-weight: 600; line-height: 1.8; font-family: var(--headline_font_type); margin: -0.4em 0;}
.design_author_list{display: flex; flex-wrap: wrap; width: 100%; margin-top: 70px;}
.design_author_list .item{ padding: 60px; height: 270px; display: flex; flex-wrap: nowrap; width: 100%; border: 1px solid #ddd; align-items: center;}
.design_author_list .item:nth-child(n+2){ border-top: none; }
.design_author_list .avatar_area { display:block; width:120px; height:120px; border-radius:100%; position:relative; margin-right: 60px;}
.design_author_list .image_wrap { display:block; width:120px; height:120px; border-radius:100%; position:relative; overflow:hidden; z-index:2; }
.design_author_list .image_wrap img { width: 100%; height: 100%; object-fit: cover;}
.design_author_list .writer_contents { display: grid; gap: 30px;}
.design_author_list .writer_contents .writer_name_date{ display: flex; flex-wrap: wrap; align-items: center; line-height: 1.7; margin: -0.35em 0;}
.design_author_list .writer_contents .writer_name_date .name { font-size: 20px; margin-right: 20px;}
.design_author_list .writer_contents .writer_name_date .job { font-size: 14px; color: #999;}
.design_author_list .writer_contents .writer_name_date .name a { transition: color 0.3s ease;}
@media(hover: hover) {
.design_author_list .writer_contents .writer_name_date .name a:hover{color:rgba(0,0,0,0.6) !important; }
}
.design_author_list .writer_contents .desc { font-size: 16px; line-height: 2.2; margin: -0.6em 0; max-height: 4.4em; overflow: hidden;}
.design_author_list .writer_contents .desc span{ display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}
.design_author_list .writer_contents .sns_button_list { display: flex; flex-wrap: wrap; gap: 15px;}



/* 投稿者詳細ページ　タイプ１*/
#author_image_carousel_container { width:490px; height:570px; position:relative; margin:0 auto 40px; }
#author_image_carousel_wrap { width:100%; height:100%; }
#author_image_carousel { width:100%; height:100%; }
#author_image_carousel .item { width:100%; height:100%; position:relative; overflow:hidden; }
#author_image_carousel .item img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#author_image_carousel_container .job { font-size:16px; position:absolute; bottom:0; left:0; width:100%; z-index:10; color:#fff; text-align:center; line-height:1.6; padding:15px 20px; background:rgba(0,0,0,0.5); }



/* スタッフ詳細ページ　タイプ２*/
#author_header_type2 { padding:70px 0 70px 0; position:relative; border: 1px solid #ddd;}
#author_header_type2 .author_image { width:140px; height:140px; position:relative; overflow:hidden; margin:0 auto 30px; border-radius:100%; }
#author_header_type2 .author_image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#author_header_type2 .name { font-size:20px; text-align:center; font-weight:600; }
#author_header_type2 .job { font-size:14px; text-align:center; color: #999; margin-top: 30px;}
#author_header_type2 .sns_button_list { justify-content:center; margin-top:30px; gap: 15px;}
#author_header_type2 .desc { width:auto; margin:0 100px; line-height:2.2; font-size: 16px; margin-top: calc(70px - 0.6em); margin-bottom: -0.6em;}
#author_header_type2 .desc a { color:var(--content_link_color); }
@media(hover: hover) {
  #author_header_type2 .desc a:hover { text-decoration:underline; }
}
#author_header_type2 .staff_page_link { text-align:center; margin-top:60px; }



/* スタッフ詳細ページ　データ */
#author_data { padding:100px 0; width:930px; margin:0 auto; }
#author_data .headline { height:70px; line-height:70px; background:#000; font-size:24px; text-align:center; color:#fff; font-family:var(--headline_font_type); }
#author_data .content { border:1px solid #ddd; margin:0 0 -1px 0; padding:60px 110px; }
#author_data .sub_headline { font-size:22px; text-align:center; color:var(--main_color); margin:10px 0 40px 0; }
#author_data .desc { line-height:2.4; }
#author_data .link { text-align:center; margin-top:100px; }
#author_data + #archive_blog { padding-top:0; }


/* スタッフのスタイル 
#author_style { background:var(--bg_color); padding:100px 0 150px; }
#author_header_type1 + #author_style { padding-top:0; }
#author_header_type2 + #author_style { margin-top:100px; }
#author_style .headline { font-size:28px; text-align:center; margin:0 0 100px 0; font-family:var(--headline_font_type); }




/* 検索 */
.widget_search label { display:none; }
#searchform { background:#fff; height:60px; border:1px solid #ddd; }
#searchform #s { border:none; background:none; padding:0 20px; margin:0; width:calc(100% - 50px); height:60px; }
#searchform #searchsubmit {
  border:none; background:none; width:50px; height:60px; z-index:200; position:relative;
  cursor:pointer; display:block; text-indent:-300px; overflow:hidden;
}
#searchform .submit_button  { position:relative; width:50px; height:60px; float:right; top:0px; }
#searchform .submit_button:before {
  text-indent:0; display:block; width:50px; height:60px; line-height:60px; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'normal_icon'; color:#333; font-size:16px; content:'\e94c'; right:2px; top:1px; font-weight:600;
	transition: color 0.2s ease; -webkit-font-smoothing: antialiased;
}
@media(hover: hover) {
  #searchform .submit_button:hover:before { color:rgba(0,0,0,0.5) !important; }
}
#footer #searchform { background:none; border-color:rgba(255,255,255,0.3); }
#footer #searchform #s { color:#fff; }
#footer #searchform .submit_button:before { color:#fff; }


/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
	margin:0 0 -6px 0; padding:0; position:relative;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.widget_tag_cloud .tagcloud a { margin:0 6px 6px 0; font-size:14px !important; display:block; background:#f3f3f3; padding:0px 20px; border-radius:4px; height:36px; line-height:36px; transition: filter 0.25s ease; color:#000 !important; }
@media(hover: hover) {
  .widget_tag_cloud .tagcloud a:hover { background:#f3f3f3 !important; color:#000 !important;filter: brightness(90%); }
  #footer .widget_tag_cloud .tagcloud a:hover { background: #ececec!important; color: #000 !important;}
}
#footer .widget_tag_cloud .tagcloud a {  background: #ececec;  }


/* デフォルトの最近の記事 */
.widget_recent_entries li { padding:15px 20px; margin:0; border:1px solid #ddd; border-bottom:none; display:flex; flex-direction:column; }
.widget_recent_entries li:last-of-type { border-bottom:1px solid #ddd; }
.widget_recent_entries li a { display:block; font-size:14px; line-height:1.8; width:100%; order:2; }
.widget_recent_entries li a br { display:none; }
.widget_recent_entries .post-date { position:relative; color:#999; font-size:14px; margin:0 0 5px 0; display:block; width:100%; order:1; }
.widget_recent_entries .post-date:before { font-family:'normal_icon'; content:'\e903'; font-size:16px; margin:0 5px 0 0; position:relative; top:1.5px; -webkit-font-smoothing: antialiased; }
#footer .widget_recent_entries li { border-color:rgba(255,255,255,0.3); }


/* デフォルトのカテゴリー */
.widget_categories .widget_headline { }
.widget_categories ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_categories ul:first-of-type ul { border:none; }
.widget_categories ul{ background: #fff; border:1px solid #ddd}
.widget_categories li { margin:0; padding:0; position:relative; border-top:1px solid #ddd}
.widget_categories li li{ border-top:1px solid #ddd !important;}
.widget_categories li li li{ border-top:1px solid #ddd !important;}
.widget_categories li a { display:block; background:#fff; border-bottom:none; padding:0 20px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_categories li li a { padding-left:calc(20px + 1em); }
.widget_categories li li li a { padding-left:calc(20px + 2em); }
.widget_categories li .title { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
.widget_categories li .post-count { background:#f2f2f2; width:40px; height:40px; line-height:40px; border-radius:100%; text-align:center; font-size:12px; position:absolute; right:10px; top:11px; pointer-events:none; }
@media(hover: hover) {
  .widget_categories li a:hover { color:#999 !important; }
}
.widget_categories li:first-child { border-top: none;}
#footer .widget_categories li a { background:none; border-color:rgba(255,255,255,0.3); }
#footer .widget_categories ul:first-of-type { border-color:#ddd; }
#footer .widget_categories li .post-count { background:rgba(255,255,255,0.3); }
#footer_widget_area .widget_categories li li a { padding-left:calc(30px + 1em);}
#footer_widget_area .widget_categories li li li a { padding-left:calc(30px + 2em);}
#side_col .widget_categories li li a { padding-left:calc(30px + 1em);}
#side_col .widget_categories li li li a { padding-left:calc(30px + 2em);}


/* デフォルトのアーカイブ */
.widget_archive { }
.widget_archive ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_archive ul:first-of-type ul { border:none; }
.widget_archive li { margin:0; padding:0; position:relative; }
.widget_archive li a { display:block; background:#fff; border:1px solid #ddd; border-bottom:none; padding:0 20px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_archive li li a { padding-left:calc(20px + 1em); }
.widget_archive li li li a { padding-left:calc(20px + 2em); }
.widget_archive li .post-count { background:#f2f2f2; width:40px; height:40px; line-height:40px; border-radius:100%; text-align:center; font-size:12px; position:absolute; right:10px; top:11px; }
@media(hover: hover) {
  .widget_archive li a:hover { color:#999 !important; }
}
#footer .widget_archive li a { background:none; border-color:rgba(255,255,255,0.3); }
#footer .widget_archive ul:first-of-type { border-color:rgba(255,255,255,0.3); }
#footer .widget_archive li .post-count { background:rgba(255,255,255,0.3); }


/* デフォルトの固定ページ */
.widget_pages { }
.widget_pages ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_pages ul:first-of-type ul { border:none; }
.widget_pages li { margin:0; padding:0; position:relative; }
.widget_pages li a { display:block; background:#fff; border:1px solid #ddd; border-bottom:none; padding:0 20px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_pages li li a { padding-left:calc(20px + 1em); }
.widget_pages li li li a { padding-left:calc(20px + 2em); }
@media(hover: hover) {
  .widget_pages li a:hover { color:#999; }
}
#footer .widget_pages li a { background:none; border-color:rgba(255,255,255,0.3); }
#footer .widget_pages ul:first-of-type { border-color:rgba(255,255,255,0.3); }
#footer .widget_pages li .post-count { background:rgba(255,255,255,0.3); }


/* デフォルトのナビ　*/
.widget_nav_menu { }
.widget_nav_menu ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_nav_menu ul:first-of-type ul { border:none; }
.widget_nav_menu li { margin:0; padding:0; position:relative; }
.widget_nav_menu li a { display:block; background:#fff; border:1px solid #ddd; border-bottom:none; padding:0 20px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_nav_menu li li a { padding-left:calc(20px + 1em); }
.widget_nav_menu li li li a { padding-left:calc(20px + 2em); }
@media(hover: hover) {
  .widget_nav_menu li a:hover { color:#999; }
}
#footer .widget_nav_menu li a { background:none; border-color:rgba(255,255,255,0.3); }
#footer .widget_nav_menu ul:first-of-type { border-color:rgba(255,255,255,0.3); }
#footer .widget_nav_menu li .post-count { background:rgba(255,255,255,0.3); }


/* デフォルトのメタウィジェット */
.widget_meta { }
.widget_meta ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_meta ul:first-of-type ul { border:none; }
.widget_meta li { margin:0; padding:0; position:relative; }
.widget_meta li a { display:block; background:#fff; border:1px solid #ddd; border-bottom:none; padding:0 20px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_meta li li a { padding-left:calc(20px + 1em); }
.widget_meta li li li a { padding-left:calc(20px + 2em); }
@media(hover: hover) {
  .widget_meta li a:hover { color:#999; }
}
#footer .widget_meta li a { background:none; border-color:rgba(255,255,255,0.3); }
#footer .widget_meta ul:first-of-type { border-color:rgba(255,255,255,0.3); }
#footer .widget_meta li .post-count { background:rgba(255,255,255,0.3); }


/* デフォルトのコメントウィジェット */
.widget_recent_comments li { font-size:14px; line-height:1.8; border:1px solid #ddd; border-bottom:none; margin:0; padding:15px 20px; }
.widget_recent_comments li:last-of-type { margin-bottom:0; border-bottom:1px solid #ddd; }
.widget_recent_comments li > a { display:block; }
.widget_recent_comments .comment-author-link a { color:#999; }
.widget_recent_comments .comment-author-link a:hover { color:#ccc; }
.widget_recent_comments li br { display:none; }
#footer .widget_recent_comments li { border-color:rgba(255,255,255,0.3); }


/* デフォルトのブロック */
.widget_block { font-size:16px; line-height:2; }
#footer .widget_block { font-size:14px; }
.widget_block a:hover { opacity: 0.6; }
.widget_block a { transition: opacity 0.3s ease;}

/*デフォルトのカスタムHTML*/
.widget_custom_html .post_content .q_custom_button { min-width: 200px !important;}


/* デフォルトのテキストウィジェット */
.widget_text .textwidget { font-size:16px; line-height:2; }

@media (hover: hover) {
.widget_text .textwidget a:hover { text-decoration:underline;}
}
#footer .widget_text .textwidget { font-size:14px; }
#footer .widget_text .textwidget a { color:var(--content_link_color)  !important ; }


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive form, .widget_categories form { position:relative; }
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 20px 0 30px; font-size:16px; cursor:pointer;
  -webkit-appearance:none; appearance:none;
}
.widget_archive .screen-reader-text, .widget_categories .screen-reader-text  {
	display:block; clip:auto; clip-path:none; pointer-events:none;
	height:60px; width:50px; margin:0;
	position:absolute; right:5px; text-indent:-300px;
}
.widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before {
  font-family:'normal_icon'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px; z-index:10;
  position:absolute; right:20px; top:25px; -webkit-font-smoothing: antialiased;
}
#footer .widget_archive select, #footer .widget_categories select { background:none; color:#fff; -webkit-text-fill-color: #fff; border-color:rgba(255,255,255,0.3); }
#footer .widget_archive select option, #footer .widget_categories select option { color:#000; }


/* カレンダー */
#calendar_wrap { padding:0; margin:-6px 0 -20px; }
#wp-calendar { margin:0 auto; width:100%; font-size:14px; border-collapse:collapse; table-layout:fixed;}
#wp-calendar caption { padding:7px 0; font-size:16px; font-weight:600; }
#wp-calendar thead th, #wp-calendar tfoot td { padding:12px 10px; line-height:2; }
#wp-calendar thead th { font-weight:500; }
#wp-calendar tbody th, #wp-calendar tbody td { padding:0; margin:0; line-height:1; text-align:center; }
#wp-calendar tbody span, #wp-calendar tbody a { display:block; width:100%; height:auto; aspect-ratio:1 /1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#wp-calendar tbody a { border-radius:100%; background:#f6f6f6; color:#000; width:calc(100% - 6px); margin-left:3px; }
@media(hover: hover) {
  #wp-calendar tbody a:hover { color:#fff; background:var(--main_color) !important; }
  #footer #wp-calendar tbody a:hover { color:#fff !important; background:rgba(255,255,255,0.4) !important; }
}
#wp-calendar tbody td[colspan] span { aspect-ratio:unset; }
.wp-calendar-nav { font-size:14px; padding:20px 0; width:100%;  }
.wp-calendar-nav .wp-calendar-nav-prev { width:40%; float:left; }
.wp-calendar-nav .wp-calendar-nav-next { width:40%; float:right; text-align:right; }
#footer #wp-calendar tbody a { background:rgba(255,255,255,0.2); color:#fff; }


/* デフォルトのギャラリー */
.widget_media_gallery .gallery-item { margin-top:0 !important; }


/* RSS */
.widget_rss .rss-widget-feed { display:none; }
.widget_rss ul li { font-size:14px; padding:20px 20px 15px; border:1px solid #ddd; border-bottom:none; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 0 !important;}
.widget_rss ul li:last-of-type { border-bottom:1px solid #ddd; }
.widget_rss ul li .rss-date { -ms-flex-order:1; order:1; color:#999; font-size:13px; line-height:1; margin-right:10px; }
.widget_rss ul li cite { -ms-flex-order:2; order:2; color:#999; font-size:13px; line-height:1; }
.widget_rss ul li .rsswidget { -ms-flex-order:3; order:3; display:block; width:100%; margin:0; line-height:1.6; }
.widget_rss ul li .rssSummary { -ms-flex-order:4; order:4; color:#999; font-size:13px; margin: -0.35em 0; line-height:1.6; }
.widget_rss .rss-date { position:relative; font-family:Arial; }
.widget_rss .rsswidget ~ .rss-date, .widget_rss .rsswidget ~ cite { margin-bottom:10px; }
.widget_rss .rsswidget ~ .rssSummary { margin-top:calc(10px - 0.35em); }
#footer .widget_rss ul li { border-color:rgba(255,255,255,0.3); }

/* 画像 */
#side_col .widget_media_image { margin: 0 0 85px 0 !important;}
.custom_image_widget .image_wrap { height: 140px; width: 100%; margin-bottom: 20px; overflow: hidden;}
.custom_image_widget { margin-bottom: calc( 50px - 0.35em) !important;}
.custom_image_widget .widget_headline { font-size: 16px !important; line-height: 1.7; margin: -0.35em 0 !important;}

.custom_image_widget .image_wrap img{ height: 100%; width: 100%; object-fit: cover;}
.custom_image_widget .animate_background .image_wrap:before { height: 140px !important;}
#side_col .widget_media_image .widget_headline { position: absolute; top: 130px !important; font-size: 16px;}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.error404 #footer, body.error404 #footer_nav, body.search-no-results #footer, body.search-no-results #footer_nav { display:none; }
#no_search_result { height:calc(100vh - 140px); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; z-index: 0;}
#no_search_result .content { z-index:100; width:100%; margin-top:0px; }
#no_search_result.has_image .content { color:#fff; }
#no_search_result .headline { text-align:center; margin:0 0 40px 0; font-size:42px; font-family:var(--headline_font_type); }
#no_search_result .desc { text-align:center; margin: -0.8em auto 40px; line-height:2.6; width:800px; }
#no_search_result .desc:last-child { margin-bottom:0; }

#no_search_result .desc a { transition: opacity 0.3s ease;}
#no_search_result.has_image .desc a { color: #fff !important; text-decoration: underline; transition: opacity 0.3s ease;}
#no_search_result.has_image .desc .q_button_wrap a {text-decoration: none;}
#no_search_result .q_button_wrap { margin-top: 20px; margin-bottom: 0;}
@media(hover: hover) {
  #no_search_result .desc a:hover { text-decoration:underline;}
  #no_search_result.has_image .desc a:hover { opacity: 0.6;}
  #no_search_result .post_content a.q_custom_button1:hover { color: #fff !important; opacity: 1 !important;}
}
#no_search_result .overlay { width:100%; height:100%; position:absolute; z-index:2; }
#no_search_result .bg_image { width:100%; height:100%; position:absolute; z-index:1; }
#no_search_result form { height:50px; width:400px; position:relative; margin:0 auto; }
#no_search_result .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
#no_search_result .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:50px; height:50px; z-index:2; cursor:pointer; }
#no_search_result .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
#no_search_result .search_button label:before { display:block; font-family:'normal_icon'; color:#000; font-size:14px; content:'\e94c'; top:19px; right:20px; position:absolute; transition: color 0.2s ease; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
  #no_search_result .search_button:hover label:before { color:#999; }
}
#no_search_result.has_bg_image .content { color:#fff; }
#no_search_result.has_bg_image .input_area input { background:#fff; }
#no_search_result .tag_list { text-align:center; width:730px; margin:40px auto 0;}
#no_search_result .desc + .tag_list { margin-top:50px; }
#no_search_result .wp-tag-cloud { display:inline-flex; flex-wrap:wrap; margin:0 0 -5px; }
#no_search_result .wp-tag-cloud li { margin:0 2px 4px;}
#no_search_result .wp-tag-cloud a { background:#f3f3f3; height:35px; line-height:35px; display:block; border-radius:4px; padding:0 15px; font-size:14px !important; }
#no_search_result.has_image .wp-tag-cloud a { background:none; color:#fff; border:1px solid rgba(255,255,255,0.5); }
@media(hover: hover) {
	#no_search_result .wp-tag-cloud a:hover { background:var(--main_color_light); border-color:var(--main_color_light); color: #fff !important; }
}

#no_search_result .post_content a{ color:var(--content_link_color) ;}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { margin:50px 0 0 0; position:relative; }
#comments .headline { line-height:1; font-size:24px; text-align:center; margin-bottom:50px; font-family:var(--content_font_type); }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 20px; }
#comment_tab { margin:0; display:-webkit-box; display:-webkit-flex; display:flex; overflow:hidden; }
#comment_tab li { text-align:center; margin:0; -webkit-flex: 1 1 0%; flex: 1 1 0%; }
#comment_tab li a, #comment_tab li p { font-size:12px; padding:15px 15px; line-height:1.6; display:block; text-decoration:none; background:#f6f6f6; color:#000; }
@media(hover: hover) {
  #comment_tab li a:hover { color:#fff !important; background:var(--main_color_light); }
}
#comment_tab li.active a { background:var(--main_color); }
#comment_tab li.active a, #comment_header #comment_closed p { color:#fff; position:relative; }
#comment_tab li.active a { pointer-events:none; }


/*  コメントの基本部分 */
.commentlist { list-style-type:none; margin:0; padding:0; }
.comment { margin:0 0 20px; padding:20px 20px 0; background:#fff; border:1px solid #ddd; }
#comments .post_content { margin:0; padding:5px 0 0 0; background:none; }


/* コメントの情報部分 */
.comment-meta { position:relative; margin:0 0 10px 0; }

.comment-meta-left { display:flex; flex-wrap:wrap; align-items:center; }
#comments .avatar { margin:0 15px 0 0; width:50px; height:50px; border-radius:100%; }
.comment-name-date { }

a.admin-url { text-decoration:underline; }
a.guest-url { text-decoration:underline; }

.comment-name-date { margin:0; font-size:14px; }
.comment-date { color:#888; margin:10px 0 0 0; }

.comment-act { font-size:14px; position:absolute; top:5px; right:0px; padding:0; margin:0; }
.comment-act li { display:inline; margin:0; }
.comment-reply a, .comment-reply a:visited { border-right:1px solid #aaa; padding:0 10px 0 0; margin:0 6px 0 0; }
.comment-edit a, .comment-edit a:visited { border-left:1px solid #aaa; padding:0 0 0 10px; margin:0 0 0 6px; }

.comment_mobile { position: relative; margin-top: 10px; top:0 !important}

/* コメント本文 */
#comments .post_content p { margin:0 0 15px 0; line-height:1.8; }
#comments .post_content blockquote span { margin:0 0 -1em 0; display:block; }


/* メッセージ、警告文 */
.comment-note { display:block; font-size:11px; margin:0 0 1em 0; color:#33a8e5; border:1px solid #94ddd4; padding:10px 15px; background:#d6f4f0; }
.comment_closed { border:1px solid #ccc; text-align:center; margin:0 35px 15px 0; padding:15px; background:#fefefe; }
.no_comment { padding-bottom:15px; }
.comment_message { margin:0 0 25px 0; font-size: 14px !important;}


/* トラックバック */
.commentlist .ping-link { margin:0 0 25px 0; }
.commentlist .ping-meta { margin:0 0 15px 0; }
#trackback_url_area { margin:0 0 25px 0; }
#trackback_url_area label { font-size:11px; display:block; margin:0 0 5px 0; }
#trackback_url_area input { border:1px solid #ddd; padding:5px 10px; width:100%; }


/* ページナビ */
#comment_pager { margin:0 0 10px; height:24px; }
#comment_pager a, #comment_pager span { display:inline; float:left; margin:0 10px 0 0; }
#comment_pager .current { text-decoration:underline; }


/* コメントフォーム */
.comment_form_wrapper { margin:0 0 0px; padding:20px; border:1px solid #ddd; }
.comment .comment_form_wrapper { margin:0 0 20px; }

#cancel_comment_reply a { background:#eee; margin:0 0 1em 0; padding:15px; border-radius:50px; text-align:center; display:block; }
@media(hover: hover) {
  #cancel_comment_reply a:hover { background:var(--main_color); color:#fff !important; }
}

#comment_user_login p { padding:10px 0; margin:0; line-height:1; font-size:14px; }
#comment_user_login span { margin:0 0 0 40px; }

#comment_login { margin:0; padding:3px 30px 10px 30px; }
#comment_login p { margin:0; padding:12px 0 11px 36px; line-height:1; }
#comment_login a { margin:0 0 0 20px; padding:0; }

#guest_info { padding:0; width:100%; }
#guest_info div { margin:0 0 12px 0; text-align:left; }
#guest_info input { margin:0; padding:5px 10px; border:1px solid #ccc; width:100%; background:#fff; }
#guest_info input:focus { border:1px solid var(--main_color); }
#guest_info label { display:block; margin:0 0 10px 0; padding:0; font-size:12px; }
#guest_info span { margin:0 10px 0 0; }

#comment_textarea textarea {
  margin:15px 0 0; width:100%; height:150px; font-size:16px; line-height:1.8; overflow:auto; padding:10px;
  background:#fff; color:#000; border:1px solid #ccc;
}
#comment_textarea textarea:focus { border:1px solid var(--main_color); }

#submit_comment_wrapper { text-align:center; }
#submit_comment { color:#fff; background:var(--main_color); border:none; cursor:pointer; font-size:14px; width:200px; height:50px; margin:20px auto 0; display:block; border-radius:50px; transition: all 0.2s ease; }
@media(hover: hover) {
  #submit_comment:hover { background:var(--main_color_light); color:#fff; }
}

#input_hidden_field { display:none; }


/* パスワード保護 */
.password_protected { text-align:center; margin:0 38px 30px; padding:10px 20px; color:#fff; background:#3db4b2; border-radius:5px; }
.password_protected p { font-size:12px; margin:0; line-height:1.6; }




/* ----------------------------------------------------------------------
　アニメーションの設定
---------------------------------------------------------------------- */
/* 下から上へスライド */
@keyframes tcd_slide_up {
  0% { opacity:0; bottom:-30px; }
  100% { opacity:1; bottom:0; }
}


/* ズームアウト */
@keyframes tcd_zoom_out {
  0% { transform: scale(1.0); }
  100% { transform: scale(1.3); }
}


/* ズームイン */
@keyframes tcd_zoom_in {
  0% { transform: scale(1.3); }
  100% { transform: scale(1.0); }
}


/* フェードイン */
@keyframes tcd_fade_in {
  0% { opacity:0; }
  100% { opacity:1; }
}


/* フェードアウト */
@keyframes tcd_fade_out {
  0% { opacity:1; }
  100% { opacity:0; }
}


/* 右に移動 */
@keyframes tcd_move_right {
  0% { opacity:0; right:30px; }
  100% { opacity:1; right:0; }
}


/* 左に移動 */
@keyframes tcd_move_left {
  0% { opacity:0; left:30px; }
  100% { opacity:1; left:0; }
}


/* 下に移動 */
@keyframes tcd_move_down {
  0% { opacity:0; top:-30px; }
  100% { opacity:1; top:0; }
}


/* 上に移動 */
@keyframes tcd_move_up {
  0% { opacity:0; bottom:-30px; }
  100% { opacity:1; bottom:0; }
}


/* ポップアップ */
@keyframes tcd_pop_up {
  0% { transform: scale(.1); opacity:0; }
  100% { transform: none; opacity:1; }
}




/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
.post_content *:first-child { margin-top:0; }
.post_content *:last-child { margin-bottom:0; }


/* alignment */
.post_content .alignright { float:right; }
.post_content .alignleft { float:left; }
.post_content .aligncenter { display:block; margin-left:auto; margin-right:auto; margin-bottom:7px; }
.post_content blockquote.alignleft, .post_content img.alignleft { margin:7px 24px 7px 0; }
.post_content .wp-caption.alignleft { margin:7px 14px 7px 0; }
.post_content blockquote.alignright, .post_content img.alignright { margin:7px 0 7px 24px; }
.post_content .wp-caption.alignright { margin:7px 0 7px 14px; }
.post_content blockquote.aligncenter, .post_content img.aligncenter, .post_content .wp-caption.aligncenter { margin-top:2em; margin-bottom:2em; }


/* text and headline */
.post_content p { line-height:2.4; margin:0 0 2em 0; }
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; line-height:1.4; padding:0; font-weight:600; }
.post_content h1 { font-size:150%; margin:0 0 35px 0; text-align:center; }
.post_content h2 { font-size:140%; margin:0 0 35px 0; text-align:center; }
.post_content h3 { font-size:130%; margin:0 0 35px 0; }
.post_content h4 { font-size:120%; margin:0 0 30px 0; }
.post_content h5 { font-size:110%; margin:0 0 30px 0; }
.post_content h6 { font-size:100%; margin:0 0 30px 0; }


/* image */
.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img
 { height:auto; max-width:100%; display:block;}
.post_content p:has(img) { line-height:1; margin-bottom:50px; }
.post_content p + p:has(img) { margin-top:50px; }
@media screen and (max-width:800px) {
  .post_content p:has(img) { margin-bottom:30px; }
  .post_content p + p:has(img) { margin-top:30px; }
}


/* list */
.post_content li, .post_content dt, .post_content dd { line-height:2.2; }
.post_content ul, .post_content ol, .post_content dl { margin-bottom:2em; }
.post_content ol { list-style:decimal outside none; margin-left:1.5em; }
.post_content ul { list-style:circle outside none; margin-left:1.3em; }
.post_content li > ul, .post_content li > ol { margin-bottom:0; }
.post_content dt { font-weight:bold; }
.post_content dd { margin-bottom:1em; }


/* table */
.post_content table {
	margin:0 0 2em 0 !important; width:100% !important; border-collapse:separate !important; border-left:1px solid #ddd; border-top:1px solid #ddd;
  /*! table-layout: fixed; */ word-break: break-all; word-wrap: break-all;
}
.post_content td, .post_content th { border-right:1px solid #ddd; border-bottom:1px solid #ddd; padding:18px 25px 16px; line-height:2.2; background:#fff; -webkit-box-sizing:border-box; box-sizing:border-box; }
.post_content th { background:#f7f7f7; font-weight:normal; }
/* table style */
.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }
.post_content table.table_border_serumtal th, .post_content table.table_border_serumtal td { border-left:none; border-right:none; padding-left:0; }


/* blockquote */
.post_content blockquote {
  position:relative; color:rgba(0, 0, 0, 0.6); margin-bottom:2em; padding:2em 2.4em;
  box-shadow:none; background:rgba(0, 0, 0, 2%); border:none; border-left:3px solid #000;
}
.post_content blockquote:before {  line-height:40px;   top:5px; left:10px; }
.post_content blockquote:after {  text-align:left; line-height:60px;   bottom:10px; right:-2px; }
.post_content blockquote:before, .post_content blockquote:after {
  content: '"'; font-style:italic; font-size:30px; font-weight:normal; color:#000;
  width:30px; height:30px; position:absolute;
}
.post_content blockquote p { line-height:1.8; }
.post_content blockquote cite{ text-align: right; display: block; border-top: 1px dotted #000; margin: 2em 0 0; padding: 1em 0 0; font-size: 14px; }


/* captions */
.post_content .wp-caption { margin-bottom:2em; background:#fff; border:1px solid #ddd; padding:10px; max-width:100%; }
.post_content .wp-caption-text { text-align:center; line-height:1.5; margin:0 auto; padding:10px 0 0; font-size:14px; }
.post_content .wp-caption img[class*="wp-image-"] { display:block; margin:0 auto 0; }


/* gallery */
.gallery { margin-bottom:2em; }
.gallery img { border: 0 !important; display:block; margin:0; }
.gallery-item { float:left; margin:0 4px 4px 0; overflow:hidden; position:relative; }
.gallery-columns-1, .gallery-columns-2, .gallery-columns-3, .gallery-columns-4, .gallery-columns-5,
  .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9, .gallery-columns-10 { margin:0 -4px -4px 0 !important; }
.gallery-columns-1 .gallery-item { max-width:100%; }
.gallery-columns-2 .gallery-item { max-width:calc(50% - 4px); }
.gallery-columns-3 .gallery-item { max-width:calc(100% / 3 - 4px); }
.gallery-columns-4 .gallery-item { max-width:calc(25% - 4px); }
.gallery-columns-5 .gallery-item { max-width:calc(20% - 4px); }
.gallery-columns-6 .gallery-item { max-width:calc(100% / 6 - 4px); }
.gallery-columns-7 .gallery-item { max-width:calc(100% / 7 - 4px); }
.gallery-columns-8 .gallery-item { max-width:calc(100% / 8 - 4px); }
.gallery-columns-9 .gallery-item { max-width:calc(100% / 9 - 4px); }
.gallery-columns-10 .gallery-item { max-width:calc(10% - 4px); }
.gallery-caption {
  background-color:rgba(0, 0, 0, 0.7); color:#fff; font-size:12px; line-height:1.5; margin:0; pointer-events:none;
  padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%;
  -webkit-box-sizing:border-box; box-sizing:border-box;
	transform: translate3d(0, 100%, 0);
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.gallery-item:hover .gallery-caption { transform: translate3d(0, 0, 0); }
.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption { display: none; }
@media screen and (max-width:750px) {
  .gallery-caption { display:none; }
}


/* etc */
.post_content .wp-smiley { border:0; margin-bottom:0; margin-top:0; padding:0; }
.post_content address { margin:0 0 24px 0; line-height:2.2; }
.post_content pre { border-left:5px solid var(--main_color); font-size:12px; margin:0 0 27px 0; line-height:30px; background: repeating-linear-gradient(#eee 0, #eee 30px, #fafafa 30px, #fafafa 60px); padding:0 17px; overflow:auto; }
.post_content .sticky { }
.post_content .mejs-container { margin: 12px 0 25px; }


/* パスワード保護 */
.c-pw { margin-top:50px; }
.c-pw__box { font-size:16px; padding:40px; border:1px solid #ddd; background:#fff; }
.c-pw__box-inner { width:100%; height:50px; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.c-pw__box-desc { line-height:1.8!important; margin:-0.4em 0 2em!important; }
.c-pw__box-input { display:block; flex:1; border:none; background:#eee; height:100%; padding: 0 20px; }
.c-pw__btn--submit { display:block; min-width:150px; height:100%; padding:0 1em; background:#111; color:#fff!important; border:0; cursor:pointer; }
.c-pw__btn--submit:hover { background:#333; }
.c-pw__box-error { color:red; font-size:12px; }
@media (max-width:800px) {
  .c-pw { margin-top:40px; }
  .c-pw__box { font-size:14px; padding:20px; }
  .c-pw__box-inner { height:40px; }
  .c-pw__box-desc { margin-bottom:1em!important; }
  .c-pw__box-input { width:calc(100% - 100px); padding:0 10px; }
  .c-pw__btn--submit { min-width:auto; width:100px; }
}


/* Cardlink style - カードリンクのスタイル */
.cardlink { margin: 2em 0 !important; }


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

.pb_googlemap_custom-overlay-img { height: 40px !important; width: 40px !important;}


/* ブロックエディタ */
.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-right { text-align:right !important; }
.wp-block-embed { margin:0 0 2em 0; }


/* レスポンシブ説明文 */
.responsive_desc { margin-bottom:2em; }
.responsive_desc .mobile { display:none; }
@media (max-width: 800px) {
  .responsive_desc .pc { display:none; }
  .responsive_desc .mobile { display:block; }
}


/* グレー背景のボックス */
.gray_bg { background: #f3f3f3; padding:50px 50px; margin-bottom:50px; margin-top:50px; }
.gray_bg .speech_balloon:last-child { margin-bottom:0 !important; }
.gray_bg .sc .speech_balloon { margin-bottom:2.5em !important; }
.gray_bg .sc:last-child .speech_balloon { margin-bottom:0 !important; }
.gray_bg .qt_google_map:last-child { margin-bottom:0 !important; }
.gray_bg .sc .qt_google_map { margin-bottom:35px !important; }
.gray_bg .sc:last-child .qt_google_map { margin-bottom:0 !important; }
@media screen and (max-width: 1200px){
  .gray_bg { padding: 20px; }
}
@media screen and (max-width: 800px){
  .gray_bg { margin-bottom:40px; margin-top:40px; }
}


/* 縦書き */
.vertical_text { writing-mode:vertical-rl; position:relative; left:50%; transform: translateX(-50%); margin:50px 0 !important; padding:0 !important; text-align:left !important; line-height:1.5 !important; }
@media (max-width: 800px) {
  .vertical_text { margin:40px 0 !important; }
}


/* タブコンテンツ */
.qt_tab_content_wrap { position:relative; margin-bottom:2em; }
.qt_tab_content_header { display:flex; flex-wrap:wrap; }
.qt_tab_content_header .item { cursor:pointer; flex: 1 1 0%; text-align:center; height:70px; line-height:70px; font-size:16px; border-bottom:3px solid #ddd; color:#999; transition: color 0.25s ease, border-color 0.25s ease; font-weight:600; }
.qt_tab_content_header .item.active { pointer-events:none; border-color:#000; color:#000; }
@media(hover: hover) {
  .qt_tab_content_header .item:hover { color:#000; }
}
.qt_tab_content_main { position:relative; background:#fafafa; }
.qt_tab_content { opacity:0; visibility:hidden; position:absolute; top:0; padding:3em; }
.qt_tab_content.active { opacity:1; visibility:visible; position:relative; transition: opacity 0.3s linear 0s; }
.qt_tab_content img { display:block; margin:0 auto; }
.qt_tab_content .desc { text-align:center; margin:10px 0 -10px; }
@media (max-width: 800px) {
	p + .qt_tab_content_wrap { margin-top:-20px; }
  .qt_tab_content { padding:2em; }
  .qt_tab_content .desc { margin:10px 0 -5px; }
}


/* デザインテーブル */
.post_content .design_table { border:none !important; }
.post_content .design_table th, .post_content .design_table td { border-color:rgba(255,255,255,0.5) !important; }
.post_content .design_table tr:first-child td { background:#238c00; color:#fff; font-weight:600 !important; }
.post_content .design_table.red_color tr:first-child td { background:#d93600; }
.post_content .design_table.blue_color tr:first-child td { background:#008c8c; }
.post_content .design_table tr:nth-child(even) td { background:#f6f6f6 !important; }
@media screen and (max-width:1000px) {
  .post_content .design_table td { padding:10px 25px; font-size:14px; }
}
@media screen and (max-width:800px) {
	.post_content .design_table { width:580px !important; margin:0 auto; }
}




/* ----------------------------------------------------------------------
 シェアボタン
---------------------------------------------------------------------- */
.share_button_list.top { }
.share_button_list ul { display:flex; flex-wrap:wrap; margin:0 -3px -3px 0; }
.share_button_list.large_size ul { margin:0 -5px -5px 0; }
.share_button_list li { flex: 1 1 0%; margin:0 3px 3px 0; max-width:100px; }
.share_button_list.large_size li { flex: 0 0 auto; width:calc(25% - 5px); margin:0 5px 5px 0; max-width:inherit; }
.share_button_list a { display:block; text-align:center; position:relative; height:30px; background:#000; color:#fff; border-radius:3px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; line-height:32px; }
.share_button_list.mono a { line-height:30px; background:#f2f2f2; color:#000; border:1px solid #ddd; }
.share_button_list.large_size a { height:40px; line-height:42px; }
.share_button_list.large_size.mono a { line-height:40px; }
.share_button_list .label { font-size:12px; position:relative; font-family:Arial; }
.share_button_list a:before { font-family:'sns_icon'; display:block; color:#fff; margin-right:5px; position:relative; transition: color 0.25s ease; -webkit-font-smoothing: antialiased; }
.share_button_list.mono a:before { color:#000; }
.share_button_list .twitter_button a:before { content:'\e950'; font-size:12px; top:-1px; }
.share_button_list .facebook_button a:before { content:'\e944'; font-size:18px; top:-1px; }
.share_button_list .hatena_button a:before { content:'\e908'; font-size:14px; top:0px; }
.share_button_list .pocket_button a:before { content:'\e90a'; font-size:16px; top:0px; }
.share_button_list .rss_button a:before { content:'\e90b'; font-size:12px; top:0px; }
.share_button_list .feedly_button a:before { content:'\e907'; font-size:15px; top:0px; }
.share_button_list .pinterest_button a:before { content:'\e905'; font-size:16px; top:0px; }
.share_button_list .line_button a:before { content:'\e909'; font-size:16px; top:0px; }
.share_button_list .note_button a:before {
  content: '';
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; top:0px;
}
.share_button_list.color .note_button a { background:#fff; border:1px solid #ddd; color:#000; box-sizing:content-box; top: -1px; }
.share_button_list.color .twitter_button a { background:#000; border-color:#000; }
.share_button_list.color .facebook_button a { background:#35629a; border-color:#35629a; }
.share_button_list.color .hatena_button a { background:#3c7dd1; border-color:#3c7dd1; }
.share_button_list.color .pocket_button a { background:#ee4056; border-color:#ee4056; }
.share_button_list.color .rss_button a { background:#ffb53c; border-color:#ffb53c; }
.share_button_list.color .feedly_button a { background:#6cc655; border-color:#6cc655; }
.share_button_list.color .pinterest_button a { background:#d4121c; border-color:#d4121c; }
.share_button_list.color .line_button a { background:#00B900; border-color:#00B900; }
@media(hover: hover) {
  .share_button_list.color .twitter_button a:hover { background:#666; }
  .share_button_list.color .facebook_button a:hover { background:#1f3669; }
  .share_button_list.color .hatena_button a:hover { background:#0270ac; }
  .share_button_list.color .pocket_button a:hover { background:#c53648; }
  .share_button_list.color .rss_button a:hover { background:#e09900; }
  .share_button_list.color .feedly_button a:hover { background:#5ca449; }
  .share_button_list.color .pinterest_button a:hover { background:#a42f35; }
	.share_button_list.color .line_button a:hover { background:#009100; border-color:#009100; }
  .share_button_list.color .note_button a:hover { background:#eee; border-color:#ddd; }
  .share_button_list.mono .note_button a:hover { background:#000000; border-color:#000000; }
  .share_button_list.mono .note_button a:hover:before {
    content: '';
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; top:0px;
  }
  .share_button_list.mono .twitter_button a:hover { background:#000; border-color:#000; }
  .share_button_list.mono .facebook_button a:hover { background:#35629a; border-color:#35629a; }
  .share_button_list.mono .hatena_button a:hover { background:#3c7dd1; border-color:#3c7dd1; }
  .share_button_list.mono .pocket_button a:hover { background:#ee4056; border-color:#ee4056; }
  .share_button_list.mono .rss_button a:hover { background:#ffb53c; border-color:#ffb53c; }
  .share_button_list.mono .feedly_button a:hover { background:#6cc655; border-color:#6cc655; }
  .share_button_list.mono .pinterest_button a:hover { background:#d4121c; border-color:#d4121c; }
  .share_button_list.mono .line_button a:hover { background:#00B900; border-color:#00B900; }
  .share_button_list.mono a:hover { color:#fff; }
  .share_button_list.mono a:hover:before { color:#fff; }
}
@media screen and (max-width:800px) {
  .share_button_list .label { display:none; }
  .share_button_list.large_size .label { display:inline; }
  .share_button_list.large_size a { height:35px; line-height:37px; }
  .share_button_list.large_size.mono a { line-height:35px; }
  .share_button_list a:before { margin:0; }
  .share_button_list.large_size a:before { margin-right:5px; }
  .share_button_list .twitter_button a:before { top:0px; }
  .share_button_list .facebook_button a:before { top:-1px; }
  .share_button_list.large_size .facebook_button a:before { top:-1px; }
  .share_button_list .hatena_button a:before { top:0px;}
  .share_button_list .pocket_button a:before { top:0px; }
  .share_button_list .feedly_button a:before { top:-1.5px; }
  .share_button_list .rss_button a:before { top:-1px; }
}
@media screen and (max-width:500px) {
	.share_button_list li { max-width:inherit; }
  .share_button_list.large_size li { width:calc(50% - 5px); max-width:inherit; }
}
.share_button_list_default ul { display:flex; flex-wrap:wrap; margin:0 -3px -10px 0; }
.share_button_list_default li { margin:0 3px 3px 0; }
.share_button_list_default li.pocket_button { width:90px !important; }




/* ----------------------------------------------------------------------
 Contact form 7
---------------------------------------------------------------------- */
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { -webkit-transition:all .3s; -webkit-box-sizing:border-box; box-sizing:border-box; display:block; position:relative; width:225px; height:48px; margin:30px auto 0; border:none !important; outline:none; background-color:#333333; color:#fff; font-size:14px; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:all .3s; }
.wpcf7 .wpcf7-previous + br { display: none; }
@media(hover: hover) {
  .wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color:#666666; }
}
.wpcf7 form .wpcf7-response-output { margin: 2em 0.5em 2em; padding:0; border: none; text-align:center; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { color:#dc3232; font-size: 1em; }



/* GLUE theme */