.site-header {
  width: 100%;
  height: 6rem;
  background: var(--color-white);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.small_header .site-header{
      box-shadow: 0 5px 10px -10px rgb(0 0 0 / 40%);
}

.site-header__inner {
  width: min(80rem, calc(100% - 5rem));
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header__brands {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1rem;
}

.site-header__brands a:nth-child(1){
  width: 11.875rem;
}

.site-header__brands a:nth-child(2){
  width: 13.75rem;
}

.site-header__brand-link {
  display: block;
}

.site-header__fg {
  margin-top: 2px;
}

.hero {
  position: relative;
  height: 40rem;
  color: var(--color-white);
  background:
    url("../assets/images/bg_home_catch.png") repeat left top / 1rem 1rem,
    var(--color-teal);
}

.hero::after {
  position: absolute;
  inset: 0 0 0 auto;
  width: 75%;
  content: "";
  background: var(--color-teal);
  transform: skewX(-52deg);
  transform-origin: bottom left;
}

.hero__inner {
  position: relative;
  z-index: 1;
  width: min(45rem, calc(100% - 3rem));
  margin: 0 auto;
  padding-top: 3rem;
}

.hero__copy {
  width: 45rem;
  margin: 0 auto 2rem auto;
}

.hero__visual {
  width: 45rem;
  margin: -4px auto 0;
}

.intro {
  background-image: linear-gradient(#fffaec 40%, #ffffff);
  padding-top: 4.125rem;
}

.intro__inner {
  width: min(var(--container), calc(100% - 3rem));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2.5rem;
  padding: 2rem 0 3rem;
}

.intro__text {
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.9;
}

.intro__badges {
  display: flex;
  gap: 1.1rem;
  flex: 0 0 auto;
}

.round-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  color: var(--color-white);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  border-radius: 50%;
}

.round-badge--orange {
  background: var(--color-orange);
}

.round-badge--pink {
  background: var(--color-pink);
}

.outline {
  padding:3rem 0 4rem;
}

.outline__inner {
  display: grid;
  grid-template-columns: 1fr 25rem;
  align-items: end;
  gap: 2rem;
}

.outline__content .section-heading--left{
  text-align: center;
}

.event-info {
  margin-top: 2.25rem;
}

.event-info__row {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 1.3rem;
  align-items: flex-start;
}

.event-info__row + .event-info__row {
  margin-top: 1.75rem;
}

.event-info__label {
  width: 5.5rem;
  height: 5.5rem;
  display: grid;
  place-items: center;
  color: var(--color-white);
  font-size: 1.5rem;
  font-weight: 700;
  background: var(--color-teal);
}

.event-info__body {
  min-width: 0;
}

.event-info__date {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: max-content max-content max-content max-content;
  align-items: baseline;
  gap: 0.8rem;
  color: var(--color-black);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.event-info__date strong {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-size: 3.5rem;
  line-height: 1;
}

.event-info__date strong small {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
}

.event-info__date .event-info__day {
  display: inline-grid;
  place-items: center;
  width: 1.5625rem;
  height: 1.5625rem;
  color: var(--color-white);
  font-size: 1.1rem;
  background: var(--color-teal);
}

.event-info__date em {
  font-size: 1.375rem;
  font-style: normal;
}

.event-info__place {
  color: var(--color-black);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}

.event-info__place span {
  margin-left: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
}

.event-info__note {
  margin-top: 0.3rem;
  color: var(--color-black);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.55;
  padding-left: 1rem;
  position: relative;
}

.event-info__date .event-info__note{
  margin-top: 0;
}

.event-info__note::before{
  content:"※";
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.55;
  position: absolute;
  top: 0;
  left: 0;
}

.outline__ribbon {
  margin-top: 1.7rem;
  color: var(--color-white);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-align: center;
  background: var(--color-pink);
}

.outline__map {
  width: 25rem;
}

.schedule {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.schedule__greeting {
  width: 53.75rem;
  margin: 3rem auto 2rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.45;
}

.schedule__greeting p {
  display: grid;
  grid-template-columns: 8.5rem 24.375rem 1fr;
  gap: 1.1rem;
  align-items: start;
}

.schedule__greeting p + p {
  margin-top: 0.5rem;
}

.schedule__greeting time,
.schedule__greeting-affiliation,
.schedule__greeting-name {
  min-width: 0;
}

.schedule__greeting-name {
  white-space: nowrap;
}

.seminar-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.seminar-card {
  min-height: 29rem;
  overflow: hidden;
  background: var(--color-white);
  border-radius: 0.5rem;
  box-shadow: var(--shadow-card);
}

.seminar-card__head {
  height: 3rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--color-teal);
}

.seminar-card__head span {
  height: 3rem;
  display: inline-flex;
  align-items: center;
  padding: 0 1rem;
  color: var(--color-white);
  font-size: 1.15rem;
  font-weight: 600;
  background: var(--color-teal);
}

.seminar-card__head time {
  padding-left: 0.8rem;
  font-size: 1.15rem;
  font-weight: 500;
}

.seminar-card__body {
  padding: 1.75rem 1.8rem;
}

.seminar-card h3 {
  margin: -1.75rem 0 1.25rem 4.375rem;
  min-height: 4.25rem;
  color: var(--color-black);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
}

.seminar-card__speaker {
  display: grid;
  grid-template-columns: 1fr 7.5rem;
  gap: 1rem;
  align-items: start;
  margin-top: 0.5rem;
}

.koshi_wrap{
  display: flex;
  justify-content: flex-start;
}

.seminar-card__speaker .tag {
  margin: 0.1rem 0.5rem 0 0;
}

.seminar-card__speaker p {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
}

.seminar-card__speaker strong {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.seminar-card__speaker strong .ts_s{
  font-size: 1rem;
  padding-left: 0.2rem;
}

.seminar-card__profile {
  clear: both;
  margin-top: 1.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.85;
}

.schedule .button {
  display: flex;
  margin: 3.5rem auto 0;
}

.sponsor {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.sponsor-grid {
  width: 52rem;
  margin: 3rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.sponsor-grid img {
  width: 25rem;
}

.flow {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: var(--color-mint);
}

.flow-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.5rem;
  margin-top: 3rem;
}

.flow-steps li {
  position: relative;
  min-height: 13.625rem;
  overflow: visible;
  text-align: center;
  background: var(--color-white);
  border: 2px solid var(--color-teal);
  border-radius: 0.5rem;
}

.flow-steps li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -3rem;
  width: 0;
  height: 0;
  content: "";
  border-top: 0.8125rem solid transparent;
  border-bottom: 0.8125rem solid transparent;
  border-left: 1.125rem solid var(--color-teal);
  transform: translateY(-50%);
}

.flow-steps strong {
  height: 3.5rem;
  display: grid;
  place-items: center;
  color: var(--color-white);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  background: var(--color-teal);
}

.flow-steps span {
  min-height: 10rem;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  color: var(--color-black);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.55;
}

.flow__note {
  margin-top: 1.5rem;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.7;
}

.flow-cta {
  margin-top: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.75rem;
}

.flow-cta__left p {
  font-size: 1.5rem;
  font-weight: 700;
}

.flow-cta__badges {
  margin-top: 1.25rem;
  display: flex;
  gap: 1.5rem;
}

.flow-cta__badges span {
  width: 15rem;
  height: 4rem;
  display: grid;
  place-items: center;
  font-size: 1.375rem;
  font-weight: 700;
  background: var(--color-white);
  border: 2px solid currentColor;
  border-radius: 0.5rem;
}

.flow-cta__badges span:first-child {
  color: var(--color-orange);
}

.flow-cta__badges span:last-child {
  color: var(--color-pink);
}

.site-footer {
  padding: 2.5rem 0;
  background: var(--color-white);
}

.site-footer__inner {
  width: min(77.5rem, calc(100% - 5rem));
  margin: 0 auto;
}

.site-footer__brands {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-footer__higo-brand {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.kfg_img_list{
  display: flex;
  justify-content: center;
  gap: 2rem;
}

.site-footer__kfg-s-link {
  display: block;
}

.site-footer__kfg-link {
  display: block;
}

.site-footer__higo-mark {
  width: 5.25rem;
}

.site-footer__higo-title {
  width: 21.375rem;
}

.site-footer__kfg {
  width: auto;
  height: 2.5rem;
}

.site-footer__licenses {
  margin-top: 42px;
  display: grid;
  grid-template-columns: 1fr 1.18fr;
  gap: 40px;
  color: #626262;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}

.site-footer__licenses p + p {
  padding-left: 3rem;
  border-left: 1px solid #cfcfcf;
}

.site-footer__bottom {
  margin-top: 2.625rem;
  padding-top: 2.125rem;
  display: flex;
  justify-content: space-between;
  color: #777;
  font-size: 1rem;
  border-top: 1px solid #d9d9d9;
}

.site-footer__bottom a {
  font-weight: 700;
  padding-right: 1.3rem;
  position: relative;
  transition: .3s all ease;
  border-bottom: 1px solid #fff;
}

.site-footer__bottom a::after{
  content:"";
  width: 1rem;
  height: 1rem;
  background: url(../assets/images/circle-arrow-up.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0;
}

.site-footer__bottom a:hover{
  border-bottom: 1px solid #555;
}


/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
  .site-header__inner{
    width: 95vw;
  }

  main{
    overflow-x: hidden;
  }

  .hero{
    height: 37rem;
  }

  .hero::after{
    width: 93%;
  }

  .hero__copy{
    width: 42rem;
  }

  .hero__visual{
    width: 42rem;
  }

  .intro__text{
    font-size: 1.15rem;
    font-weight: 700;
  }

  .intro__inner{
    gap: 1.5rem;
    padding: 3rem 0 3rem;
  }

  .round-badge{
    width: 8rem;
    height: 8rem;
    font-size: 1.6rem;
  }

  .outline{
    padding: 2rem 0 4rem;
  }

  .outline__inner{
    grid-template-columns: 1fr 20rem;
  }

  .outline__map{
    width: 20rem;
  }

  .event-info__row{
    grid-template-columns: 4.5rem 1fr;
    gap: 1rem;
  }

  .event-info__label{
    width: 4.5rem;
    height: 4.5rem;
    font-size: 1.3rem;
  }

  .event-info__date{
      font-size: 1.6rem;
      gap: 0.3rem 0.5rem;
  }

  .event-info__date strong{
    font-size: 2.2rem;
  }

  .event-info__date strong small{
    font-size: 1.7rem;
  }

  .event-info__place{
    font-size: 1.6rem;
  }

  .outline__ribbon{
    font-size: 1.2rem;
  }

  .schedule{
    padding: 4rem 0;
  }

  .schedule__greeting{
    width: 100%;
  }

  .seminar-grid{
      grid-template-columns: repeat(1, 1fr);
  }

  .seminar-card{
    min-height: unset;
  }

  .sponsor{
    padding: 4rem 0;
  }

  .flow{
    padding: 4rem 0;
  }

  .flow-steps{
    gap: 3.5rem;
  }

  .flow-steps span{
    padding: 1rem;
    font-size: 1.15rem;
  }

  .flow-steps li:not(:last-child)::after{
      right: -2.5rem;
  }

  .flow__note{
    font-size: 1rem;
  }

  .site-footer__higo-brand{
    gap: 1rem;
  }

  .site-footer__higo-mark{
    width: 4.25rem;
  }

  .site-footer__higo-title{
    width: 17.375rem;
  }

}


/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
  main{
    padding-top: 6.5rem;
    overflow: hidden;
  }

  .site-header{
    height: 6.5rem;
  }

  .site-header__inner{
    width: 90vw;
  }

  .site-header__brands{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    padding-bottom: 0;
    margin-bottom: auto;
  }

  .site-header__brands a:nth-child(1){
    width: 8.3125rem;
  }

  .site-header__brands a:nth-child(2){
    width: 9.625rem;
  }

    .hero {
        height: 20rem;
    }

    .hero::after{
        width: 96%;
        transform: skewX(-47deg);
    }

    .hero__inner{
      padding-top: 3rem;
    }

    .hero__copy{
      width: 22rem;
    }

    .hero__visual{
      width: 22rem;
    }

    .intro__inner{
      padding: 1rem 0 3rem;
      flex-direction: column;
    }

    .intro__text{
        font-size: 1rem;
    }

    .outline__inner{
      grid-template-columns: 1fr;
    }

    .event-info__row{
      grid-template-columns: 3.5rem 1fr;
      align-items: flex-start;
      gap: 0.8rem;
    }

    .event-info__label{
        width: 3.5rem;
        height: 3.5rem;
        font-size: 1.1rem;
    }

    .event-info__date{
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      font-size: 1.5rem;
    }

    .event-info__date strong{
      font-size: 1.9rem;
    }

    .event-info__date strong small{
      font-size: 1.5rem;
    }

    .event-info__date em{
      font-size: 1.2rem;
    }

    .event-info__place{
      font-size: 1.5rem;
    }

    .event-info__place span{
      display: block;
      margin: 0.3rem 0 0 0;
    }

    .event-info__note{
      font-size: 0.9rem;
    }

    .outline__ribbon{
      font-size: 1.1rem;
    }

    .outline__map{
      width: 100%;
    }

    .schedule__greeting{
      margin: 2rem auto 1.5rem
    }

    .schedule__greeting p{
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
    }

    .schedule__greeting p + p{
      margin-top: 1.5rem;
    }

    .seminar-card__body{
        padding: 1.55rem 1rem;
    }

    .schedule{
      padding: 3rem 0;
    }

    .schedule .button{
      margin: 2.5rem auto 0;
    }

    .button--large{
      width: 18.625rem;
      height: 3.5rem;
      font-size: 1.3rem;
    }

    .sponsor{
      padding: 3rem 0;
    }

    .sponsor-grid{
      width: auto;
      margin: 2rem auto 0;
      gap: 1rem;
    }

    .sponsor-grid img{
      width: 100%;
    }

    .flow{
      padding: 3rem 0;
    }

    .flow-steps{
      grid-template-columns: 1fr;
      gap: 3rem;
      margin-top: 2rem;
    }

    .flow-steps li{
      min-height: unset;
    }

    .flow-steps strong{
      height: 3rem;
      font-size: 1.5rem;
      font-weight: 600;
    }

    .flow-steps span{
      min-height: unset;
    }

    .flow-steps li:not(:last-child)::after{
        top: unset;
        right: unset;
        left: calc(50% - 0.5rem);
        bottom: -2.5rem;
        transform: rotate(90deg);
    }

    .flow-cta{
      margin-top: 2.5rem;
      flex-direction: column;
    }

    .flow-cta__left p{
      text-align: center;
      font-size: 1.2rem;
    }

    .flow-cta__badges{
          gap: 1rem;
    }

    .flow-cta__badges span{
      width: 12rem;
      height: 3rem;
      font-size: 1.175rem;
    }

    .site-footer{
      padding: 1.5rem 0;
    }

    .site-footer__licenses{
      font-size: 0.9rem;
    }

    .site-footer__inner{
      width: 90vw;
    }

    .site-footer__brands{
      flex-direction: column;
      gap: 1rem;
    }

    .site-footer__higo-brand{
        gap: 1rem;
    }

    .site-footer__higo-mark{
        width: 4.2rem;
    }

    .site-footer__higo-title{
      width: 17.1rem;
    }

    .site-footer__kfg{
      width: auto;
      height: 2.5rem;
    }

    .site-footer__licenses{
      grid-template-columns: 1fr;
      margin-top: 2rem;
      gap: 1rem;
    }

    .site-footer__licenses p + p{
      padding-left: 0;
      padding-top: 1rem;
      border-left: unset;
      border-top: 1px solid #cfcfcf;
    }

    .site-footer__bottom{
      margin-top: 2rem;
      padding-top: 2rem;
      flex-wrap: wrap;
    }

    .site-footer__bottom a{
      margin-top: 0.4rem;
      margin-left: auto;
    }

    .kfg_img_list{
      gap: 1.5rem;
    }


  
}
