/*
# =================================================================
# CCCAの活動・アーカイブ ＞ 活動報告
# =================================================================
*/

p {
  line-height: 2;
}

.blue {
  color: #0329ce;
}
.orange {
  color: #eca100;
}
.darkgray {
  color: #808080;
}

.green {
  color: green;
}

.excuse {
  color: #ff00a6;
}

/*見出し内リンク*/
h2 a {
  color: #000;
  text-decoration: underline;
}
h2 a:hover {
  color: #505050;
  text-decoration: none;
}


.tbl-basic,
.tbl-basic th,
.tbl-basic td {
  border-color: var(--black);
}
.tbl-basic td::before {
  border-right-color: var(--black);
}

/*--------------------------*/
/*表紙*/
/*--------------------------*/
/*サムネイル一覧*/
#information-year {
  margin-top: 30px;
}

#information-year ul {
  max-width: 400px;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

#information-year a:hover p {
  text-decoration: underline;
}
#information-year p a:hover {
  text-decoration: underline;
}

#information-year img {
  border: 1px solid var(--border-color);
}

#information-year .update {
  color: #000;
  font-weight: bold;
  margin-top: 10px;
  font-size: 14px;
}

/*NEWマーク*/
#information-year .update .new {
  margin-left: 5px;
  display: inline-block;
  line-height: 100%;
  text-align: center;
  color: #fff;
  background: var(--black);
  border-radius: 2px;
  padding: 2px 5px;
}

/*アイコン*/
.mk-report {
  position: relative;
  display: inline-block;
  line-height: 100%;

  margin: 0 0 0 15px;
  padding: 2px 5px;
  min-width: 30px;
  max-width: 100%;
  color: #fff;
  background: #2EA7E0;
  border-radius: 2px;
}
.mk-report:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -8px;
  margin-top: -15px;
  margin-top: -5px;
  border: 5px solid transparent;
  border-right: 5px solid #2EA7E0;
}

/*年度一覧*/
#yearlink_nojs {
  border-top: 1px solid var(--border-color);
  padding-top: 50px;
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


@media (min-width: 560px) {
  #information-year ul {
    max-width: 100%;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 960px) {
  #information-year ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}


/*--------------------------*/
/*詳細*/
/*--------------------------*/
/*開催概要*/
.tbl-overview {
  width: 100%;
  margin-top: 40px;
  font-size: 14px;
  word-break: normal;
  overflow-wrap: anywhere;
}
.tbl-overview th,
.tbl-overview td {
  padding: 10px;
  border: 1px solid var(--black);
}
.tbl-overview th {
  width: 25%;
  background: var(--gray-200);
}
.tbl-overview ul,
.tbl-overview ol {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .tbl-overview {
    font-size: 100%;
  }
}


/*プログラム*/
table.program {
  margin-top: 20px;
}
table.program td::before {
  border-right: 1px solid var(--black);
  background: var(--gray-200);
}
table.program th {
  background: var(--gray-200);
  border: 1px solid var(--black);
}
table.program td {  
  border: 1px solid var(--black);
}
table.program td dd {
  margin: 10px 0 0 0;
}
/*区切り*/
table.program tr.separate td:first-child {
  margin-top: 10px;
}
table.program td.program-title {
  grid-template-columns: 0 1fr;
  padding: 10px;
}
table.program td.program-title::before {
  border-right-width: 0;
  background: transparent;
}
@media (min-width: 960px) {
  table.program {
    table-layout: fixed;
  }
  table.program td {
    padding: 10px 20px;
  }
}


/*プログラム２*/
.tbl-program {
  width: 100%;
  table-layout: fixed;
  font-size: 14px;
  margin-top: 20px;
}
.tbl-program th {
  background-color: #d9edf7;
  padding: 10px;
}
.tbl-program td {
  padding: 10px 5px;
  vertical-align: top;
  text-align: center;
}
.tbl-program~.tbl-program {
  margin-top: -1px;
}
@media (min-width: 960px) {
  .tbl-program {
    font-size: 100%;
  }
  .tbl-program td {
    padding: 10px;
  }
}


/*アンケート（表）*/
.tbl-survey {
  width: 100%;
  border: 0;
  font-size: 14px;
  margin-top: 30px;
}
.tbl-survey th {
  background: var(--gray-300);
  padding: 10px;
  color: #505050;
}
.tbl-survey .thead {
     display: none;
}
.tbl-survey td {
  display: block;
  margin-top: -1px;
  padding: 20px;
}
.tbl-survey td img {
  display: block;
  margin: 10px auto;
}
.tbl-survey td::before {
  content: attr(data-label);
  font-weight: bold;
}
.tbl-survey td ul {
  margin: 20px 0 0 20px;
  padding: 0;
}

/*均等*/
table.equal {
  width: 100%;
  table-layout: fixed !important;
}
table.equal img {
  margin: 0 auto;
  display: block;
  width: 100%;
  max-width: 570px;
}
table.equal td:nth-child(1) {
  width: auto !important;
}

@media (min-width: 960px) {
  .tbl-survey {
    font-size: 100%;
  }
  .tbl-survey .thead {
    display: table-row;
  }
  .tbl-survey td {
    width: auto;
    display: table-cell;
    vertical-align: top;
    grid-template-columns: none;
    column-gap: 0;
    padding: 10px;
  }
  .tbl-survey td:nth-child(1) {
    width: 40%;
  }
  .tbl-survey td::before {
    display: none;
  }
  .tbl-survey td ul {
    margin: 10px 0 0 30px;
  }
}

/*注釈*/
.note {
  margin: 30px;
}
.note p {
  font-size: 14px;
}

/*関連リンク*/
.textbox ul {
  margin-left: 20px;
  padding: 0;
}
.textbox li {
  font-size: 14px;
}
.textbox li~li {
  margin-top: 10px;
}
.textbox h6~h6 {
  margin-top: 20px;
}

@media (min-width: 960px) {
  .textbox {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .posted {
    font-size: 100%;
  }
}


/*掲載日*/
.posted {
  font-size: 14px;
  text-align: right;
  margin-top: 20px;
}

/*ページネーション*/
.nav-links {
  width: 100%;
  margin-top: 40px;  
  display: grid;
  grid-template-columns: 50% 50%;
  font-size: 12px;
}
.nav-links .nav-previous {
  text-align: left;
}
.nav-links .nav-next {
  text-align: right;
  border-left: 1px #ddd solid;
}
.nav-links a {
    color: #000;
    padding: 10px 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}


/*掲載日付近のイラスト*/
.img-posted {
  text-align: right;
  margin-top: 20px;
  margin-bottom: -20px; /*掲載日の余白分*/
}
.img-posted img {
  max-width: 110px;
}


/*画像に枠線*/
.img-border img {
  border: 1px solid var(--border-color);
}


/*FAQ全オープン*/
.faqs {
  margin-top: 20px;
}
.faqs details summary {
  line-height: 1.8;
}
.faqs details {
  height: auto;
  pointer-events: none;
}
.faqs details~details {
  margin-top: 40px;
}
.faqs .faq-body > h3 {
  margin-top: 0;
}
.faqs .textbox {
  padding: 10px;
  margin: 20px 0;
}
.faqs .textbox blockquote {
  padding: 20px;
  margin: 0;
}
.faqs ul {
  margin-top: 0px;
  margin-bottom: 20px;
}
.faqs .list {
  margin-left: 20px;
  padding: 0;
}
.faqs h3,
.faqs h4 {
  margin-bottom: 20px;
}
.faqs h3~h3 {
  margin-top: 20px !important;
}
.faqs figure {
  margin: 30px auto;
}


/*------------------------------*/
/*個別調整*/
/*------------------------------*/
/*2017/1106.html*/
/*プログラム*/
.program-1106 {
  margin-top: 10px;
}
.program-1106 dl {
  margin-left: 10px;
}
.program-1106 dd {
  margin-top: 10px;
  margin-left: 0px;
}
.program-1106 dd p {
  margin: 0;
}

@media (min-width: 960px) {
  .program-1106 {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
  }
}


/*2017/1118.html、2018/0602.html、2018/0721.html*/
/*イラスト左右*/
.illust {
  margin-top: 30px;
}
.illust img {
  max-width: 100px;
  margin: 0 auto;
  display: block;
}

@media (min-width: 960px) {
  .illust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
  }
  .illust img {
    margin-left: 20px;
    margin-right: 20px;
  }
  .illust p {
    flex: 1;
  }
}

/*2018/1205_2.html、2018/1204_2.html、*/
/*右イラスト＋吹き出し*/
.bubble {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  margin-top: 30px;
  text-align: center;
}
.bubble img {
  max-width: 100px;
  margin-left: 20px;
}
.bubble p {
  flex: 1;
  position: relative;
  display: inline-block;
  margin-right: 20px;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--gray-200);
}
.bubble p::after {
  content: "";
  position: absolute;
  top: 52%;
  right: 0;
  border-style: solid;
  border-width: 0 0 16px 16px;
  border-color: transparent transparent transparent var(--gray-200);
  translate: 100% calc(-50% - 0.4px);
  transform: skew(0, 18deg);
  transform-origin: left;
}
.bubble img {
  width: 80px;
}
@media (min-width: 960px) {
  .bubble img {
    width: 100px;
  }
}


/*2019/1122_2.html*/
/*アンケート結果表*/
.survey-1122 .thead {
    background-color: transparent;
  }
.survey-1122 th {
  font-weight: normal;
  text-align: left;
  background-color: transparent;
}
.survey-1122 td {
  grid-template-columns: 80% 1fr !important;
  text-align: center;
}
.survey-1122 td::before {
  font-weight: normal;
  background-color: transparent;
  text-align: left;
}
@media (min-width: 960px) {
  .survey-1122 {
    table-layout: fixed;
    font-size: 14px;
  }
}


/*2020/0930.html*/
/*外枠線*/
.layout-0930 {
  margin: 60px auto;
  padding: var(--padding-20);
  border: 1px solid var(--border-color)
}
.layout-0930 .figure-col-2 {
  margin: 0 auto;
  text-align: center;
}


/*2020/0129.html
/*プログラム*/
.program-0129 th {
 background: var(--gray-200);
}
.program-0129 td {
  grid-template-columns: 20% 1fr;
}
.program-0129 td::before {
  padding: 5px 10px;
  background: var(--gray-200);
}
.program-0129 .none {
  display: none;
}
.program-0129 tr.separate td:first-child {
  margin-top: 10px;
}
@media (min-width: 960px) {
  .program-0129 .none {
    display: table-cell;
  }
  .program-0129 th:nth-child(1){
    width: 10%;
  }
  .program-0129 th:nth-child(2){
    width: 15%;
  }
  .program-0129 th:nth-child(3){
    width: 35%;
  }
  .program-0129 th:nth-child(4){
    width: 40%;
  }
}


/*2021/0128.html*/
/*書籍*/
.books {
  border: 1px solid var(--border-color);
  padding: 20px;
}
.books h5 {
  margin: 0 0 20px;
}


/*2021/1031.html*/
/*更新情報一覧*/
.layout-1031 {
  margin-top: 30px;
  background-color: #f5f5f5;
  padding: 10px;
}
.layout-1031 ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.layout-1031 time {
  width: 18%;
  font-size: 14px;
  font-weight: var(--fw-bold);
  text-align: center;
}
.layout-1031 li {
  border-bottom: 1px solid var(--border-color);
  padding: 10px;
}
.layout-1031 li:last-child {
  border-width: 0;
}
.layout-1031 p {
  margin: 0;
}
@media (min-width: 960px) {
  .layout-1031li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .layout-1031 p {
    flex: 1;
  }
}

/*2021/1031.html*/
/*画像枠線*/
.layout-1031-2 figcaption {
  text-align: left;
}
.layout-1031-2 figure:first-child img {
  border: 1px #ddd solid;
}
@media (min-width: 960px) {
  .layout-1031-2 figcaption {
      font-size: 100%;
  }
}

/*2021/1031.html*/
/*特殊２カラム*/
.layout-1031-3 figure {
  width: auto;
  text-align: left;
}
.layout-1031-3 h4 {
  margin: 0 0 20px;
}
.layout-1031-3 {
  margin-top: 30px;
}
.layout-1031-3 .items {
  border: 1px solid var(--border-color);
  padding: var(--padding-20);
}
.layout-1031-3 .items~.items {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .layout-1031-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .layout-1031-3 .items~.items {
    margin-top: 0;
  }
}

/*2022/1106.html*
/*X用の枠*/
.twitter-tweet {
  margin: 30px auto !important;
}

/*2022/1028.html、2024/0808.html*/
/*枠内の文字*/
.layout-program figcaption,
.layout-program figcaption p {
    text-align: left;
    line-height: 1.5;
}
@media (min-width: 960px) {
  .layout-program figcaption,
  .layout-program figcaption p {
    font-size: 100%;
  }
}


/*2022/0428.html*/
/*リード文の画像*/
.layout-0428  {
  margin-top: 30px;
  overflow: hidden;
}
.layout-0428  img {
  width: 100%;
  max-width: 400px;
  float: right;
  margin: 20px 0 20px 30px;
}
@media (min-width: 960px) {
  .layout-0428  img {
    max-width: 40%;
  }
}

/*2022/0428.html*/
/*リスト*/
.layout-0428-2 ul li > ul {
  margin: 10px 0 30px 0;
  padding: 0;
  list-style: none;
}

/*2023/1214.html*/
.layout-1214 h4 {
 margin-top: 0;
}


/*2023/0722.html*/
/*写真の上下*/
@media (min-width: 960px) {  
  .layout-0722-1 .figure-col {
    display: flex;
    justify-content: center;
  }
  .layout-0722-1 figure:nth-child(1) {
    width: 65%;
    max-width: 100%;
    margin-top: 50px;
  }
  .layout-0722-1 figure:nth-child(2) {
    width: 25%;
  }
  .layout-0722-2 .figure-col {
    display: flex;
    justify-content: center;
  }
  .layout-0722-2 figure:nth-child(2) {
    margin-top: 100px;
  }
}

/*2024/1128.html*/
.reports .report {
   margin-top: 30px;
}
.reports h4 a {
  color: #505050;
}
.reports h4 a:hover {
  color: #819faf;
}

/*2024/1019.html*/
/*リスト*/
.layout-1019 ul {
  list-style-type: none;
  margin-top: 30px;
  margin-left: 20px;
  padding: 0;
  font-size: 14px;
}
.layout-1019 li~li {
  margin-top: 10px;
}
@media (min-width: 960px) {
  .layout-1019 ul {
    font-size: 100%;
  }
}


/*2025/1013.html*/
.session {
  margin-top: 20px;
}
.session th {
  width: 70px;
  border-color: #000 !important;
}
.session td {
  padding: 10px 15px;
  border-color: #000 !important;
}
@media (min-width: 960px) {
  .session th {
    width: 20%;
  }
}


/*2025/0806.html、0923.html*/
/*SNSリンク*/
.links-sns {
  margin: 15px 0 0 0px !important;
  padding: 0 !important;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.links-sns li~li {
  margin: 0 0 0 20px;
}
.links-sns li img {
  width: 100%;
  max-width: 20px;
}
@media (min-width: 960px) {
  .links-sns {
    margin: 15px 0 0 20px !important;
  }
}


/*ccca/report/2025/0826.html*/
.youtubes {
  margin-top: 30px;
}
.youtubes .youtube~.youtube {
  margin-top: 30px;
}

@media (min-width: 960px) {
  .youtubes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .youtubes .youtube~.youtube {
    margin-top: 0;
  }
}


/*2025/0806.html*/
/*マーカー*/
.layout-0806 dt {
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 15px;
}
.layout-0806 dt span {
    padding: 10px 8px;
    color: #000;
    text-align: center;
    border-radius: 20px 0px 20px 2px;
}
.layout-0806 dt b {
  font-size:0.8em;
}
.layout-0806 dd {
    margin-left: 25px;
}

.line-yellowgreen {
  background: linear-gradient(transparent 70%, #B1F19D 50%);
}
.line-yellowgreen span {
  background-color: #B1F19D;
}
.line-blue {
  background: linear-gradient(transparent 70%, #9ddff1 50%);
}
.line-blue span {
  background-color: #9ddff1;
}
.line-pink {
  background: linear-gradient(transparent 70%, #f7c2e1 50%);
}
.line-pink span {
  background-color: #f7c2e1;
}
.line-yellow {
  background: linear-gradient(transparent 70%, #fff499 50%);
}
.line-yellow span {
  background-color: #fff499;
}



/*2025/0730.html、*/
.layout-0730 figcaption,
.layout-0730 figcaption p {
    text-align: left;
    line-height: 1.5;
}
.layout-0730 h3 {
  margin: 20px 0;
}
@media (min-width: 960px) {
  .layout-0730 figcaption,
  .layout-0730 figcaption p {
    font-size: 100%;
  }
}