@charset "utf-8";

/*Default*/
body {
  max-width: 100vw;
  overflow-x: hidden;
  word-wrap: break-word;
}

img {
  touch-callout: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
}

/*Original*/
.wrapper {
  max-width: 100vw;
  margin: 95px auto 0;
  position: relative;
  overflow: hidden;
}
.wrapper.article {
  margin: 0 auto;
}
.wrapper.active{
  padding: 50px 0 0 0;
}
.subscribe .wrapper  {
  margin: 53px auto 0;
}

header {
  width: 100%;
  height: 95px;
  padding: 0;
  position: fixed;
  top: 0;
  z-index: 8000;
  align-items: center;
  background-color: #fff;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.subscribe header{
  height: auto;
}
header.flex {
  flex-wrap: nowrap;
}
header.article {
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
}
header .header-logo {
  width: 128px;
  margin-right: 10px;
}
header .header-logo img {
  display: block;
  vertical-align: middle;
}
header .header-contents {
  max-width: 191px;
  margin-left: auto;
  flex-wrap: nowrap;
  align-items: center;
}
header .header-contents li a {
  display: block;
  font-size: 0.8rem;
  color: #000;
  font-weight: 700;
}
header .header-contents .header-search,
header .header-contents .header-login,
header .header-contents .header-sign-up,
header .header-contents .header-mypage,
header .header-contents .header-logout {
  position: relative;
  height: 36px;
}
header .header-contents .header-login,
header .header-contents .header-sign-up,
header .header-contents .header-mypage,
header .header-contents .header-logout {
  margin-right: 5px;
}
header .header-contents .header-nav-toggle {
  width: 36px;
}
header .header-contents .header-search,
header .header-contents .header-login,
header .header-contents .header-sign-up {
  width: 43.83px;
}
header .header-contents .header-mypage,
header .header-contents .header-logout {
  width: 45.83px;
}
header .header-contents .header-search a,
header .header-contents .header-login a,
header .header-contents .header-sign-up a,
header .header-contents .header-mypage a,
header .header-contents .header-logout a {
  text-align: center;
}
header .header-contents .header-search a img,
header .header-contents .header-login a img,
header .header-contents .header-sign-up a img,
header .header-contents .header-mypage a img,
header .header-contents .header-logout a img {
  height: 23px;
}
header .header-contents .header-nav-toggle a p,
header .header-contents .header-search a p,
header .header-contents .header-login a p,
header .header-contents .header-sign-up a p,
header .header-contents .header-mypage a p,
header .header-contents .header-logout a p {
  font-size: 9px;
  font-weight: 700;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}
header .header-contents .header-nav-toggle a {
  height: 36px;
  padding-top: 21px;
  color: #000;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
  position: relative;
}
header .header-contents .header-nav-toggle a::before {
  content: "";
  width: 24px;
  height: 2px;
  margin: auto 0;
  display: inline-block;
  position: absolute;
  top: -12px;
  left: calc(50% - 12px);
  bottom: 0;
  background: #000;
}
header .header-contents .header-nav-toggle a::after {
  content: "";
  width: 24px;
  height: 18px;
  display: inline-block;
  position: absolute;
  top: 3px;
  left: calc(50% - 12px);
  bottom: 0;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}
.header-top {
  padding: 0.8rem 1.0rem 0.6rem;
  align-items: center;
  min-height: 53px;
}
.header-nav{
  border-top: 1px solid #000;
  background: #fff;
  padding: 12px 8px 13px;
}
.header-nav {
   overflow: auto;
}

.header-nav-list {
  width: 100%;
  margin: 0 auto;
  display: table-cell;
}

.header-nav-item{
  font-size: 13px;
  font-weight: bold;
  display: table-cell;
  white-space: nowrap;
  padding-left: 8.5vw;
}
.header-nav-item.current .header-nav-link {
  color: #d21818;
}

.header-nav-item--read-later {
  position: relative;
  padding-left: 45px;
}
.header-nav-item--read-later::before {
  position: absolute;
  content:"";
  width: 19px;
  height: 18px;
  background: url(/common/images/bungeishunju/common/ico_bookmark2.svg) top left no-repeat;
  background-size: 90% auto;
  top: calc(50% - 9px);
  left: 29px;
  z-index: 2;
}
.header-nav-item--read-later.current::before {
  background: url(/common/images/bungeishunju/common/ico_bookmark2_red.svg) top left no-repeat;
  background-size: 90% auto;
}

.header-nav-item--webinar {
  position: relative;
  padding-left: 24px;
}
.header-nav-item--webinar::before {
  position: absolute;
  content:"";
  width: 19px;
  height: 14px;
  background: url(/common/images/bungeishunju/common/webinar.svg) top left no-repeat;
  background-size: 100% auto;
  top: calc(50% - 7px);
  left: 0;
  z-index: 2;
}
.header-nav-item--webinar.current::before {
  background: url(/common/images/bungeishunju/common/webinar-red.svg) top left no-repeat;
}

footer {
  margin-top: 20px;
  padding: 0;
}

.footerbtnWrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.footerbtnWrap--col{
  padding: 14px;
  height: 90px;
  display: grid;
  place-content: center;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
}
.footerbtnWrap--col span{
  display: flex;
  flex-wrap: wrap;
  justfy-content: center;
  align-items: center;
}
.footerbtnWrap--col.mailmagazine{
  color: #fff;
  background: #000;
}
.footerbtnWrap--col.mailmagazine a{
  width: 126px;
  height: 24px;
  margin: 8px auto 0;
  font-size: 1.2rem;
  font-weight: bold;
  color: #000;
  border-radius: 100px;
  display: grid;
  place-content: center;
  background: #fff;
  transition: all .3s;
}
@media (any-hover: hover) {
  .footerbtnWrap--col.mailmagazine a:hover{
    color: #fff;
    background: #0F92D7;
  }
}
.footerbtnWrap--col.registrations{
  color: #000;
  background: rgba(208,230,177,0.3);
}
.footerbtnWrap--col.registrations a{
  width: 126px;
  height: 24px;
  margin: 8px auto 0;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  border-radius: 100px;
  display: grid;
  place-content: center;
  background: #329B5A;
  transition: all .3s;
}
@media (any-hover: hover) {
  .footerbtnWrap--col.registrations a:hover{
    color: #fff;
    background: #000;
  }
}
.footerWrap{
  border-top: 1px solid #000;
  padding: 30px 4%;
  display: block;
  box-sizing: border-box;
}
.footerWrap__cont{
  margin: 0 auto 20px;
}
.footerWrap__cont--logo{
  width: 214px;
  height: auto;
  margin: 0 auto 30px;
  display: block;
}
.footerWrap__cont--nav{
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footerWrap__cont--navli{
  width: 14%;
  margin: 0 1%;
  transition: opacity .3s;
}
.footerWrap__cont--navli{
  border: 1px solid #000;
  border-radius: 100%;
  box-sizing: border-box;
}
.footerWrap__cont--navli a{
  width: 100%;
  padding: 100% 0 0 0;
  display: block;
  border-radius: 100%;
  box-sizing: border-box;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--facebook{
  background: url(/common/images/bungeishunju/common/ico_facebook.svg) 50% 50% no-repeat;
  background-size: 26px;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--x{
  background: url(/common/images/bungeishunju/common/ico_x.svg) 50% 50% no-repeat;
  background-size: 26px;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--instagram{
  background: url(/common/images/bungeishunju/common/ico_instagram.svg) 50% 50% no-repeat;
  background-size: 26px;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--youtube{
  background: url(/common/images/bungeishunju/common/ico_youtube.svg) 50% 50% no-repeat;
  background-size: 26px;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--applemusic{
  background: url(/common/images/bungeishunju/common/ico_applemusic.svg) 50% 50% no-repeat;
  background-size: 24px;
}
.footerWrap__cont--navli a.footerWrap__cont--navli--spotify{
  background: url(/common/images/bungeishunju/common/ico_spotify.svg) 50% 50% no-repeat;
  background-size: 26px;
}
.footerWrap__nav{
  width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.footerWrap__nav__col__index{
  margin: 0 0 26px;
  padding: 0 0 6px;
  font-size: 1.4rem;
  font-weight: 700;
  border-bottom: 2px solid #000;
  display: inline-block;
}
.footerWrap__nav__col__list{
  display: block;
}
.footerWrap__nav__col__list--ul{
  margin: 0;
  padding: 0;
  display: block;
}
.footerWrap__nav__col__list--li{
  margin: 0 0 20px;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
}
.footerWrap__nav__col__list--li a{
  width: 100%;
  color: #000;
  transition: all .3s;
  display: block;
}
@media (any-hover: hover) {
  .footerWrap__nav__col__list--li a:hover{
    color: #0F92D7;
  }
}

.footer__bottom{
  width: 100%;
  margin: 0;
  padding: 30px 8%;
  font-size: 1.2rem;
  line-height: 100%;
  display: block;
  background: #f2f2f2;
}
footer .footer-logo {
  width: 108px;
  margin: 0 auto 25px;
  display: block;
}
footer .footer-contents {
  margin-bottom: 30px;
}
footer .footer-contents li {
  margin-bottom: 0;
  display: block;
}
.footer .footer-item a {
  padding: 16px 0;
  font-size: 1.3rem;
  color: #000;
  display: block;
}
footer .footer-contents li:last-child {
  margin-bottom: 0;
}
footer .footer-contents li a {
  font-size: 14px;
  font-size: 1.4rem;
  color: #000;
}
footer .footer-copyright {
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  color: #000;
}

main{
  overflow: hidden;
}

.column-outer {
  margin: 0 1.0rem;
  position: relative;
  background-color: #fff;
}

.breadcrumbs-list {
  margin: 20px 0;
  list-style: none;
}
.breadcrumbs-list li {
  max-width: 200px;
  margin-right: 8px;
  padding-bottom: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-size: 1.2rem;
}
.breadcrumbs-list li a {
  color: #329B5A;
}
.breadcrumbs-list li::before {
  content: "/";
  padding-right: 5px;
}
.breadcrumbs-list li:first-of-type::before {
  display: none;
}

.icon-label {
  height: 24px;
  margin: 0 6px 4px 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

.icon-label.pickup {
  border-top: 1px solid #d21818;
  border-bottom: 1px solid #d21818;
  color:#d21818;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: futura-pt, Futura, sans-serif;
  margin-top: 1px;
}
.icon-label.scoop {
  padding: 4px 2px 0;
  background: #ffea00;
  color:#000;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: futura-pt, Futura, sans-serif;
  margin-top: 1px;
}
.icon-label.original {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  color:#000;
  font-size: 12px;
  font-size: 1.2rem;
  font-family: futura-pt, Futura, sans-serif;
  margin-top: 1px;
  padding-top: 2px;
}
.icon-label.new {
  border-top: 1px solid #d21818;
  border-bottom: 1px solid #d21818;
  color:#d21818;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: futura-pt, Futura, sans-serif;
  margin-top: 1px;
  padding-top: 2px;
}

.icon-label.pr {
  border-style: solid;
  border-width: 1px 0;
  color: #7e7d7d;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: futura-pt, Futura, sans-serif;
  line-height: 1.9em;
  margin-top: 1px;
}
.icon-label.upper-left-pr {
  position: absolute;
  top: 2px;
  left: 2px;
  display: inline-block;
  background: #329B5A;
  height: auto;
  color: #fff;
  z-index: 2;
  font-size: 1.0rem;
  font-family: Yu Gothic Pr6N;
  padding: 2px 4px 3px 15px;
  border-radius: 100px;
}

.article .article-webinar-title-text .icon-label.upper-left-pr, .article-header-text .icon-label.upper-left-pr{
  position: relative;
  top: 0;
  left: 0;
}

.icon-label.upper-left-pr:before{
  content:'';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  background: url(/common/images/bungeishunju/common/ico_pr.svg);
  background-size: cover;
}

.icon-label.upper-left-pr.top2 {
  top: 2px;
}
.icon-webinar {
  position: relative;
  padding-left: 20px;
  display: inline-block;
}
.icon-webinar::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 13px;
  background: url(/common/images/bungeishunju/common/webinar.svg) top left no-repeat;
  background-size: 100% auto;
  top: calc(50% - 7px);
  left: 0;
  z-index: 2;
}

/* コンテンツ共通タイトル */
.content-title {
  text-align: center;
}
/*.content-title:after {
  content: "";
  display: block;
  width: 60px;
  height: 0.5px;
  background: #000;
  margin: 0 auto;
}*/
.content-title span {
  display: block;
}
.content-title .e {
  font-size: 1.6rem;
  margin-bottom: 7px;
  display: block;
   letter-spacing: 0.06em;
   font-family: 'futura-pt', sans-serif;
}
.content-title .e--only {
  margin-bottom: 10px;
}
.content-title .j {
  font-size: 2.4rem;
  display: inline-block;
}
/* コンテンツ共通ボタン */
.content-btn {
  max-width: 696px;
  width: 98%;
  margin: 30px 0 6px 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
  border: 1px #000 solid ;
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
}

.content-btn--margin {
  margin-left: 10px;
  margin-right: 17px;
  width: auto;
}

.content-btn-link {
  display: block;
  width: 100%;
  padding: 15px 0;
  position: relative;
  z-index: 2;
}

.content-btn::after {
  position: absolute;
  content: "";
  right: -7px;
  bottom: -7px;
  height: 95%;
  width: 98%;
  background: none;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

.link-arrow {
  position:relative;
  padding-right: 16px;
}

.link-arrow:after {
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 3px);
    right: 0;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    transform: rotate(-45deg);
}

/*配信header*/
.movienotice{
  position: absolute;
  top: 95px;
  left: 0;
  width: 100%;
  height: 50px;
  padding: 12px 3%;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.6s ease-out;
  z-index: 100;
}
.top .movienotice{
  top: 0;
}
.movienotice:hover .movienotice__title{
  text-decoration: underline;
}
.movienotice__link--open{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200;
  cursor: pointer;
  display: block;
}
.movienotice__link--close{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200;
  cursor: pointer;
  display: none;
}
.movienotice__link--close.active{
  display: block;
}

.movienotice__inner{
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.movienotice__icon{
  position: relative;
  width: 58px;
  height: 22px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 6px;
  background: #EB0400;
  display: flex;
  justify-content: center;
  align-items: center;
}
.movienotice__title{
  position: relative;
  margin: 0 auto;
  width: calc(100% - 58px - 20px - 4%);
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  gap: 1rem;
  z-index: 201;
  cursor: pointer;
}
.movienotice__title__inner{
  animation: marquee 20s linear infinite;
}
@keyframes marquee {
  0%   { translate: 0; }
  100% { translate: calc(-100% - 1rem); }
}
.movienotice__button{
  position: relative;
  margin: 0;
  padding: 0;
  width: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.6s ease-out;
}
.movienotice__button svg{
  position: relative;
  margin: 0;
  padding: 0;
  width: 16px;
  height: 14px;
}
.movienotice__button.active{
  transform: rotate(-180deg);
}

/*配信エリア*/
.liveWrap{
  position: absolute;
  top: 145px;
  width: 100%;
  background: #000;
  z-index: 300;
  display: none;
}
.top .liveWrap{
  top: 50px;
}

.liveWrap__header{
  position: relative;
  width: 100%;
  height: 46px;
  margin: 0 auto;
  padding: 0 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

.liveWrap__header__icon{
  position: relative;
  width: 58px;
  height: 22px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 6px;
  background: #EB0400;
  display: flex;
  justify-content: center;
  align-items: center;
}
.liveWrap__header__title{
  position: relative;
  margin: 0 auto;
  width: calc(100% - 62px - 46px - 4%);
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  gap: 1rem;
}
.liveWrap__header__title__inner{
  animation: marquee 30s linear infinite;
}
.liveWrap__header__close{
  position: relative;
  margin: 0;
  padding: 0;
  width: 46px;
  height: 46px;
  background: rgba(255,255,255,0.34);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .4s;
  cursor: pointer;
}
.liveWrap__header__close:hover{
  background: rgba(255,255,255,0.6);
}
.liveWrap__header__close span{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 28px;
    height: 2px;
    background: var(--secondary-text);
    border-radius: 4px;
    display: inline-block;
    box-sizing: border-box;
    background: #fff;
}
.liveWrap__header__close span:nth-of-type(1) {
  top: 9px;
  transform: translateY(14px) rotate(-315deg);
}
.liveWrap__header__close span:nth-of-type(2) {
  bottom: 1px;
  transform: translateY(-20px) rotate(315deg);
}
.liveWrap__col{
  position: relative;
  padding: 0 12px 12px;
}
.liveWrap__col__movie{
  position: relative;
  width: 100%;
  padding: 55.87% 0 0 0;
}
.liveWrap__col__movie iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



.inquirybox{
  margin: 0 auto 40px;
  padding: 18px;
  line-height: 150%;
  background: rgba(208, 230, 177, 0.3);
}

.inquirybox__tt{
  margin: 0 auto 6px;
  font-size: 1.8rem;
  font-weight: bold;
}

.btn01{
  width: 100%;
  margin: 14px auto 0;
  padding: 13px 0;
  align-items: center;
  background: #fff;
  font-weight: 700;
  color: #000;
  border: 1px solid #000;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  justify-content: center;
}

