.swiper-wrapper{
    width:100%;
    max-width:2400px;
    margin: 80px auto 0 auto;
}

.slide-img img{
	width:100%;
	max-width: 2400px;
}


@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.12);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;  
}

/*imgタグだと下に隙間ができるのでblockに。*/

.slide-img img{
  display: block;
}

.mainimg{
    position: relative;
	width: 100%;
	margin: 0 auto;
	max-width: 2400px;
	text-align: center;
}
.mainimg img{
	width: 100%;
	max-width: 2400px;
	text-align: center;
}


.maincopy{
    position: absolute;
    z-index: 100;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.maincopy img{
    padding: 0 7px;
}

@media screen and (max-width: 940px) {
    .maincopy{
    position: absolute;
    z-index: 100;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.maincopy img{
    padding: 0 5px;
    width:42px;
}
    
}


.concept{
    width:100%;
    max-width:1200px;
    margin: 70px auto 70px auto;
}

.concept.under{
    margin: 50px auto 30px auto;
}



@media screen and (max-width: 940px) {
    
    .concept{
    width:100%;
    max-width:1200px;
    margin: 30px auto 30px auto;
}
.concept.under{
    margin: 20px auto 30px auto;
}
	
}


.img-wrap {
  opacity: 0;
}
.img-wrap img{
  width:100%;
	height:auto;
}

/*
.img-wrap.under img{
  position: absolute;
	left: 0;
	top:0;
}
*/

.img-wrap.under {
  opacity: 1;
}



.img-wrap.run {
opacity: 1;
  overflow: hidden;
  position: relative;
}

.img-wrap.run:before {
  animation: img-wrap 1s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index:1;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}


ul.conceptmenu{
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0;
}

ul.conceptmenu li{
    width:50%;
    float: left;
    margin: 0 ;
    padding: 0;
}

/*
ul.topmenu{
    width:98%;
    max-width:1200px;
    list-style: none;
    margin: 0 auto 70px auto;
    padding: 0;
    
}

ul.topmenu li{
    float:left;
    width:27.33%;
    margin: 0 3%;
    padding: 0;
    text-align: center;
}
*/

ul.topmenu{
    width:98%;
    max-width:800px;
    list-style: none;
    margin: 0 auto 70px auto;
    padding: 0;
    
}

ul.topmenu li{
    float:left;
    width:44%;
    margin: 0 3%;
    padding: 0;
    text-align: center;
}


ul.topmenu li h3{
   font-size:30px;
  font-family: 'Cormorant Garamond', serif;
font-weight: 500;
line-height: 27px;
padding: 12px 0 0 0;
letter-spacing: 0.05em;
}

ul.topmenu li h3 span{
   font-size:14px;
  font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: normal;
}

@media screen and (max-width: 940px) {
    
ul.topmenu li h3{
   font-size:18px;
  font-family: 'Cormorant Garamond', serif;
font-weight: 500;
line-height: 16px;
padding: 6px 0 0 0;
letter-spacing: 0.05em;
}

ul.topmenu li h3 span{
   font-size:9px;
  font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: normal;
}
    
}



h3.sub_title{
   font-size:42px;
  font-family: 'Cormorant Garamond', serif;
font-weight: 500;
line-height: 30px;
padding: 12px 0 0 0;
letter-spacing: 0.05em;
text-align: center;
}

h3.sub_title span{
   font-size:15px;
  font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: normal;
color:#00A73C;
}

@media screen and (max-width: 940px) {
    
h3.sub_title{
   font-size:30px;
  font-family: 'Cormorant Garamond', serif;
font-weight: 500;
line-height: 21px;
padding: 6px 0 0 0;
letter-spacing: 0.05em;
}

h3.sub_title span{
   font-size:12px;
  font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: normal;
}
    
}





ul.topmenu li a{
    color:#444;
}
ul.topmenu li a:hover{
    text-decoration: none;
}
ul.topmenu li a h3 span{
    color:#00A73C;
}

ul.topmenu li img{
    padding:0 0 8px 0;
}




@media screen and (max-width: 940px) {
    
ul.topmenu{
    width:98%;
    max-width:1300px;
    list-style: none;
    margin: 0 auto 30px auto;
    padding: 0;
    
}
ul.topmenu li{
    /*float:left;
    width:29.33%;
    margin: 0 2%;*/
    padding: 0;
    text-align: center;
    font-size: 12px;
} 
    
ul.topmenu li img{
    padding:0 0 4px 0;
}
    
}




.topics{
    width: 100%;
    background: #F8F8F8;
    padding: 40px 0;
    margin: 0 auto 70px auto;
}
.topics.under{
    width: 100%;
    background: #FFF;
    padding: 150px 0 100px 0;
    margin: 0px auto 0px auto;
}
.topics.under .p_list{
   margin-bottom: 1.5em;
}





@media screen and (max-width: 940px) {
.topics.under{
    padding: 90px 0 60px 0;
    margin: 0px auto 0px auto;
}
}

.topics a{
    color:#444;
}

.topics_detail .topic_cont h2{
    font-size:24px;
    margin: 0;
    padding: 1.8em 0 1.5em 0;
    line-height: 1.4em;
    text-align: left;
    
}


@media screen and (max-width: 940px) {
    
.topics_detail .topic_cont h2{
    font-size:18px;
    padding: 1.8em 0 1.5em 0;
    
}  
    
.topics{
    width: 100%;
    text-align: center;
    padding: 10px 0;
    margin: 0 0 30px 0;
}   
    
}

ul.topics_ph{
    margin: 0; padding: 0;
    list-style: none;
}

ul.topics_ph li{
    margin: 0 0.5% 1em 0.5%; padding: 0;
    list-style: none;
    width:49%;
    float: left;
}

@media screen and (max-width: 940px) {
    
    ul.topics_ph li{
    margin: 0 0 1em 0; padding: 0;
    list-style: none;
    width:100%;
    float: none;
        text-align: center;
}
}

.topic_cont{
    width:92%;
    max-width:900px;
    margin: 0 auto;
    padding: 5px 0 0px 0;
}

.topic_cont dl{
    margin: 1.5em 0 0 0;
    padding: 0 0 1.5em 0;
    font-size: 14px;
    border-bottom:1px solid #DDD;
}

.topics_detail .topic_cont dl{
    margin: 1.5em 0 0 0;
    padding: 0 0 1.5em 0;
    font-size: 18px;
    border-bottom:1px solid #DDD;
}

@media screen and (max-width: 940px) {
    
    .topics_detail .topic_cont dl{
    margin: 1.5em 0 0 0;
    padding: 0 0 1.5em 0;
    font-size: 15px;
    border-bottom:1px solid #DDD;
}
}

.topic_cont dl:before, .topic_cont dl:after {
  content: " ";
  display: table; }
.topic_cont dl:after {
  clear: both; }


.topic_cont dt{
    margin: 0;
    padding: 0;
    float: left;
    font-weight: normal;
    width:7em;
}

.topic_cont dd{
    margin: 0;
    padding: 0;
    float: left;
    font-weight: normal;
    width:auto;
}

.topic_cont dd.ic{
    margin: -0.2em 0.8em 0 0;
    padding: 0.2em 0 0.1em 0;
    float: left;
    font-weight: normal;
    width:5.5em;
    text-align: center;
    color: #FFF;
    font-size:90%;
}
.topics_detail .topic_cont dd.ic{
    margin: -0.2em 0.8em 0 0;
    padding: 0.2em 0 0.1em 0;
    float: right;
    font-weight: normal;
    width:5.5em;
    text-align: center;
    color: #FFF;
    font-size:90%;
}

.topic_cont dd.ic.cate1,
.topic_cont dd.ic[data-category="news"] {
    background: #EF4524;
}
.topic_cont dd.ic.cate2,
.topic_cont dd.ic[data-category="topic"] {
    background: #6F48BD;
}
.topic_cont dd.ic.cate3,
.topic_cont dd.ic[data-category="case"] {
    background: #00A73C;
}
.topic_cont dd.ic.cate4,
.topic_cont dd.ic[data-category="prod"] {
    background: #2B4F9B;
}


@media screen and (max-width: 940px) {
    
  .topic_cont dl{
    margin: 1.5em 0 0 0;
    padding: 0 0 1.5em 0;
    font-size: 12px;
    border-bottom:1px solid #DDD;
}



.topic_cont dt{
    margin: 0;
    padding: 0 0 0.4em 0;
    float: left;
    font-weight: normal;
    width:7em;
    text-align: left;
}
.topic_cont dd{
    margin: 0;
    padding: 0;
    float: left;
    font-weight: normal;
    width:auto;
    text-align: left;   
}

}




ul.products{
    width:95%;
    margin:0 auto 80px auto;
    list-style: none;
    padding: 0;
    max-width: 1174px;
}
ul.products li{
   float:left;
    width:50%;
}

@media screen and (max-width: 940px) {
    
 ul.products{
    width:95%;
    margin:0 auto 0px auto;
    list-style: none;
    padding: 0;
    max-width: 1174px;
}
ul.products li{
   float:none;
    width:100%;
    padding: 0 0 30px 0;
    text-align: center;
}
    
}


.prd_search{
    width:92%;
    max-width:1000px;
    margin: 0 auto;
    padding: 10px 0 0 0;
}

@media screen and (max-width: 940px) {
    
.prd_search{
    padding: 0px 0 0 0;
}
    
}

.prd_search h4{
    text-align: center;
    font-size:20px;
    font-weight:normal;
    line-height: 1.2em;
    padding: 1em 0;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    margin: 0;
}

@media screen and (max-width: 940px) {
    .prd_search h4{
    font-size:15px;
    padding: 0.8em 0;
}
    
}

.tri {
    position: relative;
}
.tri::before {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  /*right: 50%;*/
  width: 20px;
  height: 20px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(135deg);
    background: #FFF;
  margin: 0 auto 30px auto;
  left: 0;
  right: 0;
}

.search_area{
    padding: 35px 0 0 0;
}

@media screen and (max-width: 940px) {
    
.search_area{
    padding: 25px 0 0 0;
}
    
}

ul.search_use{
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

@media screen and (max-width: 940px) {
    
    ul.search_use{
    margin: 0 0 10px 0;
}
}


ul.search_use li{
    float:left;
    width:48%;
    padding: 0;
    margin: 0 1% 35px 1%;
}

@media screen and (max-width: 800px) {
    
ul.search_use li{
    float:none;
    width:100%;
    padding: 0;
    margin: 0 auto 35px auto;
}  
    
}


ul.search_use li ul {
    width:100%;
    padding: 0;
    margin: 8px 0 0 0;
}

ul.search_use li ul li{
    list-style: none;
    float:left;
    width:48%;
    padding: 8px 0 6px 0;
    margin: 0 1% 0 1%;
    font-size:13px;
    line-height: 1.2em;
}

@media screen and (max-width: 940px) {
    
ul.search_use li ul li{
    font-size:11px;
}
}


ul.search_use li ul li a{
    color:#333;
}
ul.search_use li ul li a:hover{
    color:#333;
    text-decoration: underline;
}
@media screen and (max-width: 940px) {
	ul.search_use li ul li a:hover{
    text-decoration: none;
}
}

ul.search_use li ul.use_a li a i{
    color:#009045;
    padding: 0 0.2em 0 0;
}
ul.search_use li ul.use_b li a i{
    color:#3657A0;
    padding: 0 0.2em 0 0;
}
ul.search_use li ul.use_c li a i{
    color:#EF4524;
    padding: 0 0.2em 0 0;
}
ul.search_use li ul.use_d li a i{
    color:#E2B836;
    padding: 0 0.2em 0 0;
}





ul.search_type{
    list-style: none;
    padding: 0 0 40px 0;
    margin: 0;
}

ul.search_type li{
    float:left;
    width: 23%;
    padding: 0 0 15px 0;
    margin: 0 1%;
}

@media screen and (max-width: 940px) {
    
ul.search_type{
    list-style: none;
    padding: 0 0 30px 0;
    margin: 0;
}

ul.search_type li{
    float:left;
    width: 48%;
    padding: 0 0 10px 0;
    margin: 0 1%;
}  
    
}


ul.search_type li a{
    color:#444;
}
ul.search_type li a:hover table td{
    color:#444;
    text-decoration: underline;
}

ul.search_type li table th{
    padding: 0 6px 0 0;
}
ul.search_type li table th img{
    width:36px;
}
ul.search_type li table td{
    padding: 0 0px 0 0;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.3em;
}

@media screen and (max-width: 940px) {
    
ul.search_type li table th img{
    width:30px;
}
ul.search_type li table td{
    font-size: 11px;
}
    
}





.foot_com{
    width:100%;
   background:url("../common/images/bg_com.jpg");
    background-size: cover;
    text-align: center;
    padding: 85px 0;
    /*background-attachment:fixed;*/
}
/*.foot_com img{
    width:310px;
   padding-top:85px;
}*/

.foot_com .address{
    width:295px;
   margin:0 auto;
    padding:35px 15px;
    border-top:1px solid #FFF; 
    border-bottom:1px solid #FFF; 
    text-align: center;
}
.foot_com .address p{
    color: #FFF;
    text-align: left;
    line-height: 1.5em;
    margin: 0;
    padding: 20px 0 0 0;
    font-size:14px;
}


@media screen and (max-width: 940px) {
    
.foot_com{
    width:100%;
   background:url("../common/images/bg_com.jpg");
    /*height:210px;*/
    background-size: cover;
    text-align: center;
    padding: 40px 0;
}
/*.foot_com img{
    width:225px;
   padding-top:40px;
}
*/
    
.foot_com .address{
    width:250px;
   margin:0 auto;
    padding:25px 10px;
    border-top:1px solid #FFF; 
    border-bottom:1px solid #FFF; 
    text-align: center;
}
.foot_com .address p{
    color: #FFF;
    text-align: left;
    line-height: 1.5em;
    margin: 0;
    padding: 15px 0 0 0;
    font-size:12px;
}
 
    
    
}


.btn_contact{
    position:fixed;
    right:0;
    top:140px;
    z-index: 1000;
	width:58px;
}


.swiper-slide p{
	position: absolute;
	z-index: 9999;
}


@keyframes FadeAni {
  0% { opacity: 0; transform: translateY( -25% ) translateX( -50% )  }
  20% { opacity: 1; transform: translateY(-50%) translateX( -50% )  }
	80% { opacity: 1; transform: translateY(-50%) translateX( -50% )  }
  100% { opacity: 0; transform: translateY(-50%) translateX( -50% )  }
}


/*****************************

画面ロード

*****************************/


#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    transition: all 1.5s;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#loading.loaded {
        opacity: 0;
        visibility: hidden;
    }
#loading img{
	width:100px;
}
