@charset "utf-8";
/* CSS Document */


/* #post_list_wrap
----------------------------------------- */
#post_list_wrap {
}

#post_list_wrap .inner {
    max-width: 110rem;
	padding-top: 7rem;
	padding-bottom: 16rem;
}

#post_list_wrap .layout {
	width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 6rem;
}

#post_list_wrap .important {
    width: 100%;
    background-color: #FFDEDE;
    border-radius: 1rem;
    padding: 5rem 6rem;
    padding-top: 3rem;
}
#post_list_wrap .important .ttl {
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 700;
}
#post_list_wrap .important .post_list {
    margin-top: 2rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 7.5rem 4.5rem;
}
#post_list_wrap .important .post_list .txt_con {
    margin-top: 1rem;
    gap: 0.5rem;
}
#post_list_wrap .important .post_list .txt_con .date {
    font-size: 1.6rem;
}
#post_list_wrap .important .post_list .txt_con h2.post_ttl {
    font-size: 1.6rem;
	line-height: calc(24/16);
}
#post_list_wrap .important .category .cat_list a {
	font-size: 1.2rem;
}


#post_list_wrap .post_catlist_wrap  {
    width: 100%;
    max-width: 103.5rem;
    display: flex;
    flex-flow: column;
    align-items: center;
}
#post_list_wrap .post_catlist_wrap .post_catlist  {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-auto-rows: 3.5rem;
    gap: 1rem;
}
#post_list_wrap .post_catlist_wrap .post_catlist > li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #9B9B9B;
    transition: all .6s;
}
#post_list_wrap .post_catlist_wrap .post_catlist > li a span {
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    font-weight: 700;
}
#post_list_wrap .post_catlist_wrap .post_catlist > li a:hover {
    opacity: 1;
    background-color: #000000;
    border: 1px solid #000000;
    color: #FFFFFF;
}
#post_list_wrap .post_catlist_wrap .post_catlist > li.current a:hover {
    background-color: #000000;
    border: 1px solid #000000;
    color: #FFFFFF;
}

#post_list_wrap .post_list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 7.5rem 3.5rem;
}
#post_list_wrap .post_list > li {
}
#post_list_wrap .post_list > li .post_layout {
	width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
}
#post_list_wrap .post_list .thumbnail {
    position: relative;
    z-index: 1;
}
#post_list_wrap .post_list .thumbnail .img_wrap {
    width: 100%;
    aspect-ratio: 3 / 2;
}
#post_list_wrap .post_list .thumbnail .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*#post_list_wrap .post_list .thumbnail a::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255,255,255,0.20);
    opacity: 0;
    transition: all .6s;
}
#post_list_wrap .post_list .thumbnail:hover::after {
    opacity: 1;
}*/

#post_list_wrap .post_list .txt_con {
    margin-top: 1rem;
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 0.5rem;
}
#post_list_wrap .post_list .txt_con .date {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
	line-height: 1;
    color: #5D5D5D;
}
#post_list_wrap .post_list .txt_con h2.post_ttl {
    font-size: 1.5rem;
	line-height: calc(23/15);
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

#post_list_wrap .category {
}
#post_list_wrap .category .cat_list {
	flex-wrap: wrap;
	justify-content: flex-start;
    gap: 1rem;
}
#post_list_wrap .category .cat_list li {
	display: flex;
}
#post_list_wrap .category .cat_list a {
	font-size: 1.1rem;
    letter-spacing: 0.03em;
	line-height: calc(20/11);
    background-color: #DDDDDD;
    border-radius: 0.2rem;
    padding: 0 0.4em;
}
#post_list_wrap .category .cat_list a:hover {
}


@media screen and (max-width: 768px) {
#post_list_wrap {
}

#post_list_wrap .inner {
	padding-top: 5rem;
	padding-bottom: 8rem;
}
    
#post_list_wrap .layout {
    gap: 4rem;
}

#post_list_wrap .important {
    width: 35.5rem;
    padding: 3rem 2rem;
    padding-top: 4rem;
}
#post_list_wrap .important .ttl {
    font-size: 1.8rem;
}
#post_list_wrap .important .post_list {
    margin-top: 2rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 2rem 0;
}
#post_list_wrap .important .post_list .txt_con {
    margin-top: 1rem;
    gap: 0.5rem;
}
#post_list_wrap .important .post_list .txt_con .date {
    font-size: 1.3rem;
}
#post_list_wrap .important .post_list .txt_con h2.post_ttl {
    font-size: 1.4rem;
    line-height: calc(20 / 14);
}
#post_list_wrap .important .category .cat_list a {
	font-size: 1.0rem;
}

#post_list_wrap .inner .page_ttl {
    font-size: 1.3rem;
}
    
    
#post_list_wrap .post_catlist_wrap  {
}
#post_list_wrap .post_catlist_wrap .post_catlist  {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-auto-rows: 3.0rem;
    gap: 0.5rem 1rem;
}
    

#post_list_wrap .post_list {
	width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem 0;
}
    
#post_list_wrap .post_list > li .post_layout {
    width: 100%;
    display: flex;
    flex-flow: row;
    align-items: flex-start;
    justify-content: space-between;
}
#post_list_wrap .post_list > li .post_layout .thumbnail {
    width: 15rem;
}
#post_list_wrap .post_list > li .post_layout .txt_con {
    width: 15rem;
    margin-top: 0;
}

#post_list_wrap .post_list .thumbnail .img_wrap {
    aspect-ratio: 150 / 100;
}

#post_list_wrap .post_list .txt_con h2.post_ttl {
    font-size: 1.4rem;
    line-height: calc(20 / 14);
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

#post_list_wrap .info_wrap {
    column-gap: 1.5rem;
}
#post_list_wrap .date {
    font-size: 1.2rem;
}
    
#post_list_wrap .category .cat_list {
	gap: 0.5rem;
}
#post_list_wrap .category .cat_list a {
	font-size: 1.0rem;
}
#post_list_wrap .category .cat_list a:hover {
}

}



/* #post_list_wrap.related 
----------------------------------------- */
#post_list_wrap.related {
}
#post_list_wrap.related .inner {
    max-width: 100rem;
    padding: 0 5rem;
	padding-top: 4.5rem;
    border-top: 1px solid #DDDDDD;
	padding-bottom: 13rem;
}
#post_list_wrap.related .ttl {
    font-size: 2.2rem;
    letter-spacing: 0.03em;
    line-height: 1;
    font-weight: 700;
}
#post_list_wrap.related .post_list {
    width: 100%;
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 6rem 3rem;
}
#post_list_wrap.related .post_list .txt_con {
    margin-top: 1rem;
    gap: 0.5rem;
}
#post_list_wrap.related .post_list .txt_con .date {
    font-size: 1.2rem;
}
#post_list_wrap.related .post_list .txt_con h2.post_ttl {
    font-size: 1.5rem;
	line-height: calc(23/15);
}
#post_list_wrap.related .category .cat_list a {
	font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
#post_list_wrap.related {
}
#post_list_wrap.related .inner {
    padding: 0;
	padding-top: 4rem;
	padding-bottom: 9rem;
}
#post_list_wrap.related .ttl {
    font-size: 1.8rem;
    text-align: center;
}
#post_list_wrap.related .post_list {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 2.5rem 0;
}
#post_list_wrap.related .post_list .txt_con {
    margin-top: 0;
    gap: 0.5rem;
}
#post_list_wrap.related .post_list .txt_con .date {
    font-size: 1.3rem;
}
#post_list_wrap.related .post_list .txt_con h2.post_ttl {
    font-size: 1.4rem;
	line-height: calc(20/14);
}
#post_list_wrap.related .category .cat_list a {
	font-size: 1.0rem;
}
}


/* #post_single_wrap
----------------------------------------- */
#post_single_wrap {
}

#post_single_wrap .inner {
    padding-top: 6rem;
    padding-bottom: 10rem;
}

#post_single_wrap .post_con_wrap {
    width: 100%;
    max-width: 90rem;
    margin: auto;
}

#post_single_wrap .info_wrap {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    column-gap: 1.5rem;
    margin-bottom: 2rem;
    position: relative;
}

#post_single_wrap .date {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
	line-height: 1;
    color: #5D5D5D;
}
#post_single_wrap .category {
}
#post_single_wrap .category .cat_list {
	flex-wrap: wrap;
	justify-content: flex-start;
    gap: 1rem;
}
#post_single_wrap .category .cat_list li {
	display: flex;
}
#post_single_wrap .category .cat_list a {
	font-size: 1.4rem;
    letter-spacing: 0.03em;
	line-height: calc(20/11);
    font-weight: 700;
    background-color: #DDDDDD;
    border-radius: 0.2rem;
    padding: 0 0.4em;
}
#post_single_wrap .category .cat_list a:hover {
}

#post_single_wrap h1.post_ttl {
	font-size: 2.7rem;
    letter-spacing: 0;
    line-height: calc(45/27);
    font-weight: 700;
}

#post_single_wrap .main_img {
    margin-top: 3rem;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

#post_single_wrap .post_con {
    max-width: 60rem;
    margin: auto;
    margin-top: 6rem;
    /*display: flex;
    flex-flow: column;
    align-items: flex-start;*/
}

#post_single_wrap .pagenavi {
    width: 100%;
    max-width: 60rem;
    margin: auto;
    margin-top: 10rem;
	height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#post_single_wrap .pagenavi li {
}
#post_single_wrap .pagenavi li a {
    display: flex;
    align-items: center;
}
#post_single_wrap .pagenavi li span {
	font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

#post_single_wrap .pagenavi li.all a span {
	text-decoration: underline;
}

#post_single_wrap .pagenavi li.prev a::before {
	content: '';
    display: block;
    width: 1.2rem;
    height: 1.7rem;
    background: url("../images/arrow.svg") no-repeat center center / contain;
    transform: scale(-1,1);
}
#post_single_wrap .pagenavi li.next a::after {
	content: '';
    display: block;
    width: 1.2rem;
    height: 1.7rem;
    background: url("../images/arrow.svg") no-repeat center center / contain;
}


#post_single_wrap .post-share {
    display:flex;
    align-items:center;
    justify-content: center;
    gap: 0 7rem;
    padding: 3rem 0;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    margin-top: 12rem;
}

#post_single_wrap .post-share-title {
   font-size: 1.6rem;
    font-weight: 500;
}

#post_single_wrap .post-share-list {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4rem;
}

#post_single_wrap .post-share-list li {
    display: flex;
}

#post_single_wrap .post-share-list li a {
    display: flex;
}

#post_single_wrap .post-share-list img {
    width: auto;
    height: 2.5rem;
}


@media screen and (max-width: 768px) {
#post_single_wrap {
}

#post_single_wrap .inner {
    width: 33.5rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
}
    
#post_single_wrap > .inner > .page_ttl {
    font-size: 1.3rem;
    transform: translateY(80%);
}
    
#post_single_wrap h1.post_ttl {
    font-size: 1.6rem;
    line-height: calc(26 / 16);
}

#post_single_wrap .info_wrap {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
	margin-bottom: 1rem;
    position: relative;
}

#post_single_wrap .date {
    font-size: 1.3rem;
}
#post_single_wrap .category .cat_list li:not(:last-child) {
	margin-right: 0.5rem;
}
#post_single_wrap .category .cat_list a {
	font-size: 1.1rem;
}   
    
#post_single_wrap .main_img {
    margin-top: 1rem;
}
    
#post_single_wrap .post_con {
    margin-top: 3rem;
}
    
#post_single_wrap .pagenavi {
    /*margin-top: 12rem;*/
    margin-top: 6rem;
}
	
#post_single_wrap .pagenavi li a {
	font-size: 1.25rem;
}
#post_single_wrap .pagenavi li a.btn span {
    font-size: 1.3rem;
}
    
    
#post_single_wrap .post-share {
    gap: 0 4rem;
    padding: 2rem 0;
    margin-top: 6rem;
}

#post_single_wrap .post-share-title {
   font-size: 1.3rem;
}

#post_single_wrap .post-share-list {
    gap:3rem;
}

#post_single_wrap .post-share-list li {
    display: flex;
}

#post_single_wrap .post-share-list img {
    width: auto;
    height: 1.8rem;
}
    
}




/* pagenation
----------------------------------------- */
#pagenation {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 8rem;
}
#pagenation #pagenation-list {
	display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

#pagenation #pagenation-list li {
    display: flex;
}

#pagenation #pagenation-list a,
#pagenation #pagenation-list span {
    width: 4.5rem;
    height: 4.5rem;
    padding-bottom: 0.15em;
    border-radius: 50%;
    border: 1px solid #000000;
    display: flex;
    align-items: center;
    justify-content: center;
	font-size: 1.9rem;
    letter-spacing: 0;
    line-height: 1;
    /*padding: 0 0.2rem;*/
	position: relative;
    z-index: 1;
    transition: all .6s;
}
#pagenation #pagenation-list a:hover,
#pagenation #pagenation-list span:hover {
    opacity: 1;
    border: 1px solid #000000;
    background-color: #000000;
    color: #FFFFFF;
}
#pagenation #pagenation-list a.current,
#pagenation #pagenation-list span.current {
    opacity: 1;
    border: 1px solid #9B9B9B;
    background-color: #9B9B9B;
    color: #FFFFFF;
}

#pagenation #pagenation-list .omit{
	font-size: 1.9rem;
	line-height: 1;
}


#pagenation .pager .prev {
	display: none;
}
#pagenation .pager .next {
	display: none;
}
#pagenation .pager .prev::before {
	content: '';
    display: block;
    width: 1.5rem;
    height: 0.8rem;
    background: url("../images/arrow.svg") no-repeat center center / contain;
    transform: scale(-1,1);
}
#pagenation .pager .next::after {
	content: '';
    display: block;
    width: 1.5rem;
    height: 0.8rem;
    background: url("../images/arrow.svg") no-repeat center center / contain;
}

#pagenation .pager .prev.none::before {
	opacity: .3;
}
#pagenation .pager .next.none::after {
	opacity: .3;
}

@media screen and (max-width: 768px) {
#pagenation {
    gap: 2.5rem;
    margin-top: 8rem;
}
#pagenation #pagenation-list {
	display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1.5rem;
}

#pagenation #pagenation-list a,
#pagenation #pagenation-list span {
	font-size: 1.3rem;
}

}