.abs-center-x {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.carousel-item .img-fluid {
    width:100%;
    height:auto;
  }
  
  .carousel-item{
    height: auto;
  }
  
  .carousel-item a {
    display: block;
    width:100%;
  }
  
  .carousel-item .show-image {
    display: block;
    width:100%;
  }
  .carousel-caption {
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
    
  }

  .leadpr {
    display: none;
    color: #fff;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 1.6em;
  }

  @media(min-width:768px){
    .leadpr{display: block;}
  }


h2 {
    margin-top: 5rem;
    display: block;
    text-align: center;
}


h2 small {
    display: block;
    font-size: 60%;
    font-weight: 300;
    color: dimgray;
    padding-top: .3em;
    margin-bottom: 7rem;
}


.greetingtext {
  color: rgb(99, 99, 99);
  font-size: 1.25em;
}

#group .image{
	position: relative;
	margin-bottom: 10px;
	width: 100%;
  overflow: hidden;
}
#group .image .mask{
  width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
  opacity: 0;
  background-color:	rgba(255,255,255,.8);
	-webkit-transition:	all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: #0096D3;
  display: flex;
  justify-content: center;
  align-items: center;
}

#group .image:hover .mask{
  opacity: 1;
  -webkit-transform: scale(1.2);
	transform: scale(1.2);
  z-index: 2;
}

nav ul {
  list-style: none;
  text-align: center;
}
nav ul li {
  display: inline-block;
}
nav ul li a {
  display: block;
  padding: 15px;
  text-decoration: none;
  color: #aaa;
  margin: 0 10px;
}
nav ul li a,
nav ul li a:after,
nav ul li a:before {
  transition: all .5s;
}
nav ul li a:hover {
  color: #fff;
}


/* stroke */
nav.stroke ul li a,
nav.fill ul li a {
  position: relative;
}
nav.stroke ul li a:after,
nav.fill ul li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  content: '.';
  color: transparent;
  background: #93653E;
  height: 2px;
}
nav.stroke ul li a:hover:after {
  width: 100%;
}

nav.fill ul li a {
  transition: all 2s;
}

nav.fill ul li a:after {
  text-align: left;
  content: '.';
  margin: 0;
  opacity: 0;
}
nav.fill ul li a:hover {
  color: #fff;
  z-index: 1;
}
nav.fill ul li a:hover:after {
  z-index: -10;
  animation: fill 1s forwards;
  -webkit-animation: fill 1s forwards;
  -moz-animation: fill 1s forwards;
  opacity: 1;
}

/* Keyframes */
@-webkit-keyframes fill {
  0% {
    width: 0%;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  100% {
    width: 100%;
    height: 100%;
    background: #93653E;
  }
}

.row-eq-height {
  display: flex;
  flex-wrap: wrap;
}
.container_16 {
  max-width: 1600px;
  margin: 0 auto;
}
.table_width_l{
  table-layout: fixed;
  width: 640px;
  height: 320px;
}

.table_width_s{
  table-layout: fixed;
  width: 320px;
  height: 320px;
}

.table_width_a{
  table-layout: fixed;
  width: auto;
  height: auto;
}

/* Opening
-----------------------------------------*/
.Opening {
  position:relative;
  background-color: #FFF;
  }
  .Opening ul li{
    position: relative;
    overflow: hidden;
    width: 100%;
    text-align: center;
  }
  .Opening ul li img.Opening__text{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    z-index: 9;
  }
  .Opening ul li span {
  }
  .Opening ul li span img.Opening__img{
    max-width: inherit;
    width: 100%;
    height: auto;
  }

  .idea_bg {
    background-size: contain; 
    font-family: 'Noto sans JP',sans-serif;
    font-size: 1.25em;
    font-weight: 500;
    color: #42725C;
    padding: 15px;
  }

  @media(min-width:1200px){
    .idea_bg {
      min-width: 500px;
      justify-content: center;
    }
  }
  
  .pr_txt{text-align: center;}
  .pr_txt span{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    /* margin-bottom : 8.96vh; */
    margin: 0 auto;
    color: #0096D3;
    font-size: 1.6em;
    font-weight: 600;
    font-family: serif;
    position: relative;
    line-height: 1.6;
    padding:1em 1em 0.8em 1em;
    text-align: left;
    display: inline-block;
  }
  .pr_txt span:before, .pr_txt span:after { 
    content:'';
    width: 20px;
    height: 30px;
    position: absolute;
    display: inline-block;
  }
  
  .pr_txt span:before {
    border-left: solid 1px #029447;
    border-top: solid 1px #029447;
    top:0;
    left: 0;
  }
  
  .pr_txt span:after {
    border-right: solid 1px #029447;
    border-bottom: solid 1px #029447;
    bottom:0;
    right: 0;
  }

  .pr_bg {
    background: url(../img/pr/pr2.jpg) no-repeat center;
    background-size: cover;
    overflow: hidden;
  }

.tdeco_01 {
  color:#029447!important;
  margin:12px;
  padding:28px;
}

.tdeco_02 {
  color:#0096D3!important;
  margin:12px;
  padding:28px;
}
.req {
  font-size:11px;
  font-weight: normal;
  background-color:#0096D3!important;
}

@media (min-width:768px){
  .deco_01 {box-shadow: #029447 20px 20px 0px;}
  .deco_02 {box-shadow: #0096D3 -20px 20px 0px;}
}
@media (min-width:1025px){
    .tdeco_01 {
      color:#029447!important;
      border-right: solid #029447 20px;
      border-bottom: solid #029447 1px;
      padding: 1em 2em;
    }
    .tdeco_02 {
      color:#0096D3!important;
      border-bottom: solid #0096D3 1px;
      border-left: solid #0096D3 20px;
      padding: 1em 2em;
    
  }
  .tdeco_01 p, .tdeco_02 p{min-width: 480px;}
}
