@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用クラス　2枚の画像を交互にフェードで表示（JSによる実装だと先方環境で上手く切り替わらなかったため）2025-11-21mk
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fade-switch {
  position: relative;
  width: 100%;
}

.fade-switch img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 1; /* ← 初期透明をやめる */
  animation: fadeSwitch 6s infinite;
}

/* 2枚目を3秒ずらして開始 */
.fade-switch img:nth-child(2) {
  animation-delay: -3s;
}

@keyframes fadeSwitch {
  0%   { opacity: 1; }
  40%  { opacity: 1; }
  50%  { opacity: 0; }
  90%  { opacity: 0; }
  100% { opacity: 1; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用 > 縦文字
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_tate {
	writing-mode: vertical-rl;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用 > 文章制限
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*文章を3行に制限*/
.cmn_limit_txt03{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;/*3行*/
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用 > カルーセル（全画面）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_carousel_full :is(.slick-prev, .slick-next)::before {
	content: '\e917'!important;
	color: #000!important;
	border: 1px solid #000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用 > 詳細ページ戻るボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
p.back_to_list a {
	border-radius: 0px;
}

p.back_to_list {
    width: 980px;
    margin-right: auto;
    margin-left: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
css変数 slik内の要素の左右の余白
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
	--slick_side_margin: 30px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* #worksのカレント */
.sub-menu li.current-menu-item a[href$="#works"],
.sub-menu li.current_page_item a[href$="#works"] {
    color: inherit !important;
    background: none !important;
}

/* #worksホバー時 */
.sub-menu li a[href$="#works"]:hover {
    color: var(--main) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップへ戻るボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.generate-back-to-top{
	border: 2px solid #2b2b2b;
}

a.generate-back-to-top .gp-icon svg {
    fill: #2b2b2b;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お問い合わせフォーム
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*　戻るボタン　*/
.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-prev {
	min-width: 260px;
	border: 1px solid #e0e0e0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > 見出し（英語）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.heading_en.top_txt_deco {
	color: transparent;
	background: url("./images/cmn_txt_deco.png") no-repeat top -75px left -195px / auto #000;
	background-clip: text;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > promo
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_promo h2 {
	color: transparent;
	background: url("./images/promo_txt_deco.png") no-repeat left -110px bottom 0 / auto 100% #000;
	background-clip: text;
}

#home_promo .scroll_circle {
	animation: scroll 1.5s ease-out forwards infinite;
}

@keyframes scroll {
	0% {
		transform: translateY(0);
		opacity: 0;
	}
	20% { opacity: 1; }
	80% { opacity: 1; }
	100% {
		transform: translateY(90px);
		opacity: 0;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > news
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*コラム*/
#home_news .category-column .news_cat {
	color: var(--main);
	border: 1px solid var(--main);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > case
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_case > div::before {
	animation: rotate 60s linear infinite;
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

#home_case .slick-initialized .slick-slide {
	display: flex;
}

/*矢印*/
#home_case.cmn_carousel_full :is(.slick-prev, .slick-next) {
	top: 50%;
}

#home_case.cmn_carousel_full .slick-next {
	right: -30px;
}

#home_case.cmn_carousel_full .slick-prev {
	left: -30px;
	z-index: 1;
    width: fit-content;
}

#home_case.cmn_carousel_full :is(.slick-prev, .slick-next)::before {
	font-size: 22px;
	font-weight: 700;
	background-color: rgba(255,255,255,0.8);
	width: 60px;
	height: 60px;
}

#home_case .slick-prev.slick-disabled:before, #home_case .slick-next.slick-disabled:before {
	display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > works
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*矢印*/
#home_works.cmn_carousel_full :is(.slick-prev, .slick-next) {
	top: -100px;
}

#home_works.cmn_carousel_full .slick-next {
	right: 150px;
}

#home_works.cmn_carousel_full .slick-prev {
	right: 240px;
}

#home_works.cmn_carousel_full :is(.slick-prev, .slick-next)::before {
	font-size: 36px;
	width: 80px;
	height: 80px;
}

#home_works .slick-prev.slick-disabled:before, #home_works .slick-next.slick-disabled:before {
    cursor: auto; 
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > recruit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_recruit::before {
	animation: img-slider 60s linear infinite;
}

@keyframes img-slider {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1920px 0;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*ナビ*/
#footer-widgets ul.menu {
	column-gap: 90px;
	row-gap: 60px;
}

/*採用情報*/
#footer-widgets ul.menu li.recruit a {
	position: relative;
}

#footer-widgets ul.menu li.recruit a::before {
	content: '\f08e';
	position: absolute;
	font-family: "icomoon";
	font-size: 12px;
	line-height: 1;
	top: calc(50% - 4px);
	right: -22px;
}

/*子ナビ*/
#footer-widgets ul.sub-menu {
	padding-left: 0;
}

#footer-widgets ul.sub-menu a {
	font-size: 15px;
	color: #bcbcbc;
}

#footer-widgets ul.sub-menu a:hover {
	color: rgba(189, 189, 189, 0.8);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層プロモ > 英語
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.heading_en.cmn_txt_deco {
	color: transparent;
	background: url("./images/cmn_txt_deco.png") no-repeat top -20px left -150px / auto #000;
	background-clip: text;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層 > 物件検索
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*売買*/
.bukken_type-baibai .bukken_cat {
	color: var(--accent);
	border: 1px solid var(--accent);
}

/* 「Filter Everything」複合検索プラグイン（2025-11-14）mk */
.wpc-custom-selected-terms {
    display: none;
}
.wpc-filters-section {
    margin-bottom: 1.5em!important;
}

.wpc-filter-title {
    margin-bottom: 0!important;
    background-color: #f3f3f3;
    padding: 5px 15px;
    width: fit-content;
    font-size: 18px;
}

.wpc-filters-ul-list {
    display: flex;
	gap:1em;
	padding-top: 1.04vw!important;
	overflow-y: hidden!important;
}

.wpc-term-item {
    margin-bottom: 0!important;
}

span.wpc-term-count-value::before {
    content: '(';
}

span.wpc-term-count-value::after {
    content: ')';
}

.wpc-filter-layout-submit-button {
    margin-top: 2em;
    flex-direction: row!important;
	word-break: keep-all;
}

/*物件情報を探す*/
.gb-tabs__items ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 0;
}

.gb-tabs__items ul li {
	display: block;
}

.gb-tabs__items ul li a {
	position: relative;
	font-weight: 700;
	color: var(--text);
	padding: 5px 40px 5px 15px;
	border: 1px solid #dadada;
}

/*カウントがゼロの時にリンクさせない*/
.wpc-term-count-0:not(.wpc-has-not-empty-children) {
    pointer-events: none;
}


@media (hover: hover){
	.gb-tabs__items ul li:hover a {
		color: var(--main);
	}
}

.gb-tabs__items ul li.current-cat a {
	color: var(--main);
}

.gb-tabs__items ul li a::after {
	content: '\e91b';
	position: absolute;
	width: 18px;
	height: 18px;
	font-size: 9px;
	font-family: "icomoon";
	top: calc(50% - 8px);
	right: 15px;
	color: #fff;
	background-color: var(--main);
	padding-top: 2px;
	padding-left: 5px;
	border-radius: 50%;
}

.wpc-term-item-content-wrapper a {
  color: var(--text);
}

/* チェックされた時にリンク色を変更（ラジオ・チェックボックス共通） */
.wpc-term-item-content-wrapper input:checked + label a {
  color: var(--main);
}

/* ResetとSubmitボタンに共通の基本スタイル */
.wpc-filters-main-wrap a.wpc-filters-reset-button,
.wpc-filters-main-wrap a.wpc-filters-submit-button {
    width: 49%!important;
    padding: 20px!important;
    transition: all 0.5s ease!important;    
}

/* SubmitとApplyボタンに共通の「メインカラー」のスタイル */
.wpc-filters-main-wrap a.wpc-filters-submit-button,
.wpc-filters-main-wrap a.wpc-filters-apply-button {
  border-color: #2B2B2B!important;
  background-color: #2B2B2B!important;
  color: #fff!important;
}

/* カレント */
body[class*='tax-bukken_type'] ul:not(.sub-menu) > li.bukken:not(.contact) > a {
	color: var(--main);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿「物件検索」　＞　「条件で絞り込む」ポップアップ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*ポップアップ中は後ろをスクロールさせないようにする*/
/*body.pop-is-open {
	overflow: hidden;
}

.cmn_popup_target:not([class*="editor"]){
    display: none;
	z-index: 100002;
	height: 100%;
	width: 100%;
	position: fixed;
	top: 0;
}

.cmn_popup_target .bg:not([class*="editor"]) {
	position: fixed;
	top: 0;
}

.cmn_popup_target .inner:not([class*="editor"]) {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}*/


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層 > 設計・建築
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*施工実績カテゴリーカラー*/
.works_category-cooperative-house .works_cat {
	color: var(--main);
	border: 1px solid var(--main);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
施工実績カテゴリー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*戸建住宅*/
.works_category-detached-house .works_cat {
	color: var(--accent);
	border: 1px solid var(--accent);
}

/*施主住宅付き共同住宅*/
.works_category-with-landlord .works_cat {
	color: #00b568;
	border: 1px solid #00b568;
}

/*店舗・商業ビル*/
.works_category-commercial-facility .works_cat {
	color: #cf6eff;
	border: 1px solid #cf6eff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿 > noimageの時の画像サイズ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[style*="no-image"] {
    background-size: 15%!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層 > 土地活用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body:is(.page-about) .site-content {
    padding-top: clamp(0px, 5.5vw + -66.6px, 40px);
}

/*画像高さ*/
body:is(.page-about) .slide_img {
	height: 400px;
    width: 100%;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層 > 土地活用事例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 土地活用事例カテゴリでは土地活用だけ色変更 */
/* .category-landuse .main-navigation .main-nav ul li > a[href*=landuse],*/
body.category-landuse .main-navigation:not(.slideout-navigation) .main-nav ul li.menu-item-has-children>a[href*="landuse/about"]{
    color: var(--main);
}
body.category-landuse .main-navigation:not(.slideout-navigation) .main-nav ul li a[href*="posts"]{
    color: var(--text);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガーメニュー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#mobile-header .menu-toggle {
	width: 55px;
	height: 55px;
	margin-right: 10px;
}

.my_hamburger {
	width: 55px!important;
	height: 55px!important;
	background-color: #2b2b2b;
}

#mobile-header .openbtn p, #generate-slideout-menu .openbtn p {
	position: absolute;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	margin-bottom: 0;
	left: 0px;
	bottom: 8px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
チャイルドナビ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.h_child_navi ul.child_navi {
    padding: 15px 0;
	gap: 20px;
}

.h_child_navi ul.child_navi a {
    background-color: var(--base-2);
	border: 1px solid #dadada;
	color: var(--text);
}

.h_child_navi ul.child_navi a:hover,
.h_child_navi ul.child_navi li[class*='current'] a {
    background-color: #000;
	border: 1px solid #000;
}

/*施工実績のカレント*/
body:is(.page-strength) .h_child_navi ul.child_navi a:hover,
.h_child_navi ul.child_navi li[class*='current'] a {
    color: #fff;
}

/* #worksのカレント無効化 */
.h_child_navi ul.child_navi li.current-menu-item a[href$="#works"],
.h_child_navi ul.child_navi li.current_page_item a[href$="#works"] {
    background-color: var(--base-2) !important;
    border-color: #dadada !important;
    color: var(--text) !important;
}

/* #worksホバー時 */
.h_child_navi ul.child_navi li a[href$="#works"]:hover {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガーメニューのカスタマイズ(2023-03-13mk)
↓↓↓下記をまずは削除した上で、【https://coco-factory.jp/ugokuweb/move01-cat/humbugermenu/】から、お好みのボタンのCSSを追加
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	background:transparent;
	cursor: pointer;
	width: 50px;
	height:50px;
	border-radius: 5px;
}

/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 18px;
	height: 2px;
	background: #fff;
	width: 26%;
}

.openbtn span:nth-of-type(1) {
	top:10px; 
}

.openbtn span:nth-of-type(2) {
	top:15px;
}

.openbtn span:nth-of-type(3) {
	top:20px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
	top: 10px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}

.openbtn.active span:nth-of-type(3){
	top: 22px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}