@charset "UTF-8";

/* ========================
   app設定
======================== */
body {
  background: url('/npc/images/back_img.jpg') no-repeat center center / cover fixed;
  color:#653945;
}
p,h1,h2,h3,h4,h5,h6 {
   color: #653945;
}
/*sub menu*/
/* ===== サブメニュー ===== */
.sub-menu {
  background: #fff; 
  border-top: 1px solid #e96087;
  border-bottom: 1px solid #e96087;
}

.sub-menu-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
}

/* ロゴ */
.sub-menu-logo {
  flex-shrink: 0;
  margin-right: 24px;
}
.sub-menu-logo img {
  height: 40px;
  width: auto;
  vertical-align: middle;
}

/* ナビリスト */
.sub-menu-nav {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.sub-menu-nav > li > a {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 16px;
  height: 50px;
  color: #653945;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
}
.sub-menu-nav > li > a:hover {
  background: rgba(243,179,207,0.5);
}

/* 問い合わせ */
.about-jp a.contact {
    background: #BA1650;
}

/* ===== 参加申込ドロップダウン ===== */
.sub-menu-has-child {
  position: relative;
}

.sub-menu-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #e96087;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  z-index: 1010;
}


.sub-menu-has-child:hover .sub-menu-dropdown {
  display: block;
}

.sub-menu-dropdown li a {
  display: block;
  padding: 10px 20px;
  color: #653945;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.15s;
}
.sub-menu-dropdown li a:hover {
  background: rgba(243,179,207,0.5);
  color: #e96087;
}

/* スマートフォンメニューのサブメニュー化*/
/* ===== JPSカラー変更 ===== */
.uk-offcanvas-bar {
    background: #0c3388;
}
.sp-menu-login-top {
    padding: 0;
}

.uk-offcanvas-bar .sp-name {
    margin: 0px 0px 20px 0px;
}
.sp-name h1 {
    margin-bottom: 15px;
    font-size: 1.5rem;
}
.sp-name h1 span {
    margin-bottom: 5px;
}


/* ===== オフキャンバス2カラム化 ===== */
.sp-offcanvas-wrap {
  width: 90vw !important;
  max-width: 480px;
  padding: 40px 0 20px;
}

.sp-offcanvas-columns {
  display: flex;
  height: 100%;
  gap: 0;
}

/* 左：メインメニュー */
.sp-offcanvas-main {
  flex: 1;
  overflow-y: auto;
  padding: 0 15px;
}

/* 右：サブメニュー */
.sp-offcanvas-sub {
  width: 50%;
  flex-shrink: 0;
  background: #FFDEEE;
  border-left: 1px solid #fff;
  overflow-y: auto;
  padding: 10px;
}

/* サブメニュー ロゴ */
.sp-sub-logo {
  text-align: center;
  padding: 5px 5px 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}
.sp-sub-logo img {
  max-width: 100%;
  height: auto;
}

/* サブメニュー リスト */
.sp-sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sp-sub-menu > li {
  margin: 0;
}

/* 通常リンク */
#open-off .sp-sub-static a,
#open-off .sp-sub-parent > .uk-accordion-title {
  display: block;
  padding: 15px 15px;
  color: #653945;
  font-size: 1.1rem;
  text-decoration: none;
  border-bottom: 1px solid #fff;
  line-height: 1.4;
}
.sp-sub-static a:hover,
.sp-sub-parent > .uk-accordion-title:hover {
  background: #fff;
  color: 333;
}

/* アコーディオンタイトル */
.sp-sub-parent > .uk-accordion-title {
  position: relative;
  cursor: pointer;
}


/* アコーディオン子リスト */
#open-off  .sp-sub-parent .uk-accordion-content {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #f3b3cf;
}
.sp-sub-child li a {
  display: block;
  padding: 12px 8px 12px 24px;
  color: #653945;
  font-size: 1rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(101, 57, 69, 0.5);
}
.sp-sub-child li a:hover {
  background: rgba(255, 255, 255, 1);
  color: #653945;
}

#open-off .sp-sub-parent .uk-accordion-title {
    position: relative;
    padding-right: 35px;
}

#open-off .sp-sub-parent .uk-accordion-title::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50%;
    right: 10px;
    width: 13px;
    height: 13px;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline fill='none' stroke='%23653945' stroke-width='2' points='1 4 6.5 9 12 4'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    transition: transform 0.3s ease;
}

#open-off .sp-sub-parent.uk-open .uk-accordion-title::before {
    transform: translateY(-50%) rotate(180deg) !important;
}
/* ========================
   メインページ
======================== */
.main-v {
   padding: 2rem 1rem;
   margin: 0 auto;
}
.main-v img {
   display: block;
  max-width: 100%;
   margin: 0 auto;
}
/* ========================
   トップ　開催記録
======================== */
.top-h {
  background: #e96087;
  text-align: center;
  color: #fff;
}
h2.top-h {
  padding: 0.5rem 1rem;
  font-size: 1.6rem;
  border-radius: 12px;
  box-shadow: 1px 1px 4px #999;
  margin-bottom: 2rem;
  letter-spacing: 5px;
}
.top-now ul li {
  position: relative;
  color: #653945;
}
.top-info ul li:last-child {
  border-bottom: none;
}

.white-body {
  background: #fff;
  border-radius: 12px;
  box-shadow: 1px 1px 4px #F99C64;
  padding: 2rem;
}
.white-body h4 {
  border-top: solid 1px #e96087;
  border-bottom: solid 1px #e96087;
  padding: 1rem 0rem;
  margin-bottom: 1rem;
}
.white-body h5 {
  padding: 0.5rem 1rem 1rem;
  font-size: 0.9rem;
  font-weight: bold;
  color: #fff;
  margin: 0.5rem 0;
  border-radius: 5px;
}
.details {
  padding-bottom: 1rem;
  border-bottom: solid 1px #e96087;
}
.details p {
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
.details span {
  font-weight: bold;
}
.button-waku-top {
  position: relative;
  overflow: hidden;
  margin: 2rem 0 0;
}
.archive-button-left,.archive-button-right {
  width: 43%;
  padding: 0.5rem;
  text-align: center;
  margin: 0rem;
} 
.archive-button-left {
  float: left;
  color: #fff;
  border-radius: 8px;
}

.archive-button-right {
  float: right;
  background-color: #e96087;
  color: #fff;
  border-radius: 8px;
}     
.archive-button-left a,.archive-button-right a {
  color: #fff;
}
.archive-button-left a:hover,.archive-button-right a:hover {
  opacity: 0.8;
}

.past {
  margin-top: 5rem;
}
.concept {
  background-color: rgba(255,255,255,0.6);
  border-radius: 12px;
  padding: 2rem;
  margin: 0rem 2rem;
}


/* ========================
   NEW
======================== */
.new {
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    position: absolute;
    top: -15px;
    left: 10px;
  text-align: center;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #e83817;
    border-radius: 50%;
    margin: 0;
    padding: 0;
    animation: glow-pulse 1.5s ease-in-out infinite;
}
.uk-button-default {
    background-color: transparent;
    color: #653945;
    border: none;
}

/* ========================
   ウェブページ
======================== */
.kango {
   background-color: #fff;
  margin: 1rem;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
}

.kango h2.w-title {
  color: #fff;
  padding: 1rem 1rem;
  margin: 0;
  clip-path: none;
}
.kango.web h2.w-title {
  color: #fff;
  background-color:#f3b3cf;
  text-shadow: 0px 1px 0px #000;
  text-align: center;
}

.kango-body {
  padding: 1rem;
}

/* ========================
   カテゴリーカラー
======================== */
.con_c {
   background-color:#e96087; 
}
.con_c-waku {
  border: solid 2px #e96087; 
  border-radius: 10px;
}
.con_c-moji {
  color: #e96087; 
}

.sim_c {
   background-color:#F99C64; 
}
.sim_c-waku {
  border: solid 2px #F99C64; 
  border-radius: 10px;
}
.sim_c-moji {
   color:#F99C64; 
}

.sem_c {
   background-color:#8C8CFF; 
}
.sem_c-waku {
  border: solid 2px #8C8CFF; 
  border-radius: 10px;
}
.sem_c-moji {
   color:#8C8CFF; 
}
.aka-moji {
  color: red;
  font-weight: bold;
}
.info_c {
   background-color:#ffe445; 
  color: #888;
}
.sbutton a.info_c {
  color: #888;
    text-shadow: none;
}

/* ========================
   更新情報
======================== */
.top-info {
  margin-top: 4rem;
  background-color: #fff;
  padding: 0rem 1rem 1rem;
  border-radius: 12px;
}
.top-info ul {
  margin: 0rem;
}
.top-info li p {
  display: inline-block;
  margin: 0;
  line-height: 2;
}
.top-info li a {
  color: #653945;
}

h2.top-h.info_c {
    box-shadow: 1px 1px 4px #999;
    margin-bottom: 0rem;
    letter-spacing: 5px;
    transform: translateY( -25px );
}

.e-list span {
    display: inline-block;
    font-weight: bold;
    margin-left: 1rem;
}
ul.uk-list.cate li {
    margin: 0;
}
.category-list a.e-list {
    display: block;
    padding: 1rem 2rem;
    border-bottom: solid 1px #ccc;
}
.category-list a.e-list:last-child {
    border-bottom:none;
}
.category-list a.e-list p {
    margin: 0;
}
.category-list a:hover {
    text-decoration: none;
    background-color: rgba(255,228,69,0.2);
}
/* ========================
   全一覧
======================== */
.b-back {
 background-color: #000; 
}
.sougou {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
}
  
a.total-list {
  display: block;
  width: 12em;
  float: right;
  padding: 0.5rem 1rem;
  text-align: center;
  color: #fff;
  border-radius: 12px;
}

/* ========================
   記事ページ
======================== */
.poster-waku {
  margin: 2rem 1rem;
  position: relative;
  overflow: hidden;
}
.poster-left {
  margin-bottom: 2rem;
}
.kango-summary {
 margin: 2rem 1rem; 
}
.kango-summary h3 {
  color: #fff;
 padding: 0.75rem 1rem;
  text-align: center;
  margin: 0;
}
.kango-summary h5 {
 display: inline-block;
 font-weight: 700;
 margin: 0rem;
}
.kango-summary p {
 display: inline-block;
 margin: 0 2rem;
}
.sum-text-waku {
  padding: 1rem 2rem;
}
.button-waku {
  position: relative;
  overflow: hidden;
  margin: 1rem 1rem 2rem;
}
.kango-button a,.kango-file a {
  display: block;
  padding: 1rem;
  font-size: 1.2em;
  text-align: center;
  font-weight: 700;
  width: 300px;
  margin: 0 auto;
  border-radius: 10px;
}
.kango-button a {
   color: #fff;
}
.kango-button a:hover,.kango-file a:hover {
   text-decoration: none;
   opacity: 0.8;
}
.body-text {
   margin: 1rem;
}

/* ========================
   サイドバー
======================== */
.sbutton a {
  width: calc( 300px - 2rem );
  display: block;
  margin: 0 auto 2rem;
  font-size: 1.1em;
  font-weight: 700;
    color: #fff;
    padding: 1rem;
    text-align: center;
    border-radius: 10px;
    text-shadow: 0px 1px 0px #666;
}
.sbutton a:hover {
    text-decoration: none;
    opacity: 0.8;
}
.aca-top {
    background-color: #f3b3cf;
}

footer {
  background:#e96087;
}

/*===    back-to-top    ====*/
.back-to-top {
    border: 2px solid #e96087;
    color: #e96087;
}
.back-to-top:hover {
    border: 2px solid #e96087;
    color: #e96087;
}

/* ========================
   レスポンシブ対応
======================== */

/* 374px以下 - iPhone 5 */
@media only screen and (max-width: 374px) {
}

/* 375px以下 - Small screens */
@media only screen and (max-width: 375px) {
}

/* 460px以上 - タブレット〜PC */
@media only screen and (min-width: 460px) {
}

/* 641px以上 - タブレット〜PC */
@media only screen and (min-width: 40em) {
}

/* 700px以上 - タブレット〜PC */
@media only screen and (min-width: 768px) {
  .past {
  margin-top: 5rem;
}
  
  
}

/* 960px以上 - PC */
@media only screen and (min-width: 960px) {
 
.poster-waku .poster-left,.poster-waku .poster-right {
  width: 46%;
  margin: 0 2%;
  float: left;
  }
.poster-waku .poster-left img,.poster-waku .poster-right img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  }
  
}

/* 1024px以上 - PC */
@media only screen and (min-width: 1024px) {
  .past {
  margin-top: 100px;
}
  
}

/* 1201px以上 - PC */
@media only screen and (min-width: 1201px) {
 
  
}
