/* TODO: scss化 */

body {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

#container-v2 {
  padding: 0;
  margin: 0;
}

.np-eyecatch {
  position: relative;
  margin: 0 !important;
}

.original-v2 .np-eyecatch {
  overflow: hidden;
  background: no-repeat;
  background-size: cover;
}

.np-eyecatch:before {
  display: block;
  padding-top: 40%;
  content: '';
}

.original-v2 .np-eyecatch:before {
  padding-top: 100%;
}

.original-v2 .np-eyecatch:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 20vw 0;
  border-color: #FFFFFF transparent;
  left: 0;
  bottom: 0;
  position: absolute;
}

.np-eyecatch .image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-position: center;
  background-size: cover;
}

.np-eyecatch img {
  position: absolute;
  top: 0;
}

.original-v2 .np-eyecatch img {
  object-fit: cover;
  min-height: 100%;
  min-width: 100%;
}

.np-title {
  font-size: 160%;
  margin: 24px 20px 0;
  line-height: 1.5em;
}

.original-v2 .np-title {
  font-weight: bold;
  margin: 0px 20px 0px;
}

.np-published {
  text-align: left;
  color: #999;
  margin: 0 20px;
  font-weight: 400;
  font-size: 12px;
}

.original-v2 .np-published {
  color: #9d9d9d;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  z-index: 1;
  margin-top: -20px !important; /* for .clearfix.series-body div の margin を打ち消す */
}

.np-subtitle {
  margin: 15px 10px 0 20px;
  font-size: 14px;
  line-height: 20px;
  color: #999;
  font-weight: 400;
}

.np-lead {
  background: #F0F0F0;
  padding: 24px;
  color: #666;
  margin: 16px 20px;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.9;
}

.np-quote {
  position: relative;
  padding: 35px 25px 18px;
  margin: 10px 20px 20px;
  line-height: 1.9;
  background-color: #f0f0f0;
  font-size: 16px;
}

.np-quote::before {
  display: inline-block;
  position: absolute;
  top: 12px;
  left: 12px;
  width: 20px;
  height: 20px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23222222" d="M6.34397 9.80892C7.79195 10.2675 8.51595 11.3121 8.51595 12.9427C8.51595 13.8089 8.21637 14.5478 7.6172 15.1592C7.01803 15.7197 6.24411 16 5.29542 16C4.29681 16 3.49792 15.6688 2.89875 15.0064C2.29958 14.3439 2 13.4522 2 12.3312C2 9.73248 3.64771 6.95541 6.94313 4L8.81553 5.29936C7.6172 7.18471 6.79334 8.6879 6.34397 9.80892ZM14.957 9.80892C16.405 10.2675 17.129 11.3121 17.129 12.9427C17.129 13.8089 16.8294 14.5478 16.2302 15.1592C15.6311 15.7197 14.8571 16 13.9085 16C12.9098 16 12.111 15.6688 11.5118 15.0064C10.9126 14.3439 10.613 13.4522 10.613 12.3312C10.613 9.73248 12.2607 6.95541 15.5562 4L17.4286 5.29936C16.2302 7.18471 15.4064 8.6879 14.957 9.80892Z" /></svg>') no-repeat;
  background-size: contain;
  content: '';
  font-size: initial;
  line-height: initial;
}

.np-quote::after {
  display: none;
}

.np-quote-small {
  padding: 5px 25px;
  margin: 10px 20px 20px;
  border-left: 3px solid #222439;
  line-height: 1.9;
}

.np-quote-small::before {
  display: none;
}

.np-quote-small::after {
  display: none;
}

.np-heading {
  line-height: 1.5em;
  font-weight: 700;
  margin: 40px 20px 24px !important;
  font-size: 20px;
}

.np-text {
  margin: 16px !important;
  letter-spacing: 0;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

.series-body a {
  word-break: break-all;
  color: #0062FF;
  text-decoration: underline;
  font-weight: bold;
}

.series-body a:hover,
.series-body a:focus {
  text-decoration: none;
}

.np-image {
  margin: 20px;
}

.np-image img {
  width: 100%;
}

.np-image .img-content-wrapper {
  margin: 0 !important;
}

.np-image.natural {
  text-align: center;
}

.np-image.natural .img-content-wrapper {
  display: inline-block;
}

.np-image.natural img {
  width: auto;
  max-width: 100%;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.np-image.natural .np-caption {
  text-align: left;
}

.np-image.fill {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.np-image.fill .np-caption {
  margin-right: 20px !important;
  margin-left: 20px !important;
}

.np-image.fill-all {
  margin: 0 !important;
}

.np-image.fill-all img {
  display: block;
}

.np-image.fill-all .np-caption {
  display: none;
}

.np-image .np-caption {
  margin-right: 0 !important;
  margin-left: 0 !important;
  color: #999;
  font-size: 14px;
  line-height: 1.6;
}

.np-pdf {
  margin: 20px 0 !important;
}

.np-pdf .np-iframe-wrapper {
  margin: 0 !important;
  width: 100%;
  height: 600px;
  overflow: hidden;
}

.np-pdf .np-iframe-wrapper iframe {
  width: 100%;
  height: 100%;
}

.np-article-block {
  margin: 20px;
}

.np-article-block .np-article-block-content {
  display: block;
  padding: 10px;
  background-color: #eee;
}

.np-article-block .image {
  margin-top: 8px;
}

.np-article-block .image img {
  max-width: 100%;
}

.np-article-block-v2 a {
  text-decoration: none;
}

.np-article-block-v2 .np-article-block-content {
  display: block;
  padding: 0;
  background: #FFFFFF;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.12);
  border-radius: 2px;
  cursor: pointer;
}

.np-article-block-v2 .np-article-block-content:hover {
  background: #FAFAFA;
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.12);
}

.np-article-block-v2 .article-info {
  padding: 16px;
}

.np-article-block-v2 .title {
  font-weight: bold;
  font-size: 14px;
  line-height: 24px;
  color: #222222;
}

.np-article-block-v2 .publish-info {
  font-weight: normal;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: -0.3px;
  color: #838383;
  display: flex;
}

.np-article-block-v2 .publisher {
  margin: 0 8px 0 0 !important; /* for .clearfix.series-body div の margin を打ち消す */
}

.np-publisher {
  margin: 10px 20px;
  color: #999;
}

.indent {
  text-indent: 0.5em;
}

.np-text.has-line-break {
  text-indent: 0em;
  padding-left: 0.5em;
}

.copyright-notation {
  border-top: 2px solid #999999;
  padding: 10px 0;
  letter-spacing: 0;
  line-height: 1.7;
  font-size: 14px;
  font-weight: bold;
}

/* alignment */
.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.leaflet {
  background: #f0f0f0;
}

.leaflet h2 {
  font-size: 16px;
}

.leaflet .description {
  color: #3F5BA0;
  float: left;
}

.leaflet .material-icons.down {
  color: #3F5BA0;
  font-size: 16px;
  margin-top: 2px;
}

.leaflet .leaflet-items {
  margin-top: 20px;
}

.np-leaflet {
  padding: 32px;
  font-size: 16px;
  box-shadow: 0 1px 3px 1px #ccc;
  cursor: pointer;
  background-color: #fff;
  margin-bottom: 20px;
}

.leaflet-item-head {
  height: 40px;
  overflow: hidden;
}

.leaflet-item-icon {
  width: 40px;
  height: 40px;
  float: left;
  border: 1px solid #ccc;
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
}

.np-leaflet .leaflet-item-title {
  font-size: 20px;
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
  height: 40px;
}

.np-leaflet .description-switch {
  margin-top: 28px;
  padding: 8px;
  float: right;
  line-height: 1;
  border: 1px solid #ccc;
}

.leaflet .np-leaflet .description-switch i {
  color: #999;
  font-size: 18px;
}

.description-switch .down {
  display: initial;
}

.description-switch .up {
  display: none;
}

.np-leaflet .description-switch.expand .down {
  display: none;
}

.np-leaflet .description-switch.expand .up {
  display: initial;
}

.np-leaflet .leaflet-item-description {
  max-height: 40px;
  margin: 24px 48px 24px 0;
  overflow: hidden;
}

.leaflet-item-description.expand {
  max-height: initial;
  overflow: auto;
}

.leaflet-item-requirement {
  padding: 20px 0;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
}

.leaflet-item-requirement table td, .leaflet-item-requirement table th {
  padding: 4px 0;
  vertical-align: top;
}

.leaflet-item-requirement table th {
  width: 60px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

.leaflet-application-btn {
  margin-top: 32px;
  padding: 10px 0;
  border: 1px solid #54ab23;
  border-radius: 2px;
  color: #54ab23;
  font-size: 14px;
  text-align: center;
}

.np-embedded {
  margin: 10px 20px;
}

.embed-container {
  margin: 0 !important;
}

.np-embedded.fill {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.np-embedded.youtube, .np-embedded.vimeo, .np-embedded.brightcove {
  position: relative;
  padding-top: 56.25%;
}

.np-embedded.youtube iframe, .np-embedded.vimeo iframe, .np-embedded.brightcove iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.np-embedded.tweet div iframe {
  margin-right: auto;
  margin-left: auto;
}

.np-embedded.tweet twitterwidget {
  width: 600px !important;
}

.np-embedded.tweet .twitter-tweet {
  margin-right: auto;
  margin-left: auto;
}

.np-embedded.instagram iframe {
  max-width: 100% !important;
  min-width: 220px !important;
}

.np-embedded.external-link .np-embed-container {
  border: 1px solid #dcdcdc;
  border-radius: 12px;
  padding: 10px;
  color: black;
}

.np-embedded.external-link a {
  text-decoration: none;
  font-weight: normal;
}

.np-embedded.external-link .np-embed-content {
  color: black;
}

.np-embedded.external-link .np-embed-image img {
  margin-bottom: 10px;
  width: 100%;
}

.np-embedded.external-link .np-embed-title-text {
  font-size: 14px;
  margin-top: 0;
}

.np-embedded.external-link .np-embed-description {
  font-size: 14px;
  line-height: 1.8em;
}

.np-embedded.external-link .np-embed-footer {
  height: 20px;
  font-size: 14px;
}

.np-embedded.external-link .np-embed-footer img {
  height: 100%;
  padding-right: 5px;
  vertical-align: bottom;
}

.np-embedded.external-link .np-embed-content-v2 {
  display: block;
  padding: 0;
  background: #FFFFFF;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.12);
  border-radius: 2px;
  cursor: pointer;
}

.np-embedded.external-link .np-embed-content-v2:hover {
  background: #FAFAFA;
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.12);
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-image img {
  height: 200px;
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-image img {
  width: 100%;
  margin: 0;
  object-fit: cover;
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-info {
  padding: 16px;
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-info .np-embed-title {
  font-weight: bold;
  font-size: 14px;
  line-height: 24px;
  color: #222222;
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-published-info {
  font-weight: normal;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: -0.3px;
  color: #838383;
  display: flex;
}

.np-embedded.external-link .np-embed-content-v2 .np-embed-published-info .np-embed-publisher {
  margin: 0 8px 0 0 !important; /* for .clearfix.series-body div の margin を打ち消す */
}

.np-campaign-button {
  background-color: #15274d;
  margin: 0 !important;
}

.np-campaign-button .button {
  margin: 0 auto !important;
  max-width: 335px;
  height: 52px;
  margin: 0 auto;
  border: 0;
  border-radius: 5px;
  background-color: #4277fb;
  color: #fff;
  font-size: 14px;
  line-height: 52px;
  text-align: center;
}

.np-campaign-button .button.disabled {
  background-color: #565a64;
}

.np-campaign-button .button:hover {
  opacity: .88;
  transition: all .1s linear;
}

.np-toc {
  position: relative;
  margin: 5px 20px;
}

.np-toc div {
  margin: 0 !important;
}

.np-toc .toc-cover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.np-toc .toc-cover .cover-image {
  width: 100%;
  height: 100%;
  background-position: center top;
  background-size: cover;
}

.np-toc .toc-cover::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .8);
  content: '';
}

.np-toc .toc-content {
  position: relative;
  padding: 32px;
  color: #fff;
  z-index: 1;
}

.toc-content .toc-title,
.toc-content .toc-description {
  text-align: center;
}

.toc-content .toc-title {
  margin: 8px 0;
  font-size: 18px;
}

.toc-content .toc-description {
  font-size: 12px;
}

.np-toc .toc-content ol {
  margin: 32px 0 0;
  padding: 0;
  color: #fff;
  list-style: none;
  counter-reset: toc-index;
}

.np-toc .toc-content ol.has-trailer {
  counter-reset: toc-index -1;
}

.np-toc .toc-content li {
  margin-bottom: 16px;
}

.np-toc .toc-content li::before {
  margin-top: -1px;
  margin-right: 16px;
  padding: 4px 8px;
  float: left;
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 12px;
  line-height: 1;
  content: counters(toc-index, ".", decimal-leading-zero);
  counter-increment: toc-index;
}

.np-toc .toc-content a,
.np-toc .toc-content span {
  display: table-cell;
}

.np-toc .toc-content a {
  color: #fff;
  font-weight: normal;
  text-decoration: none;
}

.np-toc .toc-content a:hover,
.np-toc .toc-content a:focus {
  text-decoration: underline;
}

.np-toc .toc-content span {
  color: #999;
}

/* マーケフォームの埋め込み対象の div に対して適用するスタイル */
.leaflet-parts {
  padding: 15px;
}

.leaflet-parts.full {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #f0f0f0;
}

.leaflet-parts.full iframe {
  height: 100% !important;
  background: #f0f0f0;
}

.leaflet-parts .close {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

.original-v2 .article-header {
  display: inline-block;
  position: relative;
  width: 100%;
  margin: auto !important;
}

.original-v2 .article-header a {
  text-decoration: none;
}

.original-v2 .article-header .author {
  padding: 5px;
  margin-left: 20px;
}

.original-v2 .article-header .author .face {
  width: 46px;
  height: 46px;
  float: left;
  margin-right: 8px;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  background-size: contain;
  border-radius: 25px;
}

.original-v2 .article-header .face::after {
  position: relative;
  top: 5px;
  left: 54px;
  font-style: italic;
  color: #666;
  content: 'By';
}

.original-v2 .article-header .author .face.unknown {
  background-color: #999;
}

.original-v2 .article-header .author .profile {
  margin-top: 5px;
  margin-right: unset;
  margin-bottom: unset;
  margin-left: 54px;
}

.original-v2 .article-header .author .name {
  font-size: 15px;
  color: #333;
  line-height: 1.4;
  margin-left: 20px;
  margin-top: unset;
  margin-bottom: unset;
}

.original-v2 .article-header .author .title {
  font-size: 11px;
  color: #999;
  line-height: 1.1;
  margin-top: 1px;
  margin-right: unset;
  margin-bottom: unset;
  margin-left: unset;
}

.original-v2 .article-header .list {
  letter-spacing: .10em;
  text-align: right;
  font-size: 13px;
  color: #4277fa;
  margin-right: 20px;
}

.book-article .original-v2 .article-header .list {
  visibility: hidden;
  height: 0;
}

.original-v2 .article-header .list a {
  color: #4277fa;
  text-decoration: none;
}

.original-v2 .article-header .list a:visited {
  color: #4277fa;
  text-decoration: none;
}

.original-v2 .article-header .list a::before {
  content: '>';
  display: block;
  float: right;
}

.original-v2 .article-header .authors {
  display: flex;
  align-items: center;
  margin: 0 22px;
}

.original-v2 .article-header .authors.direction {
  flex-direction: column;
}

.original-v2 .article-header .authors .profile-images {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.original-v2 .article-header .authors .profile-images.full {
  width: 100%;
}

.original-v2 .article-header .authors .profile-images img {
  width: 40px;
  max-width: 40px;
  height: 40px;
  margin-right: -10px;
  border-radius: 40px;
  border: solid 2px #fff;
  position: relative;
}

.original-v2 .article-header .authors .profiles {
  margin-left: 22px !important; /* for .clearfix.series-body div の margin を打ち消す */
}

.original-v2 .article-header .authors .profiles.double {
  display: flex;
  flex-direction: column;
  margin-top: 14px;

  @media screen and (min-width: 640px) {
    margin-top: 6px;
    flex-direction: row;
  }
}

.original-v2 .article-header .authors .profiles.full {
  width: 100%;
  margin-left: 0 !important;
  margin-top: 12px;
  margin-bottom: 4px;
}

.original-v2 .article-header .authors .profiles .name a {
  font-family: HiraKakuPro, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 16px;
  font-weight: bold;
  float: left;
  line-height: 16px;
  color: #222222;
  text-decoration: none;
  word-break: break-all;
}

.original-v2 .article-header .authors .profiles.double .name a {
  line-height: 24px;

  @media screen and (min-width: 640px) {
    line-height: 16px;
  }
}

.original-v2 .article-header .authors .profiles .name + .name ::before {
  content: "/";
  color: #CCCCCC;
  margin-left: 5px;
  margin-right: 5px;
}

.original-v2 .article-header .authors .profiles .title {
  font-family: HiraKakuPro, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 12px;
  line-height: 14px;
  color: #808080;
  margin: 8px 0 0 0;
  padding: 0;
}

.original-v2 .article-header .authors .profiles .title a{
  color: #808080;
  font-weight: normal;
}

.original-v2 .article-header .authors .profiles .title::before {
  content: "\A";
  white-space: pre;
}

.title-separator {
  border-top: 3px solid black;
  margin: 0px 20px 20px;
}

.book-article .title-separator {
  visibility: hidden;
}

.np-heading-index {
  margin: 15px 20px 10px;
  border: 1px solid #cccccc;
  box-sizing: border-box;
  border-radius: 2px;
}

.np-heading-index .index-header {
  margin: 24px 14px 16px 14px !important; /* for .clearfix.series-body div の margin を打ち消す */
  display: flex;
}

.np-heading-index .index-header .title-triangle {
  width: 8px;
  height: 8px;
  margin: 2px 0 0 8px;
}

.np-heading-index .index-header .title-triangle.open {
  background: linear-gradient(135deg, #fff 0%, #fff 50%, #222222 50%, #222222 100%);
  transform: rotate(45deg);
}

.np-heading-index .index-header .index-title {
  margin: 0 0 0 14px;
  font-family: HiraKakuPro, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 100%;
  color: #222222;
}

.np-heading-index ul {
  list-style-type: none;
  margin: 0 14px;
  padding: 0;
}

.np-heading-index li {
  margin: 2px 0 0;
  padding: 8px 0;
  border-bottom: 1px solid #E0E0E0;
  font-family: HiraKakuPro, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 226%;
}

.np-heading-index li:active {
  color: #0062FF;
  cursor: pointer;
}

.html-list {
  margin: 20px;
  line-height: 1.9;
  padding: 0 0 0 22px;
}

.html-list li {
  line-height: 1.9;
  margin: 16px 0;
}

.sponsor-block {
  display: table;
  margin: 10px 20px;
}

.sponsor-block .sponsor-icon {
  display: table-cell;
}

.sponsor-block .sponsor-icon img {
  width: 60px;
  vertical-align: middle;
}

.sponsor-block .sponsor-label {
  display: table-cell;
  padding-left: 6px;
  color: #999;
  font-size: 12px;
  line-height: 20px;
}

.np-border {
  margin: 20px;
  background-size: 7px 2px;
  background-image: linear-gradient(to right, #F0F0F0, #F0F0F0 4px, transparent 4px, transparent 7px);
  background-repeat: repeat-x;
  height: 2px;
}

/* for smart phone */
@media only screen and (max-width: 414px) {
  .np-heading {
    border-bottom: 1px solid #032250;
    border-left: 5px solid #032250;
    padding-left: 5px;
    padding-bottom: 2px;
  }

  .original-v2 .np-heading {
    border-bottom: 1px solid rgba(34, 34, 34, .12);
    border-top: 1px solid rgba(34, 34, 34, .12);
    border-left: initial;
    padding-bottom: 12px;
    padding-top: 12px;
  }

  .leaflet {
    padding: 20px 16px;
    background: #f0f0f0;
  }

  .leaflet-parts {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .leaflet h2 {
    font-size: 16px;
  }

  .np-leaflet {
    font-size: 96%;
    padding: 16px;
    box-shadow: 0 1px 1px 1px #ccc;
  }

  .np-leaflet .leaflet-item-title {
    font-size: 14px;
  }

  .np-leaflet .leaflet-item-description {
    margin: 12px 0;
  }

  .np-leaflet .description-switch {
    margin-top: 14px;
  }

  .leaflet-item-requirement {
    padding: 8px 0;
  }

  .leaflet-item-requirement table th {
    width: 40px;
  }

  .leaflet-application-btn {
    margin-top: 16px;
  }
}

/* for desktop */
@media only screen and (min-width: 415px) and (max-width: 767px) {
  .np-heading {
    color: #032250;
    font-size: 22px;
    font-weight: 600;
  }

  .original-v2 .np-heading {
    border-bottom: 1px solid #999999;
    border-top: 1px solid #999999;
    border-left: initial;
    padding-bottom: 12px;
    padding-top: 12px;
    color: #222;
    font-size: 24px;
    line-height: 1.5em;
    font-weight: 700;
  }

  .np-quote {
    font-size: 18px;
  }

  .leaflet {
    margin: 0 24px;
    border-top: 1px solid #ccc;
    background: none;
  }

  .np-leaflet {
    margin-bottom: 24px;
  }

  .leaflet h2 {
    font-size: 20px;
    font-weight: 700;
  }
}

/* for tablet */
@media only screen and (min-width: 768px) {
  .np-heading {
    border-bottom: 1px solid #032250;
    border-left: 5px solid #032250;
    padding-left: 5px;
    padding-bottom: 2px;
  }

  .original-v2 .np-heading {
    border-bottom: 1px solid #999999;
    border-top: 1px solid #999999;
    border-left: initial;
    padding-bottom: 12px;
    padding-top: 12px;
  }

  .np-quote {
    font-size: 18px;
  }

  .leaflet {
    padding: 20px 16px;
    background: #f0f0f0;
  }

  .leaflet h2 {
    font-size: 16px;
  }

  .np-leaflet {
    font-size: 96%;
    padding: 16px;
    box-shadow: 0 1px 1px 1px #ccc;
  }

  .np-leaflet .leaflet-item-title {
    font-size: 14px;
  }

  .np-leaflet .leaflet-item-description {
    margin: 12px 0;
  }

  .np-leaflet .description-switch {
    margin-top: 22px;
  }

  .leaflet-item-requirement {
    padding: 8px 0;
  }

  .leaflet-item-requirement table th {
    width: 40px;
  }

  .leaflet-application-btn {
    margin-top: 16px;
  }
}

/* 2023年新基盤のブレイクポイントに合わせた対応 */
@media (min-width: 641px) {
  .np-article-block .np-article-block-content {
    display: flex;
    align-items: center;
  }

  .np-article-block .np-article-block-content .image {
    display: flex;
    width: 240px;
    margin-top: 0;
  }

  .np-embedded.external-link .np-embed-content-v2 {
    display: flex;
    align-items: center;
  }

  .np-embedded.external-link .np-embed-content-v2 .np-embed-image {
    display: flex;
    width: 240px;
    margin-top: 0;
  }

  .np-embedded.external-link .np-embed-content-v2 .np-embed-image img {
    height: 126px;
  }

  .np-embedded.external-link .np-embed-content-v2 .np-embed-info {
    flex: 1;
  }
}

/* 2023年新基盤で旧ウェブサイト埋め込みを表示するために必要なハック */
#body .np-embedded.external-link .np-embed-content .np-embed-title-text {
  font-size: 20px;
  margin: 0 0 10px;
}

/* NP動画埋め込みブロック（動画固有スタイルのみ。レイアウト・カード装飾は np-article-block-v2 から継承） */
.np-movie-block .image {
  position: relative;
}

.np-movie-block .image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.np-movie-block .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56' fill='none'%3E%3Cpath d='M27.9996 50.3999C40.3708 50.3999 50.3996 40.371 50.3996 27.9999C50.3996 15.6287 40.3708 5.59985 27.9996 5.59985C15.6284 5.59985 5.59961 15.6287 5.59961 27.9999C5.59961 40.371 15.6284 50.3999 27.9996 50.3999Z' fill='%23111' fill-opacity='0.7'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.19922 28C4.19922 32.7071 5.59506 37.3086 8.21024 41.2225C10.8254 45.1364 14.5425 48.1869 18.8914 49.9883C23.2402 51.7896 28.0256 52.261 32.6424 51.3426C37.2591 50.4243 41.4999 48.1576 44.8284 44.8291C48.1569 41.5006 50.4236 37.2598 51.3419 32.6431C52.2602 28.0264 51.7889 23.241 49.9875 18.8921C48.1862 14.5432 45.1357 10.8262 41.2218 8.21097C37.3079 5.5958 32.7064 4.19995 27.9992 4.19995C21.6871 4.19995 15.6334 6.70744 11.1701 11.1708C6.70671 15.6342 4.19922 21.6878 4.19922 28ZM50.3992 28C50.3992 32.4303 49.0855 36.7611 46.6241 40.4447C44.1628 44.1284 40.6644 46.9995 36.5713 48.6949C32.4783 50.3903 27.9744 50.8339 23.6292 49.9695C19.284 49.1052 15.2927 46.9718 12.16 43.8391C9.02733 40.7064 6.89394 36.7151 6.02963 32.37C5.16532 28.0248 5.60891 23.5209 7.30432 19.4278C8.99972 15.3348 11.8708 11.8364 15.5544 9.37503C19.2381 6.91369 23.5689 5.59995 27.9992 5.59995C33.9401 5.59995 39.6376 7.95994 43.8384 12.1608C48.0392 16.3616 50.3992 22.0591 50.3992 28Z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M37.5464 28.9661L24.0784 36.8201C23.9085 36.9182 23.7157 36.97 23.5194 36.9701C23.3232 36.9703 23.1303 36.9189 22.9601 36.8211C22.79 36.7232 22.6485 36.5824 22.55 36.4127C22.4514 36.243 22.3991 36.0504 22.3984 35.8541V20.1461C22.3991 19.9498 22.4514 19.7572 22.55 19.5875C22.6485 19.4178 22.79 19.2769 22.9601 19.1791C23.1303 19.0813 23.3232 19.0299 23.5194 19.03C23.7157 19.0302 23.9085 19.082 24.0784 19.1801L37.5464 27.0341C37.7115 27.1356 37.8478 27.2776 37.9423 27.4467C38.0368 27.6158 38.0865 27.8063 38.0865 28.0001C38.0865 28.1938 38.0368 28.3843 37.9423 28.5534C37.8478 28.7225 37.7115 28.8646 37.5464 28.9661Z' fill='%23fff'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.np-movie-block .duration {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 4px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 2px;
}

@media (min-width: 641px) {
  .np-movie-block .image {
    flex-shrink: 0;
  }

  .np-movie-block .article-info {
    flex: 1;
    min-width: 0;
  }
}