/* 基本設定
================================================= */
html{
	font-size: 62.5%;
}
body{
	color: #363636;
	font-family: "Noto Serif JP", serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
p{
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

/* PC */
@media only screen and (min-width: 768px){
	h1{
		font-size: 3.6rem;
		font-weight: 600;
	}
	h2{
		font-size: 2.8rem;
		font-weight: 600;
	}
	h3{
		font-size: 2.2rem;
		font-weight: 600;
	}
	h4{
		font-size: 1.8rem;
		font-weight: 500;
	}
	h5{
		font-size: 1.6rem;
		font-weight: 500;
	}
	h6{
		font-size: 1.4rem;
		font-weight: 500;
	}
	p{
		font-size: 1.6rem;
		font-weight: 500;
	}
	li{
		font-size: 1.6rem;
		font-weight: 500;
	}
	a:hover{
		opacity: 0.6;
	}
	dt, dd{
		font-size: 1.6rem;
		font-weight: 500;
	}
	blockquote {
		font-style: italic;
		font-size: 1.6rem;
		font-weight: 500;
	}
	strong{
		font-weight: 700;
	}
	em{
		font-style: italic;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	table {
		width: 100%;
		border-collapse: collapse;
		margin: 2em 0;
	}
	th, td {
		border: 1px solid #ccc;
		padding: 0.8em;
		text-align: left;
	}
	th {
		background: #f4f4f4;
	}
	input, textarea, select{
		font-family: inherit;
		font-size: 1.6rem;
		font-weight: 500;
	}
}

/* SP */
@media only screen and (max-width: 767px){
	h1{
		font-size: 2.8rem;
		font-weight: 600;
	}
	h2{
		font-size: 2.4rem;
		font-weight: 600;
	}
	h3{
		font-size: 2rem;
		font-weight: 600;
	}
	h4{
		font-size: 1.6rem;
		font-weight: 500;
	}
	h5{
		font-size: 1.4rem;
		font-weight: 500;
	}
	h6{
		font-size: 1.3rem;
		font-weight: 500;
	}
	p{
		font-size: 1.5rem;
		font-weight: 500;
	}
	li{
		font-size: 1.5rem;
		font-weight: 500;
	}
	dt, dd{
		font-size: 1.5rem;
		font-weight: 500;
	}
	blockquote {
		font-style: italic;
		font-size: 1.5rem;
		font-weight: 500;
	}
	strong{
		font-weight: 700;
	}
	em{
		font-style: italic;
	}
	img {
		width: 100%;
		height: auto;
	}
	table {
		width: 100%;
		border-collapse: collapse;
		margin: 2em 0;
	}
	th, td {
		border: 1px solid #ccc;
		padding: 0.8em;
		text-align: left;
		overflow-x: auto;
	}
	th {
		background: #f4f4f4;
	}
	input, textarea, select{
		font-family: inherit;
		font-size: 1.6rem;
		font-weight: 500;
	}
}


/* width（メインコンテンツの横幅設定）
================================================= */
/* PC */
@media only screen and (min-width: 768px) {
	body {
		width: 100%;
		min-width: 1280px;
	}
	.contents_box-s {
		width: 56.25%;
		min-width: 1080px;
		margin: 0 auto;
	}
	
	.contents_box-m{
		width: 66.5%;  /* 1280px */
		min-width: 1080px;
		margin: 0 auto;
	}
	
	.contents_box-l{
		width: 87.5%;  /* 1680px */
		min-width: 1080px;
		margin: 0 auto;
	}
}

/* SP */
@media only screen and (max-width: 767px){
	.contents_box-s, .contents_box-m, .contents_box-l  {
		width: 95%;
		margin: 0 auto;
	}
}

/* パンくずリスト
================================================= */
/* PC */
@media only screen and (min-width: 768px) {
	.breadcrumb_contents .contents_box-s{
		padding: 15px;
		box-sizing: border-box;
	}
	.breadcrumb_contents .contents_box-s .breadcrumb_content{
		display: flex;
		align-items: center;
		gap: 0 5px;
	}
	.breadcrumb_contents .contents_box-s .breadcrumb_content span {
		display: inline-block;
		font-size: 1.2rem;
	}
}

/* SP */
@media only screen and (max-width: 767px){
    .breadcrumb_contents .contents_box-s{
        width: 95%;
        padding: 10px 0;
        box-sizing: border-box;
    }
    .breadcrumb_contents .contents_box-s .breadcrumb_content{
        display: flex;
        align-items: center;
        gap: 0 5px;
    }
    .breadcrumb_contents .contents_box-s .breadcrumb_content span {
        display: inline-block;
        font-size: 1.2rem;
    }
}

/* サムネイル（投稿）
================================================= */
.post_list_thumbnail{
	position: relative;
	overflow: hidden;
}

.post_list_thumbnail img{
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	-o-object-fit: cover;
	object-position: center;
	-o-object-position: center;
	font-family: "object-fit: cover; object-position: center";
}

/* 非表示（端末別）
================================================= */
/* PC */
@media only screen and (min-width: 768px){
	.pc_none{
		display: none;
	}
}

/* SP */
@media only screen and (max-width: 767px){
	.sp_none{
		display: none;
	}
}

/* flex_box
================================================= */
.flex{
	display:flex;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:-ms-flexbox;
	-js-display:flex;
}

/* reCAPTCHA V3
================================================= */
.grecaptcha-badge {
    visibility: hidden; 
}