@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ----animation---- */
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}
@keyframes zoom_in {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes fade_in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes up{
    0% {
		transform:translateY(20px);
        opacity:0
    }
    99% {
        transform:translateY(0);
        opacity:1
    }
    100% {
        transform:translateY(0);
        opacity:1
    }
}
@keyframes fade_l {
    0% {
		transform:translateX(-20px);
        opacity:0
    }
    99% {
        transform:translateX(0);
        opacity:1
    }
    100% {
        transform:translateX(0);
        opacity:1
    }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* ----全体font---- */
body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}
.post_content {
	line-height: 1.9;
}
.post_content h2,
.post_content h3,
.post_content h4 {
	margin: 0;
}
a[href^="tel:"] {
    pointer-events: none;
}
.dis_none {
	display: none;
}

/* ----font---- */
.en_ft {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}
.tel {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
}

/* ----改行・整形---- */
.br_pc {
	display: block;
}
.br_sp {
	display: none;
}

/* ----見出し---- */
.h2_ttl {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
    font-size: 3.4rem !important;
    font-weight: bold !important;
    position: relative;
	display: block;
	margin: 0 0 0.5em !important;
    line-height: 1.4 !important;
    letter-spacing: 0.4rem;
}
.h2_ttl > span:not(.jp_txt) {
	border-bottom: 1px solid #fff;
    padding-left: 5px;
}
.h2_ttl .jp_txt {
	font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
	display: block;
    line-height: 1;
	color: #000;
	background: none;
	letter-spacing: 0.1rem;
    margin-top: 3px;
}
.h2_imgttl {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
    font-size: clamp(3.2rem, 2.4rem + 1.3333vw, 4rem) !important;
    font-weight: bold !important;
	max-height: 141px;
    position: relative;
	display: block;
    margin: 0 0 0.5em !important;
    line-height: 1.4 !important;
    letter-spacing: 0;
    padding: 1.2vw 0 0 6vw;
}
.h2_imgttl::before {
	position: absolute;
	content: "";
	background: url(../../uploads/2026/04/cap_pig_rd.svg) no-repeat left center / contain !important;
    max-width: 131px;
    max-height: 141px;
    left: 0;
    top: 0;
    width: 100%;
    height: 8vw;
}
.h2_imgttl > span:not(.jp_txt) {
	border-bottom: 2px solid var(--color_main);
    line-height: 1;
    height: auto;
    display: inline-block;
}
.h2_imgttl .jp_txt {
	font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1.6rem, 1.2rem + 0.6667vw, 2rem);
    font-weight: bold;
	display: block;
    line-height: 0.6;
	background: none;
}
.h2_imgttl.over_bg {
	background-image: url(../../uploads/2026/04/bg.png);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	width: 100vw;
	height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.h2_imgttl.over_bg::before {
    background: url(../../uploads/2026/04/bg.png) !important;
    -webkit-mask: url(../../uploads/2026/04/cap_pig_rd.svg);
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask: url(../../uploads/2026/04/cap_pig_rd.svg);
    mask: url(../../uploads/2026/04/cap_pig_rd.svg);
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    position: absolute;
	z-index: 0;
}
.h2_imgttl.over_bg > span:not(.jp_txt) {
	border-image: url(../../uploads/2026/04/bg.png) 1/0 0 2px 0;
	border-width: 0 0 2px 0;
}

.h2_imgttl.bl::before {
	position: absolute;
	content: "";
	background: url(../../uploads/2026/04/cap_clean.svg) no-repeat left center / contain !important;
    max-width: 130px;
    max-height: 106px;
    left: 0;
    top: 0;
    width: 100%;
    height: 8vw;
}
.h2_imgttl.bl > span:not(.jp_txt) {
	border-bottom: 2px solid var(--color_deep02);
}
.h2_imgttl.bk::before {
	position: absolute;
	content: "";
	background: url(../../uploads/2026/04/cap_remodel.svg) no-repeat left center / contain !important;
    max-width: 149px;
    max-height: 136px;
    left: 0;
    top: 0;
    width: 100%;
    height: 7vw;
}
.h2_imgttl.bk > span:not(.jp_txt) {
	border-bottom: 2px solid var(--color_deep03);
}
.mark_cap {
	width: 48vw;
    margin: 0 calc(50% - 27vw) 30px !important;
    font-size: clamp(2rem, 0.2rem + 3vw, 3.8rem) !important;
    padding: 0 0 0 2vw !important;
    line-height: 1.8 !important;
}

/* ----ボタン---- */
.cmn_btn {
    min-width: 360px;
	margin: 0 auto;
}
.cmn_btn a {
	min-width: 360px;
	box-shadow: none;
   	padding: 8px 2vw 8px 1vw;
    position: relative;
    transition: .3s;
    border-radius: 40px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
	min-height: 60px;
	background: #E50012;
	line-height: 2.2;
}
.cmn_btn a::before {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: -1;
}
.cmn_btn a::after{
	content: "";
	position: absolute;
	background: url(../../uploads/2026/04/icon_arrow_wh.svg) no-repeat right center / cover !important;
	width: 30px;
	height: 30px;
    right: 55px;
	transition: .2s;
}
.cmn_btn a:hover {
	transition: .2s;
	transform: scale(1, 1);
	color: var(--color_main);
}
.cmn_btn a:hover::before {
	transform: scale(1, 1);
	transition: .2s;
}
.cmn_btn a:hover::after{
	background: url(../../uploads/2026/04/icon_arrow_rd.svg) no-repeat right center / cover !important;
	transition: .2s;
}
/*  red  */
.cmn_btn.rd a {
    color: var(--color_main);
	background: #fff;
}
.cmn_btn.rd a::before {
	background: #E50012;
}
.cmn_btn.rd a::after {
	background: url(../../uploads/2026/04/icon_arrow_rd.svg) no-repeat right center / cover !important;
}
.cmn_btn.rd a:hover {
	color: #fff;
}
.cmn_btn.rd a:hover::after {
	background: url(../../uploads/2026/04/icon_arrow_wh.svg) no-repeat right center / cover !important;
}
/*  blue  */
.cmn_btn.bl a {
	color: var(--color_deep02);
	background: #fff;
}
.cmn_btn.bl a::before {
	background: var(--color_deep02);
}
.cmn_btn.bl a::after {
	background: url(../../uploads/2026/04/icon_arrow_bl.svg) no-repeat right center / cover !important;
}
.cmn_btn.bl a:hover {
	color: #fff;
}
.cmn_btn.bl a:hover::after {
	background: url(../../uploads/2026/04/icon_arrow_wh.svg) no-repeat right center / cover !important;
}
/*  black  */
.cmn_btn.bk a {
	color: var(--color_deep03);
	background: #fff;
}
.cmn_btn.bk a::before {
	background: var(--color_deep03);
}
.cmn_btn.bk a::after {
	background: url(../../uploads/2026/04/icon_arrow_bk.svg) no-repeat right center / cover !important;
}
.cmn_btn.bk a:hover {
	color: #fff;
}
.cmn_btn.bk a:hover::after {
	background: url(../../uploads/2026/04/icon_arrow_wh.svg) no-repeat right center / cover !important;
}

/* ----ヘッダー---- */
.l-header {
	background: #B1000E;
	position: absolute;
}
.l-header .l-container {
	max-width: 100%;
}
.l-fixHeader {
	box-shadow: none !important;
}
.l-fixHeader .l-container {
	max-width: 100%;
}
.-series .l-header__logo {
	min-width: 90px;
	margin-right: 1vw;
	padding: 10px 0;
}
.l-fixHeader__logo {
	padding: 12px 0 14px;
}
.-series .c-headLogo {
	margin-right: 0;
    margin-top: 5px;
}
.c-gnav>.menu-item>a{
	padding: 0 0.8vw;
	transition: .2s;
	text-align: left;
}
.c-gnav>.menu-item>a:hover{
	opacity: 1;
	background: var(--color_main);
}
.c-gnav>.menu-item>a::after {
	display: none;
}
.c-gnav>.menu-item>a .ttl {
	font-size: clamp(0.9rem, 0.6rem + 0.5vw, 1rem);
	order: 2;
}
.c-gnav>.menu-item.contact {
	margin-left: 1vw;
}
.c-gnav>.menu-item.contact>a {
	background: var(--color_text) url(../../uploads/2026/04/icon_mail.svg) no-repeat center top 14px / 30px 22px !important;
	padding: 0 1.6vw;
}
.c-gnav>.menu-item.contact>a .ttl {
    margin-top: 26px;
}
.c-gnav .sub-menu {
	background: rgba(255, 255, 255, .9);
	border: 2px solid var(--color_main);
	width: 20em;
	border-radius: 5px;
	margin-top: 5px;
}
.c-gnav .sub-menu a {
	transition: .3s;
	color: var(--color_main);
	border-bottom: 1px dashed var(--color_main);
	font-size: clamp(0.8rem, 0.35rem + 0.75vw, 0.95rem);
	font-weight: 500;
	padding: 10px 40px;
}
.c-gnav .sub-menu a:before,
.c-listMenu a:before {
	top: 55%;
}
.c-gnav .sub-menu:before {
	background: none;
}
.c-gnav .sub-menu a:before {
    left: 1em;
}
.c-gnav .sub-menu li:last-of-type a {
	border-bottom: none;
}
.c-gnav .sub-menu a:hover {
	background: var(--color_main);
	color: #fff;
	transition: .2s;
}

.l-fixHeader .c-gnav>.menu-item>a .ttl {
	font-size: clamp(0.85rem, 0.7rem + 0.25vw, 0.9rem);
}
.l-fixHeader .c-gnav>.menu-item>.sub-menu {
	top: 90%;
}
.c-gnav>.menu-item.contact>a:hover {
	background: var(--color_deep01) url(../../uploads/2026/04/icon_mail.svg) no-repeat center top 14px / 30px 22px !important;
	opacity: 1;
}
.w-header.pc_ {
	position: absolute;
    right: 4vw;
    top: 20px;
}
.c-gnav>.menu-item.dis_sp {
	display: none;
}
.c-gnav > .-current > a::after {
	display: none;
}
.c-spnav>.menu-item.dis_none {
	display: block;
}

/* ----コンテンツヘッダー---- */
.l-topTitleArea {
    height: 20vw;
    color: #fff !important;
	position: relative;
    font-size: 1rem !important;
	min-height: 310px;
}
.l-topTitleArea div.l-topTitleArea__body {
    text-shadow: unset;
    color: #fff;
    margin-top: 70px;
	padding: 0 1vw;
}
.c-pageTitle {
	font-size: clamp(2rem, 1.5rem + 0.8333vw, 2.5rem);
    letter-spacing: 0.2rem;
	font-weight: 600;
	opacity: 0;
    animation: fade_in 1s cubic-bezier(0.22, 1, 0.36, 1) .5s forwards;
}
.c-postTitle .c-postTitle__ttl {
	font-size: clamp(1.6rem, 1rem + 1vw, 2.2rem);
}
.c-postTitle__date .__md {
	font-size: clamp(1.6rem, 1rem + 1vw, 2.2rem);
	font-weight: bold;
}
.p-articleMetas {
	justify-content: flex-end;
}

/* ----パンくずー---- */
.l-topTitleArea+.p-breadcrumb {
	z-index: 1;
    background: #fff !important;
	margin: 0 auto;
    padding: 8px 0 !important;
}
.p-breadcrumb__list {
	gap: 1em;
	padding: 0 1vw;
}
.p-breadcrumb__list .p-breadcrumb__text {
	opacity: 1;
}
.p-breadcrumb__list .icon-home:before {
	display: none;
}

/* ----コンテンツ---- */
.l-content {
    padding-bottom: 0;
	margin: 0 auto 1.5em;
}
.blog .l-content,
.archive .l-content {
    padding: 6em 0 0;
}
/*
.blog .l-article,
.archive .l-article {
	max-width: none;
}
*/
:not(.home) > .l-content {
	margin: 0 auto 6em;	
}
.blend_bg::before {
    height: 100%;
    width: 100%;
    content: "";
    background: url(../../uploads/2026/04/bg.png) repeat center / cover;
    position: absolute;
    top: 0;
    mix-blend-mode: multiply;
}
.swell-block-fullWide + .swell-block-fullWide {
	margin-top: 0;
}
.swell-block-fullWide__inner {
	padding: 0;
}
.swell-block-columns__inner {
	justify-content: space-between;
}
.p-postList__meta :before {
	display: none;
}

/* ----投稿---- */
.single-post .l-content {
	padding: 6em 0 0;
}
.single-post .l-mainContent.l-article {
	background: #fff;
	max-width: none;
    padding: 3em;
}


/* post_query */
.category.archive .pro_cateBox {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 4em !important;
}
.post_queryBox ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding: 0;
	margin: 0 auto;
}
.post_queryBox ul::after{
	content: "";
	display: block;
	width: calc(100% / 3 - 1vw);
}
.post_queryBox ul li.wp-block-post {
    width: calc(100% / 3 - 1vw) !important;
    padding: 0;
	list-style: none;
	margin-bottom: 4em;
	position: relative;
}
.post_queryBox ul li.wp-block-post figure {
    aspect-ratio: 3 / 2;
	overflow: hidden;
}
.post_queryBox ul li.wp-block-post figure img {
    object-fit: cover;
    object-position: center;
    height: -webkit-fill-available;
	transition: .2s;
}
.post_queryBox ul li.wp-block-post:hover figure img {
	transform: scale(1.05);
	transition: .2s;
	opacity: .7;
}
.post_queryBox ul li.wp-block-post .wp-block-post-date {
	transition: .2s;
}
.post_queryBox ul li.wp-block-post .wp-block-post-date a {
    padding: 20px 0 0;
    color: #82817F;
	display: block;
    font-size: 0.85rem;
	font-weight: bold;
    margin-bottom: 5px !important;
}
.post_queryBox ul li.wp-block-post h2.wp-block-post-title {
    margin: 0;
    font-size: clamp(1rem, 0.55rem + 0.75vw, 1.15rem) !important;
    font-weight: bold;
    order: 2;
	transition: .2s;
}
.post_queryBox ul li.wp-block-post h2.wp-block-post-title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	color: var(--color_main);
}
.post_queryBox ul li.wp-block-post:hover .wp-block-post-date, 
.post_queryBox ul li.wp-block-post:hover h2.wp-block-post-title {
	transition: .2s;
	opacity: .7;
}
.post_queryBox .wp-block-query-pagination {
	justify-content: center;
	margin-top: 2em;
}
.post_queryBox .wp-block-query-pagination-numbers {
	display: flex;
    align-items: center;	
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers {
	margin: 0 6px 0 0;
	box-shadow: none;
	font-weight: bold;
    height: 48px;
    line-height: 48px;
    min-width: 48px;
	background: var(--color_pale01);
	transition: .4s;
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--color_main);
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers:hover {
	opacity: .8;
	transition: .2s;
}

/* ----事業 - リード部分---- */
.ser_topArea .wp-block-media-text {
	gap: 2vw;
}
.ser_topArea .wp-block-media-text .wp-block-media-text__media {
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.ser_topArea .wp-block-media-text .wp-block-media-text__content p {
	font-size: clamp(1rem, 0.8rem + 0.3333vw, 1.2rem);
}

/* ----事業 - 強み---- */
.ser_stArea .h2_imgttl {
    padding: 0;
    max-height: 2em;
}
.ser_stArea .h2_imgttl::before {
    display: none;
}
.ser_stArea .stBox {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 5vw;
    padding: 0 1.5vw;
}
.ser_stArea .stBox .swell-block-column {
    overflow: hidden;
}
.ser_stArea .stBox figure {
    position: relative;
    margin-bottom: 3.5em;
}
.ser_stArea .stBox figcaption {
    position: absolute;
    background: #fff;
    border-radius: 50%;
    opacity: 1;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 100px;
    max-height: 100px;
    aspect-ratio: 1 / 1;
    width: 8vw;
    bottom: -50px;
    font-size: clamp(0.8rem, 0.6rem + 0.3333vw, 1rem);
    font-weight: bold;
    line-height: 0.9;
    padding-bottom: 5px;
    display: flex !important;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.ser_stArea .stBox figcaption span {
    border-bottom: 2px solid var(--color_main);
    font-size: clamp(2.2rem, 1.4rem + 1.3333vw, 3rem);
    padding: 0 4px 3px 2px;
}
.ser_stArea .stBox h3 {
    width: auto;
    font-size: clamp(1.6rem, 0.8rem + 1.3333vw, 2.4rem) !important;
    border-bottom: 2px solid #fff;
    padding: 0 10px 5px;
    max-width: 360px;
    margin: 0 auto 0.5em !important;
}
.ser_stArea .stBox p {
    background: url(../../uploads/2026/04/bg.png) repeat-y center / cover;
    padding: 20px 1.5vw;
    line-height: 1.4;
    letter-spacing: 0.1rem;
    font-weight: 400;
    font-size: clamp(0.9rem, 0.8rem + 0.1667vw, 1rem) !important;
    height: 100%;
}

/* ----事業 - 事例---- */
.ser_caseArea .h2_imgttl {
    font-size: clamp(2.2rem, 1.8rem + 0.6667vw, 2.6rem) !important;
    font-weight: 900 !important;
    padding: 2.4vw 0 0 5vw;
    margin: 0 auto 2em !important;
    width: fit-content;
}
.ser_caseArea .h2_imgttl > span:not(.jp_txt) {
    padding-bottom: 5px;
    line-height: 1.2;
}
.ser_caseArea .caseBox {
    margin-bottom: 5vw;
}
.ser_caseArea .caseBox .swell-block-column {
    overflow: hidden;
}
.ser_caseArea .caseBox .wp-block-cover {
    min-height: auto;
    aspect-ratio: 3 / 2;
    padding: 1vw;
}
.ser_caseArea .caseBox .wp-block-cover p {
    font-size: clamp(1.2rem, 0.9rem + 0.5vw, 1.5rem) !important;
}
.ser_caseArea .caseBox .wp-block-list {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    justify-content: space-between;
}
.ser_caseArea .caseBox .wp-block-list li {
    min-width: calc(100% / 3 - 5px);
    list-style: none;
    background: #fff;
    border-radius: 20px;
    text-align: center;
    padding: 3px 8px;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: clamp(0.7rem, 0.4rem + 0.5vw, 1rem);
}
.ser_caseArea .notes {
    max-width: 1000px;
    margin: 0 auto;
    font-size: clamp(1.1rem, 1rem + 0.1667vw, 1.2rem);
}

/* ----概要---- */
.outlineBox {
	margin: 0 auto 4vw;
	--swl-dt-width: 20%;
	font-size: clamp(1rem, 0.9rem + 0.1667vw, 1.1rem);
}
.outlineBox .swell-block-dl__dt{
	padding: 15px 20px;
    color: #fff;
	background: var(--color_main);
	border-bottom: 1px solid #fff;
    display: flex;
    align-items: stretch;
	font-weight: normal;
}
.outlineBox .swell-block-dl__dt:after{
    display: none;
}
.outlineBox .swell-block-dl__dd{
	background: #fff;
	border-bottom: 1px solid var(--color_main);
	padding: 15px 20px;
    line-height: 1.8;
}
.outlineBox .swell-block-dl__dt:last-of-type,
.outlineBox .swell-block-dl__dd:last-of-type{
    border-bottom: none;
}
.outlineBox .swell-block-dl__dd .wp-block-columns{
	--wp-column-gap: 0;
}

/* ----お知らせ_カード---- */
.archive.category:not(.category-info) .l-content {
	max-width: 1560px;
}
.archive.category:not(.category-info) .l-content .l-mainContent {
	max-width: 1560px;
}
.p-postList.-type-card {
    justify-content: space-between;
}
.p-postList.-type-card::after{
	content: "";
	display: block;
	width: calc(100% / 3 - 0.1vw);
}
.p-postList.-type-card li.p-postList__item {
	width: calc(100% / 3 - 0.1vw) !important;
	margin-bottom: 2em;
	padding: 0 .5em !important;
}
.p-postList.-type-card li.p-postList__item .p-postList__thumb {
    box-shadow: none;	
}
.p-postList.-type-card li.p-postList__item .c-postThumb__figure {
    box-shadow: none;
	aspect-ratio: 3 / 2;
}
.p-postList.-type-card li.p-postList__item .p-postList__body {
    display: flex;
    flex-direction: column;
	padding-top: 15px;
}
.p-postList.-type-card li.p-postList__item .p-postList__meta {
    font-size: 0.8rem;
    margin-bottom: 5px !important;
}
.p-postList.-type-card li.p-postList__item .p-postList__meta .p-postList__times {
	opacity: 1;
}
/* ----取扱商品記事---- */
.single-products .c-postTitle__date,
.single-products .p-articleFoot,
.single-products .l-articleBottom {
	display: none;
}
.single-products .l-content {
	margin-bottom: 0 !important;
}
.single-products .l-mainContent__inner>.post_content {
	margin-bottom: 0;	
}
.single-products .pro_topArea {
    padding-bottom: 4em !important;
}
.single-products .pro_topArea .h2_imgttl {
    padding: 2vw 0 0 6vw;
    font-size: clamp(3rem, 2.2rem + 1.3333vw, 3.8rem) !important;
    font-weight: 900 !important;
}
.single-products .pro_topArea .swell-block-fullWide__inner > * {
    max-width: 1000px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.single-products .pro_topArea p {
    font-size: clamp(1rem, 0.8rem + 0.3333vw, 1.2rem);
}
.single-products .pro_topArea .p-slider {
    margin-bottom: 2vw;
}
.single-products .pro_topArea .p-thumbnail {
    margin: 0 auto 5vw;
    max-width: 1280px;
}
.single-products .pro_topArea .p-thumbnail .slick-track {
    width: 100% !important;
    justify-content: space-between;
    display: flex;
    position : relative;
}
.single-products .pro_topArea .p-thumbnail .swell-block-column  {
    width: calc(100% / 4 - 1.5vw) !important;
    margin: 0 auto;
}
.single-products .pro_topArea .p-thumbnail figure {
    cursor: pointer;
    transition: .2s;
    aspect-ratio: 3 / 2;
}
.single-products .pro_topArea .p-thumbnail figure img {
    height: 100%;
    width: auto;
    object-fit: cover;
}
.single-products .pro_topArea .p-thumbnail .slick-slide:not(.slick-current) figure {
    background: rgba(0, 0, 0, .5);
    transition: .2s;
}
.single-products .pro_topArea .p-thumbnail .slick-slide:not(.slick-current) figure img {
    mix-blend-mode: multiply;
}
.single-products .pro_custArea .h2_imgttl {
    font-size: clamp(2.2rem, 1.8rem + 0.6667vw, 2.6rem) !important;
    padding: 2.6vw 0 0 6vw;
    margin: 0 auto 1vw !important;
    font-weight: 900 !important;
    width: fit-content;
}


/* ----フッター---- */
.f_conArea .h2_ttl > span:not(.jp_txt){
	border-bottom-color: #CB181D;
}
.f_conArea .f_add .h2_ttl {	
    margin: 0 0 0.3em !important;
    letter-spacing: 0.4rem;
}
.f_conArea .f_add h3 {
	padding-bottom: 3px;
	border-bottom: 1px solid #CB181D;
}
.f_conArea .f_form p {
	font-size: clamp(0.95rem, 0.5rem + 0.75vw, 1.1rem) !important;
	letter-spacing: 0.15rem;
	line-height: 1.8;
}
.f_conArea .f_form .cmn_btn a {
    font-size: 1.4rem;
    padding: 8px 2vw 12px 1vw;
    line-height: 1.8;
}
.l-footer {
	background: none;
}
.l-footer__widgetArea {
	padding: 0;
}
.c-widget+.c-widget {
	margin: 0 auto;
}
.w-beforeFooter{
	margin: 0 auto;
}
.w-beforeFooter .l-article {
	margin: 0 auto;
}
.w-beforeFooter .l-container {
	padding: 0 2vw;
}
.w-footer {
	margin: 0 auto;
    padding: 0;
    width: 100%;
}
.w-footer__box {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.w-footer__box .l-article {
	margin: 0 auto;
}
.w-footer__box .l-container {
	margin: 0 auto;
	padding: 0;
}
.w-footer__box .footer_in {
	background: #CB181D url(../../uploads/2026/04/bg.png) no-repeat center / cover !important;
	padding: 3em 0 !important;
	background-blend-mode: multiply;
}
.w-footer__box .footer_in h2 {
	max-width: 560px;
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
	margin: 0 auto;
}
.w-footer__box .footer_in .footer-list {
	justify-content: center;
    --the-gap: .5em 1.2em;
}
.w-footer__box .footer_in .footer-list li a {
	transition: .2s;
}
.w-footer__box .footer_in .footer-list li a:hover {
	opacity: .7 !important;
	transition: .2s !important;
	text-decoration: none !important;
}
.l-footer__foot {
	background: #222;
	padding: 0;
}
.l-footer__foot .l-container {
	padding: 0;
}
.l-footer .copyright {
	font-size: clamp(0.6rem, 0.3rem + 0.5vw, 0.7rem);
    letter-spacing: 0.1rem;
    padding: 12px 0;
}
.p-fixBtnWrap {
	bottom: 3.5em;
}

/*---------------------------------------------pc_small---*/
@media screen and (max-width: 1279px) {
.h2_imgttl {
    padding: 1.6vw 0 0 9vw;
}
.h2_imgttl::before {
	height: 10.5vw;
}
.mark_cap {
	width: 100%;
	margin: 0 auto 30px !important;
}
.l-topTitleArea div.l-topTitleArea__body {
    padding: 0 4vw;		
}
.p-breadcrumb::before {
	height: min(100px + 140px, 160px);
}
.swell-block-fullWide__inner {
	width: 90%;
    margin: 0 auto;
}
.blog .l-content,
.archive .l-content {
	width: 90%;
}
.single-post .l-content {
	width: 90%;
}

.ser_topArea .swell-block-fullWide__inner {
    width: 100%;
}
.ser_topArea .wp-block-media-text {
    grid-template-columns: 46% 1fr;
    display: flex;
    flex-direction: column;
    max-width: 750px;
    margin: 0 auto 50px;
}
.ser_topArea .wp-block-media-text .wp-block-media-text__content {
	width: 100% !important;
}
.ser_topArea .wp-block-media-text .wp-block-media-text__content .cmn_btn {
	text-align: center;
}
.ser_stArea .stBox {
    width: 100%;
    margin: 0 auto 5vw;
    padding: 0;
}
.ser_caseArea .h2_imgttl {
    padding: 3vw 0 0 7vw;
}
.ser_caseArea .h2_imgttl::before {
    height: 10vw;
}
	
.single-products .pro_topArea .h2_imgttl {
    padding: 3vw 0 0 8vw;
}
.single-products .pro_custArea .h2_imgttl {
    padding: 3.8vw 0 0 9vw;
}

.f_conArea .swell-block-fullWide__inner {
	width: 100%;
}
.f_mapArea .swell-block-fullWide__inner {
	width: 100%;
}
.w-footer__box .l-container {
	width: 95vw;
}
.l-footer .copyright {
	padding: 20px 2vw;	
}
}


/*---------------------------------------------------tb---*/
@media screen and (max-width: 959px) {
.br_pc {
	display: none;
}
.br_sp {
	display: block;
}
a[href^="tel:"] {
	pointer-events: auto;
}
.post_content p {
	font-size: clamp(0.95rem, 0.8664rem + 0.2228vw, 1rem);
}
.h2_ttl{
	font-size: clamp(3rem, 0.9944rem + 5.3482vw, 4.2rem) !important;
	margin-bottom: 40px !important;
}
.h2_ttl .jp_txt {
	font-size: clamp(1rem, 0.6657rem + 0.8914vw, 1.2rem);
	min-height: 30px;
    line-height: 160%;
	margin-top: 3px;
}
.h2_imgttl {
	padding: 1.6vw 0 0 75px;
}
.h2_imgttl::before {
	height: 100%;
}
.cmn_btn {
	min-width: 280px;
}
.cmn_btn a {
	font-size: 1.1rem !important;
	min-width: 280px;
	min-height: auto;
}
.cmn_btn a::after {
    width: 20px;
    height: 20px;
    right: 25px;
}
.-series .l-header__logo {
	padding: 0;
	min-width: auto;
	margin: 0;
	width: 100%;
	position: absolute;
	z-index: -1;
}
.-series .c-headLogo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.l-header {
	height: 50px;
	background: #B1000E !important
}
.l-header .l-container {
	padding: 0;
	justify-content: space-between;
    height: 100%;
}
.c-headLogo__link {
	padding: 0 !important;
}
.l-header__menuBtn {
	width: 50px;
}
.p-spMenu__inner::before {
	background: rgba(162, 25, 36, 0.6);
	backdrop-filter: blur(6px);
}
.p-spMenu__inner .icon-close-thin {
    font-size: 30px;
    margin: 20px 20px 0 0;
}
.p-spMenu__inner .icon-close-thin:before {
	color: #fff;
}
.c-widget__title.-spmenu {
	color: #fff;
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	font-size: 2.6rem;
	line-height: 1;
	margin-bottom: 30px;
	padding: 0.5em .45em 0.1em 0;
	background: none;
}
.c-spnav>.menu-item>a::before,
.c-spnav .sub-menu a:before {
    left: 1.5em;
    top: 50%;
	content: "";
	bottom: auto;
	margin: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--color_main);
	background: none;
}
.c-spnav .sub-menu a:before {
	left: 2.5em;
}
.c-spnav>.menu-item>a .br_pc{
	display: none;
}
.c-spnav a {
	font-size: clamp(0.95rem, 0.8664rem + 0.2228vw, 1rem);
	border-bottom: none;
	font-weight: bold;
	padding: 0.8em 1em 0.8em 2.5em;
	background: #fff;
	margin-bottom: 8px;
	color: var(--color_main);
}
.c-spnav a:hover {
	padding-left: 2.8em;
	background: #fff;
	opacity: .9;
	transition: .2s;
}
.c-spnav a .c-smallNavTitle {
	font-family: "Volkhov", "Noto Sans JP", serif;
	color: var(--color_pale01);
    opacity: 1;
}
.c-spnav>.menu-item.dis_none {
	display: none;
}
.c-spnav .sub-menu a {
	padding-left: 3.5em;
	color: var(--color_main);
}
.c-spnav .sub-menu a:hover {
    padding-left: 3.8em;
}
.p-spMenu__body {
	padding: 0 4vw 2vw;
}
.p-spMenu__body .p-spMenu__bottom {
    margin: 1em 0 2em;
}
.p-spMenu__body .c-widget {
    max-width: 300px;
	margin: 0 auto;
}
.p-spMenu__body .c-widget figure {
	max-width: 220px;
	margin: 0 auto 10px;
}
.p-spMenu__body .c-widget h2 {
	font-size: clamp(1.1rem, 0.9329rem + 0.4457vw, 1.2rem);
}
.p-spMenu__body .c-widget p {
	font-size: 0.8rem;
}
.p-spMenu__body .c-widget p.tel {
	font-size: 2rem;
	text-align: center;
}
.p-breadcrumb__list {
    margin-left: 2vw;
	font-size: 0.6rem;
}
.l-topTitleArea {
	min-height: 180px;
}
.l-topTitleArea div.l-topTitleArea__body {
	margin-top: -5px;
	padding: 0 6vw;
}
.c-pageTitle {
	font-size: clamp(1.6rem, 0.9315rem + 1.7827vw, 2rem);
}
.c-postTitle {
    margin-top: 10px;
}
.c-postTitle .c-postTitle__ttl {
	font-size: clamp(1.2rem, 0.5315rem + 1.7827vw, 1.6rem);
}
.blend_bg::before {
	background-size: contain;
}
.blog .l-content, .archive .l-content,
.single-post .l-content {
	padding: 4em 0 0;
}
.single-post .l-mainContent.l-article {
    padding: 2em;
}	
	
/* post_query */
.post_queryBox ul li.wp-block-post {
	width: calc(100% / 2 - 1.5vw) !important;
}
.post_queryBox ul li.wp-block-post .wp-block-post-date a {
    padding: 15px 0 0;
}
.post_queryBox ul li.wp-block-post h2.wp-block-post-title {
	font-size: clamp(0.9rem, 0.7329rem + 0.4457vw, 1rem) !important;
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers {
    height: 36px;
    line-height: 36px;
    min-width: 36px;
}

/* ----事業 - リード部分---- */
.ser_topArea {
	padding-bottom: 2em !important;
}
.ser_topArea .wp-block-media-text {
	width: 90%;
}

/* ----事業 - 強み---- */
.ser_stArea .stBox {
    max-width: 650px;
}
.ser_stArea .stBox figcaption {
    width: 80px;
    height: 80px;
}
.ser_stArea .stBox h3 {
    max-width: none;
}
.ser_stArea .stBox p {
    padding: 20px 4.5vw;
    letter-spacing: 0;
}

/* ----事業 - 事例---- */
.ser_caseArea .h2_imgttl {
    padding: 4.5vw 0 0 12vw;
    margin: 0 auto 1em !important;
}
.ser_caseArea .h2_imgttl::before {
    height: 16vw;
}
.ser_caseArea .caseBox {
    --swl-clmn-mrgn--x: 2.5vw !important;
}
.ser_caseArea .caseBox .wp-block-cover {
    margin-bottom: 0.5em !important;
}
	
/* ----概要---- */
.outlineBox {
	--swl-dt-width: 25%;
}
	
/* ----お知らせ_カード---- */
.p-postList.-type-card li.p-postList__item {
	width: calc(100% / 2) !important;
}
.p-postList.-type-card li.p-postList__item:last-child {
	display: block;
}
.p-postList.-type-card li.p-postList__item .p-postList__body {
	padding-top: 10px;
}
.p-postList.-type-card li.p-postList__item .p-postList__title {
	font-size: clamp(0.9rem, 0.7329rem + 0.4457vw, 1rem);
}
/* ----取扱商品記事---- */
.single-products .pro_topArea .h2_imgttl {
    font-size: clamp(2rem, 0.3287rem + 4.4568vw, 3rem) !important;
    padding: 4.5vw 0 0 10vw;
}
.single-products .pro_topArea .h2_imgttl::before {
    height: 14vw;
}
.single-products .pro_custArea {
    padding-bottom: 4em !important;
}
.single-products .pro_custArea .h2_imgttl {
    font-size: clamp(1.7rem, 0.8643rem + 2.2284vw, 2.2rem) !important;
    padding: 4.5vw 0 0 11vw;
    width: 100%;
    margin: 0 auto !important;
}
.single-products .pro_custArea .h2_imgttl::before {
    height: 14vw;
    max-width: 100px;
}
.single-products .pro_custArea .h2_imgttl span {
    line-height: 1.2;
}
	
.w-beforeFooter .l-container {
	padding: 0;
}
.f_conArea {
	padding: 3em 0 !important;
}
.f_conArea .swell-block-fullWide__inner {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
}
.f_conArea .h2_ttl > span:not(.jp_txt) {
	display: block;
}
.f_conArea .f_add .h2_ttl {
	text-align: center;
}
.f_conArea .f_form .h2_ttl {
    margin-bottom: 20px !important;
}
.f_conArea .f_form p {
    font-size: 1.1rem !important;
	letter-spacing: 0.1rem;
	margin-bottom: 2em !important;
}
.f_conArea .f_form .cmn_btn {
	margin-bottom: 1em;
}

.f_mapArea .gmap {
	height: 280px;
}
.c-fixBtn {
	width: 40px;
	height: 40px;
}
.l-footer .copyright {
	padding: 20px 0;
	width: 90vw;
	margin: 0 auto;
}
}

/*---------------------------------------------------sp---*/
@media screen and (max-width: 599px) {
.h2_ttl {
    font-size: 2.4rem !important;
	letter-spacing: 0.3rem;
}
.h2_ttl .jp_txt {
	font-size: 0.9rem;
	min-height: 24px;
	line-height: 6.8vw;
	height: 7vw;
}
.h2_imgttl {
    font-size: 2.6rem !important;
	padding: 2vw 0 0 14vw;
}
.h2_imgttl .jp_txt {
    font-size: 1.2rem;
}
.mark_cap {
	font-size: 1.7rem !important;
	padding: 5px 0 5px 2vw !important;
	margin: 0 auto 20px !important;
}
.cmn_btn a {
    padding: 12px 2vw 14px 1vw;
}
.c-headLogo {
	height: 40px;
}
.p-spMenu__body .c-widget {
	max-width: 63vw;
}
.l-mainContent__inner>.post_content {
	margin: 2em 0;
}
.l-topTitleArea {
	min-height: 140px;
}
.c-pageTitle {
	font-size: 1.3rem;
}
.c-postTitle__date .__md {
    font-size: 1.2rem;
}
:not(.home) > .l-content {
	margin: 0 auto 4em;	
}
.single-post .l-mainContent.l-article {
	padding: 1.5em;
}
	
/* post_query */
.category.archive .pro_cateBox {
    margin: 0 calc(50% - 50vw) 2em !important;	
}
.category.archive .c-tabBody {
    width: 90%;
}
.post_queryBox ul li.wp-block-post {
	width: calc(100% / 2 - 2.3vw) !important;
	margin-bottom: 3em;
}
.post_queryBox ul li.wp-block-post .wp-block-post-date a {
	padding: 10px 0 0;
}

/* ----事業 - リード部分---- */
.ser_topArea .wp-block-media-text {
	gap: 1em;
	display: flex;
	flex-direction: column;
	margin: 0 auto 30px;
}
.ser_topArea .wp-block-media-text .wp-block-media-text__content {
	padding: 0 !important;
}

/* ----事業 - 強み---- */
.ser_stArea {
    padding: 2em 0 !important;
}
.ser_stArea .stBox {
    margin: 0 auto 40px;
}
.ser_stArea .stBox figure {
    margin-bottom: 2.5em;
}
.ser_stArea .stBox figcaption {
    width: 18vw;
    height: 18vw;
    bottom: -30px;
}
.ser_stArea .stBox figcaption span {
    padding: 0 4px 1px 2px;
}

/* ----事業 - 事例---- */
.ser_caseArea {
    padding: 1em 0 !important;
}
.ser_caseArea .h2_imgttl {
    font-size: 1.9rem !important;
}
.ser_caseArea .caseBox .wp-block-cover p {
    font-size: 1rem !important;
}
.ser_caseArea .caseBox .wp-block-list li {
    min-width: calc(100% / 2 - 2px);
    margin-bottom: 2px;
}
.ser_caseArea .notes {
    font-size: 1rem;
}

/* ----概要---- */
.outlineBox {
    flex-direction: column;
    margin: 0 auto 2em !important;
}
.outlineBox .swell-block-dl__dt{
    width: 100%;
    padding: 8px 15px;
	font-weight: bold;
}
.outlineBox .swell-block-dl__dt:last-of-type{
    border-bottom: 0;
}
.outlineBox .swell-block-dl__dd{
    border: 0 !important;
    width: 100%;
    padding: 8px 15px;
    line-height: 1.6;
}
	
/* ----お知らせ_カード---- */
.p-postList.-type-card li.p-postList__item {
    margin-bottom: 2em;
}
.c-pagination {
	margin: 2em 0;
}
.c-pagination .page-numbers {
	height: 26px;
	min-width: 26px;
	line-height: 26px;
	font-size: 12px;
}
/* ----取扱商品記事---- */
.single-products .pro_topArea {
    padding-bottom: 2em !important;
}
.single-products .pro_topArea .h2_imgttl {
    padding: 4.5vw 0 0 12vw;
}
.single-products .pro_topArea .h2_imgttl::before {
    height: 16vw;
}
.single-products .pro_topArea .p-thumbnail {
    margin: 0 auto 30px;
}
.single-products .pro_custArea .h2_imgttl {
    font-size: 1.62rem !important;
    height: 26vw;
}
.single-products .pro_custArea .h2_imgttl::before {
    max-width: 14vw;
}

.w-footer__box .footer_in .footer-list {
    justify-content: space-between;
	flex-wrap: wrap;
    --the-gap: 0;
}
.w-footer__box .footer_in .footer-list li {
	width: calc(100% / 2 - 1.5vw);
}
.w-footer__box .footer_in .footer-list li a {
    transition: .2s;
    border-bottom: 1px dashed #fff;
    padding: 12px 0;
}
.w-footer__box .footer_in .footer-list li a:hover {
	opacity: 1;
}
.p-fixBtnWrap {
	bottom: 1em;
}
.c-fixBtn {
	width: 30px;
	height: 30px;
}
}