@charset "utf-8";

.pc_block,
.sp_block {display: none;}

@media screen and (min-width: 768px) {
.pc_block {display: inline;}
}

@media screen and (max-width: 767px) {
.sp_block {display: inline;}
}

.contents.font_yu-g{
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Roboto, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo UI", Meiryo, sans-serif;
}

.topics-body{
  position: relative;
  margin: auto;
  padding: 0 0;
  width: 94%;
  max-width: 111rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.topics-section{
  position: relative;
  margin: 0;
  padding: 0 1.5em 0 0;
  width: 67%;
  max-width: 74rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.topics-section .txt{ width: 100%;}

.topics-section .txt.serif {
  font-family: serif;
}

.topics-section .txt.txt-right {
  text-align: right;
}

.topics-section .txt.txt-center {
  text-align: center;
}

.topics-section .txt.txt-large {
  font-size: 2rem;
}

.topics-section .txt.txt-bule {
  color: #3535df;
}

.topics-section .txt a{
  text-decoration: underline;
  color: #007bff;
}

.topics-section .pdf a {
  position: relative;
  padding: 0 0 0 2em;
  text-decoration: underline;
  color: #007bff;
}

.topics-section .pdf a::before {
  display: block;
  content: "";
  background: url(/reformq/img/topics/icon_pdf.svg);
  position: absolute;
  width: 1.5em;
  height: 1.5em;
}

.topics-section .publication{
  position: relative;
  margin: 1em 0 0;
  padding: 1em 0;
  width: 100%;
  border-top: solid 0.1rem #ccc;
  font-size: 1.5rem;
  text-align: right;
}

.topics-section .photo-block{
  margin: 0 auto 1.5em;
  padding: 0;
  width: 90%;
  max-width: 44rem;
  display: block;
  border: solid #ccc 0.1rem;
}

.topics-section .photo-block-l {
  margin: 0 auto 1.5em;
  padding: 0;
  width: 90%;
  max-width: 55.2rem;
  display: block;
  border: solid #ccc 0.1rem;
}

.topics-section .photo-block-s{
  margin: 0 1em 1.5em 0;
  padding: 0;
  width: calc(50% - 1em);
  max-width: 22rem;
  display: block;
  border: solid #ccc 0.1rem;
}

.topics-section .photo-center{
  margin: 0 auto 1.5em;
}

.topics-section .split-2{
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin: auto;
  width: 90%;
}

/* menu */

.topics-menu{
  position: relative;
  margin: 0 0 2rem 0;
  width: 33%;
  max-width: 36rem;
}

.topics-menu .topics-menu-title{
  position: relative;
  margin: 0 0 1em;
  padding: 0 0 0.5em;
  font-size: 1.8rem;
  line-height: 1.4;
  border-bottom: solid #ccc 0.3rem;
}

.topics-menu .topics-menu-title:before{
  position: absolute;
  left: 1em;
  bottom: -1rem;
  margin: 0;
  padding: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 1rem 0 1rem;
  border-color: #cccccc transparent transparent transparent;
  content: "";  
}

.topics-menu .topics-menu-list{
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1.6;
}

.topics-menu .topics-menu-list li{
  margin: 0;
  padding: 0;
  border-bottom: dotted 0.1rem #ccc;
}

.topics-menu .topics-menu-list a{
  margin: 0;
  padding: 0.8em 0 0.8em;
  display: block;
}

.topics-menu .topics-menu-list .date{
  margin: 0;
  display: block;
  color: #666;
  font-size: 1.4rem;
  line-height: 1.4;
  white-space: nowrap;
}

.topics-menu .topics-link{
  position: relative;
  float: right;
  margin: 1em 0 0;
  padding: 0 0 0 1em;
  display: inline-block;
  font-size: 1.4rem;
}

.topics-menu .topics-link:before{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 0.6rem;
  height: 0.6rem;
  display: block;
  border-top: solid 0.2rem #ccc;
  border-right: solid 0.2rem #ccc;
  transform: rotate(45deg);
  content: "";
  pointer-events: none;
}


@media screen and (max-width: 768px) {

.topics-section{
  padding: 0;
  width: 100%;
}

/* menu sp */

.topics-menu{
  margin: 2em 0;
  width: 100%;
  max-width: 100%;
}

}/* max 768px */


/* topics-list */

.topics-list .topics-block{
  margin: 1rem auto ;
}

.topics-list .topics-item .topics-li a{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 2rem 0;
  min-height: 12rem;
}

.topics-list .topics-item .topics-li a:hover {
  opacity: 0.8;
}

.topics-list .topics-li .topics-image{
  width: 100%;
  max-width: 54rem;
}
.topics-list .topics-li .topics-image img{
  border: 1px solid #dbdbdb;
}

.topics-list .topics-li .topics-contents {
  width: 100%;
  max-width: 54rem;
  padding: 0 ;
  margin: 2rem 0 0 0;
  line-height: 1.5;
}

.topics-list .topics-li .topics-contents .topics-title{
  position: relative;
  display: inline-block;
  margin: 0 ;
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 0.7em;
}

.topics-list .topics-li .topics-contents .topics-title::before{
  content:"";
  display:inline-block;
  width:0.4rem;
  height:1.5em;
  background-color:#333;
  position:absolute;
  top:-0.2rem;
  left:0;
}

.topics-list .topics-li .topics-contents .topics-time{
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  margin: 0.5em 0 0.2em 0;
  color: #999;
  font-family: serif;
}

.topics-list .topics-li .topics-contents .topics-time::before{
  content: "";
  background: url(/reformq/img/topics/topics_icon1.svg) no-repeat left bottom;
  margin: 0 0.2rem 0.2em 0;
  width: 1.5rem;
  height: 1.5rem;
  left: 0;
}

.topics-list .topics-li .topics-contents .topics-lead {
  font-size: 1.4rem;
  margin: 0;
}

.topics-lead {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 任意の行数を指定 */
}

@media screen and (min-width: 768px) {

.topics-list .topics-item .topics-li a{
  flex-direction: row;
  align-items: flex-start;
  margin: 0 0 3rem 0;
}
.topics-list .topics-li .topics-image {
  width: 20%;
  min-width: 12rem;
  max-width: none;
}
.topics-list .topics-li .topics-contents {
  width: 100%;
  max-width: 96%;
  padding: 0 0 0 2.5rem;
  margin: 0;
}
}/* max 768px */




