@charset "utf-8";
/*
Theme Name:MONOLITH Version:2.1.1
Theme URI:https://tcd-theme.com/tcd042
Description:"MONOLITH" is a WordPress theme for architectural design and real estate developers. With a four-part header that makes your company or service look attractive. Everything is designed with precision and calculation. We recommend you to use MONOLITH as it is.
Author:TCD
Author URI:https://tcd-theme.com/
Version:2.1.1
Text Domain:tcd-monolith
*/


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

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



/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
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;vertical-align: bottom;}

select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

i{margin-right:5px;}

/* 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%; min-width:1250px; }
.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:none; }
.clear { clear:both; }
.hide { display:none; }

/* 細字のゴシック体 */
.light_font { font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; font-weight: 100; }

/* レイアウト */
#main_contents { background:#fff; width:100%; position:relative; z-index:10; }
#main_col { width:1250px; margin:15px auto 50px; padding:0 25px; -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:850px; float:left; }
#side_col { width:300px; float:right; }
.pc .layout2 #left_col { float:right; }
.pc .layout2 #side_col { float:left; }

/*ボタン*/
#main_contents p.btnLink {padding:30px 0; }
#main_contents p.btnLink a {min-width:200px; max-width:90%; background-color:#000; display:inline-block; vertical-align:middle; padding:1.3em; font-weight:400; font-size:100%; color:#fff; margin:10px; text-decoration:none; text-align:center; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15); }

.footer_bnr{text-align:center;}
.footer_bnr img{width:100%;height:auto;}

@media screen and (max-width:500px) {
#main_contents p.btnLink a{
display:block;
}
#main_contents p.foot_btnLink a{
min-width:200px;
padding:1.3em;
}
}




/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/* トップページのアニメーション */
.pc .home .animation_element {
  opacity:0;
}
.pc .home .animation_element.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;
}
.pc .home .animation_element.first {
  opacity:1;
  -webkit-transform: translateY(0); transform: translateY(0);
}


/* スライダー */
#header_slider { width:1200px; height:auto; position:relative; min-width:1200px; margin:0 auto 80px; }
#header_slider .item { width:100%; height:auto; min-width:1200px; }
#header_slider .item img { width:100%; height:auto; display:block; }
#header_slider .item .overlay span:before { content:''; display:block; width:100%; height:100%; z-index:2; position:absolute; left:0px; top:0px; }


/* スライダーのキャッチコピー */
#header_slider .caption {
  position:absolute; text-align:center; z-index:5; 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 { line-height:125%; }
#header_slider .caption .button {
  font-size:16px; text-decoration:none; padding:0 25px; height:50px; line-height:50px; display:inline-block; margin:15px 0 0 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;
}


/* スライダーのキャッチコピーのアニメーション */
.pc #header_slider .caption .title,  .pc #header_slider .caption .button {
  opacity:0;
}
.pc #header_slider .item.slick-active .caption .title {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s; animation: opacityAnimation 1.0s ease forwards 1.0s;
}
.pc #header_slider .item.slick-active .caption .button {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s; animation: opacityAnimation 1.0s ease forwards 2.0s;
}
.pc #header_slider .first_active .caption .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 {
  -webkit-animation: opacityAnimation 1.0s ease forwards 3.0s !important; animation: opacityAnimation 1.0s ease forwards 3.0s !important;
}
@-webkit-keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}
@keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}


/* ヘッダーコンテンツ */
#header_content {
  width:1250px; margin:0 auto 80px; padding:0 25px 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_content .header_contentList{
width:100%;
height:100%;
display:flex;
flex-wrap: wrap;
}
#header_content .item {width:300px; height:660px; overflow:hidden; position:relative; opacity:0; }


#header_content .item.active {
  -webkit-transform: translateY(50px); transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 1.0s; animation: moveUp 0.65s ease forwards 1.0s;
}
@-webkit-keyframes moveUp {
	0% { }
	100% { -webkit-transform: translateY(0); opacity: 1; }
}
@keyframes moveUp {
	0% { }
	100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}
#header_content img {
  display:block; width:300px; height:auto;
  -webkit-transition: all 0.75s ease; -moz-transition: all 0.75s ease; transition: all 0.75s ease;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
#header_content .item: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);
}
#header_content .image:before {
  width:300px; height:660px; display:block; content:''; background:rgba(0,0,0,0.5); position:absolute; z-index:2;
  /*opacity:0;*/ -webkit-transition: opacity 0.6s; transition: opacity 0.6s;
}
#header_content .item:hover .image:before { opacity:1; }
#header_content .desc {
  display:block; width:240px;height:215px; /*padding:0 30px;*/ color:#fff; line-height:200%; font-size:15px; text-decoration:none; z-index:3; text-align:left;
  position:absolute;
  bottom:30px;left:30px;/* top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%);*/
  /*opacity:0; -webkit-transition: opacity 0.6s; transition: opacity 0.6s;*/
 -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_content .item:hover .desc { opacity:1; }*/

#header_content .desc p{
 text-shadow:0 0 5px rgba(0,0,0,1);
}

#header_content .catch {
  display:block;
  width:240px;
  margin-bottom:20px;
  /*padding:0 30px;*/
  color:#fff;
  line-height:200%;
  font-size:15px;
  text-decoration:none;
  z-index:4;
  text-align:center;
  /*position:absolute;
  top:30%;*/
  font-weight:600;
  opacity:1;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  -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_content .catch p{
border:1px solid rgba(255,255,255,.2);
position:relative;
background:rgba(0,0,0,.6);
text-shadow:none;
}
#header_content .catch p::after{
	font-family: "Font Awesome 5 Free";
	content: "\f054";
	font-weight: 900;
	font-size:11px;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	position:absolute;
	right:10px;
	top:13px;
}

/*#header_content .item:hover .catch { opacity:0; }*/


/* プロジェクト　コンテンツ */
#index_project {
  width:1250px; margin:0 auto; padding:0 25px 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;
}

#index_project .catchphrase { text-align:center; margin:0 0 30px 0; }
#index_project .catchphrase .headline { font-size:40px; line-height:200%; margin:0 0 5px 0; }
#index_project .catchphrase .desc { font-size:14px; line-height:2.2; margin:0 0 35px 0; }

/* プロジェクトリスト */
#project_list li { float:left; width:300px; height:300px; overflow:hidden; position:relative; }
#project_list .image { display:block; height:100%; }
#project_list img {
  /*width: 300px; height: auto;*/
  display:block;
  -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);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
#project_list li: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);
}
#project_list .image:before {
  width:300px; height:300px; display:block; content:''; background:rgba(0,0,0,0.5); position:absolute; z-index:2;
  opacity:0; -webkit-transition: opacity 0.6s; transition: opacity 0.6s;
}
#project_list li:hover .image:before { opacity:1; }
#project_list .title {
  display:block; padding:20px 20px 20px; color:#fff; background:rgba(187,187,187,0.9); width:100%;  line-height:180%; font-size:13px; text-decoration:none; position:absolute; z-index:3;
  -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:0;bottom:0;
 /* -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;*/
}
/*#project_list li:hover .title {
  -webkit-transform: translate3d(0,-100%,0); transform: translate3d(0,-100%,0);
}*/

#project_list .title span { /*display:block;*/ font-size:12px; }
#project_list .title span.project_title { margin:0 0 5px 0; color:#fff !important; font-size:40px;display:inline-block;font-weight: bold;}
#project_list .project_catch{font-size:14px !important;margin-top:5px;color:#fff;display:block;}
#project_list .project_special{
width:100%;
font-size:12px;
color:#666 !important;
display:block;
margin-top:5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#blog_list .project_catch{font-size:12px; color:#666;display:block;}

@media screen and (max-width:500px) {
#project_list .title{
padding:10px 10px 10px;
}
#project_list .title span.project_title{font-size:16px;}
#project_list .project_special{
margin-top:0;
}
#project_list .project_catch{font-size:12px !important;}
}

#index_project .btnDetail{
text-align:center;
margin-top:30px;
}
#index_project .index_blog_link { width:170px; height:45px; line-height:45px; display:inline-block; text-decoration:none; background:#000; color:#fff; text-align:center; /*position:absolute; right:25px; top:100px;*/ }

  /* pager */
  #project_list ~ .page_navi{ margin-top: 30px; }
  
/* News　コンテンツ */
#index_news {
  width:1250px; margin:0 auto; padding:80px 25px 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;
}
#index_news + #index_blog_image { padding-top:0; }
#index_news .catchphrase { margin:0 0 40px 0; position:relative; }
#index_news .catchphrase .headline { font-size:40px; line-height:200%; margin:0 30px 0 0; display:inline-block; vertical-align:middle; }
#index_news .catchphrase .desc { font-size:14px; line-height:200%; margin:0; display:inline-block; vertical-align:middle; }

.index_news_list { width:580px; margin:0 0 100px 0; }
.index_news_list .headline { float:left; height:45px; line-height:45px; background:#333; color:#fff; font-size:12px; font-weight:normal; text-align:center; width:170px; }
.index_news_list .archive_link { float:left; height:45px; line-height:45px; font-size:12px; color:#fff; text-decoration:none; text-align:center; width:170px; }
.index_news_list ol { clear:both; }
.index_news_list ol a { display:block; border:1px solid #ddd; padding:0 20px; height:50px; line-height:50px; margin-bottom:-1px; font-size:14px; text-decoration:none; }
.index_news_list ol a:hover { background:#f7f7f7; }
.index_news_list ol a .entry-date { display:inline-block; margin-right:25px; font-size:12px; }
.index_news_list ol a .title { }

#index_event_list { float:right; }
#index_info_list { float:left; }

#index_news.one_list #index_event_list, #index_news.one_list #index_info_list { float:none; width:100%; }


/* ボックス　コンテンツ */
#index_box { background:#f7f7f7; min-width:1250px; }
#index_box_inner {
  width:1250px; margin:0 auto; padding:80px 25px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.index_box_list li { float:left; width:380px; margin:0 30px 0 0; }
.index_box_list li.box3 { margin:0; }
.index_box_list .headline { display:table; width:130px; height:130px; margin:0 auto 41.6px; line-height:130px; text-align:center; vertical-align:middle; color:#fff; }
.index_box_list .headline a{ display:table; width:130px; height:130px;color:#fff;}
.index_box_list .headline span { display:table-cell; line-height:1.5; vertical-align:middle; word-break:break-all; }
.index_box_list .desc { height:116px; line-height:2.2; margin:0 0 41.6px 0; /*overflow:hidden;*/ }
.index_box_list .image { overflow:hidden; position:relative; }
.index_box_list .image span {
  display:block; padding:20px; color:#fff; background:rgba(187,187,187,0.9); width:100%; line-height:180%; font-size:22px; text-decoration:none; position:absolute;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.index_box_list .image a:hover span {
  -webkit-transform: translate3d(0,-100%,0); transform: translate3d(0,-100%,0);
}
.index_box_list .image img {
  display:block; width:380px; height:230px;
/*
  -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);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
*/
}
/*
.index_box_list .image a: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);
}
*/


/* Blog　コンテンツ */
#index_blog_image {
  width:1250px; margin:0 auto; padding:80px 25px 0; 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;
}
#index_blog_image:last-child { margin-bottom:30px; }
#index_blog_image a, #index_blog_image img { display:block; margin:0 auto; }
#index_blog_image img { max-width:100%; height:auto; }

#index_blog {
  width:1250px; margin:0 auto; padding:80px 25px 0; 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;
}

#index_blog .catchphrase { margin:0 0 40px 0; position:relative; }
#index_blog .catchphrase .headline { font-size:40px; line-height:200%; margin:0 30px 0 0; display:inline-block; vertical-align:middle; }
#index_blog .catchphrase .desc {
max-width: 65%;font-size:14px; line-height:200%; margin:0; display:inline-block; vertical-align:middle;
}
@media screen and ( max-width:770px) {
#index_blog .catchphrase .desc{max-width:inherit;}
}

#index_blog .index_blog_link { width:170px; height:45px; line-height:45px; display:block; text-decoration:none; background:#000; color:#fff; text-align:center; position:absolute; right:25px; top:100px; }

#blog_list { font-size:0; }
#blog_list li { display:inline-block; vertical-align:top;  width:380px; margin:0 30px 30px 0; font-size:14px; }
#blog_list li:nth-of-type(3n) { margin:0; }
#blog_list .image { position:relative; display:block; overflow:hidden; width:380px; height:230px; }

#blog_list .image img {
  display:block; width:380px; height:230px;
  -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);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
#blog_list .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);
}

#blog_list .image:before {
  width:100%; height:100%; display:block; content:''; background:rgba(0,0,0,0.5); position:absolute; z-index:2;
  opacity:0; -webkit-transition: opacity 0.6s; transition: opacity 0.6s;
}
#blog_list .image:hover:before { opacity:1; }
#blog_list .date { display:inline-block; height:40px; line-height:40px; text-align:center; background:#000; color:#fff; position:absolute; bottom:0px; left:0px; z-index:3; min-width:120px; font-size:12px;padding:0 10px; }
#blog_list .info { background:#f7f7f7; padding:20px;position:relative;}
#blog_list .title { display:block; line-height:180%; margin:0; min-height:52px;font-weight:bold;}
#blog_list .category { margin-top:16px; }
#blog_list .category a { text-decoration:none; display:inline-block; text-align:center; padding:0 16px; background:#fff; border:1px solid #eee; height: 25px; line-height: 25px; font-size: 12px; }
#blog_list .category a:hover { background:#000; color:#fff; }


@media screen and (min-width:481px) and ( max-width:770px) {

#blog_list li .image, #related_post li a.image,
.styled_post_list1 .image, #recent_news .image,
.project_list_widget .image, .index_box_list .image,
#project_list .image, #previous_next_post .image{
width:100%;
height:0;
padding-top:60.5263%;
}
#blog_list li .image img, #related_post li a.image img,
.styled_post_list1 .image img, #recent_news .image img,
.project_list_widget .image img, .index_box_list .image img,
#project_list .image img, #previous_next_post .image img{
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
}
}

/*index_greeting-----------------*/
#index_greeting{
width:1200px;
margin:0 auto;
padding:80px 0 20px 0;
box-size:border-box;
background:url(img/index/index_greeting_bg.png) no-repeat right bottom;
background-size:contain;
}

#index_greeting a{
  color: #4864C4;
}

#index_greeting .color_headline{
color:#01698C !important;
}

#index_greeting p{
padding-top:20px;
line-height:1.4;
}

#index_greeting a{text-decoration:underline;}

#index_greeting .btnDetail{
margin-top:30px;
}
#index_greeting .index_blog_link { min-width:250px; height:60px;padding:0 20px;line-height:60px;
display:inline-block;
text-decoration:none;
background:#E31B13;
color:#fff;
text-align:center;
border-radius: 55px;
transition-property:background-color, color;
transition-duration:0.2s;
transition-timing-function:ease;
}
#index_greeting .index_blog_link:hover{
background:#bbbbbb;
}

@media screen and ( max-width:770px) {
#index_greeting{
width:100%;
margin:0;
padding:30px 20px 20px;
box-sizing: border-box;
}

#index_greeting .btnDetail{
text-align:center;
}
#index_greeting .index_blog_link{
min-width:60%;
}
}

/*index_blogbnr-----------------*/
#index_blogbnr{
width:1200px;
height:280px;
margin:80px auto 0;
overflow: hidden;
}
#index_blogbnr a{
width:100%;
height:100%;
display:inline-flex;
justify-content: center;
align-items: center;
background:url(img/index/index_blogbnr.jpg) no-repeat center center;
background-size:cover;
box-sizing: border-box;
}

#index_blogbnr a:hover{
filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;

}

#index_blogbnr .catchWrap{
background:rgba(0,0,0,.7);
padding:20px 30px;
color:#fff;
}

#index_blogbnr .catchWrap .title{
font-size:48px;
text-align: center;
font-weight:200;
}

#index_blogbnr .catchWrap .title span{
display:inline-block;
vertical-align:top !important;
}

#index_blogbnr .catchWrap .catch{
font-size:16px;
text-align:center;
margin-top:20px;
line-height:1.4;
}
@media screen and ( max-width:770px) {
#index_blogbnr{
width:90%;
height:inherit;
margin:30px auto 0;
}
#index_blogbnr a{
padding:30px 20px;
}

#index_blogbnr .catchWrap{
padding:20px;
}
#index_blogbnr .catchWrap .title{
font-size:24px;
}
#index_blogbnr .catchWrap .title span{
display:block;
margin-top:5px;
}
#index_blogbnr .catchWrap .catch{
font-size:14px;
}

}
@media screen and ( max-width:374px) {
#index_blogbnr .catchWrap .title{
font-size:20px;
}
}

/* ----------------------------------------------------------------------
 プロジェクトページ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_catchphrase { text-align:center; margin:0 0 100px 0; }
#archive_catchphrase .headline { font-size:40px; line-height:200%; margin:0 0 5px 0; }
#archive_catchphrase .desc { font-size:14px; line-height:2.2; margin:0 0 35px 0; }


/* ソートボタンと記事一覧 */
#project_list li.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;
}
#project_catgory_sort { margin:0 0 50px 0; }
#project_catgory_sort li {
  float:left; width:200px; border:1px solid #ccc; border-right: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;
}
#project_catgory_sort li a { font-size:12px; display:block; background:#fff; color:#333; text-decoration:none; text-align:center; height:40px; line-height:40px; }
#project_catgory_sort li:nth-child(6n), #project_catgory_sort li:last-child { border-right:1px solid #ccc; }
#project_catgory_sort li a.active, #project_catgory_sort li a:hover, #project_catgory_sort li.current-cat a { color:#fff; background:#01690c; }
#project_catgory_sort .current-cat + li:nth-child(7n) { border-color: #ccc!important; }


/* 詳細ページ */
#project_side_content { background:#f4f4f4; padding:35px 35px 10px; line-height:2.4; }
#project_side_content h1 {text-align:center;background:#000;padding:20px 10px !important;line-height:1.0; /*height:45px; line-height:45px;*/ font-size:26px; color:#fff; margin:-35px -35px 45px; }
#project_side_content h1 span.project_special {margin-top:10px;display:block;line-height:1.4;color:#fff;font-weight: bold;font-size:16px;}
#project_side_content h1 a { color:#fff; font-weight:400; }

#project_side_content h2 { font-weight:400; font-size:18px; line-height:1.4; }
#project_title { font-size:20px; margin:0; }
#project_catch { font-size:14px; margin:10px 0 0 0; }


#project_side_content .post_content { font-size:14px; margin:25px 0 0 0; }
#project_side_content .post_content p { line-height:2.4; }
#project_related { clear:both; padding:50px 0 0 0; }

#project_side_content .linkBtn{padding:20px 0;}
#project_side_content .linkBtn p{
text-align:center;
}
#project_side_content .linkBtn .read{
font-size:1.1em;
font-weight:bold;
}
#project_side_content .linkBtn .btn a{
text-align: center;
text-decoration:none;
display:inline-block;
min-width:80%;
padding:10px 20px;
background:#000;
color:#fff;
border-radius: 55px;
}
#project_side_content .linkBtn .btn a:hover{
filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}


#project_related .headline { background:#000; color:#fff; height:55px; line-height:55px; padding:0 30px; }

.post_content a{text-decoration:underline;}
.post_content .project_pager { margin-left:0; margin-bottom:50px; text-align:center; }
.project_pager li { display:inline-block; list-style-type:none; }
.project_pager li + li { margin-left:6px; }
.project_pager li a { background:#ccc; color:#fff; display:block; font-size:18px; line-height:50px; width:50px; height:50px; }
.project_pager li a:hover { text-decoration:none; }
.project_pager li a:hover::before, .project_pager li a:hover::after { color: #fff; }
.project_pager_prev a:before { content:"\e90f"; font-family:"design_plus"; }
.project_pager_next a:after { content:"\e910"; font-family:"design_plus"; }

/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* ヘッダーのキャッチフレーズ */
#archive_header { margin:0 0 45px; }
#archive_headline { font-size:34px; margin:0; }
#category_desc { font-size:15px; line-height:250%; margin:20px 0 0 0; }


/* ページング */
.page_navi { margin:0; }
.page_navi ul { margin:0; text-align:center; font-size:0; }
.page_navi li { display:inline; margin:0 -1px -1px 0; }
.page_navi a, .page_navi a:hover, .page_navi span { font-size:12px; padding:15px 18px; line-height:100%; margin:0; background:#fff; display:inline-block; border: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:#aaa; }
.page_navi p.back { margin:0; }
.page_navi p.back a { background:#000; border:0; color:#fff; text-decoration:none; display:inline-block; width:170px; height:45px; line-height:45px; text-align:center; font-size:14px; position:relative; padding:0; }
.page_navi p.back a:hover { color:#fff; }
.page_navi p.back a:hover:before { color:#fff; }




/* ----------------------------------------------------------------------
 イベント・インフォメーション
---------------------------------------------------------------------- */
#post_meta_top .news_category {
  height:40px; line-height:40px; padding:0 25px; display:inline-block; text-decoration:none; border:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#archive_news_list .headline { background:#00688d; color:#fff; height:55px; line-height:55px; padding:0 30px; }
#archive_news_list li { border:1px solid #ddd; border-top:0; }
#archive_news_list li a { display:block; padding:30px; text-decoration:none; color:#333; background:#fff; position:relative; }
#archive_news_list li a:after {
	content:"\e910";
	font-family:"design_plus";
	font-size:18px;
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:16px;
	width:18px;
	height:18px;
}
#archive_news_list li a .entry-date { display:block; margin:0 0 10px 0; font-size:14px; color:#00688d; }
#archive_news_list li a:hover { background-color:#f7f7f7; }
#archive_news_list li a .title { font-weight: 400; }
.archive #archive_news_list { margin:0 0 30px 0; }




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


/* アイキャッチ画像 */
#post_image { padding:0; margin:0 0 50px 0; }
#post_image img { width:100%; height:auto; display:block; margin:0; }


/* カテゴリー */
#post_meta_top { margin:0 0 20px 0; }
#post_meta_top li { float:left; margin:0; font-size:14px; min-width:125px; text-align:center; }
#post_meta_top .category { }
#post_meta_top .category a {
  height:40px; line-height:40px; display:block; text-decoration:none; border:1px solid #ddd; padding: 0 8px; 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;
}
#post_meta_top .category a:hover { color:#fff; }
#post_meta_top .date { height:40px; line-height:40px; background:#000; color:#fff; position:relative; }
#post_meta_top .post_update { height: 40px; line-height: 40px; }
#post_meta_top .post_update:before { position: relative; font-family:'update_icon'; content:'\e140'; font-size:12px; padding: 0 5px 0 0; }


/* 記事タイトル */
#post_title { padding:0; margin:0 0 18px; font-size:21px; line-height:1.5; }
#article .place{color:#E31B13;margin:0 0 18px;}


/*  記事本文*/
.post_content a:hover { text-decoration:underline; }

/* SNSボタン */
#single_share_top { margin:-10px 0 0; }
#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:#666; 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:50px 0; }
#previous_next_post .prev_post, #previous_next_post .next_post { float:left; width:420px; margin-right:-1px; }
#previous_next_post a { display:block; border:1px solid #ddd;padding:0 30px; color:#333; line-height:130%; height:120px; text-decoration:none; position:relative; }
#previous_next_post .image { overflow:hidden; width:120px; height:120px; }
#previous_next_post .prev_post .image { float:left; margin-right:20px; }
#previous_next_post .next_post .image { float:right; margin-left:20px; }
#previous_next_post img { width:100%; height:100%; }
#previous_next_post .next_post img { float:right; margin:0 0 0 20px;}
#previous_next_post .title { display: table; font-size:14px; line-height:180%; width:100%;height:100%; overflow:hidden; padding:0; margin:0; }
#previous_next_post .title span {display:table-cell; vertical-align:middle;padding:0 20px; }
#previous_next_post .next_post .title { text-align: right;}
#previous_next_post a:hover { background:#f7f7f7; color:#333; }

#previous_next_post .prev_post a::before{
content:"\e90f";
	font-family:"design_plus";
	font-size:18px;
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	left:16px;
	width:18px;
	height:18px;
}
#previous_next_post .next_post a::after{
content:"\e910";
	font-family:"design_plus";
	font-size:18px;
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:16px;
	width:18px;
	height:18px;
}


/* 広告 */
#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 50px 0; background:#000; color:#fff; }
#related_post .headline { height:55px; line-height:55px; font-size:14px; margin:0; padding:0 30px; }
#related_post ol { margin:0 0 0 30px; position:relative; font-size:0; }
#related_post li { width:245px; margin:0 27px 27px 0; display:inline-block; vertical-align:top; }
#related_post li:nth-child(3n) { margin-right:0; }
#related_post li .image { margin:0 0 15px 0; display:block; width:245px; height:150px; 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; color:#fff; }


/* プロフィール */
.author_profile {
  background:#f8f8f8; padding:40px; margin:40px 0;
 -webkit-box-sizing:border-box; box-sizing:border-box;
}
.author_profile .avatar { width:110px; height:110px; border-radius:110px; float:left; margin:0 32px 0 0; display: block; }
.author_profile .avatar img { display:block; width:100%; height:auto; }
.author_profile .name { font-size:16px; margin:0; float:left; font-weight:700; }
.author_profile .info { float:left; width:calc(100% - 142px); margin:0; position:relative; }
.author_profile .author_link { margin:0 0 0 -8px; font-size:0; }
.author_profile .author_link li { font-size:12px; display:inline-block; margin:0; position:relative; }
.author_profile .author_link li a {
  text-indent:-200px; display:block; overflow:hidden; width:30px; height:33px; line-height:33px; text-align:center; position:relative;
}
.author_profile .author_link li a:before {
  font-family:'design_plus'; color:#000; font-size:12px; width:14px; height:14px; display:block; text-indent:0;
  position:absolute; top:1px; left:0; right:0; margin:auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.author_profile .author_link li a:hover:before { color:#aaa; }
.author_profile .author_link li.website a:before { content:'\e88a'; font-size: 16px; }
.author_profile .author_link li.twitter a:before { font-family: 'tiktok_x_icon'; content: "\e901";}
.author_profile .author_link li.facebook a:before { content:'\e902'; }
.author_profile .author_link li.insta a:before { content:'\ea92'; }
.author_profile .author_link li.pinterest a:before { content:'\e905'; }
.author_profile .author_link li.flickr a:before { content:'\eaa4'; }
.author_profile .author_link li.tumblr a:before { content:'\eab9'; }
.author_profile .author_link li.rss a:before { content:'\e90b'; }
.author_profile .desc { margin: 15px 0 10px; }
.author_profile .desc p { font-size:14px; line-height:2; }
.author_profile .archive_link { padding:0; float: right; font-size: 14px; }
.author_profile .archive_link span{ position: relative; padding-right: 15px; }
.author_profile .archive_link span:after {
  font-size:12px; font-family:'design_plus'; content:'\e910'; color:#333; display:block; position:absolute; right:0px; top:4px; height:14px; line-height:14px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header { width:100%; min-width:1250px; height:110px; background:#fff; position:relative; z-index:20; }
#header_inner { height:100px; width:1250px; margin:0 auto; position:relative; }


/* 固定ヘッダー */
.pc .header_fix #header {
  position:fixed; top:0px; left:0px; z-index:200; border-bottom:1px solid #ddd; box-shadow:0 0 5px 0 rgba(0,0,0,0.2);
  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, #logo_image_mobile { position:absolute; left:25px; 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 { display:block; }


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

.pc #global_menu > ul > li > a {
  font-size:12px; text-decoration:none; height:60px; line-height:60px; 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 #global_menu > ul > li > a:hover { }

.pc #global_menu ul ul { display:none; width:200px; position:absolute; top:60px; left:-2px; margin:0; padding:0; font-weight:normal; }
.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:11px; background:#222; border:none; position:relative; padding:14px 20px 12px 20px; height:auto; line-height:160%; margin:0; text-align:left; box-shadow:none; color:#fff; }
.pc #global_menu ul ul a:hover { text-decoration:none; border:none; color:#fff; }

.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 li li.current-menu-item > a { color:#fff; }


.pc #global_menu .contactBox{padding-top:20px;height:30px;text-align: right;vertical-align: middle;}

.pc #global_menu .contactBox span{font-family: "design_plus";}
.pc #global_menu .phone{font-weight: 500;font-size:1.4em;margin-right:20px;}
.pc #global_menu .phone::before {
  content: "\f095";
  margin-right:5px;
}
.pc #global_menu .contact a{background:#e31b13;color:#fff;text-decoration:none;text-align: center;font-size:12px;display:inline-block;padding:10px 20px;
-webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.pc #global_menu .contact a:hover,.pc #global_menu .contact a:focus {background-color:#e31b13; box-shadow:0 2px 2px rgba(0,0,0,.15) inset;}
.pc #global_menu .contact a::before {
  content: "\f0e0";
  margin-right:5px;
}



/* パンくずリンク */
#bread_crumb { margin:15px 0 0; height:60px; line-height:60px; min-width:1200px; overflow:hidden; }
#bread_crumb .inner { width:1200px; margin:0 auto; }
#bread_crumb .inner > span.home { padding:0; }
#bread_crumb .inner > span.home a {
  float:left; height:15px; width:30px; 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 .inner > span.home a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#bread_crumb .inner > span.home a:before {
  font-family:'design_plus'; color:#333; font-size:14px; display:block; position:absolute; top:0; left:0px; width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb .inner > span.home:after { display:none; }
#bread_crumb .inner > span.home a:before { content:'\e90c'; }
#bread_crumb .inner > span.home a:hover:before { color:#fff; }
#bread_crumb .inner > span { color:#999; font-size:12px; display:inline-block; padding:0 15px 0 0; margin:0 0 0 15px; line-height:160%; position:relative; }
#bread_crumb .inner > span:after {
  font-family:'design_plus'; content:'\e910'; color:#999; font-size:9px; display:block; position:absolute; left:-20px; top:-1px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb .inner > span a { color:#aaa; }



/* translations */
#header_inner.header_with_translate{ width: 1225px; padding-right: 25px; }
.pc #translated_sites{
  display: block;
  /*position: absolute;
  top: 0;
  right: 50px;*/
  height: 130px;
  float: right;
}
.pc #translated_sites li span{
  position: relative;
  width: 18px;
  height: 18px;
  overflow: hidden;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  margin-top: -2px;
  border: 1px solid #bbb;
}
.pc #translated_sites li span img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pc #translated_sites.horizontal li{
  display: inline-block;
  height: 130px;
  line-height: 130px;
  margin-left: 10px;
}
.pc #translated_sites.horizontal li a{
  display: block;
}
.pc #translated_sites.horizontal li div{
  display: block;
}

.pc #translated_sites.vertical li{
  display: block;
  height: 130px;
  line-height: 130px;
  position: relative;
}
.pc #translated_sites.vertical li a, .pc #translated_sites.vertical li .stay{
  display: block;
  height: 130px;
  line-height: 130px;
  padding: 0 20px;
  margin: 0;
  overflow: hidden;
  min-width: 100px;
  -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 #translated_sites.vertical li ul { display:none; width:auto; position:relative; margin:0; padding:0; }
.pc #translated_sites.vertical li ul li { line-height:1.5; padding:0; margin:0; text-align:left; position:relative; display:block; height: auto; }
.pc #translated_sites.vertical li ul a { font-size:14px; display:block; border:none; position:relative; padding:14px 20px 12px 20px; height:auto; line-height:1.6; margin:0; text-align:left; box-shadow:none; color: #fff; }
.pc #translated_sites.vertical li ul a:hover { text-decoration:none; border:none; color: #fff; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top { background:#f7f7f7; min-width:1200px; margin-top:120px; }
#footer_top_inner { width:1200px; margin:0 auto; padding:80px 0; }
#footer_menu_widget_area { float:right; width:850px; }

#footer_top_inner.nowidget { width: 900px; }
.nowidget #footer_menu_widget_area { float: right; width: 500px; }
.nowidget.noinfo #footer_menu_widget_area { float: none; width: 900px; margin: 0 auto; }
.noinfo #footer_menu_widget_area { float: none; width: 900px; margin: 0 auto; }

/* 住所 */
#footer_address { float:left; width:250px; font-size:12px; margin:0; }
#footer_address .image { display:block; max-width:100%; height:auto; }
#footer_address .logo { margin:17px 0 0 0; }
#footer_address .logo a { display:inline-block; }
#footer_address .logo img { display:block; max-width: 100%; height: auto; }
#footer_address .info { margin:10px 0 0 0; line-height:1.8; }
#footer_address .button { box-sizing:border-box; margin:15px 0 0 0; display:inline-block; background:#fff; border:1px solid #eee; padding:7px 15px; text-decoration:none; }
#footer_address .button:hover { color:#fff; }


/* メニュー */
#footer_menu { margin:0; float:left; width:500px; font-size:0; }
.footer_menu { display:inline-block; vertical-align:top; }
.footer_menu li { margin:0 0 15px 0; font-size:12px; line-height:160%; }
.footer_menu a { display:block; transition:.3s ease-in-out; color:#666; }
.footer_menu a:hover { text-decoration:underline !important; }
.footer_menu li:first-child a, .footer_menu li:only-child a {/* font-size:14px; margin:0 0 20px 0;*/color:#666 !important; }
#footer_menu.footer_menu_num2 .footer_menu { margin:0 50px 0 0; width:225px; }
#footer_menu.footer_menu_num2 .footer_menu:last-child { margin:0; }
#footer_menu.footer_menu_num3 .footer_menu { margin:0 33px 0 0; width:144px; }
#footer_menu.footer_menu_num3 .footer_menu:last-child { margin:0; }
#footer_menu.footer_menu_num4 .footer_menu { margin:0 33px 0 0; width:100px; }
#footer_menu.footer_menu_num4 .footer_menu:last-child { margin:0; }

.noinfo #footer_menu_widget_area #footer_menu { float: left; width: 550px; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num2 .footer_menu { margin:0 33px 0 0; width:258px; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num2 .footer_menu:last-child { margin:0; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num3 .footer_menu { margin:0 33px 0 0; width:161px; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num3 .footer_menu:last-child { margin:0; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num4 .footer_menu { margin:0 33px 0 0; width:112px; }
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num4 .footer_menu:last-child { margin:0; }

.nowidget.noinfo #footer_menu_widget_area #footer_menu { float: none; width: 900px; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num2 .footer_menu { margin:0 33px 0 0; width:433px; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num2 .footer_menu:last-child { margin:0; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num3 .footer_menu { margin:0 33px 0 0; width:278px; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num3 .footer_menu:last-child { margin:0; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num4 .footer_menu { margin:0 33px 0 0; width:200px; }
.nowidget.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num4 .footer_menu:last-child { margin:0; }

/* ウィジェット */
#footer_widget { float:right; width:250px; }
#footer_widget .footer_headline, #footer_widget .widget_block .wp-block-heading { margin:0 0 25px 0; font-size:14px; font-weight:normal;font-weight:normal; }

#footer_widget .side_widget { margin: 0 0 50px 0; font-size:14px; position:relative; }
#footer_widget .styled_post_list1_widget { border:none; padding:0; }
#footer_widget .styled_post_list1_widget .side_headline { margin:0 0 20px; position:relative; }
#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 .project_list_widget li { width:80px; height:80px; }
#footer_widget .project_list_widget li:nth-child(7), #footer_widget .project_list_widget li:nth-child(8), #footer_widget .project_list_widget li:nth-child(9) { margin-bottom:0!important; }

#footer_widget .widget_archive li:first-child,#footer_widget .styled_post_list1_widget li:first-child{
  border-top: 1px solid #ddd;
}



/* フッター下部 */
#footer_bottom { background:#000; width:100%; min-width:1200px; height:60px; }
#footer_bottom_inner { width:1200px; margin:0 auto; height:60px; position:relative; }


/* SNSボタン */
#footer_social_link { position:absolute; top:12px; z-index:2; }
#footer_social_link li {color:#fff !important; float:left; margin:0 5px 0 0; position:relative; }
#footer_social_link li a {
color:#fff !important; display:block; text-indent:-200px; overflow:hidden; width:30px; height:30px;border-radius:5px; position:relative;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none;
}
#footer_social_link li:before {
  font-family:'design_plus'; color:#fff; 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;z-index:2;
}
#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.insta:before { content:'\ea92'; top:11px; }
#footer_social_link li.rss:before { content:'\e90b'; }
#footer_social_link li.twitter:hover:before { color:#fff; }
#footer_social_link li.facebook:hover:before { color:#fff; }
#footer_social_link li.insta:hover:before { color:#fff; }
#footer_social_link li.rss:hover:before { color:#fff; }

#footer_social_link li.twitter a {background-color:#16b9dc; }
#footer_social_link li.facebook a {background-color:#3B5998; }
#footer_social_link li.insta a {background-color:#8a3ab9; }
#footer_social_link li.rss a {background-color:#ffcc00; }


/* コピーボタン */
.single_copy_title_url { text-align: center; }
.single_copy_title_url_btn {
  font-size:14px; background:#fff; border:3px solid #ccc; cursor:pointer; line-height:54px; min-width:300px; padding: 0 15px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.3s; -webkit-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.3s; transition-timing-function:ease;
}
.single_copy_title_url_btn.copied { background:#ccc; color:#fff; pointer-events:none; }
.single_copy_title_url_btn:hover {color: #777;}
#single_copy_title_url_top { margin:0 0 40px 0; }
#single_copy_title_url_bottom { margin: 0px 0 35px; }
.single_copy_title_url_btn:hover { color: #777;}


/* コピーライト */
#copyright { display:block; margin:auto; position:absolute; right:0; left:0; text-align:center; height:60px; line-height:60px; font-size:12px; color:#fff; z-index:1; }
#copyright a { color:#fff; }


/* ページ上部へ戻るボタン */
#return_top {
  display:none; position:fixed; right:0px; bottom:0px; z-index:10;
  -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:#333;
}
#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#return_top a:hover { opacity:1; }
#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 (min-width: 771px) {
.dp-footer-bar{ display: none !important; }
body{ padding-bottom: 0 !important; }
#return_top{ bottom: 0 !important; }
}

/* ローディングアイコン */
#site_wrap { display:none; }
#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;
	-webkit-transition: opacity 0.3s; transition: opacity 0.3s;
}
#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:14px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline, #side_col .widget_block .wp-block-heading { height:55px; line-height:55px; font-size:14px; margin:0 0 20px 0; background:#333; color:#fff; padding:0 20px; }

.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 { }
.side_widget img { height:auto; max-width:100%; }


/* 広告 */
.ml_ad_widget { margin:0 0 60px 0; border:none; padding:0; background:none; }
.ml_ad_widget img { height:auto; max-width:100%; 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; }


/* デザインされた記事一覧１ */
.styled_post_list1_widget { /* border:1px solid #ddd; */ padding:0; }
.styled_post_list1_widget .side_headline { margin:0; position:relative; }
.styled_post_list1 { margin:0; padding:0; }
.styled_post_list1 li { margin:0; padding:0; background:none; border:1px solid #ddd; border-top:0; }
.styled_post_list1 li:last-child { /* border:none; */ padding:0; margin:0; }
.styled_post_list1 .image { float:left; display:block; margin:0 15px 0 0; overflow:hidden; width:120px; height:120px; position:relative; z-index:2; }
.styled_post_list1 .image img { width:100%; height:100%;
  -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 { padding:18px; }
.styled_post_list1 .title { font-size:14px; margin:0; padding:0; display:block; font-weight:400; line-height:1.6; }
.styled_post_list1 .date { margin:0 0 5.8px 0; position:relative; display:block; line-height:100%; font-size:14px; }


/* タブ記事 */
.tab_post_list_widget .styled_post_list1 li { border-left:0; border-right:0; }
.tab_post_list_widget .styled_post_list1 li:last-child { border-bottom: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 {}
.tcdw_category_list_widget .side_headline { margin:0; }
.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; border:1px solid #ddd; border-top:0; }
.collapse_category_list li li { margin:0; padding:0; }
.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:#ddd; }
.collapse_category_list li li li a .count { background:#aaa; }
.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; background-color:#eee; margin:0;}
.collapse_category_list ul .children a { padding-left:33px; background-color:#bbb; color:#fff; }
.collapse_category_list li a:before {
  content:''; display:block; position:absolute; left:-7px; top:50%; top:-webkit-calc(50% - 4px); top:calc(50% - 4px); top:calc(50% - 4px);
  width: 0; height: 0; border-style: solid; border-width: 4.5px 0 4.5px 6px; border-color: transparent transparent transparent orange;
  -webkit-transition: -webkit-left 0.35s; transition: left 0.35s;
}
.collapse_category_list li a:hover:before { left:8px; }
.collapse_category_list li a:hover .count { background-color:orange; color:#fff; }


/* 検索 */
/*.widget_search label { display:none; }
.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:260px; 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(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_search label { display:none; }
#searchform {
  border:1px solid #ddd; background:#fff; height:50px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#searchform #s {
  border:none; background:none; padding:0 18px; margin:0; width:calc(100% - 50px); height:50px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#searchform #searchsubmit {
  border:none; background:none; width:50px; height:50px; z-index:200; position:relative;
  cursor:pointer; display:block; text-indent:-300px; overflow:hidden;background:#222; 
}
#searchform .submit_button  { position:relative; width:50px; height:50px; float:right;top: -1px;}
#searchform .submit_button:before {
  text-indent:0; display:block; width:50px; height:50px; line-height:50px; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'design_plus'; color:#fff; font-size:18px; content:'\e915'; right:0px; top:0px; z-index: 500;
}
#searchform .submit_button:hover:before { color:#aaa; }
#searchform .submit_button:hover {  }



/* アーカイブ、カテゴリードロップダウンメニュー */
#side_col .widget_archive, #side_col .widget_categories, #side_col .tcdw_archive_list_widget { background:#fff; padding:0; }
.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:1px solid #ddd; border-top:0; 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:0; position:relative; }
.widget_archive .side_headline { margin: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:1px solid #ddd; border-top:0; 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_archive, .widget_categories, .tcd_archive_dropdown  {
  position: relative;
  z-index: 1;
}

.tcd_archive_dropdown:after  {
  position: absolute;
  content: '';
  width: 7px;
  height: 7px;
  right: 15px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  z-index: -1;
  visibility:visible;
}
/*.widget_archive:after, .widget_categories:after { top: 75%; }*/
select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  box-sizing: border-box;
  height: 55px;
}

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


/* プロジェクト */
.project_list_widget { overflow:hidden; }
.project_list_widget .side_headline { margin-bottom:5px; }
.project_list_widget ol { margin:0 -10px 0px 0; position:relative; }
.project_list_widget li { float:left; margin:0 5px 5px 0 !important; padding:0 !important; width:96px; height:96px; overflow:hidden; }
.project_list_widget .image { display:block; width:96px; height:96px; }
.project_list_widget .image img { display:block; max-width:initial; width:100%; height:100%; }

/* デフォルトのRSS */
.widget_rss .rss-widget-feed { display:none; }
.widget_rss .rss-widget-title { text-decoration: none; color: inherit;}
.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:first-child{padding-top: 10px;}
.widget_rss ul li:last-child{padding-bottom: 10px;}
.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:first-child{margin-top: 10px;}
.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 { line-height: 1.6; }

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 18px; font-size:14px; 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;
  margin-top: 20px;
}
.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%);}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { font-size:12px; margin:0; }
#comment_headline { font-size:14px; margin:0 0 20px 0; }
#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:12px; color:#757676; margin:10px 0 0 0; }

.comment-act { background:url(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(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(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%; }


/* 検索結果 */
.search-no-results .no_post { margin-bottom: 30px; }

/* MONOLITH用の pagebuilder のスタイル */
.post_content .pb_headline { font-weight:normal; }
.post_content .pb_catchcopy { font-weight:normal; }
.post_content .pb-widget-editor { line-height: 2.2; }
#post_pagination p + a { border-left: none; }
#project_info table, #project_info tbody, #project_info tfoot, #project_info thead, #project_info tr, #project_info th, #project_info td { padding-top:0; padding-bottom:0; }

/* gallery caption */
.wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption{ box-sizing: border-box; }
.post_content ul.wp-block-gallery{ margin-left: 0; }

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

/* ----------------------------------------------------------------------
埋め込みブロックのmarigin調整
---------------------------------------------------------------------- */
.wp-block-embed { margin-bottom: 2em; }

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

/* ----------------------------------------------------------------------
 長いURLなどがはみ出る現象
---------------------------------------------------------------------- */
.post_content p { word-wrap: break-word; }

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

/* スクロール */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 60px;
}
html:has(.fix_top) {
	scroll-padding-top: 280px;
}
html:has(.fix_top.header_fix) {
	scroll-padding-top: 150px;
}
@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 #main_col {
  display: flex;
  gap: 30px;
}

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

body.single-project .flex_layout {
  display: flex;
  gap: 30px;
}

body.single-info #main_col {
  display: flex;
  gap: 30px;
}

body.single-event #main_col {
  display: flex;
  gap: 30px;
}

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

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

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

body.page-template-default  #main_col {
  display: flex;
  gap: 30px;
}

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

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

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

/* 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; }
.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; }
/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
/* alignment */
.post_content .alignright { float:right; }
.post_content .alignleft { float:left; }
.post_content .aligncenter { display:block; margin-left:auto; margin-right:auto; margin-bottom:7px; }
.post_content blockquote.alignleft, .post_content img.alignleft { margin:7px 24px 7px 0; }
.post_content .wp-caption.alignleft { margin:7px 14px 7px 0; }
.post_content blockquote.alignright, .post_content img.alignright { margin:7px 0 7px 24px; }
.post_content .wp-caption.alignright { margin:7px 0 7px 14px; }
.post_content blockquote.aligncenter, .post_content img.aligncenter, .post_content .wp-caption.aligncenter { margin-top:7px; margin-bottom:7px; }


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


/* image */
.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img
 { height:auto; max-width:100%; }


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


/* table */
.post_content table { margin:0 0 24px 0; width:100% !important; }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px; line-height:2.2; }

@media only screen and (max-width:767px) {
	.mobTbl td, .mobTbl th{width:inherit !important;display:block;box-sizing:border-box;border-bottom:none;}
	.mobTbl tr:last-of-type td:last-of-type{border:1px solid #bbb;}
}

.post_content th { background:#ddd;vertical-align:middle;font-weight:bold;}
/* 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; }


/* block quote */
.post_content blockquote { margin:0 0 25px 0; padding:27px 30px 0; border:1px solid #ccc; box-shadow:0px 4px 0px 0px #f2f2f2; position:relative; }
.post_content blockquote:before { content: '"'; font-style:italic; font-size:30px; font-weight:normal; line-height:40px; width:30px; height:30px; position:absolute; top:5px; left:10px; color:#5cbcd7; }
.post_content blockquote:after { content: '"'; font-style:italic; font-size:30px; font-weight:normal; text-align:left; line-height:60px; width:30px; height:30px; position:absolute; bottom:7px; right:-2px; color:#5cbcd7; }
.post_content blockquote cite { border-top:1px dotted #aaa; display:block; padding:20px 0 0 0; font-style:italic; text-align:right; font-size:90%; }


/* captions */
.post_content .wp-caption { margin-bottom:24px; background:#fff; border:1px solid #ccc; padding:5px; max-width:100%; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.post_content .wp-caption-text { text-align:center; font-size:12px; font-style:italic; line-height:1.5; margin:9px auto; }
.post_content .wp-caption img[class*="wp-image-"] { display:block; margin:0 auto; }


/* gallery */
.gallery { margin-bottom:20px; }
.gallery a img { border: 0 !important; }
.gallery-item { float:left; margin:0 4px 4px 0; overflow:hidden; position:relative; }
.gallery-columns-1 .gallery-item { max-width:100%; }
.gallery-columns-2 .gallery-item { max-width:48%; max-width:-webkit-calc(50% - 4px); max-width:calc(50% - 4px); }
.gallery-columns-3 .gallery-item { max-width:32%; max-width:-webkit-calc(33.3% - 4px); max-width:calc(33.3% - 4px); }
.gallery-columns-4 .gallery-item { max-width:23%; max-width:-webkit-calc(25% - 4px); max-width:calc(25% - 4px); }
.gallery-columns-5 .gallery-item { max-width:19%; max-width:-webkit-calc(20% - 4px); max-width:calc(20% - 4px); }
.gallery-columns-6 .gallery-item { max-width:15%; max-width:-webkit-calc(16.7% - 4px); max-width:calc(16.7% - 4px); }
.gallery-columns-7 .gallery-item { max-width:13%; max-width:-webkit-calc(14.28% - 4px);	max-width:calc(14.28% - 4px); }
.gallery-columns-8 .gallery-item { max-width:11%; max-width:-webkit-calc(12.5% - 4px); max-width:calc(12.5% - 4px); }
.gallery-columns-9 .gallery-item { max-width: 9%; max-width:-webkit-calc(11.1% - 4px); max-width:calc(11.1% - 4px); }
.gallery-columns-10 .gallery-item { max-width: 7%; max-width:-webkit-calc(9.4% - 0px); max-width:calc(9.4% - 0px); }
.gallery-columns-1 .gallery-item:nth-of-type(1n), .gallery-columns-2 .gallery-item:nth-of-type(2n), .gallery-columns-3 .gallery-item:nth-of-type(3n), .gallery-columns-4 .gallery-item:nth-of-type(4n), .gallery-columns-5 .gallery-item:nth-of-type(5n), .gallery-columns-6 .gallery-item:nth-of-type(6n), .gallery-columns-7 .gallery-item:nth-of-type(7n), .gallery-columns-8 .gallery-item:nth-of-type(8n), .gallery-columns-9 .gallery-item:nth-of-type(9n), .gallery-columns-10 .gallery-item:nth-of-type(10n) { margin-right:0; }
.gallery-caption { background-color:rgba(0, 0, 0, 0.7);	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; color:#fff; font-size:12px; line-height:1.5; margin:0; max-height:50%; opacity:0; padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%; }
.gallery-caption:before { content: ""; height:100%; min-height:49px; position:absolute; top:0; left:0; width:100%; }
.gallery-item:hover .gallery-caption { opacity: 1; }
.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption { display: none; }


/* etc */
.post_content .wp-smiley { border:0; margin-bottom:0; margin-top:0; padding:0; }
.post_content address { margin:0 0 24px 0; line-height:2.2; }
.post_content pre { border-left:5px solid #7fc120; font-size:12px; margin:0 0 27px 0; line-height:25px; background:url(img/common/pre.gif) repeat left top; padding:0 17px; overflow:auto; }
.post_content .sticky { }
.post_content .mejs-container { margin: 12px 0 25px; }

/* MONOLITH用の pagebuilder のスタイル */
.post_content .pb_headline{font-weight:normal;}
.post_content .pb_catchcopy { font-weight:normal; }
.post_content .pb-widget-editor { line-height: 2.2; }
#post_pagination p + a { border-left: none; }
#project_info table, #project_info tbody, #project_info tfoot, #project_info thead, #project_info tr, #project_info th, #project_info td { padding-top:0; padding-bottom:0; }

/* gallery caption */
.wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption{ box-sizing: border-box; }
.post_content ul.wp-block-gallery{ margin-left: 0; }

/*-Page custom---------------------------------------------*/


/*fancybox*/
@media only screen and (max-width:767px) {
#fancybox-title-over{
padding:5px !important;
font-size:0.8em !important;
}
}

/*スマホのときだけ*/
.contPc{display:block;}
.contMob{display:none;}

@media only screen and (max-width:500px) {
.contPc{display:none;}
.contMob{display:block;}
}


/*---------------------
report:現場公開
---------------------*/
.report_info,
.cost_info{
margin:30px 0;
}
.report_info table,
.cost_info table{ margin:0 0 24px 0; width:100% !important; }

.cost_info th,
.cost_info td,
.report_info td,
.report_info th {border:1px solid #bbb; padding:10px 15px; line-height:2.2; }

@media only screen and (max-width:767px) {
	.cost_info td,
	.cost_info th,
	.report_info td,
	.report_info th{width:inherit !important;display:block;box-sizing:border-box;border-bottom:none;}

	.cost_info tr:last-of-type td:last-of-type,
	.report_info tr:last-of-type td:last-of-type{border:1px solid #bbb;}
}

.cost_info th,
.report_info th {width:20%;background:#ddd;vertical-align:middle;font-weight:bold;}

.cost_info a.btn_pdf,
.report_info a.btn_camera,
.report_info a.btn_project{
text-decoration:none;
text-align:center;
display:inline-block;
padding:10px 20px;
color:#fff;
border-radius: 3px;
transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15);
}

.cost_info a.btn_pdf,
.report_info a.btn_camera{background:#e31b13;}
.report_info a.btn_project{background:#000;}

.cost_info a.btn_pdf:hover,
.report_info a.btn_camera:hover,
.report_info a.btn_project:hover{text-decoration:none; color:#fff; background-color:#666; box-shadow:0 2px 2px rgba(0,0,0,.15) inset;}

.report_info a.btn_camera:hover,
.report_info a.btn_camera:focus,
.report_info a.btn_project:hover,
.report_info a.btn_project:focus{text-decoration:none; box-shadow:0 2px 2px rgba(0,0,0,.15) inset;}

.report_camera{
width:80px;
height:80px;
webkit-border-radius: 50%;
-moz-border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
border-radius: 50%;
overflow: hidden;
display:inline-block;
font-size:12px;
position:absolute;
bottom:20px;
right:20px;
box-shadow:0 1px 3px rgba(0,0,0,.2);
}


.report_camera a.btn_camera{
box-sizing:border-box;
padding:10px;
background:#e31b13;
color:#fff;
text-align: center;
display:inline-block;
width:100%;
height:100%;
transition:all 0.3s ease-in-out 0s;
}
.report_camera a.btn_camera:hover {background:#666666;}

.report_camera i{
display:block;
text-align: center;
font-size:24px;
margin-top:6px;
margin-bottom:5px;
margin-right:0;
}

@media only screen and (max-width:767px) {
.report_camera{
width:70px;
height:70px;
right:10px;
bottom:10px;
font-size:10px;
}
.report_camera i{
font-size:18px;
}
}

/*timeline*/
.report_timeline{
margin:40px auto;
}
.report_timeline p.catch{
font-size:1.2em;
text-align:center;
color:#e31b13;
}

.report_timeline #tab {
	margin-left: 0;
	padding-left: 0;
	margin-bottom: 1em;
	border-bottom: 3px solid #000;
	}

.report_timeline #tab.bottom{
border-bottom:none;
border-top:3px solid #000;
}

.report_timeline #tab li {
	float: left;
	width: 25%;
	margin-bottom:-1px;
	margin-right:-1px;
}
.report_timeline #tab li a {
	display:inline-block;
	width:100%;
	height:100%;
	padding:10px 0;
	border: 1px solid #000;
	color: #000;
	text-align: center;
	box-sizing: border-box;
}

.report_timeline #tab li a:hover,
.report_timeline #tab li.present a {
	border-color: #000;
	color: #fff;
	background: #000;
}


.report_timeline .tab_content {
padding-top:200px;
margin-top:-200px;
}

.report_timeline#page{
	padding-top:80px;
	margin-top:-80px;
}
.report_timeline .wrap{
margin-top:40px;
}

.report_timeline .itemBox{
width:100%;
background:#f7f7f7;
box-sizing: border-box;
margin-bottom:20px;
display:flex;
}

.report_timeline .itemBox .photo {
width:300px;
height:225px;
text-align: center;
overflow: hidden;
position: relative;
background:#D9D9D9;
box-sizing: border-box;
}
.report_timeline .itemBox .article{
width:calc(100% - 300px);
padding:15px;
box-sizing: border-box;
}

.report_timeline .itemBox .photo:before {
    content:"";
    display: block;
    padding-top: 75%;
}

.report_timeline .itemBox .photo a{
width:100%;
height:100%;
position: absolute;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
}

.report_timeline .itemBox .photo img {
min-height:100%;
/*min-width:100%;*/
width:auto;
height:100%;
vertical-align:middle;
}

.report_timeline .itemBox .article{
/*width:100%;*/
padding:10px;
}

.report_timeline .itemBox .article .date{
text-align:left;
margin-bottom:10px;
font-weight:bold;
line-height: 30px;
}
.report_timeline .itemBox .article .date span.num{
width:30px;
height:30px;
margin-right:10px;
text-align: center;
color:#fff;
background:#e31b13;
display:inline-block;}

.report_timeline .itemBox .article .desc{
font-size:13px;
line-height:1.6;
}
.report_timeline .itemBox .article .desc p:not(:last-of-type){
margin-bottom:1em;
}

.report_timeline .itemBox .article .desc a{
color:#000;
text-decoration:underline;
}
.report_timeline .itemBox .article .desc a:hover{
color:#e31b13;
text-decoration: none;
}

@media screen and (max-width: 480px){

	.report_timeline{margin:0;}

	.report_timeline p.catch{
	font-size:12px;
	}

	.report_timeline .itemBox{
	display:inherit;
	}
	.report_timeline .itemBox .photo {
	width:100%;
	}

	.report_timeline .itemBox .article{
	width:100% !important;
	padding:10px;
	}

}


/*---------------------
webcamera説明
---------------------*/
.webcameraInfo{margin-top:60px;padding-top:40px;border-top:1px solid #ccc;}
.webcameraInfo h3.catch{margin-top:30px;margin-bottom:20px;font-size:1.4em;color:#000;}
.webcameraInfo p{line-height: 1.6;}

.webcameraInfo .wabcameraItem{
padding:20px;
background:#f7f7f7;
vertical-align: top;
}

.webcameraInfo .wabcameraItem li.item{
width:360px;
margin-right:30px;
display:inline-flex;
align-items: flex-start;
vertical-align: top;
}

.webcameraInfo .wabcameraItem li.item:nth-of-type(3n){
margin-right:0%;
}

.webcameraInfo .wabcameraItem li.item .pic{
width:160px;
margin-right:20px;
}
.webcameraInfo .wabcameraItem li.item .pic img{
width:100%;
height:auto;
}

.webcameraInfo .wabcameraItem li.item .desc{
width:calc(100% - 180px);
font-size: 12px;
}

@media only screen and (max-width:767px) {
.webcameraInfo .wabcameraItem li.item{
width:100%;
}
.webcameraInfo .wabcameraItem li.item .pic{
width:80px;
}
.webcameraInfo .wabcameraItem li.item .desc{
width:calc(100% - 100px);
}
.webcameraInfo .wabcameraItem li.item{
margin-bottom:30px;
}
}

@media screen and (max-width:500px) {
.webcameraInfo h3.catch{font-size:1.1em;margin-top:20px;margin-bottom:10px;}
}


/*---------------------
cost_case:原価公開例
---------------------*/
p.cost_btn{
margin-top:30px;
text-align: center;
}
p.cost_btn .btn_link{
font-size:1.1em;
min-width:50%;
text-decoration:none;
text-align:center;
display:inline-block;
padding:20px 40px;
background:#e31b13;
color:#fff;
border-radius: 3px;
transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15);
}
p.cost_btn .btn_link:hover{text-decoration:none; color:#fff; background-color:#666; box-shadow:0 2px 2px rgba(0,0,0,.15) inset;}

.cost_feature{
margin-top:30px;
padding:30px;
border-radius: 10px;
background:#f7f7f7;
}
.cost_feature h3.ttl{
margin-bottom:20px;
color:#e31b13;
font-size:1.4em;
font-weight: bold;
}
.cost_feature p{
line-height:1.6 !important;
}
.cost_feature p:not(:last-of-type){
margin-bottom:1.75em;
}

.cost_photo{
text-align:center;
margin-top:30px;
}
.cost_photo dl.item{
width:400px;
margin-right:30px;
margin-bottom:30px;
display:inline-block;
}

.cost_photo dl.item:nth-of-type(2n){
margin-right:0%;
}
.cost_photo dl.item dt.name{
width:100%;
padding:10px;
text-align:center;
color:#fff;
background:#000;
box-sizing: border-box;
}

.cost_photo dl.item dd.photo{
margin-top:5px;
width:100%;
text-align: center;
position: relative;
overflow: hidden;
box-sizing: border-box;
border:1px solid #ddd;
}

.cost_photo dl.item dd.photo:before {
    content:"";
    display: block;
    padding-top: 66.1764%;
}
.cost_photo dl.item dd.photo a{
width:100%;
height:100%;
position: absolute;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
}

.cost_photo dl.item dd.photo img{
min-height:100%;
max-width: inherit;
width:auto;
height:100%;
vertical-align:middle;
}

@media screen and (max-width:770px){
	.cost_photo dl.item{
	width:49%;
	margin-right:0.5%;
	margin-bottom:20px;
	}
}

@media screen and (max-width: 480px){
	.cost_photo dl.item{
	width:100%;
	margin-right:0;
	}
}


/*---------------------
cost:原価公開ページ
---------------------*/
.marker{
background: linear-gradient(rgba(255,255,0,0) 30%,#FFFF00 90%);
}

.doubtList .ttl,
.discloseList .ttl,
.meritList .ttl,
.meritList2 .ttl{
text-align: center;
font-size:2.4em;
font-weight: normal !important;
}

.meritList ul,
.meritList2 ul,
.doubtList ul,
.discloseList ul{
list-style:none !important;
margin:30px 0 0 0;
}

.doubtList ul a,
.discloseList ul a,
.meritList ul a,
.meritList2 ul a{
display:inline-block;
}

.doubtList .catch,
.discloseList .catch,
.meritList .catch,
.meritList2 .catch{
font-size:1.8em;
color:#e31b13;
margin-top:20px;
margin-bottom:0;
}

.doubtList .ttl{
padding-top:50px;
border-top:1px solid #ddd;
}

.doubtList ul{
display: flex;
flex-wrap: wrap;
list-style: none;
}

.doubtList ul li{
display:inline-block;
background:#f7f7f7;
border-radius: 5px;
width:280px;
min-height:80px;
margin:10px;
box-sizing: border-box;
padding:20px 20px 20px 80px;
position:relative;
box-shadow:0 0px 3px rgba(0,0,0, 0.2);
}
.doubtList ul li::before{
content:'';
width:60px;
height:60px;
position:absolute;
left:10px;
top:10px;
background-image:url(img/page/cost/cost_doubtList.png) ;
background-repeat: no-repeat;
background-size:auto 60px;
}

.doubtList ul li:nth-of-type(1)::before{
background-position:0 0;
}
.doubtList ul li:nth-of-type(2)::before{
background-position:-60px 0;
}

.doubtList ul li:nth-of-type(3)::before{
background-position:-120px 0;
}

.doubtList ul li:nth-of-type(4)::before{
background-position:-180px 0;
}

.doubtList ul li:nth-of-type(5)::before{
background-position:-240px 0;
}

.doubtList ul li:nth-of-type(6)::before{
background-position:-300px 0;
}

.doubtList ul li:nth-of-type(7)::before{
background-position:-360px 0;
}

.doubtList ul li:nth-of-type(8)::before{
background-position:-420px 0;
}

.doubtList ul li:nth-of-type(9)::before{
background-position:-480px 0;
}

.doubtList ul li:nth-of-type(10)::before{
background-position:-540px 0;
}

.doubtList ul li:nth-of-type(11)::before{
background-position:-600px 0;
}

.doubtList ul li:nth-of-type(12)::before{
background-position:-660px 0;
}
.doubtList .catch{
position:relative;
text-align:center;
margin-top:50px;}


.discloseList{
padding:50px;
background:#01698C;
color:#fff;
}

.discloseList .wrap{
display:flex;
flex-wrap:wrap;
margin-bottom:40px;
}
.discloseList ul{
width:520px;
list-style: none;
}
.discloseList ul:nth-child(1){
margin-right:50px;
}
.discloseList .catch{
text-align: center;
color:#fff;
}

.discloseList ul li,
.meritList ul li,
.meritList2 ul li{
padding-left:2.5em;
}

.discloseList ul li::before,
.meritList ul li::before,
.meritList2 ul li::before {
font-family: "Font Awesome 5 Free";
margin-left:-1.5em;
margin-right:0.5em;
font-size:1.4em;
}

.discloseList ul li::before{content:"\f14a";color:#fff;font-weight: 900;}
.meritList ul li::before{content:"\f004";color:#e95464;font-weight: 900;}
.meritList2 ul li::before{content:"\f004";color:#79c06e;font-weight: 900;}


.cost_epilogue{
position:relative;
padding:30px;
background:#f7f7f7 url(img/page/cost/cost_epilogue.png) no-repeat left 10% center;
background-size: contain;
}

.doubtList .catch::before,
.cost_epilogue::before{
width:50px;
height:50px;
font-size:50px;
line-height:50px;
position:absolute;
top:-50px;
left:48%;
font-family: "Font Awesome 5 Free";
content:"\f078";
font-weight: 900;
color:#e31b13;
}

.cost_epilogue p{text-align:center;margin-bottom:0;}


@media screen and (max-width:770px){

.doubtList ul li{
width:100%;
margin:10px 0 0 0;
}
.doubtList .ttl,
.discloseList .ttl,
.meritList .ttl,
.meritList2 .ttl{
font-size:1.6em;
}

.doubtList .catch,
.discloseList .catch,
.meritList .catch,
.meritList2 .catch{
font-size:1.4em;
text-align: center;
}

.discloseList{
padding:30px;
}

.discloseList .wrap{
display:inherit;
flex-wrap:inherit;
margin-bottom:40px;
}
.discloseList ul{
width:100%;
}
.discloseList ul:nth-child(1){
margin-right:0;
}

.cost_epilogue{
background:#f7f7f7 url(img/page/cost/cost_epilogue.png) no-repeat center top 20px;
background-size: 80px auto;
padding-top:120px;
}
.cost_epilogue p{text-align:left;}
.cost_epilogue p span{
font-size:20px !important;
}

.doubtList .catch::before,
.cost_epilogue::before{
left:44%;
}

}

/*---------------------
technical:技術紹介ページ
---------------------*/
.techList .wrap{
margin-top:50px;
display: flex;
flex-wrap: wrap;
}

.techList .wrap dl.item{
display:inline-block;
background:#f7f7f7;
border-radius: 5px;
width:378px;
margin-right:30px;
box-sizing: border-box;
padding:20px;
box-shadow:0 0px 3px rgba(0,0,0, 0.2);
}
.techList .wrap dl.item dt,
.techList .wrap dl.item dd{
padding:0;
margin:0;
line-height: 1.6 !important;
}

.techList .wrap dl.item:nth-of-type(3n){
margin-right:0;
}
@media screen and (max-width:770px){
.techList .wrap{
margin-top:30px;
}
.techList .wrap dl.item,
.techList .wrap dl.item:nth-of-type(3n){
width:47%;
margin-right:4%;
padding:10px;
}
.techList .wrap dl.item:nth-of-type(2n){
margin-right:0;
}

}

@media screen and (max-width:500px){
.techList .wrap dl.item,
.techList .wrap dl.item:nth-of-type(3n){
width:100%;
margin-right:0;
}

}

/*---------------------
products:商品案内ページ
---------------------*/
.mieruList{
margin:20px 0 !important;
display:flex;
justify-content: center;
list-style: none !important;
}
.mieruList li{
width:200px;
height:200px;
display: inline-block;
text-align: center;
box-sizing: border-box;
margin:0 15px;
padding:130px 20px 20px 20px;
background-color:#f7f7f7;
border-radius: 5px;
font-size:1.2em;
font-weight: bold;
background-size:auto 100px;
background-position:center top 20px;
background-repeat: no-repeat;
line-height:1.6;
box-shadow: 0 0px 3px rgba(0,0,0, 0.2);
}

.mieruList li.item01{
background-image: url(img/page/products/mieru_icon01.png);
}
.mieruList li.item02{
background-image: url(img/page/products/mieru_icon02.png);
}
.mieruList li.item03{
background-image: url(img/page/products/mieru_icon03.png);
}

.garage_meritList{
list-style: none !important;
margin:0 0 0 0 !important;
}
.garage_meritList li{
padding-left:2.5em;
}

.garage_meritList li::before {
font-family: "Font Awesome 5 Free";
margin-left:-1.5em;
margin-right:0.5em;
font-size:1.4em;
}

.garage_meritList li::before{content:"\f004";color:#e95464;font-weight: 900;}


@media screen and (max-width:770px){
.mieruList li{
width:30%;
margin:0 1%;
font-size:90%;
}
}

@media screen and (max-width:500px){
.mieruList{
display:inherit;
justify-content:inherit;
}
.mieruList li{
width:98%;
height:inherit;
min-height:100px;
text-align: left;
margin:5px 1%;
padding:25px 15px 15px 120px;
background-size:auto 80px;
background-position:left 20px center;
}
}

/*---------------------
presen_case:プレゼン例ページ
---------------------*/
.presen_timeline{
margin:40px auto;
}
.presen_timeline p.catch{
font-size:1.2em;
text-align:center;
color:#e31b13;
}

.presen_timeline .countTtl{
display:block;
width:100%;
padding-top:120px;
margin-top:-100px;
padding-bottom:10px;
margin-bottom:20px;
border-bottom:2px solid #000;
color:#000;
font-size:1.4em;
}


.presen_timeline .wrap{
margin-top:40px;
display:flex;
flex-wrap:wrap;
}

.presen_timeline .itemBox{
background:#f7f7f7;
box-sizing: border-box;
margin-bottom:20px;
width:260px;
display:block;
margin:0 30px 30px 0;
}

.presen_timeline .itemBox:nth-of-type(3n){margin-right:0;}

@media screen and (max-width:770px){
.presen_timeline .itemBox{
width:50%;
margin-right:0;
}
.presen_timeline .itemBox:nth-of-type(3n){margin-right:0px !important;}
}

@media screen and (max-width: 480px){
.presen_timeline .wrap{margin-top:20px;}
.presen_timeline{margin:20px 0;}

.presen_timeline .itemBox{
width:100%;
margin-right:0;
}
.presen_timeline .itemBox:nth-of-type(3n){margin-right:0px !important;}

.presen_timeline p.catch{
font-size:12px;
}
}

.presen_timeline .itemBox .photo {
width:100%;
text-align: center;
overflow: hidden;
position: relative;
border:1px solid #D9D9D9;
box-sizing: border-box;
}
.presen_timeline .itemBox .photo:before {
    content:"";
    display: block;
    padding-top: 66.5384%;
}

.presen_timeline .itemBox .photo a{
width:100%;
height:100%;
position: absolute;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
}

.presen_timeline .itemBox .photo img {
min-height:100%;
min-width:100%;
width:100%;
height:auto;
vertical-align:middle;
}

.presen_timeline .itemBox .photo .date{
display:inline-block;
min-width:140px;
height:40px;
line-height: 40px;
font-size: 12px;
color:#fff;
background:#000;
text-align:left;
position:absolute;
bottom:0;
left:0;
}
.presen_timeline .itemBox .photo .date span.num{
width:40px;
margin-right:10px;
text-align: center;
background:#e31b13;
display:inline-block;}

.presen_timeline .itemBox .article{
width:100%;
padding:10px;
box-sizing: border-box;
}

.presen_timeline .itemBox .article .desc{
font-size:13px;
line-height:1.6;
}
.presen_timeline .itemBox .article .desc p:not(:last-of-type){
margin-bottom:1em;
}

.presen_timeline .itemBox .article .desc a{
color:#000;
text-decoration:underline;
}
.presen_timeline .itemBox .article .desc a:hover{
color:#e31b13;
text-decoration: none;
}

/*---------------------
presentation:プレゼンページ
---------------------*/
.realpresen_flowBox ul{
list-style: none;
margin:0;
}

.realpresenList{
	list-style:none !important;
	margin:30px 0 0 0 !important;
	padding:20px;
	border:3px solid #2eb4ff;
}

.realpresenList li{
padding-left:2.5em;
	font-weight:bold;
	font-size:1.2em;
}
.realpresenList li span{
	font-size:0.85em;
	display:block;
	font-weight:normal;
}

.realpresenList li::before{
font-family: "Font Awesome 5 Free";
margin-left:-1.5em;
margin-right:0.5em;
font-size:1.4em;
}
.realpresenList li::before{content:"\f14a";color:#2eb4ff;font-weight: 900;}

.realpresen_flowBox{
display: flex;
flex-wrap: wrap;
}
.realpresen_flowBox .itemBox{
width:49%;
background-color:#f7f7f7;
padding:20px;
box-sizing: border-box;
margin-bottom:20px;
}
.realpresen_flowBox .itemBox:nth-of-type(2n){
margin-left:2%;
}
.realpresen_flowBox .itemBox a:hover{
filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;

}

.realpresen_flowBox .itemBox h4.ttl{
font-size:1.2em;
padding-left:2.5em;
margin-bottom:20px;
}
.realpresen_flowBox .itemBox h4.ttl span.num{
width:30px;
height:30px;
color:#fff;
font-weight: bold;
background:#2eb4ff;
border-radius: 100%;
display:inline-flex;
justify-content: center;
align-items: center;
margin-right:0.5em;
margin-left:-2.5em;
vertical-align: middle;
}


.realpresen_flowBox .itemBox ul.appList{
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom:10px;
list-style: none;
}
.realpresen_flowBox .itemBox ul.appList li{
width:30%;
margin:0 10px 0 0;
}

.realpresen_flowBox .itemBox p:last-of-type{
margin-bottom:0 !important;
}

.realpresen_flowBox .itemBox .pic{
text-align:center;
}
.realpresen_flowBox .itemBox .pic img{
width:60%;
height: auto;
}

.realpresen_flowBox .itemBox ul.codeList{
display: flex;
justify-content: center;
margin-top:20px !important;
list-style: none;
}
.realpresen_flowBox .itemBox ul.codeList li.accesscode{width:50%;}
.realpresen_flowBox .itemBox ul.codeList li.qrcode{width:30%;margin:0 0 0 4%;}

.realpresen_flowBox .itemBox ul.codeList li.accesscode span{
width:100%;
box-sizing: border-box;
display:inline-block;
text-align:center;
padding:10px;
border:1px solid #ccc;
background:#fff;
box-shadow:inset 1px 1px 3px #dcdcdc;
color:#000;
}


@media screen and (max-width:770px){
.realpresenList{
padding:10px;
}
.realpresenList li{
font-size:1.1em;
line-height:1.8 !important;
}


.realpresen_flowBox .itemBox ul.appList li{
width:48%;
margin-right:2%;
display:inline-block;
}

.realpresen_flowBox .itemBox p:last-of-type{
margin-bottom:0 !important;
}

.realpresen_flowBox .itemBox .pic{
text-align:center;
}
.realpresen_flowBox .itemBox .pic img{
width:100%;
height: auto;
}

.realpresen_flowBox .itemBox ul.codeList{
display:inherit;
justify-content:inherit;
list-style: none;
}
.realpresen_flowBox .itemBox ul.codeList li.accesscode,
.realpresen_flowBox .itemBox ul.codeList li.qrcode{
width:100%;
margin:0 0 10px 0;
text-align: center;}
.realpresen_flowBox .itemBox ul.codeList li.qrcode img{
width:50%;
}

.realpresen_flowBox .itemBox ul.codeList li.accesscode span{
font-size:0.9em;
}
}


@media screen and (max-width: 480px){
.realpresen_flowBox{
display:inherit;
flex-wrap:inherit;
}
.realpresen_flowBox .itemBox{
width:100%;
}
.realpresen_flowBox .itemBox h4.ttl{
font-size:1.0em;
}
.realpresen_flowBox .itemBox:nth-of-type(2n){
margin-left:0;
}


}


.catch_copy_text{
    margin-bottom: 0.5em;
    font-size: 12px;
    margin-left: 1px;
    font-weight: 900;
}
@media screen and ( max-width:770px) {
    .catch_copy_text{
        margin-bottom: 0;
        margin-left: 0;
        font-size: 11px;
        position: absolute;
        left: 16px;
        top: 10px;
    }
    h1.logo a{
        height: 85% !important;
    }
    #logo_image img{
        margin-top: 12px;
        width: auto !important;
    }
}