@charset "utf-8";

body.single-post .swiper-wrapper {
    transform: none!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
製品カテゴリーリスト（トップ）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.works_category_tree_top {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 0;
}

ul.works_category_tree_top > li.parent {
    border: 2px solid #b9d2f1;
    background: #fff;
    list-style: none;
	width: calc(50% - 15px);
	padding: 30px;
	transition: .3s;
}

ul.works_category_tree_top > li.parent:hover {
    border-color: var(--main);
}

ul.works_category_tree_top > li.parent .f_wrap {
	display: flex;
	gap: 40px;
}

ul.works_category_tree_top > li.parent .thumb {
	width: 30%;
}

ul.works_category_tree_top > li.parent .thumb img {
    width: 100%;
    height: 140px;
    object-fit: contain;
}

ul.works_category_tree_top > li.parent .content {
    width: 70%;
}

ul.works_category_tree_top > li.parent .content .ttl {
    font-size: 26px;
    font-weight: bold;
	padding-left: 55px;
    position: relative;
	margin-bottom: 10px;
}

ul.works_category_tree_top > li.parent .content .ttl::before {
    content: "\ea3c";
    font-family: 'icomoon';
    background: #e4f0ff;
    font-weight: normal;
    width: 40px;
    height: 40px;
    font-size: 0.7em;
    position: absolute;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #81a8d8;
    border-radius: 50%;
	transition: .3s;
	left: 0;
	top: 5px;
}

ul.works_category_tree_top > li.parent .content .child {
    line-height: 1.6;
	color: var(--text);
}

ul.works_category_tree_top > li.parent:hover .content .ttl::before {
    background: var(--main);
    color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
製品カテゴリーリスト（サイドバー）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.works_category_tree_side > li.parent {
    border: 2px solid #b9d2f1;
	transition: .3s;
	margin-bottom: 15px;
}

ul.works_category_tree_side > li.parent p.toggle {
    color: var(--main);
    font-size: 19px;
    font-weight: bold;
	margin-bottom: 0;
	padding: 20px;
	cursor: pointer;
}

ul.works_category_tree_side > li.parent img {
    height: 50px;
    object-fit: contain;
    margin-right: 15px;
}

ul.works_category_tree_side > li.parent ul.child {
    margin: 0 30px 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

ul.works_category_tree_side > li.parent ul.child > li > a {
    font-size: 16px;
    border-bottom: 1px solid #a6b6d0;
    color: #102952;
	font-weight: 500;
	transition: .3s;
}

ul.works_category_tree_side > li.parent ul.child > li.current > a,
ul.works_category_tree_side > li.parent ul.child > li > a:hover {
    color: var(--main);
	border-bottom-color: transparent;
}

ul.works_category_tree_side > li.parent p.btn {
    display: flex;
    justify-content: center;
	margin-bottom: 30px;
}

ul.works_category_tree_side > li.parent p.btn a {
    background: var(--main);
    color: #fff;
    width: 200px;
    display: flex;
    justify-content: center;
    padding: 15px;
    border-radius: 100vmax;
	transition: .3s;
	position: relative;
}

ul.works_category_tree_side > li.parent p.btn a::after {
    content: "\ea3c";
    font-family: 'icomoon';
    width: 26px;
    height: 26px;
    background: #fff;
    color: var(--main);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8em;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

ul.works_category_tree_side > li.parent p.btn a:hover {
    opacity: .8;
}

ul.works_category_tree_side > li.parent p.toggle span.arrow::before {
    content: "\e92d";
    font-family: 'icomoon';
    position: absolute;
    width: 26px;
    height: 26px;
    background: var(--base-1);
    color: #81a8d8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 50%;
    right: 15px;
    top: 30px;
	transition: .3s;
}

ul.works_category_tree_side > li.parent p.toggle.open span.arrow::before {
    content: "\e92c";
    background: var(--main);
    color: #fff;
}

ul.works_category_tree_side > li.parent:hover,
ul.works_category_tree_side > li.parent:has(.open) {
    border: 2px solid var(--main);
}

ul.works_category_tree_side > li.parent:hover p.toggle span.arrow::before {
    background: var(--main);
    color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用リスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:is( ul[class*="block-editor"]:not([class*="_list"]), ol[class*="block-editor"]:not([class*="_list"]), ul:not([class]), ol:not([class]) ) > li::marker {
    color: var(--main,#306bb5);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　＞　キャプション
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 画像下に付くキャプション */
.wp-caption .wp-caption-text {
    font-size: 1em;
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用 > カルーセル（全画面）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*矢印*/
.cmn_carousel_full .slick-prev {
	right: 100px;
}

.cmn_carousel_full :is(.slick-prev, .slick-next) {
	top: -100px;
}

.cmn_carousel_full :is(.slick-prev, .slick-next)::before {
	width: 85px;
	height: 85px;
	font-size: 26px;
	color: #fff!important;
	background: var(--main);
}

.slick-prev.slick-disabled:before, 
.slick-next.slick-disabled:before {
	color: #c9d9e0!important;
	background: #fff;
	border: 2px solid #c9d9e0;
	opacity: 1!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お知らせ > カテゴリー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*ブログ*/
.category-blog .news_cat {
	color: #e13421;
	background-color: #ffe8e6;
}

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

body[class*="works"] .main-nav ul:not(.sub-menu) > li.works > a::after {
	transform: scale(1, 1);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > about
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_about::before {
	color: transparent;
	-webkit-text-stroke: 1px #cfd9ea;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
top > company
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_company div::before {
	color: transparent;
	-webkit-text-stroke: 1px #cfd9ea;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer-widgets .sub-menu {
	padding-left: 25px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
パンくずリスト（Yoast）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#breadcrumbs {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    width: 100%;
	margin-bottom: 0;
}

#breadcrumbs a {
    text-decoration: none;
    color: inherit;
}

#breadcrumbs .kugiri::before {
    font-family: "icomoon";
    content: '\e917';
    color: var(--accent);
    font-size: 1.5em;
	line-height: 1em;
    vertical-align: middle;
}

#breadcrumbs span.breadcrumb_last {
    color: #8a97ac;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿タイプ「製作実績」　＞　詳細
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.works_about{
  display: none;
}
/* works_table 内に「中身がある .target」が1つでもあれば表示 */
.works_about:has(.works_table .target:not(:empty)){
  display: block;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ローカルナビ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.h_child_navi ul.child_navi {
    border-radius: 0;
}
.h_child_navi ul.child_navi a {
    color: #608ec9;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガーメニューのカスタマイズ(2023-03-13mk)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sp .my_hamburger {
	width: 40px;
	margin-left: 6px;
	margin-right: 15px;
}
.openbtn{
	position: relative;
	background: var(--main);
	cursor: pointer;
	width: 40px;
	height: 40px;
}

/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 11px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	width: 45%;
}
.openbtn span:nth-of-type(1) {
	top: 11px;
}
.openbtn span:nth-of-type(2) {
	top: 19px;
}
.openbtn span:nth-of-type(3) {
	top: 28px;
}

/*activeクラスが付与されると線が回転して×に*/
.openbtn.active span:nth-of-type(1) {
	top: 13px;
	left: 15px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}
.openbtn.active span:nth-of-type(3){
	top: 25px;
	left: 15px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}