@charset "UTF-8";

:root {
  --color-event-dark:    #7d5786; /* イベント（紫）濃 */
  --color-event-light:   #c29dd0; /* イベント（紫）淡 */
  --color-event-border:  #efe5f0; /* イベント（紫）ボーダー */
  --color-event-stripe1: #e0c9e6; /* ストライプ区切り色1 */
  --color-event-stripe2: #ecdff0; /* ストライプ区切り色2 */
  --color-dl-green:      #469166; /* 広報ツール・清刷（緑） */
  --color-dl-green-bg:   #e1efde; /* 広報ツール・清刷（緑）背景 */
  --color-dl-purple-bg:  #eee3f1; /* 広報ツール・チラシ（紫）背景 */
}

/* トップ画像 */
.block-top-image {
  margin-bottom: 1.5em;
}
.block-top-image img {
  width: 100%;
  height: auto;
 margin-top: 20px;
}
.page-content{
 padding-top: 0;
}
/* 見出し調整 */
h2.wp-block-heading {
 padding-top: 0;
 padding-bottom: 0;
 margin-bottom: 40px;
}
h2.wp-block-heading::before {
  content: none !important;
}
h3.wp-block-heading {
 margin-top: 40px;
}
/* キーワードボックス */
.block-keyword {
  background: var(--color-event-sub);
  border-radius: 10px;
  padding: 1.5em;
  margin-bottom: 1.5em;
}

.block-keyword-title {
  text-align: center;
  font-weight: bold;
 margin-bottom: 0
}
.block-keyword-title + P{
 text-align: center;
 margin-bottom: 1em;
}
.block-keyword-afterword {
 text-align: center;
 margin-top: 10px;
}
.block-keyword-afterword p:first-child{
 font-weight: bold;
 margin-bottom: 0;
}
.block-keyword-list {
 background: #FFF;
 padding: 15px;
 display: flex;
}
.block-keyword-list div.col-3{
 width: 33%;
}
.block-keyword-list div.col-3:nth-of-type(1){
 width: 30%;
}
.block-keyword-list div.col-3:nth-of-type(2){
 width: 40%;
}
.block-keyword-list div.col-3:nth-of-type(3){
 width: 30%;
}
@media (max-width: 991px) {
  .block-keyword-list {
    display: block;
  }
 .block-keyword-list div.col-3:nth-of-type(1),
.block-keyword-list div.col-3:nth-of-type(2),
.block-keyword-list div.col-3:nth-of-type(3){
 width: 100%;
}
 }
/* キーワード 表彰リスト */
.block-keyword-list .list-3col {
  list-style: none;
  padding-left: 0;
 font-weight: 500;
}
.pos-selection-list {
 list-style: none;
 font-weight: 700;
 padding-left: 0.2em;
}
.initiatives-list {
 list-style: none;
 font-weight: 700;
 padding-left: 0;
 margin: 1.5em;
}
.pos-selection-list span{
 font-weight: 700;
 color: var(--color-event);
}
.block-keyword-list .list-3col li,
.pos-selection-list li,
.initiatives-list li{
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 0.4em;
  break-inside: avoid;
 font-size: 1.05em;
}

.block-keyword-list .list-3col li::before,
.pos-selection-list li::before,
.initiatives-list li::before {
  content: "●";
  color: var(--color-event-light);
  position: absolute;
  left: 0;
  font-size: 0.9em;
  line-height: 1.8;
}

/* 所属組合の取り組みボックス */
.block-org-apply {

}

.block-org-apply p:first-child {
  font-weight: bold;
}

.consideration-block ul{
 list-style: none;
}
/* 注意書き */
.text-note {
  font-size: 1.5rem;
 margin-bottom: 0;
}

/* 応募締切 */
.text-deadline {
  font-size: 1.8rem;
  font-weight: bold;
}

/* 応募フォームボタンラッパー */
.block-button-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1.5em;
  margin: 2em 0;
}

/* ボタン両脇イラスト */
.btn-apply-icon {
  width: 60px;
  height: auto;
}

@media (max-width: 991px) {
  .btn-apply-icon {
    display: none;
  }
}

/* 応募フォームボタン */
.btn-apply {
  background: var(--color-event-light);
  color: #fff;
  border-radius: 10px;
  padding: 1em 5em;
  display: inline-block;
  font-weight: bold;
  font-size: 2.2rem;
  box-shadow: 0 3px 0 var(--color-button-shadow);
  position: relative;;
}
.btn-apply .btn-form-arrow {
    position: absolute;
    right: 13px;
    font-size: 0.6em;
}
.btn-apply .btn-form-arrow::before {
 content:"▶";
}
.btn-apply:hover {
  color: #fff;
}
a[target="_blank"].btn-apply::before{
  content: "";
}
/* 太字テキスト */
.text-bold {
  font-weight: bold;
}

/* 取り組みの一例ボックス */
.block-initiatives {
  background: #FFF;
  border-radius: 10px;
 padding: 0;
  margin: 1.5em 0;
 border: solid 4px var(--color-event-border);
}

.block-initiatives-title {
 background:  var(--color-event-sub);
 border-bottom: solid 4px var(--color-event-border);
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
 font-size: 1.2em;
    padding: .8em;
}
/* 脚注テキスト */
.text-footnote {
  font-size: 1.4rem;
 margin: 1.5em;
}

.text-footnote a{
 
}
.text-footnote a[target="_blank"]:not(:root)::before{
 content: "";
 margin: 0;
}
/* 広報ツール見出し */
.text-tool-title {
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* ダウンロードボタン */
/*.btn-download {
  background: var(--color-event);
  color: #fff;
  border-radius: 6px;
  padding: .5em 1.5em;
  display: inline-block;
  font-weight: bold;
}*/
.btn-download:hover {
  color: #fff;
}

/* 広報ツール キャラクター・バナーエリア */
.ad-intro-wrap {
  position: relative;
  display: flex;
  align-items: flex-end;
  margin-bottom: 25px;
  min-height: 130px;
}
.ad-intro-character {
  flex-shrink: 0;
}
.ad-intro-banner {
  position: absolute;
  left: 60%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.ad-intro-balloon {
  background: #fff;
  border: 2px solid #3c2313;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  margin-bottom: 6px;
}
.ad-intro-balloon::after {
  content: "";
  position: absolute;
  bottom: -11px;
  left: 24px;
  border-width: 11px 8px 0;
  border-style: solid;
  border-color: #3c2313 transparent transparent;
}
.ad-intro-chara-img {
  width: 270px;
  height: auto;
  display: block;
}
.ad-intro-banner-img {
  width: 100%;
  max-width: 260px;
  height: auto;
}

.ad-poster-wrap,
.ad-master-wrap {
 padding: 20px 15px 25px;
 text-align: center;
}
.ad-poster-wrap {
 background: var(--color-dl-purple-bg);
 color: var(--color-event);
 margin-bottom: 25px;
}
.ad-master-wrap {
 background: var(--color-dl-green-bg);
 color: var(--color-dl-green);
 margin-bottom: 35px;
}
.ad-poster-dl-wrap,
.ad-master-dl-wrap {
 display: flex;
 gap:16px;
}
.ad-poster-dl-wrap div,
.ad-master-dl-wrap div{
 flex:1;
 border: solid 3px var(--color-event);
 border-radius: 10px;
 padding: 10px;
 text-align: center;
 background: #FFF;
}
.ad-master-dl-wrap div{
 border: solid 3px var(--color-dl-green);
}
.ad-poster-dl-wrap a.btn-download,
.ad-master-dl-wrap a.btn-download {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 700;
  position: relative;
}
/* テーマのデフォルト自動アイコン（PDF・外部リンク）を無効化 */
.ad-poster-dl-wrap a.btn-download::before,
.ad-master-dl-wrap a.btn-download::before,
.ad-intro-banner a[target="_blank"]::before {
  content: none !important;
  margin: 0;
}
.ad-poster-dl-wrap a.btn-download {
  color: var(--color-event);
}
.ad-master-dl-wrap a.btn-download {
  color: var(--color-dl-green);
}
/* DLボタン内アイコン・テキスト・矢印 */
.btn-dl-icon {
  width: 26px;
  height: auto;
  flex-shrink: 0;
}
.btn-dl-text {
  text-align: left;
}
.btn-dl-arrow {
  position: absolute;
  right: 4px;
  font-size: 0.75em;
}
.btn-dl-arrow::before{
 content:"▶";
}
/* サイドバー見出しアイコン */
.sidebar-anchorlink h2.wp-block-heading:before {
  content: "" !important;
  background-image: url(../images/sidemenu-icon-event.png);
  background-size: 37px auto;
  width: 37px;
  height: 37px;
}

/* セクション区切りボーダー */
.page-content section{
 position: relative;
 padding-top: 30px;
 padding-bottom: 70px;
}
.page-content section::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 10px;

  background: repeating-linear-gradient(
     -45deg,
  var(--color-event-stripe1) 0 3px,
  var(--color-event-stripe2) 3px 5px
  );
}

/* ユーティリティ */
.page-content .u-text-event{
 color: var(--color-event);
}
.page-content .u-text-event-dark{
 color: var(--color-event-dark);
}
.page-content .u-text-x{
 font-size: 22px;
}
.page-content .u-text-m{
 font-size: 18px;
}
.page-content .u-text-s{
 font-size: 14px;
}
.page-content .u-mb0{
 margin-bottom: 0;
}
.page-content .u-mb10{
 margin-bottom: 10px;
}
.page-content .u-mb20{
 margin-bottom: 20px;
}
.page-content .u-mb30{
 margin-bottom: 30px;
}
.page-content .u-mb40{
 margin-bottom: 40px;
}
.page-content .u-mb50{
 margin-bottom: 50px;
}
.page-content .u-hanging {
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 991px) {
  /* キャラクター・バナー縦積み */
  .ad-intro-wrap {
    flex-direction: column;
    align-items: center;
    min-height: unset;
  }
  .ad-intro-banner {
    position: static;
    transform: none;
  }

  /* DLボタン縦積み・全幅 */
  .ad-poster-dl-wrap,
  .ad-master-dl-wrap {
    flex-direction: column;
  }

  /* 応募フォームボタン 左右パディング縮小 */
  .btn-apply {
    padding-left: 2em;
    padding-right: 2em;
  }
}

