/*!
Theme Name:	crearlife
Author:	CrearLife
Author URI:	https://crearlife.example.com/
Description:	Minimal, extensible WordPress theme base.
Version:	1.0.0
Requires at least:	6.0
Requires PHP:	7.4
License:	GPL-2.0-or-later
Text Domain:	crearlife
Tags:	one-column, accessibility-ready, translation-ready
*/
/* =========================
	Core minimal styles only
	- Box sizing
	- Typography & elements
	- Links
	- Media
	- Forms (very light)
	- Accessibility helpers
	- Alignments (WP default classes)
========================= */
/* =========================
   ベース（スマホ 375px 基準）
========================= */
body {
	font-size: 14px;
	line-height: 1.6;
	padding: 16px;
}

/* =========================
   タブレット 768px〜
========================= */
@media (min-width: 768px) {
	body {
		font-size: 15px;
		padding: 24px;
	}

	.columns {
		display: flex;
		gap: 24px;
	}
}

/* =========================
   PC 1024px〜
========================= */
@media (min-width: 1024px) {
	body {
		font-size: 16px;
		max-width: 1100px;
		margin: 0 auto;
	}

	.columns {
		gap: 32px;
	}
}

*, *::before, *::after {box-sizing: border-box;}
html {line-height: 1.15;-webkit-text-size-adjust: 100%;box-sizing: border-box;}
html, body {margin: 0;padding: 0;}
body {
	color: #222;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.7;
}
main {display: block;}
hr {box-sizing: content-box;height: 0;overflow: visible;}
pre {font-family: monospace, monospace;font-size: 1rem;}

abbr[title] {border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}
b,strong {font-weight: bolder;}
code,kbd,samp {font-family: monospace, monospace;font-size: 1rem;}
small {font-size: 80%;}
sub,sup {font-size: 75%;line-height: 1.1;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
/* Media */
img, svg, video, canvas, audio, iframe, embed, object {max-width: 100%;height: auto;border-style: none;}
/* Tables */
table {width: 100%;border-collapse: collapse;margin: 0 0 1.5em;}
th, td { padding: 0.5em; }
/* Forms
	 ========================================================================== */

button,input,optgroup,select,textarea {font-size: 100%;line-height: 1.15;margin: 0;font: inherit;color: inherit;}
button,input {overflow: visible;}
button,
select {text-transform: none;}
button,[type="button"],[type="reset"],[type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {border-style: none;padding: 0;}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"],[type="radio"] {box-sizing: border-box;padding: 0;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield;outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}
details {display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}

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

/* Typography
--------------------------------------------- */
h1,h2,h3,h4,h5,h6 {clear: both;}
h1, h2, h3, h4, h5, h6 {margin: 2rem 0 0.75rem;line-height: 1.25;}
h1 {font-size: 1.6rem;}
h2 {font-size: 1.3rem;}
h3,h4,h5,h6 {font-size: 1.2rem;}
p { margin: 0 0 1.5em; line-height: 1.7;}
.entry-content > *:first-child {
	margin-top: 0;
}
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
--------------------------------------------- */
hr {background-color: #ccc;border: 0;height: 1px;margin-bottom: 1.5em;}
ul,
ol {margin: 0 0 1.5em 1.5em;padding: 0;list-style-position: outside;}
ul {list-style: disc;}
ol {list-style: decimal;}
li > ul,
li > ol {margin-bottom: 0;margin-left: 1.5em;}
ul ul, ol ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {font-weight: 700;}
dd {margin: 0 1.5em 1.5em;}
figure {margin: 1em 0;}

/* Links
--------------------------------------------- */
a {color: #0a58ca;text-decoration: underline;text-underline-offset: 0.15em;}
a:hover, a:focus { text-decoration-thickness: 2px; }
a:visited {color: #800080;}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 5px;
	/*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 {box-shadow:none;}

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"], textarea, select {
	width: 100%;border: 1px solid #ccc;	border-radius: 5px;	padding: 0.5em 0.6em;}
input:focus, select:focus, textarea:focus, button:focus {
	outline: 2px solid #0a58ca;outline-offset: 2px;}
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.site-header {position:relative;}
/*footer*/
.site-info {text-align:center;font-size:13px;}

/* 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;color:var(--text);}

.main-navigation {display:block;width: 72rem;max-width: calc(100% - 2rem);margin-left: auto;margin-right: auto;}
.main-navigation ul{display: flex;justify-content: center;gap: 2rem;overflow-x:scroll;}

/*menu表示*/
.menu-toggle {display: none;}
.main-navigation ul {display: flex;}

@media (max-width: 763px) {
	.menu-toggle {display: block;}
	.main-navigation {position: absolute;top:10px;right:0;}
	/*ナビ背景ul*/
	.main-navigation ul {
		display:block;
		position: fixed;top: 0;right:0;
		width: min(80%, 18rem); 
		height: 100dvh; /* 全画面縦いっぱい */
		margin: 0;
		padding: 120px 1.5rem 2rem;
		list-style: none;
		background: rgba(255,255,255,.98);
		backdrop-filter: saturate(1.2) blur(6px);
		-webkit-backdrop-filter: saturate(1.2) blur(6px);
		box-shadow: -8px 0 24px rgba(0,0,0,.08);
		overflow-y: auto;
		transform:translateX(100%);opacity: 0;visibility: hidden;pointer-events: none;
		transition:
			transform .7s cubic-bezier(.25,.8,.25,1),opacity .5s ease,visibility 0s linear .7s;
	}
	.main-navigation ul li {margin-bottom:1.2rem;}
	/*クリックul*/
	.main-navigation.toggled ul {
		transform: translateX(0);opacity: 1;visibility: visible;pointer-events: auto;
		transition:transform .7s cubic-bezier(.25,.8,.25,1),opacity .5s ease,visibility 0s;
	}
	/*アコーディオンボタン*/
	.menu-toggle {
		position:absolute;
		top:5px;
		right:5px;
		z-index: 1000;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		padding: .625rem .875rem;
		border: 1px solid #e5e7eb;
		border-radius: .75rem;
		background: #fff;
		color: #111827;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: box-shadow .2s ease, transform .08s ease;
	}
	.menu-toggle:active { transform: scale(.98); }
	.menu-toggle:focus-visible {outline: 2px solid #111827;outline-offset: 2px;}
	/*ハンバーガーLine*/
	.menu-toggle span {display: block;width: 30px;height: 1.5px;border-radius: 2px;	background: currentColor;transition: transform .28s ease, opacity .2s ease, width .2s ease;transform-origin: 10% 50%;
	}
	.menu-toggle:hover .menu-toggle span:nth-child(2) { width: 26px; }
	/* 開いた時：ハンバーガー→X */
	.menu-toggle[aria-expanded="true"] span:nth-child(1) {transform: translateX(4px) rotate(45deg);}
	.menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity: 0;transform: scaleX(.6);}
	.menu-toggle[aria-expanded="true"] span:nth-child(3) {transform: translateX(3px) rotate(-45deg);}
	.menu-toggle[aria-expanded="true"] { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
}


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

/*entry-footer-nav*/
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {display: flex;}

.comment-navigation .nav-linksa a,
.posts-navigation .nav-links a,
.post-navigation .nav-links a {color:var(--text);}

.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%;}
@media (max-width: 763px) {
	.comment-navigation .nav-links,
	.posts-navigation .nav-links,
	.post-navigation .nav-links {display:block;}
	.comment-navigation .nav-next,
	.posts-navigation .nav-next,
	.post-navigation .nav-next {text-align: left;margin-top:1.5rem;}
}
/* 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.5rem 0;}
.page-links {clear: both;margin: 1.5rem 0;}

/* 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;}

/* 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;}

/* 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
--------------------------------------------- */
/* Alignments*/
.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1.5em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em; }

/*category archives*/
.post-list-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin:1.5rem 0;}
.post-list-card {display:flex;flex-direction:column;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);transition:box-shadow .2s ease, transform .2s ease;}
.post-list-card:hover {box-shadow:0 4px 12px rgba(0,0,0,0.1);transform:translateY(-2px);}
/* thumbnail */
.post-list-card .thumb {display:block;aspect-ratio:16/9;overflow:hidden;border-radius:6px;margin-bottom:0.8rem;}
.post-list-card .thumb img {width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.post-list-card:hover .thumb img {transform:scale(1.05);}
/* title */
.post-list-title {font-size:1rem;line-height:1.4;margin:0 0 .4rem;}
.post-list-title a {color:#222;text-decoration:none;transition:color .2s ease;}
.post-list-title a:hover {color:#0a58ca;}
/* excerpt */
.post-list-excerpt {font-size:0.9rem;line-height:1.6;color:#555;margin-top:auto;margin-bottom:0;}
/* responsive tweak */
@media (max-width:640px){
	.post-list-grid { gap:1rem; }
	.post-list-card { padding:0.8rem; }
}

/*パンくずナビ*/
.breadcrumb {margin:10px 0;}
.breadcrumb ol {display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;margin:0;padding:0;}
.breadcrumb li {display:flex;align-items:center;font-size:14px;}
.breadcrumb li + li::before {content:"›";opacity:.6;margin:0 .35rem;}
.breadcrumb li a {color:#555;text-decoration:none;}
.breadcrumb li a i {color:#777;}
.breadcrumb .icon {margin-right:.25rem;}
.breadcrumb .current span[itemprop="name"] {font-weight:600;}
@media (max-width: 763px) {
	.breadcrumb ol {gap:.25rem .1rem;}
	.breadcrumb li {font-size:12px;}
}
/*meta形成*/
/* 時計アイコン */
.posted-on::before {
	content: "\f017"; 
	font-family: "Font Awesome 6 Free";
	font-weight: 900;margin-right: 0.4em;opacity: 0.7;color:#777;
}
.posted-on time {font-size:14px;}