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


#page_ttl_wrap.ptn2 h1.page_ttl span {
    letter-spacing: 0.25em;
    margin-right: -0.25em;
}

@media screen and (max-width: 768px) {
#page_ttl_wrap.ptn2 h1.page_ttl span {
    letter-spacing: 0;
    margin-right: 0;
}
}

/* #post_list_wrap
----------------------------------------- */
#post_list_wrap {
}
#post_list_wrap .post_catlist_wrap {
    background-color: #ebf0f5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12rem 5rem;
}
#post_list_wrap .post_catlist_wrap .post_catlist {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

#post_list_wrap .inner {
    max-width: 120rem;
    padding-top: 12rem;
    padding-bottom: 18rem;
}

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

#post_list_wrap .post_list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 6rem 4rem;
}
#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: 3rem;
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 1.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.8rem;
	line-height: calc(32/18);
    font-weight: 700;
    color: #008cf0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
#post_list_wrap .post_list .txt_con h3.post_ttl {
    font-size: 1.8rem;
	line-height: calc(32/18);
    font-weight: 700;
    color: #008cf0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
#post_list_wrap .post_list .txt_con .lead {
    font-size: 1.8rem;
	line-height: calc(32/18);
    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 {
    display: flex;
	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.3rem;
    letter-spacing: 0.05em;
	line-height: calc(20/13);
    font-weight: 700;
    color: #FFFFFF;
    background-color: #008cf0;
    border-radius: 10rem;
    padding: 0.5rem 2rem;
}
#post_list_wrap .category .cat_list a:hover {
}


@media screen and (max-width: 768px) {
#post_list_wrap .post_catlist_wrap {
    justify-content: flex-start;
    padding: 6rem 3.5rem;
}
#post_list_wrap .post_catlist_wrap .post_catlist {
    flex-flow: column;
    align-items: flex-start;
    gap: 2rem;
}

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

#post_list_wrap .post_list {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 4rem;
}
#post_list_wrap .post_list > li {
}

#post_list_wrap .post_list .txt_con {
    margin-top: 2rem;
    gap: 1rem;
}
#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.6rem;
	line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
#post_list_wrap .post_list .txt_con h3.post_ttl {
    font-size: 1.6rem;
	line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
#post_list_wrap .post_list .txt_con .lead {
    font-size: 1.6rem;
	line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

#post_list_wrap .category {
}
#post_list_wrap .category .cat_list {
    display: flex;
	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.3rem;
    letter-spacing: 0.05em;
	line-height: calc(20/13);
    font-weight: 700;
    color: #FFFFFF;
    background-color: #008cf0;
    border-radius: 10rem;
    padding: 0.5rem 2rem;
}
#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 {
    background-color: #ebf0f5;
}

#post_single_wrap .inner {
    max-width: 120rem;
    padding-top: 18rem;
    padding-bottom: 18rem;
}

#post_single_wrap .post_con_wrap {
    width: 100%;
    background-color: #FFFFFF;
    padding-top: 11rem;
    padding-bottom: 12rem;
}
#post_single_wrap .post_con_wrap article {
    width: 100%;
    max-width: 96rem;
    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.6rem;
    letter-spacing: 0;
    line-height: calc(32/26);
    font-weight: 700;
    color: #008cf0;
    text-align: center;
    padding: 2rem 2rem;
    border-top: 2px solid #008cf0;
    border-bottom: 2px solid #008cf0;
}

#post_single_wrap .lead {
    margin-top: 5rem;
    font-size: 2.0rem;
    line-height: calc(35/20);
    font-weight: 700;
    text-align: center;
}

#post_single_wrap .post_con {
    margin-top: 3.5rem;
    /*display: flex;
    flex-flow: column;
    align-items: flex-start;*/
}

#post_single_wrap .info_table_wrap {
    margin-top: 5rem;
}

#post_single_wrap .btn_wrap {
    margin-top: 10rem;
    display: flex;
    justify-content: center;
}


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

#post_single_wrap .inner {
    width: 33rem;
    padding-top: 6rem;
    padding-bottom: 7rem;
}

#post_single_wrap .post_con_wrap {
    padding-top: 0;
    padding-bottom: 0;
}
#post_single_wrap .post_con_wrap article {
}

#post_single_wrap .info_wrap {
    flex-wrap: wrap;
    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: 1.6rem;
    line-height: calc(20/16);
    padding: 2rem 2rem;
    border-top: 2px solid #008cf0;
    border-bottom: 2px solid #008cf0;
}

#post_single_wrap .lead {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: calc(28/16);
    text-align: left;
}

#post_single_wrap .post_con {
    margin-top: 2rem;
}

#post_single_wrap .info_table_wrap {
    margin-top: 5rem;
}

#post_single_wrap .btn_wrap {
    margin-top: 6rem;
}
    
}


/* pagenation
----------------------------------------- */
#pagenation {
    margin-top: 8rem;
    padding-top: 9rem;
    border-top: 1px solid #969696;
}

@media screen and (max-width: 768px) {
#pagenation {
    gap: 2.5rem;
    margin-top: 8rem;
}

}
