@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

*{
  box-sizing: border-box;
}

html{
  font-size:14px;
  height:100%;
}


body{
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height:100%;
}

body.is-modal-open{
  position: fixed;
  width: 100%;
  overflow: hidden;
}

main{
  display: flex;
  flex-direction: column;
  height:100%;
  flex:1;
}

section{
  padding:3rem 0;
}

.container{
  width: 1000px;
  max-width:100%;
  margin: 0 auto;
}

@media screen and (max-width:992px){
  .container{
    padding-right:1.5rem;
    padding-left:1.5rem;
  }
}


section h2{
  font-size:2.28rem;
  text-align:center;
  font-family: "Inter", sans-serif;
  font-weight:600;
  letter-spacing: 0.05em;
  margin:1.5rem 0 3.5rem;
}

section.bg-darkgreen h2{
  color:#E7C89F;
}

section.bg-lightgreen h2{
  color:#006D5B;
}




.bg-darkgreen{
  background-color:#006D5B;
}

.bg-lightgreen{
  background-color:#D1E6DE;
}

.bg-cream{
  background-color:#E7C89F;
}



/* ---------------------------------
* Header
* --------------------------------- */


.site-header{
  padding: 1.5rem 0;
  position:fixed;
  width:100%;
  transition: all 0.3s ease;
  z-index:999;
}

.site-header.is-scrolled{
  padding:0.5rem 0;
  background-color:rgba(209, 230, 222, 1);
}

.site-header .container{
  width:100%;
  display: flex;
  justify-content:space-between;
  align-items: center;
  padding:0.75rem 1.75rem;
}


.site-header .container nav ul{
  display: flex;
}

.site-header .container nav ul li{
  margin:0 2.5rem 0 0;
}

.site-header .container nav ul li:last-child{
  margin:0 0rem 0 0;
}


.site-header .container nav ul li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:center;
  color:#000;
  text-decoration:none;
  line-height: 1;
  transition:all 0.3s ease;
}

.site-header .container nav ul li a:hover{
  color:#006D5B;
}

.site-header .container nav ul li a span.en{
  font-family: "Inter", sans-serif;
  font-size:1.4rem;
  font-weight:500;
  margin:0 0 0.5rem;
}

.site-header .container nav ul li a span.ja{
  font-size:0.85rem;
  font-weight:bold;
}

.site-header .container nav ul li a.header__button-resistration{
  display: flex;
  background-color:#006D5B;
  justify-content: center;
  align-items: center;
  height:100%;
  padding-right:2.25rem;
  padding-left:2.25rem;
  border-radius: 0.25rem;
  color:#fff;
  transition: all 0.3s ease;
  border:1px solid rgba(209, 230, 222, 0.3);
}

.site-header .container nav ul li a.header__button-resistration:hover{
  color:#000;
  background-color:#E7C89F;
}


.site-logo,
.site-logo img{
  width:156px;
}


@media screen and (max-width:992px){
  .site-header .container nav ul li{
    margin:0 1.25rem 0 0;
  }
  .site-header .container nav ul li:nth-child(3){
    margin:0 0 0 0;
  }
  .site-header .container{
    padding:0.15rem 1.25rem;
  }

  .site-logo,
  .site-logo img{
    width:108px;
  }
  .site-header .container nav ul li:last-child{
    display: none;
  }
  .site-header .container nav ul li a span.en{
    font-size:0.95rem;
    margin:0 0 0.25rem;
  }

  .site-header .container nav ul li a span.ja{
    font-size:0.75rem;
  }
}


/* ---------------------------------
* Hero
* --------------------------------- */

section#hero{
  padding:6.5rem 0 1.5rem 0;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content: center;
  min-height:100vh;
  background-image:url(../images/hero__bg.webp);
  background-attachment: fixed;
  background-size:20px 20px;

}

section#hero .container{
  width:1100px;
  height:100%;
  margin:auto;
}


section#hero img{
  display: block;
  max-width:100%;
}

.hero__container-banner{
  margin:3.25rem auto 2.0rem;
  width:645px;
  max-width:100%;
  padding:0 1.5rem;
}

@media screen and (max-width:992px){
  .hero__container-banner{
    margin:2.0rem auto 2.0rem;
  }
}

/* ---------------------------------
* About
* --------------------------------- */

section#about{
  color:#fff;
}

section#about .container{
  width:812px;
}

.about__copy{
  font-size:2.25rem;
  margin:0 0 2rem;
}

.about__description{
  font-size:1.4rem;
}

.about__description p{
  margin:0 0 2rem;
}

@media screen and (max-width:992px){
  .about__copy{
    font-size:1.7rem;
  }

  .about__description{
    font-size:1.14rem;
  }
}


/* ---------------------------------
* Information
* --------------------------------- */

section.information{
  color:#006D5B;
  text-align:center;
  padding:0;
}

section.information a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color:#006D5B;
  text-decoration: none;
  background-color:#E7C89F;
  padding:1.5rem 0;
  transition:all 0.3s ease;
}

section.information a:hover{
  background-color:#000;
  color:#E7C89F;
}

section.information a div:nth-child(1),
section.information a div:nth-child(2){
  font-size:1.15rem;
  font-weight:500;
}

section.information a div:nth-child(3){
  font-size:1.7rem;
  font-weight:bold;
}


@media screen and (max-width:992px){
  section.information a{
    flex-direction: row;
    flex-wrap:wrap;
  }
  section.information a div:nth-child(1),
  section.information a div:nth-child(2){
    font-size:1rem;
  }
  section.information a div:nth-child(3){
    width:100%;
    font-size:1.57rem;
  }

}

/* ---------------------------------
* Program
* --------------------------------- */

.program__item{
  background-color:#D1E6DE;
  border-radius: 0.25rem;
  padding:2.75rem;
  margin:0 0 1.5rem;
}

.program__item .session{
  display: block;
  background-color:#E7C89F;
  border:2px solid #006D5B;
  padding:0.5rem;
  width:20rem;
  line-height:1;
  color:#006D5B;
  font-size:1.7rem;
  margin:0 0 2.0rem;
  text-align:center;
}

.program__item .time{
  display: block;
  background-color:#006D5B;
  padding:0.25rem;
  width:14rem;
  line-height:1;
  color:#D1E6DE;
  font-size:1.7rem;
  margin:0 0 1.5rem;
  text-align:center;
}

.program__item .title__sub{
  font-size:1.7rem;
}

.program__item .title__main{
  font-size:2.28rem;
  font-weight:bold;
  line-height:1.3;
  margin:0 0 0.25rem 0;
}


.program__item .profile__container{
  display: flex;
  margin:3.5rem 0 0 0;
  gap:3rem
}


.program__item .profile__container .profile__image{
  width:225px;
}
.program__item .profile__container .profile__image img{
  max-width:100%;
  display: block;
  padding:0 1.5rem;
}

.program__item .profile__container .profile__text{
  width:calc(100% - 225px - 3rem);
}

.program__item .profile__container .profile__text .text01{
  font-size:1.15rem;
  line-height:1.5;
  margin:0 0 1.25rem 0;
}

.program__item .profile__container .profile__text .text02{
  font-size:2.55rem;
  line-height:1;
  margin:0 0 1.25rem 0;
}

.program__item .profile__container .profile__text .text02 span{
  font-size:1.4rem;
}

.program__item .profile__container .profile__text .text03{
  font-size:1.15rem;
  line-height:1;
  margin:0 0 2rem 0;
}

.program__item .profile__container .profile__text .text04{
  font-size:1rem;
  margin:0 0 0 0;
}



.program__container-banner img{
  display:block;
  width:100%;
}


@media screen and (max-width:992px){

  .program__item{
    padding:2rem;
  }

  .program__item .session{
    padding:0.5rem;
    width:14rem;
    font-size:1.4rem;
    margin:0 auto 1.5rem;
  }

  .program__item .time{
    padding:0.25rem;
    width:12rem;
    font-size:1.4rem;
    margin:0 auto 1.25rem;
  }
  .program__item .title__sub{
    font-size:1.14rem;
  }

  .program__item .title__main{
    font-size:1.7rem;
  }

}

@media screen and (max-width:767px){
  .program__item .profile__container{
    flex-direction: column;
    margin:2rem 0 0 0;
    gap:2rem;
  }

  .program__item .profile__container .profile__image{
    width:100%;
  }
  .program__item .profile__container .profile__image img{
    display: block;
    margin:0 auto;
    padding:0;
    width:65%;
    max-width:200px;
  }
  .program__item .profile__container .profile__text{
    width:100%;
  }
  .program__item .profile__container .profile__text .text01{
    font-size:1.15rem;
  }

  .program__item .profile__container .profile__text .text02{
    font-size:2.25rem;
  }

  .program__item .profile__container .profile__text .text02 span{
    font-size:1rem;
  }

  .program__item .profile__container .profile__text .text03{
    font-size:1.15rem;
  }

  .program__item .profile__container .profile__text .text04{
    font-size:0.85rem;
  }
}

/* ---------------------------------
* Time Table
* --------------------------------- */

/*　非公開コンテンツ */

section#time-table .time-table__item:nth-of-type(2) .content__container,
section#time-table .time-table__item:nth-of-type(2) .title__sub,
section#time-table .time-table__item:nth-of-type(3) .content__container,
section#time-table .time-table__item:nth-of-type(3) .title__sub,
section#time-table .time-table__item:nth-of-type(4) .content__container,
section#time-table .time-table__item:nth-of-type(4) .title__sub,
section#time-table .time-table__item:nth-of-type(6) .content__container,
section#time-table .time-table__item:nth-of-type(6) .title__sub,
section#time-table .time-table__item:nth-of-type(7) .content__container,
section#time-table .time-table__item:nth-of-type(7) .title__sub{
  display: none!important;
}

.time-table__item{
  margin:0 0 2.5rem;
  padding:0 0 2.5rem;
  border-bottom:1px solid #006D5B;
}


.time-table__item .time-table__container{
  display: flex;

}

.time-table__item .time-table__time{
  font-size:1.7rem;
  width:14rem;
}


.time-table__item .time-table__content{
  width:calc(100% - 10rem);
}


.time-table__item .time-table__content .session{
  font-size:1.7rem;
  color:#006D5B;
  margin:0 0 1rem;
}

.time-table__item .time-table__content .content{
  border:1px solid #006D5B;
  border-radius: 0.5rem;
  padding:1.25rem;
}

.time-table__item .time-table__content .content .title__main{
  font-size:1.7rem;
}


.time-table__item .time-table__content .content .title__sub{
  font-size:1.5rem;
  margin:0 0 1.5rem;
}

.time-table__item .time-table__content .content .content__container{
  display: flex;
  gap:1rem;
}

.time-table__item .time-table__content .content .content__container .content__image{
  width:91px;
}
.time-table__item .time-table__content .content .content__container .content__image img{
  max-width:100%;
}

.time-table__item .time-table__content .content .content__container .content__informaiton{
  width:calc(100% - 91px - 1rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:flex-start;
}


.time-table__item .time-table__content .content .content__container .content__informaiton .name{
  font-size:1.15rem;
}

.time-table__item .time-table__content .content .content__container .content__informaiton .company,
.time-table__item .time-table__content .content .content__container .content__informaiton .position{
  font-size:0.85rem;
}

.time-table__item .time-table__content .content .content__container .content__more{
  display: flex;
  align-items:flex-end;
  white-space: nowrap;
}

.time-table__item .time-table__content .content .content__container .content__more .js-modal-open{
  color:#006D5B;
  cursor: pointer;
  transition: all 0.3s ease;
  padding:0.25rem 1rem;
  border-radius: 0.25rem;
  position:relative;
}

.time-table__item .time-table__content .content .content__container .content__more .js-modal-open:after{
  content:'›';
  display: inline-block;
  margin-left:0.5rem;
}

.time-table__item .time-table__content .content .content__container .content__more .js-modal-open:hover{
  background-color:#006D5B;
  color:#D1E6DE;
}

@media screen and (max-width:992px){
  .time-table__item .time-table__container{
    flex-direction: column;
  }
  .time-table__item .time-table__time{
    width:100%;
  }

  .time-table__item .time-table__content{
    width:100%;
  }

  .time-table__item .time-table__time .time{
    display: inline-block;
    border-bottom:1px solid #006D5B;
    margin:0 0 1.75rem;
  }
  .time-table__item .time-table__content .session{
    font-size:1.7rem;
    color:#006D5B;
    margin:0 0 1rem;
  }
  .time-table__item .time-table__content .content{
    border:0px;
    border-radius: 0;
    padding:0rem;
  }

  .time-table__item .time-table__content .content .content__container{
    flex-wrap:wrap;
  }
  .time-table__item .time-table__content .content .content__container .content__more{
    width:100%;
    display: flex;
    justify-content: flex-end;
  }
  .time-table__item .time-table__content .content .content__container .content__more a{
    background-color:#006D5B;
    padding:0.75rem 1rem;
    line-height: 1;
    border-radius: 0.25rem;
    text-decoration: none;
    color:#D1E6DE;
    display: inline-block;

  }


  .time-table__item .time-table__content .content .content__container .content__more .js-modal-open{
    color:#006D5B;
    cursor: pointer;
    transition: all 0.3s ease;
    padding:0.45rem 1rem;
    border-radius: 0.25rem;
    background-color:#006D5B;
    color:#D1E6DE;
  }
  .time-table__item .time-table__content .content .content__container .content__more .js-modal-open:after{
    content:'';
    margin:0;
}

  .time-table__item .time-table__content .content .content__container .content__more .js-modal-open:hover{
    background-color:#D1E6DE;
    color:#006D5B;
  }

}


/* ---------------------------------
* Modal (time table)
* --------------------------------- */

.modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  pointer-events: none;
}
.modal.is-open,
.modal.is-closing{
  visibility: visible;
  pointer-events: auto;
}

/* overlay */
.modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0, 109, 91,.9);
  opacity: 0;
  transition: opacity .28s ease;
}

/* panel */
.modal__panel{
  position: relative;
  width: min(92vw, 980px);
  margin: 3vh auto 3vh;
  background: #f5f5f5;
  border-radius: 0;
  padding: 1.5rem 2.5rem 4.5rem 2.5rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  max-height:94dvh;
  opacity: 0;
  transform: translateY(18px) scale(.98);
  transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .28s ease;
  will-change: transform, opacity;
  overflow-y:hidden;
}

/* open */
.modal.is-open .modal__overlay{ opacity: 1; }
.modal.is-open .modal__panel{
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* closing */
.modal.is-closing .modal__overlay{ opacity: 0; }
.modal.is-closing .modal__panel{
  opacity: 0;
  transform: translateY(18px) scale(.98);
}

/* close btn */
.modal__close{
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translate(-50% ,0);
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 0;
  background: rgba(0,0,0,.06);
  cursor: pointer;
}

/* X icon */
.modal__closeIcon{
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
}
.modal__closeIcon::before,
.modal__closeIcon::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: #006D5B;
  transform-origin: center;
  transition: transform .22s ease;
}
.modal__closeIcon::before{ transform: translate(-50%,-50%) rotate(45deg); }
.modal__closeIcon::after { transform: translate(-50%,-50%) rotate(-45deg); }

/* hover：くるっと */
.modal__close:hover .modal__closeIcon::before{
  transform: translate(-50%,-50%) rotate(135deg) scaleX(1.15);
}
.modal__close:hover .modal__closeIcon::after{
  transform: translate(-50%,-50%) rotate(45deg) scaleX(1.15);
}

/* ★閉じる時の×アニメ（消える前にしゅっと回す） */
.modal.is-closing .modal__closeIcon{
  animation: closeIconPop .22s ease forwards;
}
@keyframes closeIconPop{
  0%   { transform: rotate(0) scale(1); opacity: 1; }
  100% { transform: rotate(90deg) scale(.7); opacity: 0; }
}


/* ---------------------------------
* modal window
* --------------------------------- */

.modal__panel{
  display: flex;
  flex-direction: column;
}

.modal__content{
  align-self: stretch;
  overflow: auto;

}

.modal__meta{
  display: flex;
  justify-content: space-between;
  margin:0 0 0.5rem;
}

.modal__meta .modal__time{
  background-color: #006D5B;
  padding: 0.25rem 1rem;
  display: inline-block;
  line-height: 1;
  font-size:2.25rem;
  color: #D1E6DE;
  transform: translate(-2.5rem, 0);
}

.modal__meta .modal__session{
  font-size:2.25rem;
}

.modal .title__main{
  font-size:2.85rem;
}

.modal .title__sub{
  font-size:2.25rem;
  margin:0 0 2.0rem;
}

.modal .description{
  font-size:1.25rem;
  margin:0 0 2.5rem;
}

.modal .recommendation{
  color:#006D5B;
  text-align:center;
  margin:0 0 2.5rem;
  font-size:1.25rem;
}

.modal .recommendation div{
  font-weight:bold;
  margin:0 0 0.5rem;
}

.modal .recommendation ul{
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
  list-style-type:disc;
  margin:0;
}

.modal .recommendation ul li{
  padding-left:0rem;
  margin-left:3rem;
}


.modal .modal__profile-container{
  overflow-y: auto;
  height:100%;
}

.modal .modal__profile{
  display: flex;
  gap:2rem;
  margin:0 0 2.5rem;
}

.modal .modal__profile .profile__image{
  width:205px;
}

.modal .modal__profile .profile__image img{
  max-width:100%;
}

.modal .modal__profile .profile__informaiton{
  width:calc(100% - 205px - 2rem);
  display: flex;
  flex-direction: column;
}

.modal .modal__profile .name{
  font-size:1.25rem;
}

.modal .modal__profile .company{
  font-size:0.85rem;
}

.modal .modal__profile .position{
  font-size:0.85rem;
  margin:0 0 0.5rem;
}

.modal .modal__profile .comment{
margin-top:auto;
font-size:1.15rem;
line-height:1.4;
}

@media screen and (max-width:992px){
  .modal__panel{
    padding: 1rem 1.25rem 6.5rem 1.25rem;
  }
  .modal__meta .modal__time{
    font-size:1.25rem;
    transform: translate(-1.5rem, 0);
  }

  .modal__meta .modal__session{
    font-size:1.25rem;
  }
  .modal .title__main{
    font-size:1.85rem;
  }

  .modal .title__sub{
    font-size:1.25rem;
    margin:0 0 2.0rem;
  }


  .modal .recommendation ul{
    justify-content: flex-start;
  }

  .modal .recommendation ul li{
    padding-left:0rem;
    margin-left:1.5rem;
    text-align: left;
  }

  .modal .modal__profile{
    flex-direction: column;
    gap:0.75rem;
  }
  .modal .modal__profile .profile__image{
    width:100px;
  }

  .modal .modal__profile .profile__informaiton{
    width:100%;
  }

  .modal .modal__profile .comment{
  margin:1rem 0 0 0;
  font-size:0.9rem;
  }
}


/* ---------------------------------
* Outline
* --------------------------------- */


section#outline{

}

.outline__item h3{
  text-align: center;
  font-weight:bold;
  font-size:1.7rem;
  margin:0 0 2rem;
}


.outline__item {
  background-color:#E7C89F;
  padding:2.75rem;
  border-radius: 0.5rem;
}


.outline__item dl{
display: flex;
flex-flow: row wrap;
width: 100%;
margin:0;
font-size:1.15rem;
}

.outline__item dl dt {
flex-basis: 16em;
padding: 1.75rem 1.25rem 1.75rem 0;
border-bottom: 1px solid #000;
margin:0;
}

.outline__item dl dd {
flex-basis: calc(100% - 16em);
padding: 1.75rem 1.25rem;
border-bottom: 1px solid #000;
margin:0;
}

.outline__item dl dt:last-of-type,
.outline__item dl dd:last-of-type{
border-bottom: 0px;
}

@media screen and (max-width: 992px) {
  .outline__item {
    padding:1.75rem;
  }
  .outline__item dl {
    flex-flow: column;
    display:block;
  }
  .outline__item dl dt{
    border:0px;
    padding:1.75rem 0 0.5rem 0;
    font-size:1.4rem;
  }
  .outline__item dl dd,
  .outline__item dl dd:last-of-type{
    border-color:#fff;
    border-bottom:1px solid #fff;
    font-size:1rem;
    padding:0.5rem 0 1.75rem 0;
    font-size:1.14rem;
	}
}



/* ---------------------------------
* Sponsors
* --------------------------------- */

section#sponsors .sponsors__item#gold{
  border-bottom:1px solid #c9c9c9;
}

section#sponsors .sponsors__item h3{
  font-size:2.2rem;
  margin:0 0 1rem;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}

section#sponsors .sponsors__item#gold h3{
  color:#B9A16E;
}

section#sponsors .sponsors__item#silver h3{
  color:#9F9D9D;
}

section#sponsors .sponsors__item{
  background-color:#fff;
  padding:3.5rem 3.5rem;

}

section#sponsors .sponsors__container{
  display: flex;
  flex-wrap:wrap;
  padding:0rem 7.5rem;
}

section#sponsors .sponsors__item .sponsors__container-item{
  line-height: 0;
}

section#sponsors .sponsors__item .sponsors__container-item img{
  max-width:100%;
}

section#sponsors .sponsors__item#gold .sponsors__container-item{
  width:50%;
}

section#sponsors .sponsors__item#silver .sponsors__container-item{
  width:33.3333333%;
}


@media screen and (max-width:992px){
  section#sponsors .sponsors__item h3{
    text-align:center;
  }
  section#sponsors .sponsors__item{
    padding:2.5rem 0 3.5rem;
    background-color:transparent;
  }
    section#sponsors .sponsors__item#gold{
      padding-top:0;
  }
  section#sponsors .sponsors__container{
    display: flex;
    flex-direction: column;
    padding:0;
    gap:1.5rem;
  }
  section#sponsors .sponsors__item .sponsors__container .sponsors__container-item{
    background-color:#fff;
    display: flex;
    align-items:center;
    justify-content: center;
    aspect-ratio:1 / 1;
    margin:0 auto;
  }
    section#sponsors .sponsors__item#gold .sponsors__container .sponsors__container-item{
      width:66.666%;

    }

    section#sponsors .sponsors__item#silver .sponsors__container .sponsors__container-item{
      width:50%;
    }
}


/* ---------------------------------
* Footer
* --------------------------------- */

.site-footer{
  background-color:#000;
  color:#fff;
  padding:2.5rem 0;
  margin-top:auto;
}
.site-footer .site-logo,
.site-footer .site-logo img{
  width:128px
}

.site-footer .container{
  width:750px;
  display: flex;
  justify-content: space-between;
}

.site-footer nav ul{
  display:flex;
  flex-wrap:wrap;
}

.site-footer nav ul li{
  margin:0 2.5rem 0 0;
}

.site-footer nav ul li:last-child{
  margin:0;
}

.site-footer a{
  color:#fff;
  text-decoration:none;
}


@media screen and (max-width:992px){
  .site-footer{
    padding:1.75rem 0;
  }
  .site-footer .container{
    flex-direction: column;
    align-items:center;
  }
  .site-footer .site-logo{
    margin:0 0 0.75rem;
  }
  .site-footer nav ul{
    justify-content: center;
  }
  .site-footer nav ul li{
    margin:0.25rem 0.75rem!important;
  }

  .site-footer nav ul li:nth-child(1){
    width:100%;
    text-align: center;
  }
  .site-footer nav ul li a{
    font-size:0.85rem;
  }

}


/* ---------------------------------
* Registration
* --------------------------------- */

section#registration h3{
  font-size:2.85rem;
  text-align:center;
  color:#fff;
}

section#registration .lead{
  font-size:1.55rem;
  text-align:center;
  color:#fff;
  margin:0 0 3.5rem;
}

.registration__container{
  background-color:#fff;
  margin:0 auto;
  width:645px;
  max-width:100%;
  padding:2.5rem;
}

.registration__container-banner{
  margin:0 auto 2rem;
  width:645px;
  max-width:100%;
}

.registration__container-banner img{
  display:block;
  width:100%;
}

section#registration form{
  width:100%!important;
}

section#registration form .mktoFieldDescriptor,
section#registration form .mktoFieldWrap{
  width:100%!important;
}

section#registration form input:not([type="checkbox"]),
section#registration form select{
  width:100%!important;
  padding:0.75rem!important;
  min-height:3rem!important;
}

section#registration form .mktoFormRow:nth-of-type(6) .mktoFieldDescriptor{
  width:calc(50% - 0.5rem)!important;
}

section#registration form .mktoFormRow:nth-of-type(6){
  float: none;
  display: flex;
  justify-content: space-between;

}

section#registration form .mktoFormRow:nth-of-type(6) .mktoClear{
  display: none;
}


section#registration form .mktoFieldWrap label{
  margin-bottom:0.45rem;
  width:auto!important;
}

section#registration form .mktoAsterix{
  position: relative;
  font-size:0;
  width:3rem;
}


section#registration form .mktoAsterix:before{
  content:'必須';
  display: block;
  background-color:#FB8C00;
  padding:0.5rem 0.5rem 0.25rem 0.5rem;
  color:#fff;
  font-size:0.85rem;
  position:absolute;
  line-height: 1;
  top:-0.25rem;
}

section#registration form .mktoFormRow:nth-of-type(9) .mktoFieldWrap {
  display: flex;
  flex-wrap:wrap;
}

section#registration form .mktoButtonRow {
  width:100%;
  margin:0 0 1rem 0;

}
section#registration form .mktoButtonRow .mktoButtonWrap{
  text-align:center;
}

section#registration form .mktoButtonRow .mktoButtonWrap{
  margin:0 auto!important;
  display:block;
}


section#registration .mktoForm .mktoButtonWrap.mktoSimple .mktoButton{
  background: linear-gradient(90deg,
    #FFB74D 0%,
    #FB8C00 50%,
    #E65100 100%);
    border:0px;
    padding:1.0rem 1rem;
    border-radius: 0.25rem;
    width:14rem;
    font-size:1.15rem;
    line-height: 1;
}

section#registration .mktoForm.mktoLayoutAbove .mktoCheckboxList{
  width:100%!important;
  margin:0 0 0 2.75rem;
}

section#registration #LblPrivacyPolicyAgreement__c a{
  padding:0 0.25rem;
}

section#registration .mktoLogicalField.mktoCheckboxList.mktoHasWidth.mktoRequired{
  display: block;
}

@media screen and (max-width:992px){
  .registration__container{
    padding:0.5rem;
  }
}




/* ---------------------------------
* Thanks
* --------------------------------- */


section#thanks{
  height:100%;
  flex:1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:4.5rem 0;
}

.thanks__copy{
  font-size:1.5rem;
  margin:0 0 2rem;
}


.thanks__description{
  font-size: 1.25rem;
  background-color:rgba(255,255,255,0.35);
  padding:1.5rem;
  border-radius: 0.5rem;
}

.thanks__description .thanks__description-title{
  font-weight:bold;
  font-size:1.5rem;
  margin:0 0 1rem;
}

.thanks__description ol{
  list-style-type:decimal;
  padding:0 0 0 1.3rem;
}

.thanks__description ol li:not(:last-child){
  margin:0 0 1.3rem;

}

.thanks__description a{
  color:#006D5B;
  text-decoration:underline;
}
