@charset "UTF-8";
#visual {
  margin: 0 auto 50px;
  background-image: url("../images/main-img.webp?ver1");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  height: 420px;
  /*max-height: 450px;*/
  position: relative; }
  @media screen and (max-width: 768px) {
    #visual {
      height: 320px; } }
  @media screen and (max-width: 480px) {
    #visual {
      height: 200px; } }
  #visual figure {
    width: 350px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }
    @media screen and (max-width: 768px) {
      #visual figure {
        width: 350px; } }
    @media screen and (max-width: 480px) {
      #visual figure {
        width: 280px; } }
    #visual figure img {
      filter: drop-shadow(1px 1px 2px #222); }

h2 {
  margin-top: 1.5em;
  position: relative;
  padding: 0.8rem 0;
  margin-bottom: 1em;
  overflow: hidden;
  color: #323232;
  font-weight: bold;
  font-size: 3.0rem; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 2.6rem; } }
  @media screen and (max-width: 480px) {
    h2 {
      font-size: 2.2rem; } }
  h2:before, h2:after {
    position: absolute;
    width: 100%;
    bottom: 0;
    content: '';
    border-radius: 10px; }
  h2:before {
    border-bottom: 5px solid #339933; }
  h2:after {
    border-bottom: 5px solid #333; }

h3 {
  display: flex;
  align-items: center;
  font-size: 2.6rem;
  line-height: 1.4em;
  font-weight: 700;
  margin-bottom: 1em;
  margin-top: 3em;
  border-bottom: 1px solid #339933;
  padding-bottom: 10px; }
  h3::before {
    content: '';
    width: 30px;
    height: 5px;
    background-color: #f39c00;
    margin-right: 15px;
    border-radius: 15px; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 2.4rem; } }
  @media screen and (max-width: 480px) {
    h3 {
      font-size: 2.0rem; } }

h4 {
  margin: 1.5em 0 0.5em;
  font-weight: 700; }
  h4 span {
    background-color: #0F600F;
    color: #FFF;
    padding: 5px 1em;
    border-radius: 5px; }

.pan {
  width: 1080px;
  margin: 0 auto 80px;
  display: flex;
  align-items: center;
  font-size: 1.4rem; }
  @media screen and (max-width: 1100px) {
    .pan {
      width: 94%; } }
  @media screen and (max-width: 768px) {
    .pan {
      margin: 0 auto 50px; } }
  @media screen and (max-width: 480px) {
    .pan {
      margin: 0 auto 40px; } }
  .pan img {
    width: 12px; }
  .pan .current-page {
    margin-left: 5px;
    color: #AAA; }
    .pan .current-page:before {
      content: "／";
      margin-right: 5px; }

.inner {
  padding: 80px 0; }
  @media screen and (max-width: 1100px) {
    .inner {
      padding: 60px 0; } }
  @media screen and (max-width: 768px) {
    .inner {
      padding: 40px 0; } }

.box {
  width: 1080px;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: justify; }
  @media screen and (max-width: 1100px) {
    .box {
      width: 94%; } }
  .box .text-r {
    text-align: right; }
  .box .mg-top {
    margin-top: 1em; }

#page-title {
  margin: 0 auto 10px;
  background-image: url("../images/main-img.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 300px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #page-title {
      height: 200px; } }
  @media screen and (max-width: 480px) {
    #page-title {
      height: 150px; } }
  #page-title h2 {
    font-size: 3.6rem;
    line-height: 1.6em;
    font-weight: 700;
    padding: 0;
    border: none;
    box-shadow: none;
    text-shadow: 1px 1px 3px #4E4E4E;
    color: #FFF;
    margin-top: 0;
    margin-bottom: 0;
    background-color: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }
    @media screen and (max-width: 768px) {
      #page-title h2 {
        font-size: 3.0rem; } }
    @media screen and (max-width: 480px) {
      #page-title h2 {
        font-size: 2.6rem; } }
    #page-title h2:before, #page-title h2:after {
      display: none; }

ol {
  margin-left: 2.2em; }
  ol li {
    list-style: decimal; }

/*top*/
.img-text {
  width: 760px;
  margin: 0 auto 2em; }
  @media screen and (max-width: 768px) {
    .img-text {
      display: none; } }

.main-text {
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.4em;
  margin-bottom: 2em;
  text-align: center;
  display: none; }
  @media screen and (max-width: 1100px) {
    .main-text {
      width: 94%;
      margin: 0 auto 2em; } }
  @media screen and (max-width: 768px) {
    .main-text {
      display: block;
      font-size: 2.0rem;
      line-height: 1.2em;
      text-align: left; } }
  @media screen and (max-width: 480px) {
    .main-text {
      font-size: 1.8rem;
      line-height: 1.2em; } }
  .main-text .des {
    position: relative;
    color: #E4007F;
    font-size: 2.8rem;
    border-bottom: dotted 2px #E4007F; }
    @media screen and (max-width: 768px) {
      .main-text .des {
        font-size: 2.6rem; } }
    @media screen and (max-width: 480px) {
      .main-text .des {
        font-size: 2.0rem; } }
    .main-text .des span {
      position: absolute;
      top: 10px;
      left: -230px;
      font-size: 60%;
      border-bottom: none; }
      @media screen and (max-width: 768px) {
        .main-text .des span {
          top: 10px;
          left: 0; } }

#index-col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1080px;
  margin: 0 auto; }
  @media screen and (max-width: 1100px) {
    #index-col2 {
      width: 94%; } }
  #index-col2 #l-area {
    width: 73%; }
    @media screen and (max-width: 768px) {
      #index-col2 #l-area {
        width: 100%;
        margin-bottom: 2em; } }
    #index-col2 #l-area .pos-box {
      background-color: #CAE2EB;
      padding: 1em 1.5em;
      color: #002B5D; }
    #index-col2 #l-area .no-text {
      margin-top: 1em;
      font-size: 2.0rem;
      line-height: 1.4em;
      font-weight: 700;
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      @media screen and (max-width: 768px) {
        #index-col2 #l-area .no-text {
          font-size: 1.8rem; } }
      #index-col2 #l-area .no-text img {
        width: 40px;
        margin-right: 8px; }
        @media screen and (max-width: 768px) {
          #index-col2 #l-area .no-text img {
            width: 30px; } }
      #index-col2 #l-area .no-text p {
        width: calc(100% - 48px); }
        @media screen and (max-width: 768px) {
          #index-col2 #l-area .no-text p {
            width: calc(100% - 38px); } }
    #index-col2 #l-area .l-space {
      margin-left: 48px; }
      @media screen and (max-width: 768px) {
        #index-col2 #l-area .l-space {
          margin-left: 38px; } }
    #index-col2 #l-area dl {
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      text-align: justify;
      align-items: center;
      height: 260px;
      overflow: auto; }
      #index-col2 #l-area dl dt, #index-col2 #l-area dl dd {
        padding: 2px 0;
        /*border-top:1px dotted #A3BBDB;*/
        margin: 2.5px 0; }
      #index-col2 #l-area dl dt {
        width: 16%;
        box-sizing: border-box;
        background-color: #F4F4F4;
        text-align: center;
        font-size: 12px;
        line-height: 2.0em;
        font-weight: normal;
        border-radius: 6px; }
        @media screen and (max-width: 768px) {
          #index-col2 #l-area dl dt {
            width: 20%; } }
        @media screen and (max-width: 480px) {
          #index-col2 #l-area dl dt {
            width: 28%;
            padding: 2px 10px; } }
        #index-col2 #l-area dl dt:first-of-type {
          border-top: none; }
        #index-col2 #l-area dl dt span.font-big {
          font-size: 16px;
          line-height: 1.6em;
          border-top: 1px solid #333;
          padding: 0 8px; }
      #index-col2 #l-area dl dd {
        width: 84%;
        box-sizing: border-box;
        padding-left: 10px; }
        @media screen and (max-width: 768px) {
          #index-col2 #l-area dl dd {
            width: 80%; } }
        @media screen and (max-width: 480px) {
          #index-col2 #l-area dl dd {
            width: 72%;
            border-top: none;
            padding-top: 0;
            margin-bottom: 10px; } }
        #index-col2 #l-area dl dd:nth-child(2) {
          border-top: none; }
    #index-col2 #l-area .box-in {
      margin: 15px 0;
      padding: 1.5em;
      background-color: #FFF;
      border-radius: 5px; }
      @media screen and (max-width: 480px) {
        #index-col2 #l-area .box-in {
          padding: 1.0em; } }
      #index-col2 #l-area .box-in ol {
        /*margin-top: 1em;*/ }
        #index-col2 #l-area .box-in ol li {
          list-style: decimal;
          margin-left: 1.5em; }
      #index-col2 #l-area .box-in .btn-seminar {
        text-align: center; }
        #index-col2 #l-area .box-in .btn-seminar a {
          display: inline-block;
          justify-content: center;
          align-items: center;
          position: relative;
          width: 260px;
          margin: 10px 0 0 0;
          padding: .3em 2.0em .3em 1.5em;
          border: 1px solid #E4007F;
          border-radius: 30px;
          background-color: #fff;
          color: #E4007F;
          font-size: 1em;
          box-sizing: border-box;
          text-align: center; }
          #index-col2 #l-area .box-in .btn-seminar a::after {
            position: absolute;
            top: 1.2em;
            right: 1.5em;
            transform: translateY(-50%);
            transform-origin: left;
            width: 2em;
            height: .5em;
            background-color: #E4007F;
            clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
            content: '';
            transition: transform .3s; }
          #index-col2 #l-area .box-in .btn-seminar a:hover::after {
            transform: translateY(-50%) scaleX(1.4); }
      #index-col2 #l-area .box-in .sub-title {
        font-size: 2.6rem;
        font-weight: 700;
        color: #E4007F;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          #index-col2 #l-area .box-in .sub-title {
            font-size: 2.4rem; } }
        @media screen and (max-width: 480px) {
          #index-col2 #l-area .box-in .sub-title {
            font-size: 2.2rem; } }
        #index-col2 #l-area .box-in .sub-title a {
          font-size: 1.6rem;
          padding: 5px 1.5em 5px 1em;
          border-radius: 30px;
          color: #FFF;
          background-image: url("../images/pan.svg");
          background-size: 8px;
          background-repeat: no-repeat;
          background-position: right 10px center;
          background-color: #FF6910; }
      #index-col2 #l-area .box-in .sub-text-date {
        font-weight: 700;
        font-size: 1.8rem;
        border-bottom: 1px dotted #002B5D;
        margin-bottom: 8px;
        padding-bottom: 7px; }
    #index-col2 #l-area .sewa {
      font-weight: 700;
      margin-bottom: 1em; }
      #index-col2 #l-area .sewa span {
        font-weight: normal; }
        #index-col2 #l-area .sewa span.s-font {
          font-size: 1.3rem;
          padding: 2px 8px;
          background-color: #002B5D;
          color: #FFF;
          margin-right: 5px; }
  #index-col2 #bnr-area {
    width: 22%; }
    @media screen and (max-width: 768px) {
      #index-col2 #bnr-area {
        width: 100%; } }
    #index-col2 #bnr-area .office {
      background-color: #339933;
      padding: 15px;
      color: #FFF;
      border-radius: 5px;
      margin-top: 2em; }
      #index-col2 #bnr-area .office .title-name {
        font-weight: 700;
        text-decoration: underline; }
      #index-col2 #bnr-area .office .office-info {
        font-size: 1.4rem;
        line-height: 1.6em; }
    #index-col2 #bnr-area .bnr {
      margin-top: 2em;
      padding-top: 2em;
      border-top: 1px dotted #CCC; }
      #index-col2 #bnr-area .bnr figure {
        margin-bottom: 10px; }
        #index-col2 #bnr-area .bnr figure img {
          width: 90%;
          margin: 0 auto; }
          @media screen and (max-width: 768px) {
            #index-col2 #bnr-area .bnr figure img {
              width: 260px; } }
          @media screen and (max-width: 480px) {
            #index-col2 #bnr-area .bnr figure img {
              width: 220px; } }
    #index-col2 #bnr-area .btn, #index-col2 #bnr-area .btn-sub {
      margin-bottom: 10px; }
      #index-col2 #bnr-area .btn a, #index-col2 #bnr-area .btn-sub a {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        /*width: 250px;*/
        margin: 0 auto;
        padding: .5em 2.5em .5em 1em;
        border: 1px solid #339933;
        background-color: #339933;
        border-radius: 30px;
        color: #FFF;
        font-size: 1em; }
        #index-col2 #bnr-area .btn a::after, #index-col2 #bnr-area .btn-sub a::after {
          position: absolute;
          right: 1.0em;
          transform: translateY(-50%);
          transform-origin: left;
          width: 1.6em;
          height: .5em;
          background-color: #FFF;
          clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
          content: '';
          transition: transform .3s; }
        #index-col2 #bnr-area .btn a:hover::after, #index-col2 #bnr-area .btn-sub a:hover::after {
          transform: translateY(-50%) scaleX(1.4); }
    #index-col2 #bnr-area .btn-sub a {
      font-size: 1.5rem;
      line-height: 1.4em;
      border: 1px solid #FF6910;
      background-color: #FF6910;
      padding: .9em 2.8em .9em 0.5em;
      color: #FFF; }
      #index-col2 #bnr-area .btn-sub a::after {
        background-color: #FFF; }

#member-list {
  margin-top: 80px; }
  @media screen and (max-width: 768px) {
    #member-list {
      margin-top: 60px; } }
  @media screen and (max-width: 480px) {
    #member-list {
      margin-top: 40px; } }
  #member-list h3 {
    text-align: justify;
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
    padding: .5em .7em .4em;
    border-bottom: 2px solid #A31F24;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      #member-list h3 {
        font-size: 1.6rem;
        line-height: 1.6em; } }
    #member-list h3::before, #member-list h3::after {
      position: absolute;
      left: 30px;
      bottom: -15px;
      width: 30px;
      height: 15px;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      content: ''; }
    #member-list h3::before {
      background-color: #A31F24; }
    #member-list h3::after {
      bottom: -11px;
      background-color: #fff; }
  #member-list dl {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    text-align: justify; }
    #member-list dl dt, #member-list dl dd {
      padding: 10px 0; }
    #member-list dl dt {
      width: 30%;
      box-sizing: border-box;
      padding-left: 10px; }
      @media screen and (max-width: 768px) {
        #member-list dl dt {
          width: 35%; } }
      @media screen and (max-width: 480px) {
        #member-list dl dt {
          width: 100%;
          padding-bottom: 0; } }
      #member-list dl dt:nth-child(4n+1) {
        background-color: #F5F5F5; }
      #member-list dl dt:nth-child(4n+1) + dd {
        background-color: #F5F5F5; }
    #member-list dl dd {
      width: 70%;
      box-sizing: border-box;
      padding-left: 10px; }
      @media screen and (max-width: 768px) {
        #member-list dl dd {
          width: 65%; } }
      @media screen and (max-width: 480px) {
        #member-list dl dd {
          width: 100%;
          padding-top: 5px; } }
      #member-list dl dd:nth-child(2) {
        border-top: none; }

#aboutPCPS, #greeting, #ArticleOfIncorporation, #contact, #introduction, #program, #relatedSites, #past, #admission, #seminar, #ecmo-certification {
  text-align: center; }

/*ご挨拶*/
#greeting .greeting-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #greeting .greeting-box figure {
    width: 160px;
    text-align: center; }
    #greeting .greeting-box figure figcaption {
      font-size: 1.4rem;
      margin-top: 5px; }
  #greeting .greeting-box .greeting-text {
    width: calc(100% - 190px); }
    @media screen and (max-width: 768px) {
      #greeting .greeting-box .greeting-text {
        width: 100%;
        margin-top: 1em; } }
    #greeting .greeting-box .greeting-text p {
      margin-top: 1em; }
      #greeting .greeting-box .greeting-text p:first-of-type {
        margin-top: 0; }
#greeting .dc-info {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #DDD; }
  #greeting .dc-info figure {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end; }
    #greeting .dc-info figure img {
      width: 140px;
      margin-right: 15px; }
#greeting h3 span {
  font-size: 1.4rem;
  font-weight: normal; }

/*定款*/
#ArticleOfIncorporation h3 {
  margin-top: 2em;
  font-weight: 700; }
#ArticleOfIncorporation .indent4em {
  text-indent: -4em;
  padding-left: 4em; }
#ArticleOfIncorporation .indent5em {
  text-indent: -5em;
  padding-left: 5em; }
#ArticleOfIncorporation .mg-l4em {
  margin-left: 4em; }
#ArticleOfIncorporation .mg-l5em {
  margin-left: 5em; }

/*役員*/
#BoardMember {
  text-align: justify;
  word-break: keep-all; }
  #BoardMember dl {
    display: flex;
    flex-wrap: wrap;
    background-color: #F0F0F0;
    margin-bottom: 15px; }
    #BoardMember dl dt {
      width: 8em;
      padding: 15px 0 15px 1em;
      box-sizing: border-box; }
      #BoardMember dl dt:nth-child(4n+1), #BoardMember dl dt:nth-child(4n+1) + dd {
        background-color: #FFF; }
    #BoardMember dl dd {
      width: calc(100% - 8em);
      padding: 15px 1em 15px 0;
      box-sizing: border-box;
      text-align: left; }

/*入会・年会費納入のご案内*/
#admission .cautionary-text {
  font-weight: 700;
  text-align: center;
  font-size: 2.0rem; }
  #admission .cautionary-text span {
    border-bottom: 2px dotted #D00003; }
#admission h4 {
  margin: 1.5em 0 0.5em;
  font-weight: 700; }
  #admission h4 span {
    background-color: #0F600F;
    color: #FFF;
    padding: 5px 1em;
    border-radius: 5px; }
#admission dl.box1, #admission dl.box2 {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #EEE;
  background-color: #F8F8F8;
  border-radius: 5px;
  padding: 1em; }
  #admission dl.box1 dt, #admission dl.box1 dd, #admission dl.box2 dt, #admission dl.box2 dd {
    padding: 5px 0;
    border-top: 1px dotted #CCC; }
  #admission dl.box1 dt:first-of-type, #admission dl.box2 dt:first-of-type {
    padding-top: 0;
    border-top: none; }
  #admission dl.box1 dd:nth-child(2), #admission dl.box2 dd:nth-child(2) {
    padding-top: 0;
    border-top: none; }
#admission dl.box1 dt {
  width: 5.5em; }
#admission dl.box1 dd {
  width: calc(100% - 5.5em); }
#admission dl.box2 dt {
  width: 10.5em; }
#admission dl.box2 dd {
  width: calc(100% - 10.5em); }
#admission ol {
  margin-top: 1em; }
  #admission ol li {
    list-style: decimal;
    margin-left: 1.2em; }
#admission ul li {
  list-style: disc;
  margin-left: 1.2em; }
#admission .box3 {
  border: 1px solid #EEE;
  background-color: #F8F8F8;
  border-radius: 5px;
  padding: 1em; }

/*PCPSについて*/
#aboutPCPS .pcps-img {
  width: 520px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    #aboutPCPS .pcps-img {
      width: 90%; } }
  @media screen and (max-width: 480px) {
    #aboutPCPS .pcps-img {
      width: 100%; } }
#aboutPCPS .in-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px; }
  @media screen and (max-width: 480px) {
    #aboutPCPS .in-box {
      margin-bottom: 30px; } }
  #aboutPCPS .in-box .pcps-book {
    width: 150px; }
    @media screen and (max-width: 768px) {
      #aboutPCPS .in-box .pcps-book {
        width: 150px;
        margin-bottom: 1em; } }
  #aboutPCPS .in-box .pcps-book-info {
    width: calc(100% - 180px); }
    @media screen and (max-width: 768px) {
      #aboutPCPS .in-box .pcps-book-info {
        width: 100%; } }
    #aboutPCPS .in-box .pcps-book-info .u-line {
      padding-bottom: 1em;
      margin-bottom: 1em;
      border-bottom: 1px dotted #CCC; }
    #aboutPCPS .in-box .pcps-book-info dl {
      background-color: #F0F0F0;
      margin-top: 1em;
      padding: 1em 1.5em;
      display: flex;
      flex-wrap: wrap;
      border-radius: 5px;
      font-size: 1.4rem; }
      #aboutPCPS .in-box .pcps-book-info dl dt {
        width: 4em;
        padding-bottom: 5px; }
      #aboutPCPS .in-box .pcps-book-info dl dd {
        width: calc(100% - 4em);
        padding-bottom: 5px; }
      #aboutPCPS .in-box .pcps-book-info dl .no-indent {
        text-indent: -1em;
        padding-left: 1em; }

/*開催概要*/
.box-dl {
  /*text-align: justify;*/
  /*word-break: keep-all;*/ }
  .box-dl dl {
    display: flex;
    flex-wrap: wrap;
    background-color: #F0F0F0;
    margin-bottom: 15px; }
    .box-dl dl dt {
      width: 8em;
      padding: 15px 0 15px 1em;
      box-sizing: border-box; }
      .box-dl dl dt:nth-child(4n+1), .box-dl dl dt:nth-child(4n+1) + dd {
        background-color: #FFF; }
    .box-dl dl dd {
      width: calc(100% - 8em);
      padding: 15px 1em 15px 0;
      box-sizing: border-box; }
    .box-dl dl a {
      text-decoration: underline;
      color: #0064ff; }

/*プログラム*/
#program .btn {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-bottom: 30px; }
  #program .btn a {
    width: 160px;
    padding: 8px 10px;
    text-align: center;
    background-color: #e60012;
    color: #FFF;
    border-radius: 10px; }
#program ol {
  margin-left: 1.2em; }
  #program ol li {
    margin-top: 10px; }

/*演題募集*/
#abstracts .con-area {
  margin-top: 2em;
  border: 1px solid #EEE;
  background-color: #F8F8F8;
  border-radius: 5px;
  padding: 1.5em 2em; }
#abstracts .extension {
  padding-left: 4.2em;
  font-weight: 700;
  color: #FF0004; }
#abstracts ul li {
  list-style: disc;
  margin-left: 1.5em; }
#abstracts ol {
  margin-left: 2em; }
  #abstracts ol li {
    margin-left: 1.5em; }
#abstracts .f-bold {
  font-weight: 700; }
#abstracts span.super {
  vertical-align: super;
  font-size: 0.6em; }
#abstracts span.sub {
  vertical-align: sub;
  font-size: 0.6em;
  line-height: 1.0em; }

#announcement .sub-title {
  font-weight: 700;
  margin-top: 1em; }

#speakers h5 {
  font-weight: 700;
  margin: 1em 0 0.4em;
  border-bottom: 1px dotted #AAA; }
#speakers .please {
  margin: 1em 2em;
  font-weight: 700;
  text-indent: -4em;
  padding-left: 4em; }
#speakers .sub-title {
  font-weight: 700; }
  #speakers .sub-title span {
    padding: 2px 1em;
    border: 1px solid #f39c00;
    border-radius: 30px;
    background-color: #f39c00;
    font-size: 1.4rem;
    color: #FFF; }
#speakers .fr-img {
  margin: 0 0 10px 10px;
  float: right; }
#speakers img {
  width: auto; }
#speakers ul li {
  list-style: disc;
  margin-left: 1.5em; }

/*過去の学術集会*/
#past .in-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #past .in-box div {
    width: 48.5%;
    margin-bottom: 3%;
    background-color: #F0F0F0;
    border-radius: 5px;
    padding: 1em 1.5em; }
    @media screen and (max-width: 768px) {
      #past .in-box div {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      #past .in-box div {
        padding: 1em 1.0em; } }
    #past .in-box div:first-child {
      background-color: #EAF2D3; }
    #past .in-box div h3 {
      margin-top: 0;
      font-size: 1.8rem; }
    #past .in-box div dl {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 1em; }
      @media screen and (max-width: 768px) {
        #past .in-box div dl {
          margin-bottom: 0.5em; } }
      @media screen and (max-width: 480px) {
        #past .in-box div dl {
          margin-bottom: 0; } }
      #past .in-box div dl dt, #past .in-box div dl dd {
        padding: 3px 0;
        border-top: 1px dotted #CCC; }
        #past .in-box div dl dt:first-child, #past .in-box div dl dt:nth-child(2), #past .in-box div dl dd:first-child, #past .in-box div dl dd:nth-child(2) {
          border-top: none; }
      #past .in-box div dl dt {
        width: 6em; }
      #past .in-box div dl dd {
        width: calc(100% - 6em); }
  #past .in-box .btn {
    text-align: center; }
    #past .in-box .btn a {
      display: inline-block;
      justify-content: center;
      align-items: center;
      position: relative;
      width: 260px;
      margin: 10px 0 0 0;
      padding: .3em 2.0em .3em 1.5em;
      border: 1px solid #339933;
      border-radius: 30px;
      background-color: #fff;
      color: #339933;
      font-size: 1em;
      box-sizing: border-box;
      text-align: center; }
      #past .in-box .btn a::after {
        position: absolute;
        top: 1.2em;
        right: 1.5em;
        transform: translateY(-50%);
        transform-origin: left;
        width: 2em;
        height: .5em;
        background-color: #339933;
        clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
        content: '';
        transition: transform .3s; }
      #past .in-box .btn a:hover::after {
        transform: translateY(-50%) scaleX(1.4); }
  #past .in-box .btn3 {
    text-align: center; }
    #past .in-box .btn3 a {
      display: inline-block;
      justify-content: center;
      align-items: center;
      position: relative;
      width: 47%;
      margin: 10px 0 0 2%;
      padding: .3em 2.0em .3em 1.5em;
      border: 1px solid #339933;
      border-radius: 30px;
      background-color: #fff;
      color: #339933;
      font-size: 1em;
      box-sizing: border-box;
      text-align: center;
      font-weight: normal;
      line-height: 1.8em; }
      #past .in-box .btn3 a:first-child {
        margin-left: 0; }
      #past .in-box .btn3 a::after {
        position: absolute;
        top: 1.2em;
        right: 0.8em;
        transform: translateY(-50%);
        transform-origin: left;
        width: 2em;
        height: .5em;
        background-color: #339933;
        clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
        content: '';
        transition: transform .3s; }
      #past .in-box .btn3 a:hover::after {
        transform: translateY(-50%) scaleX(1.4); }

/*関連サイト*/
#relatedSites .link-btn {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 260px;
  margin: 10px 0 0 0;
  padding: .3em 2.0em .3em 1em;
  border: 1px solid #339933;
  border-radius: 30px;
  background-color: #fff;
  color: #339933;
  font-size: 1em;
  box-sizing: border-box;
  text-align: center; }
  #relatedSites .link-btn::after {
    position: absolute;
    top: 1.2em;
    right: 1.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #339933;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s; }
  #relatedSites .link-btn:hover::after {
    transform: translateY(-50%) scaleX(1.4); }
#relatedSites .link-info {
  background-color: #F0F0F0;
  padding: 2em;
  text-align: center;
  margin-top: 50px;
  border-radius: 6px; }
  #relatedSites .link-info a {
    color: #BB4500;
    text-decoration: underline; }
#relatedSites .font-s {
  font-size: 1.6rem;
  line-height: 1.2em; }

.text-r {
  text-align: right; }

.btn1, .btn2, .btn2-center, .btn3 {
  text-align: center; }
  .btn1 a, .btn2 a, .btn2-center a, .btn3 a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    margin: 0 auto;
    padding: 1em 2em;
    border: none;
    border-radius: 40px;
    background-color: #339933;
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.4em; }
    .btn1 a::after, .btn2 a::after, .btn2-center a::after, .btn3 a::after {
      transform: rotate(45deg);
      width: 8px;
      height: 8px;
      margin-left: 15px;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      content: ''; }
    .btn1 a:hover, .btn2 a:hover, .btn2-center a:hover, .btn3 a:hover {
      background-color: #98B734; }

.btn2 {
  text-align: left;
  margin-top: 1em; }
  .btn2 a {
    width: 280px;
    margin: 0;
    padding: 0.6em 1em 0.6em;
    background-color: #FF6910; }
    .btn2 a:hover {
      background-color: #FF9E65; }

.btn2-center {
  margin-top: 2em; }
  .btn2-center a {
    background-color: #FF6910; }
    .btn2-center a:hover {
      background-color: #FF9E65; }

.btn3 a {
  width: 350px;
  padding: 1em 1.5em; }

.mg-top {
  margin-top: 1em; }

.mg-bt {
  margin: 1em auto; }

.mg-left2 {
  margin-left: 2em; }

.text-center {
  text-align: center; }

.font-s {
  font-size: 1.4rem; }

.font-b {
  font-size: 1.8rem;
  font-weight: 700;
  color: #CB0003; }

.font-bold {
  font-size: 1.8rem;
  font-weight: 700; }
  @media screen and (max-width: 768px) {
    .font-bold {
      font-size: 1.6rem; } }

.text-bold {
  font-weight: 700; }

.red {
  color: #FF0004; }

.red1 {
  color: #BB1D00; }

.indent-1em {
  text-indent: -1em;
  padding-left: 1em; }

.indent-2em {
  text-indent: -2em;
  padding-left: 2em; }

.indent-3em {
  text-indent: -3em;
  padding-left: 3em; }

.indent-5em {
  text-indent: -5em;
  padding-left: 5em; }

.indent-6em {
  text-indent: -6em;
  padding-left: 6em; }

.indent-7em {
  text-indent: -7em;
  padding-left: 7em; }

a.u-line {
  text-decoration: underline;
  color: #237ae3; }

.mk-1 {
  background-image: url("../images/arrow01.svg");
  background-size: 0.7em;
  background-repeat: no-repeat;
  background-position: left top 9px;
  padding-left: 1em; }

.mk-2 {
  background-image: url("../images/arrow02.svg");
  background-size: 0.7em;
  background-repeat: no-repeat;
  background-position: left top 9px;
  padding-left: 1em; }

.mg-b {
  margin-bottom: 0.5em; }

/*20250116追加*/
.inful-img {
  width: 85%;
  margin: 1.5em auto 0; }
  @media screen and (max-width: 768px) {
    .inful-img {
      width: 100%; } }

#seminar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: justify; }
  #seminar .panel {
    width: 48%;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.2);
    background-color: #FFF;
    margin-bottom: 4%; }
    @media screen and (max-width: 768px) {
      #seminar .panel {
        width: 100%; } }
    #seminar .panel a {
      border: 1px solid #FFF;
      padding: 15px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #seminar .panel a:hover {
        border: 1px solid #0F600F; }
      #seminar .panel a .panel_img {
        width: 35%; }
        @media screen and (max-width: 768px) {
          #seminar .panel a .panel_img {
            width: 40%;
            margin: 0 auto 15px; } }
      #seminar .panel a .panel_info {
        width: 60%; }
        @media screen and (max-width: 768px) {
          #seminar .panel a .panel_info {
            width: 100%; } }
        #seminar .panel a .panel_info .panel_info_label {
          font-size: 0.8em;
          line-height: 1.2em;
          font-weight: 700;
          margin-bottom: 10px; }
          #seminar .panel a .panel_info .panel_info_label span {
            padding: 2px 15px;
            background-color: #CAE2EB;
            color: #002B5D;
            border-radius: 6px; }
            #seminar .panel a .panel_info .panel_info_label span.end {
              background-color: #FF0004;
              color: #FFF;
              margin-right: 5px; }
        #seminar .panel a .panel_info .panel_info_title {
          font-weight: 700;
          margin-bottom: 10px;
          line-height: 1.4em; }
      #seminar .panel a dl {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start; }
        #seminar .panel a dl dt, #seminar .panel a dl dd {
          padding: 3px 0;
          box-sizing: border-box;
          margin: 3px 0; }
        #seminar .panel a dl dt {
          width: 4em;
          box-sizing: border-box;
          border: 1px solid #339933;
          text-align: center;
          font-size: 0.8em;
          line-height: 1.2em; }
        #seminar .panel a dl dd {
          width: calc(100% - 4em);
          padding: 0 0 0 0.5em;
          line-height: 1.4em; }
  #seminar .seminar_detail_label,
  #seminar .seminar_detail_title {
    width: 100%; }
  #seminar .seminar_detail_label {
    font-size: 0.9em;
    line-height: 1.2em;
    font-weight: 700; }
    #seminar .seminar_detail_label span {
      padding: 2px 15px;
      background-color: #CAE2EB;
      color: #002B5D;
      border-radius: 6px; }
  #seminar .seminar_detail_title {
    margin-top: 10px; }
  #seminar .seminar_imgArea {
    width: 35%;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #seminar .seminar_imgArea {
        width: 100%;
        margin-bottom: 30px; } }
    #seminar .seminar_imgArea .pdfBtn {
      margin-top: 15px; }
      #seminar .seminar_imgArea .pdfBtn a {
        border: 1px solid #333;
        padding: 5px 0;
        width: 240px;
        display: inline-block;
        background-color: #FFF;
        position: relative;
        align-items: center; }
        #seminar .seminar_imgArea .pdfBtn a::after {
          content: "";
          width: 0;
          height: 0;
          border-left: 8px solid currentColor;
          /* ▶ の三角部分 */
          border-top: 6px solid transparent;
          border-bottom: 6px solid transparent;
          display: inline-block;
          margin-left: 8px; }
  #seminar .seminar_detail {
    width: 60%; }
    @media screen and (max-width: 768px) {
      #seminar .seminar_detail {
        width: 100%; } }
    #seminar .seminar_detail .seminar_detail_item {
      margin-top: 1.5em;
      margin-bottom: 5px;
      font-size: 1.1em;
      font-weight: 700; }
      #seminar .seminar_detail .seminar_detail_item:first-child {
        margin-top: 0; }
      #seminar .seminar_detail .seminar_detail_item span {
        width: 180px;
        border: 1px solid #FF6910;
        padding: 2px 0;
        background-color: #FF6910;
        color: #FFF;
        text-align: center;
        display: inline-block; }
    #seminar .seminar_detail .se_title {
      font-weight: 700; }
  #seminar span {
    font-weight: 700; }

#ecmo-certification h4.ecmo {
  background-color: #339933;
  padding: 8px 1em;
  border-radius: 5px;
  color: #FFF; }
#ecmo-certification h5 {
  margin: 1.5em 0 0.3em; }
  #ecmo-certification h5 span {
    border: 1px solid #0F600F;
    background-color: #FFF;
    color: #0F600F;
    padding: 5px 1em;
    border-radius: 5px;
    font-weight: 700; }
#ecmo-certification a {
  color: #339933;
  text-decoration: underline; }
#ecmo-certification ul li {
  list-style: disc;
  margin-left: 1.5em; }
