@charset"UTF-8";

:root{
    --spacing-1: 0.25rem;
    --spacing-2: 0.5rem;
    --spacing-3: 0.75rem;
    --spacing-4: 1rem;
    --spacing-5: 1.5rem;
    --spacing-6: 2rem;
    --spacing-7: 3rem;
    --spacing-8: 4rem;
    --spacing-9: 5rem;
    --spacing-10: 6rem;
    --spacing-11: 8rem;
    --spacing-12: 10rem;
    --spacing-13: 12rem;
    --spacing-sc2: 0.375rem;
    --spacing-sc3: 0.625rem;
    --spacing-sc4: 0.875rem;
    --spacing-scb1: 0.1875rem;
    --spacing-scb2: 0.3125rem;
    --spacing-scb3: 0.5625rem;
    --spacing-scb4: 0.8125rem;
    --font-sizes-1: 0.75rem;
    --font-sizes-2: 0.875rem;
    --font-sizes-3: 1rem;
    --font-sizes-4: 1.25rem;
    --font-sizes-5: 1.5rem;
    --font-sizes-6: 1.75rem;
    --font-sizes-7: 2.25rem;
    --font-sizes-8: 2.75rem;
    --font-weights-normal: 400;
    --font-weights-medium: 500;
    --font-weights-bold: 700;
    --line-heights-tighter: 1.125;
    --line-heights-tight: 1.25;
    --line-heights-normal: 1.5;
    --line-heights-loose: 2;
  }

/********************************************
  ヘッダー                                    */
#header_box.contents_bloc {
  position :sticky;
}

@media (max-width: 767px) {
#header_box.contents_bloc {
  position :sticky;
  display: flex;
  flex-direction: column;
  align-items: center;
}
}

@media (max-width: 767px) {
  .menu_link{
    height: 50px;
  }
}

a.entry-button {
  margin : 16px clamp(10px, calc(2.2vw - 16.67px), 30px);
  padding : 12px 28px;
  border-radius : 40px;
  background-color : #FF8E1E;
  color : #FFF;
  font-weight : 700;
}

.entry-button:hover {
  text-decoration : none;
}

.entry-button:before {
  content : none;
}

main{
  padding-top: 100px;
}

/* article_l */
.article-index {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  margin-inline: auto;
  padding: 0 15px;
  padding-inline: 15px;
}

@media (min-width: 576px) {
  .article-index {
    max-width: 576px;
  }
}

@media (min-width: 768px) {
  .article-index {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .article-index {
    max-width: 940px;
  }
}

@media (min-width: 1200px) {
  .article-index {
    max-width: 1140px;
  }
}

.article-index__header{
  padding: 0 1rem 2rem
}

.article-index__heading {
  font-size: 44px;
  margin-top: 28px;
}

@media (min-width: 768px){
.article-index__heading {
  font-size: 42px;
  margin-bottom: 28px
}
}

.article-index__lead {
  margin-bottom: var(--spacing-8);
}

.article-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 24px;
  row-gap: 40px;
  padding-bottom: 30px;
}

@media (max-width: 992px) {
  .article-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .article-list {
    grid-template-columns: 1fr;
  }
}

.article-card {
}

.article-card a {
  color: #000;
}

.article-card__thumb {
  aspect-ratio: 1.7436 / 1;
  overflow: hidden;
  border-radius: 8px;
}

.article-card__thumb picture {
}

.article-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.article-card__title {
  font-weight: 600;
  padding-top: 2rem;
}

.article-card__summary {
}

.cta-section {
    align-items: center;
    background-color: #f0f0f0;
    display: flex;
    flex-direction: column;
    margin-top: 36px;
    margin-bottom: 30px;
    padding: 30px;
    width: 100%;
    border-radius: 8px
}


@media (max-width: 767px) {
.cta-section {
    padding: 15px;
}
}


.cta-section__heading {
    font-weight: 600;
    font-style: normal;
    line-height: var(--line-heights-normal);
    padding-bottom: 20px;
}

.cta-section__button {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 17px 16px;
    position: static;
    min-width: 120px;
    min-height: 52px;
    width: auto;
    height: auto;
    left: 557px;
    top: 126px;
    background: #2557a7;
    border-radius: 8px;
    flex: none;
    order: 1;
    flex-grow: 0;
    margin:20px auto 0;
    color: #fff!important;
    font-family: "Noto Sans",sans-serif;
    font-size: 20px;
    line-height: 112.5%;
    text-decoration: none!important
}

.cta-section__button:hover{
  outline-offset: .25rem;
  background: #164081 !important;
}

/* article_d */
.article{
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  margin-inline: auto;
  padding: 0 15px;
  padding-inline: 15px;
  line-height: 1.5;
}

.article__header{
  display: flex;
  flex-direction: column;
  margin-top: 32px;
}

.article-title{
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -1px;
  margin-bottom: 32px;
  order: 2;
}

@media (max-width: 767px) {
  .article-title {
    font-size: 28px;
    margin-bottom: 24px;
  }
}

.article-meta{
  text-align: right;
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  order: 1;
}

.article-image{
  width: 100%;
  max-width: 640px;
  overflow: hidden;
  border-radius: 8px;
  margin: 0 auto 32px;
  margin-inline: auto;
  order: 3;
}

.article-lead{
  line-height: var(--line-heights-loose);
  order: 4;
}

.article-toc{
  margin-top: 24px;
  background: #f0f0f0;
  padding: 18px;
}

.toc-title{
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 8px;
}

.toc-list{
  display: flex;
  flex-direction: column;
  gap: 8px 0;
  list-style-position: inside;
  padding-left: 0;

}

.article-toc__link{
  color: #000;
}

.article-section{
  margin-top: 36px;
  scroll-margin-top: 100px;
}

/* .article-section::before {

content:"";
  display:block;
  height:100px;
  margin-top:calc(-1 * 100px);

} */

.article-section__title{
  background: #000;
  color: #fff;
  padding: 1rem;
  font-weight: 600;
  font-size: 24px;
}

.article-section__image{
  width: 100%;
  max-width: 640px;
  overflow: hidden;
  border-radius: 8px;
  margin: 36px auto 32px;
  margin-inline: auto;
  order: 3;
}

.article-section p{
  margin-top: 24px;
  line-height: var(--line-heights-loose);
}

.article-section__subheading{
  font-weight: 600;
  margin-top: 3.0rem;
  margin-bottom: 1.0rem;
}

.article-section__body{
  line-height: var(--line-heights-loose);  
}

.article-author{
  margin-top: 36px;
  text-align: right;
  font-size: 1.6rem;
  font-style: normal;
}