@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  ページタイトル
**************************************************
--------------------------------------------------*/
/* SP */
@media screen and (max-width: 767px) {
	.sub_page .mv.dot .mv_text .heading_01 .main{
		font-size: 2.3rem;
	}
}
.sub_page .mv.dot .description {
	margin-top: 20px;
}
.heading_01 .main span.term_name {
	display:block;
	font-size:2.4rem;
	margin-top:5px;
}
@media screen and (max-width: 767px) {
	.heading_01 .main span.term_name {
		margin:0;
		font-size:1.8rem;
	}
}


/*--------------------------------------------------
**************************************************
  一覧 & 詳細
**************************************************
--------------------------------------------------*/
.nav_category {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 64px;
	margin-top: -40px;
	padding: 24px;
	border-top: var(--gray-line) 1px solid;
	border-bottom: var(--gray-line) 1px solid;
}

.nav_category .heading {
	font-size: 3.0rem;
	font-weight: 600;
	color: var(--blue-gradient-end);
}

.nav_category ul {
	display: flex;
	gap: 32px;
}

.nav_category ul a {
	font-weight: 600;
	font-size:1.3rem;
	background:#fafafa;
	padding:5px 15px;
	border-radius:8px;
}

.nav_category ul a.active_term,
.nav_category ul a:hover {
	background: var(--blue-dark);
	color:#FFF;
}

.nav_category ul.tag_list {
	flex-wrap:wrap;
	gap:15px 20px;
}

.archive .contents_01,
.single .contents_01 {
	display: flex;
	justify-content: space-between;
	gap: 50px;
	margin-top: 80px;
}

.archive .contents_01 article,
.single .contents_01 article {
	max-width: 885px;
	width: 100%;
}

aside {
	max-width: 346px;
	width: 100%;
}

aside .side_item + .side_item {
	margin-top: 80px;
}

aside .side_item h2 {
	font-size: 2.0rem;
	font-weight: 600;
	color: #000;
}

aside .side_recommend_list {
	margin-top: 32px;
}

aside .side_recommend_list li + li {
	margin-top: 24px;
}

aside .side_recommend_list a {
	display: block;
	border-radius: 8px;
	box-shadow: 0px 0px 15px 0px #00000040;
}

aside .side_recommend_list a .side_thumb {
	width: 100%;
	height: 180px;
}

aside .side_recommend_list a img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 8px 8px 0 0;
}

aside .side_recommend_list a .title {
	width: 100%;
	padding: 16px 20px;
	background: var(--white);
	border-radius: 0 0 8px 8px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
}

aside .side_popular_list,
aside .side_new_list {
	margin-top: 32px;
}

aside .side_popular_list {
	counter-reset: popular_num 0;
}

aside .side_popular_list li + li,
aside .side_new_list li + li {
	margin-top: 24px;
}

aside .side_popular_list a,
aside .side_new_list a {
	display: flex;
	border-radius: 16px;
	box-shadow: 0px 0px 15px 0px #00000040;
}

aside .side_popular_list li a {
	position: relative;
}

aside .side_popular_list li a::before {
	counter-increment: popular_num 1;
	content: counter(popular_num) ".";
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 1;
	font-family: "Poppins", sans-serif;
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 1;
}

aside .side_popular_list li a:hover::before {
	color: var(--black-base);
}

aside .side_popular_list a .side_thumb,
aside .side_new_list a .side_thumb {
	width: 40%;
	line-height: 0;
}

aside .side_popular_list a img,
aside .side_new_list a img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 16px 0 0 16px;
}

aside .side_popular_list a .title,
aside .side_new_list a .side_post_info {
	width: 60%;
	padding: 15px;
}

aside .side_new_list a .side_post_info time {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
}

aside .side_popular_list a .title,
aside .side_new_list a .title {
	font-size: 1.5rem;
	font-weight: 500;
}

aside .side_banner li + li {
	margin-top: 40px;
}

aside .side_tag ul {
	margin-top:20px;
	font-size:1.3rem;
	display:flex;
	flex-wrap:wrap;
}
aside .side_tag ul li {
	margin:0 8px 8px 0;
}
aside .side_tag ul li a {
	background:#fafafa;
	padding:5px 10px;
	display:block;
	border-radius:8px;
	font-weight:500;
}
@media screen and (min-width: 768px) {
	aside .side_tag ul li a:hover {
		background:#004ea2;
		color:#FFF;
	}
}

/* PC */
@media screen and (min-width: 768px) {
	aside .side_recommend_list a .side_thumb {
		overflow: hidden;
		border-radius: 8px 8px 0 0;
		transition: all 1s ease;
	}

	aside .side_recommend_list a:hover .side_thumb img {
		transform: scale(1.1);
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.nav_category {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 24px;
		padding: 0;
		border: none;
	}

	.nav_category .heading {
		text-align: center;
		font-size: 1.6rem;
	}

	.nav_category ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px 28px;
		padding: 16px;
		border-top: var(--gray-line) 1px solid;
		border-bottom: var(--gray-line) 1px solid;
	}

	.nav_category ul a {
		font-size: 1.3rem;
	}

	.archive .contents_01,
	.single .contents_01 {
		flex-direction: column;
		gap: 80px;
		margin-top: 40px;
	}
}


/*--------------------------------------------------
**************************************************
  一覧
**************************************************
--------------------------------------------------*/
.archive .contents_01 .archive_item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 64px;
	border-bottom: var(--gray-line) 1px solid;
}

.archive .contents_01 .archive_item + .archive_item {
	padding-top: 64px;
}

.archive .contents_01 .archive_item .text_box {
	max-width: 420px;
	width: 100%;
}

.archive .contents_01 .archive_item .text_box .new {
	display: inline-block;
	margin-bottom: 10px;
	padding: 7px 10px;
	background: var(--blue-gradient-end);
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: var(--white);
}

.archive .contents_01 .archive_item .text_box h2 a {
	font-size: 2.2rem;
	font-weight: 600;
}

.archive .contents_01 .archive_item .text_box .content {
	margin-top: 16px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.archive .contents_01 .archive_item .text_box .post_info {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 24px;
}

.archive .contents_01 .archive_item .text_box time {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	color: #484848;
}

.archive .contents_01 .archive_item .text_box .post_cat {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	color: #717171;
}

.archive .contents_01 .archive_item .text_box ul.tag {
	margin-top:10px;
	display:flex;
	flex-wrap:wrap;
	font-size:1.2rem;
}
.archive .contents_01 .archive_item .text_box ul.tag li {
	margin-right:10px;
	margin-bottom:2px;
}
.archive .contents_01 .archive_item .text_box ul.tag li a {
	color:#858585;
}
@media screen and (min-width: 768px) {
	.archive .contents_01 .archive_item .text_box ul.tag li a:hover {
		color:#dd0000;
	}
}

.archive .contents_01 .archive_item .image_box {
	width: 422px;
	height: 266px;
}

.archive .contents_01 .archive_item .image_box img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 16px;
}

/* PC */
@media screen and (min-width: 768px) {
	.archive .contents_01 .archive_item .text_box h2 a {
		display: inline-block;
	}

	.archive .contents_01 .archive_item .text_box h2 a:hover {
		color: var(--blue-bright);
	}

	.archive .contents_01 .archive_item .text_box h2 a::before {
		background-color: var(--blue-bright);
	}

	.archive .contents_01 .archive_item .image_box {
		overflow: hidden;
		border-radius: 16px;
	}
	
	.archive .contents_01 .archive_item .image_box a:hover img {
		transform: scale(1.1);
		box-shadow: 0px 0px 15px 0px #00000040;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.archive .contents_01 .archive_item {
		flex-direction: column;
		justify-content: flex-start;
		gap: 15px;
		padding-bottom: 32px;
	}

	.archive .contents_01 .archive_item + .archive_item {
		padding-top: 32px;
	}

	.archive .contents_01 .archive_item .text_box .new {
		margin-bottom: 5px;
	}

	.archive .contents_01 .archive_item .text_box h2 a {
		font-size: 1.8rem;
		line-height: 1.7;
	}

	.archive .contents_01 .archive_item .text_box .post_info {
		margin-top: 16px;
	}

	.archive .contents_01 .archive_item .text_box time {
		font-size: 1.3rem;
	}

	.archive .contents_01 .archive_item .text_box .post_cat {
		font-size: 1.3rem;
	}

	.archive .contents_01 .archive_item .image_box {
		width: 100%;
		height: 210px;
	}
}


/*--------------------------------------------------
**************************************************
  詳細
**************************************************
--------------------------------------------------*/
.single_page_title {
	margin-bottom: 80px;
	padding: 24px 0 40px;
	background: #f2f2f2;
}

.single .contents_01 .post_info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.single .contents_01 .post_info .category {
	padding: 5px 10px;
	background: var(--blue-extra-light);
	font-size: 1.4rem;
	line-height: 1;
}

.single .contents_01 .post_info .post_date {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	line-height: 1;
}

.single .contents_01 .post_title {
	margin-top: 15px;
	font-size: 2.4rem;
	font-weight: 600;
}
.single .contents_01 ul.single_tag_list {
	margin-top:10px;
	font-size:1.3rem;
	display:flex;
	flex-wrap:wrap;
}
.single .contents_01 ul.single_tag_list li {
	margin-right:15px;
	margin-bottom:10px;
	color:#858585;
}
.single .contents_01 .thumbnail {
	margin-top: 30px;
	width: 100%;
	height: 470px;
}

.single .contents_01 .thumbnail img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 16px;
}

.single .contents_01 .content {
	margin-top: 80px;
	font-size: 1.8rem;
	line-height: 2;
}

.single .contents_01 .content #ez-toc-container { /* 目次 */
	margin-top:50px;
	margin-bottom: 50px;
	padding: 40px 80px;
	background: var(--gray-bg-light);
	border: none;
	border-radius: 16px;
}

.single .contents_01 .content #ez-toc-container .ez-toc-title {
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--black-base);
}

.single .contents_01 .content #ez-toc-container .ez-toc-list {
	margin-top: 24px;
}
.single .contents_01 .content #ez-toc-container .ez-toc-list li {
	border:none;
}
.single .contents_01 .content #ez-toc-container .ez-toc-list li + li {
	margin-top: 14px;
}

.single .contents_01 .content #ez-toc-container .ez-toc-list a,
.single .contents_01 .content #ez-toc-container .ez-toc-list a::before {
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--black-base);
}

/* ---- 詳細ページ整形
----------------------------------------------------------------------- */
.single .contents_01 .content h2 {
	display: block;
	width: 100%;
	margin-top: 50px;
	padding: 20px 40px;
	background: var(--blue-gradient-end);
	border-radius: 40px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--white);
}
.single .contents_01 .content h3 {
	margin-top:40px;
	padding:15px 20px 15px 25px;
	background:#fafafa;
	font-size:2rem;
	font-weight:700;
	border-left:10px solid var(--blue-gradient-end);
}
.single .contents_01 .content h4 {
	margin-top:30px;
	font-size:1.8rem;
	font-weight:500;
	padding:10px;
	border-bottom:2px solid var(--blue-gradient-end);
}
.single .contents_01 .content p {
	margin-top: 25px;
}
.single .contents_01 .content p span {
	background:linear-gradient(transparent 10%, #fff100 10%);
	font-weight:500;
}
.single .contents_01 .content img {
	margin-top:30px;
	max-width:100%;
	height:auto;
	display:block;
	border-radius:16px;
}
.single .contents_01 .content ul {
	margin:20px 0;
}
.single .contents_01 .content ul li {
	padding:10px;
	border-bottom:1px solid #d0d0d0;
	font-weight:500;
}

.single .contents_01 .content ul.point {
    margin: 20px;
    padding: 24px 24px 24px 56px;
    background: #EBF4FF;
    border-radius: 16px;
}

.single .contents_01 .content ul.point li{
	list-style: disc;
	list-style-position: outside;
}

.single .contents_01 .content ul.point li:last-child{
	border-bottom:none;
}
@media screen and (max-width: 767px) {
.single .contents_01 .content ul.point {
    margin: 16px 0 16px 16px;
    padding: 16px 16px 16px 40px;
    background: #EBF4FF;
    border-radius: 16px;
}
.single .contents_01 .content ul.point li{
	line-height: 1.6;
	font-size: 1.6rem;
}
}

.single .contents_01 .content table {
	margin:30px 0;
	width:100%;
	border-collapse:collapse;
}
.single .contents_01 .content table th {
	padding:15px;
	background:#eff8fd;
	border:1px solid #d0d0d0;
}
.single .contents_01 .content table td {
	padding:15px;
	border:1px solid #d0d0d0;
}
@media screen and (max-width: 767px) {
	.single .contents_01 .content table th {
		padding:10px;
		font-size:4vw;
	}
	.single .contents_01 .content table td {
		padding:10px;
		font-size:3.4vw;
	}
}


.single .contents_01 .content dl.faq {
	margin-top:30px;
}
.single .contents_01 .content dl.faq dt {
	padding:10px;
	font-size:2rem;
	color:#cc0000;
}
.single .contents_01 .content dl.faq dd {
	margin-top:20px;
	padding:25px;
	background:#fafafa;
	position:relative;
	display:inline-block;
	width:100%;
	border-radius:16px;
}
.single .contents_01 .content dl.faq dd::before {
	content: "";
	position: absolute;
	top: -50px;
	left: 10%;
	margin-left: -15px;
	border: 30px solid transparent;
	border-bottom: 30px solid #fafafa;
}
.single .contents_01 .content dl.faq dd p:nth-child(1) {
	margin:0;
}



@media screen and (max-width: 767px) {
	.single .contents_01 .content h2 {
		padding: 20px 5vw;
		border-radius: 16px;
		font-size: 2.2rem;
	}
}



.single .contents_01 .link_box {
	margin-top: 160px;
	text-align: center;
}

.single .contents_02 {
	margin-top: 120px;
}

.single .contents_02 h2 {
	text-align: center;
	font-size: 3.0rem;
	font-weight: 600;
}

.single .contents_02 .other_post_list {
	display: flex;
	/* justify-content: space-between; */
	gap: 40px;
	margin-top: 64px;
}

.single .contents_02 .other_post_item {
	max-width: 400px;
}

.single .contents_02 .other_post_thumbnail {
	height: 252px;
}

.single .contents_02 .other_post_thumbnail img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 16px;
}

.single .contents_02 .other_post_title {
	margin-top: 40px;
	font-size: 2.2rem;
	font-weight: 600;
}

.single .contents_02 .other_post_content {
	margin-top: 24px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.single .contents_02 .other_post_info {
	display: flex;
	gap: 16px;
	margin-top: 40px;
}

.single .contents_02 .other_post_info time {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	color: #484848;
}

.single .contents_02 .other_post_info .post_cat {
	font-family: "Poppins", sans-serif;
	font-size: 1.4rem;
	color: #717171;
}

/* PC */
@media screen and (min-width: 768px) {
	.single .contents_02 .other_post_thumbnail {
		overflow: hidden;
		border-radius: 16px;
	}

	.single .contents_02 .other_post_thumbnail a:hover img {
		transform: scale(1.1);
	}

	.single .contents_02 .other_post_title a {
		display: inline-block;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.single_page_title {
		padding: 16px 0 24px;
	}

	.single .contents_01 .thumbnail {
		height: 210px;
	}

	.single .contents_01 .content #ez-toc-container { /* 目次 */
		padding: 20px 25px 30px;
	}

	.single .contents_02 h2 {
		font-size: 2.4rem;
	}

	.single .contents_02 .other_post_list {
		flex-direction: column;
		justify-content: flex-start;
		margin-top: 32px;
	}

	.single .contents_02 .other_post_item {
		max-width: none;
	}

	.single .contents_02 .other_post_thumbnail {
		height: 210px;
	}

	.single .contents_02 .other_post_title {
		margin-top: 20px;
		font-size: 2.0rem;
	}

	.single .contents_02 .other_post_content {
		margin-top: 10px;
		font-size: 1.4rem;
	}

	.single .contents_02 .other_post_info {
		margin-top: 20px;
	}
}

