@charset "UTF-8";
/*******************************************************************
・ページ別レイアウト設定
・ページ数が多くなるとCSSが肥大化して読み込みが遅くなるためファイルを分割して記述する
・手分けする場合も分割して記述
*******************************************************************/
/*==================================================================
メディアクエリ
===================================================================*/
/*==================================================================
TOPページ
===================================================================*/
#wrapperTopimg {
  margin-top: 65px;
}
@media only screen and (max-width: 768px) {
  #wrapperTopimg {
    margin-top: 56px;
  }
}
#wrapperTopimg #top-main {
  margin: 0 auto;
}
#wrapperTopimg #top-main video {
  width: 100%;
}
#wrapperTopimg .page_link_all {
  padding: 0 10px;
  margin: 30px auto 60px;
}
#wrapperTopimg .page_link_all ul {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
}
#wrapperTopimg .page_link_all ul li {
  width: calc((100% - 60px) / 4);
}
#wrapperTopimg .page_link_all ul li a {
  border: 1px solid #FC8693;
  display: block;
  position: relative;
}
#wrapperTopimg .page_link_all ul li a::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 100%;
  height: 100%;
  border: 1px solid #FC8693;
  z-index: 1;
}
#wrapperTopimg .page_link_all ul li a p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 50px;
  color: #000;
  position: relative;
  font-size: 1.4rem;
  z-index: 2;
  background: #fff;
  transition: all 0.4s ease;
  line-height: 1.2;
}
#wrapperTopimg .page_link_all ul li a p::before {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 50%;
  width: 10px;
  height: 5px;
  transform: translateX(-50%);
  -webkit-mask-image: url(../img/cmn/icon_pagelink.svg);
          mask-image: url(../img/cmn/icon_pagelink.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 10px 5px;
          mask-size: 10px 5px;
  background: #000;
  transition: all 0.4s ease;
}
#wrapperTopimg .page_link_all ul li a p small {
  font-size: 1.2rem;
}
#wrapperTopimg .page_link_all ul li a p.up {
  justify-content: flex-start;
  padding-top: 6px;
}
#wrapperTopimg .page_link_all ul li a:hover p {
  background: #FC8693;
  color: #fff;
}
#wrapperTopimg .page_link_all ul li a:hover p::before {
  bottom: 3px;
  background: #fff;
}
#wrapperTopimg .page_link_all ul li a.external {
  border: 1px solid #A4A4A4;
}
#wrapperTopimg .page_link_all ul li a.external::before {
  border: none;
  background: #707070;
}
#wrapperTopimg .page_link_all ul li a.external p::before {
  content: none;
}
#wrapperTopimg .page_link_all ul li a.external p img {
  max-width: 144px;
}
#wrapperTopimg .page_link_all ul li a.external:hover {
  margin-left: 3px;
  margin-top: 3px;
}
#wrapperTopimg .page_link_all ul li a.external:hover::before {
  top: 0;
  left: 0;
}
#wrapperTopimg .page_link_all ul li a.external:hover p {
  background: #fff;
}
#wrapperTopimg .page_link_all ul li.map_spe {
  position: relative;
}
#wrapperTopimg .page_link_all ul li.map_spe .deco {
  position: absolute;
  width: 24%;
  z-index: 10;
}
#wrapperTopimg .page_link_all ul li.map_spe .deco.deco01 {
  left: -5px;
  bottom: -6px;
}
#wrapperTopimg .page_link_all ul li.map_spe .deco.deco02 {
  top: -8px;
  right: -12px;
}
@media only screen and (max-width: 768px) {
  #wrapperTopimg .page_link_all ul li {
    width: calc((100% - 40px) / 3);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperTopimg .page_link_all ul {
    gap: 15px;
  }
  #wrapperTopimg .page_link_all ul li {
    width: calc((100% - 15px) / 2);
  }
}

#wrapperContent #content.top main article .sec01 .h2_ttl {
  margin-bottom: 0;
}
#wrapperContent #content.top main article .sec01 .news {
  margin-bottom: 25px;
}
#wrapperContent #content.top main article .sec01 .news li {
  border-bottom: 1px solid #E3E3E3;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 10px;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner.pickup {
  background: #FEFFD7;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p {
  color: #FA364C;
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p.date {
  color: #000;
  font-size: 1.6rem;
  font-weight: 400;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p.new {
  color: #fff;
  font-size: 1.4rem;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner small {
  font-size: 1.3rem;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner p {
  font-size: 1.6rem;
  line-height: 1.4;
  color: #000;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner p span.pickup {
  color: #FA364C;
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.top main article .sec01 .news li .news_inner .new {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  background: #FA364C;
  padding: 1px 5px;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec01 .news li .news_inner {
    gap: 15px;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p {
    font-size: 1.7rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p.date {
    font-size: 1.5rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p.new {
    font-size: 1.3rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner p {
    font-size: 1.5rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner .new {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec01 .news li .news_inner {
    gap: 15px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner.pickup p.date {
    font-size: 1.4rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner p span.pickup {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner p {
    width: 100%;
    font-size: 1.4rem;
    order: 3;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner p.new {
    display: inline-block;
    width: auto;
    order: 2;
  }
  #wrapperContent #content.top main article .sec01 .news li .news_inner p.date {
    order: 1;
    width: 80px;
  }
}
#wrapperContent #content.top main article .sec02 .concept {
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
  font-family: "Noto Serif JP", serif;
}
#wrapperContent #content.top main article .sec02 .read {
  font-size: 1.8rem;
  line-height: 2.1;
  margin-bottom: 20px;
}
#wrapperContent #content.top main article .sec02 .tablewrap table th {
  width: 17%;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec02 .concept {
    font-size: 3.3rem;
  }
  #wrapperContent #content.top main article .sec02 .read {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec02 .tablewrap table th {
    width: 90px;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec02 .concept {
    font-size: 6vw;
  }
  #wrapperContent #content.top main article .sec02 .read {
    line-height: 1.8;
  }
  #wrapperContent #content.top main article .sec02 .tablewrap table th {
    width: 50px;
  }
}
#wrapperContent #content.top main article .sec02_1 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec02_1 .inner figure {
  width: 240px;
}
#wrapperContent #content.top main article .sec02_1 .inner figure figcaption {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 3px;
}
#wrapperContent #content.top main article .sec02_1 .inner figure figcaption span {
  font-size: 1.6rem;
}
#wrapperContent #content.top main article .sec02_1 .inner .txt {
  width: calc(100% - 280px);
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec02_1 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_1 .inner figure {
    width: 180px;
  }
  #wrapperContent #content.top main article .sec02_1 .inner .txt {
    width: calc(100% - 200px);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec02_1 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_1 .inner figure {
    width: 240px;
    margin: 0 auto;
  }
  #wrapperContent #content.top main article .sec02_1 .inner .txt {
    width: 100%;
  }
}
#wrapperContent #content.top main article .sec02_2 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec02_2 .inner figure {
  width: calc(58% - 40px);
}
#wrapperContent #content.top main article .sec02_2 .inner .bx {
  width: 42%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .ttl {
  font-weight: 500;
  font-size: 2rem;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx p {
  font-size: 1.4rem;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .button-pdf {
  margin: 10px 0 0;
  text-align: left;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .button-pdf a p {
  font-size: 1.8rem;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .panf_bx {
  max-width: 384px;
  margin: 0 0 0 auto;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .panf_bx figure {
  width: 100%;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .panf_bx figure figcaption {
  margin-bottom: 3px;
  font-size: 1.4rem;
  font-weight: 500;
}
#wrapperContent #content.top main article .sec02_2 .inner .bx .panf_bx .button-pdf {
  text-align: left;
  margin: 10px 0 0;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec02_2 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_2 .inner figure {
    width: calc(55% - 20px);
  }
  #wrapperContent #content.top main article .sec02_2 .inner .bx {
    width: 45%;
  }
  #wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .ttl {
    font-size: 1.7rem;
  }
  #wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .button-pdf a p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec02_2 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_2 .inner figure {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec02_2 .inner .bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec02_2 .inner .bx .pos_bx .ttl {
    font-size: 1.7rem;
  }
}
#wrapperContent #content.top main article .sec02_3 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 40px;
}
#wrapperContent #content.top main article .sec02_3 .inner .bx50 {
  width: calc((100% - 40px) / 2);
}
#wrapperContent #content.top main article .sec02_3 .inner .bx50 .date {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
}
#wrapperContent #content.top main article .sec02_3 .inner .bx50 .date span {
  background: linear-gradient(transparent 70%, #fff500 70%);
}
#wrapperContent #content.top main article .sec02_3 .inner .bx50 .qr {
  max-width: 100px;
}
#wrapperContent #content.top main article .sec02_3 .inner .bx50 .qr img {
  border: 1px solid #707070;
}
#wrapperContent #content.top main article .sec02_3 .inner .bx {
  width: 100%;
}
#wrapperContent #content.top main article .sec02_3 .reg_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx p.ttl {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4;
  margin-bottom: 3px;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec02_3 .inner {
    gap: 40px;
  }
  #wrapperContent #content.top main article .sec02_3 .inner .bx50 {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec02_3 .inner .bx50 .date {
    font-size: 1.8rem;
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx {
    width: calc(50% - 10px);
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx p.ttl {
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec02_3 .inner .bx50 .date {
    font-size: 1.7rem;
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec02_3 .reg_inner .reg_bx p.ttl {
    font-size: 1.7rem;
  }
}
#wrapperContent #content.top main article .sec02_4 .qr {
  max-width: 100px;
}
#wrapperContent #content.top main article .sec02_4 .qr img {
  border: 1px solid #707070;
}
#wrapperContent #content.top main article .sec02_5 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap {
  margin: 20px 0 0;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap table th, #wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap table td {
  border: 1px solid #FC8693;
  font-size: 1.4rem;
  padding: 10px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap table th {
  width: 74px;
  padding: 10px 15px;
  background: #FEFAFB;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx figure {
  margin-top: 20px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx figure figcaption {
  font-size: 1.2rem;
  margin-top: 2px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .fig_bx {
  max-width: 246px;
  margin: 0 auto;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .fig_bx figure {
  margin-top: 40px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx p.note_s {
  font-size: 1.2rem;
  margin-left: 1.2rem;
  text-indent: -1.2rem;
  line-height: 1.4;
  margin-top: 4px;
}
#wrapperContent #content.top main article .sec02_5 .inner .bx .small {
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec02_5 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx {
    width: calc(50% - 10px);
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap {
    margin: 15px 0 0;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap table th {
    width: 64px;
    padding: 10px;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx figure {
    margin-top: 15px;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec02_5 .inner {
    gap: 30px;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap {
    margin: 10px 0 0;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx .tablewrap table th {
    width: 50px;
    padding: 10px;
  }
  #wrapperContent #content.top main article .sec02_5 .inner .bx figure {
    margin-top: 15px;
  }
}
#wrapperContent #content.top main article .sec03 .sch_wrap {
  overflow: auto;
}
#wrapperContent #content.top main article .sec03 .sch_wrap img {
  display: block;
  min-width: 900px;
}
#wrapperContent #content.top main article .sec03_1 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec03_1 .inner .fig_bx {
  width: 34%;
}
#wrapperContent #content.top main article .sec03_1 .inner .txt {
  width: calc(66% - 40px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#wrapperContent #content.top main article .sec03_1 .inner .txt .ttl {
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.top main article .sec03_1 .inner .txt .button-page {
  text-align: left;
}
#wrapperContent #content.top main article .sec03_1 .inner .txt p img {
  border: 1px solid #707070;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 40px;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .bx50 {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 40px;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 .map_bx_all, #wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 figure {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 .ttl {
  width: 100%;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .ttl {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: 5px;
  border-bottom: 1px solid #339599;
  margin-bottom: 10px;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .map_bx {
  margin-bottom: 10px;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .map_bx .time {
  font-weight: 500;
  margin-bottom: 0;
}
#wrapperContent #content.top main article .sec03_1 .guide_inner .map_bx .map_txt {
  padding-left: 10px;
  border-left: 2px solid #339599;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec03_1 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec03_1 .inner .fig_bx {
    width: 32%;
  }
  #wrapperContent #content.top main article .sec03_1 .inner .txt {
    width: calc(68% - 20px);
  }
  #wrapperContent #content.top main article .sec03_1 .inner .txt .ttl {
    font-size: 1.7rem;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner {
    gap: 40px;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner .bx50 {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 {
    gap: 20px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 .map_bx_all, #wrapperContent #content.top main article .sec03_1 .guide_inner .bx100 figure {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner .ttl {
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec03_1 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec03_1 .inner .fig_bx {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
  }
  #wrapperContent #content.top main article .sec03_1 .inner .txt {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec03_1 .inner .txt .ttl {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner {
    gap: 30px;
  }
  #wrapperContent #content.top main article .sec03_1 .guide_inner .ttl {
    font-size: 1.6rem;
  }
}
#wrapperContent #content.top main article .sec03_2 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 40px;
}
#wrapperContent #content.top main article .sec03_2 .inner .ttl_name {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 5px;
  border-bottom: 1px solid #cce4e5;
}
#wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl {
  font-size: 2.2rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}
#wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl small {
  font-size: 1.6rem;
}
#wrapperContent #content.top main article .sec03_2 .inner .l_bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec03_2 .inner .l_bx .tablewrap table th {
  width: 100px;
}
#wrapperContent #content.top main article .sec03_2 .inner .l_bx .fig_bx {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
#wrapperContent #content.top main article .sec03_2 .inner .l_bx .fig_bx figure figcaption {
  font-size: 1.2rem;
  margin-top: 3px;
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx {
  margin-top: 15px;
  display: flex;
  gap: 12px;
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx figure {
  width: 140px;
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx .ul-disc {
  width: calc(100% - 152px);
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx .ul-disc li {
  font-size: 1.2rem;
  padding: 0 0 0 15px;
}
#wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx .ul-disc li::before {
  width: 10px;
  height: 10px;
}
#wrapperContent #content.top main article .sec03_2 .inner.inner01 .l_bx .fig01 {
  width: calc(42.6% - 6px);
}
#wrapperContent #content.top main article .sec03_2 .inner.inner01 .l_bx .fig02 {
  width: calc(57.4% - 6px);
}
#wrapperContent #content.top main article .sec03_2 .inner.inner02 .l_bx .fig01 {
  width: calc(48.9% - 6px);
}
#wrapperContent #content.top main article .sec03_2 .inner.inner02 .l_bx .fig02 {
  width: calc(51.1% - 6px);
}
#wrapperContent #content.top main article .sec03_2 .inner.inner03 .l_bx .fig01 {
  width: calc(39.3% - 6px);
}
#wrapperContent #content.top main article .sec03_2 .inner.inner03 .l_bx .fig02 {
  width: calc(60.7% - 6px);
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec03_2 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl {
    font-size: 1.8rem;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl small {
    font-size: 1.4rem;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .l_bx {
    width: calc(50% - 10px);
  }
  #wrapperContent #content.top main article .sec03_2 .inner .l_bx .tablewrap table th {
    width: 80px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx {
    width: calc(50% - 10px);
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx figure {
    width: 100px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx .ul-disc {
    width: calc(100% - 112px);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec03_2 .inner {
    gap: 10px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name {
    flex-wrap: wrap;
    gap: 4px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl {
    font-size: 2rem;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name .ttl small {
    font-size: 1.4rem;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .ttl_name .name {
    font-size: 1.5rem;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .l_bx {
    width: 100%;
    order: 2;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .l_bx .tablewrap table th {
    width: 50px;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx {
    width: 100%;
    order: 1;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx {
    gap: 10px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx figure {
    width: 160px;
    margin: 0 auto;
  }
  #wrapperContent #content.top main article .sec03_2 .inner .r_bx .b_bx .ul-disc {
    width: 100%;
  }
}
#wrapperContent #content.top main article .sec03_3 .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px 20px;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx {
  width: calc((100% - 60px) / 4);
  border: 1px solid #FC8693;
  position: relative;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx a {
  display: block;
  height: 100%;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx {
  position: relative;
  padding: 10px 8px 30px;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 0;
  border-color: #FC8693 transparent transparent transparent;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx p.session {
  color: #FC8693;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 5px;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx p.session small {
  font-size: 1.2rem;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx .ttl {
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .txt_bx .ttl small {
  font-size: 1.3rem;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .s_link {
  position: absolute;
  right: 5px;
  bottom: 4px;
  font-size: 1rem;
  color: #555;
  padding-right: 15px;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx .s_link::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  -webkit-mask-image: url(../img/cmn/icon_arr.svg);
          mask-image: url(../img/cmn/icon_arr.svg);
  background: #555;
  width: 10px;
  height: 5px;
  -webkit-mask-size: 10px 5px;
          mask-size: 10px 5px;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx a figure {
  position: relative;
  overflow: hidden;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx a figure img {
  transition: all 0.3s ease;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#wrapperContent #content.top main article .sec03_3 .inner .bx a:hover figure img {
  transform: scale(1.2);
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec03_3 .inner {
    gap: 30px 20px;
  }
  #wrapperContent #content.top main article .sec03_3 .inner .bx {
    width: calc((100% - 40px) / 3);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec03_3 .inner {
    gap: 20px 10px;
  }
  #wrapperContent #content.top main article .sec03_3 .inner .bx {
    width: calc((100% - 10px) / 2);
  }
}
#wrapperContent #content.top main article .sec04 .inner {
  display: flex;
  gap: 40px;
  margin-bottom: 20px;
}
#wrapperContent #content.top main article .sec04 .inner .bx, #wrapperContent #content.top main article .sec04 .inner figure {
  width: calc(50% - 20px);
}
#wrapperContent #content.top main article .sec04 .inner .bx .date, #wrapperContent #content.top main article .sec04 .inner figure .date {
  font-weight: 500;
  font-size: 1.8rem;
}
#wrapperContent #content.top main article .sec04 .inner .bx .date span, #wrapperContent #content.top main article .sec04 .inner figure .date span {
  background: linear-gradient(transparent 70%, #fff500 70%);
}
#wrapperContent #content.top main article .sec04 .inner .bx figcaption, #wrapperContent #content.top main article .sec04 .inner figure figcaption {
  text-align: right;
  font-size: 1.2rem;
  margin-top: 3px;
}
#wrapperContent #content.top main article .sec04 .sch_wrap {
  overflow: auto;
  margin-bottom: 40px;
}
#wrapperContent #content.top main article .sec04 .sch_wrap img {
  display: block;
  min-width: 900px;
}
#wrapperContent #content.top main article .sec04 .sch_wrap .small {
  font-size: 1.2rem;
}
#wrapperContent #content.top main article .sec04 .qr_inner {
  display: flex;
  justify-content: center;
  gap: 40px;
  align-items: flex-end;
  margin-top: 60px;
}
#wrapperContent #content.top main article .sec04 .qr_inner figure {
  width: 100px;
}
#wrapperContent #content.top main article .sec04 .qr_inner figure img {
  border: 1px solid #ccc;
}
#wrapperContent #content.top main article .sec04 .qr_inner .txt p {
  font-weight: 500;
  font-size: 1.7rem;
}
#wrapperContent #content.top main article .sec04 .qr_inner .txt p span {
  color: #FA364C;
}
#wrapperContent #content.top main article .sec04 .qr_inner .txt .txt01 {
  font-size: 2rem;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec04 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec04 .inner .bx, #wrapperContent #content.top main article .sec04 .inner figure {
    width: calc(50% - 10px);
  }
  #wrapperContent #content.top main article .sec04 .inner .bx .date, #wrapperContent #content.top main article .sec04 .inner figure .date {
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec04 .inner {
    gap: 20px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec04 .inner .bx, #wrapperContent #content.top main article .sec04 .inner figure {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec04 .inner .bx .date, #wrapperContent #content.top main article .sec04 .inner figure .date {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec04 .qr_inner {
    gap: 20px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec04 .qr_inner .txt {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec04 .qr_inner .txt p {
    font-size: 1.4rem;
    text-align: center;
  }
  #wrapperContent #content.top main article .sec04 .qr_inner .txt .txt01 {
    font-size: 1.7rem;
  }
}
#wrapperContent #content.top main article .sec05 .date {
  font-weight: 500;
  font-size: 1.8rem;
}
#wrapperContent #content.top main article .sec05 .date span {
  background: linear-gradient(transparent 70%, #fff500 70%);
}
#wrapperContent #content.top main article .sec05 .sch_wrap {
  overflow: auto;
  margin: 20px auto;
}
#wrapperContent #content.top main article .sec05 .sch_wrap img {
  display: block;
  min-width: 900px;
}
#wrapperContent #content.top main article .sec05 .sch_wrap .small {
  font-size: 1.2rem;
}
#wrapperContent #content.top main article .sec05 .inner_place {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 60px;
}
#wrapperContent #content.top main article .sec05 .inner_place .bx {
  width: calc((100% - 80px) / 3);
}
#wrapperContent #content.top main article .sec05 .inner_place .bx iframe {
  width: 100%;
  aspect-ratio: 4/3;
  height: auto;
}
#wrapperContent #content.top main article .sec05 .inner_place .bx .course {
  font-weight: 500;
  margin-bottom: 5px;
  color: #41648C;
}
#wrapperContent #content.top main article .sec05 .inner_place .bx .course.course02 {
  color: #5B9B83;
}
#wrapperContent #content.top main article .sec05 .inner_place .bx .course.course03 {
  color: #C59D3D;
}
#wrapperContent #content.top main article .sec05 .inner_place .bx .caption {
  font-size: 1.4rem;
}
#wrapperContent #content.top main article .sec05 .inner_ex {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx {
  width: calc((100% - 80px) / 3);
  background: #f4f9f9;
  padding: 0 0 40px;
  position: relative;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .txt {
  padding: 10px 10px 0;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course {
  font-weight: 500;
  margin-bottom: 5px;
  color: #41648C;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course span {
  background: #41648C;
  color: #fff;
  padding: 2px 6px;
  margin-right: 6px;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course small {
  font-size: 1.4rem;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course.course02 {
  color: #5B9B83;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course.course02 span {
  background: #5B9B83;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course.course03 {
  color: #C59D3D;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .course.course03 span {
  background: #C59D3D;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl small {
  font-size: 1.6rem;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .ex_link {
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 1.4rem;
  color: #555;
  padding-right: 25px;
  line-height: 1.2;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .ex_link::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  -webkit-mask-image: url(../img/cmn/icon_arr.svg);
          mask-image: url(../img/cmn/icon_arr.svg);
  background: #555;
  width: 18px;
  height: 9px;
  -webkit-mask-size: 18px 9px;
          mask-size: 18px 9px;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx a figure {
  position: relative;
  overflow: hidden;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx a figure img {
  transition: all 0.3s ease;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx a:hover figure img {
  transform: scale(1.2);
}
#wrapperContent #content.top main article .sec05 .inner_ex .bx .finish {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  padding: 2px 5px;
  border: 1px solid #ff0000;
  color: #ff0000;
  font-size: 1.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec05 .inner_place {
    gap: 20px;
    margin-bottom: 40px;
  }
  #wrapperContent #content.top main article .sec05 .inner_place .bx {
    width: calc((100% - 60px) / 3);
  }
  #wrapperContent #content.top main article .sec05 .inner_place .bx .caption {
    font-size: 1.3rem;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx {
    width: calc((100% - 60px) / 3);
    padding: 0 0 30px;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .course span {
    margin-right: 5px;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl {
    font-size: 1.7rem;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl small {
    font-size: 1.4rem;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ex_link {
    font-size: 1.3rem;
    padding-right: 20px;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ex_link::before {
    bottom: 3px;
    width: 14px;
    height: 8px;
    -webkit-mask-size: 14px 8px;
            mask-size: 14px 8px;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec05 .inner_place {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec05 .inner_place .bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec05 .inner_place .bx .caption {
    font-size: 1.3rem;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec05 .inner_ex .bx .ttl small {
    font-size: 1.3rem;
  }
}
#wrapperContent #content.top main article .sec06 .ttl_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
#wrapperContent #content.top main article .sec06 .ttl_inner .ttl {
  font-size: 2.2rem;
  font-weight: 500;
}
#wrapperContent #content.top main article .sec06 .ttl_inner .button-page {
  display: flex;
  justify-content: flex-end;
}
#wrapperContent #content.top main article .sec06 .ttl_inner .button-page a {
  margin: 0;
  background: #FC8693;
}
#wrapperContent #content.top main article .sec06 .ttl_inner .button-page a p {
  font-size: 1.4rem;
}
#wrapperContent #content.top main article .sec06 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.top main article .sec06 .inner .l_bx {
  width: calc(57% - 20px);
}
#wrapperContent #content.top main article .sec06 .inner .l_bx iframe {
  width: 100%;
  height: 100%;
}
#wrapperContent #content.top main article .sec06 .inner .r_bx {
  width: calc(43% - 20px);
}
#wrapperContent #content.top main article .sec06 .inner .r_bx .button-pdf {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
}
#wrapperContent #content.top main article .sec06 .inner .r_bx .button-pdf a {
  margin: 0;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec06 .ttl_inner .ttl {
    font-size: 1.8rem;
  }
  #wrapperContent #content.top main article .sec06 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec06 .inner .l_bx {
    width: calc(57% - 10px);
  }
  #wrapperContent #content.top main article .sec06 .inner .r_bx {
    width: calc(43% - 10px);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec06 .ttl_inner {
    flex-wrap: wrap;
  }
  #wrapperContent #content.top main article .sec06 .ttl_inner .ttl {
    font-size: 1.6rem;
  }
  #wrapperContent #content.top main article .sec06 .inner {
    gap: 20px;
  }
  #wrapperContent #content.top main article .sec06 .inner .l_bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec06 .inner .r_bx {
    width: 100%;
  }
}
#wrapperContent #content.top main article .sec07 .h2_ttl h2 small {
  font-size: 2rem;
}
#wrapperContent #content.top main article .sec07 h2 {
  max-width: 576px;
  margin: 0 auto;
}
#wrapperContent #content.top main article .sec07 p {
  margin-top: 40px;
  font-size: 3rem;
  text-align: center;
}
#wrapperContent #content.top main article .sec07 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
}
#wrapperContent #content.top main article .sec07 .inner .bx {
  width: calc(50% - 20px);
  position: relative;
}
#wrapperContent #content.top main article .sec07 .inner .bx a {
  display: block;
  border-radius: 20px;
  background: #eef6f6;
  padding: 40px 20px;
  transition: all 0.3s ease;
}
#wrapperContent #content.top main article .sec07 .inner .bx a:hover {
  background: #dceced;
}
#wrapperContent #content.top main article .sec07 .inner .bx a:hover img {
  opacity: 1;
}
#wrapperContent #content.top main article .sec07 .inner .bx .icon {
  position: absolute;
  max-width: 68px;
  transform: scaleX(-1);
}
#wrapperContent #content.top main article .sec07 .inner .bx .ttl_img {
  width: 90%;
  margin: 0 auto 20px;
}
#wrapperContent #content.top main article .sec07 .inner .bx .qr {
  width: 60%;
  margin: 0 auto;
}
#wrapperContent #content.top main article .sec07 .inner .bx .qr img {
  border-radius: 10px;
}
#wrapperContent #content.top main article .sec07 .inner .bx .ex_link {
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 1.4rem;
  color: #339599;
  padding-right: 25px;
  line-height: 1.2;
}
#wrapperContent #content.top main article .sec07 .inner .bx .ex_link::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  -webkit-mask-image: url(../img/cmn/icon_arr.svg);
          mask-image: url(../img/cmn/icon_arr.svg);
  background: #339599;
  width: 18px;
  height: 9px;
  -webkit-mask-size: 18px 9px;
          mask-size: 18px 9px;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(1) .icon {
  bottom: -16px;
  left: 30px;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(2) a {
  background: #fef0f2;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(2) a .icon {
  top: -16px;
  right: 30px;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(2) a .ex_link {
  color: #FA364C;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(2) a .ex_link::before {
  background: #FA364C;
}
#wrapperContent #content.top main article .sec07 .inner .bx:nth-of-type(2) a:hover {
  background: #fdc8ce;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec07 .inner .bx {
    width: 100%;
  }
  #wrapperContent #content.top main article .sec07 .inner .bx .ttl_img {
    width: calc(100% + 20px);
    margin-left: -10px;
  }
}
#wrapperContent #content.top main article .sec08 ul.inner_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 20px auto 60px;
}
#wrapperContent #content.top main article .sec08 ul.inner_list li {
  width: calc((100% - 40px) / 3);
}
#wrapperContent #content.top main article .sec08 ul.inner_list li small {
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.top main article .sec08 ul.inner_list li {
    width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.top main article .sec08 ul.inner_list {
    gap: 12px;
  }
  #wrapperContent #content.top main article .sec08 ul.inner_list li {
    width: 100%;
    font-size: 1.3rem;
  }
}

/*==================================================================
お知らせ一覧
===================================================================*/
#wrapperContent #content.news main article .sec01 .h2_ttl {
  margin-bottom: 0;
}
#wrapperContent #content.news main article .sec01 .news {
  margin-bottom: 25px;
}
#wrapperContent #content.news main article .sec01 .news li {
  border-bottom: 1px solid #E3E3E3;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 10px;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner.pickup {
  background: #FEFFD7;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner.pickup p {
  color: #FA364C;
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner.pickup p.date {
  color: #000;
  font-size: 1.6rem;
  font-weight: 400;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner.pickup p.new {
  color: #fff;
  font-size: 1.4rem;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner small {
  font-size: 1.3rem;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner p {
  font-size: 1.6rem;
  line-height: 1.4;
  color: #000;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner p span.pickup {
  color: #FA364C;
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.news main article .sec01 .news li .news_inner .new {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  background: #FA364C;
  padding: 1px 5px;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.news main article .sec01 .news li .news_inner {
    gap: 15px;
    flex-wrap: wrap;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner.pickup p {
    font-size: 1.6rem;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner.pickup p.date {
    font-size: 1.4rem;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner p span.pickup {
    font-size: 1.6rem;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner p {
    width: 100%;
    font-size: 1.4rem;
    order: 3;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner p.new {
    display: inline-block;
    width: auto;
    order: 2;
  }
  #wrapperContent #content.news main article .sec01 .news li .news_inner p.date {
    order: 1;
    width: 80px;
  }
}

/*==================================================================
お知らせシングル
===================================================================*/
#wrapperContent #content.news-single main article .sec01 .n_ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}
#wrapperContent #content.news-single main article .sec01 .n_ttl_sub {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 10px;
}
#wrapperContent #content.news-single main article .sec01 .n_ttl_sub span {
  color: #339599;
}

/*==================================================================
大阪・関西万博
===================================================================*/
#wrapperContent #content.expo main article .sec01 .date_inner {
  display: flex;
  align-items: flex-end;
  gap: 15px;
  margin-bottom: 15px;
}
#wrapperContent #content.expo main article .sec01 .date_inner .date {
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.6;
  color: #FA364C;
}
#wrapperContent #content.expo main article .sec01 .sch_wrap {
  overflow: auto;
  margin-bottom: 25px;
}
#wrapperContent #content.expo main article .sec01 .sch_wrap img {
  display: block;
  min-width: 900px;
}
#wrapperContent #content.expo main article .sec01 .expo_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 40px;
}
#wrapperContent #content.expo main article .sec01 .expo_inner .ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #339599;
  margin-bottom: 5px;
  width: 100%;
}
#wrapperContent #content.expo main article .sec01 .expo_inner .txt {
  width: calc(50% - 20px);
}
#wrapperContent #content.expo main article .sec01 .expo_inner figure {
  width: calc(50% - 20px);
}
#wrapperContent #content.expo main article .sec01 .expo_inner figure figcaption {
  text-align: right;
  font-size: 1.2rem;
  margin-top: 3px;
}
#wrapperContent #content.expo main article .sec01 .expo_map {
  margin-top: 20px;
}
#wrapperContent #content.expo main article .sec01 .gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}
#wrapperContent #content.expo main article .sec01 .gallery li {
  width: calc((100% - 60px) / 4);
}
#wrapperContent #content.expo main article .sec01 .caption {
  text-align: right;
  font-size: 1.2rem;
  margin-bottom: 60px;
}
#wrapperContent #content.expo main article .sec01 .ac_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.expo main article .sec01 .ac_inner .map {
  width: calc(50% - 20px);
}
#wrapperContent #content.expo main article .sec01 .ac_inner .map iframe {
  width: 100%;
  height: 100%;
}
#wrapperContent #content.expo main article .sec01 .ac_inner figure {
  width: calc(50% - 20px);
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.expo main article .sec01 .date_inner {
    flex-wrap: wrap;
    gap: 5px;
  }
  #wrapperContent #content.expo main article .sec01 .date_inner .date {
    font-size: 2rem;
  }
  #wrapperContent #content.expo main article .sec01 .expo_inner {
    gap: 0;
  }
  #wrapperContent #content.expo main article .sec01 .expo_inner .ttl {
    font-size: 1.7rem;
  }
  #wrapperContent #content.expo main article .sec01 .expo_inner .txt {
    width: 100%;
  }
  #wrapperContent #content.expo main article .sec01 .expo_inner figure {
    width: 100%;
    margin-top: 15px;
  }
  #wrapperContent #content.expo main article .sec01 .gallery li {
    width: calc((100% - 20px) / 2);
  }
  #wrapperContent #content.expo main article .sec01 .ac_inner {
    gap: 20px;
  }
  #wrapperContent #content.expo main article .sec01 .ac_inner .map {
    width: 100%;
    aspect-ratio: 4/3;
  }
  #wrapperContent #content.expo main article .sec01 .ac_inner figure {
    width: 100%;
  }
}

/*==================================================================
エクスカーション
===================================================================*/
#wrapperContent #content.ex main article .sec01 .h2_ttl h2 small {
  font-size: 2rem;
}
#wrapperContent #content.ex main article .sec01 .course {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 10px;
}
#wrapperContent #content.ex main article .sec01 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.ex main article .sec01 .inner .bx {
  width: calc(63% - 20px);
}
#wrapperContent #content.ex main article .sec01 .inner .bx figure {
  margin-bottom: 10px;
}
#wrapperContent #content.ex main article .sec01 .inner .bx figure figcaption {
  font-size: 1.3rem;
  margin-top: 3px;
}
#wrapperContent #content.ex main article .sec01 .inner .sch_bx {
  width: calc(37% - 20px);
}
#wrapperContent #content.ex main article .sec01 .inner .sch_bx figure {
  margin-top: 10px;
}
#wrapperContent #content.ex main article .sec01 .info_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
}
#wrapperContent #content.ex main article .sec01 .info_inner .bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.ex main article .sec01 .info_inner .bx figure figcaption {
  margin-top: 3px;
  font-size: 1.3rem;
}
#wrapperContent #content.ex main article .sec01 .gallery_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 40px;
}
#wrapperContent #content.ex main article .sec01 .gallery_inner .bx {
  width: calc((100% - 45px) / 4);
}
#wrapperContent #content.ex main article .sec01 .gallery_inner .bx figcaption {
  margin-top: 3px;
  font-size: 1.2rem;
}
#wrapperContent #content.ex main article .sec01 .gallery_inner.gallery3 .bx {
  width: calc((100% - 30px) / 3);
}
#wrapperContent #content.ex main article .sec01 .place {
  margin-top: 40px;
}
#wrapperContent #content.ex main article .sec01 .place iframe {
  width: 100%;
  aspect-ratio: 5/3;
}
#wrapperContent #content.ex main article .sec01 .place .caption {
  font-size: 1.4rem;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .h2_ttl h2 {
  border-bottom: 2px solid #41648C;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .h4_ttl::before {
  background: #41648C;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .course {
  color: #41648C;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .course small {
  font-size: 1.4rem;
  color: #ff0000;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .ol-plain li::before {
  color: #41648C;
}
#wrapperContent #content.ex main article .sec01.sec_c01 .ul-disc li::before {
  background: #41648C;
}
#wrapperContent #content.ex main article .sec01.sec_c02 .h2_ttl h2 {
  border-bottom: 2px solid #5B9B83;
}
#wrapperContent #content.ex main article .sec01.sec_c02 .h4_ttl::before {
  background: #5B9B83;
}
#wrapperContent #content.ex main article .sec01.sec_c02 .course {
  color: #5B9B83;
}
#wrapperContent #content.ex main article .sec01.sec_c02 .ol-plain li::before {
  color: #5B9B83;
}
#wrapperContent #content.ex main article .sec01.sec_c02 .ul-disc li::before {
  background: #5B9B83;
}
#wrapperContent #content.ex main article .sec01.sec_c03 .h2_ttl h2 {
  border-bottom: 2px solid #C59D3D;
}
#wrapperContent #content.ex main article .sec01.sec_c03 .h4_ttl::before {
  background: #C59D3D;
}
#wrapperContent #content.ex main article .sec01.sec_c03 .course {
  color: #C59D3D;
}
#wrapperContent #content.ex main article .sec01.sec_c03 .ol-plain li::before {
  color: #C59D3D;
}
#wrapperContent #content.ex main article .sec01.sec_c03 .ul-disc li::before {
  background: #C59D3D;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.ex main article .sec01 .course {
    font-size: 1.8rem;
  }
  #wrapperContent #content.ex main article .sec01 .inner {
    gap: 20px;
  }
  #wrapperContent #content.ex main article .sec01 .inner .bx {
    width: 100%;
  }
  #wrapperContent #content.ex main article .sec01 .inner .sch_bx {
    width: 100%;
  }
  #wrapperContent #content.ex main article .sec01 .info_inner {
    gap: 20px;
  }
  #wrapperContent #content.ex main article .sec01 .info_inner .bx {
    width: 100%;
  }
  #wrapperContent #content.ex main article .sec01 .gallery_inner {
    gap: 15px 10px;
  }
  #wrapperContent #content.ex main article .sec01 .gallery_inner .bx {
    width: calc((100% - 10px) / 2);
  }
  #wrapperContent #content.ex main article .sec01 .gallery_inner.gallery3 .bx {
    width: calc((100% - 10px) / 2);
  }
}

/*==================================================================
セッション
===================================================================*/
#wrapperContent #content.session main article .sec01 .h2_ttl h2 {
  font-size: 2.4rem;
}
#wrapperContent #content.session main article .sec01 .h2_ttl h2 small {
  font-size: 1.8rem;
}
#wrapperContent #content.session main article .sec01 .s_ttl {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
}
#wrapperContent #content.session main article .sec01 .s_ttl_sub {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}
#wrapperContent #content.session main article .sec01 .s_ttl_sub span {
  color: #339599;
}
#wrapperContent #content.session main article .sec01 .s_txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 10px;
  margin-bottom: 10px;
}
#wrapperContent #content.session main article .sec01 .s_txt span {
  color: #339599;
}
#wrapperContent #content.session main article .sec01 .s_txt.s_indent {
  margin-left: 50px;
  text-indent: -50px;
}
#wrapperContent #content.session main article .sec01 .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
#wrapperContent #content.session main article .sec01 .inner .bx {
  width: calc(63% - 20px);
}
#wrapperContent #content.session main article .sec01 .inner .bx figure {
  margin-bottom: 10px;
}
#wrapperContent #content.session main article .sec01 .inner .bx figure figcaption {
  font-size: 1.3rem;
  margin-top: 3px;
}
#wrapperContent #content.session main article .sec01 .inner .bx figure .bd_img {
  border: 1px solid #707070;
}
#wrapperContent #content.session main article .sec01 .inner .bx .fig_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px;
}
#wrapperContent #content.session main article .sec01 .inner .bx .fig_inner figure {
  width: calc(50% - 5px);
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx {
  width: calc(37% - 20px);
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .tablewrap table th, #wrapperContent #content.session main article .sec01 .inner .sch_bx .tablewrap table td {
  font-size: 1.4rem;
  padding: 10px;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .tablewrap table th {
  width: 50px;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx figure {
  margin-top: 10px;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx figure figcaption {
  font-size: 1.3rem;
  margin-top: 3px;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .qr_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 10px;
  margin-top: 20px;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .qr_inner .bx {
  width: calc(50% - 5px);
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .qr_inner .bx img {
  display: block;
  width: 100px;
  margin: 0 auto;
  border: 1px solid #707070;
}
#wrapperContent #content.session main article .sec01 .inner .sch_bx .qr_inner .bx .caption {
  font-size: 1.4rem;
  margin-top: 5px;
  line-height: 1.4;
}
#wrapperContent #content.session main article .sec01 .info_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
}
#wrapperContent #content.session main article .sec01 .info_inner .bx {
  width: calc(50% - 20px);
}
#wrapperContent #content.session main article .sec01 .info_inner .bx figure figcaption {
  margin-top: 3px;
  font-size: 1.3rem;
}
#wrapperContent #content.session main article .sec01 .gallery_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 40px;
}
#wrapperContent #content.session main article .sec01 .gallery_inner .bx {
  width: calc((100% - 45px) / 4);
}
#wrapperContent #content.session main article .sec01 .gallery_inner .bx figcaption {
  margin-top: 3px;
  font-size: 1.2rem;
}
#wrapperContent #content.session main article .sec01 .gallery_inner.gallery3 .bx {
  width: calc((100% - 30px) / 3);
}
#wrapperContent #content.session main article .sec01 .place {
  margin-top: 40px;
}
#wrapperContent #content.session main article .sec01 .place iframe {
  width: 100%;
  aspect-ratio: 5/3;
}
#wrapperContent #content.session main article .sec01 .place .caption {
  font-size: 1.4rem;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.session main article .sec01 .h2_ttl h2 {
    font-size: 2rem;
  }
  #wrapperContent #content.session main article .sec01 .h2_ttl h2 small {
    font-size: 1.4rem;
  }
  #wrapperContent #content.session main article .sec01 .s_ttl {
    font-size: 2.2rem;
  }
  #wrapperContent #content.session main article .sec01 .s_ttl_sub {
    font-size: 1.6rem;
  }
  #wrapperContent #content.session main article .sec01 .s_txt {
    font-size: 1.4rem;
  }
  #wrapperContent #content.session main article .sec01 .s_txt.s_indent {
    margin-left: 44px;
    text-indent: -44px;
  }
  #wrapperContent #content.session main article .sec01 .inner {
    gap: 20px;
  }
  #wrapperContent #content.session main article .sec01 .inner .bx {
    width: 100%;
  }
  #wrapperContent #content.session main article .sec01 .inner .bx .fig_inner figure {
    width: 100%;
  }
  #wrapperContent #content.session main article .sec01 .inner .sch_bx {
    width: 100%;
  }
  #wrapperContent #content.session main article .sec01 .info_inner {
    gap: 20px;
  }
  #wrapperContent #content.session main article .sec01 .info_inner .bx {
    width: 100%;
  }
  #wrapperContent #content.session main article .sec01 .gallery_inner {
    gap: 15px 10px;
  }
  #wrapperContent #content.session main article .sec01 .gallery_inner .bx {
    width: calc((100% - 10px) / 2);
  }
  #wrapperContent #content.session main article .sec01 .gallery_inner.gallery3 .bx {
    width: calc((100% - 10px) / 2);
  }
}

/*==================================================================
プライバシーポリシー SNSポリシー
===================================================================*/
#wrapperContent #content.privacy main article .sec01 .ttl,
#wrapperContent #content.snspolicy main article .sec01 .ttl {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
}
#wrapperContent #content.privacy main article .sec01 .ttl_sub,
#wrapperContent #content.snspolicy main article .sec01 .ttl_sub {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 10px;
}
#wrapperContent #content.privacy main article .sec01 .ttl_sub span,
#wrapperContent #content.snspolicy main article .sec01 .ttl_sub span {
  color: #339599;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.privacy main article .sec01 .s_ttl,
  #wrapperContent #content.snspolicy main article .sec01 .s_ttl {
    font-size: 2.2rem;
  }
  #wrapperContent #content.privacy main article .sec01 .s_ttl_sub,
  #wrapperContent #content.snspolicy main article .sec01 .s_ttl_sub {
    font-size: 1.6rem;
  }
}

/*==================================================================
大会資料ダウンロード
===================================================================*/
#wrapperContent #content.data main article .sec01 .page_link_all {
  padding: 0 10px;
  margin: 30px auto 60px;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li {
  width: calc((100% - 60px) / 4);
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a {
  border: 1px solid #FC8693;
  display: block;
  position: relative;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 100%;
  height: 100%;
  border: 1px solid #FC8693;
  z-index: 1;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 50px;
  color: #000;
  position: relative;
  font-size: 1.4rem;
  z-index: 2;
  background: #fff;
  transition: all 0.4s ease;
  line-height: 1.2;
  padding: 5px 35px 5px 5px;
  font-weight: 500;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a p::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 18px;
  height: 26px;
  transform: translateY(-50%);
  -webkit-mask-image: url(../img/cmn/icon_pdf.svg);
          mask-image: url(../img/cmn/icon_pdf.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 18px 26px;
          mask-size: 18px 26px;
  background: #000;
  transition: all 0.4s ease;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a p small {
  font-size: 1.2rem;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a p.up {
  justify-content: flex-start;
  padding-top: 6px;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a:hover p {
  background: #FC8693;
  color: #fff;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a:hover p::before {
  bottom: 3px;
  background: #fff;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external {
  border: 1px solid #A4A4A4;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external::before {
  border: none;
  background: #707070;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external p::before {
  content: none;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external p img {
  max-width: 144px;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external:hover {
  margin-left: 3px;
  margin-top: 3px;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external:hover::before {
  top: 0;
  left: 0;
}
#wrapperContent #content.data main article .sec01 .page_link_all ul li a.external:hover p {
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.data main article .sec01 .page_link_all ul li {
    width: calc((100% - 40px) / 3);
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.data main article .sec01 .page_link_all ul {
    gap: 15px;
  }
  #wrapperContent #content.data main article .sec01 .page_link_all ul li {
    width: 100%;
  }
}/*# sourceMappingURL=layout.css.map */