/*
	用語集詳細
*/

.section {
  display: grid;
  grid-template-columns: 4fr 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 50px;
  grid-row-gap: 0px;
  align-items: start;
}

.glossary_detail_side_block {
}
.glossary_detail_block {
  grid-area: 1 / 1 / 2 / 2;
}
@media screen and (min-width: 769px) {
  .glossary_detail_side_block {
    position: sticky;
    top: 80px;
    z-index: 10;
  }
  .glossary_detail_side_block--header {
    grid-area: 1 / 2 / 2 / 3;
  }
  .glossary_detail_side_block--footer {
    display: none;
  }
  .glossary_detail_side_nav_item--back {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .section {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    grid-column-gap: 0px;
    grid-row-gap: 40px;
  }
  .glossary_detail_side_block {
    margin: 0 20px;
    padding: 10px;
    background: #fff;
    border: 2px solid #44aeea;
    border-radius: 8px;
  }
  .glossary_detail_side_block--header {
    grid-area: 1 / 1 / 2 / 2;
  }
  .glossary_detail_side_block--footer {
    grid-area: 3 / 1 / 4 / 2;
  }
  .glossary_detail_block {
    padding: 0 20px;
    grid-area: 2 / 1 / 3 / 2;
  }
}

.arrow {
  position: relative;
  display: inline-block;
  padding: 10px;
}

.arrow::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #44aeea;
  border-right: solid 2px #44aeea;
  position: absolute;
  left: 5px;
  top: 50%;
}
.arrow.arrow-right::before {
  /* transform: rotate(45deg) translateY(-50%); */
  rotate: 45deg;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .arrow::before {
    width: 8px;
    height: 8px;
  }
}

.glossary_list_item a:hover {
  color: #fff;
  background: #44aeea;
}
.glossary_list_item a:hover::before {
  border-color: #fff;
}

.glossary_detail_side_title {
  color: #44aeea;
  font-size: 2.5rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .glossary_detail_side_title {
    font-size: 2rem;
    margin-bottom: 8px;
  }
}
.glossary_detail_side_nav {
  border: 2px solid #44aeea;
}
.glossary_detail_side_nav_item:not(:first-child) {
  border-top: 2px solid #44aeea;
}
.glossary_detail_side_nav_item a {
  display: block;
  padding: 10px;
  padding-left: 30px;
  text-decoration: none;
  color: #000;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .glossary_detail_side_nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    border: none;
  }
  .glossary_detail_side_nav_item:not(:first-child) {
    border-top: none;
  }
  .glossary_detail_side_nav_item a {
    display: block;
    width: 100%;
    padding: 3px 10px 5px;
    padding-left: 25px;
    border: 2px solid #44aeea;
    border-radius: 8px;
    color: #44aeea;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: bold;
    color: #44aeea;
  }
  .glossary_detail_side_nav_item--back a {
    color: #fff;
    background-color: #44aeea;
  }
  .glossary_detail_side_nav_item--back .arrow::before {
    border-top-color: #fff;
    border-right-color: #fff;
  }
}

.glossary_detail_block_title {
  margin-top: -70px;
  margin-bottom: 20px;
  padding-top: 70px;
  padding-bottom: 10px;
  text-align: left;
  border-bottom: 2px solid #44aeea;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .glossary_detail_block_title {
    font-size: 2.5rem;
    /* margin-top: -330px;
    padding-top: 330px; */
  }
}

.glossary_detail_block_title ~ .glossary_detail_block_title {
  margin-top: 0px;
}
@media screen and (max-width: 768px) {
  .glossary_detail_block_title ~ .glossary_detail_block_title {
    /* margin-top: -290px; */
    /* padding-top: 330px; */
  }
}

.glossary_detail_list_item ~ .glossary_detail_list_item {
  margin-top: 20px;
}

.glossary_detail_title {
  font-size: 2rem;
  padding-left: 30px;
  cursor: pointer;
}
.glossary_detail_title::before {
  transition: rotate 0.3s;
}
.glossary_detail_content {
  height: 0;
  opacity: 0;
  transition: height 0.2s, opacity 0.2s;
}
.glossary_detail_how_to_read {
  font-size: 2rem;
}
.glossary_detail_text {
  margin-top: 15px;
  font-size: 2rem;
}
.glossary_detail_synonym {
  margin-top: 15px;
  font-size: 1.6rem;
}
.glossary_detail_category_list {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 15px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .glossary_detail_how_to_read {
    font-size: 1.6rem;
  }
  .glossary_detail_text {
    margin-top: 10px;
    font-size: 1.6rem;
  }
  .glossary_detail_synonym {
    margin-top: 10px;
    font-size: 1.4rem;
  }
  .glossary_detail_category_list {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.glossary_detail_category_list li {
  color: #44aeea;
}
.glossary_detail_category_list li ~ li {
  margin-left: 10px;
}
.glossary_detail_category_list li::before {
  content: "#";
}

/* 用語詳細表示 */
.active .arrow::before {
  rotate: 135deg;
}
.active .glossary_detail_content {
  height: 100%;
  opacity: 1;
}
