  .ilbg {
      background: url(main.png) no-repeat center center;
      background-size: 100% auto;
      padding: 8% 0;
      position: relative;
  }

  @media only screen and (max-width: 769px) {
      .ilbg {
          padding: 32% 0 0;
      }
  }

  @media only screen and (max-width: 425px) {
      .ilbg {
          padding: 20% 0 0;
      }

  }

  .mainTopArea {
      background: rgba(255, 255, 255, 0.8);
  }

  .topTxt {
      margin: 0 auto;
      width: 80%;
      display: table;
      padding: 2em;
      text-align: center;
  }

  @media only screen and (max-width: 769px) {
      .topTxt {
          width: 90%;
          display: block;
      }
  }


  .topTxt dt {
      width: 34%;
      text-align: center;
      vertical-align: middle;
      display: table-cell;
  }

  .topTxt dt img {
      width: 60%;
      margin: 0 auto;
  }

  @media only screen and (max-width: 769px) {
      .topTxt dt {
          width: 100%;
          text-align: center;
          display: contents;
      }

      .topTxt dt img {
          width: 24%;
          margin: 0 auto;
      }

  }

  .topTxt dd {
      width: 86%;
      text-align: center;
      font-size: 32px;
      font-weight: bold;
  }

  .topTxt dd span {
      display: inline-block;
      font-size: 16px;
      text-align: left;
      font-weight: normal;
  }

  @media only screen and (max-width: 769px) {
      .topTxt dd {
          width: 100%;
      }
  }

  @media only screen and (max-width: 425px) {
      .topTxt dd {
          width: 100%;
          text-align: center;
          font-size: 32px;
          font-weight: bold;
          font-size: 20px;
      }

      .topTxt dd span {
          font-size: 11px;
      }
  }

  .topTxt dd img {
      width: 100%;
  }

  .btnBg01 {
      background: url(btn_bg01.png) no-repeat center top;
      background-size: 80px auto;
      padding: 85px 0 0 0 !important;
  }

  .btnBg01 a {
      display: block;
      background: #ffb401;
      border-radius: 10px;
      color: #fff;
      font-weight: 500;
      padding: 1em;
      width: 100%;
  }

  .btnBg01 a:hover {
      background: #ffc744;
  }

  .btnBg02 {
      background: url(btn_bg02.png) no-repeat center top;
      background-size: 80px auto;
      padding: 85px 0 0 0 !important;
  }

  .btnBg02 a {
      display: block;
      background: #0075C1;
      border-radius: 10px;
      color: #fff;
      font-weight: 500;
      padding: 1em;
      width: 100%;
  }

  .btnBg02 a:hover {
      background: #0489e1;
  }

  .textBg01,
  .textBg02,
  .textBg03 {
      background-size: 100% auto;
      padding: 0 1em;
  }

  .voiceBox {
      display: table;
      width: 100%;
      min-height: 160px;
      text-align: left;
      position: relative;
  }

  @media only screen and (max-width: 769px) {
      .voiceBox {
          min-height: 110px;
      }

  }

  .fukidashi01 {
      padding: 1em;
      border: 2px solid #944586;
      background: #f8f3f7 url(j01.png) no-repeat 96% bottom;
      background-size: 12%;
      text-align: left;
      font-weight: bold;
      line-height: 1.5;
      color: #944586;
      display: table-cell;
      vertical-align: middle;
  }

  .fukidashi01 ul {
      margin-left: 1em;
  }

  .fukidashi01 li {
      list-style-type: disc;
  }

  .fukidashi02 {
      padding: 1em;
      border: 2px solid #944586;
      background: #f8f3f7 url(d02.png) no-repeat 96% bottom;
      background-size: 12%;
      text-align: left;
      font-weight: bold;
      line-height: 1.5;
      color: #944586;
      display: table-cell;
      vertical-align: middle;
  }

  .fukidashi03 {
      padding: 1em;
      border: 2px solid #00a4a4;
      background: #f3f9fa url(d01.png) no-repeat 96% bottom;
      background-size: 13%;
      font-weight: bold;
      line-height: 1.5;
      color: #00a4a4;
      display: table-cell;
      vertical-align: middle;
  }

  .fukidashi04 {
      /*padding: 1em;
       border: 2px solid #00b050;*/
      background: url(j01.png) no-repeat 3% bottom;
      background-size: 13%;
      text-align: left;
      font-weight: bold;
      line-height: 1.5;
      color: #00b050;
      padding-left: 18%;
      display: table-cell;
      vertical-align: middle;
  }

  .fukidashi04 span {
      border: 2px solid #00b050;
      background: #ffe68d;
      display: inline-block;
      padding: 0 0 0 .5rem;
      margin-bottom: 1rem;
  }

  .fukidashi05 {
      /*  padding: 1em;
          border: 2px solid #00a4a4;*/
      background: url(d03.png) no-repeat 96% bottom;
      background-size: 13%;
      font-weight: bold;
      line-height: 1.5;
      display: table-cell;
      vertical-align: middle;
  }

  d .mainTopArea {
      background: #fff;
      opacity: 0.8;
      display: flex;
      justify-content: center;
      position: absolute;
      bottom: 1em;
      width: 100%;
      padding: 24px;
  }

  .mainTopArea .text {
      font-size: 32px;
      font-weight: bold;
  }

  .mainTopArea img {
      display: block;
  }

  .imgBadge img {
      margin: 5rem auto;
  }

  #content01 {
      background: #FFF3DC;
      padding: 80px 30px;
  }

  #content02 {
      background: #E1EFF8;
      padding: 80px 30px;
  }

  .innerContent {
      background: #fff;
      padding: 80px 30px;
      width: 80%;
      margin: 0 auto;
      position: relative;
      font-size: 1.25em;
  }

  .bgYellow {
      background: #fffaed;
  }

  .bgWhite {
      background: #ffffff;
  }

  .pd20 {
      padding: 20px;
  }

  .title {
      font-size: 1.25em;
      font-weight: 700;
      line-height: 1.4;
      margin: 3em 0 1em 1em;
      text-indent: -2em;
  }

  .title span {
      background: #ffb401;
      border-radius: 10px;
      padding: 4px 13px 7px;
      color: #fff;
  }

  /* リボン風　タイトル */

  .title_ribon {
      position: relative;
      font-weight: bold;
      line-height: 2.8;
      overflow: hidden;
      text-align: center;
      color: #fff;
      background: #23b14b;
  }

  .title_ribon:before,
  .title_ribon:after {
      position: absolute;
      display: block;
      content: "";
      top: 50%;
      transform: scaleY(1.8) translateY(-50%);
      transform-origin: 0 0;
      border-style: solid;
      z-index: 0;
  }

  .title_ribon:before {
      right: 100%;
      border-color: transparent transparent transparent #ffffff;
  }

  .title_ribon:after {
      left: 100%;
      border-color: transparent #ffffff transparent transparent;
  }

  @media only screen and (min-width: 769px) {
      .contSect .title_ribon {
          margin: 0 -10px;
          /*インナーより少し大きく */
          padding: 0.35em 40px;
          font-size: 2.5rem;
      }

      .title_ribon:before,
      .title_ribon:after {
          margin: 0 -28px;
      }

      .title_ribon:before {
          border-width: 100px 0 100px 100px;
      }

      .title_ribon:after {
          border-width: 100px 100px 100px 0;
      }
  }

  @media only screen and (min-width: 425px) {
      .contSect .title_ribon {
          line-height: 1.8;
          padding: .5em;
      }

      .title_ribon:before,
      .title_ribon:after {
          margin: 0 -28px;
      }

      .title_ribon:before {
          border-width: 100px 0 100px 100px;
      }

      .title_ribon:after {
          border-width: 100px 100px 100px 0;
      }

      .fukidashi01 ul {
          margin-top: 1em;
      }

      .subTitle {
          padding: 0 1rem 1rem 0rem;
      }

      .subTitle h3 {
          font-weight: bold;
          margin-left: 1em;
      }
  }

  /* リボン風　背景オレンジ有り */

  .title_ribon_w {
      position: relative;
      font-weight: bold;
      line-height: 1.8;
      overflow: hidden;
      text-align: left;
      color: #fff;
      background: #23b14b;
      padding: 0.8em 2.5em .8em 8em;
  }

  .title_ribon_w:before,
  .title_ribon_w:after {
      position: absolute;
      display: block;
      content: "";
      top: 50%;
      transform: scaleY(1.8) translateY(-50%);
      transform-origin: 0 0;
      border-style: solid;
      z-index: 0;
  }

  .title_ribon_w:before {
      right: 100%;
      border-color: transparent transparent transparent #ffffff;
  }

  .title_ribon_w:after {
      left: 100%;
      border-color: transparent #ffffff transparent transparent;
  }

  @media only screen and (min-width: 769px) {
      .contSect .title_ribon_w {
          margin: 0 -10px;
          /*インナーより少し大きく */
          padding: 0.35em 40px;
          font-size: 2.5rem;
      }

      .title_ribon_w:before,
      .title_ribon_w:after {
          margin: 0 -28px;
      }

      .title_ribon_w:before {
          border-width: 100px 0 100px 100px;
      }

      .title_ribon_w:after {
          border-width: 100px 100px 100px 0;
      }
  }

  @media only screen and (max-width: 769px) {
      .ilbg {
          background: url(main.png) no-repeat center top;
          background-size: 100% auto;
      }

      .imgBadge img {
          margin: 1rem auto;
      }
  }

  @media only screen and (max-width: 425px) {
      .ilbg {
          background: url(main.png) no-repeat center top;
          background-size: 100% auto;
      }
  }

  @media only screen and (max-width: 769px) {
      .btnBg01 {
          background: url(btn_bg01.png) no-repeat left center;
          background-size: 60px auto;
          padding: 20px 0 0 70px !important;
      }

      .btnBg02 {
          background: url(btn_bg02.png) no-repeat left center;
          background-size: 60px auto;
          padding: 20px 0 0 70px !important;
      }

      .mainTopArea .text {
          font-size: 24px;
          font-weight: bold;
      }
  }

  /*吹き出し 上　緑*/
  .speechBubble {
      position: relative;
      display: inline-block;
      margin-top: 20px;
      padding: 16px;
      background-color: #d8eddd;
      text-align: left;
      font-weight: 700;
      line-height: 1.5;
      color: #009944;
      width: 100%;
  }

  .speechBubble::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      border-style: solid;
      border-width: 0 10px 20px 10px;
      border-color: transparent transparent #d8eddd;
      translate: -50% -100%;
  }

  /**/
  .subTitle {
      position: relative;
      /*   overflow: hidden;*/
      padding: 0 1rem 1rem 1rem;
      border-top: 2px solid #23b14b;
      border-left: 2px solid #23b14b;
  }

  /*

  .subTitle:before {
      position: absolute;
      top: -150%;
      left: -130px;
      width: 200px;
      height: 300%;
      content: '';
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      background: #23b14b;
  }

  .subTitle .newicon {
      font-size: 18px;
      font-size: 1.8rem;
      font-weight: bold;
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      display: block;
      padding-top: 3px;
      padding-left: 16px;
      color: #fff;
  }
*/
  .inText {
      background: #ffeb86;
      padding: 0 1em 0 2.5em;
      color: #23b14b;
      font-weight: bold;
      line-height: 2;
      display: inline-block;
      margin-bottom: .5em;
  }

  .subTitle-normal .inText {
      background: #ffeb86;
      padding: 0 .8em;
      color: #23b14b;
      font-weight: bold;
      line-height: 2;
      display: inline-block;
      margin-bottom: .5em;
      position: absolute;
      left: 0;
  }

  .subTitle-normal h3 {
      font-weight: bold;
      margin: 2.5em 0 0 0;
  }

  .subTitle h3 {
      font-weight: bold;
  }

  .subTitle:before {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 50px 50px 0 0;
      border-color: #23b140 transparent transparent transparent;
  }

  .subTitle:after {
      position: absolute;
      content: "NEW";
      transform: rotate(315deg);
      display: block;
      font-size: 11px;
      white-space: pre;
      color: #fff;
      top: 12px;
      left: 4px;
      text-align: center;
      z-index: 2;
      line-height: 1.2;
  }

  /**/

  .num-tit {
      position: relative;
      min-height: 66px;
      padding: 16px 0 16px 54px;
      line-height: 1.4;
  }

  .num-tit .icon-num {
      display: block;
      position: absolute;
      top: 8px;
      left: 0px;
      width: 40px;
      height: 40px;
      line-height: 36px;
      color: #fff;
      font-size: 2rem;
      border-radius: 8px;
      text-align: center;
  }

  .bgOrange {
      background: #ffb401;
  }

  .bgBlue {
      background: #0075C1;
  }

  .pdL100 {
      padding-left: 50px;
  }

  .marker {
      background: linear-gradient(transparent 50%, #ffeb86 50%);
  }

  .sessionList li {
      padding: 1em;
      background: #d8eddd;
      margin-bottom: 1em;
      /*      min-height: 75px;*/
      border-left: 6px solid #23b14b;
  }

  dl.sessionList {
      border: 1px solid #ffb401;
      margin-bottom: 1em;
      min-height: 80px;
  }

  dl.sessionList dt {
      padding: .6em;
      background: #ffb401;
      color: #fff;
  }

  dl.sessionList dd {
      padding: .6em;
      background: #ffffff;
      color: #000;
  }



  .innerWrap {
      padding: 1rem 0;
  }

  .innerWrap .sessionList {}

  .innerWrap .sessionList li {
      border: none;
      background: #ffffff;
      margin-bottom: 1em;
      min-height: auto;
      display: inline-block;
  }

  .innerWrap .sessionList li dl dd li {
      border: none;
      background: ;
      margin-bottom: 1em;
      min-height: auto;
  }

  /*2025/10/07*/
  .line-double {
      border: double;
      display: inline-block;
      background: #fff;
      padding: .3rem .5rem;
      position: absolute;
      top: -18px;
  }

  /*サブタイトル　三角なし*/
  /**/
  .subTitle-normal {
      position: relative;
      /*   overflow: hidden;*/
      padding: 0 1rem 1rem 1rem;
      border-top: 2px solid #23b14b;
      border-left: 2px solid #23b14b;
  }

  .icon-title {
      padding: .2em .5em;
      font-weight: bold;
      background: #ffeb86;
      color: #23b14b;
      border: 2px solid #23b14b;
      display: inline-block;
  }

  @media only screen and (min-width: 425px) {

      .fukidashi03 {
          padding: 1.5em 1em;
      }
  }