@charset "utf-8";

:root{
	
}

/******************************/

body,
	html{
		color: rgb(var(--baceFontColor));
		text-align:center;
		font-family: var(--font-family-gothic);
		font-weight: 300;
		font-kerning: auto;
		font-variant-numeric: tabular-nums;
		font-feature-settings: "palt" 1;

		--clamp-viewport-max: 1200;
		--clamp-viewport-min: 375;
		--clamp-max: 16;
		--clamp-min: 14;
		font-size: var(--clamp);
	}

	html{
		scroll-behavior: smooth;/*formに影響する*/
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}
	body{
		/*グレースケールでチェックする！*/
		/*filter: grayscale(1);*/
		min-height: 100vh; /* dvh 未対応ブラウザ向け */
		min-height: 100dvh;
		opacity: 0; transition: opacity 0.3s;

		background-color : #ECECEC;
  	
	}
	body.loaded {
		opacity: 1;
		&::after {
  		content: '';
  		/* スピナー表示用のスタイル */
		}
	}
	
	/*ダークモード対応テスト*/
	html[theme='dark-mode'] {
		filter: invert(1) hue-rotate(180deg);
	}
	html[theme='dark-mode'] img{/*img　除外*/
		filter: invert(1) hue-rotate(180deg);
	}


  /******************************/

	.page_title{
		--clamp-max: 25;
		--clamp-min: 20;
		font-size: var(--clamp);
		text-align:left;
		font-weight:400;
		color:white;
		border-radius: .5rem;
		padding:.3em .5em;
		margin:2rem auto 2rem auto;
		background-image: linear-gradient(180deg, rgba(63, 108, 255, 0.99), rgba(10, 61, 201, 1));
		font-family:var(--font-family-minchou);
	}
	
	.section_title{
		--clamp-max: 20;
		--clamp-min: 16;
		font-size: var(--clamp);

		font-weight:500;
		margin:3rem 0 1em 0;
		padding:.3em .5em;
		color:#2869AA;
		border-radius: .3em;
		text-align:left;
		border:1px solid #16688F;
		border-top:2px solid #16688F;
		background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(237, 237, 237, 1) 30%);

	}

	.mt0{
		margin-top:0;
	}

/***********************************/

#page{
	width:1060px;
	margin:2rem auto;
	position : relative;
	background-color : white;
	box-shadow: 0px 0px 5px #000000;
}
#globalHeader{
		position:relative;
		background-image: linear-gradient(180deg, rgba(63, 108, 255, 1), rgba(10, 61, 201, 1));
		padding:1rem;
		> div{
			hgroup{
				display: flex;
  			flex-direction: column-reverse;
				h1{
					text-align: left;
					margin-top:.5rem;
				}
				p{
					color:white;
					font-size: .8em;
					text-align: left;
				}
			}
			nav{
				position:absolute;
				bottom:1rem;
				right:1rem;
				ul{
					display:flex;
					gap:10px;
				}
			}
		}
}
		
#grobalNav{
	border-bottom:1px solid #CCC;
	border-top:1px solid #CCC;

	ul{
		display:grid;
		grid-template-columns: repeat(5,1fr);
		li{
			a{
				font-size: 1.1em;
				display:block;
				padding:.5em 0;
				font-weight: 400;
				color:rgb(var(--mainColor));
				background-image: linear-gradient(180deg, rgba(240, 240, 240, 1) 20%, rgba(255, 255, 255, 1) 50%, rgba(240, 240, 240, 1) 80%);
				&:hover{
					background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(240, 240, 240, 1) 50%, rgba(255, 255, 255, 1));
				}
				&[aria-current="page"],[aria-current="page"]:hover{/*現在のページ*/
					background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(225, 249, 255, 1) 50%, rgba(255, 255, 255, 1));
				}
			}
		}
		> * + *{
			border-left:1px solid silver;
		}
	}
}


#preamble{
	padding:2rem;
	margin:0 auto;
	main{
		display:block;
		container-type: inline-size;
		&:has(> div#blog_main){
			display:grid;
			grid-template-columns: 230px 1fr;
			grid-template-areas: "B A";
			gap:2rem;
			> div#blog_main{/*ブログメイン*/
				grid-area: A;
				> * + *{
					margin-top:2rem;
				}
				> article{
					border-radius: .5em;
					border:1px solid silver;
					overflow: hidden;
					padding-bottom:2rem;
					header{
						h2{
							font-size: 1.2em;
							padding:1rem;
							font-weight: 400;
							text-align: left;
							border-bottom:1px solid silver;
						}
						p.time{
							text-align: right;
							font-size: .8em;
							padding:.5em 2rem 0 2rem;
						}
						div.entryLove{
							display:none;
						}
					}
					section{
						padding:1rem 2rem 0 2rem;
						text-align: left;
						img{
							width:auto !important;
							height:auto !important;
						}
					}
					footer{
						margin:1rem 2rem 0 2rem;
						ul{
							display:flex;
							flex-wrap:wrap;
							justify-content: start;
							gap:.5em 1em;
						}
					}
				}
			}
			> aside{
				grid-area: B;
				> div{
					/*position: sticky;
					top: 0;*/
				}
				ul{
					li{
						text-align: left;
					}
				}
			}
		}
	}
	@media (max-width: 768px) {
	}
}



	#breadcrumb{/*パンくずリスト*/
		ul{
			display:flex;
			justify-content: start;
			flex-wrap:wrap;
			li{
				--clamp-min: 13;
				--clamp-max: 14;
				font-size: var(--clamp);
				a{
					text-decoration:none;
				}
				&::before{
					content: '';
					display: inline-block;
					width: 12px;
					height: 12px;
					background-image: url('../svg/chevron_right.svg');
					background-size: contain;
					background-repeat: no-repeat;
					vertical-align: middle;
					margin:0 .5em;
				}
				&:first-child{
					&::before{
						background-image:none;
						margin:0 0 0 0;
						width:0;
						height:0;
					}
				}
			}
		}
	}

	#sns_btn{/*シェアボタン*/
		margin:3em auto 0 auto;
		> div{
			margin:0 auto;
			ul{
				display: grid;
				grid-template-columns: repeat(5, auto);
				justify-content: start;
				column-gap: .7em;
				li{
					> a{
						font-size: .9em;
						border:2px solid;
						border-radius:.4em;
						display:block;
						text-decoration: none;
						padding: .5em .7em;
						font-weight: bold;
						background:white;
						@media (any-hover: hover) {
							&:hover {
								color:white !important;
							}
						}
					}
					&.facebook a {
						color: #3c5a99;
						@media (any-hover: hover) {
							&:hover {
								background:#3c5a99;
							}
						}
					}
					&.twitter a {
						color: #333;
						@media (any-hover: hover) {
							&:hover {
								background:#333;
							}
						}
					}
					&.hatena a {
						color: #009fd7;
						@media (any-hover: hover) {
							&:hover {
								background:#009fd7;
							}
						}
					}
					&.pocket a {
						color: #ed374d;
						@media (any-hover: hover) {
							&:hover {
								background:#ed374d;
							}
						}
					}
					&.line a {
						color: #01ba01;
						@media (any-hover: hover) {
							&:hover {
								background:#01ba01;
							}
						}
					}
				}
				&:after {
					content: "";
					clear: both;
					display: block;
					height: 0;
				}
			}
		}
		@media (max-width: 768px) {
			> div{
				ul{
					grid-template-columns: repeat(3, 1fr);
					row-gap: 10px;
					li{
						a{
							padding:.5em 0;
						}
					}
				}
			}
		}
	}

footer#globalFooter{/*フッター*/
		position: sticky;
  	top: 100%;
		padding:1.5rem 0;
		background:#eee;
		> div{
			width:var(--container-width);
			margin:0 auto;
			position:relative;
			#copyright{
				font-size: .8em;
			}
		}
	}

/***********************************/
#what{
width:100%;
clear:both;
}
#what H3{
margin-top:0;
}
#what_in{
height:150px;
  overflow : auto;
}

#what_in dl{
padding:0.5em 0;
width:100%;
clear:both;
text-align:left;
  border-bottom : 1px dashed silver;
    height : 1.6em;
}
#what_in dl dt{
	width: 6em;
	float: left;
	color: #2e77c1;
	clear: both;
	font-weight: bold;
}
#what_in dl dd {
	float: left;
}


#top_aisatsu{
width:100%;
text-align:left;
  position : relative;
height:210px;
}
#top_aisatsu img{
top:0;
left:0;
position:absolute;
}
#top_aisatsu #com{
margin:0 0 0 160px;
}