@charset "UTF-8";

/* 基本設定 */
:root {
  --white: #fff;
  --black: #333;
  --gray: #6e6e6e;
  --thema: #7fcaca;
}
* {
  box-sizing: border-box;
}
body {
  background-color: #c7c7c7;
  padding-bottom: 100px;
  font-size: 16px;
}
summary {
  list-style: none;
  cursor: pointer;
  outline: transparent;
}
.Wrapper {
  padding: 20px;
}

/* グローバルヘッダー */
.glbHeader {
  margin-bottom: 100px;
}
.glbHeader h1 {
  display: inline-block;
  background-color: var(--white);
  padding: 5px 15px;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  margin: 0;
  font-size: 30px;
}
.glbHeader > div {
  background-color: var(--white);
  padding: 5px 20px;
  border-radius: 5px;
  border-top-left-radius: 0;
  box-shadow: 1px 1px 10px #969696;
  margin-right: 100px;
}



/* アコーディオンセクション */
.accordionSection {
  position: relative;
  overflow: hidden;
  counter-increment: num;
  background-color: var(--white);
  padding: 20px;
  border-radius: 5px;
  box-shadow: 1px 1px 10px #969696;
}
.accordionSection::after {
  content: "";
  position: absolute;
  top: -70px;
  left: -105px;
  z-index: 0;
  width: 170px;
  height: 120px;
  transform: rotate(-45deg);
}
.accordionSection:nth-of-type(1)::after {
  background-color: rgba(0,255,255);
}
.accordionSection:nth-of-type(2)::after {
  background-color: rgba(0,255,0);
}
.accordionSection:nth-of-type(3)::after {
  background-color: rgba(255,0,0);
}
.accordionSection:nth-of-type(4)::after {
  background-color: rgba(255,255,0);
}
.accordionSection:nth-of-type(5)::after {
  background-color: rgba(0,0,255);
}



.accordionSection + .accordionSection {
  margin-top: 40px;
}
.accordionSection__title {
  display: flex;
  align-items: center;
  padding-left: 10px;
  /* border-left: 10px solid var(--thema); */
  font-size: 24px;
  margin-block-start: 0;
  margin-block-end: 20px;

}
.accordionSection__title:before {
  flex-shrink: 0;
  content: "type-" counter(num);
  display: inline-block;
  margin-right: 10px;
  font-size: 14px;
  text-shadow: 1px 1px 1px 10px var(--white);
}
.accordionSection__title span {
  /* background-color: #969696; */
  background-color: var(--black);
  padding: .2em .7em;
  border-radius: 5px;
  margin-left: auto;
  font-size: 16px;
  color: var(--white);
}
.accordionSection__description {
  padding: 0 15px;
  border-left: 2px dotted #ccc;
  border-right: 2px dotted #ccc;
  margin: 0 20px 20px;
  color: var(--black);
  line-height: 1.7;
}

code {
  background-color: var(--black);
  padding: .2em .4em;
  margin: 0 .2em;
  color: var(--white);
}
/* code::before {
  content: "<";
}
code::after {
  content: ">";
} */

/* アコーディオンメニュー */
.accordionMenu {
  border: 1px solid var(--black);
  border-top: 1px solid transparent;
}
.accordionMenu input[type="radio"],
.accordionMenu input[type="checkbox"] {
  display: none;
}
.accordionMenu input:checked + label div {
  display: block;
}

.accordionMenu input:checked + label .openBtn,
.accordionMenu details[open] .openBtn,
.openBtn.is-open {
  background-color: var(--gray);
  /* background-color: var(--thema); */
  color: var(--white);
}

.accordionMenu input:checked + label .openBtn::after,
.accordionMenu details[open] .openBtn::after,
.openBtn.is-open::after {
  content: "－";
}

/* 1つ1つのアコーディオン */
.accordionMenu label,
.accordionMenu details {
  display: block;
  background-color: var(--white);
  -webkit-appearance: none;
  appearance: none;
}
.accordionMenu label .contents {
  display: none;
}

/* 開くボタン */
.openBtn {
  position: relative;
  display: block;
  background-color: #cfcfcf;
  padding: 10px;
  border-top: 1px solid var(--black);
  font-weight: 600;
  transition: .3s;
  cursor: pointer;
}
.openBtn::after,
.openBtn.is-close::after {
  content: "＋";
  position: absolute;
  top: calc( 50% - 10px );
  right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: 20px;
}
.openBtn:hover {
  background-color: var(--gray);
  color: white;
  transition: .3s;
}

/* コンテンツ領域 */
.contents {
  padding: 10px 20px;
  background-color: var(--white);
  border-top: 1px solid var(--black);
  line-height: 1.7;
}
.contents.is-close {
  display: none;
}
.contents.is-open {
  display: block;
}


/* フッター */
.glbFooter {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color: var(--white);
  width: 200px;
  padding: 10px;
  /* margin: 0 auto; */
  margin-top: 100px;
  margin-left: auto;
  /* text-align: right; */
  border-radius: 5px;
  box-shadow: 1px 1px 10px #969696;
}
.glbFooter small {
  font-size: 14px;
}