/*=====================================================
  共通：ロゴ＋テキストを横並び＆中央揃え
=====================================================*/
.headline_jta_plactice_gallery {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap; /* 狭くなったら改行を許可 */
  margin: 0 auto;
  padding: 0.5em;
  width: 100% !important;
}

/* ロゴ画像は最大でも横幅20%以内、高さは自動 */
.headline_jta_plactice_gallery img {
  max-width: 20%;
  height: auto;
}

.headline_jta_plactice_gallery {
  text-align: center;
  font-size: 1em;
  line-height: 1.2;
}

/*=====================================================
  スマホ（画面幅768px以下）で縦積み＆ロゴ小さめ
=====================================================*/
@media screen and (max-width: 768px) {
  .headline_jta_plactice_gallery {
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: 0.8rem;
  }
  .headline_jta_plactice_gallery img {
    max-width: 12%; /* 幅を大きめにして見やすく */
    margin: 0.5em 0; /* 上下に余白 */
  }
}

#searchForm {
  margin: 0 auto 30px auto;
  max-width: 100%;
}

#searchForm .searchForm_wrapper {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 45px 2%;
}

#searchForm .searchForm_wrapper .searchForm_content {
  width: auto;
}

#searchForm .searchForm_wrapper .searchForm_content:first-of-type {
  /*padding-right: 20px;*/
}

#searchForm .searchForm_wrapper .searchForm_content .p-mamber_list_control_nav_title {
  margin-bottom: 10px;
}

#searchForm .searchForm_wrapper .searchForm_content .industry_label {
  display: block;
  margin-bottom: 20px;
}

#searchForm .p-mamber_list_control_nav_button {
  margin: 15px auto 0 auto;
  display: block;
  padding: 5px 0;
}

.p-mamber_list_control_nav_input_area1,
.p-mamber_list_control_nav_input_text {
  width: 100%;
}

.box {
  width: 100%;
  height: auto;
  padding: 4px 16px;
  border: 2px solid #00000040;
  border-radius: 6px;
  overflow-y: scroll;
  background-color: #fff;
}

.box {
  /* 方法①：CSS カラム機能を使う */
  column-count: 1;
  column-gap: 0.5em;
  overflow: auto;
}

.box.column2 {
  /* 方法①：CSS カラム機能を使う */
  column-count: 2;
  column-gap: 0.5em;
}

/* ラベル内で折り返してしまう場合は、以下を追加 */
.box label {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.9rem;
}

.btn01 {
  margin-bottom: 80px;
}

.btn02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
}

.btn01 a,
.btn02 a {
  display: block;
  color: #fff;
  font-weight: 700;
  padding: 10px;
  border-radius: 10px;
  background-color: #004966;
  text-align: center;
  margin: 0 auto;
}

.btn01 a {
  width: 60%;
}

.btn02 a {
  width: 40%;
}

.p-member_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 20px;
}

.p-member_top .p-member_top_left {
  font-size: 25px;
  font-weight: bold;
  width: 30%;
}

.p-member_top .p-member_top_right {
  width: 50%;
  font-size: 20px;
}

.p-member_award {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #ccc;
  padding-top: 20px;
  margin-bottom: 20px;
}

.p-member_award .p-member_award_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 50%;
}

.p-member_award .p-member_award_content .p-member_image {
  width: 10%;
}

.p-member_award .p-member_award_content p {
  font-weight: bold;
  width: 80%;
}

.p-member_mainimage {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #ccc;
  /*
  padding-top: 20px;
  padding-bottom: 20px;
  */
}

.p-member_mainimage .p-member_image {
  width: 35%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-member_mainimage .p-member_data_wrapper {
  width: 60%;
}

.p-member_mainimage .p-member_data_wrapper .p-member_data_url {
  width: 100%;
}

.p-member_mainimage .p-member_data_wrapper .p-member_data_left,
.p-member_mainimage .p-member_data_wrapper .p-member_data_right {
  width: 48%;
}

.p-member_mainimage .p-member_data {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}

.p-member_mainimage .p-member_data:last-of-type {
  border-bottom: none;
}

.p-member_mainimage .p-member_data p:nth-of-type(1) {
  width: 20%;
  padding: 10px;
  border-right: 1px solid #ccc;
}

.p-member_mainimage .p-member_data p:nth-of-type(2) {
  width: 80%;
  padding: 10px;
}

.p-member_text {
  border-top: 1px solid #ccc;
  font-size: 20px;
}

.p-member_text p {
  margin: 20px 0;
}

.p-member_link {
  margin-top: 20px;
}

.p-member_link a {
  display: block;
  text-decoration: underline;
  color: #004966;
}

.p-member_detail_link {
  text-align: right;
}

.p-member_detail_link a {
  display: inline-block;
  color: #fff;
  background: #004966;
  text-align: right;
  padding: 10px 20px;
  border-radius: 40px;
}

.p-member_list_block_main {
  border-top: 1px solid #ccc;
  padding-top: 20px;
  margin-top: 20px !important;
  border-bottom: 1px solid #ccc;
}

.p-member_text_contents {
  margin-top: 20px !important;
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
}

.p-member_pdf_img {
  text-align: left;
}

.p-member_pdf_img::after {
  display: none;
}

.p-member_pdf_img p {
  position: relative;
  margin-bottom: 10px;
}

.p-member_youtube_img p {
  position: relative;
  margin-bottom: 10px;
}

.p-member_text_contents .p-member_text_top {
  color: #004966;
  border-bottom: 1px solid #004966;
  font-size: 18px;
  font-weight: bold;
  margin: 30px 0 30px 0;
  display: block;
  text-align: center;
}

.p-member_text_contents .p-member_text_content.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-member_text_contents .p-member_text_content.flex .p-member_image {
  width: 40%;
}

.p-member_text_contents .p-member_text_content.flex p {
  width: 55%;
}

.mb40 {
  margin-bottom: 40px;
}

.p-member_image img {
  width: 100%;
  height: auto;
}

.p-member_list_block.toroku .p-member_list_block_content {
  background-color: #fff;
}

.p-member_list_block.toroku .p-member_list_block_content.recommend {
  background-color: #ffffe0;
}

.p-member_list_block.toroku .p-member_list_block_head {
  background-color: #004966 !important;
}

.p-member_list_block.toroku .p-member_top .p-member_top_right {
  width: 100%;
}

/*
.p-member_top_left {
  display: inline-block;
  position: relative;
  padding: 0.5em 0.5em;
  text-align: center;
  background: linear-gradient(135deg, #ff8a65, #ff6720);
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  overflow: visible;
}

.p-member_top_left::before,
.p-member_top_left::after {
  content: "✧";
  position: absolute;
  font-size: 1em;
  color: #ff6720;
  animation: sparkle 1.5s infinite ease-in-out alternate;
}
.p-member_top_left::before {
  top: -0.4em;
  left: -0.6em;
}
.p-member_top_left::after {
  bottom: -0.4em;
  right: -0.6em;
}

@keyframes sparkle {
  from {
    transform: scale(1) rotate(0deg);
    opacity: 0.6;
  }
  to {
    transform: scale(1.4) rotate(45deg);
    opacity: 1;
  }
}
*/

@media screen and (max-width: 700px) {
  #searchForm .searchForm_wrapper {
    flex-wrap: wrap;
    gap: 20px 2%;
  }

  .p-member_top {
    display: block;
  }

  .p-member_top .p-member_top_left,
  .p-member_top .p-member_top_right {
    width: 100%;
  }

  .p-member_award {
    display: block;
  }

  .p-member_award .p-member_award_content {
    width: 100%;
  }

  .p-member_award .p-member_award_content:first-of-type {
    margin-bottom: 10px;
  }

  .p-member_mainimage {
    display: block;
  }

  .p-member_mainimage .p-member_image {
    width: 100%;
    margin-bottom: 10px;
  }

  .p-member_mainimage .p-member_data_wrapper {
    display: block;
    width: 100%;
  }

  .p-member_mainimage .p-member_data_wrapper .p-member_data_left,
  .p-member_mainimage .p-member_data_wrapper .p-member_data_right {
    width: 100%;
  }

  .p-member_text_contents .p-member_text_content.flex {
    display: block;
  }

  .p-member_text_contents .p-member_text_content.flex .p-member_image {
    width: 100%;
    margin-bottom: 10px;
  }

  .p-member_text_contents .p-member_text_content.flex p {
    width: 100%;
  }
}
