@charset "utf-8";

@media (max-width: 559px) {

	.pankuzu_list {
		padding-left: 0;
		padding-right: 0;
		margin-left: -1.5rem;
		margin-right: -1.5rem;
		flex-wrap: wrap;
	}

}

/*-------------------------------------------------*/

.wp-block-file *+.wp-block-file__button {
    margin-left: .75em;
    color: #fff;
}

/*-------------------------------------------------*/

@media (max-width: 1180px) {

	.under_page_title {
		margin-top: 8rem;
	}

}

@media (max-width: 767px) {

	.under_page_title {
		margin-top: 6rem;
	}

}

/*-------------------------------------------------*/

.pagination{
	justify-content: center;
	font-size: 1.6rem;
}

.pagination .nav-links{
	
}

.pagination span{
	background: #F0F0F0;
	border: 0.2rem solid #E8E8E8;
	padding: 1rem;
	border-radius: 0.5rem;
}

.pagination a{
	background: #c9484f;
	color: #fff;
	padding: 1rem;
	border-radius: 0.5rem;
}

/*-------------------------------------------------*/

.wp-block-buttons .wp-block-button__link {
	color: #fff;
}

/*-------------------------------------------------*/

.category_list {
	display: grid;
	grid-template-columns: repeat(6, 1fr); /* ← 常に6列分割 */
	gap: 8px;
	justify-content: start;
	margin-bottom: 4rem;
}

.category_list li {
	flex: 1 1 calc(16.66% - 8px); /* ← 1行6個配置（100% ÷ 6 = 約16.66%） */
	min-width: 120px;
	padding: 0 0 0 0;
	text-align: center;
	background: #fff;
	border: 0.1rem solid #595959;
	border-radius: 4rem;
	/* border: none;
	border-radius: 6px; */
	cursor: pointer;
	font-size: 1.5rem;
	transition: all 0.25s ease;
	color: #595959;
	position: relative;

	display: flex;
	justify-content: center;
	align-items: center;
	height: 4rem;
	overflow: hidden;
}

.category_list li a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 1;
}

.category_list li a.current{
	background: #14808F;
	color: #fff;
	pointer-events: none;
}

.category_list li a:hover{
	background: #14808F;
	color: #fff;
}

@media (max-width: 1180px) {

	.category_list {
		grid-template-columns: repeat(4, 1fr);
	}

	.category_list li {
		align-items: baseline;
	}

}

@media (max-width: 820px) {

	.category_list {
		grid-template-columns: repeat(3, 1fr);
	}

}

@media (max-width: 559px) {

	.category_list {
		/* grid-template-columns: repeat(2, 1fr); */
		gap: unset;
		grid-template-columns: unset;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.category_list li {
		width: 49%;
		height: 3rem;
		font-size: 3vw;
		min-width: auto;
		flex: unset;
		margin-bottom: 0.7rem;
	}

}

/*-------------------------------------------------*/
/* PC用ドロップダウン */

.main-navigation .has-submenu button{
	display: none;
}

@media (min-width: 666px) {

	.main-navigation .has-submenu {
		position: relative;
	}

	.main-navigation .has-submenu .submenu {
		display: none;
		position: absolute;
		top: 100%;
		/* left: -50%; */
		left: 0%;
		/* width: 100%; */
		width: 200%;
		background: #fff;
		z-index: 100;
		border-left: 0.1rem solid #43b5cc;
		border-right: 0.1rem solid #43b5cc;
	}

	.main-navigation .has-submenu .submenu a {
		/*padding: 0.3rem;*/
		padding: 0.4rem 1rem;
		transition: 0s;
	}

	.main-navigation .has-submenu .submenu a:hover{
		opacity: 1;
		background: #2f7f8e;
		color: #fff;
	}

	.main-navigation .has-submenu:hover > .submenu {
		display: block;
		border-bottom: 0.1rem solid #43b5cc
	}

	.main-navigation .submenu li {
		width: 100%;
		border-top: 0.1rem solid #43b5cc;
		border-left: none;
		border-right: none;
	}

	.main-navigation .submenu li p{
		text-align: left;
	}

}
@media (min-width: 666px) {
	.main-navigation .has-submenu .submenu {
		display: block;              /* 先に block にして visibility で制御 */
		opacity: 0;
		visibility: hidden;
		transform: translateY(10px);
		transition: all 0.3s ease;
	}

	.main-navigation .has-submenu:hover > .submenu,
	.main-navigation .has-submenu:focus-within > .submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		border-bottom: 0.1rem solid #43b5cc;
	}
}
@media (max-width: 666px) {

	.main-navigation .submenu {
		margin-top: 0;
		width: 100%;
		border-top: none;
		border-left: none;
		border-right: none;
		border-top: 0.1rem solid #F0F0F0;
	}

	.main-navigation .submenu li {
		padding-left: 0;
		padding-right: 0;
	}

	.main-navigation .submenu li:last-child {
		border-right: none;
		border-bottom: none;
	}

	.main-navigation .submenu li p {
		font-size: 3.0vw;
	}

	.main-navigation .submenu li p::before {
		content: '・';
		color: #14808F;
		margin-left: 3rem;
	}

}

/* =========================================================
   Single Article Outer Wrapper（背景＋余白）
   ========================================================= */
.single-article {
    background: #FDFDF5;
    padding: 5rem;
}

.single-article .article-header{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.single-article .article-header .date{
	width: 100%;
	margin-top: -4rem;
	text-align: center;
	margin-bottom: 1rem;
}

.single-article .article-header .category{
	background: #14808F;
	color: #fff;
	width: 10vw;
	min-width: 20rem;
	border-radius: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 0;
}

@media (max-width: 559px) {
    .single-article {
        padding: 4rem 3rem;
    }

	.single-article .article-header .date {
		margin-top: 0rem;
	}

}

/* =========================================================
   Article Content Styling
   （記事詳細ページ内の本文成形）
   ========================================================= */
.article-content {
    font-size: 1em;
    line-height: 2;
    color: #3C3C3C;

	max-width: 80rem;
	margin-top: 4rem;
	margin-left: auto;
	margin-right: auto;
}

.article-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 2em auto;
}

/* ---------- 見出し ---------- */
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    font-weight: bold;
    line-height: 1.4;
    margin: 2.5em 0 1em;
    color: #222;
}

/* h2 */
.article-content h2 {
    font-size: 1.4em;
    padding-left: 0.6em;
    border-left: 4px solid #3C3C3C;
}

/* h3 */
.article-content h3 {
    font-size: 1.2em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.4em;
}

/* h4 以下 */
.article-content h4 {
    font-size: 1.1em;
}
.article-content h5 {
    font-size: 1em;
}
.article-content h6 {
    font-size: 0.95em;
}

/* ---------- 段落 ---------- */
.article-content p {
    margin: 1.2em 0;
}

/* ---------- リスト ---------- */
.article-content ul,
.article-content ol {
    margin: 1.2em 0 1.2em 1.5em;
    padding-left: 0;
    line-height: 2;
}

.article-content ul li {
    list-style: disc;
    margin-left: 1em;
}

.article-content ol li {
    list-style: decimal;
    margin-left: 1em;
}

/* ---------- 引用 ---------- */
.article-content blockquote {
    border-left: 4px solid #ccc;
    padding: 1em 1.5em;
    margin: 2em 0;
    color: #555;
    background: #f9f9f9;
}

/* ---------- テーブル ---------- */
.article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.95em;
}

.article-content table th,
.article-content table td {
    border: 1px solid #ccc;
    padding: 0.8em;
}

.article-content table th {
    background: #f4f4f4;
    font-weight: bold;
}

/* ---------- リンク ---------- */
.article-content a {
    color: #0071bc;
    text-decoration: underline;
    transition: 0.3s;
}

.article-content a:hover {
    opacity: 0.7;
    text-decoration: none;
}

/* ---------- スマホ対応 ---------- */
@media screen and (max-width: 559px) {
    .article-content h2 {
        font-size: 1.3em;
    }
    .article-content h3 {
        font-size: 1.15em;
    }
    .article-content h4 {
        font-size: 1.05em;
    }
}

/* =========================================================
   Article Footer Navigation（前の記事・次の記事）
   ========================================================= */

.article-footer-nav {
    display: flex;
    justify-content: space-evenly;
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid #ddd;
    gap: 2rem;
}

.article-footer-nav a {
	display: inline-block;
	background: #c9484f;
	color: #fff;
	padding: 1rem 3rem;
	border-radius: 4rem;
	font-size: 1.4rem;
	text-decoration: none;
	transition: 0.3s;
}

.article-footer-nav a:hover {
    opacity: 0.6;
    /* text-decoration: underline; */
}

/* 左側：前の記事 */
.article-footer-nav .prev-article {
    flex: 1;
    text-align: left;
}

/* 右側：次の記事 */
.article-footer-nav .next-article {
    flex: 1;
    text-align: right;
}

/* SP：縦並び */
@media (max-width: 559px) {
	.article-footer-nav {
		/* flex-direction: column; */
		justify-content: space-between;
		text-align: center;
	}

    .article-footer-nav .prev-article,
    .article-footer-nav .next-article {
        text-align: center;
    }
}


/* =========================================================
   Back to List Button（一覧へ戻る）
   ========================================================= */

.back-to-list {
    text-align: center;
    margin-top: 4rem;
}

.back-to-list a {
	display: inline-block;
	background: #c9484f;
	color: #fff;
	padding: 1rem 3rem;
	border-radius: 4rem;
	font-size: 1.4rem;
	text-decoration: none;
	transition: 0.3s;
}

.back-to-list a:hover {
    opacity: 0.8;
}