@charset "utf-8";

#container{
  position: relative;
}

/* ==========================================================================
  common
========================================================================== */
.mb40{
  margin-bottom:40px!important;
}
/* ==========================================================================
  header-visual-slider
========================================================================== */
#header-visual-slider{
  position: relative;
}
#header-visual-slider .ttl-mainvisual{
  position: absolute;
  top:53px;
  left:-10px;
  background-color: #fff;
  border-radius: 0px 8px 8px 0px;
  padding:14px 43px 20px 170px;
  font-size:25px;
  box-shadow: 10px 10px 0px #f00;
  font-weight: 700;
}
#header-visual-slider .ttl-mainvisual .ttl{
  display: block;
  font-size:46px;
}
#header-visual-slider .ttl-mainvisual .ttl .red{
  color:#f00;
}
.item.slick-slide{
  margin-right:5px;
  margin-left:5px;
}
@media screen and (max-width: 900px){
  #header-visual-slider .ttl-mainvisual{
    padding:14px 43px 20px 70px;
    font-size:20px;
  }
  #header-visual-slider .ttl-mainvisual .ttl{
    font-size:36px;
  }
}
@media screen and (max-width: 700px){
  #header-visual-slider {
    margin-top: 10px;
  }
  #header-visual-slider .ttl-mainvisual{
    padding: 5px 16px 5px 30px;
    font-size: 10px;
    top: 35px;
    box-shadow: 5px 5px 0px #f00;
  }
  #header-visual-slider .ttl-mainvisual .ttl{
    font-size:19px;
  }
  .item.slick-slide{
    width:59vw;
    border-radius: 7px;
    margin:0 3px;
  }
}
/* ==========================================================================
   typography
========================================================================== */
.ttl-lv2{
  text-align: center;
  font-size:28px;
  font-weight: 700;
  color:#f00;
  line-height: 1.6;
}
.ttl-lv2::after {
  content: "";
  width: 80px;
  height: 5px;
  display: block;
  background-color: #f00;
  margin: 20px auto;
}
.notemark{
  font-size: 50%;
  vertical-align: super;
}
.indent1{
  margin-left:1em;
  text-indent:-1em;
}
/* ==========================================================================
   introduction
========================================================================== */
#introduction{
  padding:0px 10px 0px;
}
#introduction .ttl-lv1{
  text-align: center;
  color: #f00;
  font-size: 36px;
  font-weight: 700;
  margin: 58px auto 29px;
  line-height: 1.2;
}
#introduction .ttl-lv1 .vol-nu{
  margin-left: -10px;
}
#introduction .ttl-lv1 .ttl-jp{
  margin-left: 37px;
}
#introduction .ttl-lv1 .ttl-en{
  margin-left: 21px;
  font-size: 25px;
}
#introduction .img__big{
  text-align: center;
  margin-bottom:30px;
}
#introduction .img__big .video{
  position: relative;
}
#introduction .img__big .video .btn-play{
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translateX(-50%);
  width:217px;
  max-width:13vw;
  height:auto;
}
.modaal-inner-wrapper .modaal-container {
    padding: 0px;
    border-radius: 0px;
}
#introduction .ttl-lv2{
  font-size:36px;
}
#introduction .ttl-lv2::after{
  margin: 15px auto 25px;
}
#introduction .txt{
  max-width: 950px;
  margin: 20px auto 40px;
  padding:0 10px;
}
.accordion-btn{
  text-align: center;
}
.accordion-btn span{
  color:#f00;
  text-decoration: underline;
  font-size: 18px;
}
.accordion-btn span:hover{
  cursor: pointer;
  opacity: 0.7;
}
.accordion-content {
  margin-top: 0px; /* 30px; */
  display: none;
}
.accordion-content *{
  animation-name:fadeInAnime;
  animation-delay: 100ms;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

#introduction .map-and-flow{
  display: flex;
  flex-direction: column-reverse;
  max-width: 1246px;
  margin:70px auto 20px;
}
#introduction .flow{
  text-align: center;
  padding:0px 50px 10px 5px;
  position: relative;
  margin-left:40px;
}
#introduction .flow .ttl-lv2-black{
  font-size: 36px;
  font-weight: 700;
  margin: 25px auto 13px;
}
#introduction .flow .ttl-lv2-black + .flow-desc{
  font-size: 18px;
  font-weight: 700;
}
#introduction .flow .flow-list{
  position: relative;
  z-index: 2;
  display: flex;
  padding:15px 0px 34px 30px;
  margin:73px auto;
  justify-content: space-between;
}
#introduction .flow .bg_flow{
  position: absolute;
  top: 101px;
  left: 8px;
  z-index: 1;
}
#introduction .flow .flow-list .item + .item{
  padding-left: 22px;
  background: url(/pulsation/img/vol05/flow-arw.png.webp) no-repeat left 2px bottom 159px;
  background-size: 16px 17px;
}
#introduction .flow .flow-list .item:has(.mini-flow){
  position: relative;
}
#introduction .flow .flow-list .item .mini-flow{
  position: absolute;
  top:18.5%;
  left:57%;
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  width: 76%;
}
#introduction .flow #f08{
  position: absolute;
  bottom: -27px;
  left: 35px;
}
#introduction .flow #f10,
#introduction .flow #f11{
  padding-left:32px;
  margin-left:6px;
}
#introduction .flow #f09{
  position: absolute;
  bottom: -87px;
  left: 35px;
}
#introduction .flow #f14{
  position: absolute;
  bottom: -27px;
  left: 686px;
}
#introduction .flow #f15{
  position: absolute;
  bottom: -87px;
  left: 686px;
}
#introduction .flow #f16{
  padding-top:134px;
  padding-left:28px;
  margin-left:10px;
  background-position-y: 269px;
}
#introduction .flow #f17{
  background-image:none;
}
#introduction .flow .arw_long{
  position: absolute;
  top: 250px;
  right: 168px;
  z-index: 2;
}
.flow-details .item .tmeic-here{
  border:2px solid #f00;
  background-color: #ffcccc;
  border-radius: 10px;
  padding:20px 20px 6px;
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin:25px auto 20px;
}
.flow-details .item .tmeic-here .item-txt{
  width:87%;
  padding-right:20px;
}

.flow-details .item .tmeic-here .item-txt .ttl-lv4{
  font-size: 29px;
  font-weight: 700;
  color: #f00;
  background: url(/pulsation/img/vol01/marker-in-tmeic-here.png.webp) no-repeat left top 4px;
  padding: 4px 0px 5px 33px;
  margin-bottom:10px;
}
.flow-details .item .tmeic-here .item-products{
  min-width:220px;
}
.flow-details .item .tmeic-here .item-products .list-products .product{
  margin: 7px auto 19px;
}
.flow-details .item .tmeic-here.products-2col .item-products{
  min-width:450px;
}
.flow-details .item .tmeic-here.products-2col .item-products .list-products{
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}
.flow-details .item .tmeic-here.products-2col .item-products .list-products .product{
  width:49%;
  margin:0px auto 14px;
}
.flow-details .item .tmeic-here.products-2col.products-2colb .item-txt{
  width:36%;
}
.flow-details .item .tmeic-here.products-2col.products-2colb  .item-products{
  min-width: 450px;
  max-width: 670px;
  width: 100%;
}
.flow-details .item .tmeic-here.products-2col.products-2colb  .item-products .list-products .product{
  width:33%;
}
.flow-details .item .tmeic-here.products-2col.products-2colc .item-txt{
  width:112%;
}
.flow-details .item .tmeic-here.products-2col.products-2colc  .item-products{
  flex-direction: column;
}
.flow-details .item .tmeic-here.products-2col.products-2colc  .item-products .list-products .product{
  width:100%;
  display: flex;
  flex-wrap: wrap;
}
.flow-details .item .tmeic-here.products-2col.products-2colc  .item-products .list-products .product .ttl-lv5{
  font-size:18px;
  margin-left:0px;
}
.flow-details .item .tmeic-here.products-2col.products-2colc  .item-products .list-products .product .moreinfo{
  margin-left:10px;
  height: 30px;
}

.flow-details .item .tmeic-here .item-products .ttl-lv5{
  display: block;
  font-weight: 700;
  margin: 4px 0px 10px 14px;
  font-size: 14px;
}
::-webkit-full-page-media, :future, :root .flow-details .item .tmeic-here .item-products .ttl-lv5 { /* safari */
  margin: 4px 0px 10px 7px;
}
.flow-details .item .tmeic-here .item-products .moreinfo{
  border-radius: 27px;
  border: solid #f00 2px;
  padding: 3px 29px 3px 33px;
  background: url(/pulsation/img/vol01/moreinfo-arw.png.webp) no-repeat right 5px center;
  background-color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-left: 36px;
}
@media all and (-ms-high-contrast: none) {
  .flow-details .item .tmeic-here .item-products .moreinfo{
    margin-left: 10px;
  }
}
@media screen and (max-width: 1268px){
  #introduction .flow .flow-list .item .mini-flow{
    max-width:3vw;
    left:auto;
    right:7%;
  }
  #introduction .flow #f08{
    width:35vw;
    bottom:-1vw;
  }
  #introduction .flow #f09{
    width:35vw;
    bottom:-5vw;
  }
  #introduction .flow #f14{
    width:17vw;
    bottom:-1vw;
    left:54vw;
  }
  #introduction .flow #f15{
    width:17vw;
    bottom:-5vw;
    left:54vw;
  }
  #introduction .flow .arw_long{
    right: 13.5vw;
  }
  #introduction .flow .arw_long img{
    width:6vw;
  }
  #introduction .flow .bg_flow img{
    width:74vw;
  }
}
@media screen and (max-width: 1180px){
  #introduction .flow .flow-list .item .mini-flow{
    max-width:2.8vw;
  }
  #introduction .flow .bg_flow img{
    width:73vw;
  }
  #introduction .flow #f16{
    padding-top:11vw;
    background-position-y:22vw;
  }
}
@media screen and (max-width: 1080px){
  #introduction .flow .bg_flow img{
    width:72vw;
  }
}
@media screen and (max-width: 1024px){
  #introduction .flow{
    padding-right: 10px;
  }
  #introduction .flow{
    margin-left:0px;
  }
  #introduction .flow .bg_flow img{
    width:78.5vw;
  }
  #introduction .flow .arw_long{
    right:11vw;
    top:24vw;
  }
  #introduction .flow #f14{
    left:56vw;
  }
  #introduction .flow #f15{
    left:56vw;
  }
  .flow-details .item .tmeic-here.products-2col{
    flex-wrap:wrap;
  }
  .flow-details .item .tmeic-here.products-2col .item-txt,
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-txt,
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-txt{
    width:100%;
    margin-bottom:20px;
  }
  .flow-details .item .tmeic-here.products-2col .item-products,
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-products,
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products{
    width:100%;
    max-width: 100%;
  }
  .flow-details .item .tmeic-here.products-2col .item-products .list-products{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width:700px;
    margin:0 auto;
  }
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products .list-products .product{
    max-width:100%;
  }
}
@media screen and (max-width: 900px){
  .flow-details .item .tmeic-here .item-products .ttl-lv5{
    font-size:12px;
  }
  .flow-details .item .tmeic-here .item-txt .txt{
    padding-bottom:10px;
  }
  .flow-details .item .tmeic-here .item-products .moreinfo{
    font-size:12px;
    margin-left:14px;
  }
}
@media screen and (max-width: 700px){
  .flow-details .item .tmeic-here .item-products .moreinfo{
    margin: 0 auto;
    display: block;
    width: 163px;
    border: solid #f00 1px;
    font-size:14px;
    padding: 2px 29px 2px 33px;
  }
}


#introduction .map{
  position: relative;
  text-align: center;
  margin: 151px auto 60px;
  padding-right: 38px;
}

#introduction .map .modal-btn{
  position: absolute;
  width: 21.0%;
    top: 6.3%;
  left: 52.7%;
}
#introduction .map .marker-on-map{
  position: absolute;
  margin-left:9%;
}
#introduction .map .marker-on-map .marker{
  position: absolute;
  width:65px; /* 221px; */
  height:94px;
  text-align: center;
}
#introduction .map .marker-on-map .marker .ankerA{
  color:#b90000;
  display:block;
  background: url(/pulsation/img/vol05/marker-on-map.png) no-repeat center bottom;
  width:55px;
  height:85px;
  font-size: 31px;
  font-weight: 700;
  line-height: 2.0;
  margin:0 auto;
  background-size: contain;
}
#introduction .map .marker-on-map .marker .ankerA.mini{
  background: url(/pulsation/img/vol05/marker-on-map_mini.png.webp) no-repeat center bottom;
  width:38px;
  height:55px;
  font-size: 16px;
  color:#fff;
  background-size: contain;
  line-height: 36px;
}
#introduction .map .marker-on-map .marker .ankerA.mini + .balloon{
  margin-top:-124px;
}
#introduction .map .marker-on-map .marker01{
  bottom: 173px;
  left: 475px;
}
#introduction .map .marker-on-map .marker02{
  bottom: 255px;
  left: 573px;
}
#introduction .map .marker-on-map .marker03{
  bottom: 217px;
  left: 699px;
}
#introduction .map .marker-on-map .marker04{
  bottom: 327px;
  left: 663px;
}
#introduction .map .marker-on-map .marker05{
  bottom: 328px;
  left: 779px;
}
#introduction .map .marker-on-map .marker06{
  bottom: 286px;
  left: 839px;
}
#introduction .map .marker-on-map .marker07{
  bottom: 360px;
  left: 823px;
}
#introduction .map .marker-on-map .marker08{
  bottom: 359px;
  left: 938px;
}
#introduction .map .marker-on-map .marker09{
  bottom: 392px;
  left: 870px;
}
#introduction .map .marker-on-map .marker10{
  bottom: 239px;
  left: 140px;
}
#introduction .map .marker-on-map .marker10.marker10b{
  bottom: 401px;
  left: 715px;
}
#introduction .map .marker-on-map .marker11{
  bottom: 390px;
  left: -37px;
}
#introduction .map .marker-on-map .marker12{
  bottom: 378px;
  left: 140px;
}
#introduction .map .marker-on-map .marker13{
  bottom: 469px;
  left: 115px;
}
#introduction .map .marker-on-map .marker14{
  bottom: 430px;
  left: 180px;
}
#introduction .map .marker-on-map .marker15{
  bottom: 434px;
  left: 233px;
}
#introduction .map .marker-on-map .marker16{
  bottom: 548px;
  left: 240px;
}
#introduction .map .marker-on-map .marker17{
  bottom: 611px;
  left: 374px;
}
#introduction .map .marker-on-map .marker18{
  bottom: 580px;
  left: 528px;
}
#introduction .map .marker-on-map .marker25{
  bottom: 277px;
  left: 723px;
}
#introduction .map .marker-on-map .marker27{
  bottom: 271px;
  left: 908px;
}
#introduction .map .marker-on-map .marker21{
  bottom: 373px;
  left: 28px;
}
#introduction .map .marker-on-map .marker21 .ankerA.mini{
    font-size: 14px;
}
.balloon {
  display: none;
	position: relative;
	background: #FFFFFF;
	border: 2px solid #b90000;
  font-size: 22px;
  text-align: center;
  margin-top: -160px;
  padding: 10px 10px 10px 0px;
  border-radius: 10px;
  color: #b90000;
  font-weight: 700;
  z-index:3;
  animation: bound-anim 3s 1;
  width:320px;
  margin-left:-195%;
}
.balloon:after, .balloon:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.balloon:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #FFFFFF;
	border-width: 6px;
	margin-left: -6px;
}
.balloon:before {
	border-color: rgba(255, 0, 0, 0);
	border-top-color: #b90000;
	border-width: 9px;
	margin-left: -9px;
}
.balloon .ankerB{
  width:100%;
  display: block;
  background: url(/pulsation/img/vol03/map-arw.png.webp) no-repeat right center;
  background-size: 33px 33px;
  color:#b90000;
}
#introduction .map .marker-on-map .marker02 .ankerA + .balloon{
  width:420px;
  margin-left:-274%;
}
#introduction .map .marker-on-map .marker06 .ankerA + .balloon{
  width:420px;
  margin-left:-274%;
}
#introduction .map .marker-on-map .marker25 .ankerA + .balloon,
#introduction .map .marker-on-map .marker27 .ankerA + .balloon,
#introduction .map .marker-on-map .marker21 .ankerA + .balloon{
  width:420px;
  margin-left:-274%;
}
.marker04 .balloon:after, .marker04 .balloon:before {
}
.marker05 .balloon:after, .marker05 .balloon:before {
}
@keyframes bound-anim {
0%,100% {top: 0;}
10% {top: -30%;}
30% {top: 0;}
40% {top: -20%;}
60% {top: 0;}
70% {top: -10%;}
90% {top: 0;}
}
@media screen and (max-width: 1180px) {
  #introduction .map .marker-on-map .marker .ankerA.mini{
    line-height: 3.2vw;
  }
}

@media screen and (max-width: 1024px) {
  #introduction .map .marker-on-map .marker .ankerA{
    font-size:26px;
  }
}
@media screen and (max-width: 1000px) {
  #introduction .flow .img-part21 {
    left:0%;
  }
}
@media screen and (max-width: 940px) {
  #introduction .ttl-lv1 .ttl-en{
    display: block;
    margin-top:10px;
  }
}
@media screen and (max-width: 900px) {
  #introduction .img__big .video .btn-play{
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  #introduction .map{
    padding-right: 0px;
  }
  #introduction .map .marker-on-map{
    margin-top: calc((100vw - 900px) / 70);
    margin-left:8%;
  }
  #introduction .map .marker-on-map .marker .ankerA{
    font-size:20px;
    background:url(/pulsation/img/vol03/marker-on-map.png) no-repeat center bottom;
    background-size: contain;
  }
  #introduction .map .marker-on-map .marker .ankerA.mini{
    font-size: 10px;
    background-size: cover;
  }
  #introduction .flow .flow-list .item + .item{
    background-position: left 2px bottom 11vw;
  }
  #introduction .flow .flow-list #f01 .mini-flow img{
    height:32vw;
    width:auto;
  }
}
@media screen and (max-width: 840px){
  #introduction .flow .flow-list .item .mini-flow{
    max-width:2.5vw;
  }
  #introduction .flow .arw_long{
    top:27vw;
  }
  #introduction .flow #f16{
    padding-top:9vw;
    background-position-y: 18vw;
  }
}
@media screen and (max-width: 750px){
  #introduction .flow .flow-list .item .mini-flow{
    max-width:2.2vw;
  }
}
@media screen and (max-width: 700px) {
  #introduction{
    padding:0px 0px 4px;
  }
  #introduction > .txt{
    padding:10px 20px 21px;
  }
  #introduction .ttl-lv1{
    margin:16px auto 14px;
  }
  #introduction .ttl-lv1 .vol-nu{
    font-size:21px;
  }
  #introduction .ttl-lv1 .ttl-jp{
    display: block;
    font-size: 24px;
    margin: 10px auto 0px;
  }
  #introduction .ttl-lv1 .ttl-en{
    display: block;
    font-size: 18px;
    margin: 10px auto 0px;
  }
  #introduction .img__big {
    margin-bottom: 12px;
  }

  #introduction .ttl-lv2{
    font-size:24px;
  }
  #introduction .ttl-lv2::after{
    margin-bottom: 10px;
  }
  #introduction .txt{
    font-size: 15px;
    line-height: 1.7;
    margin:10px auto 21px;
  }
  .accordion-btn span{
    font-size:15px;
  }
  #introduction .map-and-flow{
    display: flex;
    flex-direction: column-reverse;
    margin: 50px auto 0px;
  }
  #introduction .flow{
    padding: 0px 0px 0px 0px;
    margin:0px auto;
    overflow: hidden;
    max-width: 375px;
    width:100vw;
  }
  #introduction .flow .ttl-lv2-black{
    font-size: 24px;
    margin: -5px auto 9px;
  }
  #introduction .flow .ttl-lv2 + .flow-desc {
    font-size: 15px;
    text-align: left;
    margin: 0 auto;
    max-width: 22em;
    line-height: 1.7;
  }
  #introduction .ttl-lv1 .vol-nu{
    display:block;
  }
  #introduction .flow .flow-list{
    flex-direction: column;
    padding:0px 80px 0px 20px;
    margin:66px auto 25px;
  }
  #introduction .flow .flow-list .item + .item{
    margin-top: -5px;
    padding: 12px 0px 0px;
    background: url(/pulsation/img/vol05/flow-arw_sp.png.webp) no-repeat left 178px top 0px;
    background-size: 11px 12px;
  }
  #introduction .flow .flow-list .item .link{
    position: relative;
  }
  #introduction .flow .flow-list .item .link img{
    width: 270px;
  }
  #introduction .flow .flow-list .item#f01{
    width:auto;
  }
  #introduction .flow .flow-list .item .mini-flow {
      max-width: 210px;
      bottom: 5px;
      left: auto;
      top: auto;
  }
  #introduction .flow #f08{
    width:45px;
    bottom: auto;
    left: auto;
    top: 0px;
    right: 20px;
  }
  #introduction .flow #f09{
    width:45px;
    bottom: auto;
    left: auto;
    top: 230px;
    right: 20px;
  }
  #introduction .flow #f10,
  #introduction .flow #f17,
  #introduction .flow #f18{
    padding-left: 0px;
    margin-left: 0px;
    max-width: 332px;
    width: 100vw;
  }
  #introduction .flow #f10{
    padding-top: 33px;
    padding-left:5px;
  }
  #introduction .flow #f10 img,
  #introduction .flow #f17 img,
  #introduction .flow #f18 img{
    max-width: 332px;
    width: 100vw;
  }
  #introduction .flow #f11{
    padding-top: 98px;
    padding-left: 0px;
    margin-left: 0px;
  }
  #introduction .flow #f14{
    width:45px;
    bottom: 353px;
    left: auto;
    right: 20px;
  }
  #introduction .flow #f15{
    width:45px;
    bottom: 203px;
    left: auto;
    right: 20px;
  }
  #introduction .flow #f16 {
    margin-top: 82px;
    padding-top: 12px;
    margin-left: 0px;
    padding-left: 0px;
    background-position-y: top;
  }
  #introduction .flow #f18 {
    background-position-x: 207px;
  }
  #introduction .flow .bg_flow{
    top:40px;
    left:0px;
  }
  #introduction .flow .bg_flow img{
    width:375px;
    left:0px;
  }
  #introduction .flow .arw_long{
    top: auto;
    bottom: 140px;
    right: 40px;
  }
  #introduction .flow .arw_long img{
    width:11px;
  }
  #introduction .map{
    margin: 67px auto 60px;
  }
  #introduction .map .modal-btn{
    top:auto;
    bottom:2px;
    left:-7px;
    width:140px;
  }
  #introduction .map .marker-on-map{
/*    top: 69vw;
    left: 9vw; */
    margin-top: -2vw;
    margin-left:7%;
  }
  #introduction .map .marker-on-map .marker{
    width:19px;
    height:26px;
  }
  #introduction .map .marker-on-map .marker .ankerA{
    font-size:16px;
  }
  #introduction .map .marker-on-map .marker .ankerA.is-hopping{
    transition: 0.3s ease-in-out;
    animation: hopping 0.3s 0s 2;
  }
  #introduction .map .marker-on-map .marker .ankerA.mini{
    font-size: 12px;
    width:55px;
    height:85px;
    line-height: 5.5vw;
  }
  .balloon{
    display: none;
    width:200px;
    margin-top: -110px;
    margin-left:-200%;
    font-size:16px;
    padding:0px 10px 2px 0px;
    border: 1px solid #b90000;
    border-radius: 5px;
  }
  .balloon:before{
    border-width: 8px;
    margin-left: -9px;
  }
  .balloon:after{
    border-width: 6px;
    margin-left: -7px;
  }
  .balloon .ankerB{
    width:200px;
    background: url(/pulsation/img/common/icon_modalopen.png.webp) no-repeat right 10px center;
    background-size:13px;
    color:#b90000;
    padding-right: 30px;
  }
  #introduction .map{
    padding:0 10px;
  }
  #introduction .map .marker-on-map .marker .ankerA.mini + .balloon{
    margin-top:-82px;
  }
  #introduction .map .marker-on-map .marker01 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker02 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker03 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker04 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker05 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker06 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker07 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker08 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker09 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker10 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker12 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker13 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker14 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker15 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker16 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker17 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker18 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker21 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker25 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker27 .ankerA + .balloon{
    width:200px;
    margin-left:-460%;
  }

  #introduction .map .marker-on-map .marker06 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker07 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker08 .ankerA + .balloon,
  #introduction .map .marker-on-map .marker09 .ankerA + .balloon{
    margin-left:-860%;
  }
  .marker06 .balloon:after, .marker06 .balloon:before,
  .marker07 .balloon:after, .marker07 .balloon:before,
  .marker08 .balloon:after, .marker08 .balloon:before,
  .marker09 .balloon:after, .marker09 .balloon:before{
    right:20px;
    left:auto;
  }
  #introduction .map .marker-on-map .marker11 .ankerA + .balloon{
    width:130px;
    margin-left:-60%;
  }
  .marker11 .balloon:after, .marker11 .balloon:before{
    left:20px;
  }
  #introduction .map .marker-on-map .marker11 .ankerA + .balloon .ankerB{
    width:130px;
  }

  #introduction .map .marker-on-map .marker21 .ankerA + .balloon{
    margin-left:-60%;
  }
  .marker21 .balloon:after, .marker21 .balloon:before{
    left:20px;
  }
  #introduction .map .marker-on-map .marker18 .ankerA + .balloon{
    width:130px;
    margin-left:-290%;
  }
  #introduction .map .marker-on-map .marker18 .ankerA + .balloon .ankerB{
    width:130px;
  }

/*
  .marker14 .balloon:after, .marker14 .balloon:before,
  .marker15 .balloon:after, .marker15 .balloon:before,
  .marker16 .balloon:after, .marker16 .balloon:before{
    left:20px;
  }
*/
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products .list-products{
    display: flex;
    flex-wrap:wrap;
    flex-direction: column;
  }
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-products .list-products .product{
    width:50%;
  }
}
@media screen and (max-width: 650px) {
  #introduction .map .marker-on-map{
    margin-top: -2vw;
    margin-left:7%;
  }
}
@media screen and (max-width: 600px) {
  .balloon{
    margin-top: -90px;
    margin-left:-66px;
  }
}
@media screen and (max-width: 550px) {
  #introduction .map .marker-on-map{
    margin-left:6%;
  }
  #introduction .map .marker-on-map .marker .ankerA{
    font-size:12px;
  }
  #introduction .map .marker-on-map .marker .ankerA.mini {
    font-size: 10px;
  }
  .area-for-tmeic-here{
    width:100%;
  }
  .flow-details .item .tmeic-here.products-2col .item-products,
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-products,
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products{
    min-width: auto;
  }
  .flow-details .item .tmeic-here.products-2col .item-products .list-products,
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-products .list-products,
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products .list-products{
    display: flex;
    flex-wrap:wrap;
    flex-direction: column;
    min-width: auto;
  }
  .flow-details .item .tmeic-here.products-2col .item-products .list-products .product,
  .flow-details .item .tmeic-here.products-2col.products-2colb .item-products .list-products .product,
  .flow-details .item .tmeic-here.products-2col.products-2colc .item-products .list-products .product{
    width:100%;
  }
}
@media screen and (max-width: 500px) {
  #introduction .flow .flow-list .item + .item{
    background: url(/pulsation/img/vol05/flow-arw_sp.png.webp) no-repeat left 154px top 0px;
    background-size: 11px 12px;
  }
  #introduction .flow #f10{
    background-position: left 183px top 20px;
  }
  #introduction .flow #f11{
    background-position: left 183px top 3px;
  }
  .balloon{
    margin-top: -80px;
    margin-left:-70px;
  }
  #introduction .map .marker-on-map .marker .ankerA {
    font-size: 10px;
    padding-top: 1px;
  }
  #introduction .map .marker-on-map .marker01{
    bottom: 173px;
    left:  calc(475px + 15px);
  }
  #introduction .map .marker-on-map .marker02{
    bottom: 255px;
    left: calc(573px - 5px);
  }
  #introduction .map .marker-on-map .marker03{
    bottom: 217px;
    left: calc(699px - 10px);
  }
  #introduction .map .marker-on-map .marker04{
    bottom: 327px;
    left: calc(663px - 5px);
  }
  #introduction .map .marker-on-map .marker05{
    bottom: calc(328px - 10px);
    left:  calc(779px - 0px);
  }
  #introduction .map .marker-on-map .marker06{
    bottom: 286px;
    left: calc(839px - 0px);
  }
  #introduction .map .marker-on-map .marker07{
    bottom:  calc(360px + 20px);
    left:  calc(823px - 5px);
  }
  #introduction .map .marker-on-map .marker08{
    bottom:  calc(359px - 0px);
    left:  calc(938px + 10px);
  }
  #introduction .map .marker-on-map .marker09{
    bottom:  calc(392px + 10px);
    left:  calc(870px - 0px);
  }
  #introduction .map .marker-on-map .marker10.marker10a{
    bottom:-490px;
    left:490px;
  }
  #introduction .map .marker-on-map .marker10.marker10b{
    bottom:  calc(401px + 15px);
    left:  calc(715px - 15px);
  }
  #introduction .map .marker-on-map .marker11{
    bottom: 390px;
    left: calc(-37px + 10px);
  }
  #introduction .map .marker-on-map .marker12{
    bottom: 378px;
    left: calc(140px + 10px);
  }
  #introduction .map .marker-on-map .marker13{
    bottom: 469px;
    left: calc(115px + 15px);
  }
  #introduction .map .marker-on-map .marker14{
    bottom: 430px;
    left: calc(180px + 15px);
  }
  #introduction .map .marker-on-map .marker15{
    bottom: calc(434px + 10px);
    left: calc(233px + 15px);
  }
  #introduction .map .marker-on-map .marker16{
    bottom: calc(548px + 15px);
    left: calc(240px + 20px);
  }
  #introduction .map .marker-on-map .marker17{
    bottom: 611px;
    left: calc(374px - 20px);
  }
  #introduction .map .marker-on-map .marker18{
    bottom: 580px;
    left: calc(528px - 10px);
  }
  #introduction .map .marker-on-map .marker25{
    bottom:1050px;
    left:370px;
  }
  #introduction .map .marker-on-map .marker27{
    bottom:310px;
    left: 908px;
  }
  #introduction .map .marker-on-map .marker21{
    bottom:400px;
    left: calc(28px + 10px);
  }
}
@media screen and (max-width: 450px) {
  #introduction .map .marker-on-map{
    margin-left:5%;
  }
  #introduction .map .marker-on-map .marker .ankerA,
  #introduction .map .marker-on-map .marker .ankerA.mini {
    line-height: 1.6;
  }
}
@media screen and (max-width: 400px) {
  #introduction .map .marker-on-map{
    margin-left:4%;
  }
  #introduction .map .marker-on-map .marker .ankerA.mini{
    font-size:7px;
    padding-top:3px;
  }
  .balloon{
    margin-top: -76px;
    margin-left:-71px;
  }
}
@keyframes hopping {
    0%, 100% {
        transform: scale(1);
    }
    30% {
        transform:translate(0,-3px);
    }
    80% {
        transform:translate(0,3px);
    }
}
/* ==========================================================================
   contents
========================================================================== */
#contents{
  background: url(/pulsation/img/common/bg_town.png.webp) repeat-y top center;
  background-color:#f4f4f4;
  padding: 20px 20px 110px;
}
#contents .content{
  max-width:1280px;
  margin: 54px auto;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 7px 7px rgba(0,0,0,0.02);
}

@media screen and (max-width: 700px) {
  #contents{
    background-size: 320%;
  }
}
/* ==========================================================================
   contents - flow
========================================================================== */
#contents .content.flow{
  padding:36px 41px 25px;
}
.flow-details .process-name{
  position: relative;
  background-color: #f00;
  color:#fff;
  text-align: center;
  font-size:30px;
  font-weight: 900;
  border-radius: 10px;
  padding:7px 10px;
  margin-bottom:60px;
}
.flow-details .process-name::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -16px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #f00 transparent transparent transparent;
  border-width: 16px 10px 0 10px;
}
#pnm2,
#pnm3{
  margin-top:76px;
  margin-bottom:30px;
}
.flow-details .item.border_red{
  border:5px solid #f00;
  border-radius: 10px;
  padding:30px 0px 60px;
  margin-top: -18px;
}
.flow-details .item + .item{
  padding-top:29px;
  margin:0px auto 0px;
}
.flow-details .item:has(.mini) + .item{
  padding-top:50px;
}
.flow-details .item + .item::before{
  content:'';
  display: block;
  border-top:2px solid #f00;
  max-width: 1100px;
  margin:0 auto 44px;
}
.flow-details .item .detail{
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  max-width:1200px;
  margin:0px auto;
  position: relative;
}
.flow-details .item .detail .item-txt{
  max-width:calc(100% - 240px);
  width:74.5%;
}
.flow-details .item + .item .detail .item-txt{
  padding-top:5px;
}
.flow-details .item .detail .item-txt .ttl-lv3{
  font-size:32px;
  font-weight: 700;
  display: flex;
  align-items: end;
  margin-bottom:15px;
}
.flow-details .item .detail .item-txt .ttl-lv3 .marker-in-ttl{
  display: inline-block;
  color:#b90000;
  background: url(/pulsation/img/vol05/marker-on-map.png) no-repeat center bottom;
  width:54px;
  height:72px;
  font-size: 26px;
  padding-top: 4px;
  background-position: top center;
  background-size: contain;
  text-align: center;
}
.flow-details .item .mini{
  max-width:calc(100% - 92px);
  width:1096px;
  margin:18px 46px 0px;
  border:solid 3px #b90000;
  border-radius: 10px;
  padding:32px 30px 16px;
}
.flow-details .item .mini .item + .item::before{
  border-top: 2px dashed #b90000;
}
.flow-details .item.border_red + .item::before{
  display: none;
}
.flow-details .item .mini .item .detail .item-img{
  padding-left:0px;
}
.flow-details .item .mini .item .detail .item-txt{
  width:75.5%;
}
.flow-details .item .mini .item-txt .ttl-lv3{
  padding-left:10px;
}
.flow-details .item .mini .item-txt .ttl-lv3 .marker-in-ttl{
  margin-top:5px;
  width:46px;
  min-width: 37px;
  height:65px;
  font-size: 20px;
  background: url(/pulsation/img/vol05/marker-on-map_mini.png.webp) no-repeat center bottom;
  background-size: cover;
  color:#fff;
}
.flow-details .item .detail .item-txt .ttl-lv3 .name-jp{
  display: inline-block;
  padding-left: 15px;
  margin-bottom:5px;
}
.flow-details .item .detail .item-txt .ttl-lv3 + .txt{
  padding-left:10px;
  padding-bottom:57px;
  max-width: 750px;
}
.flow-details .item .detail .item-img{
  max-width:250px;
  width:30%;
  text-align: center;
  padding-left:17px;
}
.detail .item-img-b{
  position: absolute;
  right:22px;
  top:0px;
}
.flow-details .item .detail.d01 > .item-img{
  width: 257px;
  margin-left: 32px;
  padding-left:0px;
}
.flow-details .item .detail.d01 > .item-txt{
  padding-right: 30px;
}
.flow-details .item .detail.d01 > .item-img img{
  margin-top: -12px;
}
.flow-details .item .detail.d02 .item-img img{
  margin-top: 5px;
  margin-left: 50px;
}
.flow-details .item .detail.d03 .item-img img{
  margin-top: 50px;
  margin-left: 45px;
}
.flow-details .item .detail.d04 .item-img img{
  margin-top: 7px;
  margin-left: 49px;
}
.flow-details .item .detail.d05 .item-img img{
  margin-top: 5px;
  margin-left: 45px;
}
.flow-details .item .detail.d06 .item-img{
  max-width: 282px;
  width:100%;
}
.flow-details .item .detail.d06 .item-img img{
  margin-top: 10px;
  margin-left: 15px;
}
.flow-details .item .detail.d07 .item-img img{
  margin-top: 24px;
  margin-left: 50px;
}
.flow-details .item .detail.d08 .item-img img{
  margin-top: 50px;
  margin-left: 50px;
}
.flow-details .item .detail.d09 .item-img img{
  margin-top: 45px;
  margin-left: 44px;
}
.flow-details .item .detail.d10 .item-img img{
  margin-top: 20px;
  margin-left: 50px;
}
.flow-details .item .detail.d11 .item-img img{
  margin-top: 27px;
  margin-left: 48px;
}
.flow-details .item .detail.d12 .item-img img{
  margin-top: 40px;
  margin-left: 50px;
}
.flow-details .item .detail.d13 .item-img img{
  margin-top: 20px;
  margin-left: 44px;
}
.flow-details .item .detail.d14 .item-img img{
  margin-top: 24px;
  margin-left: 50px;
}
.flow-details .item .detail.d15 .item-img img{
  margin-top: 48px;
  margin-left: 45px;
}
.flow-details .item .detail.d16 .item-img img{
  margin-top: -8px;
  margin-left: 40px;
}
.flow-details .item .detail.d17 .item-img img{
  margin-top: 20px;
  margin-left: 50px;
}
.flow-details .item .detail.d18 .item-img img{
  margin-top: 10px;
  margin-left: 25px;
}
.flow-details .item .detail.d25 .item-img img{
  margin-top: 20px;
}
.flow-details .item .detail.d27 .item-img img{
  margin-top: 20px;
  margin-left: -50px;
}
.flow-details .item .detail.d21 .item-img img{
  margin-top: 15px;
  margin-left: -42px;
}


.flow-details .item .detail.d07 + .mini{
  margin-top:-10px;
}
.flow-details .item .detail.d07 + .mini .tmeic-here{
  margin-top:-10px;
}
.flow-details .item .detail.d08 + .tmeic-here{
  margin-top:-10px;
}
.flow-details .item .detail.d08 + .tmeic-here .item-img img{
  margin-top: 38px;
  margin-left: 17px;
}
.flow-details .item .detail.d09 + .tmeic-here{
  margin-top:-10px;
}
.flow-details .item .detail.d11 + .mini{
  margin-top:5px;
}
.flow-details .item .detail.d11 + .tmeic-here{
  margin-top:-10px;
}
.flow-details .item .detail.d14 + .tmeic-here{
  margin-top:7px;
}
.flow-details .item .detail.d14 + .tmeic-here .item-img img{
  margin-top: 28px;
  margin-left: 55px;
}
.flow-details .item .detail.d15 + .tmeic-here{
  margin-top:-10px;
}
.area-for-tmeic-here{
  margin-top:30px;
}

@media screen and (max-width: 1024px){
  .flow-details .item .detail {
    align-items: center;
  }
  .flow-details .item .detail .item-img,
  .flow-details .item .detail.d03 .item-img,
  .flow-details .item .detail.d06 .item-img{
    max-width:200px;
  }
  .flow-details .item .detail .item-txt{
    max-width: calc(100% - 210px);
  }
  .flow-details .item .mini .item .detail .item-txt{
    max-width: calc(100% - 150px);
  }
  .flow-details .item .detail .item-txt .ttl-lv3{
    font-size:28px;
  }
  .flow-details .item .tmeic-here{
    flex-direction: column;
  }
  .flow-details .item .tmeic-here .item-txt,
  .flow-details .item .tmeic-here .item-products{
    width:100%;
  }
  .flow-details .item .tmeic-here .item-products{
    width:100%;
  }
  .flow-details .item .tmeic-here .item-products .list-products .product{
    width: 80%;
    max-width: 216px;
    margin: 30px auto 19px;
  }
  .flow-details .item .detail.d08 + .tmeic-here .item-img,
  .flow-details .item .detail.d14 + .tmeic-here .item-img{
    text-align: center;
  }
  .flow-details .item .detail.d03 .item-img img{
    margin-left: calc(50px * 0.5);
  }
  .flow-details .item .detail.d08 .item-img img{
    margin-left: calc(50px * 0.5);
  }
  .flow-details .item .detail.d10 .item-img img{
    margin-left: calc(50px * 0.5);
  }
  .flow-details .item .detail.d11 .item-img img{
    margin-left: calc(50px * 0.5);
  }
  .flow-details .item .detail.d13 .item-img img{
    margin-left: calc(44px * 0.5);
  }
  .flow-details .item .detail.d16 .item-img img{
    margin-left: calc(40px * 0.5);
  }
  .flow-details .item .detail.d18 .item-img img{
    margin-left: calc(25px * 0);
  }
}

@media screen and (max-width: 768px){
  .flow-details .item .detail.d01 .item-img-b{
    top: -103px;
  }
  .flow-details .item .detail.d02 .item-img-b{
    top: -67px;
  }
}

@media screen and (max-width: 700px){
  #contents .content.flow{
    display: none;
  }
  .flow-details .item .detail .item-txt .ttl-lv3 .name-jp .under1200,
  .flow-details .item .detail .item-txt .ttl-lv3 .name-jp .under1100{
    display: none;
  }
  .flow-details .process-name{
    width:100%;
    font-size:20px;
  }
  .d01 .item-img-b{
    right: 0px;
    top: 30px;
  }
  .d02 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d03 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d04 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d05 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d06 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d07 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d08 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d09 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d10 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d11 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d12 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d13 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d14 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d15 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d16 .item-img-b{
    right: 0px;
    top: 50px;
  }
  .d01 .item-img-b img{
    width: calc( 177px * 0.6);
  }
  .d02 .item-img-b img{
    width: calc( 176px * 0.6);
  }
  .d03 .item-img-b img{
    width: calc( 180px * 0.6);
  }
  .d04 .item-img-b img{
    width: calc( 242px * 0.6);
  }
  .d05 .item-img-b img{
    width: calc( 272px * 0.6);
  }
  .d06 .item-img-b img{
    width: calc( 156px * 0.6);
  }
  .d07 .item-img-b img{
    width: calc( 320px * 0.6);
  }
  .d08 .item-img-b img{
    width: calc( 153px * 0.6);
  }
  .d09 .item-img-b img{
    width: calc( 195px * 0.6);
  }
  .d10 .item-img-b img{
    width: calc( 187px * 0.6);
  }
  .d11 .item-img-b img{
    width: calc( 139px * 0.6);
  }
  .d12 .item-img-b img{
    width: calc( 106px * 0.6);
  }
  .d13 .item-img-b img{
    width: calc( 160px * 0.6);
  }
  .d14 .item-img-b img{
    width: calc( 172px * 0.6);
  }
  .d15 .item-img-b img{
    width: calc( 172px * 0.6);
  }
  .d16 .item-img-b img{
    width: calc( 204px * 0.6);
  }
}
@media screen and (max-width: 500px){
  .flow-details .item .detail .item-txt .ttl-lv3 .name-jp .under1200{
    display: inline;
  }
  .d07 .item-img-b img{
    width: calc( 320px * 0.4);
  }
}
/* ==========================================================================
   modal - flow
========================================================================== */
#m00{
  display: none;
  position: absolute;
  padding:50px 20px;
  top:1000px;
  max-width: 100%;
  margin:0 auto;
  z-index:5;

}
#bg-for-modalclose{
  position: absolute;
  display: none;
  width: 100%;
  height: 100%;
  content: "";
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color: rgba(0,0,0,0.3);
  z-index:3;
}
@media screen and (max-width: 700px){
  #m00{
    left: 0px;
    right: 0px;
    width:auto;
    height:auto;
    padding:0px;
    margin-top:50px;
  }
  #m00 .flow-details{
    background-color: #fff;
    border-radius: 10px;
    padding:10px 20px 20px;
    border: solid 1px  rgba(0,0,0,0.7);
    width:calc(100vw - 40px);
    margin:0px 20px 0px 20px;
  }
  #m00 .flow-details .item .detail{
    flex-direction: column;
  }
  .flow-details .item .detail .item-txt{
    max-width:100%;
    width:100%;
  }
  .flow-details .item .detail .item-txt .ttl-lv3 {
    margin-left: -8px;
  }
  .flow-details .item .detail .item-txt .ttl-lv3 .marker-in-ttl {
    width: calc(54px * 0.5);
    height: calc(76px * 0.5);
    font-size:  calc(30px * 0.5);
    padding-top:2px;
  }
  .flow-details .item .detail .item-txt .ttl-lv3 .marker-in-ttl.minimarker{
    width: calc(54px * 0.5);
    height: calc(76px * 0.5);
    font-size:  calc(30px * 0.35);
    color:#fff;
    padding-top:3px;
    background: url(/pulsation/img/vol05/marker-on-map_mini.png.webp) no-repeat center bottom;
    background-size: contain;
  }
  .flow-details .item .detail .item-txt .ttl-lv3 .name-jp{
    font-size:  calc(36px * 0.5);
    padding-left: 3px;
    padding-top: 13px;
  }
  .flow-details .item .detail .item-img{
    max-width:100%;
    width:100%;
    margin-left:0px;
  }
  .flow-details .item .detail .item-txt .txt {
    font-size:13px;
    margin-top:12px;
    line-height: 2;
  }
  .btn-modalclose{
    text-align: right;
    padding: 10px 10px 0px 0px;
  }
}

#here-tmeic{
  display: none;
  position: absolute;
  padding:87px 20px;
  top:1000px;
  max-width: 1150px;
  margin:0 auto;
  z-index:5;
  right:0px;
  left:0px;
  background-color: #fff;
  text-align: center;
}
#here-tmeic .ttl-here{
  background-color: #f00;
  color:#fff;
  font-size:24px;
  max-width: 1022px;
  font-size:32px;
  font-weight: 900;
  margin:0 auto 33px;
  padding: 5px;
  border-radius: 10px;
}
#here-tmeic .ttl-lv2{
  font-size: 38px;
}
#here-tmeic .ttl-lv2::after {
  margin: 13px auto 42px;
}
#here-tmeic .ttl-lv3{
  font-size: 32px;
  margin-bottom:52px;
}
#here-tmeic .ttl-here + .ttl-lv3{
  margin-top:66px;
  margin-bottom:57px;
}
#here-tmeic .txt{
  font-size:16px;
  line-height:1.85;
}
#here-tmeic .img__big{
  margin:67px auto 26px;
}
#here-tmeic .img__big + .ttl-lv2{
  margin-top: 88px;
}
#here-tmeic .border-red{
  border:solid 2px #f00;
  border-radius: 10px;
  max-width:1024px;
  margin:0 auto;
  padding:50px;
}
#here-tmeic .border-red .img4_03{
  margin:14px auto 5px;
}
#here-tmeic .btn-modalclose{
  position: absolute;
  right: 10px;
  bottom: -50px;
}
@media screen and (max-width: 700px){
  #here-tmeic{
    left: 0px;
    right: 0px;
    height:auto;
    padding:20px 10px;
    margin-top:50px;
  }
  #here-tmeic .ttl-here{
    font-size:15px;
    max-width: 300px;
    border-radius: 5px;
    margin: 0 auto 15px;
  }
  #here-tmeic .ttl-lv2 {
    font-size: 24px;
  }
  #here-tmeic .ttl-lv2::after {
    margin: 13px auto 22px;
  }
  #here-tmeic .ttl-lv3 {
    font-size: 16px;
    margin-bottom: 20px;
  }
  #here-tmeic .txt {
    font-size: 11px;
    line-height: 1.85;
  }
  #here-tmeic .img__big {
    margin: 14px auto 0px;
  }
  #here-tmeic .flow-details{
    background-color: #fff;
    border-radius: 10px;
    padding:10px 20px 20px;
    border: solid 1px  rgba(0,0,0,0.7);
    width:calc(100vw - 40px);
    margin:0px 20px 0px 20px;
  }
  #here-tmeic .img__big + .ttl-lv2 {
    margin-top: 30px;
  }
  #here-tmeic .txt + .txt {
    margin-top: 17px;
  }
  #here-tmeic .flow-details .item .detail{
    flex-direction: column;
  }
  #here-tmeic .border-red{
    margin-top: 38px;
    padding:22px 20px;
    border-radius: 5px;
  }
  #here-tmeic .ttl-here + .ttl-lv3 {
    margin-top: 23px;
    margin-bottom: 21px;
  }
  #here-tmeic .border-red .img4_03{
    max-width:94px;
    margin-bottom:0px;
  }
}
/* ==========================================================================
   .cooperation
========================================================================== */
.cooperation{
  text-align: center;
}
.cooperation a{
  background-color: #fff;
  padding:5px 10px;
}
.cooperation .blank{
  padding-left:15px;
  background:url('/img/common/blank.png') no-repeat left center;
  background-size: 10px 10px;
}
@media screen and (max-width: 700px){
  .cooperation{
    font-size:13px;
    margin-bottom: 22px;
  }
}


/* ==========================================================================
   contents - related
========================================================================== */
#contents .content.related{
  padding:66px 65px 60px;
}
#contents .content.related .related-column{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1024px;
  margin:50px auto 10px;
}
#contents .content.related .related-column .item{
  max-width:320px;
  margin-bottom:63px;
  width:32%;
}
#contents .content.related .related-column .item .vol_nu{
  display: inline-block;
  margin-top: 5px;
  padding-bottom: 3px;
  border-bottom: solid 2px #000;
}
#contents .content.related .related-column .item .ttl-column{
  display: block;
  font-size: 18px;
  font-weight: 700;
  margin: 17px 0px 13px
}
#contents .content.related .related-column .item .copy-column{
  display: block;
  font-size:14px;
}
#contents .content.related .related-technology{
  margin:43px auto 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#contents .content.related .related-technology .item{
  margin-bottom:26px;
}

@media screen and (max-width: 800px){
  #contents .content .ttl-lv2{
    font-size:25px;
  }
}

@media screen and (max-width: 700px){
  #contents{
    padding:21px 20px 26px;
  }
  #contents .content.related{
    padding: 20px 20px 20px;
    margin-top: 0px;
  }
  #contents .content .ttl-lv2{
    font-size:24px;
    line-height: 1.7;
  }
  #contents .content .ttl-lv2::after{
    margin:14px auto;
    height:4px;
  }
  #contents .content.related .related-column .item{
    width:49%;
  }
}
@media screen and (max-width: 500px){
  #contents .content.related .related-column{
    flex-direction: column;
    align-items: center;
    margin-top:30px;
  }
  #contents .content.related .related-column .item{
    width:100%;
    margin-bottom: 43px;
  }
  #contents .content.related .related-column .item:nth-child(2){
    margin-bottom: 20px;
  }
  #contents .content.related .related-column .item:last-child{
    margin-bottom: 38px;
  }
  #contents .content.related .related-column .item .vol_nu{
    font-size:15px;
  }
  #contents .content.related .related-column .item .ttl-column {
    font-size: 17px;
    margin: 14px 0px 11px;
  }
  #contents .content.related .related-column .item .copy-column {
    font-size: 13px;
    padding-bottom: 7px;
  }
  #contents .content.related .related-column .item .ttl-column:last-child{
    margin-bottom:0px;
  }
  #contents .content.related .related-column{
    margin-bottom:0px;
  }
  #contents .content.related .related-technology{
    margin-top:35px;
  }
  #contents .content.related .related-technology .item {
    margin-bottom: 6px;
  }
}
