@charset "UTF-8";
/* ======== common settings ======== */
/* ----- settings ----- */
html {
  font-size: 62.5%;
  overflow: auto;
 
}

body {
  width: 100%;
  background-color: #FFFFFF;
  line-height: 1.6;
  -webkit-text-size-adjust: none;
  font-family: 'メイリオ', Meiryo,YuGothic,'Yu Gothic',sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  word-break: break-all;
  overflow: auto;
}
body.lang_en {
  font-family:  "Arial",sans-serif;
	
}
body.lang_en *{
	word-break: normal !important;
  overflow-wrap: break-word !important;
}
img {
  width: 100%;
  vertical-align: bottom;
}

a{
  color: #000000;
  text-decoration: none;
}

a:hover{
  opacity: 0.6;
  transition: 0.2s;
}

/* ======== utility style ======== */
/* ----- media display ----- */
.sp {
  display: none !important;
}

/* ================================================
 common 
 ================================================ */
main{
  margin-top: 160px;
}

.inner{
  width: min(90%,1000px);
  margin: 0 auto;
}

.single .inner{
  width: min(90%,800px);
}

/* ================================================
 parts 
 ================================================ */
.btn{
  width: min(100%,320px);
  margin: 0 auto;
}

.btn_inner{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #212121;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.2;
  padding: 2rem 0;
  text-align: center;
}

.btn_inner::after{
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%) rotateZ(45deg);
}

.sns_area ul{
  display: flex;
  justify-content: center;
  list-style: none;
  gap: 0 2.4rem;
  margin-bottom: 2rem;
}

.sns_area ul li a{
  display: block;
  width: 100%;
  height: 100%;
}

.ttl_underbar{
  position: relative;
  color: #212121;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 3.2rem;
  margin-bottom: 5rem;
}
body.lang_en .ttl_underbar{
  letter-spacing: 0.03em;
}
.ttl_underbar::after{
  content: "";
  width: 80px;
  height: 2px;
  background: #212121;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.article_bg_list{
  display: flex;
  gap: 0 3.2rem;
  list-style: none;
  margin-bottom: 6rem;
	align-items: stretch;
}

.article_bg_list > li{
  flex-grow: 1;
  background: #F5F5F5;
	padding-bottom: 3.2rem;


}

.article_bg_list > li a picture{
  display: block;
  height: min(100%,175px);
  margin-bottom: 2.4rem;
}

.article_bg_list > li a picture img{
  height: 100%;
  object-fit: cover;
}

.article_bg_list > li a h3{
  width: 84%;
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 auto 2rem;


}

.article_bg_list > li a h4{
  width: 84%;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
  margin: 0 auto 1.6rem;
}

.article_bg_list > li a .date{
  width: 84%;
  font-size: 1.2rem;
  line-height: 1;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid #212121;
  margin: 0 auto 2.4rem;
}

.article_bg_list > li .tag_list{
  width: 84%;
  margin: 0 auto;
}

.tag_list{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
}

.tag_list li a{
  width: 100%;
  height: 100%;
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  background: #fff;
  text-indent: -0.7em;
  padding: 0.6rem 0.5rem 0.5rem 0.5rem;
  padding-left: calc(0.6rem + 0.7em);
  border: 1px solid #212121;
}

a.purple{
  color: #7B59A4;
  text-decoration: underline;
  font-weight: bold;
}

.to_top {
  width: 60px;
  height: 60px;
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  opacity:0;
	transition: 0.3s ;
}
.to_top.active {
  opacity:1;
}
.to_top a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  background: #F5F5F5;
  border: 2px solid #212121;
}

.to_top a::after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 11px 14px 11px;
  border-color: transparent transparent #212121 transparent;
}

















/* ================================================
 header 
 ================================================ */

.header,.header *{
  transition: all 0.2s;
}

.header{
  width:100%;

  height: 160px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}
.header.height_auto{
  height: auto;
}
.header .hd_inner{
  width: 98%;
  margin: 0 auto;
}
.header .hd_inner_flex{
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-content: space-between;



}
.header .hd_inner .logo_area{
  width: calc(100% - 420px);
	max-width:600px;
}

.header .hd_inner .logo_area .logo_area_inner{
  display: flex;
  align-items: center;
  gap: 0 15px;
  width: 100%;
  height: 100%;
}

.header .hd_inner .logo_area .logo_area_inner > .picture{
  display: block;
  width: min(100%,103px);
}

.header .hd_inner .logo_area  .logo_area_inner > .logo_text{
  max-width: 40vw;
  padding: 3.2rem 0 0;
}

.header .hd_inner .logo_area .logo_area_inner > .logo_text picture{
  display: block;
  width: min(100%,388px);
  margin-bottom: 0.8rem;
}

.header .hd_inner .logo_area .logo_area_inner > .logo_text span{
  font-size: 1.4rem;
  line-height: 1.5;
  display: block;
}

.header .search_lang_area{
  display: flex;
  gap: 0 4rem;
  margin: 2.8rem 0 auto;
}

.header .search_area{
  display: flex;
  border-bottom: 1px solid #212121;
	margin-left:2rem;
}

.header .search_area form{
  display: flex;
  justify-content: space-between;
}

.header .search_area .search_txt{
  min-width: 150px;
	width:100%;
  font-size: 1.8rem;
  background: transparent;
  padding: 1.2rem 0;
  border: 0;
}

.header .search_area .search_txt::placeholder{
  font-size: 1.4rem;
  color: #E2E2E2;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.header .search_area .search_txt:focus {
  outline: 0px;
}

.header .search_area .search_submit{
  width: 50px;
  background: transparent url(../../img/icon_search.svg) no-repeat center/25px;
  border: 0;
}

.header .lang_area .btn_inner{
  padding: 1.6rem 1.7rem;
	white-space: nowrap;
}

.header .lang_area .btn_inner::after{
  content: none;
}

.header .lang_area .btn_inner img{
  width: 66px;
}

.header .hd_menu_area{
  width: 100%;
}

.header .hd_menu_area .menu .menu_inner{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 4.8rem;
}

.header .hd_menu_area .menu .menu__item a{
  display: block;
  width: 100%;
  height: 100%;
  color: #212121;
  line-height: 1;
  font-weight: bold;
  padding: 1.6rem;
}

/* 縮んだヘッダー */

.header.is_scroll{
  height:120px;
}
.header.height_auto.is_scroll{
  height:auto;
}
.header.is_scroll .hd_inner .logo_area{
  margin-top: 0.9rem;
}

.header.is_scroll .hd_inner .logo_area {
  gap: 0 8px;
}

.header.is_scroll .hd_inner .logo_area  .logo_area_inner > .picture{
  width: min(100%,55px);
}

.header.is_scroll .hd_inner .logo_area .logo_area_inner > .logo_text{
  padding: 1.4rem 0 0;
}

.header.is_scroll .hd_inner .logo_area .logo_area_inner > .logo_text picture{
  width: min(100%,252px);
  margin-bottom: 0.4rem;
}

.header.is_scroll .hd_inner .logo_area .logo_area_inner > .logo_text span {
  font-size: 1.2rem;
}

.header.is_scroll .search_lang_area {
  gap: 0 2rem;
  margin: 1.6rem 0 auto;
}

.header.is_scroll .search_area .search_txt {
  min-width: 95px;
}

.header.is_scroll .search_area .search_submit {
  width: 40px;
  background: transparent url(../../img/icon_search.svg) no-repeat center/20px;
}

.header.is_scroll .lang_area .btn_inner {
  padding: 1.4rem 2rem;
}

.header.is_scroll .lang_area .btn_inner img {
  width: 56px;
}

.header.is_scroll .hd_menu_area .menu .menu__item a{
  font-size: 1.2rem;
}

/* ================================================
 footer 
 ================================================ */
footer{
  background: #333333;
  padding: 6rem 0 3rem;
}

.ft_inner{
  width: min(90%,1000px);
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
}

.ft_inner .menu_area ul{
  display: flex;
  justify-content: center;
  list-style: none;
  gap: 3rem 8.1rem;
  margin-bottom: 5rem;
}

.ft_inner .menu_area ul li a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  line-height: 1;
}

.ft_inner .menu_area ul li:not(:last-child) a::after{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: -4rem;
}

.ft_inner .logo_area{
  margin-bottom: 10rem;
}

.ft_inner .logo_area  > .picture{
  width: 103px;
  display: block;
  margin: 0 auto 0.8rem;
}

.ft_inner .logo_area  > .logo_text{
  width: min(100%,443px);
  margin: 0 auto;
}

.ft_inner .sns_area ul li{
  width: 40px;
}

.ft_inner .sns_area small{
  display: block;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
}




/* ================================================
 トップページ 
 ================================================ */
/* ----------- mv ----------- */

.mv.top{
  overflow: hidden;

}

.swiper_mv {
  position: relative;
  width: 100%;
  height: max(36vw,520px);
  padding-bottom: 5.4rem;

}

.swiper_mv li{

	overflow:hidden;
	position:relative;

}
.swiper_mv li picture img{

		height:100%;
	
		object-fit:cover;

}
.swiper_mv .swiper-pagination {
  position: static;
  margin: 2.4rem 0 0;
}

.swiper_mv .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
}

.swiper_mv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper_mv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
  margin: 0 1.6rem;
}

.swiper_mv .swiper-pagination-bullet{
  background: #fff;
  border: 1px solid #999999;
}

.swiper_mv .swiper-pagination-bullet-active{
  background: #212121;
}

.swiper_mv .swiper-button-next,
.swiper_mv .swiper-button-prev{
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 100px;
  transition: 0.2s;
}

.swiper_mv .swiper-button-next{
  right: min(8vw,100px);
}

.swiper_mv .swiper-button-prev{
  left: min(8vw,100px);
}

@media screen and (max-width:1240px) and (min-width:767px){
  .swiper_mv .swiper-button-next{
    right: 1%;
  }
  
  .swiper_mv .swiper-button-prev{
    left: 1%;
  }


}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-next:after,
.swiper-button-prev:after{
  content: none;
}

.swiper_mv .swiper-button-next span,
.swiper_mv .swiper-button-prev span{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.swiper_mv .swiper-button-prev span:before,
.swiper_mv .swiper-button-prev span:after,
.swiper_mv .swiper-button-next span:before,
.swiper_mv .swiper-button-next span:after{
  content: "";
  display: block;
  width: 3px;
  height: 26px;
  background: #fff;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  position: absolute;
  top: 50%;
  left: 50%;
}

.swiper_mv .swiper-button-prev span:before{
  transform: translate(-50%,calc(-50% + 11px)) rotateZ(-27deg);
}

.swiper_mv .swiper-button-prev span:after{
  transform: translate(-50%,calc(-50% - 11px)) rotateZ(-333deg);
}

.swiper_mv .swiper-button-next span:before{
  transform: translate(-50%,calc(-50% + 11px)) rotateZ(27deg);
}
.swiper_mv .swiper-button-next span:after{
  transform: translate(-50%,calc(-50% - 11px)) rotateZ(333deg);
}

.swiper_mv .swiper-slide .shadow_wrap picture img{
  height: 100%;
  object-fit: cover;
}

.swiper_mv .swiper-slide .shadow_wrap{
  position: relative;
}

.swiper_mv .swiper-slide .shadow_wrap,
.swiper_mv .swiper-slide a,
.swiper_mv .swiper-slide .shadow_wrap picture{
  display: block;
  width: 100%;
  height: 100%;
}

.swiper_mv .swiper-slide .shadow_wrap::after,
.hero_header::after{
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to top,rgba(0,0,0,1) 0,rgba(0,0,0,0) 50%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.swiper_mv .swiper-slide.banner .shadow::after{
  content: none;
}

.mv_sentence{
  width: min(90%,1000px);
  position: absolute;
  bottom: min(5vw,56px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.swiper-slide.banner .mv_sentence{
  display: none;
}

.mv_ttl{
  font-size: 3.2rem;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(0,0,0,0.08);
  margin-bottom: 2.4rem;
}
body.lang_en .mv_ttl {
  letter-spacing: 0.03em;

}
.mv_txt{
  font-size: 2rem;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(0,0,0,0.08);
}
body.lang_en .mv_txt {
  letter-spacing: 0.03em;

}
/* ----------- latest_topics ----------- */

.latest_topics.top{
  padding: 8rem 0 10rem;
}

/* ----------- search_tag ----------- */

.search_tag.top{
  background: #F5F5F5;
  padding: 8rem 0 10rem;
}

.search_tag.top .inner{
  width: min(90%,960px);
}

.search_tag.top .tag_list {
  gap: 2rem 1.2rem;
  justify-content: center;
}

.search_tag.top .tag_list li a {
  font-size: 1.6rem;
}
.search_tag.top .tag_list.mb{
	margin-bottom:20px;
}
/* ----------- feature ----------- */

.feature.top{
  padding: 8rem 0 10rem;
}

.feature.top > .inner > ul{
  display: flex;
  gap: 0 3.2rem;
  list-style: none;
}

.feature.top > .inner > ul > li{
  flex-grow: 1;
}

.feature.top > .inner > ul > li a picture{
  display: block;
  aspect-ratio: 1.8 / 1;
  margin-bottom: 1.6rem;
}

.feature.top > .inner > ul > li a picture img{
  height: 100%;
  object-fit: cover;
}

.feature.top > .inner > ul > li a h3{
  font-size: 1.6rem;
  line-height: 1.6;
  padding-left: 1.2rem;
  border-left: 6px solid #7B59A4;
  margin: 0 auto 1.6rem;
}

.feature.top > .inner > ul > li a p{
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  margin: 0 auto;
}

.feature.top > .inner > ul > li .tag_list{
  padding-top: 2rem;
  border-top: 1px solid #212121;
  margin: 2rem auto 0;
}

/* ----------- about ----------- */

.about.top{
  background: #F2EEF6;
  padding: 8rem 0 10rem;
}

.about.top .inner{
  display: flex;
  justify-content: space-between;
}

.about.top .inner .img{
  width: 49%;
}

.about.top .inner .txt{
  width: 48%;
}

.about.top .inner .txt h3{
  line-height: 1.7;
  font-size: 2.8rem;
  color: #212121;
  margin-bottom: 3rem;
}

.about.top .inner .txt > p{
  font-size: 1.6rem;
  letter-spacing: 0;
  margin-bottom: 6rem;
}

.feature.top > .inner > ul > li .tag_list {
  padding-top: 1.6rem;
}


/* ================================================
お問い合わせページ
================================================ */

.page_contact section{
  padding: 8rem 0 12rem;
}

.page_contact .inner{
  width: min(90%,800px);
}

.page_contact .inner h3{
  font-size: 2rem;
  color: #212121;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 2.4rem;
}

.page_contact .inner h3 + p{
  line-height: 2;
  margin-bottom: 4rem;
}

.contact_btn .btn{
  margin: 0 0 1.6rem;
}

.contact_btn .btn .btn_inner::after {
  content: none;
}

.contact_btn .btn .btn_inner::before {
  content: "";
  display: block;
  width: 22px;
  height: 16px;
  background: transparent url(../../img/icon_contact.svg) no-repeat center/contain;
  position: static;
  margin-right: 0.8rem;
}

.page_contact .inner p:last-child{
  margin-top: 4rem;
}

/* ================================================
サイトポリシー
================================================ */

.page_sitepolicy section{
  padding: 8rem 0 12rem;
}

.page_sitepolicy .inner{
  width: min(90%,800px);
}

.page_sitepolicy ol.lists_large{
  list-style: none;
}

.page_sitepolicy ol.lists_large > li:not(:last-child){
  margin-bottom: 8rem;
}

.page_sitepolicy ol.lists_large > li h3{
  font-size: 2rem;
  font-weight: bold;
  color: #212121;
  margin-bottom: 3.2rem;
}

.page_sitepolicy ol.list_medium > li{
  list-style: inside;
  list-style-type: none;
  counter-increment: cnt;
  text-indent: -1.9em;
  padding-left: calc(0.8rem + 1.9em);
}

.page_sitepolicy ol.list_medium > li:not(:last-child){
  margin-bottom: 4rem;
}

.page_sitepolicy ol.list_medium > li::before {
  content: "(" counter(cnt) ") ";
}

/* ================================================
記事ページ
================================================ */


.breadcrumb{
  background: #F5F5F5;
  padding: 2rem 0;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.breadcrumb::-webkit-scrollbar{
  display: none;
}

.breadcrumb ol.inner{
  width: min(90%,1000px);
  list-style: none;
  display: flex;
  gap: 0 2.8rem;
}

.breadcrumb ol.inner li,
.breadcrumb ol.inner li a{
  color: #212121;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1;
  position: relative;
  white-space: nowrap;
}

.breadcrumb ol.inner li a{
  color: #7B59A4;
}

.breadcrumb ol.inner li:last-child{
  padding-right: 2rem;
}

.breadcrumb ol.inner li:not(:last-child)::after{
  content: "＞";
  font-size: 1.2rem;
  color: #212121;
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translateY(-50%);
}

.hero_header{
  position: relative;
  display: block;

  width: 100%;
  margin-bottom: 1.5rem;
	max-height:640px;
	min-height:466px;
	overflow:hidden;
  aspect-ratio: 3 / 1;
}
.hero_header picture{
	 height: 100%;
}
.hero_header picture img{
	object-fit:cover;
	height:100%;

 		position:absolute;
		top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
		
	
	
}
.hero_header + .___inner{
  width: min(90%,1000px);
  margin-bottom: 10rem;
}

.introduction.single{
  margin-bottom: 6rem;
}

.___introduction.single .inner{
  background: #F5F5F5;
  display: flex;
  justify-content: space-between;
  padding: 3.2rem;
}
.introduction.single .inner{
  background: #F5F5F5;

  padding: 3.2rem;
}
.introduction.single .inner .img{
  width: 28%;
}

.introduction.single .inner .img .photographer{
  font-size: 1.2rem;
  margin-top: 1rem;
}

.introduction.single .inner .txt{
  width: 68%;
}

.introduction.single .inner .txt h2{
  font-size: 2.4rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #212121;
  margin-bottom: 2.4rem;
}

.introduction.single .inner .txt p{
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 2.4rem;
}

.sns_area.interviewee ul{
  justify-content: flex-start;
  gap: 0 2rem;
  margin-bottom: 0;
}

.summary.single{
  margin-bottom: 6rem;
}

.summary.single .inner{
  padding: 3.6rem 0 3rem;
  border-top: 2px solid #212121;
  border-bottom: 2px solid #212121;
}

.summary.single .inner .main_txt{
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 3.2rem;
}

.summary.single .inner .interviewer_name{
  font-size: 1.4rem;
  font-weight: bold;
  text-align: right;
}

.agenda.single{
  margin-bottom: 10rem;
}

.agenda.single .inner{
  padding: 4rem 3rem;
  border: 4px solid #E2E2E2;
}

.agenda_lists{
  list-style: none;
}

.agenda_lists li:not(:last-child){
  margin-bottom: 2rem;
}

.agenda_lists li a{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  padding-top: 0.2rem;
  padding-left: 4.2rem;
}

.agenda_lists li a::before{
  content: "";
  width: 26px;
  height: 26px;
  background: #212121;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.agenda_lists li a::after{
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 8px;
  left: 9px;
  transform: rotateZ(45deg);
  z-index: 3;
}

.ttl_purple_bg{
  background-image: repeating-linear-gradient(268deg, #212121, #212121 6px, transparent 6px, transparent 9px, #212121 9px);
  background-size: 100% 3px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  position: relative;
  font-size: 3.6rem;
  padding: 4rem 0 3.5rem;
  margin-top: 4rem;
  margin-bottom: 8rem;
}

.ttl_purple_bg::before{
  content: "";
  width: 16rem;
  height: 16rem;
  background: #F1EEF6;
  position: absolute;
  top: 0;
  left: -8rem;
  z-index: -1;
}

.interview_area{
  margin-bottom: 6rem;
}

.interview_area dt{
  font-weight: bold;
  line-height: 2;
  margin-bottom: 4rem;
}

.interview_area dd{
  line-height: 2;
  padding-left: 4rem;
  border-left: 6px solid #EFEFEF;
}

.interview_area dd:not(:last-child){
  margin-bottom: 6rem;
}

.img_box{
  display: flex;
  gap: 4rem;
  list-style:none;
  margin-bottom: 6rem;
}

.img_box li{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem 0;
}

.img_box li picture{
  display: block;
  margin-bottom: 1rem;
}

.img_box li p{
  font-size: 1.4rem;
  line-height: 1.5;
}

.annotation{
  margin-bottom: 4rem;
}

.annotation ol{
  padding: 3rem 0;
  border-top: 1px solid #212121;
  border-bottom: 1px solid #212121;
}

.annotation ol li{
  list-style: inside;
  list-style-type: none;
  counter-increment: cnt;
}

.annotation ol li::before {
  content: "＊" counter(cnt);
  font-size: 1.4rem;
  font-weight: bold;
  color: #7B59A4;
}

.annotation ol li .ttl_annotation{
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  padding-left: 1.6rem;
  margin-bottom: 1.6rem;
}

.annotation ol li .txt_annotation{
  font-size: 1.4rem;
  line-height: 2;
}

.annotation ol li:not(:last-child) .txt_annotation{
  margin-bottom: 2.4rem;
}

.main_contents .tag_list{
  margin-bottom: 10rem;
}

.relevance_topics .article_bg_list > li a picture{
  display: block;
  height: min(100%,140px);
  margin-bottom: 2.4rem;
}

.main_contents .tag_title {
  font-weight: bold;
  margin: 8rem 0 1.5rem;
}

.main_contents .tag_list {
  margin-bottom: 8rem;
}
.tag_area{
	background: #F5F5F5;
  padding: 5rem 0;
	margin-bottom:40px;
}
.tag_area .tag_title{
	font-weight:bold;
	margin-bottom:10px;
}

.tag_area li a{
	border: none;


}
/* ================================================
記事ページ2　対談形式
================================================ */
.performance_information ol li::before {
  content: none;
}
.performance_information ol li .ttl_annotation {
  padding-left: 0;
}

/* ================================================
記事ページ3　戯曲
================================================ */
.explanatory_text {
  margin-bottom: 4rem;
}



/* ================================================
人物一覧
================================================ */

main.person .ttl_underbar,
main.person_detail .ttl_underbar,
main.page_about .ttl_underbar,
main.page_articles .ttl_underbar{
  padding-top: 8rem;
}

.acronym_area ol{
  width: min(78%,800px);
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin-bottom: 5rem;
}

.acronym_area ol li{
  width: 4.2rem;
}

.acronym_area ol li.all{
  width: 10rem;
}

.acronym_area ol li a{
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #212121;
  line-height: 1;
  font-weight: bold;
  padding: 0.8rem 0;
  border: 1px solid #212121;
}

.acronym_area ol li.current a{
  background: #212121;
  color: #fff;
}

.acronym_area ol li.invisible a{
  pointer-events: none;
  background: #E2E2E2;
  color: #999999;
  border: 1px solid #999999;
}

.acronym_area ol li.all a{
  background: #7B59A4;
  color: #fff;
  border: 1px solid #7B59A4;
}

.person_list_area ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.2rem 2rem;
  list-style: none;
}

.person_list_area ul li{
  width: calc(calc(100% - 80px) / 5);
  background: #F5F5F5;
}

.person_list_area ul li a{
  display: block;
  width: 100%;
  height: 100%;
  padding: 2.4rem 2.6rem;
}

.person_list_area ul li a .name{
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 1.6rem;
}

.pager{
  margin: 8rem 0 12rem;
}

.pager ul{
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0 0.4rem;
}

.pager ul li{
  width: 65px;
  height: 65px;
}

.pager ul li.current{
  background: #F5F5F5;
}

.pager ul li a,
.pager ul li p{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: bold;
}


/* ================================================
人物詳細
================================================ */

.article_bg_list.grid {
  flex-wrap: wrap;
  gap: 5.6rem 3rem;
  margin-bottom: 12rem;
}

.article_bg_list.grid > li{
  flex-grow: inherit;
  width: calc(calc(100% - 6rem) / 3);

}

/* ================================================
PANJとは
================================================ */

main.page_about .inner{
  width: min(90%,800px);
}

.wrap_bd_b{
  padding-bottom: 4rem;
  border-bottom: 1px solid #E2E2E2;
  margin-bottom: 4rem;
}

.wrap_bd_b .sentence{
  margin-bottom: 4rem;
}

.wrap_bd_b .list{
  list-style: none;
}

.wrap_about {
  display: flex;
  gap: 3rem 0;
  flex-direction: column;
  margin-bottom: 12rem;
}

.wrap_about h3{
  font-size: 2rem;
}

/* ================================================
最新記事一覧
================================================ */

main.page_articles .article_bg_list {
  margin-bottom: 8rem;
}




























































/* ================================================

================================================ */
/* -----------  ----------- */
