@charset "UTF-8";

@import url("./free_area.css");
@import url("./parts.css");



/*お知らせ・ブログ：共通パーツ
---------------------------------------------------------*/
.p-topics .c-pankuzu {
	margin-bottom: var(--gap-60);
}

.wp-post__date {
	font: var(--font-en);
	letter-spacing: .1em;
}
.wp-post__ttl {
	font: var(--font-min);
	letter-spacing: .05em;
	line-height: 2.0em;
}
.wp-post__ttl a {
	display: inline-block;
	vertical-align: middle;
	padding-left: 1.0em;
	position: relative;
	text-decoration: none;
}
.wp-post__ttl a::before {
	font-family: 'fontello';
	content: '\e800';
	font-size: 35%;
	position: absolute;
	left: 0;
	top: .5em;
}
.wp-post__type {
	display: inline-block;
	background: #666;
	font: var(--font-min);
	color: #fff;
	font-size: var(--fs-12);
	letter-spacing: .1em;
	line-height: 1.8em;
	padding: 0 1.5em;
	border-radius: 5px;
}
.p-topics .blocklink:hover a {
	color: var(--color-blue);
}

/*カテゴリー*/
.wp-post__cat-list {
	color: #a3a3a3;
	letter-spacing: .14em;
	line-height: 1.2em;
	display: flex;
    flex-wrap: wrap;
	gap: .5em 1.0em;
}
.wp-post__cat-list li a:hover {
	color: #666;
}

/*執筆者【未調整】*/
.wp-post__author {
	letter-spacing: .08em;
	line-height: 1.4em;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	row-gap: .5rem;
}
.wp-post__author dl {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.wp-post__author dl::after {
	content: "／";
}
.wp-post__author dl:last-of-type::after {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.wp-post__date {
	letter-spacing: .04em;
}
.wp-post__ttl {
	letter-spacing: .02em;
	line-height: 1.6em;
}
.wp-post__type {
	letter-spacing: .05em;
	padding: 0 1.0em;
}
/*カテゴリー*/
.wp-post__cat-list {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.wp-post__date {
	letter-spacing: .04em;
}
.wp-post__ttl {
	letter-spacing: .02em;
	line-height: 1.4em;
}
.wp-post__type {
	letter-spacing: normal;
	padding: 0 .8em;
}
/*カテゴリー*/
.wp-post__cat-list {
	letter-spacing: .05em;
	gap: .5em .5em;
}

/*執筆者*/
.wp-post__author {
	font-size: var(--gap-14);
	letter-spacing: .04em;
}
}



/*お知らせ・ブログ：一覧ページ
---------------------------------------------------------*/
.wp-post__list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 29.4%);
	gap: var(--gap-60) 5.9%;
}
.wp-post__list-info {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	column-gap: 1.0rem;
}

/*サムネイル有り*/
.p-topics .c-thum {
	aspect-ratio: 300 / 165;
}
.p-column .c-thum {
	aspect-ratio: 100 / 70;
}
.p-topics .c-thum + .wp-post__list-info {
	margin-top: 3.0rem;
}
/*サムネイル無し*/
.wp-post__list article:not(:has(.c-thum)) {
	padding-bottom: 4.0rem;
	border-bottom: solid 1px var(--color-gray);
}

.wp-post__list-info .wp-post__date {
	font-size: var(--fs-14);
}
.wp-post__list-info .wp-post__ttl {
	width: 100%;
	font-size: var(--fs-17);
	margin-top: .5em;
}
.wp-post__list .wp-post__cat-list {
	margin-top: 1.5rem;
	font-size: var(--fs-12);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.wp-post__list {
	grid-template-columns: repeat(3, 31%);
	column-gap: 3.5%;
}

/*サムネイル有り*/
.p-topics .c-thum + .wp-post__list-info {
	margin-top: 1.5rem;
}
/*サムネイル無し*/
.wp-post__list article:not(:has(.c-thum)) {
	padding-bottom: 3.0rem;
}

.wp-post__list-info .wp-post__ttl {
	font-size: var(--fs-20);
	margin-top: .5em;
}
.wp-post__list .wp-post__cat-list {
	margin-top: 1.0rem;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.wp-post__list {
	grid-template-columns: repeat(2, 47%);
	gap: var(--gap-120) 6%;
}

/*サムネイル有り*/
.p-topics .c-thum + .wp-post__list-info {
	margin-top: 1.5rem;
}
/*サムネイル無し*/
.wp-post__list article:not(:has(.c-thum)) {
	padding-bottom: 2.0rem;
}

.wp-post__list-info .wp-post__date {
	font-size: var(--fs-15);
}
.wp-post__list-info .wp-post__ttl {
	font-size: var(--fs-19);
	margin-top: .5em;
}
.wp-post__list .wp-post__cat-list {
	margin-top: 1.5rem;
	font-size: var(--fs-12);
}
}



/*お知らせ・ブログ：詳細ページ
---------------------------------------------------------*/
.wp-post__headding {
	text-align: center;
	margin-bottom: var(--gap-80);
}
.wp-post__headding .wp-post__date {
	font-size: var(--fs-16);
}
.wp-post__headding .wp-post__ttl {
	font-size: var(--fs-38);
	margin: .8em 0;
}
.wp-post__headding .wp-post__cat-list {
	font-size: var(--fs-14);
    justify-content: center;
}

/*フッター（監修者情報）【未調整】*/
.wp-single__bottom {
	margin-top: var(--gap-150);
	border-top: solid 1px var(--color-border);
	padding: var(--gap-60) 0 var(--gap-80);
}
.wp-single__bottom-inner {
	width: min(100%,1100px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.wp-single__bottom-inner .wp-single__recently {
	width: min(37%,400px);
}
.wp-single__bottom-inner .wp-single__supervisor {
	width: min(59%,600px);
}
.wp-single__bottom-ttl {
	color: var(--color-navy);
	font-size: var(--fs-24);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .8em;
}

.wp-single__recently ul {
	line-height: 1.6em;
	border-top: solid 1px var(--color-border);
}
.wp-single__recently li {
	border-bottom: solid 1px var(--color-border);
}
.wp-single__recently li a {
	display: block;
	padding: 1.0em 0;
	padding-left: 1.8em;
	position: relative;
}
.wp-single__recently li a::before {
	content: "";
	position: absolute;
	width: 1.0em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #cfcf9b;
	left: 0;
	top: 1.3em;
}
.wp-single__recently li a:hover {
	color: #666;
}

.wp-single__supervisor-layout {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.wp-single__supervisor-img {
	width: min(32%,190px);
}
.wp-single__supervisor-txt {
	width: min(64%,360px);
}
.wp-single__supervisor-position {
	font: var(--font-min);
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
.wp-single__supervisor-name {
	font: var(--font-min);
	font-size: var(--fs-26);
	letter-spacing: .2em;
	line-height: 1.2em;
}
.wp-single__supervisor-free {
	font-size: var(--fs-14);
	letter-spacing: .04em;
	line-height: 1.8em;
	margin-top: 1.5em;
}
.wp-single__supervisor-free a {
	text-decoration: underline;
}
.wp-single__supervisor-free a:hover {
	color: var(--color-d_general);
}
.wp-single__supervisor .c-link-round {
	margin-top: 2.5rem;
}

/*前後のページへ*/
.wp-single__prev-next {
	margin-top: var(--gap-150);
	clear: both;
	border-top: solid 1px #a3a3a3;
	border-bottom: solid 1px #a3a3a3;
	font-size: var(--fs-14);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 2.0em;
	padding: 2.0rem 0;
}
.wp-single__bottom + .wp-single__prev-next {
	margin-top: 0;
}
.wp-single__prev-next ul {
	width: min(100%,1100px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.wp-single__prev-next li {
	width: 48%;
}
.wp-single__prev-next li:nth-child(1) {
	text-align: left;
}
.wp-single__prev-next li:nth-child(2) {
	text-align: right;
}
.wp-single__prev-next a {
	display: inline-block;
	position: relative;
	text-decoration: none;
}
.wp-single__prev-next li a::before {
	font-family: 'fontello';
	content: '\e800';
	color: var(--color-navy);
	font-weight: normal;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.wp-single__prev-next li:nth-child(1) a {
	padding-left: 2.5em;
}
.wp-single__prev-next li:nth-child(1) a::before {
	left: 0;
	transform: rotate(180deg) translateY(50%);
}
.wp-single__prev-next li:nth-child(2) a {
	padding-right: 2.5em;
}
.wp-single__prev-next li:nth-child(2) a::before {
	right: 0;
	transform: translateY(-50%);
}
.wp-single__prev-next a:hover {
	color: #666;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*フッター（監修者情報）*/
.wp-single__recently ul {
	font-size: var(--gap-15);
}
.wp-single__recently li a {
	padding-left: 1.5em;
}

/*前後のページへ*/
.wp-single__prev-next {
	letter-spacing: .04em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.wp-post__headding {
	margin: 0 auto var(--gap-60);
}

/*フッター（監修者情報）*/
.wp-single__bottom-inner {
	display: block;
}
.wp-single__bottom-inner .wp-single__recently {
	width: 100%;
	margin-bottom: var(--gap-80);
}
.wp-single__bottom-inner .wp-single__supervisor {
	width: 100%;
}
.wp-single__bottom-ttl {
	letter-spacing: .1em;
}
.wp-single__recently ul {
	font-size: var(--fs-14);
	line-height: 1.4em;
}
.wp-single__recently li a {
	padding: .6em 0;
	padding-left: 1.5em;
}

.wp-single__supervisor-layout {
	display: block;
}
.wp-single__supervisor-img {
	width: 40%;
	margin: 0 auto 1.2em;
}
.wp-single__supervisor-txt {
	width: 80%;
	margin: 0 auto;
}
.wp-single__supervisor-position,
.wp-single__supervisor-name {
	text-align: center;
}
.wp-single__supervisor-free {
	letter-spacing: normal;
	margin-top: 1.0em;
}
.wp-single__supervisor .c-link-round {
	margin-top: 2.0rem;
}

/*前後のページへ*/
.wp-single__prev-next {
	letter-spacing: normal;
	padding: 1.5rem 0;
}
.wp-single__prev-next ul {
	display: block;
}
.wp-single__prev-next li {
	width: 100%;
	margin: .5rem 0;
}
.wp-single__prev-next li:nth-child(1) a {
	padding-left: 2.0em;
}
.wp-single__prev-next li:nth-child(2) a {
	padding-right: 2.0em;
}
}



/*目次
---------------------------------------------------------*/
#toc_container {
	margin-top: var(--gap-100);
	margin-bottom: var(--gap-100);
	display: block !important;	/*開閉時に縮むので必須*/
	width: min(80%,1100px) !important;		/*開閉時に縮むので必須*/
	margin-inline: auto;
	border-top: solid 1px #d1d1d1;
	border-bottom: solid 1px #d1d1d1;
}
#toc_container p,
#toc_container ul {
	margin: 0 !important;
}
#toc_container li {
	padding: 0 !important;
	margin: 0 !important;
}
#toc_container li::before {
	display: none;
}
#toc_container a {
	text-decoration: none;
}

#toc_container .toc_title {
	font: var(--font-min);
	color: var(--color-navy);
	font-size: var(--fs-22);
	letter-spacing: .15em;
	line-height: 1.0em;
	padding-left: 1.5em;
	margin: 1.0em 0 !important;
	position: relative;
}
#toc_container .toc_title::before {
	font-family: 'fontello';
	content: '\e80e';
	position: absolute;
	left: 0;
	top: 0;
}
#toc_container .toc_title .toc_toggle {
	display: inline-block;
	vertical-align: middle;
	font-size: 70%;
	letter-spacing: .05em;
	line-height: 1.4em;
	transform: translateY(-.2em);
}
#toc_container .toc_list li {
	font-size: var(--fs-14) !important;
	font-weight: bold;
	letter-spacing: .16em;
	line-height: 1.6em;
	border-bottom: none;
	padding: 0;
	margin: 0;
}
#toc_container .toc_list > li:nth-child(odd) {
	background: var(--color-light);
}
#toc_container .toc_list li a {
	display: block;
	padding: 1.0em 1.5em 1.0em .5em;
}
#toc_container .toc_list li ul {
	padding-left: 3.0em;
	padding-bottom: .5em;
}
#toc_container .toc_list li ul li a {
	padding-top: .5em;
	padding-bottom: .5em;
}
#toc_container .toc_list .toc_number {
	font: var(--font-en);
	font-size: 160%;
	letter-spacing: .05em;
	line-height: 1.0em;
	display: inline-block;
	text-align: center;
	width: 3.0em;
	border-right: solid 1px currentcolor;
	margin-right: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#toc_container .toc_list li a {
	padding-top: .5em;
	padding-bottom: .5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#toc_container {
	width: 100% !important;		/*開閉時に縮むので必須*/
}
#toc_container .toc_list li {
	letter-spacing: .05em;
}
#toc_container .toc_list li a {
	padding: .5em 0;
}
#toc_container .toc_list li ul {
	padding-left: 2.0em;
}
#toc_container .toc_list .toc_number {
	font-size: 140%;
	letter-spacing: normal;
	width: 2.5em;
	margin-right: .2em;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}