@charset "UTF-8";
.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* ============================================================================================
  TOP

  @date 2017-07-12
  @include _top

  memo: */
#history-page {
  width: calc(100% - 127px);
  margin-left: 127px;
  padding-bottom: 75px;
  position: relative;
}

.frame {
  transition: all 0.7s cubic-bezier(0.17, 0.67, 0.55, 0.97);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.frame .frame--l,
.frame .frame--r {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  pointer-events: none;
  transform: translateY(80px);
}

.frame .frame--l {
  width: 193px;
  left: -127px;
  background: url("../img/common/frame_l_repeat.png") center top repeat-y;
}

.frame .frame--r {
  width: 316px;
  right: 0;
  background: url("../img/common/frame_r_repeat.png") center top repeat-y;
}

.sitetitle {
  position: relative;
  width: 100%;
  height: 125px;
  background-color: #ffffff;
  display: table;
}

.sitetitle__inner {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  zoom: 1;
}

.sitetitle__inner:after {
  content: "";
  clear: both;
  display: block;
}

.sitetitle__inner p {
  border: none;
  display: table;
  width: 490px;
  height: 106px;
  float: right;
  margin-right: 42px;
}

.sitetitle__text {
  font-size: 47px;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.0em;
  display: table-cell;
  vertical-align: middle;
}

.sitetitle__text span {
  letter-spacing: -.15em;
}

.sitetitle__icon {
  display: table-cell;
  vertical-align: middle;
  width: 101px;
}

.pagetitle {
  position: relative;
  width: 100%;
  z-index: 1;
}

.pagetitle__inner {
  width: 855px;
  margin: 0 auto;
  position: relative;
  zoom: 1;
  border: none;
}

.pagetitle__inner:after {
  content: "";
  clear: both;
  display: block;
}

.pagetitle__headline {
  font-size: 140px;
  line-height: 1.0em;
  font-family: futura-pt, sans-serif;
  font-weight: 300;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left: -35px;
  top: -43px;
}

.genealogy {
  position: relative;
  width: 100%;
  z-index: 0;
  background-color: #d70c18;
}

.genealogy__inner {
  width: 855px;
  margin: 0 auto;
  position: relative;
  border: none;
  padding-top: 142px;
  z-index: 1;
  transition: all 0.7s cubic-bezier(0.17, 0.67, 0.55, 0.97);
}

.genealogy__block {
  position: relative;
  border: none;
  transition: all 0.7s cubic-bezier(0.17, 0.67, 0.55, 0.97);
}

.genealogy__block:after {
  content: '';
  display: block;
  width: 283px;
  height: 5px;
  background-color: #0191D4;
  position: absolute;
  left: 50%;
  bottom: -140px;
  transform: translate(-50%, 0) rotate(-45deg);
}

.genealogy__block:last-child:after {
  display: none;
}

.genealogy__block__year {
  color: #0191D4;
  font-size: 140px;
  line-height: 1.0em;
  font-family: futura-pt, sans-serif;
  font-weight: 300;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left: -35px;
  top: -23px;
  z-index: 0;
}

.genealogy__box {
  width: 380px;
  position: absolute;
  z-index: 1;
}

.genealogy__box__inner {
  width: 100%;
  position: relative;
}

.genealogy__box__date {
  position: absolute;
  left: -67px;
  top: 25px;
  z-index: 1;
  background: url("../img/history/bg_date.png") center top no-repeat;
  background-size: 100% 100%;
  width: 98px;
  height: 50px;
  line-height: 1.0em;
  display: table;
}

.genealogy__box__date span {
  font-size: 21px;
  color: #ffffff;
  line-height: 1.0em;
  display: table-cell;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  text-align: center;
  padding-right: 20px;
}

.genealogy__box__date.pos--center {
  top: 50%;
  transform: translateY(-50%);
}

.genealogy__box__img {
  width: 100%;
  background-color: #E6E6E6;
  text-align: center;
  padding: 23px 0;
  margin-bottom: 10px;
  position: relative;
  z-index: 0;
}

.genealogy__box__desc {
  background-color: #F8C9B0;
  padding: 10px 46px;
}

.genealogy__box__desc__head {
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.875em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: .01em;
}

.genealogy__box__desc__text {
  font-size: 13px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 2.3em;
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: .03em;
}

.genealogy__box__point {
  background-color: #e6e600;
  padding: 40px 46px;
}

.genealogy__box__point p {
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.875em;
}

.genealogy__box__desc__link {
  font-size: 12px;
}

.genealogy__box__desc__link a {
  color: #ff0000;
}

.genealogy__box.type--live .genealogy__box__date {
  position: relative;
  left: auto;
  top: auto;
  z-index: 1;
  background-image: none;
  background-color: #0191d4;
  width: 100%;
  height: auto;
  display: block;
  padding: 15px 0;
}

.genealogy__box.type--live .genealogy__box__date span {
  display: block;
  padding-right: 0;
}

.genealogy__box.type--live .genealogy__box__img {
  padding: 0;
  margin-bottom: 0;
}

.genealogy__box.type--live .genealogy__box__desc {
  background-color: #e6e6e6;
  padding: 20px 46px;
}

.genealogy__box.type--live .genealogy__box__desc__head {
  font-size: 19px;
  font-family: futura-pt, source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 900;
}

.genealogy__box.type--text .genealogy__box__desc {
  padding: 20px 46px;
}

.year--2010 {
  height: 1434px;
  margin-bottom: 268px;
}

.year--2010__1 {
  left: 0;
  top: 84px;
}

.year--2010__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 101px;
  z-index: 0;
}

.year--2010__2 {
  right: 0;
  top: 134px;
}

.year--2010__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2010__3 {
  right: 0;
  top: 285px;
}

.year--2010__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 299px;
  z-index: 0;
}

.year--2010__4 {
  left: 0;
  top: 534px;
}

.year--2010__4 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 300px;
  z-index: 0;
}

.year--2010__5 {
  right: 0;
  top: 784px;
}

.year--2010__5 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 301px;
  z-index: 0;
}

.year--2010__6 {
  left: 0;
  top: 1035px;
}

.year--2011 {
  height: 1805px;
  margin-bottom: 268px;
}

.year--2011__1 {
  left: 0;
  top: 84px;
}

.year--2011__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 98px;
  z-index: 0;
}

.year--2011__2 {
  right: 0;
  top: 132px;
}

.year--2011__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 500px;
  z-index: 0;
}

.year--2011__3 {
  left: 0;
  top: 607px;
}

.year--2011__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 172px;
  z-index: 0;
}

.year--2011__4 {
  right: 0;
  top: 732px;
}

.year--2011__4 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 165px;
  z-index: 0;
}

.year--2011__5 {
  left: 0;
  top: 830px;
}

.year--2011__5 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2011__6 {
  left: 0;
  top: 1032px;
}

.year--2011__6 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 276px;
  z-index: 0;
}

.year--2011__7 {
  right: 0;
  top: 1258px;
}

.year--2011__7 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 400px;
  z-index: 0;
}

.year--2011__8 {
  left: 0;
  top: 1633px;
}

.year--2012 {
  height: 1050px;
  margin-bottom: 268px;
}

.year--2012__1 {
  left: 0;
  top: 84px;
}

.year--2012__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 96px;
  z-index: 0;
}

.year--2012__2 {
  right: 0;
  top: 133px;
}

.year--2012__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 200px;
  z-index: 0;
}

.year--2012__3 {
  left: 0;
  top: 284px;
}

.year--2012__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2012__4 {
  left: 0;
  top: 433px;
}

.year--2012__4 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 247px;
  z-index: 0;
}

.year--2012__5 {
  right: 0;
  top: 634px;
}

.year--2013 {
  height: 1030px;
  margin-bottom: 268px;
}

.year--2013__1 {
  left: 0;
  top: 84px;
}

.year--2013__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 97px;
  z-index: 0;
}

.year--2013__2 {
  right: 0;
  top: 134px;
}

.year--2013__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2013__3 {
  right: 0;
  top: 610px;
}

.year--2013__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 149px;
  z-index: 0;
}

.year--2013__4 {
  left: 0;
  top: 709px;
}

.year--2014 {
  height: 1440px;
  margin-bottom: 268px;
}

.year--2014__1 {
  left: 0;
  top: 84px;
}

.year--2014__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 83px;
  z-index: 0;
}

.year--2014__2 {
  right: 0;
  top: 134px;
}

.year--2014__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2014__3 {
  right: 0;
  top: 320px;
}

.year--2014__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 350px;
  z-index: 0;
}

.year--2014__4 {
  left: 0;
  top: 620px;
}

.year--2014__4 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 2px;
  height: 120px;
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  bottom: -120px;
  z-index: 0;
  transform: translateX(-50%);
}

.year--2014__5 {
  left: 0;
  top: 840px;
}

.year--2014__5 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 47px;
  z-index: 0;
}

.year--2014__6 {
  right: 0;
  top: 840px;
}

.year--2014__6 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 240px;
  z-index: 0;
}

.year--2014__7 {
  left: 0;
  top: 1030px;
}

.year--2015 {
  height: 1030px;
  margin-bottom: 268px;
}

.year--2015__1 {
  left: 0;
  top: 84px;
}

.year--2015__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 300px;
  z-index: 0;
}

.year--2015__2 {
  right: 0;
  top: 340px;
}

.year--2015__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 270px;
  z-index: 0;
}

.year--2015__3 {
  left: 0;
  top: 560px;
}

.year--2016 {
  height: 700px;
  margin-bottom: 268px;
}

.year--2016__1 {
  left: 0;
  top: 84px;
}

.year--2016__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 95px;
  z-index: 0;
}

.year--2016__2 {
  right: 0;
  top: 133px;
}

.year--2017 {
  height: 590px;
  margin-bottom: 268px;
}

.year--2017__1 {
  left: 0;
  top: 84px;
}

.year--2017__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 100px;
  z-index: 0;
}

.year--2017__2 {
  right: 0;
  top: 134px;
}

.year--2018 {
  height: 1000px;
  margin-bottom: 268px;
}

.year--2018__1 {
  left: 0;
  top: 84px;
}

.year--2018__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 295px;
  z-index: 0;
}

.year--2018__2 {
  right: 0;
  top: 330px;
}

.year--2018__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 290px;
  z-index: 0;
}

.year--2018__3 {
  left: 0;
  top: 570px;
}

.year--2019 {
  height: 1190px;
  margin-bottom: 268px;
}

.year--2019__1 {
  left: 0;
  top: 84px;
}

.year--2019__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 151px;
  z-index: 0;
}

.year--2019__2 {
  right: 0;
  top: 186px;
}

.year--2019__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 400px;
  z-index: 0;
}

.year--2019__3 {
  left: 0;
  top: 560px;
}

.year--2019__3 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 168px;
  z-index: 0;
}

.year--2019__4 {
  right: 0;
  top: 680px;
}

.year--2020 {
  height: 300px;
}

.year--2020__1 {
  left: 0;
  top: 84px;
}

.year--2020__1 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  right: -95px;
  top: 242px;
  z-index: 0;
}

.year--2020__2 {
  right: 0;
  top: 280px;
}

.year--2020__2 .genealogy__box__inner:after {
  content: '';
  display: block;
  width: 95px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  left: -95px;
  top: 295px;
  z-index: 0;
}

.year--2020__3 {
  left: 0;
  top: 550px;
}

.modal--schedule__ph {
  width: 100%;
  pointer-events: none;
}

.modal--schedule {
  margin: 0 140px;
  padding: 50px 0;
}

.modal--schedule__title {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 22px;
  line-height: 1.875em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: .01em;
  margin-bottom: 40px;
}

.modal--schedule__list {
  width: 100%;
}

.modal--schedule__list dl {
  display: block;
  width: 100%;
  zoom: 1;
  margin-bottom: 10px;
}

.modal--schedule__list dl:after {
  content: "";
  clear: both;
  display: block;
}

.modal--schedule__list dl:last-child {
  margin-bottom: 0;
}

.modal--schedule__list dt {
  width: 20%;
  float: left;
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  line-height: 1.6em;
}

.modal--schedule__list dd {
  width: 80%;
  float: right;
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  line-height: 1.6em;
}

.modal--nmnl__ph {
  width: 100%;
  pointer-events: none;
  text-align: center;
  padding-top: 50px;
}

.modal--nmnl {
  margin: 0 50px;
  padding: 50px 0;
}

.modal--nmnl__title {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 22px;
  line-height: 1.875em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: .01em;
  margin-bottom: 40px;
}

.modal--nmnl__text {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  line-height: 1.6em;
  margin-bottom: 50px;
}

.modal--nmnl__button a {
  font-size: 15px;
  color: #ff0000;
}

.modal--sanmonopera {
  margin: 0 100px;
  padding: 80px 0;
}

.modal--sanmonopera__lead {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
}

.modal--sanmonopera__title {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 28px;
  line-height: 1.875em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: .01em;
  margin-bottom: 40px;
}

.modal--sanmonopera__text {
  font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 14px;
  line-height: 2.0em;
}

@media screen and (max-width: 1024px) {
  /* ============================================================================================
  SP TOP

  @date 2017-07-12
  @include sp/_top

  memo:
  padding: 70px
  padding: 18.66667vw
  @include spimg(width, 346)
  @mixin =========================================================================================== */
  #history-page {
    width: calc(100% - 63.5px);
    width: calc(100% - 16.93333vw);
    margin-left: 63.5px;
    margin-left: 16.93333vw;
    padding-bottom: 80px;
    padding-bottom: 21.33333vw;
  }
  .frame {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 125%;
    pointer-events: none;
  }
  .frame .frame--l,
  .frame .frame--r {
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
    pointer-events: none;
    transform: translateY(80px);
    transition: all 0.7s cubic-bezier(0.17, 0.67, 0.55, 0.97);
  }
  .frame .frame--l {
    left: -63.5px;
    left: -16.93333vw;
    width: 79px;
    width: 21.06667vw;
    background: url("../img/common/frame_l_repeat_sp.png") center top repeat-y;
    background-size: 100% auto;
  }
  .frame .frame--r {
    width: 175.5px;
    width: 46.8vw;
    right: 0;
    background: url("../img/common/frame_r_repeat_sp.png") center top repeat-y;
    background-size: 100% auto;
  }
  .sitetitle {
    display: table;
    width: 100%;
    height: 60px;
    height: 16vw;
    z-index: 0;
  }
  .sitetitle__inner {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    zoom: 1;
  }
  .sitetitle__inner:after {
    content: "";
    clear: both;
    display: block;
  }
  .sitetitle__inner p {
    border: none;
    display: table;
    width: auto;
    height: auto;
    float: right;
    margin-right: 0;
  }
  .sitetitle__text {
    font-size: 23.5px;
    font-size: 6.26667vw;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    line-height: 1.0em;
    display: block;
    vertical-align: middle;
    margin-right: 20px;
    margin-right: 5.33333vw;
  }
  .sitetitle__text span {
    letter-spacing: -.15em;
  }
  .sitetitle__icon {
    display: none;
  }
  .pagetitle {
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .pagetitle__inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    zoom: 1;
    border: none;
  }
  .pagetitle__inner:after {
    content: "";
    clear: both;
    display: block;
  }
  .pagetitle__headline {
    font-size: 55px;
    font-size: 14.66667vw;
    line-height: 1.0em;
    font-family: futura-pt, sans-serif;
    font-weight: 300;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    left: 25px;
    left: 6.66667vw;
    top: -15px;
    top: -4vw;
  }
  .genealogy {
    position: relative;
    width: 100%;
    z-index: 0;
    background-color: #d70c18;
  }
  .genealogy__inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    border: none;
    padding-top: 55px;
    padding-top: 14.66667vw;
    padding-bottom: 80px;
    padding-bottom: 21.33333vw;
    z-index: 1;
  }
  .genealogy__block {
    position: relative;
    border: none;
    transition: all 0.7s cubic-bezier(0.17, 0.67, 0.55, 0.97);
    padding-top: 32px;
    padding-top: 8.53333vw;
  }
  .genealogy__block:after {
    content: '';
    display: block;
    width: 145px;
    width: 38.66667vw;
    height: 3px;
    height: 0.8vw;
    background-color: #0191D4;
    position: absolute;
    left: 50%;
    bottom: -85px;
    bottom: -22.66667vw;
    transform: translate(-50%, 0) rotate(-45deg);
  }
  .genealogy__block:last-child:after {
    display: none;
  }
  .genealogy__block__year {
    color: #0191D4;
    font-size: 55px;
    font-size: 14.66667vw;
    line-height: 1.0em;
    font-family: futura-pt, sans-serif;
    font-weight: 300;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    left: 25px;
    left: 6.66667vw;
    top: -10px;
    top: -2.66667vw;
    z-index: 0;
  }
  .genealogy__box {
    width: 94%;
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
    margin-bottom: 8vw;
    transform: translateX(-0.5px);
    transform: translateX(-0.13333vw);
  }
  .genealogy__box:last-child {
    margin-bottom: 0;
  }
  .genealogy__box__inner {
    width: 100%;
    position: relative;
    zoom: 1;
    display: table;
  }
  .genealogy__box__inner:after {
    content: "";
    clear: both;
    display: block;
  }
  .genealogy__box__date {
    position: absolute;
    left: -30px;
    left: -8vw;
    top: 15px;
    top: 4vw;
    z-index: 1;
    background: url("../img/history/bg_date.png") center top no-repeat;
    background-size: 100% 100%;
    width: 52.5px;
    width: 14vw;
    height: 30px;
    height: 8vw;
    line-height: 1.0em;
    display: table;
  }
  .genealogy__box__date span {
    font-size: 11px;
    font-size: 2.93333vw;
    color: #ffffff;
    line-height: 1.0em;
    display: table-cell;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    text-align: center;
    padding-right: 10px;
    padding-right: 2.66667vw;
  }
  .genealogy__box__date.pos--center {
    top: 50%;
    transform: translateY(-50%);
  }
  .genealogy__box__img {
    width: 100%;
    background-color: #E6E6E6;
    text-align: center;
    padding: 0;
    padding-top: 5px;
    padding-top: 1.33333vw;
    padding-bottom: 5px;
    padding-bottom: 1.33333vw;
    margin-bottom: 0;
    position: relative;
    z-index: 0;
    display: table-cell;
    width: 40%;
    vertical-align: middle;
  }
  .genealogy__box__img img {
    width: 95px;
    width: 25.33333vw;
    height: auto;
  }
  .genealogy__box__desc {
    background-color: #F8C9B0;
    padding: 0;
    display: table-cell;
    width: 60%;
    vertical-align: middle;
    padding-top: 10px;
    padding-top: 2.66667vw;
    padding-bottom: 10px;
    padding-bottom: 2.66667vw;
  }
  .genealogy__box__desc__head {
    font-size: 11px;
    font-size: 2.93333vw;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    line-height: 1.89em;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
    margin-left: 15px;
    margin-left: 4vw;
    margin-right: 15px;
    margin-right: 4vw;
    letter-spacing: .01em;
  }
  .genealogy__box__desc__text {
    font-size: 10px;
    font-size: 2.66667vw;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    line-height: 1.89em;
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    margin-left: 15px;
    margin-left: 4vw;
    margin-right: 15px;
    margin-right: 4vw;
  }
  .genealogy__box__point {
    background-color: #e6e600;
    padding: 0;
    padding-top: 20px;
    padding-top: 5.33333vw;
    padding-bottom: 20px;
    padding-bottom: 5.33333vw;
  }
  .genealogy__box__point p {
    margin-left: 35px;
    margin-left: 9.33333vw;
    margin-right: 35px;
    margin-right: 9.33333vw;
    font-size: 10px;
    font-size: 2.66667vw;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    line-height: 1.89em;
  }
  .genealogy__box__desc__link {
    font-size: 10px;
    font-size: 2.66667vw;
    margin-left: 15px;
    margin-left: 4vw;
    margin-right: 15px;
    margin-right: 4vw;
    padding-top: 2.5px;
    padding-top: 0.66667vw;
    line-height: 1.0em;
  }
  .genealogy__box__desc__link a {
    color: #ff0000;
  }
  .genealogy__box.type--live .genealogy__box__inner {
    padding-top: 25px;
    padding-top: 6.66667vw;
  }
  .genealogy__box.type--live .genealogy__box__date {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background-image: none;
    background-color: #0191d4;
    width: 100%;
    height: 25px;
    height: 6.66667vw;
    display: table;
    padding: 0;
  }
  .genealogy__box.type--live .genealogy__box__date span {
    display: table-cell;
    padding-right: 0;
    vertical-align: middle;
  }
  .genealogy__box.type--live .genealogy__box__img {
    padding: 0;
    margin-bottom: 0;
  }
  .genealogy__box.type--live .genealogy__box__img img {
    width: 100%;
    height: auto;
  }
  .genealogy__box.type--live .genealogy__box__desc {
    background-color: #e6e6e6;
    padding: 0;
    padding-top: 10px;
    padding-top: 2.66667vw;
    padding-bottom: 10px;
    padding-bottom: 2.66667vw;
  }
  .genealogy__box.type--live .genealogy__box__desc.is--noneimg {
    width: 100%;
  }
  .genealogy__box.type--live .genealogy__box__desc__head {
    font-size: 10px;
    font-size: 2.66667vw;
    font-family: futura-pt, source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 900;
  }
  .genealogy__box.type--text .genealogy__box__desc {
    width: 100%;
    padding: 0;
    padding-top: 10px;
    padding-top: 2.66667vw;
    padding-bottom: 10px;
    padding-bottom: 2.66667vw;
  }
  .year--2010 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2010__1,
  .year--2010__2,
  .year--2010__3,
  .year--2010__4,
  .year--2010__5 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2010__1 .genealogy__box__inner:after,
  .year--2010__2 .genealogy__box__inner:after,
  .year--2010__3 .genealogy__box__inner:after,
  .year--2010__4 .genealogy__box__inner:after,
  .year--2010__5 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2010__6 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2011 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2011__1,
  .year--2011__2,
  .year--2011__3,
  .year--2011__4,
  .year--2011__5,
  .year--2011__6,
  .year--2011__7 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2011__1 .genealogy__box__inner:after,
  .year--2011__2 .genealogy__box__inner:after,
  .year--2011__3 .genealogy__box__inner:after,
  .year--2011__4 .genealogy__box__inner:after,
  .year--2011__5 .genealogy__box__inner:after,
  .year--2011__6 .genealogy__box__inner:after,
  .year--2011__7 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2011__8 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2012 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2012__1,
  .year--2012__2,
  .year--2012__3,
  .year--2012__4 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2012__1 .genealogy__box__inner:after,
  .year--2012__2 .genealogy__box__inner:after,
  .year--2012__3 .genealogy__box__inner:after,
  .year--2012__4 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2012__5 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2013 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2013__1,
  .year--2013__2,
  .year--2013__3 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2013__1 .genealogy__box__inner:after,
  .year--2013__2 .genealogy__box__inner:after,
  .year--2013__3 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2013__4 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2014 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2014__1,
  .year--2014__2,
  .year--2014__3,
  .year--2014__4,
  .year--2014__5,
  .year--2014__6 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2014__1 .genealogy__box__inner:after,
  .year--2014__2 .genealogy__box__inner:after,
  .year--2014__3 .genealogy__box__inner:after,
  .year--2014__4 .genealogy__box__inner:after,
  .year--2014__5 .genealogy__box__inner:after,
  .year--2014__6 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2014__7 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2015 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2015__1,
  .year--2015__2 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2015__1 .genealogy__box__inner:after,
  .year--2015__2 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2015__3 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2016 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2016__1 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2016__1 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2016__2 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2017 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2017__1 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2017__1 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2017__2 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2018 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2018__1 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2018__1 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2018__2 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2019 {
    height: auto;
    margin-bottom: 165px;
    margin-bottom: 44vw;
  }
  .year--2019__1,
  .year--2019__2,
  .year--2019__3 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2019__1 .genealogy__box__inner:after,
  .year--2019__2 .genealogy__box__inner:after,
  .year--2019__3 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2019__4 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2020 {
    height: auto;
  }
  .year--2020__1,
  .year--2020__2 {
    left: auto;
    right: auto;
    top: auto;
  }
  .year--2020__1 .genealogy__box__inner:after,
  .year--2020__2 .genealogy__box__inner:after {
    content: '';
    display: block;
    width: 1px;
    width: 0.26667vw;
    height: 35px;
    height: 9.33333vw;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: -35px;
    bottom: -9.33333vw;
    top: auto;
    z-index: 0;
    transform: translateX(-50%);
  }
  .year--2020__3 {
    left: auto;
    right: auto;
    top: auto;
  }
  .modal--schedule__ph {
    width: 100%;
    pointer-events: none;
  }
  .modal--schedule__ph img {
    width: 100%;
    height: auto;
  }
  .modal--schedule {
    width: 80%;
    margin: 0 auto;
    padding-top: 30px;
    padding-top: 8vw;
    padding-bottom: 30px;
    padding-bottom: 8vw;
  }
  .modal--schedule__title {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 900;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.875em;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
    letter-spacing: .01em;
    margin-bottom: 30px;
    margin-bottom: 8vw;
  }
  .modal--schedule__list {
    width: 100%;
  }
  .modal--schedule__list dl {
    display: block;
    width: 100%;
    zoom: 1;
    margin-bottom: 5px;
    margin-bottom: 1.33333vw;
  }
  .modal--schedule__list dl:after {
    content: "";
    clear: both;
    display: block;
  }
  .modal--schedule__list dl:last-child {
    margin-bottom: 0;
  }
  .modal--schedule__list dt {
    width: 22%;
    float: left;
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 1.6em;
  }
  .modal--schedule__list dd {
    width: 78%;
    float: right;
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 1.6em;
  }
  .modal--nmnl__ph {
    width: 100%;
    pointer-events: none;
    text-align: center;
    padding-top: 0;
  }
  .modal--nmnl__ph img {
    width: 100%;
    height: auto;
  }
  .modal--nmnl {
    width: 80%;
    margin: 0 auto;
    padding-top: 30px;
    padding-top: 8vw;
    padding-bottom: 30px;
    padding-bottom: 8vw;
  }
  .modal--nmnl__title {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 900;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 13.5px;
    font-size: 3.6vw;
    line-height: 1.875em;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
    letter-spacing: .01em;
    margin-bottom: 30px;
    margin-bottom: 8vw;
  }
  .modal--nmnl__text {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 1.6em;
    margin-bottom: 30px;
    margin-bottom: 8vw;
  }
  .modal--nmnl__button a {
    font-size: 10px;
    font-size: 2.66667vw;
    color: #ff0000;
  }
  .modal--sanmonopera {
    width: 80%;
    margin: 0 auto;
    padding-top: 60px;
    padding-top: 16vw;
    padding-bottom: 60px;
    padding-bottom: 16vw;
  }
  .modal--sanmonopera__lead {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 900;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 12px;
    font-size: 3.2vw;
  }
  .modal--sanmonopera__title {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 900;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 21px;
    font-size: 5.6vw;
    line-height: 1.875em;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
    letter-spacing: .01em;
    margin-bottom: 30px;
    margin-bottom: 8vw;
  }
  .modal--sanmonopera__text {
    font-family: source-han-sans-japanese, Arial,  "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 2.0em;
  }
}
