
/* ------------------------------------------------------------ */
/* margin: & padding: */

body,
div,
p,
h1,
h2,
h3,
th,
td,
ul,
ol,
li,
form {
	
	margin: 0;
	
	padding: 0;
	
}

/* ------------------------------------------------------------ */
/* display: */

header,
main,
article,
section,
.lunalys_a,
#scaling_img,
.tweet_img {
	
	display: block;
	
}

aside,
#header_nav_pc,
#footer_nav_pc,
.headline_no,
.entry_time,
#scaling_div {
	
	display: none;
	
}

.flex {
	
	display: flex;
	
	flex-wrap: wrap;
	
}

/* ------------------------------------------------------------ */
/* position: */

header,
main,
#blog_nav,
.button_a {
	
	position: relative;
	
}

.button_span,
#scaling_img {
	
	position: absolute;
	
}

#header_img,
#header_nav_sp,
#scaling_div {
	
	position: fixed;
	
}

/* ------------------------------------------------------------ */
/* font: */

body,
h1,
h2,
h3 {
	
	font-size: clamp(1.4rem, 100vw / 25, 2.0rem);
	
}

.section_footer,
.article_footer,
.headline_date {
	
	font-size: 0.85em;
	
}

/* ------------------------------------------------------------ */
/* text-overflow: */

h1,
h2,
#headline_ul li {
	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	
}

/* ------------------------------------------------------------ */
/* <html> */

html {
	
	overscroll-behavior: none;
	
	overflow-y: scroll;
	
	background-color: #ffffff;
	
	font-size: 62.5%;
	font-family: "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "メイリオ", "Meiryo", sans-serif;
	
}

/* ------------------------------------------------------------ */
/* <a> */

a {
	
	text-decoration-line: underline;
	text-decoration-color: #ffffff00;
	
}

a:link {
	
	color: #3030ff;
	
}

a:visited {
	
	color: #7722cc;
	
}

a:hover {
	
	color: #3030cc;
	
	text-decoration-color: #3030cc;
	
}

/* ------------------------------------------------------------ */
/* <table> <em> <blockquote> <hr> */

table {
	
	width: 100%;
	
	border-collapse: collapse;
	
	table-layout: fixed;
	
}

em {
	
	color: #000000;
	
	font-weight: bold;
	font-style: normal;
	
	text-decoration-line: underline;
	text-decoration-style: double;
	text-decoration-color: #ffff00;
	
}

blockquote {
	
	color: #118811;
	
}

hr {
	
	height: 1px;
	
	border-width: 1px 0px 0px 0px;
	
}

/* ------------------------------------------------------------ */
/* <body> */

body {
	
	color: #222222;
	
}

/* ------------------------------------------------------------ */
/* <header> */

/* for Smart Phone */
:root {
	
	--btn_size: clamp(3.2rem, 100vw / 11.5, 5.0rem);
	
	--img_width: 100vw;
	--img_height: calc(100vw * 0.5);
	
}

/* for Tablet */
@media (min-width: 768px) {
	
	:root {
		
		--img_width: calc(100vw * 0.8);
		--img_height: calc(100vw * 0.4);
		
	}
	
	#header_img {
		
		margin: auto 10%;
		
	}
	
}

header {
	
	height: var(--img_height);
	
}

#header_img {
	
	aspect-ratio: 2 / 1;
	
	width: var(--img_width);
	height: var(--img_height);
	
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	
}

#header_nav_sp {
	
	top: 0.45em;
	right: 0.45em;
	
	z-index: 3;
	
}

.button_a {
	
	display: inline-block;
	
	width: var(--btn_size);
	height: var(--btn_size);
	
	margin: 0 0.3em;
	
	border-radius: calc(var(--btn_size) * 0.5);
	
	background-color: #222222bb;
	
	text-align: center;
	
}

.button_img {
	
	--img_size: calc(var(--btn_size) * 0.72);
	
	width: var(--img_size);
	height: var(--img_size);
	
	margin: calc(var(--btn_size) * 0.14) 0 0;
	
}

.button_span {
	
	top: var(--btn_size);
	left: 0;
	
	width: 100%;
	
	text-align: center;
	
	font-size: 0.65em;
	
	color: #222222 !important;
	
}

/* ------------------------------------------------------------ */
/* <main> */

main {
	
	z-index: 2;
	
	padding: 0 0.4em 1.5em;
	
}

#content_header {
	
	margin: 0 0.6em -0.6em;
	
	padding: 0.8em 0 0 0.4em;
	
	border-bottom: 1px solid #555555;
	
}

#blog_nav {
	
	z-index: 1;
	
	width: calc(100% - 1.1em);
	
	height: 1.4em;
	
	margin: -1.6em 0 -0.4em;
	
	text-align: right;
	
}

#blog_nav_a2 {
	
	margin-left: 0.7em;
	
}

/* ------------------------------------------------------------ */
/* <article> */

h2 {
	
	margin: 1.7em 0.7em -0.4em;
	
	padding: 0 0 0 1.2em;
	
	border: 1px solid #8888ff;
	
	border-radius: 0.2em;
	
	background-color: #f0f0ff;
	
	background-image:
		linear-gradient( 135deg, #8888ff 0.7em, transparent 0),
		linear-gradient( -45deg, #8888ff 0.7em, transparent 0);
		
}

h3 {
	
	margin: 0 0 -0.8em 1.0em;
	
	text-decoration-line: underline;
	text-decoration-style: double;
	text-decoration-color: #00aaaa;
	
}

main p {
	
	margin: 1.1em;
	
	line-height: 1.7;
	
}

.section_footer,
.article_footer {
	
	margin: -0.6em 1.2em !important;
	
	padding: 0.2em 0.2em 0.2em 0;
	
	border-top: 1px dashed #777777;
	
	color: #666666;
	
	text-align: right;
	
}

.section_footer a,
.article_footer a,
.entry_date,
.entry_time {
	
	margin: 0 0 0 0.4em;
	
}

/* ------------------------------------------------------------ */
/* <ul> <li> */

ul {
	
	list-style-type: circle;
	
}

ul,
ol {
	
	margin: 1.1em 0 1.1em 1.8em;
	
}

li {
	
	line-height: 1.7;
	
}

.contents_ul,
.taglist_ul,
#headline_ul {
	
	list-style-type: none;
	
	margin: 1.0em 0 0 1.0em;
	
}

.contents_ul li,
.taglist_ul li,
#headline_ul li {
	
	margin: 0.2em 0 0.9em;
	
}

/* ------------------------------------------------------------ */
/* <img> screenshot */

.sp_ss {
	
	width: 100%;
	height: auto;
	
	max-width: 361px;
	
}

/* ------------------------------------------------------------ */
/* <a> lunalys */

.lunalys_a {
	
	width: fit-content;
	
	margin: 1.0em 0 -0.4em;
	
	font-size: 1.2em;
	
}

/* ------------------------------------------------------------ */
/* /text/article/ */

.contents_ul_left {
	
	width: 80%;
	
}

/* ------------------------------------------------------------ */
/* /text/taglist/ */

.taglist_ul {
	
	width: 45%;
	
}

/* ------------------------------------------------------------ */
/* /text/headline/ */

.headline_date {
	
	margin: 0 0.4em 0 0;
	
	vertical-align: middle;
	
	color: #666666;
	
}

#prev_next {
	
	margin: 1.2em auto 0;
	
	text-align: center;
	
}

/* ------------------------------------------------------------ */
/* <div> Scaling Image */

#scaling_div {
	
	top: 0;
	left: 0;
	
	z-index: 4;
	
	width: 100%;
	height: 100%;
	
	background-color: rgba(0, 0, 0, 0.9);
	
}

#scaling_img {
	
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	width: 1px;
	height: 1px;
	
	margin: auto;
	
}

#scaling_img,
.tweet_img {
	
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	
}

/* ------------------------------------------------------------ */
/* /text/illust/ */

.tweet_img {
	
	margin: 0.6em 0 0;
	
	border-radius: 0.8em;
	
}

/* ------------------------------------------------------------ */
/* <footer> */

footer {
	
	padding: 0.4em 0 0.7em;
	
	border-top: 1px solid #dddddd;
	
	text-align: center;
	
	color: #666666;
	
}

/* ------------------------------------------------------------ */
/* for scroll animation */

/* 2025/02/10 現在 iOS Safari Chrome 非対応！
   JavaScriptのポリフィルで同様の処理を実装
*/

/*
#header_img,
.button_span {
	
	animation: scrollAnime linear;
	animation-timeline: scroll();
	
}

@keyframes scrollAnime {
	
	0% {
		
		opacity: 1.0;
		
	}
	
	7% {
		
		opacity: 0.0;
		
	}
	
	100% {
		
		opacity: 0.0;
		
	}
	
}
*/
