/**/

.tab-switch-charm > label:hover,
.tab-switch-charm label:has(:checked) {
  background-color: #22a245;
  color: #fff;
}

.history_a_bg {
  background: #22a245;
}
.right p {
  margin: 0 0 2em 0;
}

/*沿革*/
.ass_list {
  margin: 1em 0 0 0;
}
.ass_list tr {
  border: none;
  height: 5em;
  margin-bottom: 0.3em;
}
.ass_list td:nth-child(1) {
  width: 30%;
  margin-right: 0.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
}
.ass_list td:nth-child(2) {
  width: 70%;
  border: 1px solid #555;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: left;
}

/*協会概要*/
.about {
  width: 100%;
}
.about tr {
  border: none;
}
.about td {
  box-sizing: border-box;
  border: 1px solid #555;
  padding: 1em;
}
.about .ttl {
  width: 20%;
  background: #f2f2f2;
  text-align: center;
  font-weight: 500;
  border: none;
}
.about .sub_ttl {
  width: 30%;
}

.combin {
  width: 80% !important;
}
.none_pad {
  padding: unset !important;
}
.about iframe {
  border: 0;
  width: 100%;
  height: 16em;
}
.last_ud {
  text-align: right;
}

/*普及活動*/
.activity {
  justify-content: space-between;
}
.activity div {
  width: 49%;
}
.activity h5 {
  border-bottom: 1px solid #555;
}
.activity li {
  margin: 1em 0;
  display: flex;
  align-items: start;
  justify-content: left;
}
.tri_img {
  height: 1em;
  margin: 0.3em 0.5em 0 0;
}

.activity_record li {
  border: 1px solid #555;
  padding: 1em;
  margin-bottom: 0.3em;
}
.activity_record a {
  color: #ea9e4c;
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  display: block;
  letter-spacing: 0.05em;
}
.activity_record a:hover {
  transform: scale(1.05);
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  filter: drop-shadow(2px 2px 3px #ccc);
}

/*入会案内*/
.merit li {
  padding-left: 6em;
  background-repeat: no-repeat;
  background-size: 5em;
  background-position: left top;
}
.merit li h4 {
  margin: 3em 0 0 0;
}
.m1 {
  background-image: url(../../common/images/logabout/merit1.svg);
}
.m2 {
  background-image: url(../../common/images/logabout/merit2.svg);
}
.m3 {
  background-image: url(../../common/images/logabout/merit3.svg);
}
.m4 {
  background-image: url(../../common/images/logabout/merit4.svg);
}
.m5 {
  background-image: url(../../common/images/logabout/merit5.svg);
}
.join_pdf {
  justify-content: space-between;
}
.join_pdf a {
  width: 49%;
  display: block;
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.join_pdf a:hover {
  transform: scale(1.05);
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  filter: drop-shadow(2px 2px 3px #ccc);
}
.join_pdf img {
  width: 100%;
}
.fee {
  width: 100%;
}
.fee td,
.fee th {
  text-align: center;
}
.fee th {
  background: #ccc;
  font-weight: 500;
  height: 4em;
  width: 33%;
}
/*ご入会手続き*/
.ff-default .ff-el-input--label label {
  font-size: 80%;
}
form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style) {
  margin: 3em auto;
  display: block;
}
.ff-default .ff-el-form-control {
  font-size: 80%;
}

/*各種データ*/
.w_pieces {
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: left;
}
.workpieces li {
  height: 3em;
  width: 100%;
  margin: 0 0 0.3em 0;
  justify-content: space-between;
}
.workpieces .year {
  width: 19.5%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
}
.workpieces a {
  width: 80%;
  height: 100%;
  display: block;
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 1em;
  border: 1px solid #ccc;
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.workpieces a:hover {
  color: #ea9e4c;
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.workpieces a:hover span {
  padding-left: 1em;
  webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

/* --- PC用タブ --- */
.tab-switch-chrm {
  --tab-color: #49566a;
  display: flex;
  justify-content: center;
  gap: 5px;
  max-width: 800px;
  margin: auto;
}

.tab-switch-chrm > label {
  flex: 1 1 auto;
  padding: 0.7em 1em;
  background-color: #f2f3f4;
  color: #999;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}

.tab-switch-chrm input {
  display: none;
}

.tab-switch-chrm > label:hover,
.tab-switch-chrm input:checked + span {
  background-color: var(--tab-color);
  color: #fff;
}

/* --- スマホ用プルダウン --- */
.tab-select-chrm {
  display: none;
  max-width: 800px;
  margin: 1em auto;
}

.tab-select-chrm select {
  width: 100%;
  padding: 0.5em;
}

/* --- コンテンツ共通 --- */
.tab-contents-chrm {
  max-width: 800px;
  margin: auto;
  padding: 1.5em 1em;
}

.tab-pane-chrm {
  display: none;
}

.tab-pane-chrm.active {
  display: block;
}

/**********************************************************/
.logabout_fbg {
  background: #5a9f4d;
  background-image: url(../../common/images/charm/foot_bg.svg);
}
/***********************************************************************/
/* --- レスポンシブ切替 Tablet--- */
@media (max-width: 768px) {
  .tab-switch-chrm {
    display: none;
    /* スマホではタブを隠す */
  }

  .tab-select-chrm {
    display: block;
    /* スマホではプルダウンを表示 */
  }
} /* --- レスポンシブ切替 Tablet--- */
/***********************************************************************/

/* --- レスポンシブ切替 Mobile--- */
@media screen and (max-width: 480px) {
  .tab_set .left,
  .tab_set .right {
    width: 100%;
  }
  /*協会の目的・設立趣旨*/
  .ass_list td:nth-child(1) {
    width: 100%;
    border: 1px solid #555;
  }
  .ass_list td:nth-child(2) {
    width: 100%;
    margin-top: -0.1em;
  }
  .ass_list tr {
    height: unset;
    margin-bottom: -0.1em;
  }
  /*協会概要*/
  #about {
    /*width: 110%;
    overflow-x: scroll;
    margin-left: -5%;*/
  }
  #about .about {
    /* width: 160%;
    overflow-x: scroll;*/
  }
  .about .ttl,
  .about .combin {
    width: 100%;
    display: block;
  }
  .about .sub_ttl {
    width: 30%;
  }

  /***************/
  #about tr,
  #about table,
  #about tbody,
  #about td {
    font-size: 100%;
    display: block;
    width: 100%;
    height: 100%;
  }

  /* 特定のtdを横並びにする */
  #about td.inline {
    display: inline-block !important;
    width: 68%;
  }
  .combin {
    width: unset !important;
  }
  .about .sub_ttl {
    font-size: 90%;
  }
  #about .short {
    width: 30% !important;
  }
  .about td {
    border: none;
  }

  /***************/

  /*協会の活動*/
  .activity div {
    width: 100%;
  }
  .activity h5 {
    font-size: 140%;
    padding-bottom: 0.3em;
  }
  /*活動実績*/
  /*入会案内*/
  .merit li {
    padding-left: 0;
    padding-top: 2em;
    background-position: center top;
    margin-bottom: 3em;
  }

  .merit li h4 {
    font-size: 140%;
    text-align: center;
  }
  .join_pdf a {
    width: 100%;
  }
  .ff-default .ff-el-input--label label,
  .ff-default .ff-el-form-control {
    font-size: 100%;
  }
  /*各種データ*/
  .w_pieces {
    font-size: 120%;
  }
  .workpieces li {
    height: 100%;
    margin: -0.1em 0 0 0;
    border: 1px solid #ccc;
  }
  .workpieces .year {
    height: 3em;
    width: 100%;
    border: unset;
  }
  .workpieces a {
    height: 3em;
    width: 100%;
    margin-top: -0.1em;
  }
}
