@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
デフォルト設定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ポップアップの背景色変更 */
.pswp__bg {
    background: #fff;
}

/* ページトップボタン */
a.generate-back-to-top {
	border: 2px solid var(--main);
}

/* テーブル内のリストは下のマージンを削除する */
table :is( ul[class*="block-editor"]:not([class*="_list"]), ol[class*="block-editor"]:not([class*="_list"]), ul:not([class]), ol:not([class]) ) {
    margin-bottom: 0;
}

/* 目次 */
#toc_container {
	border: none!important;
	background: var(--base-2);
	padding-top: 20px !important;
	margin-bottom: 2.5em;
}
#toc_container ul.toc_list li > a {
	font-weight: 500;
}
#toc_container p.toc_title {
    font-family: Shippori Mincho,serif;
}
#toc_container p.toc_title+ul.toc_list {
	margin-top: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body[class*="works"] .inside-navigation ul:not(.sub-menu) li.works > a {
	color: var(--main);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
slick
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*ドットを長方形に変更*/
.slick-dots {
	bottom: -50px!important;
}

.slick-dots li {
	width: 50px!important;
	height: 3px!important;
}

.slick-dots li button {
	width: 50px!important;
	height: 3px!important;
	padding: 0!important;
}

.slick-dots li button:before {
	content: ''!important;
	width: 50px!important;
	height: 3px!important;
	background: #cbcbcb;
	opacity: 1!important;
}

.slick-dots li.slick-active button:before {
	background-color: #424242;
	opacity: 1!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > promo
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 最初の状態 */
#home_promo .splide__slide img {
  transform: scale(1);
  transition: transform 10s linear, opacity 0.5s ease;
  opacity: 0;
}

/* 表示中のスライド */
#home_promo .splide__slide.is-active img {
  transform: scale(1.2);
  opacity: 1;
}

/* 非アクティブ（消えるとき） */
#home_promo .splide__slide.is-prev img,
#home_promo .splide__slide.is-next img {
  /* scale はそのまま保持、opacity だけ下げる */
  opacity: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > Instagram
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sbi_images .sbi_photo svg {
	display: none!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層プロモ > パンくず
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* スクロールバー非表示 */
div.breadcrumbs::-webkit-scrollbar {
    display: none;
}

div.breadcrumbs {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	font-size: 16px;
}

div.breadcrumbs {
	font-weight: 500;
	font-family: Shippori Mincho, serif;
}

div.breadcrumbs * {
	color: #666;
	font-size: 16px;
}

div.breadcrumbs * a span {
	color: var(--text);
}

div.breadcrumbs span.kugiri {
	content: "";
	display: inline-block;
	background: #666;
	width: 40px;
	height: 1px;
	margin: 0 15px 5px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿アーカイブ・施工事例アーカイブ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#post_cat_list:not(:has(.current-cat)) .all,
#post_cat_list .all:hover {
    background: var(--main);
    border-color: var(--main);
    color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WPForms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* セクション区切り */
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-divider {
    padding-top: 0!important;
    margin-top: 40px;
}
div.wpforms-container-full .wpforms-form .wpforms-field-divider h3 {
    font-weight: 500;
	font-size: 20px;
}

/*お問い合わせ項目の余白調整(2025-09-18fuji)*/
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-checkbox ul, div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul {
    padding: 10px 20px!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガーメニューのカスタマイズ(2023-03-13mk)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.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: 10px;
	height: 2px;
	border-radius: 2px;
	background: var(--main);
	width: 60%;
}

.header-wrap #mobile-header:not(.toggled):not(.navigation-stick) .openbtn span {
	background: #fff;
}

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

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

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

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

.openbtn.active span:nth-of-type(1) {
	top: 18px;
	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: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}