@charset "UTF-8";

/**
 * add blog style
 */

/*==============================================================================
Basic style
============================================================================= */
strong {
  font-weight: bolder;
}


/*==============================================================================
toc_container style
============================================================================= */
@media screen and (max-width: 767px) {
  #toc_container {
    position: relative;
    height: 56.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #f8f8f8;
    border-radius: 0.9375rem;
    padding: 4.375rem 2.1875rem 3rem 1.875rem;
    margin: 5.25rem 0 5.75rem;
  }
  #toc_container.is-disabled {
    height: auto;
  }
  #toc_container.is-open {
    height: 100%;
    padding-bottom: 10.625rem;
  }
  #toc_container::before {
    content: '';
    width: 100%;
    height: 45rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: rgb(242,242,242);
    background: linear-gradient(180deg, rgba(242,242,242,0) 0%, rgba(242,242,242,1) 80%, rgba(242,242,242,1) 100%);
    border-radius: 0.9375rem;
  }
  #toc_container.is-disabled::before {
    display: none;
  }
  #toc_container.is-open::before {
    display: none;
  }
  #toc_container .toggle-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: 3rem;
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
    width: 20rem;
    height: 5rem;
    border: 1px solid #0c0c0c;
    border-radius: 100vmax;
    background: #0c0c0c;
    color: #fff;
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
  }
  #toc_container .toggle-button:hover {
    opacity: 0.8;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #toc_container.is-open .toggle-button {
    bottom: 2.5rem;
  }
  #toc_container p.toc_title {
    position: absolute;
    top: -1.125rem;
    left: 1.25rem;
    font-size: 2.625rem;
    letter-spacing: 0.06em;
    color: #cc0000;
    font-family: "Hitachi Sans";
    margin: 0;
    line-height: 1;
    text-align: left;
  }
  #toc_container p.toc_title+ul.toc_list {
    margin-top: 0;
  }
  #toc_container .toc_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    height: 45rem;
  }
  #toc_container.is-disabled .toc_list {
    height: auto;
  }
  #toc_container.is-open .toc_list {
    height: 100%;
  }
  #toc_container .toc_list li {
    margin-top: 1.3125rem;
  }
  #toc_container .toc_list li a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    color: inherit;
  }
  #toc_container ul.toc_list > li:first-child {
    margin-top: 0;
  }
  #toc_container .toc_list li.toc_indent {
    text-indent: -0.0625rem;
    padding-left: 4.375rem;
    margin-top: 0.875rem;
  }
  #toc_container .toc_list li.toc_indent .toc_text {
    font-weight: normal;
  }
  #toc_container .toc_number {
    display: inline-block;
    font-size: 2.5rem;
    letter-spacing: 0.06em;
    line-height: 1.4;
    color: #cc0000;
    font-family: "Hitachi Sans";
    width: 5rem;
  }
  #toc_container .toc_number_border {
    position: absolute;
    top: 1.5625rem;
    left: -2.5rem;
    display: inline-block;
    width: 1.25rem;
    height: 0.3125rem;
    background: #cc0000;
  }
  #toc_container .toc_text {
    display: inline-block;
    width: 37.5rem;
    text-decoration: underline;
    text-decoration-color: #0c0c0c;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.1em;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    font-size: 1.875rem;
    letter-spacing: 0.06em;
    line-height: 1.84;
    color: #0c0c0c;
    font-weight: bold;
  }
}

@media screen and (min-width: 768px) {
  #toc_container {
    position: relative;
    height: 34.375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #f8f8f8;
    border-radius: 0.9375rem;
    padding: 2.3125rem 1.875rem 3rem 1.875rem;
    margin: 2.75rem 0 2.4375rem;
  }
  #toc_container.is-disabled {
    height: auto;
  }
  #toc_container.is-open {
    height: 100%;
    padding-bottom: 5.625rem;
  }
  #toc_container::before {
    content: '';
    width: 100%;
    height: 30rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: rgb(242,242,242);
    background: linear-gradient(180deg, rgba(242,242,242,0) 0%, rgba(242,242,242,1) 80%, rgba(242,242,242,1) 100%);
    border-radius: 0.9375rem;
  }
  #toc_container.is-disabled::before {
    display: none;
  }
  #toc_container.is-open::before {
    display: none;
  }
  #toc_container .toggle-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
    width: 11.5625rem;
    height: 2.75rem;
    border: 1px solid #0c0c0c;
    border-radius: 100vmax;
    background: #0c0c0c;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
  }
  #toc_container .toggle-button:hover {
    opacity: 0.8;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #toc_container.is-open .toggle-button {
    bottom: 1rem;
  }
  #toc_container p.toc_title {
    position: absolute;
    top: -0.75rem;
    left: 1.25rem;
    font-size: 1.75rem;
    letter-spacing: 0.06em;
    color: #cc0000;
    font-family: "Hitachi Sans";
    margin: 0;
    line-height: 1;
    text-align: left;
  }
  #toc_container p.toc_title+ul.toc_list {
    margin-top: 0;
  }
  #toc_container .toc_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    height: 30rem;
  }
  #toc_container.is-disabled .toc_list {
    height: auto;
  }
  #toc_container.is-open .toc_list {
    height: 100%;
  }
  #toc_container .toc_list li {
    margin-top: 1.3125rem;
  }
  #toc_container .toc_list li a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    color: inherit;
  }
  #toc_container ul.toc_list > li:first-child {
    margin-top: 0;
  }
  #toc_container .toc_list li.toc_indent {
    text-indent: -0.0625rem;
    padding-left: 3.4375rem;
    margin-top: 0.125rem;
  }
  #toc_container .toc_list li.toc_indent .toc_text {
    font-weight: normal;
  }
  #toc_container .toc_number {
    display: inline-block;
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    line-height: 1;
    color: #cc0000;
    font-family: "Hitachi Sans";
    width: 2.5rem;
  }
  #toc_container .toc_number_border {
    position: absolute;
    top: 0.9375rem;
    left: -1.25rem;
    display: inline-block;
    width: 0.625rem;
    height: 0.125rem;
    background: #cc0000;
  }
  #toc_container .toc_text {
    display: inline-block;
    width: 37.5rem;
    text-decoration: underline;
    text-decoration-color: #0c0c0c;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.5em;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.83;
    color: #0c0c0c;
    font-weight: bold;
  }
}


/*==============================================================================
Add toc_container style
============================================================================= */
@media screen and (max-width: 767px) {
  #toc_container ul.toc_list > li {
    padding-bottom: 0.875rem;
  }
  #toc_container ul.toc_list ul li {
    text-indent: -0.0625rem;
    padding-left: 4.375rem;
    margin-top: 0.875rem;
  }
  #toc_container ul.toc_list ul li .toc_text {
    font-weight: normal;
  }
}

@media screen and (min-width: 768px) {
  #toc_container ul.toc_list > li {
    padding-bottom: 0.125rem;
  }
  #toc_container ul.toc_list ul li {
    text-indent: -0.0625rem;
    padding-left: 3.4375rem;
    margin-top: 0.125rem;
  }
  #toc_container ul.toc_list ul li .toc_text {
    font-weight: normal;
  }
}
