@charset "UTF-8";
/* Break point
---------------------------------------------------------- */
/* Font
---------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Belanosima:wght@400;600;700&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
/* Mixin
---------------------------------------------------------- */
/* Animation
---------------------------------------------------------- */
.a-fadeIn {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.8s ease;
  transition: all 0.8s ease;
}
.a-fadeIn.-start {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==========================================================================//
//
//　変数
//
// ========================================================================== */
:root {
  /* Color
  ---------------------------------------------------------- */
  --color-main: #BB222A;
  --color-sub: #006BBD;
  --color-bg: #F2F2F2;
  --color-font: #1D2427;
  --color-link: #BB222A;
  /* font
  ---------------------------------------------------------- */
  --font-zenkaku: "Zen Kaku Gothic New", sans-serif;
  --font-l: 300;
  --font-r: 400;
  --font-m: 500;
  --font-b: 700;
  --font-bl: 900;
  --lhS: 1.2;
  --lhM: 1.5;
  --lhL: 1.8;
  --lhLL: 2.3;
  /* width
  ---------------------------------------------------------- */
  --maxWidth: 1040px;
}

/**
 * Makes elements visually invisible but still accessible to screen-readers.
 *
 * This Css has been carefully tested to ensure screen-readers can read and
 * activate (in case of links and buttons) the elements with this class. Please
 * use caution when changing anything, even seemingly safe ones. For example
 * changing width from 1 to 0 would prevent TalkBack from activating (clicking)
 * buttons despite TalkBack reading them just fine. This is because
 * element needs to have a defined size and be on viewport otherwise TalkBack
 * does not allow activation of buttons.
 */
.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

.pc-only {
  display: none;
}
@media screen and (min-width: 968px) {
  .pc-only {
    display: block;
  }
}

@media screen and (min-width: 968px) {
  .sp-only {
    display: none;
  }
}

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

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

.c-taL {
  text-align: left;
}

.c-colorBox {
  padding: 20px;
}

.c-of-hidden {
  overflow: hidden;
}

.c-note {
  padding-left: 1.2em;
  position: relative;
}
.c-note mark {
  color: inherit;
  position: absolute;
  top: 0;
  left: 0;
}

.c-fwN {
  font-weight: 400;
}

.c-fwM {
  font-weight: var(--font-m);
}

.c-fwB {
  font-weight: var(--font-b);
}

.c-fsSS {
  font-size: 0.8em;
}

.c-fsS {
  font-size: 0.9em;
}

.c-fsM {
  font-size: 1.2em;
}

.c-fsL {
  font-size: 1.4em;
}

.c-ttl-1 {
  padding: 10px;
  background: #fff;
  border-top: 2px solid var(--color-main);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-m);
}
.c-ttl-1::first-letter {
  color: var(--color-main);
}
@media screen and (min-width: 968px) {
  .c-ttl-1 {
    font-size: 23px;
    font-size: 2.3rem;
    padding: 15px;
  }
}

.c-ttl-2 {
  padding-left: 10px;
  border-left: 3px solid var(--color-main);
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-m);
}
@media screen and (min-width: 968px) {
  .c-ttl-2 {
    font-size: 20px;
    font-size: 2rem;
  }
}

.c-link-1 {
  text-decoration: underline;
  text-underline-position: from-font;
  color: var(--color-main);
}
@media screen and (min-width: 968px) {
  .c-link-1:hover {
    text-decoration: none;
  }
}

.c-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 20px;
}
.c-flex > * {
  margin-top: 0 !important;
}
.c-flex + * {
  margin-top: var(--marginTop);
}
@media screen and (min-width: 968px) {
  .c-flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-flex.-sp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 20px;
}

.c-grid {
  margin-top: 20px !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.c-grid > * {
  margin-top: 0 !important;
}
.c-grid + * {
  margin-top: var(--marginTop);
}
.c-grid > .-txt > *:first-child {
  margin-top: 0 !important;
}
@media screen and (min-width: 968px) {
  .c-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 50px;
  }
}
@media screen and (min-width: 968px) {
  .c-grid {
    margin-top: 40px !important;
  }
}

.c-list-1 + * {
  margin-top: var(--marginTop);
}
.c-list-1 > li > ul {
  margin-top: 10px !important;
  margin-bottom: 15px !important;
}
.c-list-1 > li {
  padding-left: 1.2em;
  position: relative;
}
.c-list-1 > li + li {
  margin-top: 10px;
}
.c-list-1 > li mark {
  color: inherit;
  position: absolute;
  top: 0;
  left: 0;
}
.c-list-1.-em2 > li {
  padding-left: 2.2em;
}
.c-list-1.-em3 > li {
  padding-left: 3.2em;
}
.c-list-1.-em4 > li {
  padding-left: 4.2em;
}

.c-list-2 + * {
  margin-top: var(--marginTop);
}
.c-list-2 li {
  padding-left: 15px;
  position: relative;
}
.c-list-2 li + li {
  margin-top: 10px;
}
.c-list-2 li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #5EC0DB;
  border-radius: 9999px;
  position: absolute;
  top: calc(0.5em + 2.5px);
  left: 5px;
}

@media screen and (min-width: 968px) {
  .c-dlBox {
    display: grid;
    grid-template-columns: 20% 1fr;
    gap: 40px;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.c-dlBox + * {
  margin-top: var(--marginTop);
}
.c-dlBox + .c-dlBox {
  margin-top: 15px;
}
@media screen and (min-width: 968px) {
  .c-dlBox + .c-dlBox {
    margin-top: 0;
    border-top: 1px solid #D9D9D9;
  }
}
.c-dlBox dt {
  padding: 10px;
  background: var(--color-sub);
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 968px) {
  .c-dlBox dt {
    font-weight: 400;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
  }
}
@media screen and (min-width: 968px) {
  .c-dlBox dt {
    padding: 20px 30px;
  }
}
.c-dlBox dd {
  padding: 10px 0;
  font-weight: 400;
}
@media screen and (min-width: 968px) {
  .c-dlBox dd {
    padding: 20px 20px 20px 0;
  }
}
@media screen and (min-width: 968px) {
  .c-dlBox dd {
    padding: 20px 30px 20px 0;
  }
}

.c-imgAndTxt + * {
  margin-top: var(--marginTop);
}
.c-imgAndTxt .-img {
  float: left;
  width: 100%;
  margin-bottom: var(--marginTop);
}
@media screen and (min-width: 968px) {
  .c-imgAndTxt .-img {
    width: 50%;
    margin-right: 40px;
  }
}
.c-imgAndTxt .-img img {
  margin: auto;
}
.c-imgAndTxt .-txt > * + * {
  margin-top: var(--marginTop);
}
.c-imgAndTxt::after {
  content: "";
  display: block;
  clear: both;
}
.c-imgAndTxt.-right .-img {
  float: right;
  margin-left: 40px;
}

.c-btn-1 {
  text-align: center;
}
.c-btn-1 a {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 15px 30px;
  max-width: 500px;
  font-weight: var(--font-m);
  background: var(--color-main);
  color: #fff;
}
@media screen and (min-width: 968px) {
  .c-btn-1 a:hover {
    opacity: 0.7;
  }
}
.c-btn-1 a::after {
  content: "";
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (min-width: 968px) {
  .c-btn-1 a {
    min-width: 230px;
  }
  .c-btn-1 a:hover {
    text-decoration: none;
  }
}
.c-btn-1.-white a {
  border: 1px solid var(--color-main);
  background: #fff;
  color: var(--color-main);
}
.c-btn-1.-white a::after {
  border-color: var(--color-main);
}

.c-tagList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
}
.c-tagList li a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.c-tagList li a::before {
  content: "＃";
}
@media screen and (min-width: 968px) and (min-width: 968px) {
  .c-tagList li a:hover {
    text-decoration: none;
  }
}

.c-list-article {
  padding: 0 10px 10px;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 968px) {
  .c-list-article {
    padding-bottom: 50px;
  }
}
.c-list-article .-categoryList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
  padding-top: 0;
  margin-top: 10px;
}
.c-list-article .-categoryList li {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: var(--font-m);
}
.c-list-article .-categoryList li::first-letter {
  color: var(--color-main);
}
.c-list-article .-categoryList li p {
  margin-top: 0;
}
@media screen and (min-width: 968px) {
  .c-list-article .-categoryList li {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-list-article figure {
  margin-top: 10px;
  text-align: center;
  aspect-ratio: 1/0.566;
  background: var(--color-bg);
  position: relative;
}
.c-list-article figure::before {
  content: "";
  display: block;
  width: 60%;
  aspect-ratio: 1/0.099;
  background: url(/fcajournal/assets/img/img-logo.png) no-repeat center center/cover;
  opacity: 0.3;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-list-article figure a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}
@media screen and (min-width: 968px) {
  .c-list-article figure a {
    position: relative;
  }
  .c-list-article figure a::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .c-list-article figure a:hover::after {
    background: rgba(255, 255, 255, 0.3);
  }
}
.c-list-article figure img {
  aspect-ratio: 1/0.566;
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  z-index: 1;
}
.c-list-article .c-tagList {
  margin-top: 10px;
}
@media screen and (min-width: 968px) {
  .c-list-article .c-tagList {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-list-article .-ttl {
  margin-top: 10px;
  font-weight: var(--font-m);
}
.c-list-article .-date {
  display: inline-block;
  margin-top: 20px;
  color: #626C71;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (min-width: 968px) {
  .c-list-article .-date {
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    bottom: 10px;
    left: 10px;
  }
}
.c-list-article .-btn {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: var(--font-m);
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media screen and (min-width: 968px) {
  .c-list-article .-btn {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-list-article .-btn::after {
  content: "";
  display: inline-block;
  width: 7px;
  aspect-ratio: 1/1;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  -webkit-transform: rotate(45deg) translateY(2px);
          transform: rotate(45deg) translateY(2px);
}

html {
  color: var(--color-font);
}

body {
  font-weight: var(--font-r);
  letter-spacing: 0.36px;
}
svg {
  width: 100%;
  height: 100%;
}

a {
  color: var(--color-link);
  text-decoration: none;
}

a.c-telLink {
  color: var(--color-font);
  text-decoration: none;
}
@media screen and (min-width: 968px) {
  a.c-telLink {
    pointer-events: none;
    cursor: default;
  }
}

button {
  cursor: pointer;
}

#wrapper {
  margin-bottom: 0;
}

#utility {
  position: relative;
}

#wrapper {
  padding-top: 50px;
}
@media screen and (min-width: 968px) {
  #wrapper {
    padding-top: 90px;
  }
}

.l-fcajHead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: 3px solid var(--color-main);
  padding: 0 10px;
  height: 50px;
  background: #fff;
  width: 100%;
  position: fixed;
  top: 50px;
  right: 0;
  z-index: 999;
}
@media screen and (min-width: 968px) {
  .l-fcajHead {
    height: 90px;
    width: calc(100% - 200px);
    border-width: 6px;
    padding: 0 20px;
    top: 0;
  }
}
@media screen and (min-width: 968px) {
  .l-fcajHead {
    padding: 0 40px;
  }
}
.l-fcajHead__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 40%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-fcajHead .-logo {
  max-width: 134px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 968px) {
  .l-fcajHead .-logo {
    max-width: 242px;
  }
}
@media screen and (min-width: 968px) {
  .l-fcajHead .-logo:hover {
    opacity: 0.7;
  }
}
.l-fcajHead .-search {
  max-width: 150px;
  margin: 0 0 0 auto;
  position: relative;
}
@media screen and (min-width: 968px) {
  .l-fcajHead .-search {
    max-width: 290px;
  }
}
.l-fcajHead .-search input {
  background: var(--color-bg);
  padding: 5px 25px 5px 10px;
  width: 100%;
  height: 30px;
}
.l-fcajHead .-search input::-webkit-input-placeholder {
  color: var(--color-font);
}
.l-fcajHead .-search input::-moz-placeholder {
  color: var(--color-font);
}
.l-fcajHead .-search input:-ms-input-placeholder {
  color: var(--color-font);
}
.l-fcajHead .-search input::-ms-input-placeholder {
  color: var(--color-font);
}
.l-fcajHead .-search input::placeholder {
  color: var(--color-font);
}
@media screen and (min-width: 968px) {
  .l-fcajHead .-search input {
    padding: 5px 45px 5px 15px;
    height: 50px;
  }
}
.l-fcajHead .-search button {
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 968px) {
  .l-fcajHead .-search button {
    width: 25px;
    height: 25px;
    right: 15px;
  }
}

.l-main {
  background: var(--color-bg);
  padding: 20px 10px 80px;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (min-width: 968px) {
  .l-main {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 40px 60px 130px;
  }
}
@media screen and (min-width: 1200px) {
  .l-main {
    padding: 40px 80px 130px;
  }
}

.l-category-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 968px) {
  .l-category-list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 30px;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-category-list__ttl {
  color: var(--color-main);
  font-weight: var(--font-b);
  letter-spacing: 3.2px;
  text-align: center;
}
.l-category-list__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
@media screen and (min-width: 968px) {
  .l-category-list__list {
    gap: 10px 20px;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.l-category-list__list li a {
  display: inline-block;
  padding: 5px 10px;
  background: #fff;
  color: var(--color-font);
}
.l-category-list__list li a::first-letter {
  color: var(--color-main);
}
.l-category-list__list li a:hover {
  text-decoration: none;
}
@media screen and (min-width: 968px) {
  .l-category-list__list li a:hover:hover {
    opacity: 0.7;
  }
}

.l-main.-list .l-category-list {
  margin-top: 50px;
}
.l-main.-list .c-ttl-1 {
  margin-top: 20px;
}
.l-main.-list .l-article-list {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 20px;
}
@media screen and (min-width: 968px) {
  .l-main.-list .l-article-list {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 20px;
  }
  .l-main.-list .l-article-list.-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1342px) {
  .l-main.-list .l-article-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1676px) {
  .l-main.-list .l-article-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 2010px) {
  .l-main.-list .l-article-list {
    grid-template-columns: repeat(5, 1fr);
  }
}

.l-page {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 50px;
}
.l-page__item:not(.-current) a {
  text-decoration: none;
}
@media screen and (min-width: 968px) {
  .l-page__item:not(.-current) a:hover {
    opacity: 0.7;
  }
}
.l-page__item:not(.-arrow) a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 27px;
  aspect-ratio: 1/1;
  background: #fff;
  border: 1px solid var(--color-main);
  color: var(--color-main);
}
.l-page__item.-current a {
  background: var(--color-main);
  color: #fff;
  pointer-events: none;
  cursor: default;
}
.l-page__item.-arrow a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 15px;
  aspect-ratio: 1/1;
}
.l-page__item.-arrow a::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-page__item.-next a::before {
  border-left: none;
  border-bottom: none;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
}

.l-article {
  background: #fff;
  --sidePadding: 10px;
  padding: 0 var(--sidePadding) 50px;
}
@media screen and (min-width: 968px) {
  .l-article {
    max-width: calc(1080px + 10%);
    --sidePadding: 40px;
    padding-bottom: 70px;
    margin: 0 auto;
  }
}
.l-article .-categoryList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px 10px;
  padding: 10px 0 13px;
  position: relative;
}
@media screen and (min-width: 968px) {
  .l-article .-categoryList {
    gap: 10px 20px;
  }
}
.l-article .-categoryList li {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: var(--font-m);
  position: relative;
}
@media screen and (min-width: 968px) {
  .l-article .-categoryList li {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.l-article .-categoryList li p {
  margin-top: 0;
}
.l-article .-categoryList li::first-letter {
  color: var(--color-main);
}
.l-article .-categoryList::after {
  content: "";
  display: inline-block;
  width: calc(100% + var(--sidePadding) * 2);
  height: 3px;
  background: var(--color-bg);
  position: absolute;
  bottom: 0;
  left: calc(0% - var(--sidePadding));
}
.l-article .c-tagList {
  margin-top: 15px;
}
@media screen and (min-width: 968px) {
  .l-article .c-tagList {
    margin-top: 30px;
    gap: 10px 20px;
  }
}
.l-article .-ttl {
  margin-top: 15px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-m);
}
@media screen and (min-width: 968px) {
  .l-article .-ttl {
    font-size: 30px;
    font-size: 3rem;
    margin-top: 20px;
  }
}
.l-article .-date {
  margin-top: 15px;
  color: #626C71;
  position: relative;
}
.l-article .-date::before {
  content: "";
  width: calc(100% - 85px);
  height: 2px;
  background: var(--color-bg);
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
}
@media screen and (min-width: 968px) {
  .l-article .-date {
    margin-top: 25px;
  }
  .l-article .-date::before {
    width: calc(100% - 100px);
  }
}
.l-article .-img {
  text-align: center;
  margin-top: 20px;
}
@media screen and (min-width: 968px) {
  .l-article .-img {
    margin-top: 30px;
  }
}
.l-article .c-articleNav {
  margin-top: 40px;
  background: #DDF0FF;
  padding: 0 10px;
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav {
    margin-top: 80px;
    padding: 0 40px 10px;
  }
}
.l-article .c-articleNav + * {
  margin-top: 50px;
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav + * {
    margin-top: 60px;
  }
}
.l-article .c-articleNav__btn {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  text-align: left;
  width: 100%;
  padding: 10px 5px 10px 0;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-m);
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav__btn {
    grid-template-columns: 30px 1fr auto;
    padding: 20px 5px 10px 0;
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.l-article .c-articleNav__btn::after {
  content: "";
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  border-right: 2px solid var(--color-sub);
  border-bottom: 2px solid var(--color-sub);
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-bottom: 0;
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav__btn::after {
    width: 13px;
  }
}
.l-article .c-articleNav__btn.-close::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-bottom: 3px;
}
.l-article .c-articleNav__list {
  border-top: 2px solid #AFCDE4;
  padding: 15px 0 20px;
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav__list {
    padding: 20px 0 20px;
  }
}
.l-article .c-articleNav__list li + li {
  margin-top: 15px;
}
@media screen and (min-width: 968px) {
  .l-article .c-articleNav__list li + li {
    margin-top: 20px;
  }
}
.l-article .c-articleNav__list li + .-level2, .l-article .c-articleNav__list li + .-level3 {
  margin-top: 10px;
}
.l-article .c-articleNav__list li a {
  display: inline-block;
  font-weight: var(--font-m);
  color: var(--color-font);
  text-decoration: underline;
  text-underline-position: from-font;
}
@media screen and (min-width: 968px) and (min-width: 968px) {
  .l-article .c-articleNav__list li a:hover {
    text-decoration: none;
  }
}
.l-article .c-articleNav__list li.-level2 a, .l-article .c-articleNav__list li.-level3 a {
  position: relative;
}
.l-article .c-articleNav__list li.-level2 a::before, .l-article .c-articleNav__list li.-level3 a::before {
  content: "";
  display: inline-block;
  width: 3px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background: var(--color-font);
  position: absolute;
  top: 0.65em;
  left: -10px;
}
.l-article .c-articleNav__list li.-level2 a {
  font-weight: var(--font-r);
  margin-left: 20px;
}
.l-article .c-articleNav__list li.-level3 a {
  font-weight: var(--font-r);
  margin-left: 40px;
}
.l-article__lead {
  line-height: var(--lhL);
}

.l-article__contents {
  --marginTop: 20px;
}
.l-article__contents > * + * {
  margin-top: var(--marginTop);
}
.l-article__contents h3 {
  padding: 10px;
  background: var(--color-bg);
  border-top: 2px solid var(--color-main);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-m);
  margin-top: 60px;
}
@media screen and (min-width: 968px) {
  .l-article__contents h3 {
    font-size: 23px;
    font-size: 2.3rem;
    padding: 15px;
  }
}
.l-article__contents h3 + * {
  margin-top: calc(var(--marginTop) + 10px);
}
@media screen and (min-width: 968px) {
  .l-article__contents h3 + * {
    margin-top: calc(var(--marginTop) + 20px);
  }
}
.l-article__contents h4 {
  padding-left: 10px;
  border-left: 3px solid var(--color-main);
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-m);
  margin-top: 30px;
}
@media screen and (min-width: 968px) {
  .l-article__contents h4 {
    font-size: 20px;
    font-size: 2rem;
    margin-top: 40px;
  }
  .l-article__contents h4 + * {
    margin-top: calc(var(--marginTop) + 10px);
  }
}
.l-article__contents h5 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-m);
  margin-top: 30px;
}
@media screen and (min-width: 968px) {
  .l-article__contents h5 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.l-article__contents h6 {
  font-weight: var(--font-m);
  margin-top: 30px;
}
.l-article__contents p {
  margin-top: var(--marginTop);
  line-height: 2;
}
.l-article__contents p + p {
  margin-top: 10px;
}
.l-article__contents .c-article__img {
  text-align: center;
}
.l-article__contents .c-article__img figcaption {
  margin-top: 5px;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (min-width: 968px) {
  .l-article__contents .c-article__img figcaption {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.l-article__contents .c-article__colImg {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 10px;
}
@media screen and (min-width: 968px) {
  .l-article__contents .c-article__colImg {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .l-article__contents .c-article__colImg.-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-article__contents .c-article__colImg.-col4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.l-article__contents .c-article__imgAndTxt > * + * {
  margin-top: var(--marginTop);
}
@media screen and (min-width: 968px) {
  .l-article__contents .c-article__imgAndTxt {
    position: relative;
  }
  .l-article__contents .c-article__imgAndTxt::after {
    content: "";
    display: block;
    clear: both;
  }
  .l-article__contents .c-article__imgAndTxt .c-article__img {
    max-width: calc(50% - 10px);
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
  }
  .l-article__contents .c-article__imgAndTxt.-imgRight .c-article__img {
    float: right;
    margin-left: 20px;
    margin-right: 0;
  }
}

.mod-cmn-movie {
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.mod-cmn-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mod-cmn-movie a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--color-bg);
}
@media screen and (min-width: 968px) {
  .mod-cmn-movie a:hover:hover {
    opacity: 0.7;
  }
}

.txt-cmn-caption {
  margin-top: 10px;
  font-size: 1.2rem;
  text-align: center;
  color: #555;
}
.txt-cmn-caption.s-taR {
  text-align: right;
}

.c-article__share {
  margin-top: 50px;
  padding: 20px;
  background: var(--color-bg);
}
@media screen and (min-width: 968px) {
  .c-article__share {
    margin-top: 80px;
    display: grid;
    grid-template-columns: auto auto;
    gap: 20px 60px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-article__share .-ttl {
  margin-top: 0;
  color: var(--color-main);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-b);
  text-align: center;
}
@media screen and (min-width: 968px) {
  .c-article__share .-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-article__share__list {
  margin-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px 25px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 968px) {
  .c-article__share__list {
    margin-top: 0;
  }
}
.c-article__share__list li {
  max-width: 40px;
}
@media screen and (min-width: 968px) {
  .c-article__share__list li a:hover {
    opacity: 0.7;
  }
}

.l-recommend {
  margin-top: 3px;
  background: #fff;
  padding: 40px 10px 50px;
}
@media screen and (min-width: 968px) {
  .l-recommend {
    max-width: calc(1080px + 10%);
    margin: 3px auto;
    padding: 30px 40px 70px;
  }
}
.l-recommend > .-ttl {
  font-family: var(--font-zenkaku);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-m);
  text-align: center;
}
.l-recommend > .-ttl::first-letter {
  color: var(--color-main);
}
@media screen and (min-width: 968px) {
  .l-recommend > .-ttl {
    font-size: 23px;
    font-size: 2.3rem;
  }
}
.l-recommend__list {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.l-recommend__list .c-list-article {
  background: var(--color-bg);
}
.l-recommend__list .c-list-article figure {
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (min-width: 968px) {
  .l-recommend__list {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

.mt0 {
  margin-top: 0;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}