/*!
Theme Name: lime
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: lime
*/

:root {
	--main-color: hsl(209, 100%, 17%);
	--bg-color: #ffffff;
	--bg-y-color: #fdfff3;
	--bg-dark-color: #f4f4f4;
	--bg-post-color: #fcfbf9;
	--content-color: #ffffff;
	--content-sub-color: #dddddd;
	--border-color: #cccccc;
	--font-color-main: #333333;
	--font-color-light: #999999;
	--font-color-white: #ffffff;
	--font-color-post-headline: #2e99a5;
	--pane-padding: 16px;
	--gnavi-height: 64px;
	--max-width: 390px;
	--min-width: 320px;
}

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	height: 100%;
	background-color: var(--bg-y-color);
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	color: var(--font-color-main);
}

.page-id-202, .page-id-279, .page-id-280, .page-id-281, .page-id-288{
	background-color: var(--bg-color);
}


img {
	vertical-align: bottom;
}

a,
label {
	-webkit-tap-highlight-color: transparent;
	text-decoration: none;
}

.icon {
	position: relative;
	display: inline-flex;
	vertical-align: middle;
	font-family: 'Material Symbols Outlined';
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

.site {
	display: flex;
	width: 100%;
	min-height: 100%;
	justify-content: center;
	position: relative;
}

.content-container {
	width: 100%;
	max-width: var(--max-width);
	overflow: hidden;
	position: relative;
	font-size: 1.4rem;
	background-color: var(--bg-dark-color);
}

.widget-area {
	display: none;
	height: 100vh;
	width: calc((100vw - var(--max-width)) / 2);
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: fixed;
	top: 0;
}

#secondary {
	left: 0;
}

#tertiary {
	right: 0;
}

.site-header {
	height: calc(var(--pane-padding) * 4);
	padding: calc(var(--pane-padding) / 2) var(--pane-padding);
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 1px #b4b4b4;
	background-color: var(--content-color);
	position: fixed;
	width: 100%;
	max-width: var(--max-width);
	min-width: var(--min-width);
	top: 0;
	left: auto;
	z-index: 1010;
}

#site-navigation {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

#colophon {
	width: 100%;
	background-color: var(--main-color);
	padding: calc(var(--pane-padding) * 2) var(--pane-padding);
	position: sticky;
	text-align: center;
	top: 100vh;

	a {
		color: var(--font-color-white);
	}

	.footer-navigation {
		width: 100%;

		.menu-footer-nav-container {
			width:100%;
		}

		.menu {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			gap: calc(var(--pane-padding) / 2) var(--pane-padding);
			list-style: none;
		}
	}

	.site-info {
		color: var(--font-color-white);
		text-align: center;
		font-size: 1rem;
		margin-top: var(--pane-padding);
	}
}

.entry-header {
	padding: 20px;
	background-color: var(--content-sub-color);
	margin-bottom: 20px;
}

.entry-content {
	padding: 0;
}

.post-thumbnail img,
.entry-content img {
	width: 100%;
	height: auto;
	max-width: 100%;
}

section {
	position: relative;
	
	&.pd{
		padding-left: var(--pane-padding);
		padding-right: var(--pane-padding);
	}

	.cta {
    	position: absolute;
    	bottom: 0;
    	display: flex;
    	justify-content: center;
    	width: 100%;
		padding: var(--pane-padding) 0;
	
		
		a {
			display: flex;
			justify-content: center;
			align-items: center;
		}
		
		&.animation a {
			animation: zoom 2s infinite ease-in-out;
		}
		
		img {
			width:80%;
		}
	}

	.cta02 {
    	position: absolute;
    	bottom: 0;
    	display: flex;
    	justify-content: center;
    	width: 100%;
		padding: var(--pane-padding) 0;
	
		
		a {
			display: flex;
			justify-content: center;
			align-items: center;
		}
		
		&.animation a {
			animation: zoom 2s infinite ease-in-out;
		}
		
		img {
			width:80%;
		}
	}
	
	p {
		margin: 0 0 var(--pane-padding);
	}

	table {
		table-layout: fixed;
		border-collapse: collapse;
		margin-bottom: var(--pane-padding);

		th,td {
			padding:8px;
			border:1px solid var(--border-color);
		}

		th {
			text-align: left;
			white-space: nowrap;
			background-color: var(--content-sub-color);
		}

		td {
			text-align: left;
			background-color: var(--content-color);
		}
	}
}

.toppage {
    min-height: 100vh;
   	display: flex;
   	justify-content: center;
   	align-items: center;

	.logo {
		width: auto;
	}
}

.main-visual {
	margin-top: var(--gnavi-height);
}

#breadcrumbs {
	font-size: 0.7em;
	padding: 8px;
	background-color: #f5f5f5;

	a,a:visited{
		color: inherit;
	}

	> span > span {
		padding-right: 4px;
		padding-left: 4px;

		&:first-child {
			padding-left: 0;
		}

		&:last-child {
			padding-right: 0;
		}
	}
}

.drawer-menu {
	.icon {
		font-size:28px;
	}

	label:hover {
		cursor: pointer;
	}

	#site-navigation {
    position: absolute;
    background-color: var(--bg-color);
    top: var(--gnavi-height);
    right: 0;
    width: 100%;

		ul{
			list-style: none;
			padding:0;
			margin:0;

			li {
				border-bottom: solid 1px #eee;
			}

			a{
				color: inherit;
				display: block;
				padding: var(--pane-padding);
			}
		}
	}

	input, #site-navigation {
		display: none;
	}

	input:checked ~  #site-navigation{
		display: block;
	}
}

.custom-ua-message {
	position: fixed;
	z-index: 9999;
	top: 20px;
	right: 2%;
	left: 2%;
	background-color: #f9ec3b;
	padding: 32px;
	border-radius: 8px;
	font-weight:bold;
	min-height: 180px;
	display: flex;
	justify-content: center;
	flex-direction: column;

	&::before {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		top: -12px;
		right: 6px;
		border-right: 22px solid #f9ec3b;
		border-top: 22px solid transparent;
		border-bottom: 22px solid transparent;
		transform: rotate( 208deg);
	}

	.text {
		padding-bottom: 20px;
		
		.title {
			margin:16px 0 4px;
			font-size:0.9em;
			color:#696318;
		}

		ol {
			padding-left:20px;
			font-size:0.9em;
			color:#696318;

			li{
				margin-bottom:2px;
			}
		}
	}


	.button {
			text-align: right;
		font-size:0.8em;
		position:absolute;
		right: 10px;
		bottom: 10px;
		
		button{
			padding:4px;
		}
	}
}

.hidden {
	display:none;
}

aside {
	background-color: var(--bg-color);

	h2 {
		font-size:0.8em;
		padding: var(--pane-padding) var(--pane-padding) calc(var(--pane-padding) / 2);
	}

	.img-column {
		width:80px;
		height: auto;
		margin-right:8px;
	}
}

.post-list {
	background-color: var(--bg-color);
	border-bottom: solid 1px #eee;

	.item {
		border-top: solid 1px #eee;

		a{
			display: flex;
			gap: 8px;
			font-size: 0.8em;
			padding: var(--pane-padding);
			color: inherit;
		}

		img {
			width:64px;
			height: auto;
		}
	}
}

.archive {

	.content-container{
		background-color: var(--bg-color);
	}

}

.morelink{
	padding: calc(var(--pane-padding) / 2) var(--pane-padding);
	display: flex;
  justify-content: end;
  align-items: center;

	a {
		color: #3070d2;
	}

	.icon {
		margin-right:2px;
	}
}

.pagination {
	list-style: none;
	display: flex;
	justify-content:center;
	align-items: center;
	gap: 4px;
	margin-top: calc(var(--pane-padding) / 2);
	margin-bottom: var(--pane-padding);

	li {
		> a, > span {
			display: flex;
			justify-content: center;
			align-items: center;
			border:1px solid #eee;
			width:40px;
			height:40px;
		}	

		> span {
			color:#999;
			background-color: #eee;
		}

		> a {
			color: inherit;
		}

		> a:hover {
			background-color: #5f9b60;
			color:#fff;
		}

	}

}


.single {
	font-size: 1.4rem;

	main {
		margin-top: var(--gnavi-height);
	}

	.content-container{
		background-color: var(--bg-color);
	}

	.entry-header{
		padding: 0;
		margin-bottom: 0;
		background-color: var(--bg-color);

		.title-area {
			position: relative;

			.title-set {
				position: absolute;
				bottom: 8px;
				right: 0;
				width: 90%;
				display: flex;
				flex-wrap: wrap;
				flex-direction: column;
				justify-content: end;
				align-items: end;
				gap:4px;
			}

			.title-column {
				position: absolute;
				top: 8px;
				left: 8px;

				img {
					width: 80px;
					height: auto;
					rotate: -10deg;
					filter: brightness(0) saturate(100%) invert(100%) sepia(92%) saturate(25%) hue-rotate(348deg) brightness(105%) contrast(107%);
				}
			}

		}

		.entry-title {
			padding: calc(var(--pane-padding) / 2) calc(var(--pane-padding) / 2) calc(var(--pane-padding) / 2) var(--pane-padding);
			font-size: 1.4em;
			background-color: var(--bg-color);
		}

		.tags {
			padding: calc(var(--pane-padding) / 4) calc(var(--pane-padding) / 2);
			display: flex;
			align-items: center;
			gap:2px;
			font-size:0.8em;
			background-color: var(--bg-color);

			ul {
				list-style: none;
				padding: 0;
				margin:0;
				display: flex;
				gap: 8px;

				li {
					font-style: oblique;
          color: #555;

					&::before {
						content: "#";
						margin-right:1px;
					}

					a {
						color: inherit;
					}
				}
			}
		}

		.post-date {
			padding: calc(var(--pane-padding) / 4) calc(var(--pane-padding) / 2);
			display: flex;
			justify-content: end;
			align-items: center;
			gap:2px;
			font-size:0.8em;
			background-color: var(--bg-color);
			color: #555;
		}

		.eyecatch {
			width:100%;
			height:auto;
		}
	}

	.author {
		padding: var(--pane-padding);
		position: relative;
		display: flex;
		align-items: center;
		gap: 16px;

		.writer {
			position: absolute;
			top:-20px;
			left:0px;

			img {
				width: 40px;
				height: auto;
				rotate: -10deg;
			}
		}

		.visual {
			display: flex;
			flex-direction: column;
			align-items: center;
			position: relative;
			gap: 0;
			margin-top:8px;
			width: 100px;

			.avatar {
				width:32px;
				height:32px;

				img {
					border-radius: 50%;
					border: 1px solid #ccc;
				}
			}

			.name {
				font-size: 0.7em;
			}
		}

		.profile {
			font-size: 0.8em;
		}
	}

	.entry-content{
		background-color: var(--bg-post-color);
		padding: calc(var(--pane-padding) * 2) var(--pane-padding);
		line-height: 1.75em;
		letter-spacing: 0.08em;

		picture {
			display: block;
			margin-bottom: var(--pane-padding);
		}
	
		ol,ul {
			padding-left: var(--pane-padding);
			margin-bottom: var(--pane-padding);
		}
	
		h2 {
			margin-top: calc(var(--pane-padding) * 2);
			margin-right: calc(var(--pane-padding) * -1);
			margin-left: calc(var(--pane-padding) * -1);
			margin-bottom: var(--pane-padding);
			padding: var(--pane-padding);
			color: var(--bg-color);
			background-color: var(--font-color-post-headline);
			font-size:1em;
			line-height: 1.4em;
			letter-spacing: 0.1em;
		}
	
		p {
			margin-bottom: var(--pane-padding);
		}
	
	}
}



@keyframes zoom {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}