@charset "UTF-8";

/* ==================================================
  global : 各種引数
================================================== */

/* 横幅 */

/* フォント */

/* 色 */


/* ==================================================
  印刷用
================================================== */

@page {
  size: A4 portrait; /* 横の場合はlandscape */
}


/* ==================================================
  l- : layout : 全体レイアウト
  header nav / main article / footer / pagetop
================================================== */

html {
  @media print {
    width: 200mm;
    height: 287mm;
    margin: 5mm;
    font-size: 11pt;
    line-height: 1.8;
  }
  @media screen and (min-width: 1100px) {
    font-size: 16px;
    line-height: 1.8;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    font-size: 16px;
    line-height: 1.6;
  }
  @media screen and (max-width: 519px) {
    font-size: 14px;
    line-height: 1.6;
  }
}

body {
  word-wrap: break-word;

  &#jp {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  }
  
  &#en {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  }
}



/* ==================================================
  l- : layout : 全体レイアウト
  l-header
================================================== */

.h1 {
  display: block;
}

.l-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  background: url(../images/header_back_2026.png);
  background-repeat: no-repeat;
  background-size: cover;
  @media print {
    height: 30mm;
    background-position-y: 10mm;
  }
  @media screen and (min-width: 1100px) {
    height: 200px;
    background-position: center;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    height: auto;
    background-position: center;
  }
  @media screen and (max-width: 519px) {
    height: auto;
    background-position: center;
  }
  
  .header_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    &.l {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      max-width: 1100px;
      padding-left: 5%;
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        display: none;
      }
      @media screen and (max-width: 519px) {
        display: none;
      }
      > img {width: 100%;}
    }

    &.m {
      @media print,
      screen and (min-width: 1100px) {
        display: none;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 90vw;
        max-width: 600px;
        padding-left: 5px;
        padding-top: 5px;
        padding-bottom: 5px;
      }
      @media screen and (max-width: 519px) {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 90%;
        max-width: 600px;
        padding-left: 5px;
        padding-top: 5px;
        padding-bottom: 5px;
      }
      > img {width: 100%;}
    }

  } /* .header_title */

  .header_image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    
    img {
      max-width: 100%;
    }
    &.right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: right;
      -ms-flex-pack: right;
      justify-content: right;
      @media print {
        > img {
          height: 100%;
          width: auto;
          max-width: unset;
        }
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        width: 23%;
      }
      @media screen and (max-width: 519px) {
        width: 25%;
      }
    }
  } /* .header_image */
} /* .l-header */


/* ==================================================
    l- : layout : 全体レイアウト
    l-top_header
    2022.10.6 バナー追加
   ================================================== */

.l-top_header {
  /* display: flex; */
  /*background-color: #637c9d;*/
  background-image: url(../images/top_header_bg_2026.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
  @media print {
    width: 100%;
  }
  @media screen and (min-width: 1921px) {
    background-position-y: center;
  }
  @media screen and (max-width: 1920px) and (min-width: 1100px) {
    background-position-y: top;
    background-size: unset;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    background-position-y: top;
  }
  @media screen and (max-width: 519px) {
    background-position-y: center;
  }

  .top_header_container {
    /* display: flex;
    flex-direction: column;
    align-items: center; */
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    /* align-items: center; */
    @media screen and (min-width: 1100px) {
      height: 760px;
      grid-template-rows: 1fr auto;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      /* height: 600px; */
      height: min(100vh, 100vw);
      grid-template-rows: 1fr auto;
    }
    @media screen and (max-width: 519px) {
      height: 100vw;
      grid-template-rows: 1fr auto;
    }

    /* .top_header_logomark {
      @media screen and (min-width: 1380px) {
        padding: 20px 0 10px 10%;
      }
      @media screen and (max-width: 1379px) and (min-width: 1100px) {
        padding-top: 30px;
        padding-left: 30px;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        padding-top: 15px;
        padding-left: 20px;
        width: 110px;
      }
      @media screen and (max-width: 519px) {
        padding-top: 15px;
        padding-left: 15px;
        width: 85px;
      }
    } */ /* .top_header_logomark */

    .top_header_title {

      &.l {
        /* display: flex; */
        /* align-items: center; */
        @media print {
          padding-bottom: 5mm;
          > img {width: 100%;}
        }
        @media screen and (min-width: 1380px) {
          padding-top: 15px;
        }
        @media screen and (max-width: 1379px) and (min-width: 1100px) {
          padding-top: 15px;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          display: none;
        }
        @media screen and (max-width: 519px) {
          display: none;
        }
      }

      &.ms {
        /* display: flex; */
        /* justify-content: center; */
        /* align-items: center; */
        @media print,
        screen and (min-width: 1100px) {
          display: none;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          /* padding-top: 32px; */
          /* max-width: 680px; */
          max-height: 460px;
          padding-left: 30px;
          padding-right: 30px;
          /* > img {max-height: 50%} */
        }
        @media screen and (max-width: 519px) {
          padding-top: 15px;
          padding-left: 15px;
          padding-right: 15px;
        }

        > img {max-width: 100%;}
      }
    } /* .top_header_title */

    .top_banner_wrap {
      width: 100%;
      @media print {
        padding-left: 5mm;
        padding-bottom: 10mm;
      }
      @media screen and (min-width: 1380px) {
        width: 50%;
        margin-right: auto;
        padding-left: 10%;
        padding-bottom: 60px;
        display: flex;
        align-items: center;
      }
      @media screen and (max-width: 1379px) and (min-width: 1100px) {
        padding: 30px 30px 60px;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        padding: 30px 30px 60px;
      }
      @media screen and (max-width: 519px) {
        padding: 30px 15px;
      }
    

      .list_banner {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 1rem;
        @media print {
          gap: 3mm;
        }
        @media screen and (min-width: 1380px) {
        }
        @media screen and (max-width: 1379px) and (min-width: 1100px) {
          justify-content: space-around;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          justify-content: space-between;
        }
        @media screen and (max-width: 519px) {
          justify-content: space-between;
        }

        .list_item {
          padding-left: 1rem;
          padding-right: 1rem;
          text-align: center;
          background-color: #fff;
          @media print {
            width: 50mm;
          }
          @media screen and (max-width: 1379px) and (min-width: 1100px) {
            width: 25%;
          }
          @media screen and (max-width: 1099px) and (min-width: 520px) {
            /* width: 25%; */
          }
          @media screen and (max-width: 519px) {
            /* width: 25%; */
            padding-left: 0;
            padding-right: 0;
          }

          &.-fava {
            background-color: #f9ce97;
            border: 1px solid #562f00;

            img {
              background-color: #f9ce97;
            }
          }
    
          img {
            max-width: 100%;
          }
    
          a:hover img {
            opacity: 0.7;
            -webkit-transition: all 0.3s ease;
            transition: all 0.3s ease;
          }
        } /* .list_item */
      } /* .list_banner */
    } /* .top_banner_wrap */
  } /* .top_header_container */
} /* .l-top_header */


/* ==================================================
    l- : layout : 全体レイアウト
    l-nav
   ================================================== */

.l-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.85rem;
  line-height: 1.3;
  font-weight: bold;
  color: #fff;
  background: #3262ac;
  z-index: 9;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  @media print {
    height: 12mm;
    font-size: 8.5pt;
    line-height: 1.15;
  }
  @media screen and (min-width: 1100px) {
    height: 60px;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
  }
  @media screen and (max-width: 519px) {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
  }

  &.js_open {
    right: 0;
  }

  .l-gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-right: 1px solid #fff;
    @media print,
    screen and (min-width: 1100px) {
      width: 100%;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      width: 80%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    @media screen and (max-width: 519px) {
      width: 80%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  
    > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;

      & + li {
        @media print,
        screen and (min-width: 1100px) {
          border-left: 1px solid #fff;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          border-top: 1px solid #fff;
        }
        @media screen and (max-width: 519px) {
          border-top: 1px solid #fff;
        }
      }

      > a {
        padding: 0.3rem 0.5rem;
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: center;
        text-decoration: none;
        @media print {
          padding: 0;
        }
        @media print,
        screen and (min-width: 1100px) {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
        }
        @media screen and (max-width: 519px) {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
        }
      
        /*20251129*/
        &:hover {
          background-color: #0f2674;
          color: white;
          transition: 0.4s;
        }
      } /* a */
    } /* li */
  } /* .l-gnav */

  .l-langnav {
    width: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  
    li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 50%;
  
      > a {
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        padding: 0.2em;
        text-align: center;
        background-color: rgb(204, 0, 0);
        color: #fff;
      
        &:hover {
          background-color: #990000;
        }  
      }
  
    } /* li */
    li.off {
      > a {
        background-color: rgb(153, 153, 153);
        color: #fff;
      
        &:hover {
          background-color: gray;
        }
      }
    } /* li.off */
  } /* .l-langnav */
} /* .l-nav */


/* ==================================================
    l- : layout : 全体レイアウト
    l-main
   ================================================== */

.l-main {
  width: 100%;
  background: #f0ede6;
  @media print {
    padding: 5mm 0 5mm;
  }
  @media screen and (min-width: 1100px) {
    padding: 5rem 0 3rem;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    padding: 2rem 0 1.5rem;
  }
  @media screen and (max-width: 519px) {
    padding: 1rem 0 1.5rem;
  }

  .l-article {
    max-width: 1100px;
    background: #fff;
    -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    @media print {
      margin: 5mm 0;
      padding: 8mm;
      /* box-shadow: unset; */
    }
    @media screen and (min-width: 1100px) {
      margin: 3.5rem auto 3rem;
      padding: 5rem;
      width: 100%;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      margin: 1.5rem auto 1rem;
      padding: 2rem;
      width: calc(100% - 3rem);
    }
    @media screen and (max-width: 519px) {
      margin: 1rem auto 1rem;
      padding: 2rem 1rem;
      width: calc(100% - 2rem);
    }
  } /* .l-article */
} /* .l-main */


/* ==================================================
    l- : layout : 全体レイアウト
    l-footer
   ================================================== */

.l-footer {
  width: 100%;
  padding: 2rem;
  background: #333;
  color: #fff;
  text-align: center;
  @media print {
    padding: 3mm;
    font-size: 9pt;
  }
  
  .footer_container {
    a:hover {
      color: #637c9d;
      text-decoration: underline;
    }
  
    > dl {
      .organizer {
        @media screen and (min-width: 1100px) {
          font-size: 1.8rem;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          font-size: 1.3rem;
        }
        @media screen and (max-width: 519px) {
          font-size: 1.3rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
        }
      }
  
      + dl {
        margin-top: 2rem;
        @media print {
          margin-top: 3mm;
        }
      }
  
      > dt + dd {
        margin-top: 0.2rem;
        font-weight: bold;
        @media print {
          font-size: 10pt;
        }
        @media screen and (min-width: 1100px) {
          font-size: 1.2rem;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          font-size: 1rem;
        }
        @media screen and (max-width: 519px) {
          font-size: 1rem;
        }
      }
    } /* > dl */
  } /* .footer_container */

  .credit {
    padding-top: 3rem;
    @media print {
      padding-top: 3mm;
    }
  }
} /* .l-footer */


/* ==================================================
    c- : component : 最小単位のパーツ
   ================================================== */


/* section */

section + section {
  margin-top: 5rem;/*20251208*/
  @media print {margin-top: 10mm;}
}

.main__contents section + section {
  margin-top: 3em;
}

/* container */

.image_container img {
  width: 100%;
}


/* 見出し */

.h2 {
  font-weight: bold;
  text-align: center;
  @media print {
    font-size: 22pt;
  }
  @media screen and (min-width: 1100px) {
    font-size: 2.8rem;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    font-size: 2.5rem;
  }
  @media screen and (max-width: 519px) {
    font-size: 1.8rem;
  }
}

.h3 {
  display: inline-block;
  position: relative;
  margin: 1rem 3rem 2rem 0;
  padding: 0 3%;
  color: #333333;
  line-height: 1;
  z-index: 0;
  font-size: 2rem;
  font-weight: bold;

  @media print {font-size: 16pt;}

  &:before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: -1;
    width: 2.5em;
    height: 2.5em;
    border-radius: 50%;
    background: #ffbfba;
    content: '';
  }

  + * {
    margin-top: 1rem;
  }

  .h3_subtext {
    font-size: .75em;
  }
}

.h4 {
  padding: 1rem 2rem;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
  font-size: 1.3rem;

  + * {
    margin-top: 1rem;
  }
}


/* text */

.text_min {
  font-size: 0.85rem;
}

.text_max {
  font-size: 1.3rem;
}

.text_bold {
  font-weight: bold;
}

.text_center {
  text-align: center;
}

.text_red {
  color: red;
}

.text_underline {
  text-decoration: underline;
}



/* a リンク */

.l-article a {
  &:not([class]),
  &.icon_window {
    color: #fff;
    font-weight: bold;
    text-decoration: underline;
  }
  
  &.text_link{
    color: #2e570d;
    font-weight: bold;
    text-decoration: underline;
  }
  
  &:hover {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    
    img {
      opacity: 0.7;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
    }
  }
}


/*　ボタン　*/

.btn_container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 0;

  .btn_rounded {
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    color: #fff;
    background-color: #d93920;
    border-radius: 100vh;
    -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    @media print,
    screen and (min-width: 1100px) {
      padding: 1.5rem 5rem;
      font-size: 1.8rem;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      padding: 1.2rem 5rem;
      font-size: 1.5rem;
    }
    @media screen and (max-width: 519px) {
      padding: 0.7rem 5rem;
      font-size: 1.5rem;
    }
  
    &:hover {
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
      color: #fff;
    }
  } /* .btn_rounded */
} /* .btn_container */


.btn_end {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  .btn_item {
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%;
    justify-content: space-between;
    padding-right: 2rem;
  
    &:last-child {
      padding-right: 0;
    }
  
    > a {
      width: 100%;
      background: #e7841d;
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      margin: 0 auto;
      padding: 10px 25px;
      color: #fff;
      transition: 0.3s ease-in-out;
      font-weight: 500;
      z-index: 0;
      text-decoration: none !important;
      box-shadow: 0 5px 0 #cdcdcd;
      @media print,
      screen and (min-width: 1100px) {
        padding: 1rem 2rem;
        font-size: 1.2rem;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        padding: 1rem 0.5rem;
      }
      @media screen and (max-width: 519px) {
        padding: 0.5rem 0.3rem;
      }
    
      &::after {
        transform: rotate(45deg);
        width: 8px;
        height: 8px;
        margin-left: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        content: '';
        position: absolute;
        right: 1rem;
      }
    
      &:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 0;
        display: block;
        background: #855828;
        transition: .3s;
        left: 0;
      }
    
      &:hover {
        color: #FFF;
    
        &:before {
          width: 100%;
          z-index: -1;
        }
      }
    } /* a */
  } /* .btn_item */
} /* .btn_end */

.btn {
  padding: 15px 0;
  display: block;
  margin: 2rem auto;
  text-align: center;
  font-weight: bold;
  color: #fff !important;
  background: -webkit-gradient(linear, left top, right top, from(#E69EC3), to(#B8445D));
  background: linear-gradient(to right, #E69EC3, #B8445D);
  border-radius: 5px;
  border: 1px solid #E177A1;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease !important;
}

a.btn:hover {
  color: #e177a1 !important;
  background: #fff !important;
  text-decoration: none;
  cursor: pointer;
  cursor: hand;
}

.btn_250 {
  width: 250px;
}

/* 2025.12.21追加 */
.topDlBtn {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
  background: #e7841d;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  z-index: 0;
  text-decoration: none !important;
  box-shadow: 0 5px 0 #cdcdcd;
  @media print,
  screen and (min-width: 1100px) {
    padding: 1rem 2rem;
    font-size: 1.2rem;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    padding: 1rem 0.5rem;
  }
  @media screen and (max-width: 519px) {
    padding: 0.5rem 0.3rem;
  }
  &::after {
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    position: absolute;
    right: 1rem;
  }

  &:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #855828;
    transition: .3s;
    left: 0;
  }

  &:hover {
    color: #FFF;

    &:before {
      width: 100%;
      z-index: -1;
    }
  }
}

/*　アイコン　*/

.icon_window {
  &::after {
    content: url("../images/icon_window.svg");
    position: relative;
    display: inline-block;
    width: 13px;
    margin-left: 5px;
  }
}

.icon_pdf {
  margin-right: 2px;
  padding-right: 19px;
  background: url("../images/icon_pdf.png") 100% no-repeat;
}

.icon_doc {
  margin-right: 2px;
  padding-right: 19px;
  background: url("../images/icon_doc.png") 100% no-repeat;
}


/*　テーブル　*/

.table_nomal {
  border-collapse: collapse;
  padding: 0;
  width: 100%;

  th,
  td {
    padding: 0.7rem 1rem;
    border: 1px solid rgb(100, 100, 100);
    vertical-align: middle;
  }

  > thead > tr {
    > th {
      background-color: #f8d3cd;
      padding: 0.2rem;
      text-align: center;
    }
  }

  > tbody > tr {
    background-color: #fff;
  
    > th {
      font-size: 0.85em;
      text-align: center;
    }
  }
} /* .table_nomal */


/*　list リスト　*/

.list_circle {
  .list_item {
    position: relative;
    padding: 0 0 0 2.5rem;
    
    &:before {
      content: "";
      display: block;
      position: absolute;
      left: 1.2rem;
      height: 0.7rem;
      width: 0.7rem;
      border-radius: 50%;
      background: #f4bfb7;
      top: 0.5rem;
    }
    
    &.-mark_none:before {
      background: none;
    }
  } /* .list_item */
} /* .list_circle */

.list_number {
  .list_item {
    position: relative;
    padding-left: 2.5rem;
    
    .number {
      position: absolute;
      left: 0;
      width: 2.2rem;
      text-align: center;
    }
    
    &.multiple {
      padding-left: 5rem;
      
      .number {
        width: 4.7rem;
      }
    }
  } /* .list_item */
} /* .list_number */


/*　余白　*/

.mt_0 {
  margin-top: 0;
}

.mt_1rem {
  margin-top: 1rem;
}

.mt_05rem {
  margin-top: 0.5rem;
}

.mt_15rem {
  margin-top: 1.5rem;
}

.mt_3rem {
  margin-top: 3rem;
}


/*　背景　*/

.bg_f3f0b3 {
  background-color: #f3f0b3;
}


/* 準備中 blankpage */

.c-blankpage {
  text-align: center;
  padding: 15% 0;

  p:first-of-type {
    font-size: 1.5rem;
  }
}


/* pagetop */

#page_top {
  width: 80px;
  height: 80px;
  position: fixed;
  right: -100px;
  bottom: 50px;
  background: #fff;
  opacity: 0.7;
  border-radius: 50%;

  a {
    position: relative;
    display: block;
    width: 80px;
    height: 80px;
    text-decoration: none;

    &::before {
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f062";
      font-size: 45px;
      line-height: normal;
      color: #637c9d;
      position: absolute;
      width: 65px;
      height: 65px;
      top: 0.8rem;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      text-align: center;
    }
  }
} /* #page_top */


/* マーク */

.triangle {
  width: 0;
  height: 0;
  border-left: 1.5rem solid transparent;
  border-right: 1.5rem solid transparent;
  border-top: 1.5rem solid #637c9d;
  margin-left: auto;
  margin-right: auto;
}


/**/


/* ==================================================
    u- : utility : 調整用
   ================================================== */


/**/


/* ==================================================
    p- : page : ページ毎の設定
   ================================================== */


/* トップページ toppage */

.p-top {
  padding-top: 3rem;
  @media print {
    padding: 10mm 5mm;
  }
  @media screen and (min-width: 1380px) {
    padding-top: 5rem;
  }

  .l-article {
    position: relative;
    margin-top: 0;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0;
    
    .btn_container {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-top: 0;

      .btn_registration {
        position: relative;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        color: #fff;
        background-color: #d93920;
        border-radius: 100vh;
        -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
        box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
        @media print,
        screen and (min-width: 1100px) {
          padding: 1.5rem 5rem;
          font-size: 1.8rem;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          padding: 1.2rem 5rem;
          font-size: 1.5rem;
        }
        @media screen and (max-width: 519px) {
          padding: 0.7rem 5rem;
          font-size: 1.5rem;
        }
        
        &:hover {
          -webkit-transform: scale(1.1);
          transform: scale(1.1);
          color: #fff;
        }
      } /* .btn_registration */
      
      .btn_live {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
      
        .btn_item {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-flex: 1;
          -ms-flex-positive: 1;
          flex-grow: 1;
          
          & +.btn_item {
            margin-left: 30px;
            @media screen and (max-width: 1099px) and (min-width: 520px) {
              margin-left: 20px;
            }
            @media screen and (max-width: 519px) {
              margin-left: 15px;
            }
          }
        
          > a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: stretch;
            -ms-flex-align: stretch;
            align-items: stretch;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            position: relative;
            -webkit-transition: all 0.3s;
            transition: all 0.3s;
            text-align: center;
            line-height: 1.3;
            color: #fff;
            text-decoration: none;
            background-color: rgb(7, 86, 160);
            -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
            @media print,
            screen and (min-width: 1100px) {
              padding: 1rem 2rem;
              font-size: 1.2rem;
            }
            @media screen and (max-width: 1099px) and (min-width: 520px) {
              padding: 1rem 0.5rem;
            }
            @media screen and (max-width: 519px) {
              padding: 0.5rem 0.3rem;
            }
            
            &:hover {
              -webkit-transform: scale(1.1);
              transform: scale(1.1);
              color: #fff;
            }
          } /* .btn_item > a */
        } /* .btn_item */
      } /* .btn_live */
    } /* .btn_container */
    
    .info_container {
      position: relative;
      background-color: #fff;
      -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
      box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
      @media print,
      screen and (min-width: 1100px) {
        margin-left: 0;
        padding: 7rem 5rem 5rem;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        margin-left: auto;
        margin-right: auto;
        padding: 4rem 2rem;
      }
      @media screen and (max-width: 519px) {
        margin-left: auto;
        margin-right: auto;
        padding: 4rem 2rem;
      }

      .info_title {
        @media print,
        screen and (min-width: 1100px) {
          top: 2rem;
          left: -10rem;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          top: 1rem;
          left: -2rem;
        }
        @media screen and (max-width: 519px) {
          top: 1rem;
          left: -1rem;
        }
      } /* .info_title */
      
      .info_list {
        overflow-y: scroll;
        max-height: 350px;
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          margin-top: 3rem;
        }
        @media screen and (max-width: 519px) {
          margin-top: 3rem;
        }
        
        dt {
          float: left;
          color: rgb(100, 100, 100);
        }
        
        dd {
          padding: 0 0 0.5rem 7em;
        }
      } /* .info_list */
      
      .info_end {
        margin-top: 2rem;
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          padding-left: 1rem;
          padding-right: 1rem;
        }
        @media screen and (max-width: 519px) {
          padding-left: 1rem;
          padding-right: 1rem;
        }
        
        .end_text {
          /* font-size: 1.3rem; */
        }
        
        .end_title {
          margin-top: 2rem;
          font-weight: bold;
        }
      } /* .info_end */
      
      .btn_container {
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          margin-top: 3rem;
        }
        @media screen and (max-width: 519px) {
          margin-top: 3rem;
        }
      }
    } /* .info_container */
  } /* .l-article */
} /* .p-top */




.ribbon {
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  padding: 11px;
  margin: 0 0 0 -20px;
  width: 300px;
  color: white;
  background: -webkit-gradient(linear, right top, left top, from(rgb(255 128 136)), to(rgb(255 128 136)));
  background: linear-gradient(to left, rgb(255 128 136), rgb(246 152 166));
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  margin-top: 20px;
  z-index: 1;

  &:after {
    position: absolute;
    content: '';
    z-index: 1;
    top: 0;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 30px 15px 30px 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
  }

  &:before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px #994e00;
  }

  h2 {
    margin: 0;
    font-size: 20px;
    padding-left: 20px;
    font-weight: bold;
  }
} /* .ribbon */



/* スライダー */

@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes infinity-scroll-right {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }

  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes infinity-scroll-right {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }

  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

_:-ms-lang(x)::-ms-backdrop,
.p-top_slider {
  display: -ms-grid;
  overflow: hidden;
}

.top_slider_container {
  position: relative;
  padding: 3rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  background: #f0ede6;
  
  .slider_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*----------------------------
    マウスオーバーで一時停止させたい場合は以下
    .top_slider_container:hover .slider_list_left {
      animation-play-state: paused;
    }
    ----------------------------*/
    
    .slider_item {
      @media print,
      screen and (min-width: 1100px) {
        width: 20vw;
      }
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        width: 25vw;
      }
      @media screen and (max-width: 519px) {
        width: 50vw;
      }
    
      > img {
        width: calc(100% - 20px);
      }
    } /* .slider_item */
  } /* .slider_list */

  .slider_list_left {
    -webkit-animation: infinity-scroll-left 70s infinite linear 0.3s both;
    animation: infinity-scroll-left 70s infinite linear 0.3s both;
  }
  
  .slider_list_right {
    -webkit-animation: infinity-scroll-right 70s infinite linear 0.3s both;
    animation: infinity-scroll-right 70s infinite linear 0.3s both;
  }
} /* .top_slider_container */




/* 実行委員会 committee */

.p-committee .table_nomal {
  > thead {
    font-size: 0.85rem;
  }
  
  > tbody {
    > tr {
      th,
      td {
        @media screen and (max-width: 519px) {
          padding: 0.3rem 0.5rem;
        }
      }
      
      > td {
        &:nth-child(1) {
          @media print,
          screen and (min-width: 1100px) {
            width: 180px;
          }
          @media screen and (max-width: 1099px) and (min-width: 520px) {
            width: 120px;
          }
          @media screen and (max-width: 519px) {
            width: 90px;
          }
        }
        
        &:nth-child(2) {
          @media print,
          screen and (min-width: 1100px) {
            width: 180px;
          }
          @media screen and (max-width: 1099px) and (min-width: 520px) {
            width: 150px;
          }
          @media screen and (max-width: 519px) {
            width: 110px;
          }
        }
        
        &:nth-child(3) {
          @media screen and (max-width: 519px) {
            font-size: 0.85rem;
          }
        }
      } /* td */
    } /* tr */
  } /* tbody */
} /* .p-committee .table_nomal */



/* 挨拶 greeting */

.p-greeting {
  .president_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    @media screen and (max-width: 750px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
    }
    
    .text {
      text-align: right;
      font-size: 1.3rem;
      font-weight: bold;
      @media screen and (max-width: 750px) {
        margin: 1rem auto 0;
        text-align: center;
      }
      
      .position {
        font-weight: normal;
      } /* .position */
      
      .name {
        margin-left: 1.5rem;
        font-size: 1.8rem;
      } /* .name */
    } /* .text */
    
    .face {
      margin-left: 3rem;
      @media print {
        margin-left: 5mm;
        > img {width: 30mm;}
      }
      @media screen and (max-width: 750px) {
        margin: auto;
      }
    } /* .face */

    p {
      text-align: justify;
      text-indent: 1em;

      #en & {
        text-indent: 0;
      }
    }
  } /* .president_container */
} /* .p-greeting */


#en .p-greeting .greeting_container p {
  text-indent: 0;
}


/* 開催概要 Outline */

.p-outline dl {
  > dt {
    float: left;
    padding-left: 1em;
    @media screen and (max-width: 750px) {
      float: none;
    }
  }
  
  /*20251129*/
  > dd {
    padding: 0rem 1em 1.5rem 8em;
    margin-bottom: 1.5rem;
    border-bottom: solid 3px #becceb;
    @media print {
      padding: 0 1em 1.25em 8em;
      margin-bottom: 1.25em;
    }
    
    &:last-of-type {
      margin-bottom: 0;
      border-bottom: none;
    }

    #en & {
      padding-left: 18em;
      @media screen and (max-width: 750px) {
        padding-left: 1em;
      }
    }
  }
} /* .p-outline dl */

#en .p-outline dl > dd {
  padding-left: 18em;
  @media screen and (max-width: 750px) {
    padding-left: 1em;
  }
}



/* 参加登録 registration */

.p-registration {
  
  .step {
    color: #c3341c;
  
    span {
      padding: 0 0.5rem;
      background: rgb(238, 152, 138);
      margin-right: 1rem;
      font-size: 0.8em;
      color: #fff;
    }
  }
  
  .container {
    & + * {
      margin-top: 1.5rem;
    }
    
    &.border {
      padding: 2rem;
      border: solid 5px #637c9d;
    }
    
    & + .image_container {
      margin-top: 1.5rem;
    }
    
    .image_container {
      max-width: 300px;
      margin-top: 0.5rem;
      margin-bottom: 0.5rem;
      border: solid 1px rgb(100, 100, 100);
    }
  } /* .container */

  .peatix_container {
    margin-top: 1.5rem;
    padding: 2rem;
    background-color: rgb(245, 235, 220);
  }
  
  .btn_badge_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    
    a {
      padding: 0.5rem 0.2rem;
      
      img {
        width: 95%;
        max-height: 50px;
      }
    }
  }
  
  .btn_container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
    
    .btn_registration {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      position: relative;
      max-width: 70vw;
      padding: 1rem 2rem;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      color: #fff;
      line-height: 1.3;
      background-color: #56ab48;
      border-radius: 100vh;
      -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
      box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
      font-size: 1.5rem;
      text-align: center;
      
      &:hover {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
        color: #fff;
      }
    
      .url {
        margin-top: 0.5rem;
        font-size: 1rem;
      }
    } /* .btn_registration */
  } /* .btn_container */
} /* .p-registration*/



/* プログラム Program */

.p-program .btn_live {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  @media screen and (max-width: 519px) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }
} /* .btn_live */

.p-program .btn_live .btn_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 33.333333%;
  @media screen and (max-width: 519px) {
    width: 100%;
    margin-bottom: 10px;
    min-height: 50px;
  }

  + .btn_item {
    margin-left: 20px;
    @media screen and (max-width: 519px) {
      margin-left: 0 !important;
      margin-bottom: 10px;
    }
  }
  
  > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    line-height: 1.3;
    color: #fff;
    text-decoration: none;
    background-color: #e7841d;
    @media print,
    screen and (min-width: 1100px) {
      padding: 1rem 2rem 1rem 1rem;
      font-size: 1.1rem;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      padding: 1rem 2rem;
    }
    @media screen and (max-width: 519px) {
      padding: 0.5rem 0.5rem;
      font-size: 0.85rem;
    }

    &:hover {
      /*
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
      */
      color: #fff;
    }
  } /* > a */
} /* .btn_item */



.p-program .program_container {
  padding: 2rem;
  border: solid 5px #637c9d;
  @media print {
    padding: 5mm;
  }
  
  .date {
    font-size: 1.5rem;
    font-weight: bold;
    
    > span {
      font-size: 1.3rem;
    }
  }
} /* .p-program .program_container */


/*20241223*/
.p-program .gaiyo_container {
  padding: 0.5rem 2rem;
  background-color: #feffc7;
  font-weight: bold;

  /*20241223*/
  #en & {
    /*background-color: #e4f7ff;*/
  }
  
  .gaiyo {
    dt {
      float: left;
    }
    
    dd {
      padding-left: 3.5rem;
    }
  } /* .gaiyo */
} /* .p-program .gaiyo_container */


.p-program .program_inner {
  margin-top: 3rem;
  
  > .-title {
    /*
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    */
    font-weight: bold;
    background-color: #becceb;
    /*color: #fff;*/
    padding: 0.5em 1em calc(0.5em - 6px);
    position: relative;
    font-size: 1.3rem;

    &::after {
      content: '';
      background-color: #becceb;
      width: 100%;
      height: 2px;
      position: absolute;
      bottom: -6px;
      left: 0;
    }
    
    > .-lg {
      font-size: 1rem;
      margin-left: 1rem;
    }
    
    + * {
      margin-top: 1rem;
    }
  } /* .-title */
  
  > .-theme {
    padding-left: 2rem;
    color: #c3341c;
    font-weight: bold;
    font-size: 1.5rem;
    @media print {
      font-size: 14pt;
    }
    @media screen and (max-width: 519px) {
      padding-left: 0;
    }
  
    &.-sub {
      font-size: 1.2rem;
      margin-top: 0;
      padding-left: 7rem;
      @media screen and (max-width: 519px) {
        padding-left: 0;
      }
    }
  
    > span {
      font-size: 1rem;
    }
    
    + * {
      margin-top: 2rem;
    }
  } /* .-theme */
  
  > .-session_theme {
    color: #7c5823;
    font-weight: bold;
    font-size: 1.2rem;
    position: relative;
  
    &::after {
      position: absolute;
      bottom: -0.3rem;
      left: 0;
      width: 100%;
      height: 5px;
      content: "";
      background: rgb(245, 235, 220);
    }
    
    > span {
      font-size: 0.85em;
    }
    
    + * {
      margin-top: 2rem;
    }
  } /* .-session_theme */
  
  + .-sub {
    margin-top: 2rem;
  }
} /* .p-program .program_inner */


.p-program .session_container {
  padding: 0.5rem 0;
  
  .-organization {
    font-size: 0.85em;
    line-height: 1.5;

  }
  
  .-title {
    /*position: relative;*/
    margin-left:.5rem;
    padding-top: .2rem;
    padding-left: 1rem;
    padding-bottom: .2rem;
    font-size: 1.2rem;
    font-weight: bold;
    border-left: .5rem solid #debe8d;
    
    /*&::before {
      position: absolute;
      left: 0;
      content: "「";
      color: #debe8d;
    }*/
    
    /*&::after {
      content: "」";
      color: #debe8d;
      padding-left: 0.5em;
    }*/
  }
  
  &.-special .-title {
    font-size: 1.5rem;
    line-height: 1.5;
    @media print {
      font-size: 14pt;
    }
  }
  
  .-name {
    margin-top:1rem;
    padding-left: 2rem;
    font-weight: bold;
  }
  
  &.-special .-name {
    font-size: 1.2rem;
  }
  
  .-organization {
    padding-left: 4.5rem;
  }
  
  &.-special .-organization {
    font-size: 1rem;
    padding-left: 2rem;
  }
  
  &.-special .-name > .-organization {
    padding-left: 0;
  }
  
  &.-special .-pdf {
    margin-top: .5rem;
    padding-left: 2rem;
    >.-btn{
      padding:.25rem 1rem;
      background-color: #3262ac;
      color: #fff;
      &:hover{
        background-color: #0f2674;
      }
    }
  }



  &.-col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    &:nth-of-type(n+2){margin-top:2rem;}
    @media screen and (max-width: 519px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
    }
  }
} /* .p-program .session_container */



.p-program .coordinator_container {
  margin-top: 1rem;
  padding-left: 0rem;
}

.p-program .coordinator_container .coordinator>.coordinator_text {
  font-size: 0.85em;
  color: #7c5823;
  font-weight: bold;
}

.p-program .coordinator_container>.-organization {
  font-size: 0.85em;
  padding-left: 7.5rem;
}

.p-program .chair_container {
  margin-top: 1rem;
  padding-left: 5rem;
  @media print {
    padding-left: 10mm;
  }
}

.p-program .chair_container .chair>.chair_text {
  font-size: 0.85em;
  color: #7c5823;
  font-weight: bold;
}

.p-program .chair_container>.-chair_organization {
  font-size: 0.85em;
  padding-left: 2.5rem;
  @media print {
    font-size: 10pt;
  }
}

.p-program .chair_container+* {
  margin-top: 2rem;
}

@media screen and (max-width: 519px) {
  .p-program .chair_container {
    padding-left: 2rem;
  }
}

.p-program .speaker_text {
  font-size: 0.85em;
  color: #7c5823;
  font-weight: bold;
}

.p-program .abstract_container {
  min-width: 6rem;
}

.p-program .abstract_container .btn_abstract {
  display: block;
  padding: 0.2rem 0.5rem;
  min-width: 6rem;
  font-size: 0.85rem;
  text-align: center;
  line-height: normal;
  background-color: rgb(100, 100, 100);
}

.p-program .abstract_container .btn_abstract::after {
  content: "抄録PDF";
  color: #fff;
}

.p-program .abstract_container .btn_abstract:not(.-none) {
  background-color: #f1d997;
}

.p-program .abstract_container .btn_abstract:not(.-none)::after {
  color: #000;
}

.p-program .abstract_container .btn_abstract:not(.-none):hover {
  background-color: #f6edd4;
}

@media screen and (max-width: 519px) {
  .p-program .abstract_container {
    width: 60%;
    margin: 1rem auto;
  }
}

.p-program .face_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;

  >div:first-of-type{padding-right: 2rem;}
  
}

.p-program .face_container .face img {
  max-width: 100%;
  @media print {
    width: 30mm;
  }
}


@media print {
  .p-program .face_container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-program .face_container .face {
    flex-shrink: 0;
  }
}

@media screen and (min-width: 1100px) {
  .p-program .face_container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  /*  .p-program .face_container div:first-child {
    width: 75%;
  }*/
  .p-program .face_container .face {
    max-width: 20%;
    min-width: 20%;
  }
}

@media screen and (max-width: 1099px) and (min-width: 520px) {
  .p-program .face_container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-program .face_container div:first-child {
    width: 70%;
  }

  /*  .p-program .face_container div:first-child {
    width: 70%;
  }*/
  .p-program .face_container .face {
    min-width: 100px;
    width: 25%;
  }
}

@media screen and (max-width: 519px) {
  .p-program .face_container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-program .face_container .face {
    width: 100%;
    margin-top: 1rem;
    text-align: center;
  }

  .p-program .face_container .face img {
    max-width: 150px;
  }
}


/* オンデマンド配信 On-demand */

.on-demand__thumbnail {
  float: right;
  margin-left: 30px;
  
  &:hover {
    text-decoration: none;
  }
  
  img:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  
  img.nolink:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
  }

  p {
    margin-bottom: 0.3rem;
    text-align: center;
    font-weight: normal;
    font-size: 0.85rem;
    color: #000;
  }
} /* .on-demand__thumbnail */

.on-demand__time {
  font-size: 1rem;
  font-weight: bold;
  color: #868229;
  
  h4 & {
    background: #fff;
    padding: 3px 10px;
    margin-left: 1rem;
  }
  
  h5 & {
    margin-left: 1rem;
  }
}



/* リンク link */

.p-link {
  dl {
    padding: 1em 3em;
    background: rgb(245, 235, 220);
    border: 3px solid #debe8d;
    @media screen and (max-width: 519px) {
      padding: 1em 1.5em;
    }
    
    + dl {
      margin-top: 1em;
    }
  }
} /* .p-link */



/* アンケート questionnaire */

.p-questionnaire {

  .btn_container {
    @media screen and (max-width: 839px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    
    .btn_rounded {
      &:nth-child(2) {
        margin-left: 2rem;
        @media screen and (max-width: 839px) {
          margin-top: 2rem;
          margin-left: 0rem;
        }
      }
    } /* .btn_rounded */
  } /* .btn_container */
} /* .p-questionnaire */



/* ==================================================
  p-ondemand : オンデマンド配信（プログラムページベース）
================================================== */

.p-ondemand {

  .btn_live {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    
    .btn_item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      
      & + .btn_item {
        margin-left: 20px;
        @media screen and (max-width: 519px) {
          margin-left: 15px;
        }
      }
      
      > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        text-align: center;
        line-height: 1.3;
        color: #fff;
        text-decoration: none;
        background-color: rgb(7, 86, 160);
        -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
        box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
        @media print,
        screen and (min-width: 1100px) {
          padding: 1rem 1rem;
          font-size: 1.1rem;
        }
        @media screen and (max-width: 1099px) and (min-width: 520px) {
          padding: 1rem 0.5rem;
        }
        @media screen and (max-width: 519px) {
          padding: 0.5rem 0.5rem;
          font-size: 0.85rem;
        }
        
        &:hover {
          -webkit-transform: scale(1.1);
          transform: scale(1.1);
          color: #fff;
        }
      } /* > a */
    } /* .btn_item */
  } /* .btn_live */
  
  .program_container {
    padding: 2rem;
    border: solid 5px #637c9d;
    
    .date {
      font-size: 1.5rem;
      font-weight: bold;
      
      > span {
        font-size: 1.3rem;
      }
    } /* .date */
  } /* .program_container */
  
  .gaiyo_container {
    padding: 0.5rem 2rem;
    background-color: #fbe6e3;
    font-weight: bold;
    
    .gaiyo  {
      dt {
        float: left;
      }
      
      dd {
        padding-left: 3.5rem;
      }
    } /* .gaiyo */
  } /* .gaiyo_container */
} /* .p-ondemand */


.p-ondemand .program_inner {
  margin-top: 3rem;

  .program_title {
    margin-top: 2rem;
    padding: 0.5rem 1rem;
    background-color: #e8715d;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    
    > .-lg {
      font-size: 1rem;
      margin-left: 1rem;
    }
    
    + * {
      margin-top: 1rem;
    }
  } /* .program_title */
  
  .thumbnail_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-top: 3rem;
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    @media screen and (max-width: 519px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    
    > *:first-child {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
    }
    
    .program_title {
      margin-top: 0;
      
      .time {
        display: inline-block;
        bottom: 0.8rem;
        padding: 0.2rem 0.5rem;
        margin-left: 1rem;
        background-color: #fbe6e3;
        font-size: 0.85rem;
        color: #e8715d;
        line-height: normal;
        
        &::before {
          content: "時間　";
        }
      } /* .time */
    } /* .program_title */
  
    .thumbnail {
      margin-top: 0;
      margin-left: 1rem;
      text-align: center;
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        margin-top: 1rem;
      }
      @media screen and (max-width: 519px) {
        margin-top: 1rem;
      }
      
      .thumbnail_text {
        margin-top: 0.5rem;
        font-size: 0.9rem;
        
        &::after {
          content: "視聴はこちら";
        }
      } /* .thumbnail_text */
    
      .thumbnail_image {
        img {
          border: 1px solid rgb(100, 100, 100);
        }
      } /* .thumbnail_image */
    } /* .thumbnail */
  } /* .thumbnail_container */

  > .-theme {
    padding-left: 2rem;
    color: #c3341c;
    font-weight: bold;
    font-size: 1.5rem;
    @media screen and (max-width: 519px) {
      padding-left: 0;
    }
    
    &.-sub {
      font-size: 1.2rem;
      margin-top: 0;
      padding-left: 7rem;
      @media screen and (max-width: 519px) {
        padding-left: 0;
      }
    }
    
    > span {
      font-size: 1rem;
    }
    
    + * {
      margin-top: 2rem;
    }
  } /* .-theme */
  
  > .-session_theme {
    color: #7c5823;
    font-weight: bold;
    font-size: 1.2rem;
    position: relative;
    
    &::after {
      position: absolute;
      bottom: -0.3rem;
      left: 0;
      width: 100%;
      height: 5px;
      content: "";
      background: rgb(245, 235, 220);
    }
    
    > span {
      font-size: 0.85em;
    }
    
    + * {
      margin-top: 2rem;
    }
  } /* .-session_theme */
  
  + .-sub {
    margin-top: 2rem;
  }
} /* .p-ondemand .program_inner */


.p-ondemand .session_container {
  padding: 0.5rem 0;
  
  &.-col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    @media screen and (max-width: 519px) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
    }
  }

  .-organization {
    font-size: 0.85em;
  }
  
  .-title {
    position: relative;
    padding-left: 2rem;
    font-size: 1.2rem;
    font-weight: bold;
    
    &::before {
      position: absolute;
      left: 0;
      content: "「";
      color: #debe8d;
    }
    
    &::after {
      content: "」";
      color: #debe8d;
      padding-left: 0.5em;
    }
  }
  
  .-name {
    padding-left: 2rem;
  }
  
  .-organization {
    padding-left: 4.5rem;
    
  }
  
  &.-special {
    .-title {
      font-size: 1.5rem;
    }
    .-name {
      font-size: 1.2rem;
    }
    .-organization {
      font-size: 1rem;
      padding-left: 2rem;
    }
    .-name > .-organization {
      padding-left: 0;
    }
  }
} /* .session_container */





.p-ondemand .coordinator_container {
  margin-top: 1rem;
  padding-left: 0rem;
  
  .coordinator > .coordinator_text {
    font-size: 0.85em;
    color: #7c5823;
    font-weight: bold;
  }
  
  > .-organization {
    font-size: 0.85em;
    padding-left: 7.5rem;
  }
} /* .p-ondemand .coordinator_container */




.p-ondemand .chair_container {
  margin-top: 1rem;
  padding-left: 5rem;
  @media screen and (max-width: 519px) {
    padding-left: 2rem;
  }
  
  .chair > .chair_text {
    font-size: 0.85em;
    color: #7c5823;
    font-weight: bold;
  }
  
  > .-chair_organization {
    font-size: 0.85em;
    padding-left: 2.5rem;
  }
  
  + * {
    margin-top: 2rem;
  }
} /* .p-ondemand .chair_container */


.p-ondemand .speaker_text {
  font-size: 0.85em;
  color: #7c5823;
  font-weight: bold;
} /* .p-ondemand .speaker_text */

.p-ondemand .abstract_container {
  min-width: 6rem;
  @media screen and (max-width: 519px) {
    width: 60%;
    margin: 1rem auto;
  }
  
  .btn_abstract {
    display: block;
    padding: 0.2rem 0.5rem;
    min-width: 6rem;
    font-size: 0.85rem;
    text-align: center;
    line-height: normal;
    background-color: rgb(100, 100, 100);
    
    &::after {
      content: "抄録PDF";
      color: #fff;
    }
    
    &:not(.-none) {
      background-color: #637c9d;
      
      &::after {
        color: #000;
      }
      
      &:hover {
        background-color: #f3f900;
      }
    }
  } /* .btn_abstract */
  
  > .time {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #e8715d;
    font-weight: bold;
    text-align: center;
  }
} /* .p-ondemand .abstract_container */



.p-ondemand .face_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  @media print,
  screen and (min-width: 1100px) {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  @media screen and (max-width: 519px) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .face {
    @media print,
    screen and (min-width: 1100px) {
      max-width: 200px;
      width: 20%;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      min-width: 100px;
      width: 25%;
    }
    @media screen and (max-width: 519px) {
      width: 100%;
      margin-top: 1rem;
      text-align: center;
    }

    img {
      max-width: 100%;
      @media screen and (max-width: 519px) {
        max-width: 150px;
      }
    }
  } /* .face */
  
  div:first-child {
    @media print,
    screen and (min-width: 1100px) {
      width: 75%;
    }
    @media screen and (max-width: 1099px) and (min-width: 520px) {
      width: 70%;
    }
  } /* .div:first-child */
} /* .p-ondemand .face_container */



/* オンデマンド配信 On-demand */

.on-demand__thumbnail {
  float: right;
  margin-left: 30px;
  
  &:hover {
    text-decoration: none;
  }

  img {
    &:hover {
      opacity: 0.7;
      filter: alpha(opacity=70);
      -moz-opacity: 0.7;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
    }
    
    &.nolink:hover {
      opacity: 1;
      filter: alpha(opacity=100);
      -moz-opacity: 1;
    }
  }
  
  p {
    margin-bottom: 0.3rem;
    text-align: center;
    font-weight: normal;
    font-size: 0.85rem;
    color: #000;
  }
} /* .on-demand__thumbnail */

.time {
  background: #f3f7d5;
  padding: 2px 10px;
  margin-left: 10px;
  font-size: 70%;
  vertical-align: text-top;
  color: #637c9d;
}

.time::before {
  content: "時間　";
}

#en .time::before {
  content: "Time　";
}

.on-demand__time {
  font-size: 1rem;
  font-weight: bold;
  color: #868229;
  
  h5 & {
    margin-left: 1rem;
  }
  
  h4 & {
    margin-left: 1rem;
    background: #fff;
    padding: 3px 10px;
  }
}


/**/

/* ==================================================
    en- : english : 英語サイト用
   ================================================== */

/*20251129*/
#en .l-nav {
  .l-gnav {
    background-color: #95a939;

    > li > a:hover {
      background-color: #4a570f;
      color: white;
    }
  }
}


#en .l-top_header {
  background-image: url(../images/top_header_bg_2026.png);
}
/* 
#en .l-header {
  background-color: rgb(245, 170, 0);
} */

#en .l-main {
  background-color: #f0ede6;
}

/* #en .l-footer a:hover {
  color: rgb(245, 170, 0);
}

#en #page_top a::before {
  color: rgb(245, 170, 0);
} */

#en .btn_container .btn_end .btn_item>a {
  color: #fff;
}

#en .btn_container .btn_end .btn_item>a:hover {
  color: #fff;
}

#en .l-article a:not([class]),
#en .l-article a.text_link,
#en .l-article a.icon_window {
  color: #a97500;
}

#en .l-article a:not([class]):hover,
#en .l-article a.text_link:hover,
#en .l-article a.icon_window:hover {
  color: rgb(245, 170, 0);
}

/*20251202*/
#en h3:before {
  background-color: #ffc061;
}

#en .p-top .btn_live .btn_item>a {
  color: #fff;
}

@media screen and (max-width: 519px) {
  #en .p-top .btn_live .btn_item>a {
    padding: 0.5rem 0.5rem;
    font-size: 0.75rem;
  }
}

#en .p-committee .table_nomal>thead {
  font-size: 0.85rem;
}

@media print,
screen and (min-width: 1100px) {
  #en .p-committee .table_nomal>tbody>tr>td:nth-child(1) {
    width: 200px;
  }

  #en .p-committee .table_nomal>tbody>tr>td:nth-child(2) {
    width: 250px;
  }

 /* #en .p-committee .table_nomal>tbody>tr>td:nth-child(3) {
    font-size: 0.75rem;
  }*/
}

@media screen and (max-width: 1099px) and (min-width: 520px) {
  #en .p-committee .table_nomal>tbody>tr>td:nth-child(1) {
    width: 200px;
    font-size: 0.85rem;
  }

  #en .p-committee .table_nomal>tbody>tr>td:nth-child(2) {
    width: 250px;
    font-size: 0.85rem;
  }

  #en .p-committee .table_nomal>tbody>tr>td:nth-child(3) {
    font-size: 0.85rem;
  }
}

@media screen and (max-width: 519px) {
  #en .p-committee .table_nomal>tbody>tr>td:nth-child(1) {
    width: 100px;
    font-size: 0.85rem;
  }

  #en .p-committee .table_nomal>tbody>tr>td:nth-child(2) {
    width: 10px;
    font-size: 0.85rem;
  }

  #en .p-committee .table_nomal>tbody>tr>td:nth-child(3) {
    font-size: 0.75rem;
  }
}

/*20251202*/
#en .p-outline dl>dd {
  border-bottom: solid 3px #dbeb9a;
}

#en .p-program .btn_live .btn_item>a,
#en .p-ondemand .btn_live .btn_item>a {
  color: #fff;
}

#en .p-program .program_container,
#en .p-ondemand .program_container {
  /*
  border: solid 5px rgb(245, 170, 0);
  */
}

#en .p-program .gaiyo_container .gaiyo dd,
#en .p-ondemand .gaiyo_container .gaiyo dd {
  padding-left: 4.5rem;
}

#en .p-program .program_inner>.-theme.-sub,
#en .p-ondemand .program_inner>.-theme.-sub {
  padding-left: 8rem;
}

#en .p-program .program_inner>.-session_theme::after,
#en .p-ondemand .program_inner>.-session_theme::after {
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  width: 100%;
  height: 5px;
  content: "";
  background-color: rgb(245, 235, 220);
}

#en .p-program .program_inner>.-session_theme>span,
#en .p-ondemand .program_inner>.-session_theme>span {
  font-size: 0.85em;
}

#en .p-program .program_inner>.-session_theme+*,
#en .p-ondemand .program_inner>.-session_theme+* {
  margin-top: 2rem;
}

#en .p-program .program_inner+.-sub,
#en .p-ondemand .program_inner+.-sub {
  margin-top: 2rem;
}

#en .p-program .thumbnail_container .program_title .time::before,
#en .p-ondemand .thumbnail_container .program_title .time::before {
  content: "Time　";
}

#en .p-program .thumbnail_container .thumbnail .thumbnail_text::after,
#en .p-ondemand .thumbnail_container .thumbnail .thumbnail_text::after {
  content: "Viewing";
}

#en .p-program .abstract_container .btn_abstract::after,
#en .p-ondemand .abstract_container .btn_abstract::after {
  content: "Abstract\aPDF";
  white-space: pre;
}

#en .p-program .abstract_container .btn_abstract:not(.-none),
#en .p-ondemand .abstract_container .btn_abstract:not(.-none) {
  background-color: #fad88a;
}

#en .p-program .abstract_container .btn_abstract:not(.-none)::after,
#en .p-ondemand .abstract_container .btn_abstract:not(.-none)::after {
  color: #000;
}

#en .p-program .abstract_container .btn_abstract:not(.-none):hover,
#en .p-ondemand .abstract_container .btn_abstract:not(.-none):hover {
  background-color: #ffb610;
}

#en .p-program .session_container .-organization,
#en .p-ondemand .session_container .-organization {
  padding-left: 7rem;
  /* text-indent: -0.35em; */
}

#en .p-program .session_container.-special .-organization,
#en .p-ondemand .session_container.-special .-organization {
  /* padding-left: 2.35em; */
  padding-left: 2em;
}

#en .p-program .session_container.-special .-name>.-organization,
#en .p-ondemand .session_container.-special .-name>.-organization {
  padding-left: 0;
}

#en .p-program .chair_container>.-chair_organization,
#en .p-ondemand .chair_container>.-chair_organization {
  padding-left: 3.5rem;
  text-indent: -0.35em;
}

/*20241223*/
#en .p-program .program_inner>.-title,
#en .p-program .program_inner>.-title::after {
  background-color: #dbeb9a;
}

#en .p-program .program_inner .-special .-pdf .-btn{
  background-color: #95a939;
  &:hover{
    background-color: #4a570f;
  }
}

/*20251202*/
#en .table_title {
  border-bottom: 3px solid #dbeb9a;
}

/*20251202*/
#en .table_nomal>thead>tr>th {
  background-color: #dbeb9a;
}

#en .sample-ul {
  border-top: solid #fad88a 2px;
  border-bottom: solid #fad88a 2px;
}

#en .time {
  background-color: #fffde6;
  color: #f5aa00;
}





/* ==================================================
  hbgBtn
================================================== */

.hbgBtn {
  position: fixed;
  z-index: 10;
  background-color: #000;
  @media print,
  screen and (min-width: 1100px) {
    display: none;
  }
  @media screen and (max-width: 1099px) and (min-width: 520px) {
    width: 64px;
    height: 64px;
    padding: 20px 16px;
    top: 0;
    right: 0;
  }
  @media screen and (max-width: 519px) {
    width: 48px;
    height: 48px;
    padding: 24px 12px;
    top: 0px;
    right: 0px;
  }
  
  .hbgBtn_line {
    display: block;
    position: relative;
    width: 100%;
    height: 2px;
    background-color: #d6d5d5;
    -webkit-transition: 0.3s;
    transition: 0.3s;

    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #d6d5d5;
      -webkit-transition: 0.3s;
      transition: 0.3s;
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        -webkit-transform: translateY(-11px);
        transform: translateY(-11px);
      }
      @media screen and (max-width: 519px) {
        -webkit-transform: translateY(-7px);
        transform: translateY(-7px);
      }
    }

    &::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #d6d5d5;
      -webkit-transition: 0.3s;
      transition: 0.3s;
      @media screen and (max-width: 1099px) and (min-width: 520px) {
        -webkit-transform: translateY(11px);
        transform: translateY(11px);
      }
      @media screen and (max-width: 519px) {
        -webkit-transform: translateY(7px);
        transform: translateY(7px);
      }
    }

    &.js_open {
      background-color: transparent;
    
      &::before {
        content: "";
        -webkit-transition: 0.3s;
        transition: 0.3s;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
      }
      &::after {
        content: "";
        -webkit-transition: 0.3s;
        transition: 0.3s;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
      }
    }
  } /* .hbgBtn_line */
} /* .hbgBtn */


/* --------------------------------------------------
  .gallery-list: ギャラリーページの画像
-------------------------------------------------- */

.gallery-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;

  .gallery-list_item {

    img {
      width: 100%;
      aspect-ratio: 3 / 2;
      object-fit: cover;
    }
  }
}
