:root {
  --color-shukan-primary: #1a222d;
  --color-shukan-primary-rgb: 26 34 45;
}

.clear:after, .block:after, .clearfix:after, .container:after, .list-thumb, .article-body, .box:after {
    content: " ";
    display: table;
    clear: both;
}

body{
  /*font-family: 'Noto Sans JP', Helvetica, Arial, sans-serif;*/
  font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ ゴシック',sans-serif;
  margin: 0;
  padding: 0;
  position: relative;
}

.wrapper{
  max-width: 100%;
  min-width: 1430px;/*1280*/
  margin: 0 auto;
  position: relative;
  top: 69px;
}

header.header{
  display: flex;
  justify-content: center;
  column-gap: 30px;
  min-width: 1430px;
  width: 100%;
  height: 70px;
  padding: 0px 30px;
  background-color: #FFF;
  vertical-align: middle;
  position: fixed;
  top: 0;
  z-index: 1002;
}
header.header.line{
  border-bottom: 1px solid #11253e;
}
header.header h1.logo{
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  line-height: 70px;
}
header.header h1.logo a{
  display: block;
  height: 70px;
}
header.header h1.logo a img{
  width: 174px;
}
header.header .logo-svg{
  width: 174px;
  height: 70px;
}
header.header .logo-svg a{
  display: block;
  position: relative;
  height: 70px;
}
header.header .logo-svg a img{
  display: block;
  width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
header.header nav{
  margin-top: 4px;
}
header.header nav .header-nav{
  height: 60px;
}
header.header nav .header-nav li{
  display: inline-block;
  padding: 0 3px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 60px;
  vertical-align: middle;
  margin-top: 6px;
}
header.header nav .header-nav li a{
  padding: 0 5px;
  display: block;
  transition: none;
}
header.header nav .header-nav li.active a{
  background: #11253e;
  color: #fff;
}
header.header nav .header-nav li.group a::after{
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 6px;
  display: inline-block;
  position: relative;
  top: -2px;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
header.header nav .header-nav li.group a:hover::after{
  border-bottom: solid 2px #F73B3B;
  border-right: solid 2px #F73B3B;
}
header.header nav .header-nav li.group.active a::after{
  top: 2px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
header.header nav .header-nav li.denshiban,
header.header nav .header-nav li.bungeishunju {
  margin-top: 0;
}
header.header nav .header-nav li.denshiban a span{
  display: block;
  padding: 6px 8px;
  background: var(--color-shukan-primary);
  color: #FFF;
  border: 1px solid var(--color-shukan-primary);
  line-height: 1.4em;
  text-align: center;
}
header.header nav .header-nav li.denshiban a span:hover{
  background: #FFF;
  color: var(--color-shukan-primary);
}
header.header nav .header-nav li.bungeishunju a span{
  padding: 6px 8px;
  background: #329B5A;
  color: #FFF;
  border: 1px solid  #329B5A;
  display: block;
  line-height: 1.4em;
  text-align: center;
}
header.header nav .header-nav li.bungeishunju a span:hover{
  background: #FFF;
  color: #329B5A;
}

.column-outer{
  width: 1220px;
  margin: 40px auto 0 auto;
}
body.article-normal .column-outer{
  overflow:visible !important;
}

.column-outer .main-column{
  width: 880px;
  min-height: 1px;
  float: left;
  margin-right: 40px;
}
.column-outer .main-column.one-column{
  width: 1024px;
}
.tieup-article .column-outer .main-column {
  width: 1280px;
}
.column-outer .main-column.center{
  float: none;
  margin: 0 auto;
}
.column-outer .sub-column{
  width: 300px;
  min-height: 1px;
  float: left;
}
.column-outer .sub-column .sticky-space{
  height: 500px;
}
.column-outer .sub-column-inner.sticky{
  position: sticky;
  top: 70px;
}
.column-outer .sub-column .aside-social-links__list {
  justify-content: flex-start;
}
.column-outer .sub-column .list-thumb li div.right .title{
  font-size: 15px;
  font-size: 1.5rem;
}

main .full-width{
  width: 100%;
  min-width: 1220px;
}

footer{
  clear:both;
  width: 100%;
  min-width: 1220px;
}



/* --------------------------------------------------------------------------------------------------------------------------- */


.noto100 {font-weight:100;}
.noto200 {font-weight:200;}
.noto300 {font-weight:300;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto600 {font-weight:600;}

html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}/*h1,h2,h3,h4,h5,h6{font-weight:normal}*/
ul{list-style:none}
button,input,select,textarea{margin:0}html{box-sizing:border-box}
*,*:before,*:after{box-sizing:inherit}
img,embed,object,video{height:auto;max-width:100%}
iframe{border:0}
table{border-collapse:collapse;border-spacing:0}
td,th{padding:0;text-align:left;font-weight: 500;}

/* iOSでのデフォルトスタイルをリセット */
button,input[type="submit"],input[type="button"] {
  -webkit-appearance:none;
  border-radius: 0;
}

/*Default*/
html{
  font-size: 62.5%;
}

body{
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
/* 	letter-spacing: 0.2rem; */
  background: #FFF;
  color: #333333;
  position: relative;
}

hr{
    margin: 24px 0;
    display: block;
    border: 0;
    background: #ddd;
    height: 1px;
}
a,a:hover{
  color: #333;/*#2379ca*/
  text-decoration: none;
}

.block{
  margin-bottom: 2.4rem;
  overflow:hidden;
  clear:both;
}
.block.side-margin{
  margin-left: 2.0rem;
  margin-right: 2.0rem;
}
.block.btn-block{
/*
  margin-left: 1.0rem;
  margin-right: 1.0rem;
*/
}
.main-column .block.recommend .tbl-feed-container{
  min-height: 2000px
}
.block-header{
  margin-bottom: 10px;
  padding: 0 10px;
  background: #FFF;
}
.carousel-cell.feature .block-feature>.block-header.feature{
display:none;
}
.block-header :is(p, span).title {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight:700;
}
.block-header a.link{
  display: block;
  float: right;
  position:relative;
  padding-right: 15px;
  line-height: 20px;
  line-height: 2.0rem;
}
.block-header a.link.arrow-right:after{
    content: "";
    border: 2px solid;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: auto;
    position: absolute;
    top: 30%;
    right: 0px;
    transition: all 0.2s ease-out 0.35s;
    transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    border-top: medium none;
    border-left: medium none;
}

.flex{
  display: flex !important;
  flex-wrap: wrap;
}
.flex.space-around{
   justify-content: space-around;
 }
.flex.center{
   justify-content: center;
 }
 .flex.space-between{
   justify-content: space-between;
 }
 
.bold{
   font-weight:700;
}
.clearfix{
  clear: both;
}
.rotate-left{
  transform: rotate(-15deg);
    -moz-transform: rotate(-15deg);
    -webkit-transform: rotate(-15deg);
    -o-transform: rotate(-15deg);	
} 
.rotate-right{
  transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    -o-transform: rotate(15deg);
}

.padding-30{
  padding: 4% 3.3%;
}

a.btn{
  display: block;
  padding: 16px 24px;
  margin: 24px auto;
  border: 2px solid #bbb;
  text-align: center;
  color: #767676;
  background: #FFF;
  position: relative;
  max-width:375px;
  border-radius: 4px;
}

a.btn.goto-next{
  text-align: center;
  max-width: 750px;
  padding: 16px 16px;
}
.article-body .block.series a.btn:hover .link-label,
.article-body .block.related a.btn:hover .link-label {
  text-decoration: none;
}
a.btn span.fixed-label{
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #767676;
  margin-right: 5px;
}
a.btn span.link-label{
  text-decoration: underline;
  color: #2379ca;	
}

a.btn.ctr{
  border: none;
  background: #f72b2b;
  padding: 16px 24px;
  margin: 24px auto;
  color: #fff;
  max-width: 375px;
}
a.btn.ctr.black{
  background: #3a3a3a;
}

a.btn.text{
  border:none;
  text-align:center;
  color:#2379ca;
  padding:0;
}

h1.page-title{
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 700;
  margin: 0.5em;
}


header.header nav .header-nav li a.search.active{
  background: #FFF;
  color: #333;
}
header.header nav .header-nav li.group a.search{
  position: relative;
  margin:  0 5px 0 15px;
  padding-left: 30px;
}
header.header nav .header-nav li.group a.search::before{
  content: '';
  display: inline-block;
  width: 1px;
  height: 17px;
  background: #e0e0e0;
  position: absolute;
  top: 50%;
  left: -13px;
  transform: translateY(-50%);
}
header.header nav .header-nav li.group a.search::after{
  width: 32px;
  height: 32px;
  background: url(/common/images/bunshun/v1/common/socials/icon_search_black.png) center center no-repeat;
  background-size: 55%;
  transition-property: opacity;
  border: none;
  position: absolute;
  top: 49%;
  left: -7px;
  transform: translateY(-51%);
  transition: .2s;
}
header.header nav .header-nav li.group a.search.active::after{
  background: url(/common/images/bunshun/v1/common/socials/icon_search_black_active.png) center center no-repeat;
  background-size: 40%;
}

.banner-box{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.banner-box.banner-pc_right_1st{
  min-height: 250px;
}
.banner-box a.banner{
  display: inline-block;
  max-width: 100%;
}
.banner-box a.banner img{
  display: block;
}

.mail-mag {
  background: #E32828;
  padding: 30px 10px;
  text-align: center;
}
.mail-mag span.title {
  display: inline-block;
  position: relative;
  font-size: 2.4rem;
  color: #FFF;
  text-align: center;
  margin-bottom: 5px;
  margin-left: 45px;
  width: fit-content;
}
.mail-mag span.subtitle {
  display: block;
  font-size: 1.6rem;
  color: #FFF;
  text-align: center;
  margin-bottom: 20px;
}
.mail-mag form {
  width:100%;
  max-width: 480px;
  margin:0 auto;
}
.mail-mag form ul li {
  padding-bottom: 12px;
  text-align: left;
}
.mail-mag ul li .input-title {
  font-size: 14px;
  color: #fff;
  border-left: 3px solid #fff;
  padding-left: 8px;
  margin-bottom: 4px;
}
.mail-mag input{
  margin:4px;
}
.mail-mag input[type="text"],
.mail-mag input[type="password"]{
    height: 32px;
    border: none;
    box-shadow: 0 10px 10px 0 rgba(0,0,0,.2);
    text-indent: .5rem;
    border-radius: 4px;
}
.mail-mag input[type="submit"] {
    position:relative;
    height:42px;
    border: #fff solid 2px;
    background-color: transparent;
    font-weight: 600;
    font-size: 18px;
    color:#fff;
    margin:20px 0 0 0;
    opacity:.5;
}
.mail-mag input#check_mail {
  inline-size: 24px;
  block-size: 24px;
  vertical-align: middle;
}
.mail-mag span.title:before{
    content: '';
    background-image:url(/common/images/bunshun/v1/common/socials/icon_mail_white.png);
    position: absolute;
    left: -30px;
    top: 3px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px auto;
    vertical-align: middle;
    background-size: 24px auto;
    width: 24px;
    height: 20px;
}
.mail-mag .mail-terms {
  font-size:1.4rem;
  color:#fff;
  text-decoration:underline;
}
.mail-mag .mail-note {
  font-size:1.4rem;
  color:#fff;
  margin-top:8px;
}

footer .top{
  padding-top: 43px;
}
footer .logo-footer{
  display: block;
  max-width: 240px;
  margin: 0 auto 25px auto;	
}

/* footer social links
=========================================================== */
.footer-social-links {
  display: flex;
  justify-content: center;
  column-gap: 15px;
  margin-bottom: 25px;
}

.footer-social-links > li {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #414141;
  list-style: none;
  text-align: center;
  padding: 0;
}

.footer-social-links > li > a {
  display: block;
  width: 100%;
  height: 36px;
  background-position: center center;
  background-repeat: no-repeat;

  /* FaceBook */
  &.fb {
    background-image: url(/common/images/bunshun/v1/common/icon_fb.svg);
    background-size: 13px 22px;
  }

  /* X（旧 Twitter） */
  &.tw {
    background-image: url(/common/images/bunshun/v1/common/icon_x.svg);
    background-size: 15px 15px;
  }

  /* Threads */
  &.th {
    background-image: url(/common/images/bunshun/v1/common/socials/icon_threads_white.svg);
    background-size: 19px 22px;
  }

  /* Google ニュース */
  &.gn {
    background-image: url(/common/images/bunshun/v1/common/socials/icon_googlenews.svg);
    background-size: 24px 19px;
  }

  /* msn */
  &.msn {
    background-image: url(/common/images/bunshun/v1/common/socials/icon_msn.svg);
    background-size: 24px 19px;
  }

  /* RSS */
  &.rss {
    background-image: url(/common/images/bunshun/v1/common/icon_rss.svg);
    background-size: 17px 17px;
  }
}

footer ul.internal-link{
  padding: 0;
  margin: 0;
  max-width: 1220px;
  margin: 0 auto;
  text-align: center;
}
footer ul.internal-link li{
  list-style: none;
  width: 33%;
  text-align: center;
  padding: 0 0 17px 0;
  font-size: 10px;
  font-size: 1.0rem;
}

footer ul.internal-link li a{
  color: #2379ca;
  font-size: 12px;
  font-size: 1.2rem;

}
footer .bottom{
  background-color: #737373;
  color: #fff;
  padding: 20px;
}

footer span.copyright{
  display: block;
  text-align: center;
  color: #c8c8c8;
  margin-bottom: 20px;
  font-size: 10px;
  font-size: 1.0rem;
}
footer ul.external-link{
  padding: 0;
  margin: 0;
}
footer ul.external-link li{
  list-style: none;
  width: 33%;
  text-align: center;
  padding: 0;
  font-size: 10px;
  font-size: 1.0rem;
}
footer ul.external-link li.center{
/* 	padding: 0 50px;	 */

}
footer ul.external-link li a{
  color: #fff;
}


/*ad-banner*/
.ad-banner{
margin-top:2.4rem;
}
.ad-banner.inarticle{
margin:0;
}
.ad-banner>div{
margin:0 auto;
background:#ccc;
text-align:center;
min-height : 90px;
}
.ad-banner.inarticle>div{
margin-top:2.4rem;
margin-bottom:2.4rem;
background:transparent;
}
.ad-banner img,.ad-billboard img{
  display:block;
  margin:0 auto;
}

/*loader*/
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*search*/
.search h1.title{
font-size: 20px;
font-size: 2.0rem;
font-weight: 700;
margin: 0.5em;
}

/*category*/
.category h1.cat-name{
font-size:20px;
font-size:2.0rem;
font-weight:700;
margin:0.5em;
}

/* recommend */
header._popIn_recommend_header {
  position: relative;
  z-index: 999;
}

/* Utilities
=========================================================== */
/* スクリーンリーダーには読ませて、非表示にする */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;

  &::before,
  &::after {
    display: none !important;
  }
}