:root {
  --color-primary: #264389;
  --color-secondary: #2e4a8d;
  --color-thirdly: #3080b5;
  --color-gray01: #707070;
  --color-gray02: #f0f0f0;
  --color-bg: #f4f6f9;
  --color-border: #e8e8e8;
  --color-link: #2b4686;
  --color-accent: #1db0b2;
}

body {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;

  overflow-wrap: anywhere;
  word-break: break-word;
}

html {
  scroll-behavior: smooth;
}

footer {
  margin-top: auto;
}

/* ---------------------------------------------------
- Layout
--------------------------------------------------- */
.l-mainContainer {
  display: flex;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 40px;
}

.l-innerContainer {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 40px;
}

.l-container-min {
  display: flex;
  flex-direction: column;
  max-width: 660px;
  margin: 64px auto;
  padding-inline: 40px;
}

.l-mainContents {
  flex: 1;
}

.l-innerContents {
  margin-top: 64px;
}

.l-sidebar {
  width: 25%;
  min-width: 240px;
  margin-left: 64px;
}

.l-breadcrumbs {
  margin-top: 30px;
}

.l-spacer-primary {
  margin-top: 64px;
}

.l-spacer-secondary {
  margin-top: 48px;
}


@media screen and (max-width: 768px) {
  .l-mainContainer {
    display: block;
    width: 100%;
    padding-inline: 0;
  }

  .l-innerContainer {
    padding-inline: 20px;
  }

  .l-container-min {
    padding-inline: 20px;
  }

  .l-mainContents {
    padding-inline: 20px;
  }

  .l-innerContents {
    margin-block: 48px 40px;
  }

  .l-sidebar {
    width: 100%;
    margin-top: 64px;
    margin-left: 0;
  }

  .l-breadcrumbs {
    margin-top: 24px;
    overflow-x: scroll;
  }

  .l-spacer-primary {
    margin-top: 40px;
  }
  .l-spacer-secondary {
  margin-top: 32px;
}
}

/* ---------------------------------------------------
- Common
--------------------------------------------------- */

/* - header
--------------------------------------------------- */
.c-globalHeader {
  position: relative;
  z-index: 10;
}
.c-globalHeader__inner {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding: 32px 40px;
}

.c-globalHeader__textBox {
  display: flex;
}

.c-globalHeader__link {
  display: inline-block;
}

.c-globalHeader__logoImage {
  width: auto;
  height: 28px;
}

.c-globalHeader__subTitle {
  margin-left: 16px;
  font-size: 12px;
  color: var(--color-gray01);
  vertical-align: text-top;
}

.c-globalHeader__read {
  align-self: center;
  margin-left: 16px;
  font-size: 12px;
}

.c-globalHeader__buttonList {
  position: absolute;
  top: 24px;
  right: 5vw;
  display: flex;
  gap: 8px;
  z-index: 10;
}

.c-globalHeader__button-register {
  width: 140px;
  background-color: var(--color-accent);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 40px;
}

.c-globalHeader__button-mypage {
  width: 140px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 40px;
}

.c-hamburger__button {
  display: none;
}

.c-globalHeader__nav {
  background-color: var(--color-primary);
}

.c-globalHeader__heading {
  display: none;
}

.c-globalHeader__navList {
  display: flex;
  justify-content: center;
}

.c-globalHeader__navItem {
  position: relative;
  width: calc(100% / 7);
}

.c-globalHeader__navItem::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  height: 24px;
  margin: auto;
  background-color: #fff;
}

.c-globalHeader__navItem:first-of-type::before {
  content: none;
}

.c-globalHeader__navLink {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding-inline: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s;
}

.c-globalHeader__navLink-guide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  background-color: var(--color-bg);
  color: var(--color-primary);
  font-size: 14px;
  font-weight: bold;
  transition: background-color 0.3s;
}

@media screen and (max-width: 768px) {

  main {
    margin-top: 60px;}

  .c-globalHeader {
    width: 100%;
    position: fixed;
  }
  .c-globalHeader.nofixed {
    width: 100%;
    position: static;
  }

  .c-globalHeader__inner {
    padding: 20px 0 0;
    background: var(--color-bg);
  }

  .c-globalHeader__textBox {
    display: block;
    padding-bottom: 20px;
    /* text-align: center; */
  }

  .c-globalHeader__logoImage {
    width: auto;
    height: 16px;
  }

  .c-globalHeader__title {
    margin-left: 16px;
  }

  .c-globalHeader__subTitle {
    margin-left: 12px;
    font-size: 10px;
    vertical-align: middle;
  }

  .c-globalHeader__read {
    margin: 8px 0 16px;
  }

  .c-globalHeader__buttonList {
    position: relative;
    top: 0;
    right: 0;
    gap: 0;
  }

  .is-fixed.c-globalHeader__buttonList {
    position: fixed;
    top: 0;
    left: 0;
  }

  .c-globalHeader__buttonItem {
    width: 100%;
  }

  .c-globalHeader__button-register,
  .c-globalHeader__button-mypage {
    width: 100%;
  }

  .c-hamburger__button {
    position: absolute;
    top: 20px;
    right: 20px;
    display: block;
    width: 24px;
    height: 20px;
  }

  .c-hamburger__line {
    position: absolute;
    inset: 0;
    width: 20px;
    height: 2px;
    margin: auto;
    background-color: var(--color-primary);
    transition: 0.3s;
  }

  .c-hamburger__line::before,
  .c-hamburger__line::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    background-color: var(--color-primary);
    transition: 0.3s;
  }

  .c-hamburger__line::before {
    top: -8px;
  }

  .c-hamburger__line::after {
    top: 8px;
  }

  .is-active .c-hamburger__line {
    background: transparent;
  }

  .is-active .c-hamburger__line::before {
    top: 0;
    transform: rotate(45deg);
  }

  .is-active .c-hamburger__line::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .c-globalHeader__nav {
    position: fixed;
    top: 56px;
    left: 0;
    display: none;
    width: 100%;
    padding-block: 24px 16px;
    background-color: var(--color-bg);
    z-index: 100;
  }

  body.is-active {
    overflow: hidden;
    transition: 0.3s;
  }

  body.is-active::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1;
  }

  .c-globalHeader__heading {
    display: block;
    padding: 20px;
    color: var(--color-primary);
    font-size: 16px;
    font-weight: bold;
  }

  .c-globalHeader__navList {
    display: block;
  }

  .c-globalHeader__navItem {
    position: relative;
    width: 100%;
  }

  .c-globalHeader__navItem::before {
    content: none;
  }

  .c-globalHeader__navItem:first-of-type::before {
    content: none;
  }

  .c-globalHeader__navLink,
  .c-globalHeader__navLink-guide {
    position: relative;
    display: block;
    height: auto;
    padding: 12px 20px;
    color: #000;
  }

  .c-globalHeader__navLink::after,
  .c-globalHeader__navLink-guide::after {
    content: "";
    position: absolute;
    inset: 0 20px 0 auto;
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 1px solid var(--color-secondary);
    border-right: 1px solid var(--color-secondary);
    transform: rotate(45deg);
  }
}

/* - footer
--------------------------------------------------- */
.c-globalFooter {
  margin-top: 56px;
  background: var(--color-primary);
  color: #fff;
}

.c-globalFooter__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding: 64px 40px 24px;
}

.c-globalFooter__leftBox {
  flex-shrink: 0;
  width: 350px;
}

.c-globalFooter__Link {
  display: inline-block;
}

.c-globalFooter__logoImage {
  width: auto;
  height: 34px;
}

.c-globalFooter__sns {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.c-globalFooter__snsLink {
  display: inline-block;
  width: 24px;
  transition: opacity 0.3s;
}

.c-globalFooter__nav {
  margin-left: auto;
}

.c-globalFooter__navTitle {
  font-size: 12px;
}

.c-globalFooter__navList {
  display: flex;
  gap: 48px;
  margin-top: 16px;
}

.c-globalFooter__navLink {
  font-size: 12px;
  font-weight: bold;
  transition: opacity 0.3s;
}

.c-globalFooter__navList + .c-globalFooter__navTitle {
  margin-top: 32px;
}

.c-globalFooter__copy {
  width: 100%;
  margin-top: 32px;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .c-globalFooter {
    margin-top: 0;
  }
  .c-globalFooter__inner {
    display: block;
    padding: 40px 20px 80px;
    text-align: center;
  }

  .c-globalFooter__leftBox {
    flex-shrink: 0;
    width: 100%;
    margin-inline: auto;
  }

  .c-globalFooter__logoImage {
    width: auto;
    height: 28px;
  }

  .c-globalFooter__sns {
    justify-content: center;
    margin-top: 16px;
  }

  .c-globalFooter__nav {
    margin: 32px 0 0;
  }

  .c-globalFooter__navList {
    flex-direction: column;
    gap: 16px;
  }

  .c-globalFooter__navLink {
    font-size: 14px;
  }

  .c-globalFooter__navList + .c-globalFooter__navTitle {
    margin-top: 40px;
  }

  .c-globalFooter__copy {
    margin-top: 56px;
  }
}

/* parts
---------------------------------------------------- */
.c-pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: inline-block;
  width: 40px;
  height: 40px;
  padding-top: 24px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
}

.c-pageTop::before {
  content: "";
  position: absolute;
  inset: 10px 0 auto 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
}

.c-button-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 64px;
}

.c-button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: 0.3s;
  transition-property: color, background-color, opacity;
}

.c-button-primary {
  width: 100%;
  padding: 16px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}

.c-button-secondary {
  width: 100%;
  padding: 16px;
  background-color: #fff;
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}

.c-icon-blank {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 8px;
  vertical-align: baseline;
}

.c-date {
  text-align: right;
  font-size: 12px;
  font-weight: bold;
  color: var(--color-primary);
}

.c-date__update {
  padding-left: 16px;
  background: url(../img/common/Icon-update.svg) no-repeat left center / 12px;
}

.c-date__release {
  margin-left: 16px;
  padding-left: 16px;
  background: url(../img/common/icon-calender.svg) no-repeat left center / 12px;
}

.c-feature {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  color: var(--color-secondary);
  font-size: 12px;
  font-weight: bold;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.c-feature__tag {
  flex-shrink: 0;
  align-self: flex-start;
  display: inline-block;
  margin-right: 8px;
  padding: 3px 8px;
  background-color: var(--color-secondary);
  color: #fff;
}

.c-pr {
  display: flex;
  align-items: center;
  margin-top: 8px;
  font-size: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.c-pr__tag {
  flex-shrink: 0;
  align-self: flex-start;
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  background-color: var(--color-gray02);
  color: var(--color-gray01);
  border: 1px solid var(--color-gray01);
  font-size: 12px;
  font-weight: bold;
}

.c-heading {
  position: relative;
  margin-bottom: 40px;
  padding-left: 72px;
  color: var(--color-secondary);
  font-size: 22px;
  font-weight: bold;
}

.c-heading::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 48px;
  height: 2px;
  margin: auto;
  background: var(--color-secondary);
}

.c-heroHeading {
  margin-bottom: 40px;
  color: var(--color-secondary);
  font-size: 32px;
  font-weight: 700;
}

.c-heroRead {
  margin-bottom: 64px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.c-title {
  margin-bottom: 40px;
  color: var(--color-secondary);
  font-size: 20px;
  font-weight: bold;
}

.c-article__profWrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 8px;
}

.c-articleList__prof {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-articleList__avater {
  flex-shrink: 0;
  align-self: flex-start;
  width: 24px;
  height: 24px;
  border-radius: 24px;
  object-fit: cover;
}

.c-articleList__name {
  font-size: 13px;
  font-weight: bold;
}

.c-articleList__team {
  font-size: 12px;
}

.c-articleList__name + .c-articleList__team {
  margin-top: 4px;
}

.c-article__prof {
  display: flex;
  align-items: center;
  gap: 8px;
  width: calc(calc(100% / 3) - calc(48px / 3));
}

.c-article__avater {
  flex-shrink: 0;
  align-self: flex-start;
  width: 64px;
  height: 64px;
  border-radius: 64px;
  object-fit: cover;
}

.c-article__name {
  font-size: 16px;
  font-weight: bold;
}

.c-article__team {
  font-size: 12px;
}

.c-article__name + .c-article__team {
  margin-top: 8px;
}

.c-articleBreadcrumbs{
  margin-bottom: 16px;
}

.c-breadcrumbs__list {
  display: flex;
  align-self: center;
  gap: 20px;
  width: 100%;
}

.c-breadcrumbs__item {
  position: relative;
  flex-shrink: 0;
}

.c-breadcrumbs__item:last-child{
  flex: 1;
}

.c-breadcrumbs__item + .c-breadcrumbs__item::before {
  content: "";
  position: absolute;
  inset: 6px auto 0 -16px;
  width: 8px;
  height: 8px;
  /* margin: auto; */
  border-top: 1px solid var(--color-secondary);
  border-right: 1px solid var(--color-secondary);
  transform: rotate(45deg);
}

.c-breadcrumbs__link {
  color: var(--color-primary);
  font-size: 12px;
  transition: opacity 0.3s;
}

.c-breadcrumbs__active {
  font-size: 12px;
}

.c-textBox {
  margin-bottom: 64px;
}

.c-link__item {
  margin-top: 16px;
}

.c-link__item + .c-link__item {
  margin-top: 8px;
}

.c-link {
  position: relative;
  display: inline-block;
  padding-inline: 24px 20px;
  font-size: 14px;
  color: var(--color-link);
  transition: opacity 0.3s;
}

.c-link::before {
  content: "";
  position: absolute;
  top: 3.5px;
  left: 0;
  border-left: 10px solid var(--color-primary);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.c-textLink {
  color: var(--color-thirdly);
  text-decoration: underline;
  transition: opacity 0.3s;
}

.c-changeinfo {
  padding: 24px 40px;
  background-color: var(--color-bg);
margin-bottom:20px;
}

.c-changeinfo a {
	color: var(--color-primary);
	font-weight:bold;
}

.c-changeinfo a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
}

@media screen and (max-width: 768px) {
  .c-pageTop {
    display: none;
  }

  .c-button-wrap {
    margin-top: 40px;
  }

  .c-button-primary,
  .c-button-secondary {
    font-size: 14px;
  }

  .c-date {
  }

  .c-icon-blank {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    vertical-align: baseline;
  }

  .c-pr {
    margin-top: 8px;
  }

  .c-heading {
    margin-bottom: 16px;
    padding-left: 28px;
    font-size: 16px;
  }

  .c-heading::before {
    width: 20px;
  }

  .c-heroHeading {
    margin-bottom: 32px;
    font-size: 22px;
  }

  .c-heroRead {
    margin-bottom: 40px;
    font-size: 14px;
  }

  .c-title {
    margin-bottom: 24px;
    font-size: 16px;
  }

  .c-article__avater {
    width: 32px;
    height: 32px;
  }

  .c-article__name {
    font-size: 12px;
  }

  .c-article__name + .c-article__team {
    margin-top: 4px;
  }

  .c-article__profWrap {
    flex-wrap: wrap;
    gap: 8px;
  }

  .c-article__prof {
    width: calc(50% - 4px);
  }

  .c-article__prof + .c-article__prof {
    margin-left: 0;
  }

  .c-textBox {
    margin-bottom: 40px;
  }

  .c-link {
    padding-inline: 16px;
    font-size: 12px;
  }

  .c-link::before {
    top: 3.5px;
    border-left: 8px solid var(--color-primary);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
  }

  .c-articleBreadcrumbs{
    overflow: auto;
  }

  .c-breadcrumbs__item:last-child{
    flex: none;
}
}

/* ---------------------------------------------------
- Project
--------------------------------------------------- */
/* - index
--------------------------------------------------- */
.p-pickup {
  width: 100%;
  max-width: 1280px;
  margin: 32px auto 64px;
  padding-inline: 40px;
}

.p-pickup__list {
  display: grid;
  grid-template-columns: 50% calc(50% - 32px);
  grid-template-rows: auto;
  column-gap: 32px;
  row-gap: 16px;
}

.p-pickup__item {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}

.p-pickup__item:nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.p-pickup__item:nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.p-pickup__item:nth-child(3) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.p-pickup__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: opacity 0.3s;
}

.p-pickup__title {
  margin-top: 16px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.035em;
  line-height: 1.5;
/*  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;*/
}

.p-pickup__prof {
  display: flex;
  align-items: center;
  margin-block: 16px 8px;
}

.p-pickup__avater {
  align-self: flex-start;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 32px;
}

.p-pickup__name {
  flex-shrink: 0;
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.034em;
}

.p-pickup__team {
  margin-left: 8px;
  font-size: 12px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  display: none;
}

.p-pickup__item:nth-child(n + 2) .p-pickup__link {
  display: flex;
  flex-direction: row;
  gap: 8px;
  height: auto;
  transition: opacity 0.3s;
}

.p-pickup__item:nth-child(n + 2) .p-pickup__thum {
  align-self: flex-start;
  width: 50%;
  max-height: 200px;
  object-fit: cover;
}

.p-pickup__item:nth-child(n + 2) .p-pickup__textBox {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.p-pickup__item:nth-child(n + 2) .p-pickup__title {
  margin-top: 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.034em;
/*  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;*/
}

.p-pickup__item:nth-child(n + 2) .p-pickup__prof {
  display: flex;
  margin-top: 16px;
}

.p-pickup__item:nth-child(n + 2) .p-pickup__profDetail {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.p-pickup__item .c-date {
  margin-top: auto;
}

.p-index__details {
  /* padding: 32px;
  background-color: var(--color-bg); */
}

.p-index__heading {
  color: var(--color-primary);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-index__read {
  margin-top: 8px;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.p-article__buttonWrap {
  text-align: center;
  margin-top: 40px;
}

.p-article__button {
  width: 275px;
  padding: 16px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}

.p-article__button::after {
  content: "";
  position: absolute;
  inset: 0 16px 0 auto;
  width: 12px;
  height: 12px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
  .p-pickup {
    position: relative;
    margin: 32px auto 40px;
    padding-inline: 20px;
  }

  .p-pickup__list {
    display: flex;
    column-gap: 0;
  }

  .p-pickup__item {
    padding-bottom: 0;
    border-bottom: none;
  }

  .p-pickup__title {
    margin-top: 8px;
    font-size: 16px;
    -webkit-line-clamp: unset;
  }

  .p-pickup__prof {
    display: flex;
    align-items: center;
    margin-block: 16px 8px;
  }

  .p-pickup__name {
    flex-shrink: 0;
    margin-left: 8px;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.034em;
  }

  .p-pickup__team {
    margin-left: 8px;
    font-size: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }

  .p-pickup .swiper {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
  }

  .swiper-pagination {
    position: static;
    margin-top: 8px;
  }

  .swiper-button-next,
  .swiper-button-prev {
    display: block;
    width: 24px;
    height: 24px;
    background-color: var(--color-primary);
    z-index: 1;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    content: "";
    position: absolute;
    inset: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    transform: rotate(45deg);
  }

  .swiper-button-next:after {
    right: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  .swiper-button-prev:after {
    left: 4px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }

  .swiper-pagination-bullet-active {
    background-color: var(--color-primary);
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__link {
    display: block;
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__thum {
    width: 100%;
    /* margin-bottom: 8px; */
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__textBox {
    display: flex;
    flex-direction: column;
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__title {
    margin-top: 8px;
    font-size: 16px;
    -webkit-line-clamp: unset;
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__prof {
    display: flex;
    margin-top: 16px;
  }

  .p-pickup__item:nth-child(n + 2) .p-pickup__profDetail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
  }

  .p-pickup__item .c-date {
    margin-top: 8px;
  }

  .p-index__details {
    /* padding: 24px 0; */
  }

  .p-index__heading {
    font-size: 14px;
  }

  .p-index__read {
    font-size: 12px;
  }

  .p-article__button {
    width: 200px;
    font-size: 14px;
  }
}

/* - 記事一覧
--------------------------------------------------- */
.p-articleList,
.p-categoryArticleList  {
  margin-top: 24px;
}

.p-articleList__item {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}

.p-articleList__item + .p-articleList__item {
  margin-top: 16px;
}

.p-articleList__link {
  display: flex;
  gap: 16px;
  transition: opacity 0.3s;
}

.p-articleList__thum {
  flex-shrink: 0;
  align-self: flex-start;
  width: 150px;
}

.p-categoryArticleList.first .p-articleList__item:nth-of-type(-n + 2) .p-articleList__thum {
  width: 320px;
}

.p-articleList__textBox {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-articleList__title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.034em;
}

.p-articleList__title-min {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.034em;
}

.p-articleList__title > img,
.p-articleList__title-min > img {
  width: 14px;
  /* margin-right: 4px; */
  vertical-align: text-bottom;
}

.p-categoryArticleList.first
  .p-articleList__item:nth-of-type(-n + 2)
  .p-articleList__title {
  font-size: 20px;
}

.p-articleList__read {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.034em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-categoryArticleList.first
  .p-articleList__item:nth-of-type(-n + 2)
  .p-articleList__read {
  font-size: 14px;
}

.p-articleList__link .c-date {
  margin-top: auto;
  padding-top: 8px;
}

.p-articleList__author{
  margin-top: 16px;
}

.p-articleList__author .c-articleList__prof{
  width: calc(100% - 80px);
}

.p-articleList__author .c-articleList__profDetails{
  overflow: hidden;
}


.p-articleList__author .c-articleList__team{
  overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.p-articleList__author + .c-date{
  position: absolute;
  bottom: 0;
  right: 0;
}

.p-article-col2List {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
}

.p-article-col2List__item {
  width: calc(50% - 16px);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}

.p-article-col2List__link {
  display: flex;
  gap: 16px;
  height: 100%;
  transition: opacity 0.3s;
}

.p-article-col2List__thum {
  align-self: flex-start;
  width: 38%;
}

.p-article-col2List__textBox {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.p-article-col2List__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.034em;
/*  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;*/
}

.p-article-col2List__title > img {
  width: 14px;
  margin-right: 4px;
  vertical-align: text-bottom;
}

.p-article-col2List__textBox .c-date {
  margin-top: auto;
  padding-top: 16px;
}

.p-articleList .pagination,
.p-categoryArticleList .pagination {
  margin-top: 40px;
}

.p-articleList .page-numbers,
.p-categoryArticleList .page-numbers {
  display: flex;
  justify-content: center;
}

.p-articleList .page-numbers > li,
.p-categoryArticleList .page-numbers > li {
  margin-left: 8px;
}

/* .p-articleList .page-numbers > li:first-child {
  margin-left: 0;
  margin-right: 24px;
}

.p-articleList .page-numbers > li:last-child {
  margin-left: 32px;
} */

.p-articleList .page-numbers > li .prev,
.p-categoryArticleList .page-numbers > li .prev {
  margin-left: -8px;
  margin-right: 24px;
}

.p-articleList .page-numbers > li .next,
.p-categoryArticleList .page-numbers > li next {
  margin-left: 24px;
}

.p-articleList a.page-numbers,
.p-articleList .page-numbers.current,
.p-categoryArticleList a.page-numbers,
.p-categoryArticleList .page-numbers.current {
  display: inline-block;
  width: 32px;
  height: 32px;
  text-align: center;
  background: var(--color-bg);
  color: var(--color-primary);
  font-size: 16px;
  font-weight: bold;
  line-height: 32px;
}

.p-articleList .page-numbers.current,
.p-categoryArticleList .page-numbers.current {
  background: var(--color-primary);
  color: #fff;
}

.p-articleList .page-numbers.dots,
.p-categoryArticleList .page-numbers.dots {
  font-size: 16px;
  line-height: 32px;
}

.p-articleList a.page-numbers.prev,
.p-articleList a.page-numbers.next,
.p-categoryArticleList a.page-numbers.prev,
.p-categoryArticleList a.page-numbers.next {
  position: relative;
  background-color: transparent;
}

.p-articleList a.page-numbers.prev::before,
.p-articleList a.page-numbers.next::before,
.p-categoryArticleList a.page-numbers.prev::before,
.p-categoryArticleList a.page-numbers.next::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  transform: rotate(45deg);
}

.p-articleList a.page-numbers.prev::before,
.p-categoryArticleList a.page-numbers.prev::before {
  border-left: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}

.p-articleList a.page-numbers.next::before,
.p-categoryArticleList a.page-numbers.next::before {
  border-top: 2px solid var(--color-primary);
  border-right: 2px solid var(--color-primary);
}

@media screen and (max-width: 768px) {
  .p-articleList,
  .p-categoryArticleList  {
    margin-top: 24px;
  }

  .p-articleList__link {
    gap: 8px;
  }

  .p-articleList__thum,
  .p-categoryArticleList.first
    .p-articleList__item:nth-of-type(-n + 2)
    .p-articleList__thum {
    width: 37%;
    height: auto;
  }

  .p-articleList__title,
  .p-categoryArticleList.first
    .p-articleList__item:nth-of-type(-n + 2)
    .p-articleList__title {
    font-size: 14px;
/*    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;*/
  }


  .p-articleList__read,
  .p-categoryArticleList.first
    .p-articleList__item:nth-of-type(-n + 2)
    .p-articleList__read {
    margin-top: 8px;
    font-size: 12px;
  }

  .p-article-col2List {
    flex-direction: column;
  }

  .p-article-col2List__item {
    width: 100%;
  }

  .p-article-col2List__link {
    gap: 8px;
    min-height: 100px;
  }

  .p-article-col2List__textBox {
    flex: 1;
    display: block;
  }

  .p-article-col2List__title {
    font-size: 14px;
  }

  .p-article-col2List__textBox .c-date {
    margin-top: auto;
    padding-top: 8px;
  }

    .p-articleList__textBox{
    overflow-wrap: break-word;
    word-wrap: break-word;
    min-width: 0;
  }

  .p-articleList__author .c-articleList__prof{
    width: 100%;
  }

  .p-articleList__author + .c-date{
    position: static;
  }


  .p-articleList .pagination,
  .p-categoryArticleList .pagination {
    margin-top: 24px;
  }

  .p-articleList .page-numbers > li,
  .p-categoryArticleList .page-numbers > li {
    margin-left: 8px;
  }

  .p-articleList .page-numbers > li .prev,
  .p-categoryArticleList .page-numbers > li .prev {
    margin-left: -8px;
    margin-right: 8px;
  }

  .p-articleList .page-numbers > li .next,
  .p-categoryArticleList .page-numbers > li .next {
    margin-left: 16px;
  }

  .p-articleList a.page-numbers,
  .p-articleList .page-numbers.current,
  .p-categoryArticleList a.page-numbers,
  .p-categoryArticleList .page-numbers.current {
    width: 24px;
    height: 24px;
    font-size: 12px;
    line-height: 24px;
  }

  .p-articleList .page-numbers.dots,
  .p-categoryArticleList .page-numbers.dots {
    font-size: 12px;
    line-height: 24px;
  }

  .p-articleList a.page-numbers.prev::before,
  .p-articleList a.page-numbers.next::before,
  .p-categoryArticleList a.page-numbers.next::before,
  .p-categoryArticleList a.page-numbers.prev::before {
    width: 8px;
    height: 8px;
  }
}
/* - 記事
--------------------------------------------------- */
.p-article__feature {
  margin-bottom: 4px;
  color: var(--color-primary);
  font-size: 14px;
  font-weight: bold;
}

.p-article__featureTag {
  display: inline-block;
  margin-right: 8px;
  padding: 4px 8px;
  background: var(--color-primary);
  color: #fff;
}

.p-article__hero,
.p-article__hero-secondary {
  display: flex;
  flex-wrap: wrap;
  row-gap: 32px;
}

.p-article__title {
  order: 0;
  width: 100%;
  margin-block: 24px 0;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-article__icon {
  display: inline-block;
  width: 21px;
  margin-left: 16px;
  vertical-align: baseline;
}

.p-article__iconkey {
  display: inline-block;
  width: 21px;
  margin-left: 8px;
  vertical-align: baseline;
}

.p-article__prTag {
  margin-inline: 16px 0;
  line-height: 1;
  vertical-align: middle;
}

.p-article__thum {
  order: 2;
  width: 100%;
}

.p-article__read {
  order: 3;
  width: 100%;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.p-article__read > a{
  color: var(--color-thirdly);
  transition: opacity 0.3s;
}

.p-article__read > strong {
  background: linear-gradient(transparent 60%, #c9e9ff 60%);
  -webkit-box-decoration-break: slice;
  box-decoration-break: slice;
  font-weight: normal;
}

.p-article__read > b {
  font-weight: bold;
}

.p-article__read > strong > b,
.p-article__read > b > strong {
  font-weight: bold;
}

.p-article__read > u {
  padding-bottom: 2px;
  border-bottom: 1px solid var(--color-secondary);
  text-decoration: none;
}

.p-article__read > sup {
  vertical-align: baseline;
  color: var(--color-thirdly);
}

.p-article__read > sup a {
  padding-inline: 2px;
}

.p-article__hero-secondary .p-article__thum {
  order: 3;
  align-self: flex-start;
  width: 35%;
  margin-left: 5%;
}

.p-article__hero-secondary .p-article__read {
  order: 2;
  width: 60%;
}

.p-article__hero .c-article__profWrap,
.p-article__hero-secondary .c-article__profWrap {
  width: 100%;
  margin-top: 0;
}

.p-toc {
  margin-top: 48px;
  padding: 24px 40px;
  background-color: var(--color-bg);
}

.p-toc__heading {
  margin-bottom: 32px;
  color: var(--color-primary);
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.034em;
}

.p-toc__item {
  text-indent: -24px;
  margin-left: 24px;
}

.p-toc__item + .p-toc__item {
  margin-top: 24px;
}

.p-toc__item > .p-tocInner {
  /* margin-left: 24px; */
  margin-top: 24px;
}

.p-toc__link {
  position: relative;
  padding-left: 24px;
  color: var(--color-primary);
  font-size: 16px;
  font-weight: bold;
  transition: opacity 0.3s;
  line-height: 1.5;
}

.p-toc__link::before {
  content: "";
  position: absolute;
  top: 3.5px;
  left: 0;
  border-left: 10px solid var(--color-primary);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.p-toc__item a[role="doc-noteref"] {
  display: none;
}

.p-article__contents {
  margin-top: 64px;
}

.p-article__contents #wpmem_reg,
.p-article__contents #wpmem_login {
  display: none;
}

.p-article__contents p {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.p-article__contents > p {
  margin-top: 24px;
}

.p-article__contents p:empty {
  display: none;
}

.p-article__contents h2 {
  margin-block: 64px 32px;
  color: var(--color-primary);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

.p-article__contents h3 {
  margin-top: 32px;
  padding-left: 16px;
  color: var(--color-secondary);
  border-left: 6px solid var(--color-secondary);
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-article__contents h4 {
  margin-top: 32px;
  color: var(--color-secondary);
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-article__contents h5 {
  margin-top: 32px;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-article__contents h6 {
  margin-top: 32px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.p-article__contents strong {
  background: linear-gradient(transparent 60%, #c9e9ff 60%);
  -webkit-box-decoration-break: slice;
  box-decoration-break: slice;
  font-weight: normal;
}

.p-article__contents b {
  font-weight: bold;
}

.p-article__contents strong > b,
.p-article__contents b > strong {
  font-weight: bold;
}

.p-article__contents u {
  padding-bottom: 2px;
  border-bottom: 1px solid var(--color-secondary);
  text-decoration: none;
}

.p-article__contents .sidenote {
  margin-top: 24px;
  color: var(--color-gray01);
  font-size: 12px;
  letter-spacing: 0.034em;
  line-height: 1.5;
}

.p-article__contents .sidenote p {
  margin-top: 0;
  font-size: 12px;
}

.p-article__contents .sidenote02 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  color: var(--color-gray01);
  font-size: 12px;
  counter-reset: item;
  text-indent: -1.5em;
  margin-left: 1.5em;
}

.p-article__contents .sidenote02 > ul{
  list-style: none;
}

.p-article__contents .sidenote02 li {
  line-height: 1.5;
}

.p-article__contents .sidenote02 li::before {
  margin-right: 1em;
  counter-increment: item;
  content: counters(item, "-");
}

.p-article__contents .textLeft {
  text-align: left;
  margin-right: auto;
}

.p-article__contents .textCenter {
  text-align: center;
  margin-inline: auto;
}

.p-article__contents .textRight {
  text-align: right;
  margin-left: auto;
}

.p-article__contents > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-top: 24px;
}

.p-article__contents p > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.p-article__contents figure {
  margin-top: 24px;
}

.p-article__contents .imgBorder {
  border: 1px solid var(--color-border);
}

.p-article__contents figure figcaption {
  margin-top: 8px;
  font-size: 12px;
  color: var(--color-gray01);
}

.p-article__contents .imgFloat {
  margin-top: 32px;
  overflow: hidden;
}

.p-article__contents .imgGrid {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-top: 32px;
}

.p-article__contents .imgFloat .floatLeft {
  float: left;
  padding-right: 16px;
}

.p-article__contents .imgFloat .floatRight {
  float: right;
  padding-left: 16px;
}

.p-article__contents .imgFloat > figure,
.p-article__contents .imgGrid > figure {
  margin: 0;
}

.p-article__contents .imgFloat .-w10,
.p-article__contents .imgGrid .-w10,
.p-article__contents .gist-grid .-w10,
.p-article__contents .gistBg-grid .-w10 {
  flex-shrink: 0;
  width: 10%;
}

.p-article__contents .imgFloat .-w20,
.p-article__contents .imgGrid .-w20,
.p-article__contents .gist-grid .-w20,
.p-article__contents .gistBg-grid .-w20 {
  flex-shrink: 0;
  width: 20%;
}

.p-article__contents .imgFloat .-w30,
.p-article__contents .imgGrid .-w30,
.p-article__contents .gist-grid .-w30,
.p-article__contents .gistBg-grid .-w30 {
  flex-shrink: 0;
  width: 30%;
}

.p-article__contents .imgFloat .-w40,
.p-article__contents .imgGrid .-w40,
.p-article__contents .gist-grid .-w40,
.p-article__contents .gistBg-grid .-w40 {
  flex-shrink: 0;
  width: 40%;
}

.p-article__contents .imgFloat .-w50,
.p-article__contents .imgGrid .-w50,
.p-article__contents .gist-grid .-w50,
.p-article__contents .gistBg-grid .-w50 {
  flex-shrink: 0;
  width: 50%;
}

.p-article__contents .imgFloat .-w60,
.p-article__contents .imgGrid .-w60,
.p-article__contents .gist-grid .-w60,
.p-article__contents .gistBg-grid .-w60 {
  flex-shrink: 0;
  width: 60%;
}

.p-article__contents .imgFloat .-w70,
.p-article__contents .imgGrid .-w70,
.p-article__contents .gist-grid .-w70,
.p-article__contents .gistBg-grid .-w70 {
  flex-shrink: 0;
  width: 70%;
}

.p-article__contents .imgFloat .-w80,
.p-article__contents .imgGrid .-w80,
.p-article__contents .gist-grid .-w80,
.p-article__contents .gistBg-grid .-w80 {
  flex-shrink: 0;
  width: 80%;
}

.p-article__contents .imgFloat .-w90,
.p-article__contents .imgGrid .-w90,
.p-article__contents .gist-grid .-w90,
.p-article__contents .gistBg-grid .-w90 {
  flex-shrink: 0;
  width: 90%;
}

.p-article__contents .imgFloat .floatLeft + p,
.p-article__contents .imgFloat .floatRight + p,
.p-article__contents .imgGrid > p {
  margin-top: 0;
}

.p-article__contents .interviewTitle {
  position: relative;
  padding-left: 40px;
  /* color: var(--color-secondary); */
  font-size: 18px;
  font-weight: bold;
}

.p-article__contents .interviewTitle::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 0;
  width: 24px;
  height: 1px;
  background-color: #000;
}

.p-article__contents sup {
  vertical-align: baseline;
  color: var(--color-thirdly);
}

.p-article__contents sup a {
  padding-inline: 2px;
}

.p-article__contents a {
  color: var(--color-thirdly);
  transition: opacity 0.3s;
}

.p-article__contents ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-left: 1em;
  list-style-type: disc;
}

.p-article__contents ol {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-article__contents > ul,
.p-article__contents > ol {
  margin-top: 24px;
}

.p-article__contents .count01 {
  counter-reset: item;
  text-indent: -1em;
  margin-left: 1em;
}

.p-article__contents .count03 {
  counter-reset: item;
  /* text-indent: -1em; */
}

.p-article__contents .count02 {
  list-style: decimal;
  margin-left: 1em;
}

.p-article__contents .count01 li > .count02 {
  margin-left: 1em;
  text-indent: 0;
}

.p-article__contents .count01 li > .count03 {
  margin-left: 0;
  text-indent: 0;
}

.p-article__contents li > ul,
.p-article__contents li > ol {
  margin-top: 16px;
}

.p-article__contents li {
  line-height: 1.5;
}

.p-article__contents li::marker {
  color: var(--color-secondary);
}

.p-article__contents .count01 > li::before {
  counter-increment: item;
  content: counters(item, "-") ". ";
  color: var(--color-secondary);
}

.p-article__contents .count01 ol {
  margin-left: 1.25em;
}

.p-article__contents .count03 li {
  position: relative;
  padding-left: 1.5em;
}

.p-article__contents .count03 li::before {
  counter-increment: item;
  content: counter(item);
  color: var(--color-secondary);
  font-size: 14px;
  position: absolute;
  top: 2px;
  left: 4px;
}

.p-article__contents .count03 li::after {
  content: "";
  /* 配置を調整 */
  position: absolute;
  display: block;
  top: 12px;
  left: 0;
  transform: translateY(-50%);
  /* ○を作る */
  width: 1em;
  height: 1em;
  border: 1px solid var(--color-secondary);
  border-radius: 50%;
}

.table-wrap {
  margin-block: 24px;
  overflow-x: scroll;
}

.p-article__contents table {
  width: 100%;
}

.p-article__contents table tr > *:empty {
  background-image: linear-gradient(
    to right top,
    transparent calc(50% - 0.5px),
    var(--color-border) 50%,
    var(--color-border) calc(50% + 0.5px),
    transparent calc(50% + 1px)
  ) !important;
}

.p-article__contents table th {
  padding: 8px;
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  text-align: center;
  line-height: 1.5;
}

.p-article__contents table td {
  padding: 8px;
  border: 1px solid var(--color-border);
  line-height: 1.5;
}

.p-article__contents hr {
  margin-block: 56px;
  border-color: var(--color-border);
}

.p-article__contents .arrow {
  display: inline-block;
  margin-block: 48px;
  border-top: 12px solid var(--color-border);
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}

.p-article__contents hr.omit {
  height: 8px;
  margin-block: 48px;
  background-image: repeating-linear-gradient(
    45deg,
    var(--color-border) 0,
    var(--color-border) 1px,
    transparent 0,
    transparent 50%
  );
  background-size: 8px 8px;
  border: none;
}

.p-article__contents .linkBox {
  display: flex;
  gap: 32px;
  margin-block: 40px;
  padding: 40px;
  background-color: var(--color-bg);
}

.p-article__contents .linkBox .img {
  align-self: flex-start;
  flex-shrink: 0;
  width: 30%;
}

.p-article__contents .linkBox p,
.p-article__contents .linkBox ul {
  margin-top: 0;
  font-size: 14px;
  list-style: none;
  margin-left: 0;
}

.p-article__contents .linkBox .title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

.p-article__contents .linkBox .linkList li a {
  position: relative;
  display: inline-block;
  padding-left: 12px;
  transition: opacity 0.3;
}

.p-article__contents .linkBox .linkList li a::before {
  content: "";
  position: absolute;
  top: 5.5px;
  left: 0;
  border-left: 6px solid var(--color-thirdly);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.p-article__contents .gist {
  margin-block: 40px;
  padding: 40px;
  border: 1px solid var(--color-border);
}

.p-article__contents .gist-grid {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  margin-block: 40px;
  padding: 40px;
  border: 1px solid var(--color-border);
}

.p-article__contents .gistBg {
  margin-block: 40px;
  padding: 40px;
  background-color: var(--color-bg);
}

.p-article__contents .gistBg-grid {
  display: flex;
  gap: 32px;
  margin-block: 40px;
  padding: 40px;
  background-color: var(--color-bg);
}

.p-article__contents .gist > :is(h1, h2, h3, h4, h5, h6),
.p-article__contents .gistBg > :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  margin-bottom: 24px;
}

.p-article__contents .gist > p + is:(ul, ol),
.p-article__contents .gistBg > p + is:(ul, ol) {
  margin-top: 24px;
}

.p-article__contents .gist > is:(ul, ol) + p,
.p-article__contents .gistBg > is:(ul, ol) + p {
  margin-top: 16px;
}

.p-article__contents .gist-grid > img,
.p-article__contents .gistBg-grid > img,
.p-article__contents .gist-grid > a,
.p-article__contents .gistBg-grid > a {
  align-self: flex-start;
  flex-shrink: 0;
}

.p-article__contents .button-wrap {
  margin-block: 40px;
  text-align: center;
}

.p-article__contents .button-bl {
  display: inline-block;
  max-width: 100%;
  min-width: 220px;
  padding: 16px;
  background-color: var(--color-secondary);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  transition: opacity 0.3s;
}

.p-article__contents .button-gy {
  display: inline-block;
  max-width: 100%;
  min-width: 220px;
  padding: 16px;
  background-color: var(--color-gray01);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  transition: opacity 0.3s;
}

.p-article__contents .point {
  position: relative;
  margin-top: 32px;
  padding: 32px 32px 32px 80px;
  border: 1px solid var(--color-border);
}

.p-article__contents .point::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 32px;
  height: 32px;
  background: url(../img/common/icon-point.svg) no-repeat center / cover;
}

.p-article__contents .point > p {
  margin-top: 0;
}

.p-article__contents blockquote {
  padding-left: 24px;
  border-left: 6px solid var(--color-border);
}

.p-article__contents blockquote p {
  color: var(--color-gray01);
  font-size: 14px;
  line-height: 1.75;
}

.p-article__contents blockquote cite {
  display: block;
  margin-top: 8px;
  color: var(--color-gray01);
  text-align: right;
  font-size: 14px;
}

.p-article__contents .code {
  max-width: 836px;
  position: relative;
  margin-top: 40px;
  padding-top: 20px;
  overflow-x: auto;
}

.p-article__contents .code div.code-toolbar > .toolbar {
  position: absolute;
  top: -23px;
  left: 0;
  opacity: 1;
}

div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
  border-radius: 0;
}

.p-article__contents
  .code
  div.code-toolbar
  > .toolbar
  > .toolbar-item:nth-child(1) {
  /* position: absolute;
  top: -23px; */
}

.p-article__contents
  .code
  div.code-toolbar
  > .toolbar
  > .toolbar-item:nth-child(1)
  span {
  display: inline-block;
  padding: 4.25px 8px;
  background-color: var(--color-secondary);
  color: #fff;
  border-radius: 3px 3px 0 0;
  box-shadow: none;
}

.p-article__contents
  .code
  div.code-toolbar
  > .toolbar
  > .toolbar-item:nth-child(2)
  > button {
  display: inline-block;
  padding: 1.5px 8px;
  background-color: var(--color-thirdly);
  color: #fff;
  border-radius: 3px 3px 0 0;
  box-shadow: none;
}

.p-article__contents .label {
  display: inline-block;
  margin-top: 24px;
  padding: 8px 16px;
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 4px 4px 0 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}

.p-article__contents .code pre {
  overflow: auto;
  padding-block: 1.25em;
  border-radius: 0 0.3em 0.3em 0.3em;
}

.p-article__contents .faq {
  margin-block: 32px;
  padding: 40px;
  background-color: var(--color-bg);
}

.p-article__contents .faq .question {
  position: relative;
  padding-left: 48px;
}

.p-article__contents .faq .question::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-primary);
  font-size: 32px;
  font-weight: bold;
}

.p-article__contents .faq .answer {
  position: relative;
  margin-top: 32px;
  padding-top: 32px;
  padding-left: 48px;
  border-top: 1px solid var(--color-border);
}

.p-article__contents .faq .answer::before {
  content: "A";
  position: absolute;
  top: 32px;
  left: 0;
  color: var(--color-thirdly);
  font-size: 32px;
  font-weight: bold;
}

.p-article__contents .faq .question p,
.p-article__contents .faq .answer p {
  margin-top: 0;
  line-height: 1.75;
}

.p-article__contents .p-article__subTitle {
  margin-bottom: 32px;
  color: var(--color-primary);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

.p-articleProf__card {
  margin-top: 40px;
  padding: 24px;
  background-color: var(--color-bg);
}

.p-articleProf__prof {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-articleProf__avater {
  width: 100px;
  height: 100px;
  border-radius: 100px;
  object-fit: cover;
}

.p-articleProf__name {
  font-size: 16px;
  font-weight: bold;
}

.p-articleProf__team {
  font-size: 12px;
}

.p-articleProf__name + .p-articleProf__team {
  margin-top: 8px;
}

.p-articleProf__read {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.034em;
}

.p-articleProf__read + .p-articleProf__prof {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
}

.p-share {
  margin-top: 40px;
  text-align: center;
}

.p-share__heading {
  color: var(--color-primary);
  font-size: 16px;
  font-weight: bold;
}

.p-share__list {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 24px;
}

.p-share__item {
  width: 30px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.p-memberOnly {
  position: relative;
  margin-top: 80px;
}

.p-memberOnly::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0) 15%,
    rgba(255, 255, 255, 1) 100%
  );
  z-index: 100;
}

.p-memberOnly__box {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding: 32px;
  background-color: var(--color-bg);
}

.p-memberOnly__heading {
  margin-bottom: 32px;
  padding-top: 40px;
  background: url(../img/common/icon-key.svg) no-repeat top center / 35px;
  color: var(--color-primary);
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.034em;
  line-height: 1.75;
}

.p-memberOnly__register input[type="email"] {
  display: block;
  width: 100%;
  padding: 15px 8px;
  background-color: #fff;
  border: 1px solid var(--color-gray01);
  font-size: 14px;
}

.p-memberOnly__register input[type="button"],
.p-memberOnly__register input[type="submit"] {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 15px;
  background-color: var(--color-accent);
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  transition: background-color 0.3s;
}

.p-memberOnly__loginButton {
  width: 100%;
  margin-top: 24px;
  padding: 15px;
  background-color: var(--color-primary);
  color: #fff !important;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.3s;
}

.p-articleX{
  margin-top: 40px;
  padding: 24px;
  border: 1px solid var(--color-border);
}

.p-articleX__heading{
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-articleX__icon{
  width: 56px;
  height: 56px;
}

.p-articleX__name{
  display: flex;
  align-items: center;
  gap: 4px 8px;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 700;
}

.p-articleX__id{
  display: block;
  font-size: 14px;
}

.p-articleX__wrap{
  margin-left: auto;
}

.p-articleX__button{
  display: inline-block;
  padding: 8px 24px;
  background-color: #000;
  color: #fff;
  border-radius: 20px;
  font-size: 14px;
}

.p-articleX__logo{
  margin-right: 8px;
  width: 14px;
  height: auto;
}

.p-articleX__read{
  margin-top: 8px;
  color: var(--color-gray01);
  font-size: 12px;
  line-height: 1.75;
}


@media screen and (max-width: 768px) {
  .p-article__feature {
    font-size: 12px;
  }

  .p-article__hero,
  .p-article__hero-secondary {
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
  }

  .p-article__title {
    margin-block: 24px 0;
    font-size: 20px;
  }

  .p-article__icon {
    width: 14px;
    margin-left: 8px;
  }

  .p-article__read {
    font-size: 14px;
  }

  .p-article__hero-secondary .p-article__thum {
    width: 100%;
    margin-left: 0;
  }

  .p-article__hero-secondary .p-article__read {
    width: 100%;
  }

  .p-toc {
    margin-top: 40px;
    padding: 24px;
  }

  .p-toc__heading {
    margin-bottom: 24px;
    font-size: 20px;
  }

  .p-toc__item {
    text-indent: -18px;
    margin-left: 18px;
  }

  .p-toc__item + .p-toc__item {
    margin-top: 16px;
  }

  .p-toc__item > .p-tocInner {
    /* margin-left: 18px; */
    margin-top: 16px;
  }

  .p-toc__link {
    padding-left: 18px;
    font-size: 14px;
  }

  .p-toc__link::before {
    top: 5px;
    border-left: 8px solid var(--color-primary);
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }

  .p-article__contents {
    margin-top: 0;
    /* padding-top: 48px; */
  }

  .p-article__contents p {
    font-size: 14px;
  }

  .p-article__contents h2 {
    margin-top: 0;
    margin-bottom: 24px;
    padding-top: 48px;
    font-size: 20px;
  }

  .p-article__contents h3 {
    margin-top: 24px;
    padding-left: 16px;
    border-left: 6px solid var(--color-secondary);
    font-size: 18px;
  }

  .p-article__contents h4 {
    margin-top: 24px;
    font-size: 18px;
  }

  .p-article__contents h5,
  .p-article__contents h6 {
    margin-top: 24px;
  }

  .p-article__contents > img {
    margin-top: 16px;
  }

  .p-article__contents figure {
    margin-top: 16px;
  }

  .p-article__contents .imgFloat {
    margin-top: 24px;
  }

  .p-article__contents .imgGrid {
    flex-wrap: wrap;
    gap: 0;
    margin-top: 24px;
  }

  .p-article__contents .imgFloat > img,
  .p-article__contents .imgFloat figure,
  .p-article__contents .imgGrid > img,
  .p-article__contents .imgGrid figure,
  .p-article__contents .gist-grid > img,
  .p-article__contents .gist-grid > a,
  .p-article__contents .gistBg-grid > img,
  .p-article__contents .gistBg-grid > a {
    float: none;
    order: 0;
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 16px;
  }

  .p-article__contents .imgGrid > p {
    order: 1;
  }

  .p-article__contents .interviewTitle {
    padding-left: 24px;
    font-size: 16px;
  }

  .p-article__contents .interviewTitle::before {
    top: 16px;
    width: 16px;
  }

  .p-article__contents .sidenote ul,
  .p-article__contents .sidenote ol {
    font-size: 12px;
  }

  .p-article__contents ul,
  .p-article__contents ol {
    font-size: 14px;
  }

  .p-article__contents li > ul,
  .p-article__contents li > ol {
    margin-top: 8px;
  }

  .p-article__contents .count03 li::before {
    font-size: 12px;
    top: 3px;
  }

  .table-wrap {
    margin-block: 24px;
    overflow-x: scroll;
  }

  .p-article__contents table {
    width: 728px;
    overflow: scroll;
  }

  .p-article__contents table th,
  .p-article__contents table td {
    font-size: 14px;
  }

  .p-article__contents hr {
    margin-block: 40px;
  }

  .p-article__contents .arrow {
    margin-block: 32px;
    border-top: 10px solid var(--color-border);
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
  }

  .p-article__contents hr.omit {
    margin-block: 32px;
  }

  .p-article__contents .linkBox {
    gap: 16px;
    margin-block: 24px;
    padding: 24px;
  }

  .p-article__contents .linkBox .img {
    align-self: flex-start;
    flex-shrink: 0;
    width: 30%;
  }

  .p-article__contents .linkBox p,
  .p-article__contents .linkBox ul {
    font-size: 12px;
  }

  .p-article__contents .linkBox .title {
    font-size: 14px;
  }

  .p-article__contents .gist,
  .p-article__contents .gistBg,
  .p-article__contents .gist-grid,
  .p-article__contents .gistBg-grid {
    gap: 0;
    flex-direction: column;
    margin-block: 24px;
    padding: 24px;
  }

  .p-article__contents .button-wrap {
    margin-block: 32px;
  }

  .p-article__contents .button-bl {
    padding: 16px;
    font-size: 14px;
  }

  .p-article__contents .button-gy {
    padding: 16px;
    font-size: 14px;
  }

  .p-article__contents .point {
    padding: 24px 24px 24px 48px;
  }

  .p-article__contents .point::before {
    top: 24px;
    left: 16px;
    width: 24px;
    height: 24px;
  }

  .p-article__contents blockquote {
    padding-left: 16px;
    border-left: 4px solid var(--color-border);
  }

  .p-article__contents blockquote p {
    font-size: 12px;
  }

  .p-article__contents blockquote cite {
    font-size: 12px;
  }

  .p-article__contents .code {
    /* padding: 24px ; */
  }

  .p-article__contents .label {
    font-size: 12px;
  }

  .p-article__contents .code pre {
    font-size: 14px;
  }

  .p-article__contents .faq {
    margin-block: 24px;
    padding: 24px;
  }

  .p-article__contents .faq .question {
    position: relative;
    padding-left: 32px;
  }

  .p-article__contents .faq .question::before {
    font-size: 24px;
  }

  .p-article__contents .faq .answer {
    margin-top: 24px;
    padding-top: 24px;
    padding-left: 32px;
  }

  .p-article__contents .faq .answer::before {
    top: 24px;
    font-size: 24px;
  }

  .p-article__contents .p-article__subTitle {
    margin-bottom: 24px;
    font-size: 20px;
  }

  .p-articleProf__card {
    margin-top: 40px;
    padding: 24px;
  }

  .p-articleProf__prof {
    gap: 8px;
  }

  .p-articleProf__avater {
    width: 56px;
    height: 56px;
    border-radius: 56px;
  }

  .p-articleProf__name {
    font-size: 12px;
    font-weight: bold;
  }

  .p-articleProf__team {
    font-size: 12px;
  }

  .p-articleProf__name + .p-articleProf__team {
    margin-top: 8px;
  }

  .p-articleProf__read {
    margin-top: 8px;
    font-size: 12px;
  }

  .p-articleProf__read + .p-articleProf__prof {
    margin-top: 16px;
    padding-top: 16px;
  }

  .p-share {
    margin-top: 32px;
  }

  .p-share__heading {
    font-size: 14px;
  }

  .p-share__list {
    gap: 16px;
  }

  .p-share__item {
    width: 24px;
  }

  .p-memberOnly {
    margin: 64px auto 0;
  }

  .p-memberOnly::before {
    top: -150px;
  }

  .p-memberOnly__box {
    padding: 24px;
  }

  .p-memberOnly__heading {
    margin-bottom: 16px;
    padding-top: 32px;
    background-size: 24px;
    font-size: 14px;
  }

  .p-memberOnly__register input[type="email"] {
    font-size: 14px;
  }

  .p-memberOnly__register input[type="button"],
  .p-memberOnly__register input[type="submit"] {
    font-size: 14px;
  }

  .p-memberOnly__loginButton {
    margin-top: 16px;
    font-size: 14px;
  }

  .p-articleX__name{
    flex-direction: column;
    align-items: flex-start;
  }

  .p-articleX__icon{
    width: 50px;
    height: 50px;
  }

  .p-articleX__wrap{
    margin-top: 16px;
    text-align: center;
  }

  .p-articleX__button{
    display: block;
    padding: 8px 24px;
  }

  .p-articleX__read{
    margin-left: 0;
  }
}

/* - お役立ち資料
--------------------------------------------------- */
.p-document {
  display: flex;
  margin-top: 64px;
  padding: 32px;
  background-color: var(--color-bg);
}

.p-document__imageLink {
  align-self: flex-start;
  width: 48%;
  transition: opacity 0.3s;
}

.p-document__textBox {
  width: 48%;
  margin-left: auto;
}

.p-document__title {
  color: var(--color-secondary);
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.034em;
}

.p-document__text {
  margin-top: 16px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.034em;
}

.p-document__list {
  margin-block: 24px;
}

.p-document__item + .p-document__item {
  margin-top: 16px;
}

.p-document__link {
  position: relative;
  display: inline-block;
  padding-inline: 24px 20px;
  font-size: 14px;
  color: var(--color-link);
  transition: opacity 0.3s;
}

.p-document__link::before {
  content: "";
  position: absolute;
  top: 3.5px;
  left: 0;
  border-left: 10px solid var(--color-primary);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.p-document__link::after {
  content: "";
  position: absolute;
  inset: 2px 0 0 auto;
  width: 12px;
  height: 12px;
  background: url(../img/common/icon-blank_bl.svg) no-repeat center / cover;
}

.p-document__button {
  width: 100%;
  padding: 16px 32px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.p-document__button::after {
  content: "";
  position: absolute;
  inset: 0 16px 0 auto;
  width: 12px;
  height: 12px;
  margin: auto;
  background: url(../img/common/icon-blank_wh.svg) no-repeat center / cover;
}

@media screen and (max-width: 768px) {
  .p-document {
    display: block;
    margin-top: 40px;
    padding: 24px;
  }

  .p-document__image {
    width: 100%;
  }

  .p-document__textBox {
    width: 100%;
    margin-left: auto;
  }

  .p-document__title {
    margin-top: 16px;
    font-size: 16px;
  }

  .p-document__text {
    margin-top: 8px;
    font-size: 14px;
    font-weight: normal;
  }

  .p-document__list {
    margin-block: 8px 16px;
  }

  .p-document__item + .p-document__item {
    margin-top: 8px;
  }

  .p-document__link {
    padding-inline: 16px;
    font-size: 12px;
  }

  .p-document__link::before {
    top: 3.5px;
    border-left: 8px solid var(--color-primary);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
  }

  .p-document__link::after {
    inset: 2px 0 0 auto;
  }

  .p-document__button {
    padding: 16px 32px;
    font-size: 14px;
  }
}

/* - サイドバー
--------------------------------------------------- */
.p-sideRegister {
  margin-bottom: 40px;
  background: var(--color-bg);
}

.p-sideRegister__heading {
  padding: 16px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.034em;
}

.p-sideRegister__list {
  max-width: 180px;
  margin: 24px auto;
}

.p-sideRegister__item {
  position: relative;
  padding-left: 24px;
  color: var(--color-secondary);
  background: url(../img/common/icon-check.svg) no-repeat left center / 18px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.25;
}

.p-sideRegister__item + .p-sideRegister__item {
  margin-top: 16px;
}

.p-sideRegister__form {
  padding: 0 16px 16px;
}

.p-sideRegister__form input[type="email"] {
  display: block;
  width: 100%;
  padding: 12px;
  background-color: #fff;
  border: 1px solid var(--color-gray01);
  font-size: 14px;
}

.p-sideRegister__form input[type="submit"] {
  display: block;
  width: 100%;
  margin-top: 16px;
  padding: 16px;
  background-color: var(--color-accent);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}

.p-sideRegister__text {
  margin-top: 16px;
  text-align: center;
  font-size: 12px!important;
}

.p-sideRegister__link {
  color: var(--color-thirdly);
  text-decoration: underline;
  transition: opacity 0.3s;
}

.p-sidebarCategory + .p-sidebarCategory {
  margin-top: 48px;
}

.p-sidebarCategory__heading {
  position: relative;
  margin-bottom: 24px;
  padding-left: 56px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
}

.p-sidebarCategory__heading::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 40px;
  height: 2px;
  margin: auto;
  background-color: var(--color-secondary);
}

.p-sidebarCategory__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-left: 24px;
}

.p-sidebarCategory__link {
  display: block;
  position: relative;
  font-size: 14px;
  font-weight: bold;
  transition: opacity 0.3s;
}

.p-sidebarCategory__link::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid var(--color-secondary);
  border-right: 1px solid var(--color-secondary);
  transform: rotate(45deg);
  transition: 0.3s;
}

.p-ad {
  /* margin-top: 16px; */
  margin-bottom: 56px;
}

.p-sidebarNewarticle {
  margin-top: 56px;
}

.g-recaptcha {
  transform-origin: 0% 0%;
  transform: scale(0.88);
}

.l-mainContents .g-recaptcha,
.l-container-min .g-recaptcha {
  transform: scale(1);
}

.g-recaptcha div {
  margin: 10px auto 0;
}

.p-sideRegister__recaptcha{
  margin-top: 16px;
  color: #888;
  font-size: 11px!important;
  line-height: 1.5;
}

.p-sidebarX{
  margin-block: 40px;
  padding: 24px;
  border: 1px solid var(--color-border);
}

.p-sidebarX__heading{
  display: flex;
  gap: 16px;
}

.p-sidebarX__icon{
  width: 50px;
  height: 50px;
}

.p-sidebarX__name{
  align-self: center;
  font-size: 16px;
  font-weight: 700;
}

.p-sidebarX__id{
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 600;
}

.p-sidebarX__read{
  color: var(--color-gray01);
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.5;
}

.p-sidebarX__wrap{
  margin-top: 16px;
  text-align: center;
}

.p-sidebarX__button{
  display: block;
  padding: 8px;
  background-color: #000;
  color: #fff;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
}

.p-sidebarX__logo{
  width: 14px;
  height: auto;
  margin-right: 8px;
}

@media screen and (max-width: 768px) {
  .p-sideRegister {
    margin-bottom: 0;
  }

  .p-sideRegister__heading {
    font-size: 16px;
  }

  .p-sideRegister__list {
    max-width: 210px;
    margin: 24px auto;
  }

  .p-sideRegister__item {
    font-size: 16px;
  }

  .p-sideRegister__form {
    padding: 0 20px 32px;
  }

  .p-sideRegister__form input[type="email"] {
    padding: 12px;
    font-size: 16px;
  }

  .p-sideRegister__form input[type="submit"] {
    padding: 16px;
    font-size: 15px;
  }

  .p-sidebarCategory {
    margin: 40px 40px 40px 20px;
  }

  .p-ad {
    margin-bottom: 40px;
    padding-inline: 20px;
  }

  .p-sidebarNewarticle {
    margin: 48px 20px;
  }

  .p-sidebarX{
    margin: 40px 20px;
  }
}

/* - カテゴリー
--------------------------------------------------- */
.p-category {
  margin-top: 64px;
}

.p-category__read {
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.p-category__results {
  color: var(--color-primary);
  font-size: 12px;
  font-weight: bold;
}

/* - 利用規約
--------------------------------------------------- */
.p-policy {
  max-width: 840px;
  margin-inline: auto;
}

.p-policy__title {
  margin-block: 32px 16px;
  font-weight: bold;
}

.p-policy table {
  width: 100%;
}

.p-policy table tr > *:empty {
  background-image: linear-gradient(
    to right top,
    transparent calc(50% - 0.5px),
    var(--color-border) 50%,
    var(--color-border) calc(50% + 0.5px),
    transparent calc(50% + 1px)
  ) !important;
}

.p-policy table th {
  padding: 8px;
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  text-align: center;
  line-height: 1.5;
}

.p-policy table td {
  padding: 8px;
  border: 1px solid var(--color-border);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-policy table {
    width: 728px;
    overflow: scroll;
  }

  .p-policy table th,
  .p-policy table td {
    font-size: 14px;
  }
}

/* - フォーム
--------------------------------------------------- */
.p-form__read {
  margin-top: 64px;
  font-size: 16px;
}

.p-form__contents {
  margin-top: 64px;
}

.p-form__heading {
  position: relative;
  margin-bottom: 24px;
  padding-left: 56px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
}

.p-form__heading::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 40px;
  height: 2px;
  margin: auto;
  background-color: var(--color-secondary);
}

.p-form__wrap {
  display: flex;
  align-items: center;
}

.p-form__wrap + .p-form__wrap {
  margin-top: 32px;
}

.p-form__wrap > label {
  display: flex;
  justify-content: space-between;
  flex-shrink: 0;
  width: 180px;
  margin-right: 8px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
}

.p-form__req {
  padding: 4px 8px;
  background-color: var(--color-secondary);
  color: #fff;
  font-size: 10px;
}

.p-form__att {
  margin-top: 4px;
  color: var(--color-gray01);
  font-size: 12px;
}

.p-form__wrap .div_select,
.p-form__wrap .div_text {
  flex: 1;
  position: relative;
}

.p-form__wrap .div_select::after {
  content: "";
  position: absolute;
  inset: 0 8px 0 auto;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1px solid var(--color-secondary);
  border-bottom: 1px solid var(--color-secondary);
  transform: rotate(45deg);
}

.p-confirm .p-form__wrap .div_select::after {
  content: none;
}

.p-form__wrap .div_select > select,
.p-form__wrap input[type="text"],
.p-form__wrap input[type="email"],
.p-form__wrap input[type="password"] {
  display: block;
  width: 100%;
  padding: 8px;
  border: 1px solid var(--color-border);
  font-size: 14px;
}

.p-form__wrap .div_select > select {
  padding-right: 24px;
}

.button_div + .req-text {
  display: none;
}

.p-form__agree {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
  color: var(--color-secondary);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}

.p-form__agree input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.p-form__agree a {
  text-decoration: underline;
}

.button_div {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 48px;
}

#wpmem_register_form .button_div {
  margin-top: 16px;
}

.p-confirm .button_div {
  margin-top: 48px !important;
}

.button_div > .buttons {
  width: 100%;
  padding: 16px;
  text-align: center;
  background-color: var(--color-primary);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}

.button_div > .buttons[disabled] {
  background-color: var(--color-gray01);
  pointer-events: none;
}

.button_div > label + .buttons {
  margin-top: 32px;
}

#pwdchange.c-link::before,
#pwdreset.c-link::before,
#getusername.c-link::before,
#login.c-link::before {
  content: none;
}

.wpmem_msg,.wpmem_msg2  {
  order: 1;
}

.wpmem_msg .p-form__err {
  display: flex;
  margin-top: 40px;
  color: #dd4c5d;
}
.wpmem_msg .p-form__err2 {
  display: flex;
  color: #dd4c5d;
}

.wpmem_msg .p-form__err::before {
  content: "！";
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  background-color: #dd4c5d;
  color: #fff;
  border-radius: 20px;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}
.wpmem_msg .p-form__err2::before {
  content: "！";
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  background-color: #dd4c5d;
  color: #fff;
  border-radius: 20px;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}
.p-form__eye {
  position: absolute;
  top: 9px;
  right: 16px;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .p-form__read {
    margin-top: 40px;
    font-size: 14px;
  }

  .p-form__contents {
    margin-top: 48px;
  }

  .p-form__heading {
    margin-bottom: 24px;
    padding-left: 28px;
  }

  .p-form__heading::before {
    width: 20px;
  }

  .p-form__wrap {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .p-form__wrap + .p-form__wrap {
    margin-top: 32px;
  }

  .p-form__wrap > label {
    justify-content: flex-start;
    gap: 8px;
    width: auto;
    margin-right: 0;
    font-size: 14px;
  }

  .p-form__wrap .div_select,
  .p-form__wrap .div_text {
    width: 100%;
  }

  .p-form__wrap .div_select::after {
    width: 6px;
    height: 6px;
  }

  .p-form__wrap .div_select > select,
  .p-form__wrap input[type="email"],
  .p-form__wrap input[type="password"] {
    font-size: 16px;
  }

  .p-form__agree {
    margin-top: 48px;
    font-size: 12px;
  }

  .p-form__agree input[type="checkbox"] {
    width: 14px;
    height: 14px;
  }

  .button_div > .buttons {
    font-size: 15px;
  }

  .wpmem_msg .p-form__err {
    margin-top: 32px;
    font-size: 14px;
  }

  .wpmem_msg .p-form__err::before {
    width: 18px;
    height: 18px;
    border-radius: 18px;
    font-size: 10px;
    line-height: 18px;
  }
}

/* - ログイン
--------------------------------------------------- */
.p-login__wrap + .p-login__wrap {
  margin-top: 24px;
}

.p-login__label {
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
}

.p-login__input {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 16px 8px;
  border: 1px solid var(--color-border);
  font-size: 14px;
}

.p-login__button {
  width: 100%;
  margin-top: 24px;
  padding: 15px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.3s;
}

.p-register__read {
  margin-top: 64px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}

.p-register__text {
  margin-top: 64px;
  font-size: 14px;
  line-height: 1.75;
}

.p-register__text span {
  color: var(--color-secondary);
  font-weight: bold;
}

.p-register__icon {
  display: inline-block;
  width: 16px;
  margin-right: 4px;
  vertical-align: sub;
}

.p-finish__button {
  width: 100%;
  padding: 16px;
  color: var(--color-primary);
  background-color: #fff;
  border: 1px solid var(--color-primary);
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .p-login__label {
    font-size: 14px;
  }

  .p-login__input {
    font-size: 16px;
  }

  .p-login__button {
    font-size: 14px;
  }

  .p-finish__button {
    font-size: 14px;
  }
}

/* - マイページ
--------------------------------------------------- */
.p-mypage__contents {
  margin-top: 64px;
}

.p-mypage__item {
  display: flex;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border);
}

.p-mypage__item + .p-mypage__item {
  margin-top: 24px;
}

.p-mypage__label {
  flex-shrink: 0;
  width: 200px;
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: bold;
}

.p-mypage__value {
  font-size: 16px;
}

.p-mypage__read {
  font-size: 16px;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .p-mypage__contents {
    margin-top: 48px;
  }

  .p-mypage__item {
    flex-direction: column;
    gap: 4px;
    padding-bottom: 16px;
  }

  .p-mypage__item + .p-mypage__item {
    margin-top: 16px;
  }

  .p-mypage__label {
    width: 100%;
    font-size: 14px;
    line-height: 1.75;
  }

  .p-mypage__value {
    font-size: 14px;
  }

  .p-mypage__read {
    font-size: 14px;
  }
}

/* - flow
--------------------------------------------------- */
.p-flow {
  display: flex;
  margin-bottom: 56px;
}

.p-flow__item {
  position: relative;
  width: 100%;
  text-align: center;
}

.p-flow__item + .p-flow__item::after {
  content: "";
  position: absolute;
  left: -50%;
  top: 16px;
  width: 100%;
  height: 2px;
  background-color: #ccc;
  z-index: 0;
}

.p-flow__num {
  position: relative;
  width: 32px;
  height: 32px;
  margin: auto;
  background-color: #ccc;
  color: #fff;
  font-size: 16px;
  line-height: 32px;
  font-weight: bold;
  border-radius: 32px;
  z-index: 1;
}

.p-flow__num.u-active {
  background-color: var(--color-primary);
}

.p-flow__text {
  margin-top: 8px;
  color: #ccc;
  font-size: 12px;
  font-weight: bold;
}

.p-flow__text.u-active {
  color: var(--color-primary);
}

#wpmem_pwdchange_form .p-flow__change,
#wpmem_pwdchange_form .p-flow__finish,
#wpmem_pwdreset_form .p-flow__reset,
#wpmem_pwdreset_form .p-flow__finish,
#wpmem_login_form .p-flow__reset,
#wpmem_login_form .p-flow__change,
.p-users .p-nouser__finish,
.p-nousers .p-user__finish,
.p-users .p-nouser__button,
.p-nousers .p-user__button,
.p-nousers #wpmem_login_form {
  display: none;
}

@media screen and (max-width: 768px) {
  .p-flow__item + .p-flow__item::after {
    top: 13px;
  }

  .p-flow__num {
    width: 28px;
    height: 28px;
    font-size: 14px;
    line-height: 28px;
    border-radius: 28px;
  }

  .p-flow__text {
    margin-top: 8px;
    font-size: 10px;
  }
}

/* ---------------------------------------------------
- recaptcha
--------------------------------------------------- */

.grecaptcha-badge {
  visibility: hidden;
}

.g-recaptcha {
  transform: scale(1);
}
/*
@media screen and (min-width: 769px) {
  .grecaptcha-badge {
    bottom: 90px !important;
  }
}
*/

/* ---------------------------------------------------
- Utility
--------------------------------------------------- */
.u-pc{
  display: block;
}

.u-sp{
  display: none;
}

.u-visuallyHidden,
.screen-reader-text {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

.u-text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.034em;
}

.u-text-min {
  font-size: 12px;
  letter-spacing: 0.034em;
}

.u-right {
  text-align: right;
}

.u-center {
  text-align: center;
}

.u-order {
  list-style-type: decimal;
}

.u-unordered {
  list-style-type: disc;
}

.u-order li,
.u-unordered li {
  margin-top: 8px;
  margin-left: 1rem;
  line-height: 2;
}

.u-unordered + .u-text {
  margin-top: 1em;
}

.u-count > li {
  margin-left: 0;
  list-style-type: none;
  counter-increment: cnt;
}

.u-count > li::before {
  content: "(" counter(cnt) ")";
  display: inline-block;
}

.u-order ul,
.u-order ol,
.u-unordered ul,
.u-unordered ul {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .u-text,
  .u-order,
  .u-unordered,
  .u-count {
    font-size: 14px;
  }

  .u-pc{
    display: none;
  }

  .u-sp{
    display: block;
  }
}

@media screen and (min-width: 767px) {
  :is(
      .c-globalHeader__navLink,
      .c-globalHeader__button-mypage,
      .p-sideRegister__form input[type="button"],
      .p-document__button,
      .p-article__button,
      .p-memberOnly__register input[type="button"],
      .p-memberOnly__register input[type="send"],
      .p-memberOnly__loginButton
    ):hover {
    background-color: #7e93c4;
  }

  :is(
      .c-globalHeader__button-register,
      .p-sideRegister__form input[type="submit"],
      .p-memberOnly__register input[type="submit"]
    ):hover {
    background-color: #7dcecf;
  }

  :is(.c-globalHeader__navLink-guide, ):hover {
    background-color: #d7dde5;
  }

  :is(
      .p-articleList__link,
      .p-pickup__link,
      .p-pickup-col2__link,
      .p-article-col2List__link,
      .p-document__link,
      .c-globalFooter__navLink,
      .c-globalFooter__snsLink,
      .p-sideRegister__link,
      .p-sidebarCategory__link,
      .c-breadcrumbs__link,
      a.p-toc__link,
      .p-document__imageLink,
      .c-textLink,
      .p-article__contents .linkBox .linkList li a,
      .p-article__contents .button-bl,
      .p-article__contents .button-gy,
      .p-article__contents a,
      .p-share__item,
      .p-article__read > a,
      .p-series__item .title,
      .p-series__morBtn
    ):hover {
    opacity: 0.7;
  }

  .p-sidebarCategory__link:hover::after {
    right: -4px;
  }
}

.errmsg{ color:#cc0000; padding:5px 0 0 0;}
.errmsg_c{ color:#cc0000; padding:1em 0 0;text-align:center;}
.errmsg_p{ color:#cc0000; padding:1em 0 0;}

/* 202410 連載追加 */
/* トップ */
.p-pickup__series,
.p-article-col2List__series,
.p-articleList__series{
  font-size: 12px;
  font-weight: bold;
  color: var(--color-primary);
  line-height: 1.5;;
}

.p-pickup__item:nth-child(1) .p-pickup__series{
  margin-top: 8px;
}

.p-pickup__item:nth-child(1) .p-pickup__series + .p-pickup__title {
  margin-top: 0px;}

@media screen and (max-width: 768px) {
  .p-pickup__series{
  margin-top: 8px;
}}

/* 記事詳細 */
.p-article__series{
  font-size: 16px;
  font-weight: bold;
  color: var(--color-primary);
  line-height: 1.5;
  margin-block: 24px 0;
}

.p-article__series span{
  margin-left: 0.5em;
}

.p-article__series + .p-article__title{
  margin-block: 8px 0;
}

.p-series{
    margin-block: 40px;
    padding: 40px;
    background-color: var(--color-bg);

    display: flex;
    flex-direction: column;
    /* align-items: center; */
}

.p-series__titleBox{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0px 0.5rem;
  margin-bottom: 16px;
}

.p-series__title,
.p-series__backnumber{
    /* color: var(--color-primary); */
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
  }

.p-series__list{
  flex-direction: column;
  display: flex;
  margin-left: 0em!important;
  gap: 8px!important;
}

.p-series__item{
  list-style: none;
  display: flex;

  position: relative;
  padding-left: 24px;
}

.p-series__item::before{
  content: "";
  position: absolute;
  top: 6.5px;
  left: 0;
  border-left: 10px solid var(--color-primary);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.p-series__item .number,
.p-series__item .title_selected,
.p-series__item .title{
  display: inline-block;
  line-height: 1.5;
}


.p-series__item .title{
  color: var(--color-primary);
  cursor: pointer;

}

.p-series__item .number{
  min-width: 60px;
  width: 8%;
  padding-right: 8px;
}

.p-series__item.-current .title{
  color: #000;
  pointer-events: none;
}

.p-series__morBtn{
  display: inline-block;
  color: var(--color-primary);
  font-weight: bold;
  cursor: pointer;
  margin: 0 auto;
  margin-top: 24px;
  width: 100px;
  position: relative;
  padding-right: 12px;
}
.p-series__morBtn::after{
    content: "";
    position: absolute;
    right: 0;
    top: 3px;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 2px solid var(--color-primary);
    border-top: 2px solid var(--color-primary);
    transform: rotate(-135deg);
  }

@media screen and (max-width: 768px) {
  .p-series{
    margin-block: 24px;
    padding: 24px;}    

  .p-series__list{
    font-size: 14px}
  
  .p-series__morBtn{
    font-size: 14px
  }}
 
 