/*!
Theme Name: kakki
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kakki
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

kakki is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* -----------------------------------------------------------------------
 fonts
----------------------------------------------------------------------- */
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 100;
	src: url("css/fonts/NotoSansJP-Thin.woff2") format("woff2"), url("css/fonts/NotoSansJP-Thin.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 300;
	src: url("css/fonts/NotoSansJP-Light.woff2") format("woff2"), url("css/fonts/NotoSansJP-Light.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("css/fonts/NotoSansJP-Regular.woff2") format("woff2"), url("css/fonts/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	src: url("css/fonts/NotoSansJP-Medium.woff2") format("woff2"), url("css/fonts/NotoSansJP-Medium.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("css/fonts/NotoSansJP-Bold.woff2") format("woff2"), url("css/fonts/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 900;
	src: url("css/fonts/NotoSansJP-Black.woff2") format("woff2"), url("css/fonts/NotoSansJP-Black.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 100;
	src: url("css/fonts/Lato-Thin.woff2") format("woff2"), url("css/fonts/Lato-Thin.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 300;
	src: url("css/fonts/Lato-Light.woff2") format("woff2"), url("css/fonts/Lato-Light.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	src: url("css/fonts/Lato-Regular.woff2") format("woff2"), url("css/fonts/Lato-Regular.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	src: url("css/fonts/Lato-Bold.woff2") format("woff2"), url("css/fonts/Lato-Bold.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 900;
	src: url("css/fonts/Lato-Black.woff2") format("woff2"), url("css/fonts/Lato-Black.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 100;
	src: url("css/fonts/Lato-ThinItalic.woff2") format("woff2"), url("css/fonts/Lato-ThinItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 300;
	src: url("css/fonts/Lato-LightItalic.woff2") format("woff2"), url("css/fonts/Lato-LightItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 400;
	src: url("css/fonts/Lato-Italic.woff2") format("woff2"), url("css/fonts/Lato-Italic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 700;
	src: url("css/fonts/Lato-BoldItalic.woff2") format("woff2"), url("css/fonts/Lato-BoldItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 900;
	src: url("css/fonts/Lato-BlackItalic.woff2") format("woff2"), url("css/fonts/Lato-BlackItalic.woff") format("woff");
	font-display: swap;
}


/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
/* body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
} */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

/* p {
	margin-bottom: 1.5em;
} */

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
/* a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
} */

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
/* .main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
} */

/* Small menu. */
/* .menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
} */

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

/* .post,
.page {
	margin: 0 0 1.5em;
} */

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}






/* -----------------------------------------------------------------------
 初期設定
----------------------------------------------------------------------- */
:root {
	--main-theme-color: #BF1A20;
	--sub-theme-color1: #000;
	--sub-theme-color2: #1E1E1E;
	--main-accent-color: #77051E;
	--main-text-color: #000;
	--theme-border-color: #CCC;
	--theme-border-color2: #D9D9D9;
	--theme-bg-color: #F2F2F2;
	--theme-bg-color2: #FFEBEB;
	--theme-bg-color3: #FFF3F3;
	/* --link-text-color: #000; */
	--link-text-color: #BF1A20;
	--theme-en-font: 'Lato';
	--theme-num-font: 'Lato';
	--radius-pc: 10px;
	--radius-sp: 2.5641vw;
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%; 
}
body {
	background-color: #fff;
	line-height: 1.5;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","HiraKakuProN-W3", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	word-break: break-word;
	color: var(--main-text-color);
}
html, body, h1, h2, h3, h4, h5, h6, p, figure, dl, dt, dd, ul, li, ol {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul, ol {
	list-style: none;
}
em {
	font-style: normal;
}
header, footer, main, nav, article, aside, section, div, p {
	display: block;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
	/* -webkit-backface-visibility: hidden; */
	border: none;
}
a {
	transition: opacity .3s ease;
	text-decoration: none;
	color: var(--link-text-color);
}
a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	body {
		font-size: 3.58974vw; /* 14px at 390px width */
	}
	p {
		line-height: 1.857;
	}
}
@media screen and (min-width: 768px), print {
	body {
		overflow-x: hidden;
		font-size: 1.6rem;
	}
	p {
		line-height: 1.6875;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	a:hover {
		opacity: .7;
	}
}



/* -----------------------------------------------------------------------
 基本設定
----------------------------------------------------------------------- */
.inner {
	max-width: 1140px;
	width: 89.7436%;
	margin: auto;
}
.flx {
	display: flex;
}
.date {
	font-family: var(--theme-en-font);
}
.em {
	background: linear-gradient(transparent 50%, #FFDADA 0%);
	font-weight: 700;
}
@media (max-width: 767px) {
	.only-pc {
		display: none !important;
	}
}
@media (min-width: 768px) {
	.only-sp {
		display: none !important;
	}
	.flxpc {
		display: flex;
	}
}

.btn {
	position: relative;
	display: block;
	padding: 1.25em;
	background-color: var(--main-theme-color);
	box-sizing: border-box;
	line-height: 1;
	font-weight: bold;
	color: #fff !important;
	z-index: 1;
	overflow: hidden;
	/* transition: background-color .3s ease; */
}
.btn-pt::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	display: block;
	margin: auto;
	background: url(img/pt_btn.svg) no-repeat center;
	background-size: contain;
	transition: transform .3s ease;
}
.btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: var(--main-accent-color);
	transition: width .2s ease;
	z-index: -1;
}
.btn:hover {
	opacity: 1;
}
.btn:hover::before {
	width: 100%;
}
/* .btn:hover {
	opacity: 1;
	background-color: var(--theme-bg-color2);
	background-color: var(--main-theme-color);
	color: #fff;
} */
/* .btn:hover::after {
	transform: translateX(4px);
	background-image: url(img/icon_arrow_wht.svg);
}
.btn.below::after {
	transform: rotate(90deg);
}
.btn.below:hover::after {
	transform: translate(0, 4px) rotate(90deg);
	background-image: url(img/icon_arrow_wht.svg);
} */

.blk-btn.top .btn {
	margin: auto;
}
.bg {
	background-color: var(--theme-bg-color);
}
.bg2 {
	background-color: var(--theme-bg-color2);
}
.list li {
	margin-left: 1em;
	text-indent: -1em;
}
.entry-content p {
	line-height: 2;
}
.entry-content p:not(:last-child) {
	margin-bottom: 1em;
}
@media (max-width: 767px) {
	.btn {
		max-width: 78.4615vw;
		border-radius: var(--radius-sp);
		font-size: 4.1026vw;
	}
	.btn-pt::after {
		width: 3.5897vw;
		height: 3.5897vw;
	}
	.blk-btn.top-index {
		margin-top: 2em;
	}
	.page .entry-content > h2:not(:first-child) {
		margin-top: 1.25em;
	}
}
@media (min-width: 768px) {
	.btn {
		max-width: 306px;
		width: 80%;
		border-radius: var(--radius-pc);
	}
	.btn-pt::after {
		width: 14px;
		height: 14px;
	}
	.blk-btn.top-index {
		margin-top: 3em;
	}
	.page .entry-content > h2:not(:first-child) {
		margin-top: 2em;
	}
}


/* -----------------------------------------------------------------------
 header
----------------------------------------------------------------------- */
.site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 101;
	transition: top ease .5s;
}
.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.site-logo {
	color: #fff;
	position: relative;
	z-index: 102;
}
.nav-menu li > ul {
	margin-left: 0;
}
.nav-menu a {
	display: block;
	text-decoration: none;
	font-weight: bold;
	color: var(--main-text-color);
}
.nav-menu a.is-active {
	color: var(--main-theme-color);
}

.nav-buttons .btn-nav {
	text-align: center;
	color: #fff;
}

.site-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transform: translateY(-100%);
	background-color: rgba(255, 255, 255, .95);
	animation: slideInFromTop 0.4s ease forwards;
}
.site-header.slide-out {
	animation: slideOutToTop 0.3s ease forwards;
}
/* 上からスライドインするアニメーション */
@keyframes slideInFromTop {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}
/* 上にスライドアウトするアニメーション */
@keyframes slideOutToTop {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-100%);
	}
}

@media (max-width: 767px) {
	.header-container {
		height: 17.9487vw; /* 70px at 390px */
		padding: 0 0 0 5.1282vw; /* 0 20px at 390px */
	}
	.logo-header {
		width: 25.64103vw;
	}
	.nav-wrapper {
		padding: 5.8974vw 7.69231vw 6.41vw; /* 20px at 390px */
	}
	.menu-toggle {
		width: 17.9487vw; /* 70px at 390px */
		height: 17.9487vw; /* 70px at 390px */
		position: relative;
		background: none;
		border: none;
		border-radius: 0;
		cursor: pointer;
		padding: 0;
		z-index: 100;
	}
	.menu-toggle span {
		display: block;
		width: 5.12821vw; /* 20px at 390px */
		height: min(.7692vw, 3px); /* 3px at 390px */
		height: 1px;
		background-color: #000;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all .3s ease;
	}
	.menu-toggle span:nth-child(1) {
		top: calc(50% - 2.5641vw); /* center - 10px at 390px */
	}
	.menu-toggle span:nth-child(2) {
		top: 0;
		bottom: 0;
		margin: auto;
		/* top: 50%;
		transform: translate(-50%, -50%); */
	}
	.menu-toggle span:nth-child(3) {
		bottom: calc(50% - 2.5641vw); /* center - 10px at 390px */
	}
	.menu-open .menu-toggle span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.menu-open .menu-toggle span:nth-child(2) {
		opacity: 0;
	}
	.menu-open .menu-toggle span:nth-child(3) {
		bottom: 50%;
		transform: translate(-50%, 50%) rotate(-45deg);
	}
	.main-navigation {
		position: fixed;
		top: 17.9487vw;
		right: -100%;
		width: 100%;
		height: calc(100vh - 17.9487vw);
		background-color: rgba(255, 255, 255, .95);
		z-index: 99;
		transition: right 0.3s ease;
	}
	.menu-open .main-navigation {
		right: 0;
		overflow-y: scroll;
	}
	/* .nav-menu li {
		border-bottom: 1px solid #D9D9D9;
	} */
	.nav-menu a {
		padding: 3.0769vw 0;
		font-size: 6.15385vw;
	}
	.nav-submenu a {
		font-size: 4.6154vw;
		font-weight: 400;
	}
	.nav-buttons {
		margin-top: 2em;
	}
	.nav-buttons .btn-nav {
		padding: 5.8974vw 0;
	}
	/* 固定の時にハンバーガーボタンのみ表示 */
	/* .site-header.fixed {
		background-color: rgba(255, 255, 255, 0);
	}
	.site-header.fixed .menu-toggle {
		position: absolute;
		right: 0;
		top: 0;
		background-color: #fff;
	}
	.site-header.fixed .site-logo {
		visibility: hidden;
		pointer-events: none;
	} */
}
@media (min-width: 768px) {
	.site-header {
		height: 80px;
	}
	.header-container {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.header-left {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.logo-header {
		width: 130px;
		margin-left: min(30px,3vw);
	}
	.main-navigation {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		background: none;
	}
	.nav-wrapper {
		padding: 0;
	}
	.nav-menu {
		position: relative;
		display: flex;
		align-items: center;
		gap: min(40px, 2.5vw);
		border: none;
	}
	.nav-menu a {
		transition: border-bottom-color .3s ease;
	}
	.nav-menu > li > a:has(+ div)::after {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		margin-left: 10px;
		background: url(img/pt_nav.svg) no-repeat center;
		background-size: contain;

	}
	.nav-menu > li:not(.nav-buttons) > a {
		padding: 28px 0 25px;
		border-bottom: solid 3px rgba(255,255,255,0);
		font-size: 16px;
	}
	.nav-menu > li:not(.nav-buttons) > a.is-active {
		border-color: var(--main-theme-color);
	}
	.nav-menu > li:not(.nav-buttons) > a:hover {
		/* opacity: 1; */
		border-bottom-color: var(--main-theme-color);
		color: var(--link-text-color);
	}
	.nav-menu > li > a:has(+ div):hover + .box-nav-submenu {
		display: block;
	}
	.box-nav-submenu {
		display: none;
		position: absolute;
		left: auto;
		bottom: auto;
		padding-top: 30px;
		margin-top: -20px;
	}
	.box-nav-submenu:hover {
		display: block;
	}
	.nav-submenu {
		padding: 8px 16px;
		background-color: #fff;
		border: 1px solid var(--theme-border-color);
		border-radius: var(--radius-pc);
		font-size: 14px;
	}
	.nav-submenu li {
		position: relative;
		padding-left: 19px;
	}
	.nav-submenu li::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		display: block;
		margin: auto;
		width: 6px;
		height: 2px;
		background-color: var(--main-theme-color);
	}
	.nav-submenu li a {
		padding: 6px 0;
	}
	.nav-buttons .btn-nav {
		width: min(150px,13vw);
		padding-left: .1em;
		padding-right: .1em;
	}
}

/* -----------------------------------------------------------------------
 footer
----------------------------------------------------------------------- */
.footer-logo {
	display: inline-block;
}
.footer-company {
	margin-bottom: .5em;
	font-weight: bold;
}
.footer-address {
	line-height: 1.5;
}
.footer-menu {
	line-height: 1.2;
}
.footer-menu > li {
	margin-bottom: 1em;
}
.footer-menu > li > a {
	font-weight: bold;
}
.footer-menu a {
	color: var(--main-text-color);
}
.footer-submenu {
	margin-left: 0;
}
.footer-submenu > li {
	margin-top: 1em;
}
.flx-sns {
	align-items: flex-start;
	justify-content: flex-start;
}
.blk-copyright {
	padding: 1.2em 0;
	background-color: var(--sub-theme-color1);
	color: #fff;
}
.blk-copyright a {
	color: #fff;
}
.copyright {
	display: block;
	font-family: var(--theme-en-font);
	font-size: inherit;
}
@media (max-width: 767px) {
	.inner-footer,
	.inner-copyright {
		width: 80%;
	}
	.flxpc-footer {
		margin: 10.25641vw 0;
		font-size: 4.1026vw;
	}
	.footer-logo,
	.logo-footer {
		width: 38.46154vw;
	}
	.footer-logo {
		margin-bottom: .5em;
	}
	.footer-company {
		font-size: 4.6154vw;
	}
	.col-footer-company {
		margin-bottom: 2em;
	}
	.flx-sns {
		margin-top: 3em;
	}
	.col-sns {
		margin-right: 1.5em;
	}
	.col-sns img {
		width: 7.6923vw;
	}
	.blk-copyright {
		padding: 1.8em 0;
	}
	.privacy {
		margin-bottom: 1em;
		font-size: 4.6154vw;
	}
	.copyright {
		font-size: 4.1026vw;
	}
}
@media (min-width: 768px) {
	.flxpc-footer {
		align-items: stretch;
		justify-content: space-between;
		margin: 40px 0;
	}
	.col-footer-company {
		font-size: 14px;
	}
	.footer-logo,
	.logo-footer {
		width: 130px;
	}
	.footer-logo {
		margin-bottom: 1em;
	}
	.footer-company {
		font-size: 16px;
	}
	.col-footer-menu {
		align-items: stretch;
		justify-content: space-between;
		max-width: 860px;
		width: 76%;
	}
	.footer-submenu {
		font-size: 14px;
	}
	.col-sns:first-child {
		margin-right: 1em;
	}
	.col-sns img {
		width: 20px;
	}

	.flx-footer-copyright {
		align-items: center;
		justify-content: space-between;
	}
}


/* -----------------------------------------------------------------------
 CTA
----------------------------------------------------------------------- */
.cta-sec {
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	text-align: center;
}
.btn-cta {
	margin: 2em auto 0;
	padding: 1.375em 1em;
}
.ttl-cta {
	margin-bottom: .25em;
	line-height: 1.4;
	font-weight: 900;
}
@media (max-width: 767px) {
	.cta-sec {
		height: 102.5641vw;
		background-image: url(img/cta_bg_sp.webp);
	}
	.ttl-cta {
		font-size: 8.20513vw;
	}
	.btn-cta {
		width: 46.15385vw;
	}
}
@media (min-width: 768px) {
	.cta-sec {
		height: 360px;
		background-image: url(img/cta_bg_pc.webp);
	}
	.ttl-cta {
		font-size: 48px;
	}
	.btn-cta {
		width: 180px;
	}
}



/* -----------------------------------------------------------------------
 共通：list(一覧ページ)
----------------------------------------------------------------------- */
.flx-list {
	row-gap: 2em;
}
.blk-img {
	margin-bottom: 1em;
}
.blk-img img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.flx-blk-list {
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	margin-bottom: .5em;
	flex-wrap: wrap;
}
.category-list-blk {
	display: block;
}
.category-list-blk a {
	display: inline-block;
	padding: 0 .5em;
	background-color: #000;
	font-weight: 700;
	color: #fff;
}
.date-list-blk {
	display: block;
}
.ttl-list-blk {
	margin-bottom: .5em;
	font-weight: 700;
}
.ttl-list-blk a {
	color: var(--main-text-color);
}
@media (max-width: 767px) {
	.flx-list {
		flex-direction: column;
	}
	.blk-img img {
		border-radius: var(--radius-sp);
	}
	.category-list-blk a {
		font-size: 3.0769vw;
	}
	.date-list-blk {
		font-size: 4.1026vw;
	}
	.ttl-list-blk {
		font-size: 4.1026vw;
	}
}
@media (min-width: 768px) {
	.flx-list {
		align-items: stretch;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.flx-list:not(.three-column) .item-list {
		width: 21.843%;
		max-width: 249px;
	}
	.flx-list:not(.three-column) .item-list:not(:nth-child(4n)) {
		margin-right: 4.209%;
	}
	.flx-list.three-column .item-list {
		width: 30.878%;
		max-width: 352px;
	}
	.flx-list.three-column .item-list:not(:nth-child(3n)) {
		margin-right: 3.683%;
	}
	.blk-img img {
		border-radius: var(--radius-pc);
	}
	.category-list-blk a {
		font-size: 12px;
	}
	.ttl-list-blk {
		font-size: 16px;
	}
}


/* -----------------------------------------------------------------------
 共通：tags
----------------------------------------------------------------------- */
.flx-tags {
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.flx-tags li {
	margin: .25em .5em .25em 0;
}
.flx-tags a {
	display: block;
	padding: .25em .5em;
	border: 1px solid;
	border-radius: .4em;
	line-height: 1;
	color: var(--main-theme-color);
}
@media (max-width: 767px) {
	.flx-tags a {
		font-size: 3.0769vw;
	}
}
@media (min-width: 768px) {
	.flx-tags a {
		font-size: 12px;
	}
}



/* -----------------------------------------------------
 PAGINATION
-------------------------------------------------------- */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: .25em;
	text-align: center;
}
.pagination .pager {
	position: relative;
	display: block;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	line-height: 1;
	background-color: var(--theme-bg-color);
	color: var(--sub-theme-color1);
	/* border: solid 1px var(--theme-border-color); */
	border-radius: .25em;
	font-family: var(--theme-num-font);
}
/* .pagination .pager:first-child {
	border-radius: .2em 0 0 .2em;
}
.pagination .pager:last-child {
	border-radius: 0 .2em .2em 0;
} */
.pagination .pager:not(:last-child) {
	border-right: none;
}
.pagination .pager.current {
	background-color: #fff;
	color: var(--sub-theme-color1);
	background-color: var(--sub-theme-color1);
	color: #fff;
}
.pagination .pager.first::after,
.pagination .pager.prev::after,
.pagination .pager.next::after,
.pagination .pager.last::after {
	/* content: ""; */
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	height: 1em;
	width: auto;
	margin: auto;
	line-height: 1;
}
.pagination .pager.first::after {
	content: "First";
}
.pagination .pager.prev::after {
	content: "Prev";
}
.pagination .pager.next::after {
	content: "Next";
}
.pagination .pager.last::after {
	content: "Last";
}
@media screen and (max-width: 767px) {
	.pagination {
		width: 100vw;
		margin: 3em auto 0;
		margin-left: calc( 50% - 50vw );
		column-gap: .5em;
	}
	.pagination .pager {
		width: 12vw;
		height: 12vw;
		padding-top: .9em;
		font-size: 111.1%;
	}
	.pagination .pager:first-child {
		margin-left: 0;
	}
	.pagination .pager:last-child {
		margin-right: 0;
	}
	.pagination .pager.first,
	.pagination .pager.last {
		width: 17.2vw;
	}
}
@media screen and (min-width: 768px), print {
	.pagination {
		margin: 1em auto 0;
	}
	.pagination .pager {
		width: 40px;
		height: 40px;
		padding-top: 12px;
		transition: all .3s ease;
		font-size: 14px;
	}
	.pagination .pager.first,
	.pagination .pager.last {
		width: 64px;
	}
	.pagination .pager:hover {
		opacity: 1;
		background-color: var(--sub-theme-color1);
		color: #fff;
	}
}



/* -----------------------------------------------------------------------
 entry-content共通：見出しタグ,リスト
----------------------------------------------------------------------- */
.info-dtl-ttl,
.case-study .entry-content h2,
.post .entry-content h2,
.page .entry-content h2 {
	position: relative;
	margin-bottom: 1.5em;
	line-height: 1.2;
	font-weight: 900;
}
.info-dtl-ttl::before,
.case-study .entry-content h2::after,
.post .entry-content h2::after,
.page .entry-content h2::after {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	height: 1px;
	background-color: var(--main-theme-color);
}
.post .entry-content h2 {
	margin-top: 1.5em;
}
.case-study .entry-content h2 {
	margin-top: 1.5em;
}
.archive-ttl {
	background-color: var(--main-theme-color);
	line-height: 1.3;
	/* align-content: center; */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 900;
	color: #fff;
}
.case-study .entry-content h3,
.post .entry-content h3,
.information .entry-content h2 {
	padding: 1em;
	background-color: var(--theme-bg-color);
	line-height: 1.3;
	color: var(--main-accent-color);
}
.information .entry-content h2 {
	margin: 1em 0;
}
.post .entry-content h3 {
	margin: 2em 0 1.5em;
}
.case-study .entry-content h4,
.post .entry-content h4,
.information .entry-content h3 {
	position: relative;
	padding: .5em .5em 1em 1em;
	margin: 1.5em 0 1em;
	line-height: 1.3;
	border-bottom: 1px solid var(--theme-border-color2);
}
.case-study .entry-content h4::before,
.post .entry-content h4::before,
.information .entry-content h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: block;
	margin: auto;
	width: 3px;
	height: 67%;
	background-color: var(--main-theme-color);
}
.case-study .entry-content ul,
.post .entry-content ul,
.information .entry-content ul {
	list-style: disc;
}
.case-study .entry-content ol,
.post .entry-content ol,
.information .entry-content ol {
	list-style: decimal;
}
.case-study .entry-content > ul,
.post .entry-content > ul,
.information .entry-content > ul,
.case-study .entry-content > ol,
.post .entry-content > ol,
.information .entry-content > ol {
	margin-bottom: 1em;
}
.case-study .entry-content li,
.post .entry-content li,
.information .entry-content li {
	margin-left: 1.5em;
}
.case-study .entry-content ul ul,
.post .entry-content ul ul,
.information .entry-content ul ul {
	list-style: circle;
}
/* .entry-content a {
	color: var(--main-theme-color);
} */
.case-study .entry-content em,
.page .entry-content em,
.post .entry-content em,
.information .entry-content em {
	background: linear-gradient(transparent 50%, #FFDADA 0%);
	font-weight: 700;
}
.post .entry-content em {
	/* font-weight: 700;
	color: var(--main-theme-color); */
	font-weight: 500;
}
.post .entry-content .blk-kakki-consulting h3 {
	padding: 0;
	margin-bottom: .5em;
	background-color: rgba(255,255,255,0);
	color: var(--main-theme-color);
}
.post .entry-content .blk-kakki-consulting p {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.info-dtl-ttl,
	.case-study .entry-content h2,
	.post .entry-content h2,
	.page .entry-content h2 {
		font-size: 7.6923vw;
	}
	.info-dtl-ttl::before,
	.case-study .entry-content h2::after,
	.post .entry-content h2::after,
	.page .entry-content h2::after {
		bottom: -.5em;
		width: 23.0769vw;
	}
	.archive-ttl {
		margin-bottom: 1.5em;
		min-height: 23.0769vw;
		border-radius: var(--radius-sp);
	}
	.case-study .entry-content h3,
	.post .entry-content h3,
	.information .entry-content h2 {
		border-radius: var(--radius-sp);
		font-size: 4.1026vw;
	}
}
@media (min-width: 768px) {
	.info-dtl-ttl,
	.case-study .entry-content h2,
	.post .entry-content h2,
	.page .entry-content h2 {
		font-size: 42px;
	}
	.info-dtl-ttl::before,
	.case-study .entry-content h2::after,
	.post .entry-content h2::after,
	.page .entry-content h2::after {
		bottom: -.75em;
		width: 130px;
	}
	.archive-ttl {
		margin-bottom: 2em;
		min-height: 120px;
		border-radius: var(--radius-pc);
	}
	.case-study .entry-content h3,
	.post .entry-content h3,
	.information .entry-content h2 {
		border-radius: var(--radius-pc);
		font-size: 18px;
	}
}



/* -----------------------------------------------------------------------
 共通：information
----------------------------------------------------------------------- */
.inner-info {
	margin: auto;
}
.index-info-list li {
	border-bottom: 1px solid var(--theme-border-color);
}
.index-info-list li:first-of-type {
	border-top: 1px solid var(--theme-border-color);
}
.index-info-list li a {
	display: block;
	color: var(--main-text-color);
}
.ttl-info-list {
	font-size: inherit;
	font-weight: 400;
}
/* .type-information p {
	margin-bottom: 1em;
	line-height: 2;
} */
.entry-meta.info {
	text-align: right;
}
@media (max-width: 767px) {
	.index-info-sec {
		padding: 1em 0 4em;
	}
	.index-info-list li a {
		padding: 1.5em 1.25em;
	}
	.flx-info-list {
		flex-direction: column;
		row-gap: .75em;
	}
	.type-information {
		padding-bottom: 3em;
	}
}
@media (min-width: 768px) {
	.index-info-sec {
		padding: 2em 0 5em;
	}
	.inner-info {
		max-width: 900px;
	}
	.index-info-list li a {
		padding: 1.75em;
	}
	.flx-info-list {
		align-items: center;
		justify-content: space-between;
	}
	.date-info-list {
		width: 15%;
	}
	.ttl-info-list {
		width: 80%;
	}
	.type-information {
		padding-bottom: 5em;
	}
}




/* -----------------------------------------------------------------------
 共通：page
----------------------------------------------------------------------- */
.inner-main {
	margin-top: 5em;
	margin-bottom: 5em;
}
.inner-page-header {
	border-bottom: 1px solid #000;
}
.page-ttl {
	line-height: 1.2;
	font-weight: 900;
}
.page-ttl .en {
	display: block;
	font-family: var(--theme-en-font);
	color: var(--main-theme-color);
}
.page-ttl .ja {
	display: block;
}
.entry-title {
	margin-bottom: 1em;
	line-height: 1.2;
	font-weight: 900;
}
.entry-meta.info {
	margin-bottom: 1em;
	text-align: right;
}
/* .page-content p {
	margin-bottom: 1em;
	line-height: 2;
} */
@media (max-width: 767px) {
	.inner-page-header {
		margin-bottom: 1em;
		padding: 1.5em 0 3em;
	}
	.page-ttl .en {
		font-size: 15.3846vw;
	}
	.page-ttl .ja {
		font-size: 4.6154vw;
	}
	.page-content {
		padding: 1em 0 4em;
	}
}
@media (min-width: 768px) {
	.inner-page-header {
		margin-bottom: 3em;
		padding: 4em 0 5em;
	}
	.page-ttl .en {
		font-size: 90px;
	}
	.page-ttl .ja {
		font-size: 21px;
	}
	.page-content {
		padding: 4em 0 6em;
	}
}



/* -----------------------------------------------------------------------
 パンくずリスト
----------------------------------------------------------------------- */
.breadcrumb {
	margin-top: 1em;
}
.breadcrumb a {
	color: var(--main-text-color);
}
.breadcrumb-list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.breadcrumb-item {
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.breadcrumb-item:last-child {
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
}
.breadcrumb-item:not(:last-child)::after {
	content: '｜';
	margin: 0 .5em;
	color: var(--main-theme-color);
}
.breadcrumb-link {
	transition: color 0.3s ease;
}
@media (max-width: 767px) {
	.breadcrumb {
		margin-bottom: 1.5em;
	}
	.breadcrumb-item {
		font-size: 3.6vw; /* 約14px at 390px width */
	}
}
@media (min-width: 768px) {
	.breadcrumb {
		margin-bottom: 3em;
	}
	.breadcrumb-item {
		font-size: 1.4rem;
	}
}



/* -----------------------------------------------------------------------
 会社情報
----------------------------------------------------------------------- */
.inner-company {
	margin: auto;
}
/* .inner-company p {
	margin-bottom: 1em;
	line-height: 2;
} */
.company-president {
	margin-top: 1.5em;
}
.company-president p {
	margin-bottom: 0;
	line-height: 1.7;
	font-weight: 700;
}
.company-president .president-name {
	margin-top: .5em;
	margin-bottom: .1em !important;
	line-height: 1.2;
	font-weight: 900;
}
.company-president .president-name-en {
	font-family: var(--theme-en-font);
	font-weight: 400;
	color: var(--main-theme-color);
}
.tbl-company {
	border-bottom: none !important;
}
.tbl-company table th,
.tbl-company table td {
	padding: 1em;
}
.tbl-company table th {
	text-align: left;
}
.list-company li {
	margin-left: 1em;
	text-indent: -1em;
}
.list-company li:not(:last-of-type) {
	margin-bottom: 1em;
}
@media (max-width: 767px) {
	.flx-company-info {
		margin: auto;
		width: 88.572%;
	}
	.company-president {
		font-size: 4.1026vw;
	}
	.president-name {
		font-size: 6.9231vw;
	}
	.president-name-en {
		font-size: 3.0769vw;
	}
	.tbl-company table tr {
		display: flex;
		flex-direction: column;
	}
	.tbl-company table th {
		padding: 2em 1em .5em 1.5em;
	}
	.tbl-company table td {
		padding: 0 1em 2em 1.5em;
	}
}
@media (min-width: 768px) {
	.inner-company {
		max-width: 900px;
	}
	.flx-company-info {
		justify-content: space-between;
	}
	.president-name {
		font-size: 30px;
	}
	.president-name-en {
		font-size: 14px;
	}
	.tbl-company table th,
	.tbl-company table td {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
		vertical-align: top;
	}
	.tbl-company table th {
		padding-left: 2em;
		padding-right: 2em;
	}
	.tbl-company table td {
		padding-left: 1em;
		padding-right: 1em;
	}
}


/* -----------------------------------------------------------------------
 プライバシーポリシー
----------------------------------------------------------------------- */
.mail-address::before {
	content: "info";
}
.mail-address::after  {
	content: "@kakki-co.jp";
}





/* -----------------------------------------------------------------------
 Service
----------------------------------------------------------------------- */
.service-box {
	border: 1px solid var(--theme-border-color);
	overflow: hidden;
}
.service-title {
	padding: 1em .5em;
	background-color: var(--main-theme-color);
	text-align: center;
	font-weight: 900;
	color: #fff;
}
.service-title .en {
	display: block;
	font-family: var(--theme-en-font);
	font-size: initial;
	color: #FFDADA;
}
.lead-service {
	background-repeat: no-repeat;
}
.lead-service strong {
	display: block;
	font-weight: 900;
}
.lead-service.service01 {
	background-image: url(img/icon_service01.svg);
}
.lead-service.service02 {
	background-image: url(img/icon_service02.svg);
}
.lead-service.service03 {
	background-image: url(img/icon_service03.svg);
}
.fig-bdr {
	padding: 2.5em;
	border: 1px solid var(--theme-border-color);
}
.fig-bdr img {
	margin: auto;
}
.flx-service-strength {
	margin: 4em 0 3em;
}
.col-service-strength {
	position: relative;
}
.col-service-strength:first-child {
	/* align-content: center; */
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--theme-bg-color2);
	text-align: center;
	font-family: var(--theme-en-font);
	font-weight: 900;
	color: var(--main-theme-color);
}
.col-service-strength:not(:first-child) {
	border: 1px solid var(--theme-border-color);
}
.num-service {
	display: block;
	border-radius: 50%;
	background-color: var(--main-theme-color);
	/* align-content: center; */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: var(--theme-en-font);
	font-weight: 900;
	color: #fff;
}
.num-strength {
	position: absolute;
	left: 0;
}
.ttl-service-strength {
	margin-bottom: .75em;
	font-weight: 900;
}
.service-strength-summary {
	position: relative;
	margin-bottom: 3em;
	background-color: #1E1E1E;
	font-weight: 900;
	color: #fff;
}
.service-strength-summary::before {
	content: "";
	position: absolute;
	right: -.25em;
	bottom: -.25em;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--main-theme-color);
	z-index: -1;
}
.flx-service-job {
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 1em;
	margin-top: 2em;
}
.flx-service-job li {
	padding: .75em 1em .75em 3em;
	border: 1px solid var(--theme-border-color);
	background-repeat: no-repeat;
	background-position: .5em center;
	background-size: 1.9em auto;
	font-weight: 900;
}
.flx-service-job li:nth-of-type(1) {
	background-image: url(img/job_icon01.svg);
}
.flx-service-job li:nth-of-type(2) {
	background-image: url(img/job_icon02.svg);
}
.flx-service-job li:nth-of-type(3) {
	background-image: url(img/job_icon03.svg);
}
.flx-service-job li:nth-of-type(4) {
	background-image: url(img/job_icon04.svg);
}
.flx-service-job li:nth-of-type(5) {
	background-image: url(img/job_icon05.svg);
}
.flx-service-job li:nth-of-type(6) {
	background-image: url(img/job_icon06.svg);
}
.flx-service-job li:nth-of-type(7) {
	background-image: url(img/job_icon07.svg);
}
.flx-service-flow {
	align-items: stretch;
	justify-content: flex-end;
	flex-wrap: wrap;
}
.col-service-flow-num {
	position: relative;
}
.col-service-flow-num:not(:nth-last-child(2))::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background-color: var(--main-theme-color);
}
.col-service-flow-box {
	padding: 1.5em;
	background-repeat: no-repeat;
	border: 1px solid var(--theme-border-color);
}
.col-service-flow-box.file-check {
	background-image: url(img/service_icon_file-check.svg);
}
.col-service-flow-box.file-search {
	background-image: url(img/service_icon_file-search.svg);
}
.col-service-flow-box.hand-helping {
	background-image: url(img/service_icon_hand-helping.svg);
}
.col-service-flow-box.heart {
	background-image: url(img/service_icon_heart.svg);
}
.col-service-flow-box.layout-grid {
	background-image: url(img/service_icon_layout-grid.svg);
}
.col-service-flow-box.messages-square {
	background-image: url(img/service_icon_messages-square.svg);
}
.col-service-flow-box.notebook-pen {
	background-image: url(img/service_icon_notebook-pen.svg);
}
.col-service-flow-box.pen-tool {
	background-image: url(img/service_icon_pen-tool.svg);
}
.col-service-flow-box.refresh {
	background-image: url(img/service_icon_refresh.svg);
}
.col-service-flow-box.search-check {
	background-image: url(img/service_icon_search-check.svg);
}
.col-service-flow-box.user-search {
	background-image: url(img/service_icon_user-search.svg);
}
.col-service-flow-box.zap {
	background-image: url(img/service_icon_zap.svg);
}
.ttl-service-flow {
	margin-bottom: .75em;
	font-weight: 900;
}
.pt-service-flow {
	position: relative;
	padding-left: 1.5em;
	margin-top: 1em;
	line-height: 1.5 !important;
}
.pt-service-flow::before {
	content: "";
	position: absolute;
	top: .25em;
	left: 0;
	display: block;
	width: 1.125em;
	height: 1.125em;
	margin: auto;
	background: url(img/pt_maincolor.svg) no-repeat center;
	background-size: contain;
}
@media (max-width: 767px) {
	.service-box {
		/* margin-bottom: 3em; */
		border-radius: var(--radius-sp);
	}
	.service-title {
		font-size: 7.6923vw;
	}
	.lead-service {
		padding: 2em 2em 51.2821vw;
		background-size: 62%;
		background-position: center 94%;
	}
	.lead-service strong {
		line-height: 1.2;
		font-size: 6.9231vw;
	}
	.fig-bdr {
		border-radius: var(--radius-sp);
	}
	.flx-service-strength {
		flex-direction: column;
		row-gap: 2em;
	}
	.col-service-strength {
		border-radius: var(--radius-sp);
	}
	.col-service-strength:not(:first-child) {
		padding: 4em 1.5em 1.5em;
	}
	.col-service-strength:first-child {
		min-height: 30.7692vw;
		font-size: 8.2051vw;
	}
	.num-service {
		width: 17.9487vw;
		height: 17.9487vw;
		font-size: 8.2051vw;
	}
	.num-strength {
		top: -5.1282vw;
	}
	.ttl-service-strength {
		font-size: 6.9231vw;
	}
	.service-strength-summary,
	.service-strength-summary::before {
		border-radius: var(--radius-sp);
	}
	.service-strength-summary {
		padding: 2em 1em;
		font-size: 4.6154vw;
	}
	.flx-service-job li {
		border-radius: var(--radius-sp);
	}
	.flx-service-flow {
		row-gap: 2em;
	}
	.col-service-flow-num {
		width: 21%;
	}
	.col-service-flow-num:not(:nth-last-child(2))::before {
		top: 12vw;
		left: 8.97435vw;
	}
	.col-service-flow-box {
		width: 79%;
		padding-bottom: 30.7692vw;
		background-position: center 90%;
		background-size: 20.5128vw auto;
		border-radius: var(--radius-sp);
	}
	.ttl-service-flow {
		font-size: 6.9231vw;
	}
	.pt-service-flow {
		margin-bottom: 2em;
	}
}
@media (min-width: 768px) {
	.service-box {
		/* margin-bottom: 5em; */
		border-radius: var(--radius-pc);
	}
	.service-title {
		font-size: 42px;
	}
	.lead-service {
		padding: 3em 36% 3em 3em;
		background-size: min(27vw,234px) auto;
		background-position: 93% 4em;
	}
	.lead-service strong {
		line-height: 1.3;
		font-size: 33px;
	}
	.fig-bdr {
		border-radius: var(--radius-pc);
	}
	.flx-service-strength {
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-between;
		row-gap: 3em;
	}
	.col-service-strength {
		width: 30.527%;
		border-radius: var(--radius-pc);
	}
	.col-service-strength:first-child {
		font-size: 39px;
	}
	.col-service-strength:not(:first-child) {
		padding: 4em 1.5em 1.5em;
	}
	.num-service {
		width: 80px;
		height: 80px;
		font-size: 39px;
	}
	.num-strength {
		top: -28px;
	}
	.ttl-service-strength {
		font-size: 24px;
	}
	.col-service-strength p {
		line-height: 1.7;
	}
	.service-strength-summary,
	.service-strength-summary::before {
		border-radius: var(--radius-pc);
	}
	.service-strength-summary {
		padding: 2em 2.5em;
		font-size: 18px;
	}
	.flx-service-job li {
		border-radius: var(--radius-pc);
	}
	.inner-service-flow {
		max-width: 1080px;
	}
	.flx-service-flow {
		row-gap: 3em;
	}
	.col-service-flow-num {
		width: 11%;
	}
	.col-service-flow-num:not(:nth-last-child(2))::before {
		top: 60px;
		left: 40px;
	}
	.col-service-flow-box {
		width: 83.4%;
		padding-left: 30px;
		padding-right: 16%;
		max-width: 900px;
		background-position: 93% center;
		background-size: 80px auto;
		border-radius: var(--radius-pc);
	}
	.ttl-service-flow {
		font-size: 24px;
	}
}
/* -----------------------------------------------------------------------
 Index: service
----------------------------------------------------------------------- */
.col-index-service {
	border: 1px solid var(--theme-border-color);
}
.img-col-index-service {
	margin: 0 auto 2em;
}
.ttl-col-index-service {
	text-align: center;
	font-weight: 900;
}
.txt-col-index-service {
	margin-bottom: 1.5em;
}
@media (max-width: 767px) {
	.flx-index-service {
		flex-direction: column;
		row-gap: 2em;
	}
	.col-index-service {
		padding: 7.6923vw;
		border-radius: var(--radius-sp);
	}
	.ttl-col-index-service {
		margin-bottom: .5em;
		font-size: 6.9231vw;
	}
	.img-col-index-service {
		width: 41.0256vw;
	}
	.btn-more {
		max-width: 117px;
		padding: .75em 1.25em;
	}
}
@media (min-width: 768px) {
	.flx-index-service {
		align-items: stretch;
		justify-content: flex-start;
		column-gap: min(48px, 5%);
		flex-grow: 1;
	}
	.col-index-service {
		width: 32%;
		padding: min(30px,2.5vw);
		border-radius: var(--radius-pc);
	}
	.ttl-col-index-service {
		margin-bottom: 1em;
		min-height: 80px;
		align-content: center;
		font-size: 27px;
	}
	.img-col-index-service {
		max-width: 160px;
	}
	.btn-more {
		max-width: 117px;
		padding: .75em 1.25em;
	}
}

/* -----------------------------------------------------------------------
 Service footer
----------------------------------------------------------------------- */
.service-aside {
	background-color: var(--theme-bg-color);
}
.service-aside-ttl {
	text-align: center;
	font-weight: 900;
}
.col-service-aside {
	background-color: #fff;
}
.col-service-aside a {
	color: var(--main-text-color);
}
.img-col-service-aside {
	margin: 0 auto 2em;
}
.ttl-col-service-aside {
	text-align: center;
	font-weight: 900;
}
@media (max-width: 767px) {
	.service-aside {
		padding: 2.5em 0;
	}
	.service-aside-ttl {
		margin-bottom: .7em;
		font-size: 9.2308vw;
	}
	.flx-service-aside {
		flex-direction: column;
		row-gap: 2em;
	}
	.col-service-aside {
		padding: 7.6923vw;
		border-radius: var(--radius-sp);
	}
	.ttl-col-service-aside {
		margin-bottom: .5em;
		font-size: 6.9231vw;
	}
	.img-col-service-aside {
		width: 41.0256vw;
	}
}
@media (min-width: 768px) {
	.service-aside {
		padding: 5em 0;
	}
	.service-aside-ttl {
		margin-bottom: 1em;
		font-size: 42px;
	}
	.flx-service-aside {
		align-items: stretch;
		justify-content: flex-start;
		column-gap: min(48px, 5%);
		flex-grow: 1;
	}
	.col-service-aside {
		width: 32%;
		padding: min(30px,2.5vw);
		border-radius: var(--radius-pc);
	}
	.ttl-col-service-aside {
		margin-bottom: 1em;
		min-height: 80px;
		align-content: center;
		font-size: 27px;
	}
	.img-col-service-aside {
		max-width: 160px;
	}
}



/* -----------------------------------------------------------------------
 お問い合わせ
----------------------------------------------------------------------- */
/* フォームスタイル */
.inner-form {
	margin: auto;
}
.required-note {
	color: var(--main-accent-color);
	font-weight: bold;
}
.form-group {
	padding: 1.5em;
}
form > .form-group:nth-of-type(odd) {
	background-color: var(--theme-bg-color);
}
.form-label {
	display: block;
	font-weight: bold;
	position: relative;
}
.required {
	display: inline-block;
	padding: .25em .5em;
	margin-left: .5em;
	line-height: 1;
	font-size: 80%;
	font-weight: 500;
	background-color: var(--main-accent-color);
	color: #fff;
}
.form-input,
.form-select,
.form-textarea {
	width: 100%;
	padding: .5em !important;
	font-size: inherit;
	font-family: inherit;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--main-theme-color);
	box-shadow: 0 0 0 2px rgba(20, 77, 144, .1);
}
.form-textarea {
	resize: vertical;
}
.form-group p {
	line-height: 1.2;
}
.privacy-checkbox label > * {
	vertical-align: middle;
}
.privacy-checkbox input[type="checkbox"] {
	width: 1em;
	height: 1em;
	border-color: #ccc;
	border-radius: 0;
}
.privacy-text {
	padding: 1em;
	background-color: #fff;
}
input[type="submit"].submit-button {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 1em auto 0;
	padding: 1em;
	background-color: var(--main-theme-color);
	color: #fff;
	border: none;
	border-radius: 5px;
	font-size: inherit;
	font-weight: 500;
	cursor: pointer;
	transition: all .3s ease;
	position: relative;
}
input[type="submit"].submit-button:hover {
	background-color: var(--sub-theme-color2);
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
input[type="submit"].submit-button:disabled {
	background-color: #666;
}
.form-group.turnstile {
	text-align: center;
}
input[type="submit"] {
	padding: .3em 1em;
	line-height: 1;
}
@media (max-width: 767px) {
	.flx-form-group {
		flex-direction: column;
	}
	.form-label {
		margin-bottom: .5em;
	}
	.form-input,
	.form-select {
		padding: 3.8462vw 2.5641vw;
	}
	.form-textarea {
		padding: 3.8462vw 2.5641vw;
		min-height: 30.7692vw;
	}
	input[type="submit"].submit-button {
		font-size: 125%;
	}
}
@media (min-width: 768px) {
	.inner-form {
		max-width: 900px;
	}
	.form-group {
		padding: 2.5em;
	}
	.flx-form-group {
		align-items: stretch;
		justify-content: space-between;
	}
	.form-label {
		width: 25%;
	}
	.form-dtl {
		width: 70%;
	}
	.form-textarea {
		min-height: 120px;
	}
	input[type="submit"].submit-button {
		font-size: 24px;
		max-width: 350px;
	}
}



/* -----------------------------------------------------------------------
 Guide
----------------------------------------------------------------------- */

@media (max-width: 767px) {
	.flx-guide {
		flex-direction: column;
		gap: 2em;
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}
	.single-sidebar {
		width: 92%;
		margin: auto;
	}
}
@media (min-width: 768px) {
	.flx-guide {
		align-items: stretch;
		justify-content: space-between;
	}
	.flx-guide > .single-main {
		width: calc(100% - 276px);
		max-width: 843px;
	}
	.single-sidebar {
		width: 30%;
		max-width: 250px;
		min-width: 242px;
	}
	
}

/* -----------------------------------------------------------------------
 Guide カテゴリリンク
----------------------------------------------------------------------- */
.flx-guide-categories {
	flex-wrap: wrap;
}
.flx-guide-categories li {
	border: 1px solid var(--main-theme-color);
}
.flx-guide-categories a {
	display: block;
	/* align-content: center; */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: bold;
	color: var(--main-theme-color);
}
.flx-guide-categories a.is_active {
	background-color: var(--main-theme-color);
	color: #fff;
}
@media (max-width: 767px) {
	.flx-guide-categories {
		flex-direction: column;
	}
	.flx-guide-categories li + li {
		border-top: none;
	}
	.flx-guide-categories a {
		min-height: 12vw;
		font-size: 4.1026vw;
	}
}
@media (min-width: 768px) {
	.flx-guide-categories {
		align-items: stretch;
		justify-content: flex-start;
		margin-top: 2em;
	}
	.flx-guide-categories li {
		width: 33.33%;
	}
	.flx-guide-categories li:nth-of-type(3n+1) {
		border-left-width: 2px;
	}
	.flx-guide-categories li:nth-of-type(3n) {
		border-right-width: 2px;
	}
	.flx-guide-categories li:nth-of-type(1),
	.flx-guide-categories li:nth-of-type(2),
	.flx-guide-categories li:nth-of-type(3) {
		border-top-width: 2px;
	}
	.flx-guide-categories li:nth-last-of-type(1),
	.flx-guide-categories li:nth-last-of-type(2),
	.flx-guide-categories li:nth-last-of-type(3) {
		border-bottom-width: 2px;
	}
	.flx-guide-categories a {
		min-height: 125px;
		font-size: 24px;
	}
}

/* -----------------------------------------------------------------------
 SHARE button
----------------------------------------------------------------------- */
.blk-share {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--theme-bg-color);
	/* border: solid 1px var(--theme-border-color); */
	line-height: 1;
}
.ttl-share {
	margin-bottom: 0;
	text-align: center;
	font-family: var(--theme-num-font);
	font-weight: normal;
	color: var(--main-theme-color);
}
.link-share-x,
.link-share-facebook,
.link-share-line {
	position: relative;
	display: block;
	border-radius: 50%;
}
/* .link-share-x {
	background-color: #000;
}
.link-share-facebook {
	background-color: #1877f2;
}
.link-share-line {
	background-color: #06c755;
} */
.img-share-x,
.img-share-facebook,
.img-share-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
@media screen and (max-width: 767px) {
	.blk-share {
		/* position: relative;
		justify-content: center;
		width: 100vw;
		margin: 8vw 0 0 calc(50% - 50vw); */
		padding: 2vw;
		width: 50%;
	}
	.blk-share li:first-of-type {
		width: 10vw;
		text-align: center;
	}
	.blk-share li:not(:first-of-type) {
		width: 10vw;
	}
	.ttl-share {
		text-align: left;
		font-size: 80%;
	}
	.blk-share li img {
		width: 9.2308vw;
	}
	.link-share-x,
	.link-share-facebook,
	.link-share-line {
		width: 10vw;
		height: 10vw;
		margin: auto;
	}
}
@media screen and (min-width: 768px), print {
	.blk-share {
		padding: 8px;
		width: 142px;
	}
	/* .blk-share li:first-of-type {
		width: 50px;
	} */
	.ttl-share {
		font-size: 12px;
	}
	.link-share-x,
	.link-share-facebook,
	.link-share-line {
		width: 25px;
		height: 25px;
	}
}

/* -----------------------------------------------------------------------
 In-page link
----------------------------------------------------------------------- */
.blk-pagelink {
	margin-top: 2em;
	border-radius: .3em;
	overflow: hidden;
}
.entry-content .blk-pagelink ul {
	list-style: none;
}
.entry-content .blk-pagelink li {
	margin-left: 0;
}
.blk-pagelink li:not(:last-of-type) {
	margin-bottom: 1px;
}
.blk-pagelink li.li-pagelink-h3 {
	margin-bottom: 0;
	border-left: solid 1px #fff;
	border-right: solid 1px #fff;
}
.blk-pagelink li.li-pagelink-h3 + li.li-pagelink-h3 {
	border-top: solid 1px #fff;
}
.blk-pagelink li.li-pagelink-h3:last-child {
	border-bottom: solid 1px #fff;
}
.blk-pagelink a {
	position: relative;
	display: block;
	background-color: var(--theme-bg-color);
	/* text-indent: -1em; */
	color: var(--main-text-color);
}
.blk-pagelink a.link-pagelink-h3 {
	background-color: rgba(255, 255, 255, 0);
}
.blk-pagelink a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	margin: auto;
	/* background: url("data:image/svg+xml,%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20173.22%20182.29%22%3E%3Cpolygon%20points%3D%2282.07%200%2067.64%2014.43%20134.14%2080.94%200%2080.94%200%20101.35%20134.14%20101.35%2067.64%20167.86%2082.07%20182.29%20173.22%2091.15%2082.07%200%22%20style%3D%22fill%3A%2336f%3B%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
	background-size: contain; */
	clip-path: polygon(50% 62%, 87% 27%, 100% 40%, 50% 87%, 0 40%, 13% 27%);
	background-color: var(--main-theme-color);
}
.blk-pagelink a.link-pagelink-h3::before {
	content: none;
}
.blk-pagelink a.link-pagelink-h3::after {
	background-color: var(--sub-theme-color1);
}
@media screen and (max-width: 767px) {
	.blk-pagelink a {
		padding: 1em 2.75em 1em 1em;
	}
	.blk-pagelink a.link-pagelink-h3 {
		padding-left: 1.5em;
		font-size: 3.6vw;
	}
	.blk-pagelink a::after {
		right: 3.6vw;
		width: 3.2vw;
		height: 3.2vw;
	}
}
@media screen and (min-width: 768px), print {
	.blk-pagelink a {
		padding: 1em 3.5em 1em 1.5em;
		transition: all .3s ease;
		font-size: 14px;
	}
	.blk-pagelink a.link-pagelink-h3 {
		padding-left: 2em;
	}
	.blk-pagelink a::after {
		right: 33px;
		width: 12px;
		height: 12px;
	}
	.blk-pagelink a:hover {
		opacity: 1;
		color: var(--sub-theme-color1);
	}
}


/* -----------------------------------------------------------------------
 Post
----------------------------------------------------------------------- */
.single-main .entry-header {
	position: relative;
	background: var(--main-theme-color);
	color: #fff;
}
.label-single {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	line-height: 1.2;
}
.label-parent,
.label-child {
	display: block;
	padding: .151em .5em;
}
.label-parent {
	background-color: var(--sub-theme-color1);
	font-weight: bold;
}
.label-child {
	background-color: var(--sub-theme-color1);
	font-weight: bold;
	color: #fff;
}
.label-child + .label-child {
	background-color: var(--theme-bg-color2);
	border-left: none;
	font-size: 90%;
}
.article-single .entry-title {
	position: relative;
	margin-bottom: .5em;
}
.article-single .blk-tag {
	padding: 2em;
	background-color: var(--theme-bg-color2);
}
.article-single .blk-tag .tag {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 1em;
	/* margin-bottom: 1em; */
}
/* .article-single .blk-tag .tag li {
	margin-bottom: .5em;
} */
.article-single .blk-tag .tag li a {
	display: block;
	padding: .25em .5em;
	border: 1px solid var(--main-theme-color);
	line-height: 1;
	color: var(--main-theme-color);
}
.article-single .entry-content {
	margin: 0;
	/* background-color: var(--theme-bg-color); */
	border: 1px solid var(--theme-border-color2);
}
.post .entry-content h2 {
	background-color: #fff;
	border-bottom: solid 1px var(--theme-border-color2);
}
.post .entry-content h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	margin: auto;
	border: solid 1px var(--theme-border-color2);
	border-top: none;
}
.post .entry-content h2::after {
	bottom: 0;
}
.entry-content .summary {
	display: block;
	padding: 1em;
	margin: 2em auto;
	background-color: var(--theme-bg-color2);
	line-height: 1.5;
	color: var(--main-accent-color);
	font-weight: bold;
}
.post .entry-content figcaption {
	font-size: 85%;
	font-style: italic;
}
.post .entry-content figure {
	margin: 2.5em auto;
}
@media (max-width: 767px) {
	.single-main .entry-header {
		padding: 10vw 5.333vw;
	}
	.article-single .entry-title {
		font-size: 7.6923vw;
	}
	/* .article-single .blk-tag .tag li:not(:last-child) {
		margin-right: 1em;
	} */
	.article-single .blk-tag .tag li a {
		border-radius: 1.3333vw;
		font-size: 3.2vw;
	}
	.article-single .entry-content {
		padding: 5.333vw;
		border-radius: 0 0 var(--radius-sp) var(--radius-sp);
	}
	.post .entry-content h2 {
		width: 100vw;
		margin: 0 0 1em;
		margin-left: calc(50% - 50vw);
		padding: 2em .5em 1em;
	}
	.post .entry-content h2::before {
		height: 1em;
		border-radius: 0 0 var(--radius-sp) var(--radius-sp);
	}
	.entry-content .summary {
		border-radius: var(--radius-sp);
	}
}
@media (min-width: 768px) {
	.single-main .entry-header {
		padding: 3.25em 2em 2em;
		border-radius: 10px 10px 0 0;
	}
	.article-single .entry-title {
		font-size: 42px;
	}
	/* .article-single .blk-tag .tag li:not(:last-child) {
		margin-right: 10px;
	} */
	.article-single .blk-tag .tag li a {
		border-radius: 5px;
		font-size: 14px;
	}
	.article-single .entry-content {
		padding: 2em;
		border-radius: 0 0 var(--radius-pc) var(--radius-pc);
	}
	.post .entry-content h2 {
		width: calc(100% + 66px);
		margin: 1em 0 1em -33px;
		padding: 50px 0 40px;
	}
	.post .entry-content h2::before {
		height: 10px;
		border-radius: 0 0 var(--radius-pc) var(--radius-pc);
	}
	.entry-content .summary {
		border-radius: var(--radius-pc);
	}
}

/* -----------------------------------------------------------------------
SIDEBAR
----------------------------------------------------------------------- */
.single-sidebar h2 {
	padding: .5em .75em;
	background-color: #000;
	color: #fff;
	font-size: 1em;
}
.single-sidebar aside + aside {
	margin-top: 2em;
}
.list-sidebar,
.wp-block-categories-list,
.wp-block-tag-cloud,
.single-sidebar .wpp-list {
	border: solid .8vw var(--theme-bg-color);
	border-top: none;
}
.flx-sidebar {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	color: var(--main-text-color);
}
.list-sidebar li,
.wp-block-categories-list li a,
.wp-block-tag-cloud,
.single-sidebar .wpp-list li {
	padding: 1em;
}
.list-sidebar li:not(:last-of-type),
.wp-block-categories-list li:not(:last-of-type),
.single-sidebar .wpp-list li:not(:last-of-type) {
	border-bottom: solid 1px var(--theme-bg-color);
}
.wp-block-categories-list li a {
	color: #000;
	display: block;
}
.wp-block-categories-list .children {
	margin-left: 0;
	border-top: solid 1px var(--theme-bg-color);
}
.wp-block-categories-list .children a {
	padding-left: 2em;
}
.ttl-post-sidebar {
	margin-bottom: 0;
	font-weight: normal;
}
.date-sidebar {
	line-height: 1;
}
.date-sidebar .posted-on time {
	font-weight: normal;
}
.blk-sidebar-img img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	.single-sidebar {
		width: 92%;
		margin: auto;
	}
	.single-sidebar h2 {
		border-radius: 2.6667vw 2.6667vw 0 0;
	}
	.list-sidebar,
	.wp-block-categories-list,
	.wp-block-tag-cloud,
	.single-sidebar .wpp-list {
		border-radius: 0 0 2.6667vw 2.6667vw;
	}
	.ttl-post-sidebar {
		font-size: 3.7vw;
	}
	.flx-sidebar {
		align-items: center;
	}
	.blk-sidebar-img {
		width: 29%;
	}
	.blk-sidebar-txt {
		width: 64.1%;
	}
	.date-sidebar .posted-on time {
		font-size: 100%;
	}
	.blk-sidebar-img img {
		border-radius: var(--radius-sp);
	}
}
@media screen and (min-width: 768px), print {
	.single-sidebar {
		width: 30%;
		max-width: 250px;
		min-width: 242px;
	}
	.single-sidebar h2 {
		border-radius: 10px 10px 0 0;
	}
	.list-sidebar,
	.wp-block-categories-list,
	.wp-block-tag-cloud,
	.single-sidebar .wpp-list {
		border-width: 3px;
		border-radius: 0 0 10px 10px;
	}
	.list-sidebar li,
	.wp-block-categories-list li a,
	.wp-block-tag-cloud,
	.single-sidebar .wpp-list li {
		padding: 15px;
	}
	.ttl-post-sidebar,
	.wp-block-categories-list li {
		font-size: 14px;
	}
	.blk-sidebar-img {
		width: 37.74%;
	}
	.blk-sidebar-txt {
		width: 56%;
	}
	.date-sidebar .posted-on time {
		font-size: 14px;
	}
	.blk-sidebar-img img {
		border-radius: var(--radius-pc);
	}
}


/* -----------------------------------------------------------------------
 Case-study
----------------------------------------------------------------------- */
.case-study .post-thumbnail {
	overflow: hidden;
}
.case-study .post-thumbnail img {
	object-fit: cover;
	aspect-ratio: 3 / 2;
	margin: auto;
}
.voice-col-top-case {
	padding: 1em;
	background-color: var(--theme-bg-color3);
	color: var(--main-accent-color);
	font-style: italic;
}
@media (max-width: 767px) {
	.case-study .post-thumbnail img {
		border-radius: var(--radius-sp);
	}
}
@media (min-width: 768px) {
	.voice-col-top-case {
		margin: 2em 0;
		border-radius: var(--radius-pc);
		font-size: 18px;
	}
	.case-study .post-thumbnail img {
		border-radius: var(--radius-pc);
	}
}



/* -----------------------------------------------------------------------
 Search
----------------------------------------------------------------------- */
article.search + article.search {
	margin-top: 1.5em;
}
article.search .entry-title {
	margin-bottom: .5em;
}
article.search .entry-summary {
	margin-top: 0;
}


