@charset "UTF-8";

.container {
  position:relative;
  margin-top:65px;
  font-family:"TBNPMincho L", serif;
}
.main {
  margin:0 auto;
  padding-left:clamp(5px, 1.81%, 10px);
  padding-right:clamp(5px, 1.81%, 10px);
  max-width:530px;
}
.wrap {
  margin:0 auto;
  padding-left:clamp(10px, 3.63%, 20px);
  padding-right:clamp(10px, 3.63%, 20px);
  max-width:490px;
}
.add-border {
  margin-bottom:clamp(10px, 3.63%, 20px);
  padding-top:clamp(28px, 10%, 55px);
  padding-bottom:clamp(28px, 10%, 55px);
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
}
.kv {
  margin-bottom:clamp(55px, 20%, 110px);
  padding-top:clamp(15px, 5.45%, 30px);
  padding-bottom:clamp(15px, 5.45%, 30px);
}
.kv-inner {
  position:relative;
}
.kv-title {
  position:absolute;
  top:clamp(15px, 5.45%, 30px);
  right:0;
  width:clamp(23px, 9.18%, 45px);
}
.kv-subtitle {
  width:clamp(150px, 61.22%, 300px);
}
.kv-image {
  margin:0 auto;
  padding-top:clamp(15px, 5.45%, 30px);
  padding-bottom:clamp(55px, 20%, 110px);
  width:clamp(193px, 70%, 385px);
}
.kv-title img,
.kv-subtitle img,
.kv-image img {
  display:block;
  width:100%;
}
.kv-venue {
  margin-left:clamp(100px, 40.82%, 200px);
  margin-bottom:clamp(8px, 2.72%, 15px);
  width:clamp(145px, 59.18%, 290px);
}
.kv-time {
  margin-left:clamp(90px, 36.74%, 180px);
  width:clamp(155px, 63.26%, 310px);
}
.kv-venue img,
.kv-time img {
  display:inline-block;
  width:100%;
}
.intro {
  margin-bottom:clamp(55px, 20%, 110px);
}
.intro p {
  margin-bottom:1em;
  /*font-size: 82%;*/
  font-size: 18px;
  line-height:2;
}
.intro p:last-child {
  margin-bottom:0;
}
.list-block {
  margin-bottom:clamp(55px, 20%, 110px);
}
.name-list {
  margin:0;
  padding:0;
}
.name-list li {
  list-style:none;
  margin:0;
  margin-bottom:clamp(55px, 20%, 110px);
  padding:0;
}
.name-list li:last-child {
  margin-bottom:0;
}
.name-list li img {
  display:block;
  width:100%;
}
.block-title {
  margin-bottom:1.5em;
  /*font-size:120%;*/
  font-size: 24px;
  font-weight:bold;
  line-height:2;
  text-align:center;
}
.block-info {
  /*font-size: 82%;*/
  font-size: 18px;
  line-height:2;
}
.block-info dt {
  margin:0;
  padding:0;
}
.block-info dd {
  margin:0 0 1em 0;
  padding:0;
}
.block-info dd:last-child {
  margin:0;
}
.map-link {
  margin-top:clamp(28px, 10%, 55px);
  text-align:center;
}
.map-link a {
  display:inline-block;
  width:clamp(98px, 39.79%, 195px);
}
.map-link a img {
  display:block;
  width:100%;
}
.prof-image {
  display:block;
  margin-bottom:clamp(10px, 3.63%, 20px);
  width:100%;
}
.prof-text {
  /*font-size: 82%;*/
  font-size: 18px;
  line-height:2;
}
.archive {
  margin-top:clamp(28px, 10%, 55px);
  padding-bottom:clamp(28px, 10%, 55px);
}
.archive-title {
  margin-bottom:1em;
  font-size:100%;
  line-height:2;
  text-align:center;
}
.archive-link {
  display:block;
  padding-top:clamp(15px, 5.45%, 30px);
  padding-bottom:clamp(15px, 5.45%, 30px);
  border:1px solid #ddd;
  background-color: #fff;
}
.archive-link img {
  display:block;
  margin:0 auto;
  width:clamp(223px, 90.81%, 445px);
}

@media screen and (min-width: 550px) {
  .main {
    background-color:rgba(255, 255, 255, 0.95);
  }
  .bg-fix {
    display:block;
    z-index:-1;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
  }
  .bg-image {
    width:100%;
    height:100%;
    background-image:url('../img/bg.png');
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    pointer-events:none;
  }
}

@media screen and (min-width: 1024px) {
  .container {
    margin-top:0;
  }
}

/* Animation - Key Visual */
.kv-show-01, .bg-fix {
  opacity:0;
  transform:translate(-50px, 50px);
  transition:opacity 1s ease, transform 1s ease;
  will-change:transform, opacity;
  backface-visibility:hidden;
}
.kv-show-02, .main {
  opacity:0;
  transition:opacity 1s ease;
}
.kv-show-01.show, .bg-fix.show {
  opacity:1;
  transform:translate(0, 0);
  backface-visibility:visible;
}
.kv-show-02.show, .main.show {
  opacity:1;
}

@media screen and (max-width: 549px) {
  .bg-fix {
    display:none !important;
  }
  .main {
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media screen and (min-width: 550px) {
  .kv-show-01, .kv-show-02 {
    opacity:1;
    transform: translate(0, 0);
  }
  .bg-fix {
    display:block;
    transform:translate(-100px, 100px);
  }
}

/* Animation - Main Contents */
.fade-slide-up {
  opacity:0;
  transform:translateY(100px);
  transition: opacity 1s ease, transform 1s ease;
}
.fade-slide-up.show {
  opacity:1;
  transform:translateY(0);
}
