#teigakugenzei{
  color:#52585d;
  line-height:1.8;
}
#teigakugenzei a{
  color:#52585d;
  text-decoration:none;
}
#teigakugenzei a:hover{
  text-decoration:underline;
}
#teigakugenzei figure{
  margin:0;
}
#teigakugenzei img{
  width:100%;
  vertical-align:bottom;
}

#teigakugenzei h2{
  position: relative;
  display: inline-block;
  margin-bottom: 2em;
  font-weight: lighter;
  text-align:center;
  color:black;
}

#teigakugenzei h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -20px;/*線の上下位置*/
  display: inline-block;
  width: 70px;/*線の長さ*/
  height: 8px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #005ECC;/*線の色*/
}

h5{
    margin-top: 2em;
    margin-bottom: 0.5em;
    text-align:left;
    font-weight: lighter;
    font-size: 1.6em;
    color:black;
    line-height: 1.6em;
}

h5:before{
    margin-right: 1rem;
    border-left: 7px solid #005ECC;
    padding: 0px;
    content: '';
}

h4{
  position: relative;
  display: inline-block;
  margin-bottom: -3em;
  font-size: small;
  font-weight: lighter;
  text-align:center;
  color:black;
}

teigakugenzei-pic1{
  text-align:center;
  display: flex;
}

.te-ti-img01 {
  width:100%;
  max-width: 1200px;
  text-align:center;
  margin-top: 0px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}

.te-col_1{
	width: 94%;
	max-width: 1200px;
	text-align: left;
	justify-content:left;
	margin:0 auto;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}

.te-col_2{
	width: 100%;
	max-width: 1200px;
	text-align: left;
	justify-content:center;
	margin:0 auto;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.te-img01 {
	width: 50%;
	text-align: center;
}

.te-co3 {
	width: 33%;
	text-align: center;
}

.te-text01{
	text-align: left;
	color:black;
	margin-top:3em;
}

.te-but01 {
	width: 30%;
	text-align: center;
}

.img_mb {display: none;}

@media screen and (max-width: 768px){
	h4 {margin-bottom: -2em;}
	.te-img01 {width: 95%;}
        .te-but01 {width: 95%;}
	.te-co3 {width: 49%;}
	.img_pc {display: none;}
	.img_mb {display: block;}
}

#teigakugenzei section > *:nth-child(n+2){
  margin-top:0;
}
@media screen and (min-width: 576px){
  #teigakugenzei .teigakugenzei-sp{
    display:none;
  }
}
#teigakugenzei .teigakugenzei-header{
  max-width:calc(1200px + 8%);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  font-weight: lighter;
  text-align:center;
  padding-top:3em;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-header{
    -webkit-box-orient:vertical;
    -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
            flex-direction:column-reverse;
  }
}
@media screen and (min-width: 768px){
  #teigakugenzei .teigakugenzei-header{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 1200px){
  #teigakugenzei .teigakugenzei-header{
    margin:0 auto;
  }
}

#teigakugenzei .teigakugenzei-inner{
  max-width:calc(1200px + 8%);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-inner{
    -webkit-box-orient:vertical;
    -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
            flex-direction:column-reverse;
  }
}
@media screen and (min-width: 768px){
  #teigakugenzei .teigakugenzei-inner{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 1200px){
  #teigakugenzei .teigakugenzei-inner{
    margin:0 auto;
  }
}

#teigakugenzei .teigakugenzei-section{
  margin:5% 0;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-section{
    margin:8.5% 0;
  }
}
#teigakugenzei .teigakugenzei-section .teigakugenzei-header{
  width:auto;
  height:auto;
  position:static;
  -webkit-box-shadow:none;
          box-shadow:none;
  z-index:auto;
}
#teigakugenzei .teigakugenzei-section .teigakugenzei-header .teigakugenzei-inner{
  width:100%;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  -webkit-box-pack:start;
      -ms-flex-pack:start;
          justify-content:flex-start;
}

#teigakugenzei .teigakugenzei-section .teigakugenzei-text{
  width:49%;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-section .teigakugenzei-text{
    width:auto;
  }
}
#teigakugenzei .teigakugenzei-section .teigakugenzei-table{
  margin:4.75% 0;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-section .teigakugenzei-table{
    margin:7.5% 0;
  }
}
#teigakugenzei .teigakugenzei-section .teigakugenzei-image{
  width:100%;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-section {
    width:auto;
    margin:0 0 12.5% 0;
  }
}
@media screen and (max-width: 576px){
  #teigakugenzei .teigakugenzei-section {
    margin:0 0 9.5% 0;
  }
}

.teigakugenzei-button{
  font-size: 0.9rem;
  width: 25%;
  margin: 4%;
  text-align:center;
}

.teigakugenzei-button2{
  width: 25%;
  margin: 4%;
}

.teigakugenzei-button2 a{
  text-align:center;
  font-size: 2rem;
  color:#000;
  display:block;
  text-decoration:none;
  border:1px solid #000;
  border-radius:100vh;
  line-height:1em;
  padding: 0.3em;
}

.teigakugenzei-button a{
  text-align:center;
  font-size: 2rem;
  color:black;
  display:block;
  text-decoration:none;
  width: 100%;
  border:1px solid #000;
  border-radius:100vh;
  line-height:2em;
}
.teigakugenzei-button a:hover{
  text-decoration:none;
  background-color:#ABD1FF;
}
.teigakugenzei-button2 a:hover{
  text-decoration:none;
  background-color:#ABD1FF;
}

.bg-gaibu{
  background-image: url(/jp/headline/teigakugenzei/img/icons-gaibu.png);
  height:2.3em;
  background-repeat: no-repeat;
  background-position: right;
}

.ruby_under{
 display: inline-block;
 line-height:2rem
}

.ruby_under ruby{
 display: flex;
 flex-direction: column;
 text-align: justify;
 text-align-last: justify;
}


@media screen and (max-width: 768px){
  .teigakugenzei-button {
    width:70%;
    min-height:2.8em;
  }
  .teigakugenzei-button2 {
    width:95%;
    min-height:2.8em;
  }
}

  #teigakugenzei .teigakugenzei-main-graphic {
    width:100%;
  }
}
@media screen and (min-width: 768px){
  #teigakugenzei .teigakugenzei-main-graphic h1{
    font-size:4.45vw;
  }
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-lead{
    font-size:1.4vw;
  }
}
@media screen and (min-width: 1024px){
  #teigakugenzei .teigakugenzei-main-graphic h1{
    font-size:4.85vw;
  }
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-lead{
    font-size:1.45vw;
  }
}
@media screen and (min-width: 1200px){
  #teigakugenzei .teigakugenzei-main-graphic h1{
    font-size:3.5rem;
  }
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-lead{
    font-size:1.1rem;
  }
}
@media screen and (max-width: 576px){
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-inner{
    padding:0;
  }
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-text{
    padding:4vh 8vw;
  }
  #teigakugenzei .teigakugenzei-main-graphic h1{
    font-size:8vw;
    margin:0 0 2.25vh 0;
  }
  #teigakugenzei .teigakugenzei-main-graphic .teigakugenzei-lead{
    font-size:4.2vw;
  }

}
#teigakugenzei .teigakugenzei-toc{
  margin:2.5% 0 8.5% 0;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-toc{
    margin:9.5% 0;
  }
}
#teigakugenzei .teigakugenzei-toc h2{
  font-size:1.5rem;
  margin:0 0 6.5% 0;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-toc h2{
    font-size:1.1rem;
  }
}
#teigakugenzei .teigakugenzei-toc .teigakugenzei-list{
  line-height:1.2;
}
#teigakugenzei .teigakugenzei-toc .teigakugenzei-list li{
  text-indent:-1.25em;
  margin:0 0 0.9em 1.25em;
  padding:0 0 0 1.25em;
}
@media screen and (max-width: 768px){
  #teigakugenzei .teigakugenzei-toc .teigakugenzei-list li{
    margin:0 0 0.75em 1.25em;
  }
}
#teigakugenzei .teigakugenzei-toc .teigakugenzei-list li:last-child{
  margin-bottom:0;
}
#teigakugenzei .teigakugenzei-toc .teigakugenzei-list .teigakugenzei-number{
  line-height:1;
  display:inline-block;
  border-right:1px solid #52585d;
  margin:0 0.5em 0 0;
  padding:0 0.5em 0 0;
}
#teigakugenzei #teigakugenzei-section-9 .teigakugenzei-inner{
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
}
#teigakugenzei #teigakugenzei-message .swiper{
  width:100%;
}
#teigakugenzei #teigakugenzei-message .swiper-slide{
  cursor:pointer;
  width:240px;
  margin-right:80px;
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-message .swiper-slide{
    width:50%;
  }
}
#teigakugenzei #teigakugenzei-message .teigakugenzei-message-title{
  line-height:1.4;
  margin:0.5em 0;
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
      flex-wrap:wrap;
  width:100%;
  position:relative;
  line-height:1.6;
}
@media screen and (min-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dt{
    -ms-flex-preferred-size:7em;
        flex-basis:7em;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dt{
    -ms-flex-preferred-size:4em;
        flex-basis:4em;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dt .teigakugenzei-year .teigakugenzei-year-g{
    display:block;
  }
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd{
  position:relative;
  padding-bottom:25px;
}
@media screen and (min-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd{
    -ms-flex-preferred-size:calc(100% - 10em);
        flex-basis:calc(100% - 10em);
    padding:0 0 1em 26px;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd{
    -ms-flex-preferred-size:calc(100% - 4em);
        flex-basis:calc(100% - 4em);
    padding:0 0 1em 26px;
  }
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-27px;
  -webkit-transform:translateX(-50%);
          transform:translateX(-50%);
  width:1px;
  background:#007BFF;
  border-radius:5px;
}
@media screen and (min-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd::before{
    left:-4px;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd::before{
    left:11px;
  }
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text{
  width:100%;
  display:block;
  position:relative;
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::before{
  content:"";
  position:absolute;
  z-index:1;
  width:21px;
  height:41px;
  top:-8px;
  background-color:#fff;
}
@media screen and (min-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::before{
    left:-40px;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::before{
    left:-26px;
  }
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::after{
  content:"";
  position:absolute;
  z-index:1;
  width:21px;
  height:21px;
  left:-26px;
  background-color:#007BFF;
  border-radius:50%;
  top:2px;
}
@media screen and (min-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::after{
    left:-40px;
  }
}
@media screen and (max-width: 768px){
  #teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd .teigakugenzei-text::after{
    left:-26px;
  }
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd.teigakugenzei-disabled::before{
  background:#ccc;
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd.teigakugenzei-disabled .teigakugenzei-text::after{
  background-color:#ccc;
}
#teigakugenzei #teigakugenzei-endeavor .teigakugenzei-timeline dd a .teigakugenzei-icons{
  max-width:18px;
  position:relative;
  top:-2px;
  vertical-align:middle;
  margin-left:0.25em;
}
.modal__overlay{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(0, 0, 0, 0.7);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  z-index:1200;
}
.modal__container{
  background-color:#fff;
  padding:50px 30px 30px;
  max-width:100%;
  max-height:100vh;
  border-radius:4px;
  overflow-y:auto;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
}
@media screen and (max-width: 768px){
  .modal__container{
    padding:50px 10px 20px;
  }
}
.modal__close{
  display:block;
  position:absolute;
  right:5px;
  top:5px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#52585D;
  border:1px solid #52585D;
  -webkit-transition:0.5s;
  transition:0.5s;
}
.modal__close:hover{
  background:#fff;
}
.modal__close:hover::before, .modal__close:hover::after{
  background:#52585D;
  -webkit-transition:0.5s;
  transition:0.5s;
}
.modal__close::before, .modal__close::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:3px;
  height:28px;
  background:#fff;
}
.modal__close::before{
  -webkit-transform:translate(-50%, -50%) rotate(45deg);
          transform:translate(-50%, -50%) rotate(45deg);
}
.modal__close::after{
  -webkit-transform:translate(-50%, -50%) rotate(-45deg);
          transform:translate(-50%, -50%) rotate(-45deg);
}
.modal div[id$=-content]{
  width:80vw;
}
@media screen and (min-width: 1200px){
  .modal div[id$=-content]{
    width:1120px;
  }
}
.modal iframe[id$=-player]{
  width:100%;
  aspect-ratio:16/9;
}
@-webkit-keyframes mmfadeIn{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}
@keyframes mmfadeIn{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}
@-webkit-keyframes mmfadeOut{
  from{
    opacity:1;
  }
  to{
    opacity:0;
  }
}
@keyframes mmfadeOut{
  from{
    opacity:1;
  }
  to{
    opacity:0;
  }
}
@-webkit-keyframes mmslideIn{
  from{
    -webkit-transform:translateY(15%);
            transform:translateY(15%);
  }
  to{
    -webkit-transform:translateY(0);
            transform:translateY(0);
  }
}
@keyframes mmslideIn{
  from{
    -webkit-transform:translateY(15%);
            transform:translateY(15%);
  }
  to{
    -webkit-transform:translateY(0);
            transform:translateY(0);
  }
}
@-webkit-keyframes mmslideOut{
  from{
    -webkit-transform:translateY(0);
            transform:translateY(0);
  }
  to{
    -webkit-transform:translateY(-10%);
            transform:translateY(-10%);
  }
}
@keyframes mmslideOut{
  from{
    -webkit-transform:translateY(0);
            transform:translateY(0);
  }
  to{
    -webkit-transform:translateY(-10%);
            transform:translateY(-10%);
  }
}
.micromodal-slide{
  display:none;
}

.micromodal-slide.is-open{
  display:block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay{
  -webkit-animation:mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation:mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container{
  -webkit-animation:mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation:mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay{
  -webkit-animation:mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation:mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container{
  -webkit-animation:mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation:mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay{
  will-change:transform;
}