/* ------------------------------------------
　　テンプレ	No N000
--------------------------------------------- */

/*.table-company {
	width:100%;
}*/

/* ------------------------------------------
　　実装初期定義
--------------------------------------------- */
hr {
 border-top: dotted 1px #ccc;
 border-left: none;
 border-right: none;
 border-bottom: none;
 padding-bottom: 5px;
}

.imagetext {
 overflow: hidden;
}

/*イメージ横テキストの回り込み禁止*/
.indent {
 padding-left: 15px;
}

.row {
 margin-bottom: 20px;
}

a {
 color: #3683d1;
}

a:hover {
 color: #3074b8;
}

.btn.btn--link {
 background: #3683d1;
}

.btn.btn--link:hover {
 background: #3074b8;
}

footer {
 background: #e8e8e8;
}

.topnews-bg {
 background: #3683d1;
}

.topgallery-label {
 background: #3683d1;
}

.footer-backtotop a {
 background: #000;
}

.footer-backtotop a:hover {
 color: #fff;
}

#menu-footer_all li.cat-item a:hover,
.widget_categories li a:hover {
 background-color: #ccc;
}

/* ------------------------------------------
　　グローバルメニュー表示設定
--------------------------------------------- */
@media only screen and (min-width: 768px) {

 .bg-global-nav {
  background: linear-gradient(to bottom, #000 0%, #000 50%, #282828 52%, #282828 100%, #282828 100%);
  border-top: 0;
  border-bottom: 0;
 }

 .global-nav ul li {
  background: linear-gradient(to bottom, #000 0%, #000 50%, #282828 52%, #282828 100%, #282828 100%);
 }

 .global-nav ul li>a {
  color: #fff;
 }

 .global-nav ul li:hover,
 .global-nav ul .current {
  background: linear-gradient(to bottom, #124892 0%, #124892 50%, #155ab7 52%, #155ab7 100%);
  color: #fff;
 }

 .global-nav ul li:hover>a,
 .global-nav ul .current a {
  color: #fff;
 }

 .global-nav ul li {
  border-left: 0;
  border-right: 0;
 }

 .global-nav ul li span {
  color: #fff;
 }

 .global-nav ul li>a:hover span,
 .global-nav ul .current span {
  color: #fff;
 }

}

/* ------------------------------------------
　　見出しCSS設定
--------------------------------------------- */
.content-title--bl {
 border-left: 6px solid #3683d1;
}

.content-subtitle {
 border-bottom: solid 2px #3683d1;
}

/* 下ボーダー（2本線） */
.content-title--bbd {
 border-bottom: 3px double #3683d1;
}

/* ボーダーで囲む × アクセント */
.content-title--bdacc {
 border: 1px solid #ccc;
}

.content-title--bdacc::after {
 background-color: #3683d1;
}

/* 下ボーダー（2カラー） */
.content-title--bb2 {
 border-bottom: 4px solid #ccc;
}

.content-title--bb2::after {
 background-color: #3683d1;
}

/* マーカーのような下線 */
.content-title--marker::after {
 background-color: #3683d1;
}

/* ストライプ */
.content-title--stripe {
 background: -webkit-repeating-linear-gradient(45deg, #3683d1, #3683d1 5px, #3074b8 5px, #3074b8 10px);
 background: repeating-linear-gradient(45deg, #3683d1, #3683d1 5px, #3074b8 5px, #3074b8 10px);
 color: #fff;
 text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}

/* グラデーション × ボーダー × マーク */
.content-title--gb {
 background: -webkit-repeating-linear-gradient(45deg, #3683d1, #3683d1 5px, #3074b8 5px, #3074b8 10px);
 background: repeating-linear-gradient(45deg, #3683d1, #3683d1 5px, #3074b8 5px, #3074b8 10px);
 border-top: 3px solid #3683d1;
 color: #fff;
 text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}

.content-title--gb::after {
 border: 3px solid #3683d1;
}

/* ------------------------------------------
　　テンプレート別CSS
--------------------------------------------- */
.wp-pagenavi span,
.wp-pagenavi a {
 color: #fff;
}

#masthead {
 background-color: #fff;
}

.breadcrumbs>* {
 color: #333;
}

.sub-menu {
 color: #3683d1;
}

.gallery-flow-number span {
 background: #3683d1;
}

.qa-tmp1 dt {
 background: #3683d1;
 opacity: 0.7;
}

.widget_categories li a:before {
 color: #3683d1;
}

.qa-tmp2 dt {
 background: #c9bbbb;
}


/* ------------------------------------------
　　ここから編集CSS
--------------------------------------------- */

/* FONTPLUS書体設定 */
.global-nav-label--ja,
.sub-menu--header {
 font-family: 新ゴ M;
}

h2,
h3,
h4 {
 font-family: 新ゴ M;
}

/*1行表示のときはコメントアウトを外す*/
/*span.global-nav-label--en {display:none !important;}*/

.point01 {
 color: #1F497D;
}

/*ポイントカラー1色目*/
.point02 {
 color: #00ff00;
}

/*ポイントカラー2色目*/

/* ------------------------------------------
　　メディア別追加CSS設定
--------------------------------------------- */


/* PC版のスタイルを追加する場合はここに記述 */
@media screen and (min-width: 1025px) {}


/* タブレット・PC版両方のスタイルを追加する場合はここに記述 */
@media screen and (min-width: 768px) {}

/* for tablet */
/* タブレット版のスタイルを追加する場合はここに記述 */
@media screen and (max-width:1024px) and (min-width: 768px) {}

/* for sp */
/* スマホ版のスタイルを追加する場合はここに記述 */
@media screen and (max-width:767px) {
 .pr-area .toppr-image {
  margin: 0 auto 15px;
 }
}

@media only screen and (min-width: 1025px) {
 #menu-footer_all>li>a {
  min-height: unset;
 }

 #menu-footer_all>li {
  width: unset;
 }

 #menu-footer_all>li>a {
  padding: 0;
 }
}

#menu-footer_all>li>a {
 border-bottom: solid 1px #ccc;
 font-weight: normal;
 font-size: 14px;
}

.footer-bgtop .container {
 max-width: 600px;
}

footer {
 background: #f7f7f7;
}

@media (min-width: 1200px) {
 .container {
  width: 900px;
 }
}

@media (min-width: 992px) {
 .container {
  width: 900px;
 }

 .col-md-3 {
  width: 210px;
 }

 .col-md-9 {
  width: 100%;
  max-width: 660px;
  margin: 0;
 }
}

.row {
 margin-left: 0;
 margin-right: 0;
}

@media (min-width: 768px) {

 .col-xs-1,
 .col-sm-1,
 .col-md-1,
 .col-lg-1,
 .col-xs-2,
 .col-sm-2,
 .col-md-2,
 .col-lg-2,
 .col-xs-3,
 .col-sm-3,
 .col-md-3,
 .col-lg-3,
 .col-xs-4,
 .col-sm-4,
 .col-md-4,
 .col-lg-4,
 .col-xs-5,
 .col-sm-5,
 .col-md-5,
 .col-lg-5,
 .col-xs-6,
 .col-sm-6,
 .col-md-6,
 .col-lg-6,
 .col-xs-7,
 .col-sm-7,
 .col-md-7,
 .col-lg-7,
 .col-xs-8,
 .col-sm-8,
 .col-md-8,
 .col-lg-8,
 .col-xs-9,
 .col-sm-9,
 .col-md-9,
 .col-lg-9,
 .col-xs-10,
 .col-sm-10,
 .col-md-10,
 .col-lg-10,
 .col-xs-11,
 .col-sm-11,
 .col-md-11,
 .col-lg-11,
 .col-xs-12,
 .col-sm-12,
 .col-md-12,
 .col-lg-12,
 .container {
  padding-left: 0;
  padding-right: 0;
 }

 .bg-global-nav {
  display: none;
 }

 .home-introTxt {
  font-weight: bold;
  font-size: 20px;
 }

 .home-introTxt>span {
  font-size: 18px;
 }

 .ft14 {
  font-size: 14px;
 }

 .bnrFlex {
  display: flex;
  justify-content: space-between;
 }

 .bnrFlex p br {
  display: none;
 }

 .topnews .col-sm-6 {
  float: unset;
 }

 .topnews .top-infos>.row {
  display: flex;
  justify-content: space-between;
 }

 .top-infos-news {
  margin-right: 5px;
 }

 .top-info-company {
  margin-left: 5px;
 }
}

@media (max-width: 767px) {
 .home-introTxt {
  font-weight: bold;
  font-size: 14px;
 }

 .home-introTxt>span {
  font-size: 13px;
 }

 body.home>.container {
  padding-left: 0;
  padding-right: 0;
 }

 .sp-ft14 {
  font-size: 14px;
 }

 .sp-ft12 {
  font-size: 12px;
 }
}

a {
 color: #333;
}

.tel.hidden-tb,
.toppr,
.pr-area .row,
.topgallery .row,
.topgallery .topgallery-introdunction,
.topgallery .top-btn-more {
 display: none;
}

.ft13 {
 font-size: 13px;
}

.ft-org {
 color: #c26239;
}

.txt-w {
 color: #fff;
}

.txt-under {
 text-decoration: underline;
}

.txt-center {
 text-align: center;
}

.txt-right {
 text-align: right;
}

.txt-left {
 text-align: left;
}

.ft-m {
 font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
 font-size: 1.05em;
}

.mb0 {
 margin-bottom: 0;
}

.mb20 {
 margin-bottom: 20px;
}

.mb30 {
 margin-bottom: 30px;
}

.caution-tit {
 font-size: 24px;
 font-weight: bold;
}

.contact-btn a {
 background-color: #c26239;
 color: #fff;
 display: block;
 max-width: 210px;
 margin: auto;
 padding: 15px 5px;
 font-size: 0.8em;
 text-align: center;
 font-weight: bold;
}

.home-note {
 background-color: #9a0000;
 margin-top: 50px;
 margin-bottom: 30px;
}

.home-note p:first-child {
 font-size: 18px;
 font-weight: bold;
 padding-top: 30px;
}

.home-note p:last-child {
 padding-bottom: 30px;
}

.home-txt01 {
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 30px;
}

.side-navi {
 background-image: url(/wp-content/uploads/2026/07/navi01_bg2.jpg);
 min-height: 325px;
 padding-left: 65px;
 background-position-x: center;
 max-width: 210px;
 margin: 0 auto 20px !important;
}

.side-navi>p {
 padding: 20px 0;
 margin-bottom: 0;
 text-align: left;
}

.side-navi>p a {
 color: #333;
 font-size: 14px;
 font-weight: bold;
}

.img-flex {
 display: flex;
 justify-content: space-between;
 max-width: 490px;
 margin: auto;
}

.img-flex img {
 width: 49%;
}

.caution-in {
 margin-bottom: 35px;
}

.img-linkFlex {
 display: flex;
 justify-content: space-between;
 margin-bottom: 15px;
}

.img-linkFlex a {
 padding: 5px;
 border: solid 1px #ccc;
 width: 49.8%;
}

.img-linkFlex a img {
 margin-bottom: 0;
}

.top-h2 {
 color: #fff;
 background-color: #333;
 font-size: 16px;
 padding: 5px 10px;
}

.bnrFlex p {
 text-align: center;
 font-size: 12px;
 font-weight: bold;
}

.top-h202 {
 font-size: 16px;
 border-bottom: solid 1px;
 padding-bottom: 5px;
}

.topnews-outer {
 border: none;
}

.topnews-outer li a {
 padding: 0;
}

.topnews-date {
 width: 30%;
 margin: 0 !important;
}

.topnews-title {
 width: 69%;
 margin: 0 !important;
}

.topnews-list li {
 border-bottom: solid 1px #ccc;
}

.top-worksFlex {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 max-width: 320px;
 margin: auto;
}

.col-sm-6.top-info-company {
 position: relative;
}

.link-works {
 background-color: #92855b;
 position: absolute;
 top: 0;
 right: 0;
 margin-bottom: 0;
}

.link-works a {
 color: #fff;
 font-size: 11px;
 display: inline-block;
 padding: 0 10px 0 20px;
 text-decoration: none;
 position: relative;
 font-weight: bold;
}

.link-works:hover {
 opacity: 0.7;
}

.link-works a:before {
 content: '';
 width: 0;
 height: 0;
 border-style: solid;
 border-top: 3px solid transparent;
 border-bottom: 3px solid transparent;
 border-left: 7px solid #ffffff;
 border-right: 0;
 display: block;
 position: absolute;
 left: 8px;
 top: 50%;
 transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {

 .top-infos,
 .topnews {
  margin: 0;
 }
}

@media (max-width: 767px) {
 .col-sm-6 {
  padding-left: 0;
  padding-right: 0;
 }

 .container:has(.sp_disp) {
  padding-left: 0;
  padding-right: 0;
 }
}

.top-infos-news .topnews-outer {
 height: 336px;
 overflow-y: scroll;
}

.topnews-outer .topnews-list li a {
 position: relative;
 display: block;
 height: 30px;
 padding-left: 5px;
}

.topnews-outer .topnews-list li a:before {
 content: '';
 width: 0;
 height: 0;
 border-style: solid;
 border-top: 3px solid transparent;
 border-bottom: 3px solid transparent;
 border-left: 7px solid #92855b;
 border-right: 0;
 display: block;
 position: absolute;
 left: 3px;
 top: 50%;
 transform: translateY(-50%);
}

.topnews-outer .topnews-list li a .topnews-date {
 font-size: 11px;
 font-weight: bold;
}

.topnews-outer .topnews-list li a .topnews-title {
 font-size: 11px;
}

.wrapper-breadcrumbs {
 font-size: 10px;
}

footer .top-h202 {
 margin-left: -15px;
 margin-right: -15px;
}

.content-title--bbd {
 max-width: 900px;
 margin: 0 auto 15px;
 text-align: right;
 border: none;
 color: #fff;
 padding-right: 15px;
 background-image: url(/wp-content/uploads/2026/07/main.jpg);
 background-size: cover;
 aspect-ratio: 18 / 7;
 display: flex;
 justify-content: flex-end;
 align-items: flex-end;
 font-size: 26px;
 text-shadow: 2px 2px 10px #666, -2px 2px 10px #666, 2px -2px 10px #666, -2px -2px 10px #666;
}

@media (min-width: 768px) {
 .page-template-page-menu .col-sm-6 {
  width: 48%;
  margin: 5px 5px 30px !important;
 }

 .post-type-archive-gallery .col-sm-4 {
  width: 100%;
 }

 .works-section {
  margin: 0 0 50px;
 }

 .menu-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }

 .table-bordered {
  font-size: 14px;
 }
}

@media (max-width: 767px) {
 .content-title--bbd {
  font-size: 20px;
 }

 .menu-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }

 .menu-flex>p {
  width: 49%;
 }

 .table-bordered {
  font-size: 12px;
 }
}

.btn.btn--link,
.topgallery-label {
 background: #92855b;
}

.content-title--bl {
 border-left: 6px solid #92855b;
}

.content-subtitle {
 border-bottom: solid 1px #92855b;
 font-size: 16px;
}

.btn.btn--link:hover {
 background: #595439;
}

.topgallery-label {
 top: -75px;
 left: -15px;
 padding: 3px 10px;
 font-size: 18px;
 color: #c26239;
 background: none;
 font-weight: bold;
 transform: rotate(-15deg);
 text-decoration: underline;
}

h3.topgallery-title:before {
 content: 'CASE';
 background-color: #ccc;
 color: #fff;
 padding: 5px 10px;
 font-size: 16px;
 display: flex;
 align-items: center;
 position: absolute;
 top: 0;
 left: 0;
 height: 100%;
}

h3.topgallery-title {
 font-size: 16px;
 border: none;
 padding: 10px 10px 10px 70px;
 background-color: #eee;
 position: relative;
}

.menu-template-default.single .cat-links {
 display: none;
}

.m-txt {
 display: block;
 text-align: center;
 background-color: #92855b;
 color: #fff;
 font-size: 12px;
 padding: 3px 0;
}

.table-bordered,
.table-bordered>tbody>tr>th,
.table-bordered>tbody>tr>td {
 border: none;
}

.table-bordered tr {
 border-bottom: #92835a 1px dotted;
 position: relative;
}

.table-bordered tr th {
 width: 25%;
 padding: 8px 8px 8px 15px !important;
}

.table-bordered tr td {
 width: 75%;
}

.table-bordered tr:before {
 content: '';
 width: 0;
 height: 0;
 border-style: solid;
 border-top: 3px solid transparent;
 border-bottom: 3px solid transparent;
 border-left: 7px solid #92855b;
 border-right: 0;
 display: block;
 position: absolute;
 left: 3px;
 top: 14px;
}

.info-bl {
 border: solid 1px #92855b;
 margin-bottom: 15px;
}

.info-tit {
 margin: 1px 1px 10px;
 padding: 5px 5px 5px 0;
 background-color: #92855b;
 font-weight: bold;
 color: #fff;
}

.info-tit span {
 padding: 6px 10px;
 background-color: #736848;
 margin-right: 10px;
}

.info-bl p:last-child {
 padding: 5px 15px 0;
}

@media (min-width: 768px) {
 .interior-flex {
  display: flex;
  justify-content: space-between;
 }

 .interior-flex>div:first-child {
  width: 55%;
 }

 .interior-flex>div:last-child {
  width: 44%;
 }

 .interior-flex02 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
 }

 .interior-flex02 table {
  width: 49%;
 }

 .contents {
  padding-bottom: 0;
 }
}

@media (max-width: 767px) {
 .interior-flex>div:last-child {
  text-align: center;
 }

 .interior-flex02 table {
  width: 100%;
 }
}

.interior-flex02 table {
 font-size: 13px;
 margin-bottom: 15px;
}

.interior-flex02 table tr th {
 background-color: #F5F4F0;
 border: solid 1px #E6E6E6;
 padding: 10px;
 width: 45%;
}

.interior-flex02 table tr td {
 border: solid 1px #E6E6E6;
 padding: 10px;
 width: 55%;
}

.interior-flex03 {
 display: flex;
 justify-content: space-between;
}

.interior-flex03>div {
 width: 49%;
}

.interior-flex03>div img {
 width: 100%;
 margin-bottom: 0;
}

.interior-flex03>div span.bf {
 display: block;
 text-align: center;
 background-color: #000000;
 color: #fff;
 padding: 3px 0;
}

.interior-flex03>div span.af {
 display: block;
 text-align: center;
 background-color: #9a0000;
 color: #fff;
 padding: 3px 0;
}

@media (min-width: 768px) {
 .beforeafter li {
  float: none;
  width: 48%;
 }

 .beforeafter {
  display: flex;
  justify-content: space-between;
 }

 .before-image:has(.bf):after {
  color: #92855b;
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  font-size: 38px;
  padding-right: 0.4em;
  position: absolute;
  top: calc(50% - 32px);
  right: -11%;
 }

 .topgallery-list li:nth-child(-n+3) {
  margin: 0;
 }

 .beforeafter li:first-child {
  margin: 0;
 }
}

@media only screen and (max-width: 767px) {
 .before-image:has(.bf):after {
  color: #92855b;
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  font-size: 38px;
  position: absolute;
  bottom: -43px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
 }

 .beforeafter li {
  text-align: center;
 }

 .topgallery-list li:not(:last-child) {
  margin: 0 0 30px;
 }

 .beforeafter li:first-child {
  margin: 0 0 30px 0;
 }
}

.topgallery-image img {
 width: 100%;
 max-height: unset;
}

body:not(.post-type-archive-gallery) .beforeafter {
 margin-bottom: 50px;
}

.beforeafter-label.bf {
 background-color: #000;
 color: #fff;
 padding: 3px 0;
 text-align: center;
 font-weight: normal;
}

.beforeafter-label.af {
 background-color: #9a0000;
 color: #fff;
 padding: 3px 0;
 text-align: center;
 font-weight: normal;
}

.beforeafter-label.other {
 background-color: #6d3126;
 color: #fff;
 padding: 3px 0;
 text-align: center;
 font-weight: normal;
}

.topgallery-list .col-sm-4 {
 margin-bottom: 50px !important;
}

.beforeafter-image {
 width: 100%;
 height: auto;
}

.beforeafter-image img {
 width: 100%;
 max-width: unset;
}