@charset "UTF-8";
:root {
	--font-san-serif: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Yu Gothic", "游ゴシック", sans-serif;
	--font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "Yu Mincho", "游明朝", serif;
	/* black tone */
	--color-black: #000000;
	--color-black-main: rgba(0, 0, 0, 0.8);
	--color-black-sub: rgba(0, 0, 0, 0.6);
	--color-black-caption: rgba(0, 0, 0, 0.4);
	--color-black-border: rgba(0, 0, 0, 0.1);
	--color-black-hover: rgba(0, 0, 0, 0.05);
	--color-black-bg: rgba(0, 0, 0, 0.025);
	--color-black-border-fill: #e5e5e5;
	--color-black-hover-fill: #f2f2f2;
	--color-black-bg-fill: #f9f9f9;
	/* white tone */
	--color-white: #ffffff;
	--color-white-main: rgba(255, 255, 255, 0.8);
	--color-white-sub: rgba(255, 255, 255, 0.6);
	--color-white-caption: rgba(255, 255, 255, 0.4);
	--color-white-border: rgba(255, 255, 255, 0.2);
	--color-white-hover: rgba(255, 255, 255, 0.1);
	--color-white-bg: rgba(255, 255, 255, 0.05);
	--color-white-bg-blur: rgba(255, 255, 255, 0.95);
	/* brand tone */
	--color-wavee-light-blue: #389dd0;
	--color-wavee-blue: #0b69ac;
	--color-wavee-gradation: linear-gradient(to right, #389dd0, #0b69ac);
	--color-wavee-gradation-bg: linear-gradient(to right, #389dd0, #0b69ac, 10%);
	--color-wavee-gradation-deg: linear-gradient(135deg, #389dd0, #0b69ac);
	--color-wavee-gradation-deg-roll: linear-gradient(315deg, #389dd0, #0b69ac);
	--color-bravejig: #e47910;
	/* other color */
	--color-danger: #dc3545;
	--color-danger-bg: #f8d7da;
	--color-success: #198754;
	--color-success-bg: #d1e7dd;
	--icon-opaticy: 0.6;
	/* sizes */
	--text-top: 1em 0 0 0;
	--content-top: 1.5em 0 0 0;
	--content-padding-x1: 1.5em;
	--content-padding-x2: 3em;
	--container-top: 3em 0 0 0;
	--container-top-bottom: 3em 0;
	--header-height: 5rem;
	--footer-height: 4rem;
	--main-height: calc(100vh - (5rem + 1px + 4rem + 6rem)); /* header + border + footer + brand footer */
	--main-height-breadcrumb: calc(100vh - (5rem + 1px + 44px + 4rem + 6rem)); /* header + border + breadcrumb + footer + brand footer */
	--common-gap: 1rem;
	--column-2: calc((100% - (1rem * 1)) / 2);
	--column-3: calc((100% - (1rem * 2)) / 3);
	--column-4: calc((100% - (1rem * 3)) / 4);
	--common-radius: 1rem;
	/* setting */
	--transition: 0.2s;
}
* {
	box-sizing: border-box;
}
*:hover {
	transition: var(--transition);
}
html {
	color: var(--color-black);
	font-size: 16px;
	font-family: var(--font-san-serif);
	line-height: 1;
	background-color: var(--color-white);
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
	text-autospace: normal;
}
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, figure, figcaption, img, svg {
	margin: 0;
	padding: 0;
}
h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.5em;
}
h3 {
	font-size: 1.25em;
}
h4, h5, h6 {
	font-size: 1em;
}
h4 {
	font-weight: bold;
}
h1, h2, h3, h4, h5, h6, p, dt, dd, figcaption {
	line-height: 1.5;
}
p.text {
	line-height: 2;
	margin: var(--text-top);
}
p.text:first-child {
	margin-top: 0;
}
figure {
	line-height: 0;
	overflow: hidden;
}
figcaption {
	font-size: 0.75em;
	text-align: center;
	margin-top: 0.5em;
	opacity: 0.6;
}
img, svg {
	line-height: 0;
	width: 100%;
	height: auto;
	border: 0;
}
figure img, svg {
	display: block;
}
iframe {
	border: 0;
	overflow: hidden;
}
body, header, main, footer {
	width: 100%;
}
body, header, main, footer, section, article, aside, main .container {
	position: relative;
}
a {
	color: var(--color-black);
	text-decoration: none;
}
a:active {
	color: var(--color-wavee-blue);
}
p a {
	color: var(--color-wavee-blue);
}
p a:hover {
	text-decoration: underline;
}
/* a.in-new:after {
	content: "\e89e";
	font-size: 0.9em;
	font-family: "Material Icons";
	vertical-align: -0.1em;
	margin-left: 0.25em;
} */
main {
	min-height: var(--main-height);
}
.clearfix {
	clear: both;
	height: 0;
	line-height: 0;
}
.container {
	padding: var(--container-top);
}
.container:last-child {
	padding-bottom: 3em;
}
.inner {
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 1em;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--common-gap);
}
ul .flex li {
	display: block;
}
.media {
	display: flex;
	justify-content: center;
}
.action {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--common-gap);
	width: 100%;
	margin-top: auto;
	padding: var(--content-top);
}

/* button */
.button {
	display: block;
	line-height: 1.5;
	text-align: center;
	padding: 0.75em 1.5em;
	border-radius: 99px;
}
.button:hover {
	background-color: var(--color-black-hover);
}
.button.secondary {
	color: var(--color-black);
	background-color: var(--color-black-bg);
}
.button.outline {
	color: var(--color-wavee-blue);
	background-color: transparent;
	border: 1px solid var(--color-wavee-blue);
	padding: calc(0.75em - 1px) calc(1.5em - 1px);
}
.button.fill {
	color: var(--color-white);
	background-color: var(--color-wavee-light-blue);
}
.button.nega {
	color: var(--color-wavee-blue);
	background-color: var(--color-white);
}
.secondary:hover, .outline:hover, .fill:hover, .nega:hover, 
a:hover .secondary, a:hover .outline, a:hover .fill, a:hover .nega {
	color: var(--color-white);
	background-color: var(--color-wavee-blue);
}
.button.disable, .button.disable:hover {
	color: var(--color-black-sub);
	background-color: var(--color-black-bg);
}
.button.wide {
	font-size: 1.25em;
	width: 100%;
}
.button.navi {
	padding: 0.5em 1em;
}
.button.icon {
	padding-right: 0.5em;
}
.button.icon:after {
	font-family: "Material Icons";
	line-height: 0;
	opacity: var(--icon-opaticy);
	vertical-align: -0.1em;
	margin: 0 0.5em;
}
.button.icon.in-new:after {
	content: "\e89e";
}
.button.icon.downward:after {
	content: "\e5db";
}
.button.icon.forward:after {
	content: "\e5c8";
}
.button.icon.download:after {
	content: "\f090";
}
/* End button */

/* header */
header {
	position: sticky;
	inset: 0;
	z-index: 9998;
	background-color: var(--color-white-bg-blur);
	backdrop-filter: blur(16px);
}
header:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--color-black-border-fill);
}
header .site-logo {
	display: block;
	height: 2rem;
}
.header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--common-gap);
	min-height: var(--header-height);
}
.header-menu-container, 
.header-menu {
	display: flex;
}
.header-menu-container, 
.header-menu.important-item {
	gap: var(--common-gap);
}
.header-menu .item, 
.footer-menu .item {
	display: block;
}
.header-menu-icon {
	display: none;
	position: absolute;
	top: 0.75rem;
	right: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0.5rem;
}
.header-menu-icon .material-icons {
	font-size: 1.5em;
}
/* End header */

/* footer */
.footer-menu-container {
	background-color: var(--color-black-bg);
	padding: 0.75em 0;
	min-height: var(--footer-height);
}
.footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.brand-footer {
	background-color: var(--color-white) !important;
}
/* End footer */

/* breadcrumb */
.breadcrumb {
	font-size: 0.75em;
	background-color: var(--color-black-bg);
	padding: 1rem 0;
	min-height: 44px;
	white-space: nowrap;
}
.breadcrumb, 
.breadcrumb a {
	color: var(--color-black-sub);
}
.breadcrumb a:hover {
	color: var(--color-black);
}
.breadcrumb li {
	display: inline-block;
	position: relative;
	padding-left: 1.5em;
}
.breadcrumb li:first-child {
	padding-left: 0;
}
.breadcrumb li:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0.4em;
	margin: auto;
	width: 0.4em;
	height: 0.4em;
	border-top: 1px solid var(--color-black-sub);
	border-right: 1px solid var(--color-black-sub);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.breadcrumb li:first-child:before {
	content: none;
}
/* End breadcrumb */

/* titles and headlines */
.page-title {
	padding: var(--container-top-bottom);
	border-bottom: 1px solid var(--color-black-border);
}
.page-title p {
	color: var(--color-black-sub);
	margin: var(--text-top);
}
.headline {
	margin-bottom: 1.5em;
}
/* End headlines */

/* article list */
.article-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--common-gap);
}
.article-list li {
	display: block;
	border-radius: var(--common-radius);
	overflow: hidden;
}
.article-list article .content {
	display: flex;
	flex-direction: column;
	line-height: 1.5;
	padding: var(--content-padding-x1);
}
.article-list article h3, 
.article-list article .subtitle, 
.article-list article .excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}
.article-list article h3 {
	-webkit-line-clamp: 2;
}
.article-list article .subtitle {
	-webkit-line-clamp: 1;
	color: var(--color-black-caption);
	margin-top: 0.25em;
}
.article-list article .excerpt {
	-webkit-line-clamp: 3;
	color: var(--color-black-sub);
	margin: var(--text-top);
}
.article-list .media {
	background-color: var(--color-black-bg);
	overflow: hidden;
}
.article-list .media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.article-list a:hover .media img {
	transform: scale(1.1);
	transition: var(--transition);
}
.article-list.card li {
	width: var(--column-3);
	border:1px solid var(--color-black-border);
}
.article-list.card li:has(a):hover {
	border-color: var(--color-wavee-blue);
}
.article-list.card .media {
	aspect-ratio: 16 / 9;
}
.article-list.card.rectangle figure {
	width: 100%;
}
.article-list.banner li {
	width: var(--column-2);
	background-color: var(--color-black-bg);
}
.article-list.banner li:has(a):hover {
	background-color: var(--color-black-hover);
}
.article-list.banner article {
	display: flex;
}
.article-list.banner .media {
	aspect-ratio: 1 / 1;
	width: 10.75rem;
}
.article-list.banner .media figure {
	height: 100%;
}
.article-list.banner article .content {
	width: calc(100% - 10.75rem);
}
.article-list.banner article .excerpt {
	-webkit-line-clamp: 2;
}
.article-list.info li {
	width: 100%;
}
.article-list.info article h3 {
	-webkit-line-clamp: 1;
}
.article-list.banner.info .date {
	color: var(--color-black-caption);
	margin: var(--text-top);
}
/* End article list */

/* article label */
.label span {
	display: inline-block;
	color: var(--color-white);
	background-color: var(--color-black-main);
	padding: 0.375em 0.75em;
	border-radius: 0.375rem;
	line-height: 1;
}
.label a {
	display: inline-block;
	color: var(--color-black-sub);
	background-color: var(--color-black-bg);
	padding: 0.5em 1em;
	border-radius: 0.5rem;
}
.label a:hover {
	color: var(--color-black);
	background-color: var(--color-black-hover);
}
.article-list .label {
	position: absolute;
	top: 1rem;
	left: 1rem;
}
/* End article label */

/* banner list */
.banner-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: var(--column-2);
	background-color: var(--color-black-bg);
	border-radius: var(--common-radius);
	overflow: hidden;
}
a.banner-item:hover {
	background-color: var(--color-black-hover);
	transform: scale(1.025);
}
.banner-item .content {
	padding: var(--content-padding-x1);
}
.banner-item .text, 
.banner-item .excerpt {
	color: var(--color-black-sub);
	margin: var(--text-top);;
}
.banner-item .excerpt {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.banner-item.icon:after {
	font-family: "Material Icons";
	content: "\e5c8";
	font-size: 1.5rem;
	line-height: 0;
	margin-right: 1.5rem;
	opacity: var(--icon-opaticy);
}
.banner-item.wide {
	width: 100%;
}
.banner-item.image.wide h3 {
	font-size: 2em;
}
.banner-item.rich .content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--content-padding-x2);
}
.banner-item.image .content, 
.banner-item.image .media {
	width: 50%;
}
.banner-item.image .media {
	height: 100%;
}
.banner-item.image .media img {
	object-fit: cover;
    width: 100%;
    height: 100%;
}
.banner-item.image.solution {
	color: var(--color-white);
	background: var(--color-wavee-gradation);
}
.banner-item.image.solution .text {
	color: var(--color-white-main);
}
/* End banner list */

/* yarpp */
.yarpp-related {
	margin-top: 3em;
	margin-bottom: 0;
	padding: var(--container-top-bottom);
	border-top:1px solid var(--color-black-border);
}
.yarpp-related .article-list h3 {
	padding: 0;
	text-transform: none;
}
.yarpp-related .article-list .excerpt, 
.yarpp-related .article-list .label {
	font-weight: normal;
}
/* End yarpp */

/* single */
.single .inner {
	max-width: 960px;
}
.article-headline {
	padding: var(--container-top-bottom);
}
.article-headline .subtitle {
	color: var(--color-black-caption);
	margin: var(--text-top);
}
.article-headline .label {
	margin: var(--text-top);
}
.article-content, 
.article-content .eyecatch {
	margin-bottom: 3em;
}
.article-content section, 
.article-content table {
	margin: 1em 0;
}
.article-content h2 {
	padding-bottom: 1em;
	border-bottom: 1px solid var(--color-wavee-light-blue);
	margin: 2em 0 1.5em;
}
.article-content h3 {
	padding-left: 1em;
	border-left: 4px solid var(--color-wavee-light-blue);
	margin: 2em 0 1.5em;
}
.article-content h4 {
	margin: 2em 0 1em;
}
.article-content h5, 
.article-content h6 {
	margin: 1em 0;
}
.article-content p {
	line-height: 2;
	margin: 1em 0;
}
.article-content figure {
	margin: 2em 0;
}
.article-content ul, 
.article-content ol {
	margin: 1.5em 0 1.5em 2em;
}
.article-content li, 
.article-content dt, 
.article-content dd {
	line-height: 1.5;
	margin: 0.5em 0;
}
/* End single */

/* single product */
.single.product .inner {
	max-width: 1280px;
}
.single.product .article-content section {
	margin: var(--container-top-bottom);
	padding: var(--container-top);
	border-top: 1px solid var(--color-black-border);
}
.single.product .article-content section:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
.single.product .article-content h2 {
	margin: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#product-detail .flex {
	gap: 3rem;
}
#product-detail .media, 
#product-detail .content {
	display: block;
	width: calc((100% - 3rem) / 2);
}
#product-detail .media figure {
	overflow: hidden;
	border-radius: var(--common-radius);
}
.product-order ul {
	color: var(--color-black-sub);
	margin: 0 0 0 2em;
}
#product-image .flex {
	gap: 0.25rem;
}
#product-image .flex li {
	display: block;
	width: calc((100% - 0.25rem * 3) / 4);
}
#product-detail .media figure, 
#product-image .flex li {
	background-color: var(--color-black-bg);
}
#product-detail figure, 
#product-image figure, 
#product-image ul, 
#product-image li {
	margin: 0;
}
#product-spec table {
	text-align: left;
	width: 100%;
}
#product-spec tr:nth-child(odd) {
	background-color: var(--color-black-bg);
}
#product-spec th, 
#product-spec td {
	line-height: 1.5;
	padding: 0.75em 1.5em;
	max-width: 50%;
}
#product-spec th {
	font-weight: normal;
	width: 20%;
}
#product-spec .caption {
	font-size: 0.75em;
}
/* End single product */

/* single info */
.single .info-detail-price {
	background-color: var(--color-black-bg);
	margin-top: 1.5em;
	padding: 1.5em;
	border-radius: var(--common-radius);
}
/* End single info */

/* insert container */
.compact {
	max-width: 720px;
	margin: 0 auto;
}
.compact .button {
	width: 100%;
}
.insert {
	padding: var(--container-top-bottom);
}
.insert.inquiry {
	color: var(--color-white);
	background: var(--color-wavee-gradation-deg);
}
.insert.inquiry h2 {
	font-size: 2em;
	text-align: center;
}
.insert.inquiry .text {
	margin: 2em 0;
}
.insert.inquiry-article {
	background: var(--color-black-bg);
	padding: var(--content-padding-x2);
	border-radius: var(--common-radius);
	margin-bottom: 3em;
}
.insert.inquiry-article h2 {
	font-size: 1.25em;
	text-align: center;
}
.insert.inquiry-article .text {
	color: var(--color-black-sub);
}
.insert.module {
	text-align: center;
	background-color: var(--color-black-bg);
	border-radius: var(--common-radius);
}
.insert.module strong {
	display: inline-block;
	font-size: 1.25em;
	line-height: 1.5;
}
.insert.module p {
	color: var(--color-black-sub);
	margin: var(--text-top);
}
.insert.module.danger {
	color: var(--color-danger);
	background-color: var(--color-danger-bg);
}
.insert.module.success {
	color: var(--color-success);
	background-color: var(--color-success-bg);
}
/* End insert */

/* Front Page */
.front-page .container {
	padding: var(--container-top-bottom);
}
.front-page .main-visual {
	background-color: var(--color-black-bg);
	background: url(/wp-content/themes/wavee-plus/images/main-visual.webp) center / cover no-repeat;
	min-height: 35rem;
}
.front-page .main-visual .flex {
	display: flex;
	align-items: center;
	min-height: calc(35rem - 3em - 3em); /* height - padding */
}
.front-page .main-visual .lead {
	font-size: 1.25em;
	line-height: 1.75;
	margin: 1em 0;
}
.front-page .main-visual .lead-impact {
	color: var(--color-wavee-light-blue);
	font-size: 1.25em;
	font-weight: bold;
	margin: 0 0.1em;
}
.front-page .main-visual .lead-caption {
	font-size: 0.75em;
	opacity: 0.4;
}
.front-page #brand {
	padding-bottom: 0;
}
.front-page #brand h2 {
	font-size: 2.5em;
	text-align: center;
}
.front-page #brand .subtitle {
	color: var(--color-black-main);
	font-size: 0.9em;
	text-align: center;
	margin-left: -1.5em;
}
.front-page #brand .text {
	color: var(--color-black-main);
	margin-top: 2em;
}
.front-page #beacon .insert .action {
	padding-top: 0;
}
/* .front-page #info .headline h2 {
	text-align: center;
}
.front-page #info .article-list {
	gap: 0.5rem;
}
.front-page #info .article-list a {
	display: block;
	background-color: var(--color-black-bg);
}
.front-page #info .article-list a:hover {
	background-color: var(--color-black-hover);
}
.front-page #info .article-list .content {
	padding: 1em 1.5em;
}
.front-page #info .article-list .flex {
	align-items: center;
}
.front-page #info .article-list article {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}
.front-page #info .article-list article:after {
	font-family: "Material Icons";
	content: "\e5c8";
	line-height: 0;
	margin-right: 1.5em;
	opacity: var(--icon-opaticy);
}
.front-page #info .article-list .date {
	color: var(--color-black-sub);
	min-width: 136px;
}
.front-page #info .article-list .label {
	position: static;
	min-width: 96px;
}
.front-page #info .article-list .title {
	font-size: 1em;
	font-weight: normal;
}
.front-page #info .article-list .label span {
	color: var(--color-black-sub);
	background-color: var(--color-black-bg);
} */
/* End Front Page */

/* catalog */
.catalog-list {
	margin: var(--container-top);
}
.catalog-list li {
	display: flex;
	flex-direction: column;
	width: var(--column-3);
}
.catalog-list .media {
	aspect-ratio: 16 / 9;
    overflow: hidden;
}
.catalog-list .media figure {
	width: 100%;
	height: 100%;
}
.catalog-list .media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.catalog-list .content {
	display: flex;
	flex-direction: column;
	line-height: 1.5;
	padding: 1.5em 0;;
}
.catalog-list .excerpt {
	color: var(--color-black-sub);
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	margin: var(--text-top);
}
.catalog-list .action {
	background-color: var(--color-black-bg);
	padding: var(--content-padding-x1);
	border-radius: var(--common-radius);
	justify-content: center;
}
.catalog-list .file-info {
	text-align: center;
}
.catalog-list .file-name {
	color: var(--color-black);
	line-height: 1.5;
}
.catalog-list .file-size {
	color: var(--color-black-caption);
	font-size: 0.9em;
	margin-top: 0.5em;
}
/* End catalog */

/* terminal */
.terminal {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: var(--main-height-breadcrumb);
}
.terminal .action {
	margin-top: 2em;
}
.terminal h2 {
	text-align: center;
	margin-bottom: 2em;
}
.terminal p {
	color: var(--color-black-sub);
}
/* End terminal */

/* sitemap */
.sitemap {
	line-height: 1.5;
}
.sitemap #sitemap_list {
	margin-left: 2em;
}
.sitemap .page-title p {
	color: var(--color-danger);
}
.sitemap a {
	text-decoration: none;
}
.sitemap a:hover {
	text-decoration: underline;
}
.sitemap .cat-item ul,
.sitemap .page_item ul {
	margin-left: 1.5em;
}
.sitemap .cat-item{
	font-weight: bold;
	margin: var(--container-top-bottom);
}
.sitemap .post-item, .sitemap .page_item {
	font-weight: normal;
	margin: 1em 0;
}
/* End sitemap */

/* Monitor (breakpoint over 961 px) */
@media screen and (min-width: 961px) {
	.main-visual .action .button.wide {
		width: fit-content;
	}
}
/* End Monitor */

/* Tablet (breakpoint under 960 px) */
@media screen and (max-width: 960px) {
	:root{
		--header-height: 4rem;
		--footer-height: auto;
		--container-top: 1.5em 0 0 0;
		--container-top-bottom: 1.5em 0;
		--main-height: calc(100vh - (4rem + 1px));
		--main-height-breadcrumb: calc(100vh - (4rem + 1px + 44px));
	}
	.header-menu-icon {
		display: block;
		cursor: pointer;
	}
	.header-menu-container {
		position: fixed;
		top: 0; 
		right: -75%;
		opacity: 0;
		overflow: hidden;
		width: 75%;
		height: 100vh;
		z-index: 9999;
		background-color: var(--color-white);
		transition: var(--transition);
		margin-top: calc(4rem + 1px);
		border-left: 1px solid var(--color-black-border);
		padding: 1.5em;
		flex-direction: column;
		gap: var(--common-gap);
	}
	.header-menu-container.open {
		right: 0;
		opacity: 1;
	}
	.header-menu {
		flex-direction: column;
	}
	.footer-menu {
		justify-content: start;
	}
	.header-menu, 
	.footer-menu {
		gap: var(--common-gap);
	}
	.footer-menu-container {
		padding: 1.5em 0;
	}
	.footer-menu .item {
		width: var(--column-3);
	}
	.button, 
	.header-menu .button {
		width: 100%;
	}
	.header-menu.normal-item .button {
		background-color: var(--color-black-bg);
	}
	.insert .compact {
		max-width: 100%;
	}
	.article-list.card li, 
	.catalog-list li {
		width: var(--column-2);
	}
	.front-page .main-visual {
		min-height: 320px;
	}
	.front-page .main-visual.container {
		padding: 0;
	}
	.front-page .main-visual .inner {
		background-color: rgba(255, 255, 255, 0.6);
		backdrop-filter: blur(16px);
		padding: 1em;
	}
	.front-page .main-visual .flex {
		justify-content: center;
	}
	.article-headline, 
	.page-title, 
	.headline {
		text-align:center;
	}
	br.tb {display: none;}
}
/* End Tablet */

/* Mobile (breakpoint under 440 px) */
@media screen and (max-width: 440px) {
	:root {
		--column-2: 100%;
		--column-3: 100%;
		--content-padding-x2: 1.5em;
	}
	header .site-logo {
		height: 1.5rem;
		margin-left: 0.5em;
	}
	.content, 
	.banner-item.rich .content, 
	.catalog-list .content {
		padding: var(--content-padding-x1);
	}
	.container:last-child {
		padding-bottom: 1.5em;
	}
	.front-page .main-visual .lead-caption {
		display: block;
		margin-top: -0.5em;
	}
	.article-list.banner.info .media {
		display: none;
	}
	/*#info .article-list.text .title, */
	.article-list.info article .title {
		-webkit-line-clamp: 3;
	}
	.article-list.banner.info article .title {
		margin-top: 2em;
	}
	/*
	#info .article-list.text .date, 
	#info .article-list.text .label {
		min-width: auto;
	}
	*/
	.banner-item.image {
		flex-direction:column-reverse;
	}
	.single #product-detail .flex {
		gap: var(--common-gap);
	}
	.single #product-image .flex li {
		width: calc((100% - 0.5rem) / 2);
	}
	.single #product-detail .flex .media, 
	.single #product-detail .flex .content, 
	.banner-item.image .content, 
	.banner-item.image .media, 
	.article-list.banner.info .content {
		width: 100%;
	}
	.article-content .content {
		padding: 0.5em;
	}
	.article-content, 
	.article-content .eyecatch {
		margin-bottom: 0;
	}
	.insert.inquiry-article {
		margin-bottom: 1.5em;
	}
	.insert.module {
		padding: 0;
	}
	br.sp {display: none;}
}
/* End Mobile */