/* ===== unique_tcd044 style.css ===== */
@charset "utf-8";
/*
Theme Name:UNIQUE
Theme URI:https://tcd-theme.com/tcd044
Description:"UNIQUE" is a WordPress theme for creators who seek originality. The unique design of the top page will not fade away over time. Use the sortable gallery function as your portfolio.
Author:TCD
Author URI:https://tcd-theme.com/
Version:2.1.5
Text Domain:tcd-unique
*/


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




/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
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; }
audio, canvas, video { display:inline-block; max-width:100%; }
html { overflow-y: scroll; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
ul, ol { list-style:none; }
blockquote , q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a:focus { outline:none; }
ins { text-decoration:none; }
mark { font-style:italic; font-weight:bold; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; width:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
button, input, select, textarea { outline:0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:100%; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); -webkit-appearance: none; border-radius:0; /* Removing the inner shadow, rounded corners on iOS inputs */ }
input[type="checkbox"]{ -webkit-appearance: checkbox; }
input[type="radio"]{ -webkit-appearance: radio; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
img { -ms-interpolation-mode:bicubic; }

/* clearfix */
.clearfix:after { content: "."; display:block; clear:both; height:0; font-size:0.1em; line-height:0; visibility:hidden; overflow:hidden; }
.clearfix { display:inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height:1% }
.clearfix { display:block;}
/* end MacIE5 */




/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body { font-family:Arial,sans-serif; color:#333; line-height:1; width:100%; }
.pc .admin-bar { padding-top:33px; }
a { color:#333; text-decoration:none; }
a, a:before, a:after, input {
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  -moz-transition-property:background-color, color; -moz-transition-duration:0.2s; -moz-transition-timing-function:ease;
  -o-transition-property:background-color, color; -o-transition-duration:0.2s; -o-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;
}
a:hover { text-decoration:underline; }
.clear { clear:both; }
.hide { display:none; }

.font_1 { font-family: var(--tcd-font-type1); }
.font_2 { font-family:  var(--tcd-font-type2);  }
.font_3 {font-family:  var(--tcd-font-type3);  }

/* レイアウト */
#main_contents { background:#fff; width:100%; position:relative; z-index:10; }
#main_col { width:calc(100% * 1150 / 1280); max-width:1150px; margin:15px auto 150px; padding:0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }
#left_col { width:calc(100% * 800 / 1150); float:left; }
#side_col { width:calc(100% * 300 / 1150); float:right; }
.pc .layout2 #left_col { float:right; }
.pc .layout2 #side_col { float:left; }


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

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
.home #top { width:100%; height:auto; position:relative; position:relative; }

/* スライダー */
#header_slider { width:100%; height:auto; position:relative; }
#header_slider .item { width:100%; height:auto; }
#header_slider .item img { width:100%; height:auto; display:block; }
#header_slider .item .overlay { display:block; width:100%; height:100%; z-index:2; position:absolute; left:0px; top:0px; }
#header_slider .slick-dots { display:block; position:absolute; z-index:2; height:13px; bottom:30px; left:0; right:0; margin:auto; text-align:center; }
#header_slider .slick-dots li {
 display:inline-block; width:13px; height:13px; margin:0 7px; position:relative;
}
#header_slider .slick-dots button {
 cursor:pointer; border:none; color:transparent; width:13px; height:13px; display:block; font-size:0; background:none;
}
#header_slider .slick-dots button::before {
 content:''; display:block; width:13px; height:13px; line-height:13px; background:#fff; border-radius:20px; position: absolute; top:0; left:0;
}
#header_slider .slick-dots button:hover::before, #header_slider .slick-dots .slick-active button::before {
 background:#ccc;
}

/* スライダーのキャッチコピー */
#header_slider .caption, #header_video .caption, #header_youtube .caption {
  position:absolute; text-align:center; z-index:5; width:calc(100% * 1150 / 1280); max-width:1150px; margin:auto; left:0; right:0;
  top:50%; top:-webkit-calc(50% + 30px); top:-moz-calc(50% + 30px); top:calc(50% + 30px);
  -webkit-transform: translate3d(0,-50%,0); transform: translate3d(0,-50%,0);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#header_slider .caption .title, #header_video .caption .title, #header_youtube .caption .title { line-height:125%; }
#header_slider .caption .button, #header_video .caption .button, #header_youtube .caption .button {
  font-size:14px; text-decoration:none; /*padding:0 45px;*/ height:45px; line-height:45px; display:inline-block; margin:25px 0 0 0; width:170px; text-align:center;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}


/* スライダーのキャッチコピーのアニメーション */
.pc #header_slider .caption .title,  .pc #header_youtube .caption .title, .pc #header_video .caption .title,
  .pc #header_slider .caption .button, .pc #header_youtube .caption .button, .pc #header_video .caption .button {
    opacity:0;
}
.pc #header_slider .caption .title, .pc #header_youtube .caption .title, .pc #header_video .caption .title {
	-webkit-transform: translateY(-100%); transform: translateY(-100%);
}
.pc #header_slider .caption .button, .pc #header_video .caption .button, .pc #header_youtube .caption .button {
	-webkit-transform: translateY(100%); transform: translateY(100%);
}
.pc #header_slider .slick-active .caption .title {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s; animation: opacityAnimation 1.0s ease forwards 1.0s;
}
.pc #header_slider .slick-active .caption .button {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.2s; animation: opacityAnimation 1.0s ease forwards 1.2s;
}
.pc #header_slider .first_active .caption .title, .pc #header_video .caption.first_active .title, .pc #header_youtube .caption.first_active .title {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s !important; animation: opacityAnimation 1.0s ease forwards 2.0s !important;
}
.pc #header_slider .first_active .caption .button, .pc #header_video .caption.first_active .button, .pc #header_youtube .caption.first_active .button {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.1s !important; animation: opacityAnimation 1s ease forwards 2.1s !important;
}
@-webkit-keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}


/* 動画 */
#header_video { width:100%; height:100vh; position:relative; background:#000; }
#header_video .overlay { display:block; width:100%; height:100%; z-index:2; position:absolute; left:0px; top:0px; }


/* Youtube 動画 */
#header_youtube { width:100%; height:100vh; position:relative; background:#000; }
#header_youtube .overlay { display:block; width:100%; height:100%; z-index:2; position:absolute; left:0px; top:0px; }


/* コンテンツビルダー */
.box_list { width:100%; position:relative; }
.box-sizer { width:25%; }
.box_list .box {
  float:left; position:relative; width:25%; overflow:hidden; background:#000;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.box_list .box2 { width:50%; }
.box_list .box:before { content:""; display:block; padding-top:200%; }
.box_list .box2:before { padding-top:100%; }

.box_list .box_inner { position:absolute; top:0; left:0; bottom:0; right:0; }
.box_list .box_inner .content { padding:0 calc(100% * 50 / 363); position:absolute; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}

.box_list { color:#fff; }
.box_list a { color:#fff; }

/* リンクボタン */
.box_list .link_button a { text-decoration:none; color:#fff; margin:30px 0 0 0; display:inline-block; background:#000; height:45px; line-height:45px; font-size:14px; width:170px; text-align:center; }
.box_list .link_button a:hover { background:#888; color:#fff; }

/* 最新の投稿・お知らせ */
.box_list .catch { line-height:1.7; margin:0 0 15.3px 0; font-size: 18px; font-weight: 400; }
.box_list .index_recent_post li { line-height:180%; font-size:12px; margin:0 0 18px 0; }
.box_list .index_recent_post li:last-child { margin:0; }
.box_list .index_recent_post li a { display:block; font-size: 14px; line-height:1.7; }
.box_list .index_recent_post li a:hover { text-decoration:none; }
.box_list .index_recent_post .date { font-size:11px; color:#aaa; font-family: 'Arial'; }

/* コンテンツボックス */
.box_list .headline { position:absolute; top:0px; left:0px; width:100px; height:100px; line-height:100px; text-align:center; background:rgba(0,0,0,0.3); font-weight: 400; font-size: 14px; }
.box_list .desc p { line-height:2.2; font-size:14px; }
.box_list .image_box a {
  display:block; width:100%; height:100%; background:rgba(0,0,0,0.3);
  -webkit-transition:background-color 0.5s ease; -moz-transition:background-color 0.5s ease; -o-transition:background-color 0.5s ease; transition:background-color 0.5s ease;
}
.box_list .image_box a:hover { background:rgba(0,0,0,0); }
.box_list .image_box .image_content { display:block; width:100%; height:100%; }
.box_list .image_box img { display:none; }

@media only screen and (max-width:1199px) {
	.box_list .headline { width:80px; height:80px; line-height:80px; font-size:14px; }
	.box-sizer { width:50%; }
	.box_list .box { width:50%; }
	.box_list .box2 { width:100%; }
	.box_list .box_inner .content { padding:0 30px; }
	.box_list .headline { left:0; right:0; margin:auto;  }
	.box_list .link_button { text-align:center; }
	.box_list .box:before { padding-top:120%; }
	.box_list .box:before { padding-top:120%; }
	.box_list .box2:before { padding-top:100%; }
}


/* ----------------------------------------------------------------------
 制作実績一覧
---------------------------------------------------------------------- */
.work_list { width:100%; position:relative; margin-top:-1px; }
.work_list .box {
  float:left; position:relative; width:25%; overflow:hidden;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.work_list .box:before { content:""; display:block; padding-top:100%; }

.work_list .box_inner { position:absolute; top:0; left:0; bottom:0; right:0; }
.work_list .box_inner .content { position:relative; width:100%; height:100%; height:-webkit-calc(100% + 1px); height:-moz-calc(100% + 1px); height:calc(100% + 1px); background:#000; }

/* カテゴリー */
.work_list .category { position:absolute; top:0px; left:0px; z-index:10; }
.work_list .category a { background:#000; color:#fff; font-size:12px; padding:0 20px; height:30px; line-height:30px; display:none; text-decoration:none; }
.work_list .category a:first-child { display:block; }
.work_list .category a:hover { background:#888; color:#fff; }

/* タイトル */
.work_list .title {
  position:absolute; bottom:0px; left:0px; z-index:10; width:100%; font-weight:normal; font-size:14px; line-height:1.6;
  -webkit-transform: translate3d(0,101%,0); transform: translate3d(0,101%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.work_list .title a {
  display:block; width:100%; background:rgba(0,0,0,0.7); color:#fff; padding:15.8px; text-decoration:none;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.work_list .content:hover .title { -webkit-transform: translate3d(0,1px,0); transform: translate3d(0,1px,0); }

/* 画像 */
.work_list .image { position:absolute; display:block; width:100%; top:0px; left:0px; }
.work_list .image img {
  display:block; width:100%; width:-webkit-calc(100% + 1px); width:-moz-calc(100% + 1px); width:calc(100% + 1px); height:auto;
  opacity:0.8; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s;
  -webkit-backface-visibility: hidden;
}
.work_list .content:hover img { opacity:1; }


/* アーカイブページのアニメーション */
#archive_work_list .box.active {
  -webkit-transform: translateY(50px); transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 0.5s; animation: moveUp 0.65s ease forwards 0.5s;
}
@-webkit-keyframes moveUp {
	0% { }
	100% { -webkit-transform: translateY(0); opacity: 1; }
}
@keyframes moveUp {
	0% { }
	100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}


/* ソートボタン */
#work_sort_list { background:#bcc0c1; width:100%; height:60px; }
#work_catgory_sort { margin:0 auto; width:calc(100% * 1150 / 1280); max-width:1150px; text-align:center; }
#work_catgory_sort li { display:inline; margin:0 25px; }
#work_catgory_sort li a { font-size:14px; display:inline-block; color:#fff; text-decoration:none; text-align:center; height:60px; line-height:60px; }
#work_catgory_sort li a.active, #work_catgory_sort li a:hover, #work_catgory_sort li.current-cat a { color:#333; }




/* ----------------------------------------------------------------------
 製作実績ページ
---------------------------------------------------------------------- */
/* アーカイブページ */
.post-type-archive-work #main_col { margin-bottom:0; }


/* 詳細ページ　右側 */
#work_side_content .category a { font-size:12px; background:#333; color:#fff; height:30px; line-height:30px; padding:0 15px; margin:0 0 26px 0; display:none; text-decoration:none; }
#work_side_content .category a:first-child, #work_side_content .category a:only-child { display:inline-block; }
#work_title { font-size:20px; margin:0 0 17px 0; line-height:1.8; }
#work_info { font-size:14px; }
#work_button a { display:inline-block; font-size:12px; background:#bbb; color:#fff; height:45px; line-height:45px; padding:0 50px; text-decoration:none; }

/* 詳細ページ　ナビゲーション */
#work_navigation { text-align:center; font-size:0; margin-top:40px; }
#work_navigation a { width:160px; height:45px; line-height:45px; color:#fff; font-size:14px; display:inline-block; background:#bbbbbb; vertical-align:top; text-decoration:none; position:relative; }
#work_navigation a:hover { background:#000; }
#work_navigation a.archive_link { width:45px; overflow:hidden; }
#work_navigation a.archive_link span { text-indent:-200px; display:block; }
#work_navigation a.prev { margin:0 6px 0 0; }
#work_navigation a.next { margin:0 0 0 6px; }
#work_navigation a:before {
  content:'';
  font-family:'design_plus'; color:#fff; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#work_navigation a.archive_link:before {
  content:'\e5c4'; font-size:30px; position:absolute; top:2px; left:8px;
}
#work_navigation a.prev:before {
  content:'\e90f'; position:absolute; top:2px; left:15px;
}
#work_navigation a.next:before {
  content:'\e910'; position:absolute; top:2px; right:15px;
}




/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */

/* 見出し */
#page_header { text-align:center; margin:0 0 90px 0; }
#page_header .headline { font-size:40px; line-height:1.2; margin:0; margin-bottom:1px; color:#929699; }
#page_header .desc { font-size:14px; line-height:2.3; margin:-7px 0 54px 0; color:#929697; }

/* キャッチフレーズ */
#page_header .catch_headline { font-size:40px; line-height:1.7; margin:30px 0 14.7px 0; color:#929699; }
#page_header .catch_desc { font-size:14px; line-height:2.3; margin:0; }


/* ブログ記事一覧 */
#blog_list { margin:0 0 50px 0; }
#blog_list li { float:left; width:33.33333%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3); position:relative; overflow:hidden; }
#blog_list .title {
  position:absolute; bottom:0px; left:0px; z-index:11; width:100%; font-weight:normal; font-size:14px; line-height:180%;
  padding:15px 20px; background:rgba(0,0,0,0.7);
  -webkit-transform: translate3d(0,101%,0); transform: translate3d(0,101%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#blog_list .title h2 { font-size:14px; font-weight:normal; margin:0; line-height:180%; }
#blog_list .title .date { color:#bbb; font-size:12px;  font-family: 'Arial';}
#blog_list .title a { display:block; width:100%; color:#fff; text-decoration:none; }
#blog_list li:hover .title { -webkit-transform: translate3d(0,1px,0); transform: translate3d(0,1px,0); }
#blog_list .image { display:block; }
#blog_list .image img {
  display:block; width:100%; height:auto;
  -webkit-backface-visibility: hidden;
}
#blog_list li:hover img { }
#blog_list .category { position:absolute; top:0px; left:0px; z-index:10; }
#blog_list .category a { background:#000; color:#fff; font-size:12px; padding:0 20px; height:30px; line-height:30px; display:none; text-decoration:none; }
#blog_list .category a:first-child { display:block; }
#blog_list .category a:hover { background:#888; color:#fff; }


/* ページング */
.page_navi { margin:0; text-align:center; font-size:0; }
.page_navi .page-numbers { display:inline-block; font-size:14px; border:1px solid #ccc; border-right:0; }
.page_navi .page-numbers:last-child { border-right:1px solid #ccc; }
.page_navi a, .page_navi a:hover, .page_navi span { font-size:14px; line-height:38px; margin:0; background:#fff; display:inline-block; width:40px; height:40px; box-sizing:border-box; }
/*.page_navi li:first-child a, .page_navi li:first-child span { border-left: 1px solid #ccc; }*/
.page_navi a:hover { color:#fff; background:#222; text-decoration:none; }
.page_navi span.dots { background:none; }
.page_navi span.current { color:#fff; background:#333; }
.page_navi p.back { margin:0; text-align:center; }
.page_navi p.back a { background:#fff; color:#333; border:1px solid #ddd; text-decoration:none; display:inline-block; width:200px; height:50px; line-height:50px; text-align:center; font-size:12px; position:relative; padding:0; }
.page_navi p.back a:hover { color:#fff; }
.page_navi p.back a:hover:before { color:#fff; }
.page_navi .prev::before { content: "\e90f"; font-family:"design_plus"; transition:none; font-size:10px; }
.page_navi .next::after { content: "\e910"; font-family:"design_plus"; transition:none; font-size:10px; }




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#news_list li { border:1px solid #ddd; margin:0 0 40px 0; }
#news_list li .image { width:410px; height:270px; float:left; display:block; background:#000; }
#news_list li .image img {
  display:block; width:100%; height:auto;
  opacity:0.8; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s;
  -webkit-backface-visibility: hidden;
}
#news_list li .image:hover img { opacity:1; }
#news_list li .title {
  height:270px; display:table; text-decoration:none; padding:85px 40px 0; line-height:180%;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; padding:0 5%; width:calc(100% - 410px);
}

#news_list .title-inner {
	display: table-cell; vertical-align:middle;
}
#news_list li .title time { display:block; color:#aaa; font-size:12px; margin:0 0 5px 0; }
#news_list li .title h2 { font-size:18px; color:#333; font-weight:400; }
#news_list li .title:hover { background:#f6f6f6; }

@media only screen and (max-width:1199px) {
	#news_list li .image { width:205px; height:135px; }
	#news_list li .title { width:calc(100% - 205px); height:135px; }
}

/* 詳細ページ */
#archive_news_list { position:relative; }
#archive_news_list .headline { color:#fff; height:50px; line-height:50px; padding:0 25px; margin:40px 0 25px 0; font-size:14px; font-weight:400; }
#archive_news_list .archive_link { position:absolute; top:19px; right:25px; color:#fff; padding:0 25px 0 0; font-size:14px; }
#archive_news_list .archive_link:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#fff; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e910'; position:absolute; top:0px; right:0px;
}
#archive_news_list li { border:1px solid #ccc; margin:0 0 -1px 0; }
#archive_news_list li a { display:block; padding:25px; text-decoration:none; color:#333;}
#archive_news_list li a .entry-date { display:block; margin:0 0 10px 0; font-size:12px; color:#aaa; }
#archive_news_list li a:hover { background-color:#f6f6f6; }
#archive_news_list li a h3 { font-weight:400; }



/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
#article { position:relative; }


/* アイキャッチ画像 */
#post_image { padding:0; margin:0 0 42.8px 0; position:relative; }
#post_image img { width:100%; height:auto; display:block; margin:0; z-index:1; }


/* カテゴリー */
#post_meta_top { margin:0 0 30px 0; }
#post_image #post_meta_top { margin:0; position:absolute; bottom:0px; left:0; z-index:2; }
#post_meta_top li { float:left; margin:0; font-size:12px; }
#post_meta_top .category { }
#post_meta_top .category a { height:30px; line-height:30px; padding:0 25px; display:inline-block; text-decoration:none; background:#000; color:#fff; }
#post_meta_top .category a:hover { color:#fff; background:#888; }
#post_meta_top .date { height:30px; line-height:30px; background:#929699; color:#fff; padding:0 25px; position:relative; }


/* 記事タイトル */
#post_title { padding:0; margin:0 0 34.4px; font-size:21px; line-height:1.4;-ms-word-wrap: break-word;word-wrap: break-word; }


/*  記事本文*/
.post_content a:hover, .custom-html-widget a:hover { text-decoration: underline!important; }


/* SNSボタン */
#single_share_top { margin:-10px 0 15px; }
#single_share_top #share_top1 { padding-top:0; }


/* ページ分割 */
#post_pagination { margin:0 0 50px 0; clear:both; font-size:0; text-align:center; }
#post_pagination h5 { margin:0 0 10px 0; font-size:12px; }
#post_pagination a, #post_pagination p { font-size:12px; display:inline-block; background:#fff; margin:0 -1px 0 0; width:40px; height:40px; line-height:40px; text-align:center; text-decoration:none; color:#333; border:1px solid #ccc; }
#post_pagination p { background:#000; color:#fff; }
#post_pagination a:hover { color:#fff; }


/* メタ情報 */
#post_meta_bottom { margin:0 0 50px; background:#fafafa; padding:25px; }
#post_meta_bottom li { display:inline; margin:0 10px 0 0; padding:0 15px 0 20px; border-right:1px solid #ddd; font-size:12px; line-height:180%; position:relative; }
#post_meta_bottom li:last-child { border:none; margin:0; }
#post_meta_bottom li:before { font-family:'design_plus'; color:#aaa; font-size:13px; display:block; position:absolute; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
#post_meta_bottom li.post_category:before { content:'\e92f'; top:-2px; left:0px; }
#post_meta_bottom li.post_tag:before { content:'\e935'; top:-1px; left:0px; }
#post_meta_bottom li.post_author:before { content:'\e90d'; top:-2px; left:0px; }
#post_meta_bottom li.post_comment:before { content:'\e916'; font-size:16px; top:-2px; left:0px; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0 0 50px 0; display:flex; border-collapse:collapse; width:100%; }
#previous_next_post .prev_post, #previous_next_post .next_post { width:50%; }
#previous_next_post .prev_post { margin-right:-1px; }
#previous_next_post .next_post { }
#previous_next_post a {
  border:1px solid #ddd; display:flex; padding:0 25px 0 60px; color:#333; font-size:14px; height:120px; line-height:180%; color:#333; text-decoration:none; position:relative; vertical-align:middle;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; align-items: center;
}
#previous_next_post .next_post a { padding:0 60px 0 25px; }
#previous_next_post a:hover { background:#f7f7f7; color:#333; }
#previous_next_post .prev_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#aaa; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e90f'; position:absolute; top:0px; bottom:0px; left:20px; margin:auto;
}
#previous_next_post .next_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#aaa; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e910'; position:absolute; top:0px; bottom:0px; right:20px; margin:auto;
}


/* 広告 */
#single_banner_area { margin:0 0 50px; text-align:center; }
#single_banner_area .single_banner_left { display:inline-block; margin:0 10px 0 0; }
#single_banner_area .single_banner_right { display:inline-block; margin:0 0 0 10px; }
#single_banner_area img { max-width:100%; height:auto; display:block; }
#single_banner_area.one_banner .single_banner_left { float:none; margin:0 auto; }
#single_banner_area.one_banner img { margin:0 auto; }


/* 広告（ページ下部） */
#single_banner_area_bottom { margin:0 0 50px; text-align:center; }
#single_banner_area_bottom .single_banner_left { display:inline-block; margin:0 10px 0 0; }
#single_banner_area_bottom .single_banner_right { display:inline-block; margin:0 0 0 10px; }
#single_banner_area_bottom img { max-width:100%; height:auto; display:block; }
#single_banner_area_bottom.one_banner .single_banner_left { float:none; margin:0 auto; }
#single_banner_area_bottom.one_banner img { margin:0 auto; }


/* 広告（ショートコードver） */
#single_banner_area2 { margin:0 0 30px 0; text-align:center; }
#single_banner_area2 .single_banner_left { display:inline-block; margin:0 10px 0 0; }
#single_banner_area2 .single_banner_right { display:inline-block; margin:0 0 0 10px; }
#single_banner_area2 img { max-width:100%; height:auto; display:block; }
#single_banner_area2.one_banner .single_banner_left { float:none; margin:0 auto; }
#single_banner_area2.one_banner img { margin:0 auto; }


/* 関連記事 */
#related_post { margin:0 0 20px 0; }
#related_post .headline { height:50px; line-height:50px; font-size:14px; margin:0 0 25px 0; padding:0 25px; background:#000; color:#fff; }
#related_post ol {
	margin:0; position:relative; font-size:0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
}
#related_post li {
	margin-right:calc(100% * 26 / 800); width: calc(100% * 180 / 800); margin-bottom: 25px;
}
#related_post li:nth-child(4n) { margin-right:0; }
#related_post li .image { margin:0 0 15px 0; display:block; overflow:hidden; }
#related_post li a.image img {
  width:100%; height:auto;
  -webkit-transition: all 0.35s ease-in-out; -moz-transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
}
#related_post li .image:hover img {
  -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2);
}
#related_post li .title { font-size:14px; line-height:160%; font-weight:400; }
#related_post li .title a { display:block; }
#related_post li .title a:hover { text-decoration:none; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header { width:100%; height:70px; background:#fff; position:relative; z-index:20; }
#header_inner { height:70px; width:calc(100% * 1150 / 1280); max-width:1150px; margin:0 auto; position:relative; }
.home #header_inner { height:110px; }
.home.header_fix #header_inner { height:70px; }
.home #header { position:absolute; background:none; }


/* 固定ヘッダー */
.pc .header_fix #header {
  position:fixed; top:0px; left:0px; z-index:200; box-shadow:0 0 5px 0 rgba(0,0,0,0.4);
  animation: slideDown 0.5s ease; -ms-animation: slideDown 0.5s ease; -webkit-animation: slideDown 0.5s ease; -moz-animation: slideDown 0.5s ease;
}
@-webkit-keyframes slideDown {
   0% { top:-50px; }
  100% { top:0px; }
}
@keyframes slideDown {
  0% { top:-50px; }
  100% { top:0px; }
}


/* ロゴ */
.pc #logo_text, .pc #logo_image { position:absolute; left:0; top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); }
.pc #header_logo .logo { font-size:20px; margin:0; }
.pc #header_logo .logo a { text-decoration:none; }
.pc #logo_image img.pc_logo_image { display:block; }
.pc #logo_image img.mobile_logo_image { display:none; }


/* グローバルメニュー */
.pc #global_menu { float:right; }
.pc #global_menu > ul { height:70px; font-size:0; position:relative; }
.pc .home #global_menu > ul { height:110px; }
.pc .home.header_fix #global_menu > ul { height:70px; }
.pc #global_menu > ul > li { font-size:1%; position:relative; display:inline-block; }

.pc #global_menu > ul > li > a {
  font-size:14px; text-decoration:none; height:70px; line-height:70px; display:block; padding:0 30px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.pc .home #global_menu > ul > li > a { height:110px; line-height:110px; }
.pc .home.header_fix #global_menu > ul > li > a { height:70px; line-height:70px; }
.pc #global_menu > ul > li > a:hover { }

.pc #global_menu ul ul { display:none; width:200px; position:absolute; top:70px; left:10px; margin:0; padding:0; z-index: 21; }

.pc #global_menu ul ul ul { left:100%; top:0; margin:0; border:none; }
.pc #global_menu ul ul li { line-height:150%; padding:0; margin:0; text-align:left; position:relative; display:block; }
.pc #global_menu ul ul a { display:block; font-size:14px; border:none; position:relative; padding:14px 20px 12px 20px; height:auto; line-height:160%; margin:0; text-align:left; box-shadow:none; }
.pc #global_menu ul ul a:hover { text-decoration:none; border:none; }

.pc #global_menu ul ul li.menu-item-has-children > a:before { margin:0; display:block; top:20px; right:10px; position:absolute; content:""; width:0; height:0; border-style:solid; border-width:4px 0px 4px 4px; border-color:transparent transparent transparent #fff; }

/* 最後のメニューだけ左右反転させる */
.pc #global_menu>ul>li:last-child ul{
  left:unset; right: 10px; 
}
.pc #global_menu>ul>li:last-child ul li.menu-item-has-children > a:before{
  transform: rotate(180deg);right: unset;left:10px;
}
.pc #global_menu>ul>li:last-child ul ul{
  right: 100%;
}


/* パンくずリンク */
#bread_crumb { margin:0; height:72px; line-height:72px; overflow:hidden; }
#bread_crumb ul { width:calc(100% * 1150 / 1280); max-width:1150px; margin:0 auto; }
#bread_crumb li.home { padding:0; }
#bread_crumb li.home a {
  float:left; height:15px; width:13px; line-height:15px; display:block; position:relative;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#bread_crumb li.home a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#bread_crumb li.home a:before {
  font-family:'design_plus'; color:#aaa; font-size:14px; display:block; position:absolute; top:2px; left:0; width:17px; height:72px; line-height:72px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home:after { display:none; }
#bread_crumb li.home a:before { content:'\e90c'; }
#bread_crumb li.home a:hover:before { color:#fff; }
#bread_crumb li { color:#999; font-size:12px; display:inline; padding:0 15px 0 0; margin:0 0 0 15px; line-height:1.7; position:relative; }
#bread_crumb li:after {
  font-family:'design_plus'; content:'\e910'; color:#999; font-size:9px; display:block; position:absolute; left:-20px; top:2px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li a { color:#aaa; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top { background:#fff; }
#footer_top_inner { width:calc(100% * 1150 / 1280); max-width:1150px; margin:0 auto; padding:70px 0 68px; }
#footer_menu_widget_area {
	float:right; width:calc(100% * 855 / 1150);
	display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
}
.no_footer_menu #footer_menu_widget_area { width:730px; }

/* 住所 */
#footer_address { float:left; width:calc(100% * 237 / 1150); font-size:12px; margin:0; }
.no_footer_menu #footer_address { width:300px; }
#footer_address .logo { margin:0 0 20px 0; }
#footer_address .logo a { display:inline-block; }
#footer_address .logo img { display:block; }
#footer_address .info { line-height:2.2; }


/* SNSボタン */
#footer_social_link { margin:10px 0 0 -9px; }
#footer_social_link li { float:left; margin:0 5px 0 0; position:relative; }
#footer_social_link li a {
  display:block; text-indent:-200px; overflow:hidden; width:30px; height:30px; position:relative;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none;
}
#footer_social_link li:before {
  font-family:'design_plus'; color:#333; font-size:17px; display:block; position:absolute; top:10px; left:9px; width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#footer_social_link li.twitter:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
#footer_social_link li.facebook:before { content:'\e902'; }
#footer_social_link li.tiktok:before {  font-family: 'tiktok_x_icon'; content: "\e900"; }
#footer_social_link li.insta:before { content:'\ea92'; top:11px; }
#footer_social_link li.rss:before { content:'\e90b'; }
#footer_social_link li.twitter:hover:before { color:#000; }
#footer_social_link li.tiktok:hover:before { color:#000; }
#footer_social_link li.facebook:hover:before { color:#3B5998; }
#footer_social_link li.insta:hover:before { color:#8a3ab9; }
#footer_social_link li.rss:hover:before { color:#ffcc00; }


/* メニュー */
#footer_menu {
	width:190px; font-size:0; margin:0; width:calc(100% * 190 / 855);
}
#footer_menu .headline { margin:0 0 25px 0; font-size:16px; font-weight: bold; }
.footer_menu { display:inline-block; vertical-align:top; margin:0; width:100%; }
#footer_menu.has_two_menu .footer_menu { width:calc(100% * 85 / 190); margin:0 20px 0 0; }
#footer_menu.has_two_menu .footer_menu:last-child { margin:0; }
.footer_menu li { margin:0 0 15px 0; font-size:12px; line-height:160%; }
.footer_menu a { display:block; }
.footer_menu a:hover { text-decoration:none; }


/* ウィジェット */
#footer_left_widget { width:calc(100% * 230 / 855); }
#footer_right_widget { width:calc(100% * 300 / 855); }
.no_footer_menu #footer_left_widget { float:left; width:300px; }
.footer_widget .footer_headline { margin:0 0 25px 0; font-size:16px; font-weight: bold; }

.footer_widget .side_widget { margin:0; font-size:12px; position:relative; margin-bottom:30px; }
.footer_widget .widget_calendar { border:none; padding:0; }
.footer_widget .widget_search #search-box, .footer_widget .widget_search #s, .footer_widget .side_widget.google_search #s { background:#e2e2e2; }
.footer_widget .styled_post_list1 li { margin-bottom:20px; padding-bottom:0; border-bottom:none; }
.footer_widget .styled_post_list1 li:last-child { margin-bottom:0; }
.footer_widget .styled_post_list1 li .image { width:70px; height:70px; }
.footer_widget .styled_post_list1 .title { font-size:12px; }
.footer_widget .project_list_widget li { width:80px; height:80px; }


/* フッター下部 */
#footer_bottom { width:100%; height:50px; }
#footer_bottom_inner { width:calc(100% * 1150 / 1280); max-width:1150px; margin:0 auto; height:50px; position:relative; }
#footer_bottom a { }


/* フッター下部のメニュー */
#footer_menu_bottom { float:left; margin:20px 0 0 0; }
#footer_menu_bottom li { float:left; font-size:12px; margin:0 15px 0 0; padding:0 15px 0 0; border-right:1px solid #fff; }
#footer_menu_bottom li:last-child { border:none; margin:0; padding:0; }
#footer_menu_bottom li a { display:block; }


/* コピーライト */
#copyright { float:right; margin:20px 0 0 0; font-size:12px; }


/* ページ上部へ戻るボタン */
.pc #return_top a { position:relative; display:block; height:50px; width:100%; text-decoration:none; background:#d5d7d6; }
.pc #return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
.pc #return_top a:before {
  font-family:'design_plus'; color:#fff; font-size:18px; display:block; position:absolute; width:23px; height:23px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.pc #return_top a:before { content:'\e911'; top:19px; left:0; right:0; margin:auto; }


/* ローディングアイコン */
#site_loader_overlay {
  position: fixed; background:#fff; background:rgba(255,255,255,1); top:0px; left:0px; bottom:0px; right:0px; z-index: 99999; opacity:1;
}
#site_loader_spinner {
  width:60px; height:60px; border-radius:100%; margin-top:-30px; margin-left:-30px; border:4px solid #ccc; border-top-color:#666; box-sizing:border-box; position:absolute; top:50%; left:50%;
  animation:loading 1.2s linear infinite; -webkit-animation:loading 1.2s linear infinite;
}
@keyframes loading{
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}
@-webkit-keyframes loading{
  0% { -webkit-transform:rotate(0deg); }
  100% { -webkit-transform:rotate(360deg); }
}




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 50px 0; font-size:12px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline { height:50px; line-height:50px; font-size:14px; margin:0 0 30px 0; background:#333; color:#fff; padding:0 20px; font-weight: 400; }
.side_widget ul { margin:0; }
.side_widget li ul { margin:10px 0 0 0; }
.side_widget li { line-height:200%; padding:2px 0; margin:0 0 10px 0; }
.side_widget a { }
.side_widget a:hover { text-decoration:none; }
.side_widget img { height:auto; max-width:100%; }


/* 広告 */
.ml_ad_widget { margin:0 0 50px 0; border:none; padding:0; background:none; }
.ml_ad_widget img { height:auto; max-width:inherit;  margin:0 auto; display:block; }


/* カレンダー */
.widget_calendar { border:1px solid #ddd; padding:15px; }
.widget_calendar .side_headline { margin:-16px -16px 20px; position:relative; }
/*#wp-calendar { margin:0 auto; width:100%; font-size:11px; border-collapse:separate; table-layout:fixed; }
#wp-calendar th, #wp-calendar td { color:#333; padding:2px; line-height:340%; text-align:center; }
#wp-calendar td a { display:block; margin:0; padding:0; text-decoration:none; color:#333; background-color:#eee; }
#wp-calendar td a:hover { text-decoration:none; color:#fff; background:#ccc; }
#wp-calendar caption { padding:7px 0; }
#wp-calendar thead th, #wp-calendar tfoot td { border:none; padding:0; line-height:200%; }
#wp-calendar #prev, #wp-calendar #next { line-height:300%; }
#wp-calendar #prev a, #wp-calendar #next a { text-decoration:none; background:none; color:#333; }
#wp-calendar #prev a:hover, #wp-calendar #next a:hover { color:#fff; background:#ccc; }
#wp-calendar td#today { font-weight:bold; }*/

/* 基本設定 */
.p-widget ul { margin:0; }
.p-widget li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.p-widget a { text-decoration:none; } 

/* デフォルトのRSS */
.widget_rss .rss-widget-feed { display:none; }
.widget_rss .rss-widget-title { text-decoration: none; }
.widget_rss li { border-bottom:1px solid #ddd; margin:0 0 -1px 0; padding:20px 30px 15px; font-size:14px;}
.widget_rss li:last-of-type { border:none; }
.widget_rss ul li { padding:20px 0px; border-bottom:1px solid #ddd; margin-top:-1px; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.widget_rss ul li:not(:first-child) { border-top: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; padding:0 0 0 22px; position:relative; }
.widget_rss ul li .rss-date:before {font-family: 'design_plus';
  content: '\e94e';font-size:16px; position:absolute; top:-2px; left:0px; -webkit-font-smoothing: antialiased; }
.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; }
.widget_rss ul li .rssSummary { -ms-flex-order:4; order:4; color:#999; font-size:13px; margin: -0.35em 0; }
.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); }

/* デフォルトのタグ一覧 */
.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:#fff; padding:0px 20px; border-radius:5px; height:36px; line-height:36px; border: 1px solid #ddd;}
.widget_tag_cloud .tagcloud a:hover { background:#000; color:#fff; }

/* デフォルトの最近の記事 */
.widget_recent_entries li { border-bottom:1px solid #ddd; padding:0 0 15px 0; margin-bottom:15px; }
.widget_recent_entries li:last-child { border:none; padding:0; margin:0; }
.widget_recent_entries li a { display:block; }
.widget_recent_entries .post-date { position:relative; color:#999; font-size:14px; display:block; margin-top:3px; }
.widget_recent_entries .post-date:before {
  font-family:'design_plus'; content:'\e94e'; font-size:13px; display:inline-block; margin:0 7px 0 0; vertical-align:-1px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* デフォルトのカテゴリー */
.category_list_widget ul { margin:0; }
.category_list_widget ul ul { margin-left:1em; }
.category_list_widget ul li { margin:0; padding:0; line-height:1; }
.category_list_widget ul li a { display:block; line-height:1.6; padding:10px 0; }
.category_list_widget .widget_headline + ul { margin:-12px 0 -14px; }
.widget_categories ul { margin:0; }
.widget_categories ul ul { margin-left:1em; }
.widget_categories ul li { margin:0; padding:0; line-height:1; }
.widget_categories ul li a { display:inline-block; line-height:1.6; padding:10px 0; }
.widget_categories ul li { color:#999; }
.widget_categories .widget_headline + ul { margin:-12px 0 -14px; }



/* デフォルトの固定ページ */
.widget_pages ul { margin:0; }
.widget_pages ul ul { margin-left:1em; }
.widget_pages ul li { margin:0; padding:0; line-height:1; }
.widget_pages ul li a { display:block; line-height:1.6; padding:10px 0; }
.widget_pages .widget_headline + ul { margin:-12px 0 -14px; }


/* デフォルトのナビ　*/
.widget_nav_menu ul { margin:0; }
.widget_nav_menu ul ul { margin-left:1em; }
.widget_nav_menu ul li { margin:0; padding:0; line-height:1; }
.widget_nav_menu ul li a { display:block; line-height:1.6; padding:10px 0; }
.widget_nav_menu .widget_headline + ul { margin:-12px 0 -14px; }

/* デフォルトのコメントウィジェット */
.widget_recent_comments li { color:#999; }

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

/* デフォルトのブロック */
.widget_block { font-size:16px; line-height:1.6; }

/* デフォルトのメタウィジェット */
.widget_meta ul { margin-bottom:-8px; }

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 18px; font-size:16px; cursor:pointer;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -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;
	left:calc(100% - 50px); text-indent:-100vw;
}
.widget_archive .select_wrap,.widget_categories .select_wrap{
  position: relative;
}
.widget_archive .select_wrap:before, .widget_categories .select_wrap:before {
  font-family:'design_plus'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px;
  position:absolute; right:15px; top:25px;
}

/* カレンダー */
#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:12px 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 { display:block; padding:15px 10px; }
#wp-calendar tbody a { display:block; width:30px; height:30px; line-height:30px; border-radius:30px; margin:0 auto; text-decoration:none; background-color:#000; color:#fff; }
#wp-calendar td a:hover { text-decoration:none; color:#fff; background:#aaa; }
#wp-calendar #today { font-weight:600; }
.wp-calendar-nav { font-size:14px; padding:20px 0; width:100%; font-size:14px; }
.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; }


/* デフォルトのギャラリー */
.widget_media_gallery .gallery-caption {
  background-color:#000; color:#fff; font-size:12px; line-height:1.5; margin:0 0 2.5px; max-height:50%;  transform: translateY(50%);
  opacity:0; padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.widget_media_gallery .gallery-item { margin-top:0 !important; }
.widget_media_gallery .gallery-item img{border: none!important;}
.widget_media_gallery .gallery-caption:before { content: ""; height:100%; min-height:49px; position:absolute; top:0; left:0; width:100%;  }
.widget_media_gallery .gallery-item:hover .gallery-caption { opacity: .7; transition: all .25s ease; transform: translateY(0%);}



/* デザインされた記事一覧１ */
.styled_post_list1_widget { }
.styled_post_list1 { margin:0; padding:0; }
.styled_post_list1 li { margin:0 0 30px 0; padding:0 0 30px 0; background:none; border-bottom:1px solid #ddd; }
.styled_post_list1 li:last-child { border:none; padding:0; margin:0; }
.styled_post_list1 .image { float:left; display:block; margin:0 20px 0 0; overflow:hidden; width:100px; height:100px; position:relative; z-index:2; }
.styled_post_list1 .image img {
  width:100px; height:100px; -webkit-backface-visibility:hidden; backface-visibility:hidden; max-width:none;
  -webkit-transition: all 0.35s ease-in-out; -moz-transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
}
.styled_post_list1 .image:hover img {
  -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2);
}
.styled_post_list1 .info { }
.styled_post_list1 .title { font-size:14px; margin:0; padding:0; display:block; font-weight:400; line-height:1.8; }
.styled_post_list1 .date { margin:0 0 14.4px 0; position:relative; display:block; line-height:100%; color:#888;  font-family: 'Arial';}


/* タブ記事 */
.tab_post_list_widget .styled_post_list1 li { padding:20px 20px 20px; margin:0; }
.widget_tab_post_list_button a {
  display:inline-block; padding:15px 0; width:50%; text-align:center; border:1px solid #ddd; float:left; margin-bottom:-1px; position:relative; background:#f7f7f7; text-decoration:none;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.widget_tab_post_list_button a.tab1 { border-right:0; }
.widget_tab_post_list_button a.active { background:#fff; border-bottom:1px solid #fff;}
.widget_tab_post_list { border:1px solid #ddd; }
.widget_tab_post_list2 { display:none; }


/* 開閉式カテゴリー一覧 */
.tcdw_category_list_widget { border-bottom:none; }
.tcdw_category_list_widget .side_headline { margin:0; }
.tcdw_category_list_widget li { border-left:1px solid #ddd; border-right:1px solid #ddd; }
.collapse_category_list ul { margin:0; padding:0; }
.collapse_category_list li ul { margin:0; padding:0; }
.collapse_category_list li { margin:0; padding:0; }
.collapse_category_list li li { margin:0; padding:0; border-right: none; border-left: none;  }
.collapse_category_list li a {
  border-bottom:1px solid #ddd; display:block; padding:12px 20px; margin:0; text-decoration:none; position:relative; color:#333; overflow:hidden;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none;
}
.collapse_category_list li a .count { float:right; top:0px; position:relative; background:#f2f2f2; padding:0 10px; min-width:15px; text-align:center; font-size:11px; border-radius:2px; }
.collapse_category_list li li a .count { background:#ccc; color:#fff; }
.collapse_category_list li li li a .count { }
.collapse_category_list .parent_category a.active { margin:0; }
.collapse_category_list .children { display:none; margin-top:-4px; }
.collapse_category_list .children a { padding-left:22px; margin:0; background:#f6f6f6; }
.collapse_category_list ul .children a { padding-left:33px; }
.collapse_category_list li a:hover { background:#e2e2e2; }
.collapse_category_list li a:hover .count { background:#000; color:#fff; }


/* 検索 */
.widget_search label { display:none; }
.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:calc(100% - 40px); height:40px; margin:0; border:none; background:#f2f2f2; padding:0 10px; }
.widget_search #search-btn input, .widget_search #searchsubmit { border:none; width:40px; height:40px; background:#000 url(https://shin-yu.net/wp-content/themes/unique_tcd044/img/common/icon_search.png) no-repeat center; cursor:pointer; display:block; float:right; text-indent:-300%; overflow:hidden; }
.side_widget.google_search #searchsubmit { font-family: 'design_plus'; color:#ddd; font-size:18px; border:none; width:40px; height:40px; background:#222; cursor:pointer; display:block; float:right; overflow:hidden; }
.widget_search #search-btn input:hover, .widget_search #searchsubmit:hover, .side_widget.google_search #searchsubmit:hover { background-color:#666; }
.pc .three_column .widget_search #search-box, .pc .three_column .widget_search #s, .pc .three_column .side_widget.google_search #s { width:176px; }


/* アーカイブ、カテゴリードロップダウンメニュー */
/*
.widget_archive, .widget_categories, .tcdw_archive_list_widget { background:#fff; padding:17px 17px 15px; }
.widget_archive { border:1px solid #ddd; border-bottom:none; padding:17px 0 0; }
.widget_archive ul  { margin:0; padding:0; }
.widget_archive ul li {
  border-bottom:1px solid #ddd; margin:-17px 0 15px; display:block; padding:12px 17px; margin:0; text-decoration:none; position:relative; color:#333; overflow:hidden;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none;
}
.widget_archive .side_headline, .widget_categories .side_headline, .tcdw_archive_list_widget .side_headline { margin:-17px -17px 15px; position:relative; }
.widget_archive .side_headline { margin:-17px 0 0; }
.widget_archive select, .widget_categories select, .tcd_archive_dropdown select { border:1px solid #ddd; padding:12px 10px; width:100%; margin:0; font-size:14px; }
.widget_archive select { border:none; border-bottom:1px solid #ddd; padding:12px; }
.widget_archive label, .widget_categories label { display:none; }
.widget_archive select option, .widget_categories select option, .tcd_archive_dropdown option { background:#fff; color:#333; }


/* デフォルトの最近の記事 */
/*.widget_recent_entries li { border-bottom:1px dotted #ccc; padding:0 0 15px 0; }
.widget_recent_entries li:last-child { border:none; padding:0; }


/* 制作実績 */
.work_list_widget { overflow:hidden; }
.work_list_widget .side_headline { margin-bottom:5px; }
.work_list_widget ol { position:relative; }
.work_list_widget li { float:left; margin:0 2% 2% 0; padding:0 !important; width:32%; height:32%; overflow:hidden; }
.work_list_widget li:nth-child(3n) { margin-right:0; }
.work_list_widget .image { display:block; }
.work_list_widget .image img { display:block; max-width:initial; width:100%; height:auto; }




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { font-size:12px; margin:0; }
#comment_headline { height:50px; line-height:50px; font-size:14px; margin:0 0 25px 0; padding:0 25px; background:#000; color:#fff; }
#comment_area, #trackback_area { margin:15px 0 20px; padding:0 0 5px 0; }
#trackback_area { display:none; }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 25px; }
#comment_header ul { margin:0; }
#comment_header ul li { float:left; text-align:center; margin:0; width:50%; }
#comment_header ul li a, #comment_header ul li p { font-size:11px; padding:15px 15px; line-height:180%; display:block; color:#333; text-decoration:none; border:1px solid #ccc; }
#comment_header ul li a:hover { color:#fff !important; background:#333; }
#comment_header ul li.comment_switch_active a, #comment_header #comment_closed p { color:#fff; position:relative; background:#333; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { position:absolute; bottom:-17px; left:195px; content:""; width:0; height:0; border-width:10px; border-style:solid; border-color:#333 transparent transparent transparent; }


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


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

.comment-meta-left { float:left; width:400px; }
#comments .avatar { float:left; margin:0 10px 0 0; background:#fff; width:40px; height:40px; }
.comment-name-date { padding:3px 0 0 0; height:37px; }

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

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

.comment-act { background:url(https://shin-yu.net/wp-content/themes/unique_tcd044/img/common/arrow3.gif) no-repeat left; font-size:11px; position:absolute; right:0px; padding:0 0 0 10px; margin:5px 0 0 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; }


/* コメント本文 */
#comments .post_content p { margin:0 0 15px 0; }
#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; }


/* トラックバック */
.trackback_time { font-size:11px; color:#757676; margin:0 0 7px 0px; }
.trackback_title { margin:2px 0 8px 0; margin:0 0 10px 0px; line-height:160%; }

#trackback_url_area { margin:0; }
#trackback_url_area label { display:block; margin:0 0 10px 0; font-size:11px; }
#trackback_url_area input { border:1px solid #ccc; background:#fafafa; padding:10px; width:100%; font-size:11px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }


/* ページナビ */
#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 { border:1px solid #ccc; margin:0 0 0px; padding:15px; background:#fff; }
.comment .comment_form_wrapper { margin:0 0 20px; }

#cancel_comment_reply  { background:url(https://shin-yu.net/wp-content/themes/unique_tcd044/img/common/arrow3.gif) no-repeat left center; margin:0 0 1em 0; padding:0 0 0 10px; }

#comment_user_login p { padding:0 0 0 1px; margin:0; line-height:100%; }
#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:100%; }
#comment_login a { margin:0 0 0 20px; padding:0 0 0 20px; background:url(https://shin-yu.net/wp-content/themes/unique_tcd044/img/common/arrow3.gif) no-repeat 10px 3px; }

#guest_info { padding:0; width:100%; }
#guest_info div { margin:0 0 12px 0; text-align:left; }
#guest_info input { margin:0; padding:5px 0; border:1px solid #ccc; width:100%; background:#fff; color:#777; }
#guest_info input:focus { border:1px solid #e48898; }
#guest_info label { display:block; margin:0 0 5px 0; padding:0 0 0 0; font-size:11px; color:#888;}
#guest_info span { color:#666; margin:0 10px 0 0; }

#comment_textarea textarea { margin:15px 0 0; width:100%; height:150px; border:1px solid #ccc;
                             background:#fff; color:#777; font-size:11px; overflow:auto; }
#comment_textarea textarea:focus { border:1px solid #e48898; }

#submit_comment_wrapper { text-align:center; }
#submit_comment {
  background:#aaa; border:none; cursor:pointer; color:#fff; font-size:14px; width:200px; height:50px; margin:15px auto 0; display:block;
  -webkit-transition: background-color 200ms ease-in-out; -moz-transition: background-color 200ms ease-in-out; -o-transition: background-color 200ms ease-in-out; -ms-transition: background-color 200ms ease-in-out; transition: background-color 200ms ease-in-out;
}
#submit_comment:hover { background:#e48898; }

#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:160%; }

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

.entry-date {
  font-family: 'Arial';
}


/* スクロール */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 60px;
}
html:has(.fix_top) {
	scroll-padding-top: 160px;
}
html:has(.fix_top.header_fix) {
	scroll-padding-top: 100px;
}
@media (max-width: 1199px) {
  html {
	scroll-padding-top: 20px !important;
}
	html:has(.mobile_header_fix) {
		scroll-padding-top: 70px !important;
	}
  	html:has(.mobile_header_fix.header_fix) {
		scroll-padding-top: 70px !important;
	}
}

body.single-post .flex_layout {
  display: flex;
  gap: 50px;
}

body.single-post.layout2 #left_col {
  order:2;
}

body.single-news .flex_layout {
  display: flex;
  gap: 50px;
}

body.single-news.layout2 #left_col {
  order:2;
}

body.page-template-default  .flex_layout {
  display: flex;
  gap: 50px;
}

body.page-template-default.layout2  #left_col {
  order: 2;
}

body.page-template-page-notitle  .flex_layout {
  display: flex;
  gap: 50px;
}

body.page-template-page-notitle.layout2  #left_col {
  order: 2;
}

.work_info  {
    line-height: 2.3;
    margin: 0 0 2em 0;
}

/* table */
.post_content table { margin:0 0 24px 0; width:100% !important; }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px; line-height:2.2; background:#fff; }
.post_content th { background:#ddd; font-weight:normal; }
/* table style */
.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }
.post_content table.table_border_horizontal th, .post_content table.table_border_horizontal td { border-left:none; border-right:none; padding-left:0; }

.rich_font_logo:hover {
  text-decoration: none !important;
}
/* ===== tcd-classic-editor（抜粋） ===== */

/* tcd-classic-editor 抜粋（本番の computed style を実測して再現） */
.tcdce-body, .tcdce-body * { box-sizing: border-box; }
/* container-type は見た目の指定に見えて必須。
   親の .box_list .box_inner .content は position:absolute の shrink-to-fit で、
   inline-size containment があると .tcdce-body の中身が親の幅計算に寄与しない。
   これを落とすと書籍紹介文の折り返し位置が変わる */
.tcdce-body { position: relative; container: tcdce / inline-size; }
.tcdce-body p { font-size: 14px; line-height: 21px; margin: -3.5px 0; }
.tcdce-body strong, .tcdce-body b { font-weight: 700; }

/* ===== フォント変数 ===== */
:root {
  --tcd-font-type1: Arial,"Hiragino Sans","Yu Gothic Medium","Meiryo",sans-serif;
  --tcd-font-type2: "Times New Roman",Times,"Yu Mincho","游明朝","游明朝体","Hiragino Mincho Pro",serif;
  --tcd-font-type3: Palatino,"Yu Kyokasho","游教科書体","UD デジタル 教科書体 N","游明朝","游明朝体","Hiragino Mincho Pro","Meiryo",serif;
  --tcd-font-type-logo: "Noto Sans JP",sans-serif;
}
/* ===== responsive.css ===== */
@charset "utf-8";

@media only screen and (max-width: 767px) {
	body { min-width:0; }
}
	
/* レイアウト */
@media only screen and (max-width: 991px) {
	#header { height:56px; width:100%; min-width:0; position:relative; left:0px; top:0px; z-index:100; margin:0; }
	#header_inner { height:auto; width:100%; height:56px; margin:0; position:relative; }
	.home #header_inner { height:56px; }
	.mobile .mobile_header_fix #header { position:fixed; }
	.home #header { position:absolute; background:#262e31; }

	#left_col { width:auto; float:none; padding:0 0 30px 0; }
	#side_col { width:auto; float:none; padding:0 0 10px 0; }
}
@media only screen and (max-width: 767px) {
	#main_contents { width:auto; margin:0 auto; padding:0; }
	.mobile_header_fix #main_contents { padding-top:56px; }
	.home.mobile_header_fix #main_contents { padding-top:0px; }
	#main_col { width:auto; margin:20px auto 20px; padding:0 20px; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }
	
	.page-template-page-noside #main_col, .page-template-page-noside-notitle #main_col, .error404 #main_col { width:auto; float:none; margin:0 auto; }
	.page #main_col { margin-top:15px; padding-top:15px; }
}



/* ----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.home #top { min-width:0; }
}

/* スライダー */
@media only screen and (max-width: 767px) {
	#header_slider { min-width:0; }
	#header_slider .image { display:none; }
	#header_slider { min-width:0; height:550px; }
	#header_slider .item { height:550px; }
    #header_slider .item img { display:none; }
	#header_slider .owl-dots { bottom:20px; }
}
@media screen and (max-width:767px) {
  #header_slider { height:450px; }
  #header_slider .item { height:450px; }
  #header_slider .item img { display:none; }
}

/* スライダーのキャッチコピー */
@media only screen and (max-width:767px) {
	#header_slider .caption, #header_video .caption, #header_youtube .caption {
  	width:100%; padding:0 50px;
  	-moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
	#header_slider .caption .title, #header_video .caption .title, #header_youtube .caption .title {
  	font-size:34px !important; line-height:1.13; margin-bottom:10.3px;
	}
	#header_slider .caption .desc, #header_video .caption .desc, #header_youtube .caption .desc {
		font-size:18px!important; line-height:1.5;
	}
	#header_slider .caption .button, #header_video .caption .button, #header_youtube .caption .button {
 		margin-top:5px; padding:0 30px; height:45px; line-height:45px;
	}
}


/* 動画 */
@media only screen and (max-width: 767px) {
	#header_video { min-width:0; }
}


/* Youtube 動画 */
@media only screen and (max-width: 767px) {
	#header_youtube { min-width:0; }
}


/* コンテンツビルダー */
@media screen and (max-width:767px) {
  .box-sizer { width:100%; }
  .box_list .box { width:100%; }
  .box_list .box2 { width:100%; }
  .box_list .box:before { display:none; }
  .box_list .box2:before { display:none; }
  .box_list .box_inner { position:relative; top:0; left:0; bottom:0; right:0; }
  .box_list .box_inner .content {
    padding:30px;
    position:relative; top:0; -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%);
  }
  .index_recent_post .box_inner .content { padding:100px 30px 80px; }
  .content_box .box_inner .content { padding:50px 30px; }
  .box_list .image_box a, .box_list .image_box .image_content { height:500px; background:none; }
  .box_list .headline { width:70px; height:70px; line-height:70px; font-size:12px; }
	.box_list .link_button a { font-size:12px; }
	.box_list .catch { line-height:1.4; margin-bottom:13px; }
}
@media screen and (max-width:767px) {
  .box_list .image_box a, .box_list .image_box .image_content { height:350px; }
}




/* ----------------------------------------------------------------------
 制作実績一覧
---------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.work_list .box { width:50%; }
	/*.work_list .title { -webkit-transform: translate3d(0,1px,0); transform: translate3d(0,1px,0); }*/
	.work_list .title, .work_list .content:hover .title { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
	.work_list .box { margin-top:-1px; }
	.work_list .title a { background:rgba(0,0,0,0.5); padding:10.8px; }
	.work_list .image img { opacity:1; }
	.work_list .category a { width:100px; height:30px; line-height:30px; padding:0; text-align:center; }
}

@media screen and (max-width:550px) {
  .work_list .box { width:100%; }
}

/* ソートボタン */
@media only screen and (max-width: 767px) {
	#work_sort_list {
 		min-width:0; height:auto; padding:15px 20px;
  	-moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
	#work_catgory_sort { margin:0 auto; width:100%; text-align:center; }
	#work_catgory_sort li { display:inline; margin:0 15px; }
	#work_catgory_sort li a { font-size:12px; display:inline-block; color:#fff; text-decoration:none; text-align:center; height:30px; line-height:30px; }
}

/* ----------------------------------------------------------------------
 製作実績ページ
---------------------------------------------------------------------- */
/* 詳細ページ　右側 */
@media only screen and (max-width: 767px) {
	#work_side_content { margin:0 0 30px 0; }
	#work_button { text-align:center; }
}


/* 詳細ページ　ナビゲーション */
@media only screen and (max-width: 767px) {
	#work_navigation a { width:calc(100% * 133 / 360); height:40px; line-height:40px;  font-size:11px; }
	#work_navigation a.archive_link { width:35px; overflow:hidden; }
	#work_navigation a.archive_link:before { top:1px; left:6px; font-size:24px; }
	#work_navigation a.prev { margin:0 5px 0 0; }
	#work_navigation a.next { margin:0 0 0 5px; }
	#work_navigation a.prev:before { top:1px; left:10px; }
	#work_navigation a.next:before { top:1px; right:10px; }
}



/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* 見出し */
@media only screen and (max-width: 767px) {
	#page_header { text-align:center; margin:0 0 30px 0; margin-bottom:22px; }
  #page_header .headline { font-size: 40px!important; }
	#page_header .desc { margin-bottom:0; }	
	#page_header .headline {
		line-height: 1.5;
	}
}

/* キャッチフレーズ */
@media only screen and (max-width: 767px) {
	#page_header .catch_headline { font-size:20px!important; line-height:1.5; margin-bottom:16.6px; margin-top:15.9px; }
	#page_header .catch_desc { font-size:14px!important; text-align:left; line-height:2.2; }
}


/* ブログ記事一覧 */
@media only screen and (max-width: 767px) {
	#blog_list { margin:0 0 50px 0; }
	#blog_list li { width:50%; margin-top:-1px; }
	#blog_list .title {
  	padding:15px 20px; background:rgba(0,0,0,0.5);
  	-webkit-transform: translate3d(0,0px,0); transform: translate3d(0,0px,0);
	}
	#blog_list .category { top:-1px; }
	#blog_list .title h2 { font-size:12px; }
	#blog_list .title .date { color:#bbb; font-size:11px; }
	#blog_list .image img { opacity:1; }
}

@media screen and (max-width:550px) {
  #blog_list li { width:100%; }
}


/* ページング */
@media only screen and (max-width: 767px) {
	.page_navi { margin:0 0 10px 0; }
	.archive.category .page_navi { margin:0 0 50px 0; }
}




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
@media only screen and (max-width: 767px) {
	#news_list { font-size:0; margin: 0 0 20px 0; 
		display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
 	 	-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
	}
	#news_list li {
	  display:inline-block; vertical-align:top; border:1px solid #ddd; margin:0 10px 20px 0; font-size:12px;
	  width:50%; width:-webkit-calc(100% / 2 - 10px); width:-moz-calc(100% / 2 - 10px); width:calc(100% / 2 - 10px);
	  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
	#news_list li .image { width:100%; height:auto; float:none; background:none; }
	#news_list li .image img { opacity:1; }
	#news_list li .title { height:auto; padding:20px; margin:0; width:100%; display:block; }
	#news_list li .title time { font-size:11px; }
	#news_list li .title h2 { font-size:14px; }
	#news_list .title-inner { display:block; }
}
@media screen and (max-width:550px) {
  #news_list li { width:100%; margin-right:0; }
}


/* 詳細ページ */
@media only screen and (max-width: 767px) {
	#archive_news_list { position:relative; }
	#archive_news_list .headline { background:#000; color:#fff; height:50px; line-height:50px; padding:0 25px; margin:40px 0 25px 0; }
	#archive_news_list .archive_link { position:absolute; top:19px; right:25px; color:#fff; padding:0 25px 0 0; }
	#archive_news_list .archive_link:before {
	  content:''; width:15px; height:20px;
	  font-family:'design_plus'; color:#fff; font-size:16px; display:block;
	  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	  content:'\e910'; position:absolute; top:0px; right:0px;
	}
	#archive_news_list li { border:1px solid #ccc; margin:0 0 -1px 0; }
	#archive_news_list li a { display:block; padding:25px; text-decoration:none; color:#333;}
	#archive_news_list li a .entry-date { display:block; margin:0 0 10px 0; font-size:12px; color:#aaa; }
	#archive_news_list li a:hover { background-color:#f6f6f6; }
}



/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
/* PCのスタイルをリセット　iPadの回転対策 */
@media only screen and (max-width: 991px) {
	.pc #header_logo #logo_text, .pc #header_logo #logo_image { width:auto; }
}


/* メニューボタン */
@media only screen and (max-width: 991px) {
	a.menu_button {
	   position:absolute; right:0px; top:0; z-index:9;
	   display:inline-block; font-size:11px; color:#333; width:56px; height:56px; line-height:56px; text-decoration:none;
	}
	a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
	a.menu_button:before {
	  font-family:'design_plus'; color:#fff; display:block; position:absolute; top:17px; left:0; right:0; margin:auto;
	  font-size:18px; width:24px; height:24px; line-height:24px; text-align:center;
	  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	}
	a.menu_button:before { content:'\f0c9'; }
	a.menu_button:hover, a.menu_button.active { background:#333; }
	a.menu_button:hover:before, a.menu_button.active:before { color:#fff; }
}

/* グローバルメニュー */
@media only screen and (max-width: 991px) {
	#global_menu { display:none; clear:both; width:100%; margin:0; top:56px; position:absolute; z-index:9; box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); }
	#global_menu ul { margin:0; }
	#global_menu ul ul { display:none; }
	#global_menu a {
	  position:relative; display:block;  margin:0; padding:0px 15px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
	  color:#fff; background:#333; font-size:13px;
	  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
	#global_menu a:hover { color:#fff; }
	#global_menu ul ul a { padding-left:28px; background:#222; }
	#global_menu ul ul ul a { padding-left:42px; background:#111; }
	#global_menu ul ul ul ul a { padding-left:55px; background:#000; }
	#global_menu li.menu-item-has-children { position:relative; }
	#global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:9; cursor:pointer;  }
	#global_menu .child_menu_button .icon:before {
	  content:'+'; font-size:13px; color:#aaa; text-align:center;
	  display:block; width:20px; height:20px; line-height:20px; border:1px solid #555; border-radius:100%;
	  position:absolute; left:20px; top:15px;
	}
	#global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
	#global_menu li.menu-item-has-children.open > .child_menu_button .icon:before { content:'-'; }
	#global_menu li.menu-item-has-children.open > ul { display:block; }
}

/* ロゴ */
@media only screen and (max-width: 991px) {
	#logo_text { margin:0 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }
	#logo_text {
		display: flex;
		align-items: center;
		height: 100%;
	}
	#logo_text h1 { font-weight:normal; height:56px; line-height:56px; }
	#logo_text a { text-decoration:none; display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }
	#logo_text a:hover { text-decoration:underline; }
	#logo_image { position:absolute; left:15px; top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); }
	#logo_image img.pc_logo_image { display:none; }
	#logo_image img.mobile_logo_image { display:block; }
	#logo_text_fixed, #logo_image_fixed { display:none; }
}

/* パンくずリンク */
@media only screen and (max-width: 767px) {
	#bread_crumb { background:#f6f6f6; margin:0; height:auto; line-height:180%; min-width:0px; padding:10px 20px; }
	#bread_crumb ul { width:auto; margin:0 auto; line-height:1.4; }
	#bread_crumb li { line-height:inherit; }
	#bread_crumb li.home a:before { top:2px; left:0px; height:inherit; line-height:inherit; }
}




/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
/* 記事タイトル */
@media only screen and (max-width: 767px) {
	#post_title { font-size:20px!important; margin-bottom:16.7px; }
	#post_image { margin: 0 -20px 25.8px; }
}


/*  記事本文*/
@media only screen and (max-width: 767px) {
	.post_content { margin:0; }
	.post_content p { line-height:2.2; }
	.post_content td, .post_content th { padding-top:0; padding-bottom:0; }
}


/* SNSボタン */
@media only screen and (max-width: 767px) {
	#single_share_top { margin:-5px 0 10px; }
	#single_share_top #share_top1 { padding-top:0; }
}


/* メタ情報 */
@media only screen and (max-width: 767px) {
	#post_meta_bottom { margin:0 0 20px 0; background:#fafafa; padding:15px; }
	#post_meta_bottom li { display:block; margin:0 0 10px 0; border:none; font-size:12px; line-height:160%; }
	#post_meta_bottom li:last-child { border:none; margin:0; }
	#post_meta_bottom li.post_category:before { top:0px; left:0px; }
	#post_meta_bottom li.post_tag:before { top:2px; left:0px; }
	#post_meta_bottom li.post_author:before { top:0px; left:0px; }
	#post_meta_bottom li.post_comment:before { top:0px; left:0px; }
}

/* 次の記事、前の記事 */
@media only screen and (max-width: 767px) {
	#previous_next_post { margin:0 0 30px 0; }
	#previous_next_post .prev_post a { padding-right:0; padding-left:12.5%; padding-left:10px; }
	#previous_next_post .next_post a { padding-left:0; padding-right:12.5px; padding-right:10px; }
	#previous_next_post a { display:block; height:52px; line-height:50px; font-size:12px; }
	#previous_next_post a { text-align:center; }
	#previous_next_post .prev_post a:before { left:12.5%; left:10px;  }
	#previous_next_post .next_post a:before { right:12.5%; right:10px; }
	#previous_next_post .prev_post a:before, #previous_next_post .next_post a:before { height:50px; line-height:50px; }
}

/* 広告 */
@media only screen and (max-width: 767px) {
	#single_banner_area { margin:0 0 15px 0; text-align:center; }
	#single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
	#single_banner_area .single_banner_right { float:none; padding:0 0 15px 0; margin:0 auto; }
	#single_banner_area img { max-width:100%; height:auto; display:inline; }
}

/* 広告2 */
@media only screen and (max-width: 767px) {
	#single_banner_area_bottom { margin: -20px 0 0; text-align:center; }
	#single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
	#single_banner_area_bottom .single_banner_right { float:none; padding:0; margin:0 auto; }
	#single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }
}

/* 広告（ショートコードver） */
@media only screen and (max-width: 767px) {
	#single_banner_area2 { margin:0 0 15px 0; text-align:center; }
	#single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
	#single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; margin:0 auto; }
	#single_banner_area2 img { max-width:100%; height:auto; display:inline; }
}

/* 関連記事 */
@media only screen and (max-width: 767px) {
	#related_post { overflow:hidden; }
	#related_post li { margin-right:calc(100% * 16 / 316); width: calc(100% * 150 / 316);
	}
	#related_post li:nth-child(even) { margin-right:0; }
	#related_post li .image { margin:0 0 15px 0; display:block; width:100%; height:auto; }
	#related_post li .image img {
	  /* スマホではhoverが効かないためアニメーションは無効にして、height:auto;が有効になるように以下を設定する */
	  width:100% !important; height:auto !important;
	  -webkit-transform:none !important; -webkit-transition-property:none !important; -webkit-transition:0 !important;
	  -moz-transform:none !important; -moz-transition-property:none !important; -moz-transition:0 !important;
	  -ms-transform:none !important; -ms-transition-property:none !important; -ms-transition:0 !important;
	  -o-transform:none !important; -o-transition-property:none !important; -o-transition:0 !important;
	  transform:none !important; transition-property:none !important; transition:0 !important;
	}
}



/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	#comment_headline { margin:0 0 15px 0; }
	#comment_area, #trackback_area { margin:15px 0px 0; }
}


/* コメント・トラックバックのタブ */
@media only screen and (max-width: 767px) {
	#comment_header { position:relative; margin:0 0 15px; }
	#comment_header ul { margin:0; }
	#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }
}
@media screen and (max-width:500px) {
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
}


/*  コメントの基本部分 */
@media only screen and (max-width: 767px) {
	.comment { padding:10px 10px 0; }
}


/* コメントの情報部分 */
@media only screen and (max-width: 767px) {
	.comment-meta-left { float:left; width:100%; }
}


/* フォーム部分 */
@media only screen and (max-width: 767px) {
	.comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (max-width: 991px) {
	#footer_top { min-width:0; background:#f9f9f9; }
	#footer_top_inner { width:100%; margin:0; padding:0; }
	#footer_menu_widget_area, .no_footer_menu #footer_menu_widget_area {
	  float:none; width:100%; padding:30px 20px 20px; 
	  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
}
@media only screen and (max-width: 767px) {
	#footer_menu_widget_area { display:block; }
}

/* 住所 */
@media only screen and (max-width: 991px) {
	#footer_address .logo img { margin: 0 auto; }
	#footer_address, .no_footer_menu #footer_address {
	  float:none; width:100%; margin:0; text-align:center; padding:30px 20px 0;
	  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
}

/* SNSボタン */
@media only screen and (max-width: 991px) {
	#footer_social_link { text-align:center; height:50px; }
	#footer_social_link li { display:inline-block; float:none; margin:0 5px 0 0; position:relative; }
	#footer_social_link li:before { color:#333; }
}

/* メニュー */
@media only screen and (max-width: 991px) {
	#footer_menu { margin:0 0 30px 0; padding:0 0 10px 0; float:none; width:100%; font-size:0; }
	#footer_menu.has_two_menu .footer_menu { width:45%; margin:0 20px 0 0; }
	#footer_menu.has_two_menu .footer_menu:last-child { margin:0; }
}

@media only screen and (max-width: 767px) {
	#footer_menu { border-bottom:1px solid #ccc; }
}


/* ウィジェット */
@media only screen and (max-width: 991px) {
	#footer_left_widget { float:none; width:100%; margin:0 0 30px 0; }
	#footer_right_widget { float:none; width:100%; }
	.no_footer_menu #footer_left_widget { float:none; width:100%; }
	.footer_headline { font-size:16px; margin-bottom:14px; }
}

/* フッター下部 */
@media only screen and (max-width: 991px) {
	#footer_bottom { width:100%; min-width:0; height:auto; }
	#footer_bottom_inner { width:100%; margin:0 auto; height:auto; position:relative; background:#f9f9f9; }
}


/* フッター下部のメニュー */
@media only screen and (max-width: 767px) {
	#footer_menu_bottom { float:none; margin:0; text-align:center; }
	#footer_menu_bottom li { float:none; display:inline; font-size:12px; margin:0; padding:0; border-right:1px solid #ccc; }
	#footer_menu_bottom li:last-child { border:none; margin:0; }
	#footer_menu_bottom li a { display:inline-block; color:#333; padding:10px; }
}

/* コピーライト */
@media only screen and (max-width: 991px) {
	#copyright {
  	background:#262e31; height:60px; line-height:60px; font-size:12px; color:#fff; text-align:center; padding:0 10px; width:100%;
  	-moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
	}
	#copyright a { color:#fff; }
}

/* ページ上部へ戻るボタン */
@media only screen and (max-width: 991px) {
	#return_top {
	  position:fixed; right:0px; bottom:0px; z-index:999;
	  -webkit-transform: translate3d(0,120%,0); transform: translate3d(0,120%,0);
	  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
	}
	#return_top.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
	#return_top a { position:relative; display:block; height:60px; width:60px; text-decoration:none; background:rgba(0,0,0,0.5); }
	#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
	#return_top a:before {
	  font-family:'design_plus'; color:#fff; font-size:18px; display:block; position:absolute; width:23px; height:23px;
	  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	}
	#return_top a:before { content:'\e911'; top:22px; left:21px; }
}

/* 固定フッターが有効時、モバイルデバイス調整用 */
@media only screen and (max-width: 767px) {
	body.mobile_device { padding-bottom:65px; }
	body.mobile_device #return_top.active { -webkit-transform: translate3d(0,-65px,0); transform: translate3d(0,-65px,0); }
}



/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
@media only screen and (max-width: 767px) {
	.side_widget { margin:0 0 30px 0; font-size:12px; position:relative; }
	.side_widget:last-child, .side_widget:only-child  { margin:0; }
	.side_widget .styled_post_list1 li { border-bottom:none; margin-bottom:16px; padding-bottom:0; }
	.side_widget .styled_post_list1 li:last-child { margin-bottom:0; }
	.side_widget .styled_post_list1 .date { font-size:10px; margin-bottom:8.4px; }
	.side_widget .styled_post_list1 .title { font-size:12px; line-height:1.6; }
}


/* search */
@media only screen and (max-width: 767px) {
	.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:75%; height:40px; margin:0 0 5px 0; }
	.widget_search #search-btn input, .widget_search #searchsubmit, .side_widget.google_search #searchsubmit { width:25%; }
}


/* プロジェクト */
@media only screen and (max-width: 991px) {
	.work_list_widget li {
		width:80px; height:80px; margin:0 5px 5px 0;
	}
}
@media only screen and (max-width: 767px) {
	#work_title { font-size:18px; line-height:1.4; margin-bottom:19.2px; }	
	#work_side_content .category a { margin-bottom:27.4px; }
	.work_list_widget li, .footer_widget .work_list_widget li { margin: 0 2% 2% 0; width:32%; height:32%; }
	.work_list_widget .image { width:100% !important; height:auto !important; }
	.work_list_widget .image img {
	  /* スマホではhoverが効かないためアニメーションは無効にして、height:auto;が有効になるように以下を設定する */
	  width:100% !important; height:auto !important;
	  -webkit-transform:none !important; -webkit-transition-property:none !important; -webkit-transition:0 !important;
	  -moz-transform:none !important; -moz-transition-property:none !important; -moz-transition:0 !important;
	  -ms-transform:none !important; -ms-transition-property:none !important; -ms-transition:0 !important;
	  -o-transform:none !important; -o-transition-property:none !important; -o-transition:0 !important;
	  transform:none !important; transition-property:none !important; transition:0 !important;
	}
}

@media only screen and (max-width:767px) {
body.single-post .flex_layout {
  display: block;
}

body.page-template-default .flex_layout {
  display: block
}

body.page-template-page-notitle .flex_layout {
  display: block
}

body.single-news .flex_layout {
display: block;
}

}
/* ===== テーマ設定 ===== */
body, input, textarea { font-family: var(--tcd-font-type1); }

.rich_font { font-family: var(--tcd-font-type1); }


.rich_font_logo { font-family: var(--tcd-font-type-logo); font-weight: bold !important;}

body { font-size:15px; }



#post_title { font-size:30px; }
.post_content { font-size:15px; }
.post_content a, .post_content a:hover, .custom-html-widget a, .custom-html-widget a:hover { color: #00C0DE; }

.styled_post_list1 .image, #related_post li .image, .work_list_widget .image, #blog_list .image {
  background: #FFFFFF;
}
#related_post li a.image img, .styled_post_list1 .image img, #recent_news .image img, .work_list_widget .image img, #blog_list .image img {
  -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transition-property: opacity; -webkit-transition: 0.5s;
  -moz-transition-property: opacity; -moz-transition: 0.5s; -ms-transition-property: opacity; -ms-transition: 0.5s; -o-transition-property: opacity; -o-transition: 0.5s; transition-property: opacity; transition: 0.5s;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
}
#related_post li a.image:hover img, .styled_post_list1 .image:hover img, #recent_news .image:hover img, .work_list_widget .image:hover img, #blog_list .image:hover img {
  opacity: 0;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
}
#header, .pc #global_menu ul ul a, #footer_bottom, #related_post .headline, #comment_headline, .side_headline, .mobile #copyright, .mobile .home #header, #archive_news_list .headline
  { background-color:#242973; }

.page_navi .current { background-color:#242973!important; border-color:#242973!important; }
.page_navi .current + .page-numbers { border-left-color:#242973; }


.header_fix #header, .pc .header_fix #global_menu ul ul a, .mobile .header_fix #header
  { background-color:rgba(36,41,115,1); }

#header a, mobile a.menu_button:before
  { color:#FFFFFF; }

#footer_bottom, #footer_bottom a
  { color:#FFFFFF; }

.pc #global_menu ul ul li.menu-item-has-children > a:before
  { border-color:transparent transparent transparent #FFFFFF; }

.pc #global_menu ul ul a:hover
  { color:#fff; }

.pc #global_menu ul ul li.menu-item-has-children > a:hover:before
  { border-color:transparent transparent transparent #fff; }

a:hover, .pc #header .logo a:hover, #comment_header ul li a:hover, .pc #global_menu > ul > li.active > a, .pc #global_menu li.current-menu-item > a, .pc #global_menu > ul > li > a:hover, #header_logo .logo a:hover, #bread_crumb li.home a:hover:before, #bread_crumb li a:hover, .color_headline, #footer_bottom a:hover
  { color:#00C0DE; }
.index_recent_post li a:hover { color:#00C0DE!important; }

#return_top a:hover, .next_page_link a:hover, .collapse_category_list li a:hover .count, .slick-arrow:hover, .page_navi a:hover, .page_navi p.back a:hover, .mobile #global_menu li a:hover,
  #wp-calendar td a:hover, #wp-calendar #prev a:hover, #wp-calendar #next a:hover, .widget_search #search-btn input:hover, .widget_search #searchsubmit:hover, .side_widget.google_search #searchsubmit:hover,
    #submit_comment:hover, #comment_header ul li a:hover, #comment_header ul li.comment_switch_active a, #comment_header #comment_closed p, #post_pagination a:hover, a.menu_button:hover,
      #work_navigation a:hover, #work_side_content a:hover, #work_button a:hover, #blog_list .category a:hover, #post_meta_top .category a:hover, .work_list .category a:hover, .box_list .link_button a:hover
        { background-color:#00C0DE; }

.pc #global_menu ul ul a:hover, .index_news_list a.archive_link:hover
  { background-color:#00C0DE; }

#comment_textarea textarea:focus, #guest_info input:focus, #comment_header ul li a:hover, #comment_header ul li.comment_switch_active a, #comment_header #comment_closed p, .page_navi .page-numbers:hover
  { border-color:#00C0DE; }
.page_navi .page-numbers:hover + .page-numbers { border-left-color:#00C0DE; }

#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after
  { border-color:#00C0DE transparent transparent transparent; }

.collapse_category_list li a:before
  { border-color: transparent transparent transparent #00C0DE; }

#header_slider .slick-dots button:hover::before, #header_slider .slick-dots .slick-active button::before { background:#00C0DE; }
#site_loader_spinner { border:4px solid rgba(36,41,115,0.2); border-top-color:#242973; }
@media only screen and (max-width: 767px) {
  body.mobile_device { padding-bottom:0; }
  body.mobile_device #return_top.active { -webkit-transform: translate3d(0,-0,0); transform: translate3d(0,0,0); }
}

p { line-height:1.5 !important; }

/*YouTubeレスポンシブサイズ*/
.youtube {
    position: relative;
    max-width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/*YouTubeレスポンシブサイズ2*/
.youtube2 {
    position: relative;
    max-width: 100%;
    padding-top: 100%;
}
.youtube2 iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;

    width: 100%;
    height: 100%;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 600px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/* 全幅 */
.my-allwidth-image {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.grecaptcha-badge { visibility: hidden; }


/* 高解像度の背景画像を使用 */
.image_box {
  background: url('img/vis_01.webp') no-repeat center center;
  background-size: cover;
  image-rendering: auto; /* ブラウザのデフォルトの画像レンダリング */
  image-rendering: crisp-edges; /* 高解像度の画像をシャープに表示 */
  image-rendering: pixelated; /* ピクセル単位のレンダリング */
}
/* ===== slick ===== */
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* ===== 追加CSS（WordPress 管理画面の「追加CSS」） ===== */
/* reCAPTCHAの非表示 */
.grecaptcha-badge {
    opacity: 0;
}

/* すべてのリンクの下線を完全に削除 */
a, a:visited, a:hover, a:focus, a:active {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* より強力なCSSでヘッダーボタンのリンクの下線を削除 */
.custom-header a,
.custom-header a:visited,
.custom-header a:hover,
.custom-header a:focus,
.custom-header a:active {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important; /* box-shadow で疑似的に下線を作るテーマ対策 */
}

/* 特定のテーマが擬似要素 ::after で下線を追加する場合の対策 */
.custom-header a::after {
    content: none !important;
    display: none !important;
}


/* ヘッダー内のリンク専用の下線削除 */
.custom-header a {
    text-decoration: none !important;
    border-bottom: none !important;
}

.custom-header {
    display: flex;
    justify-content: flex-start; /* 左寄せ */
    align-items: center;
    background: #333;
    padding: 10px 0 10px 40px;   /* 左側に40pxの余白 */
    width: 100%;
    gap: 20px;                   /* ボタン間隔20px */
}


/* ヘッダーボタンのスタイル */
.header-button {
    text-decoration: none !important;
    border-bottom: none !important;
    display: inline-block !important;
    padding: 10px 20px !important;
    background: #353189 !important;
    border-radius: 5px !important;
    text-align: center !important;
    max-width: 150px !important;
    color: white !important;
    cursor: pointer;
}

.header-button:hover {
    background: #c9649e !important; /* ホバー時の色を強制適用 */
}

.download-btn {
        display: inline-block;
        padding: 12px 20px;
        background-color: #3498db; /* ボタンの背景色 */
        color: #FFFFFF; /* テキストの色 */
        text-align: center;
        text-decoration: none;
        border-radius: 5px; /* 角を丸くする */
        font-size: 16px;
        transition: background-color 0.3s ease; /* ホバー時のエフェクト */
    }
    
    .download-btn:hover {
        background-color: #2980b9; /* ホバー時の背景色 */
    }

.aligncenter {
  text-align: center;
}
/* ===== 下層ページ（会社概要・お問い合わせ） ===== */
/* =========================================================
   下層ページ（会社概要 / お問い合わせ）
   トップの #site_intro と同じトーン。
   テーマ設定CSSの「p { line-height:1.5 !important }」と
   追加CSSの「a { text-decoration:none !important }」に負けるため、
   行間と下線は !important で上書きしている。
   ========================================================= */
#page_main {
  font-family: "Noto Sans JP", var(--tcd-font-type1);
  color: #616161;
  background: #fff;
}
#page_main .page_inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
#page_main .page_inner--narrow { max-width: 720px; }

/* ---- ページ先頭 ---- */
#page_main .page_hero {
  background: #F5F6F9;
  padding: 96px 24px 92px;
  text-align: center;
}
#page_main .page_hero h1 {
  font-size: 44px; line-height: 1.45; font-weight: 700; color: #242973;
  letter-spacing: .01em; margin: 0 0 20px;
}
#page_main .page_hero .page_lead {
  font-size: 17px; line-height: 1.9 !important; color: #616161;
  max-width: 700px; margin: 0 auto;
}

/* ---- セクション ---- */
#page_main .page_sec { padding: 110px 0; }
#page_main .page_sec--gray { background: #F5F6F9; }
#page_main .page_sec h2 {
  font-size: 32px; line-height: 1.4; font-weight: 700; color: #242973;
  letter-spacing: .01em; margin: 0 0 16px;
}
#page_main .page_catch {
  font-size: 16px; line-height: 1.6 !important; font-weight: 700; color: #0093AD;
  margin: 0 0 24px;
}
#page_main .page_sec p {
  font-size: 15px; line-height: 1.95 !important; color: #616161; margin: 0 0 18px;
}
#page_main .page_sec p:last-child { margin-bottom: 0; }
#page_main .page_sign { margin-top: 28px !important; font-weight: 700; color: #242973; }

/* 見出しだけ中央に置きたいセクション */
#page_main .page_sec--center { text-align: center; }
#page_main .page_sec--center .page_lead2 {
  font-size: 15px; line-height: 1.95 !important; max-width: 720px; margin: 0 auto 56px;
}

/* ---- 左右2カラム（テキスト + 画像） ---- */
#page_main .page_split { display: flex; align-items: center; gap: 64px; }
#page_main .page_split_text { flex: 1 1 0; min-width: 0; }
#page_main .page_split_img { flex: 0 0 46%; }
#page_main .page_split_img img { width: 100%; height: auto; display: block; border-radius: 16px; }
#page_main .page_split--rev { flex-direction: row-reverse; }
#page_main .page_split--logo .page_split_img { flex: 0 0 200px; }
#page_main .page_split--logo .page_split_img img { border-radius: 0; }

/* ---- 会社情報の一覧 ---- */
#page_main .page_info {
  margin: 0; padding: 0;
  border-top: 1px solid #e3e5ee;
  max-width: 840px;
}
#page_main .page_info > div {
  display: flex; gap: 32px;
  padding: 22px 4px;
  border-bottom: 1px solid #e3e5ee;
}
#page_main .page_info dt {
  flex: 0 0 168px; margin: 0;
  font-size: 14px; font-weight: 700; color: #242973; line-height: 1.7;
}
#page_main .page_info dd {
  flex: 1 1 0; min-width: 0; margin: 0;
  font-size: 15px; line-height: 1.8; color: #616161;
}
#page_main .page_info dd p { margin: 0 0 4px; font-size: 15px; line-height: 1.8 !important; }
#page_main .page_info dd p:last-child { margin-bottom: 0; }
#page_main .page_info a { color: #242973; border-bottom: 1px solid #dcdee8 !important; }
#page_main .page_info a:hover { color: #0093AD; border-bottom-color: #0093AD !important; }

/* ---- カード ---- */
#page_main .page_cards {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  text-align: left;
}
#page_main .page_card {
  background: #fff; border-radius: 18px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(36,41,115,.05), 0 10px 30px rgba(36,41,115,.05);
  display: flex; flex-direction: column;
}
#page_main .page_sec--gray .page_card { background: #fff; }
/* 素材が4点なので2列。1枚あたりを大きく見せる */
#page_main .page_cards--2 { grid-template-columns: repeat(2, 1fr); gap: 32px; max-width: 880px; margin: 0 auto; }
#page_main .page_card_img { display: block; width: 100%; height: 190px; object-fit: cover; }
#page_main .page_cards--2 .page_card_img { height: 230px; }
#page_main .page_card_body { padding: 26px 26px 30px; flex: 1 1 auto; }
#page_main .page_card h3 {
  font-size: 17px; line-height: 1.5; font-weight: 700; color: #242973; margin: 0 0 10px;
}
#page_main .page_card p { font-size: 13.5px; line-height: 1.85 !important; color: #616161; margin: 0; }
#page_main .page_card a { color: #242973; border-bottom: 1px solid #dcdee8 !important; }
#page_main .page_card a:hover { color: #0093AD; border-bottom-color: #0093AD !important; }

/* ---- フォーム ---- */
#page_main .form_row { margin: 0 0 30px; text-align: left; }
#page_main .form_row label {
  display: block; font-size: 14px; font-weight: 700; color: #242973; margin: 0 0 10px;
}
#page_main .form_req {
  display: inline-block; margin-left: 8px; padding: 2px 8px;
  font-size: 11px; font-weight: 700; color: #fff; background: #0093AD; border-radius: 3px;
  vertical-align: 2px;
}
#page_main .form_any {
  display: inline-block; margin-left: 8px; padding: 2px 8px;
  font-size: 11px; font-weight: 700; color: #8a8fa8; background: #eceef4; border-radius: 3px;
  vertical-align: 2px;
}
#page_main .form_input, #page_main .form_textarea {
  width: 100%; box-sizing: border-box;
  padding: 15px 16px;
  font-size: 15px; line-height: 1.6; color: #333;
  font-family: inherit;
  background: #fff; border: 1px solid #d7dae6; border-radius: 10px;
  transition: border-color .2s;
}
#page_main .form_textarea { min-height: 190px; resize: vertical; }
#page_main .form_input:focus, #page_main .form_textarea:focus {
  outline: none; border-color: #0093AD;
}
#page_main .form_note { font-size: 13px !important; color: #8a8fa8; margin: 8px 0 0 !important; }
#page_main .form_submit { text-align: center; margin: 44px 0 0; }
#page_main .form_submit button {
  min-width: 260px; height: 58px; padding: 0 40px;
  font-size: 16px; font-weight: 700; font-family: inherit; color: #fff;
  background: #242973; border: none; border-radius: 29px; cursor: pointer;
  transition: background-color .2s;
}
#page_main .form_submit button:hover { background: #0093AD; }
#page_main .form_submit button:disabled { background: #a9adc6; cursor: default; }
#page_main .form_msg {
  display: none; margin: 26px 0 0; padding: 18px 20px;
  border-radius: 10px; font-size: 14px; line-height: 1.8;
}
#page_main .form_msg--error { background: #fdeaea; color: #b3261e; }

/* 送信完了の全画面オーバーレイ */
#successOverlay {
  display: none; position: fixed; inset: 0; z-index: 9999;
  background: rgba(20,22,45,.55);
  align-items: center; justify-content: center; padding: 24px;
}
#successOverlay.show { display: flex; }
#successOverlay .overlay_box {
  background: #fff; border-radius: 20px; padding: 56px 40px 48px;
  max-width: 460px; width: 100%; text-align: center;
  font-family: "Noto Sans JP", var(--tcd-font-type1);
}
#successOverlay .overlay_box .overlay_title {
  font-size: 24px; line-height: 1.5; font-weight: 700; color: #242973; margin: 0 0 16px;
}
#successOverlay .overlay_box p {
  font-size: 14.5px; line-height: 1.9 !important; color: #616161; margin: 0 0 30px;
}
#successOverlay .overlay_box button {
  min-width: 180px; height: 50px; padding: 0 32px;
  font-size: 15px; font-weight: 700; font-family: inherit; color: #242973;
  background: #fff; border: 1px solid #242973; border-radius: 25px; cursor: pointer;
}
#successOverlay .overlay_box button:hover { color: #fff; background: #242973; }

/* ---- スマホ ---- */
@media only screen and (max-width: 991px) {
  #page_main .page_hero { padding: 62px 24px 58px; }
  #page_main .page_hero h1 { font-size: 28px; margin: 0 0 16px; }
  #page_main .page_hero .page_lead { font-size: 15px; }
  #page_main .page_sec { padding: 64px 0; }
  #page_main .page_sec h2 { font-size: 24px; }
  #page_main .page_catch { font-size: 15px; margin: 0 0 18px; }
  #page_main .page_sec p { font-size: 14px; }
  #page_main .page_split { display: block; }
  #page_main .page_split_img { margin: 32px 0 0; }
  #page_main .page_split--rev .page_split_img { margin: 0 0 32px; }
  #page_main .page_split--logo .page_split_img { width: 160px; margin-left: auto; margin-right: auto; }
  #page_main .page_info > div { display: block; padding: 18px 2px; }
  #page_main .page_info dt { margin: 0 0 6px; }
  #page_main .page_info dd { font-size: 14px; }
  #page_main .page_cards, #page_main .page_cards--2 { grid-template-columns: 1fr; gap: 20px; }
  #page_main .page_cards--2 .page_card_img { height: 190px; }
  #page_main .page_card_img { height: 180px; }
  #page_main .page_sec--center .page_lead2 { margin: 0 auto 36px; }
  #page_main .form_submit button { width: 100%; min-width: 0; }
}


/* ------- ヘッダーを常時表示にして、スクロール追従を解除する -------
   元は「トップページではヘッダーを absolute + 背景なしでヒーローに重ね、
   300px スクロールしたら fixed で降りてくる」作りだった。
   通常フローに戻すことで、ヘッダーの下からヒーローが始まる */
.home #header {
  position:relative; background-color:#242973;
  /* 元は absolute で、トップだけ 110px の背高ヘッダーだった。
     通常フローに戻すにあたり、高さは下層ページ（/writing/ 等）と同じ 70px に揃える。
     float:right の #global_menu を回収しないと、スライダーがその横に回り込んで
     初期幅を誤検出する（498px になる） */
  height:70px;
}
.home #header:after { content:''; display:block; clear:both; }
.home #header_inner { height:70px; }
.pc .home #global_menu > ul { height:70px; }
.pc .home #global_menu > ul > li > a { height:70px; line-height:70px; }
.header_fix #header, .pc .header_fix #header, .mobile .mobile_header_fix #header {
  position:relative; box-shadow:none; animation:none; -webkit-animation:none;
}

/* ------- イントロブロック -------
   テーマ設定CSSの「p { line-height:1.5 !important }」と、
   追加CSSの「a { text-decoration:none !important }」に負けるので、
   行間とホバー下線は !important で上書きしている */
#site_intro {
  /* カードを白で抜くため、セクションの地はごく薄いグレーにする */
  background:#F5F6F9; padding:140px 20px 130px;
  /* 見出し・本文とも Noto Sans JP に寄せる（本文20px前後・行間1.6・グレーという
     参考サイトのトーンに合わせるため、テーマ標準の Arial 系からは外す） */
  font-family:"Noto Sans JP", var(--tcd-font-type1);
}
#site_intro .site_intro_inner { max-width:1200px; margin:0 auto; text-align:center; }
#site_intro .site_intro_br { display:none; }
#site_intro h1 {
  font-size:52px; line-height:1.45; font-weight:700; color:#242973;
  letter-spacing:.01em; margin:0 0 36px;
}
#site_intro .lead {
  font-size:17px; line-height:1.95 !important; font-weight:400; color:#616161;
  max-width:760px; margin:0 auto 120px;
}
#site_intro .site_intro_cols { display:flex; gap:28px; align-items:stretch; }
#site_intro .site_intro_col {
  flex:1 1 0; min-width:0;
  background:#fff; border-radius:20px; padding:52px 34px 56px;
  box-shadow:0 1px 2px rgba(36,41,115,.05), 0 10px 30px rgba(36,41,115,.05);
}
#site_intro h2 {
  font-size:30px; line-height:1.4; font-weight:700; color:#242973;
  letter-spacing:.01em; margin:0 0 14px;
}
#site_intro .site_intro_catch {
  font-size:16px; line-height:1.6 !important; font-weight:700; color:#0093AD;
  letter-spacing:.01em; margin:0 0 22px;
}
#site_intro .site_intro_col p {
  font-size:15px; line-height:1.85 !important; font-weight:400; color:#616161;
  margin:0;
}
#site_intro .site_intro_links { list-style:none; margin:0; padding:0; }
#site_intro .site_intro_links li { font-size:13px; line-height:1.6; margin:0 0 10px; }
#site_intro .site_intro_links a { color:#242973; border-bottom:1px solid #dcdee8 !important; padding-bottom:2px; }
#site_intro .site_intro_links a:hover { color:#0093AD; border-bottom-color:#0093AD !important; }
#site_intro .site_intro_foot { margin:110px 0 0; line-height:1.6 !important; }
#site_intro .site_intro_foot a {
  display:inline-block; padding:0 44px; height:56px; line-height:54px;
  font-size:15px; font-weight:500; color:#242973; background:#fff;
  border:1px solid #242973 !important; border-radius:28px;
}
#site_intro .site_intro_foot a:hover { color:#fff; background:#242973; }
@media only screen and (max-width:991px) {
  #site_intro { padding:80px 24px 72px; }
  #site_intro h1 { font-size:30px; line-height:1.5; margin:0 0 24px; }
  #site_intro .site_intro_br { display:inline; }
  #site_intro .lead { font-size:15px; margin:0 auto 68px; }
  #site_intro .site_intro_cols { display:block; }
  #site_intro .site_intro_col { margin:0 0 20px; padding:48px 28px 52px; }
  #site_intro .site_intro_col:last-child { margin-bottom:0; }
  #site_intro h2 { font-size:25px; }
  #site_intro .site_intro_catch { font-size:15px; }
  #site_intro .site_intro_col p { font-size:14px; }
  #site_intro .site_intro_foot { margin:70px 0 0; }
}

/* ------- 静的化にともなう追加分 ------- */
/* 文字アニメのタイルだけ本体が 1.2MB あり、遅延読み込みが間に合わないと黒く見えてしまう。
   1コマ目の静止画(20KB程度)を先に敷いておき、本体が届いたら JS が inline style で差し替える。
   .box_list .box { background:#000 } に勝つ必要があるので ID から書いている */
#index_contents .box[data-bg$="mojiil_v_02.webp"] {
  background-image: url(img/mojiil_v_02_poster.webp);
  background-repeat: no-repeat; background-position: center center; background-size: cover;
}

/* <picture> でラップした画像を、元の <img> と同じボックスとして扱わせる */
#header_slider .item picture, .image_content picture { display: contents; }

/* ヒーロー：767px 以下では img が display:none になり、背景画像が使われる（現行と同じ挙動）
   現行は inline style で PC/SP を出し分けていた部分を CSS 側に移し、WebP を配信する */
#header_slider .item {
  background-repeat: no-repeat; background-position: center center; background-size: cover;
}
@media only screen and (max-width: 767px) {
  #header_slider .item1 { background-image: url(https://shin-yu.net/wp-content/uploads/2026/01/02-800x800.jpg); }
  #header_slider .item2 { background-image: url(https://shin-yu.net/wp-content/uploads/2026/03/VPM_01-800x800.jpg); }
  #header_slider .item3 { background-image: url(https://shin-yu.net/wp-content/uploads/2025/08/thum_Corp2-800x800.jpg); }
  /* 高精細スマホ（DPR2以上）では等倍だと拡大されてにじむので 2倍を配る。
     image-set を解釈できるブラウザは WebP も必ず読めるため、
     上の url(...jpg) 行が WebP 非対応ブラウザ向けの受け皿になる */
  #header_slider .item1 { background-image: image-set(url(img/hero1-800.webp) 1x, url(img/hero1-1600.webp) 2x); }
  #header_slider .item2 { background-image: image-set(url(img/hero2-800.webp) 1x, url(img/hero2-1600.webp) 2x); }
  #header_slider .item3 { background-image: image-set(url(img/hero3-800.webp) 1x, url(img/hero3-1600.webp) 2x); }
}
