@charset "utf-8";

.logo_area h1 a span{
  text-indent: -9999px;
  display: inline-block;
}
#contents{
  padding-top: 0;
  background: url(../images/concept_bg.png) no-repeat center top;
  width:100%;
}
.concept{
  width:1000px;
  margin:0 auto;
  overflow:hidden;
  margin-bottom: 14px;
}
.img img{
  padding: 121px 0 0px 102px;
}
.img{
  margin-bottom: 170px;
}
.text{
  width: 522px;
  float: right;
  padding-right: 114px;
}
.text p{
  margin-bottom:24px;
}
#t1 {
  margin-top:40px;
  border-top: 1px solid #ffafcd;
  width: 900px;
  height: 801px;
  font-size: 14px;
  line-height: 26px;
  position: relative;
}
#t2 span.t2,
#t2 i,
#t1 span,
.concept p + .text{
  font-family:
   "ヒラギノ明朝 ProN W6",
   "HiraMinProN-W6",
   "HG明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   "MS 明朝",
   serif;
}
#t1 span{
  width: 514px;
  display: block;
  position: absolute;
  left: 313px;
  top: 56px;
}
#t2 {
  border-top: 1px solid #ffafcd;
  font-size: 14px;
  line-height: 26px;
  width: 900px;
  height: 796px;
  position: relative;
}
#t2 i{
  display:block;
  width: 517px;
  left: 313px;
  top: 54px;
  position: absolute;
}
#t2 span.t2{
  font-size: 12px;
  line-height: 21px;
  width: 517px;
  display: block;
  position: absolute;
  left: 313px;
  top: 162px;
}
#t2 span.t2 span{
  color:#e95189;
}
a.t2{
  float:right;
}
#ls {
  border-top: 1px solid #ffafcd;
  padding: 61px 0 15px 179px;
  background: url(/images/bg_concept_f.png) no-repeat 51px 44px;
  margin: 50px 0 0;
  font-size: 14px;
}
#link{
  width: 900px;
  margin-top: 29px;
}
.zoom_bg,
.zoom{
  background: #fbf9fc !important;
}
.zoom p{
  text-align: center;
}
.zoom p.zoom_img{
  padding-top: 65px;
}
.zoom p.zoom_copy{
  font-size: 11px;
  padding: 40px 0 100px;
}
.zoom p.zoom_copy span{
  font-size: 10px;
}
#t1 p,
#t2 p{
  position: absolute;
  bottom: -9px;
}
.ttl001{
  position: absolute;
  left: 53px;
  top: 60px;
}
.ttl002{
  position: absolute;
  left: 53px;
  top: 56px;
}
@media screen and (max-width: 1015px) {
  #contents{
    background: url(../images/concept_bg.png) no-repeat -250px top;
  }
  .zoom p.zoom_img img{
    width: 90%;
  }
}

@media screen and (max-width: 960px){
  #contents{
    background: url(../images/concept_bg.png) no-repeat -400px 120px;
  }
  .concept{ width:100%;}
  .concept h1{ margin-left: 20px;}
  .concept p + .text{
    width: 70%;
    float: none;
    padding-right: 0;
    margin: 40px 5% 0 25%;
  }
  #t1, #t2{
    width: auto;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 4em;
  }
  .ttl001, .ttl002{
    position: inherit;
    left: auto;
    top: auto;
    width: 35%;
    text-align: center;
  }
  #t1 span{
    position: inherit;
    left: auto;
    top: auto;
    width: 60%;
    margin-right: 5%;
  }
  #t2 i,#t2 span.t2{
    position: inherit;
    left: auto;
    top: auto;
    width: auto;
  }
  #t2 i{ margin-bottom: 20px;}
  #t2 .flex-wrap{
    width: 60%;
    margin-right: 5%;
  }
  #t1 p,#t2 p{
    position: inherit;
    bottom: auto;
    margin-top: 3em;
  }
  #t1 p img, #t2 p img{ width: 100%;}
  #link{ width: 100%;}

  #ls{
    background: url(/images/bg_concept_f.png) no-repeat center 50px;
    padding: 120px 0 15px;
    text-align: center;
  }
}

@media screen and (max-width: 700px){
  #contents{
    background: url(../images/concept_bg.png) no-repeat 57% 50px;
    background-size: 940px;
  }
  .concept h1{
    margin-left: 5px;
    margin-right: 100px;
  }
  .concept h1 img{ width: 100%;}
  .concept p + .text{     
    width: 90%;
    margin: 30px auto;}

  .ttl001, .ttl002{ width: 100%; margin-bottom: 20px;}
  #t1 span,#t2 .flex-wrap{
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  #link{ margin-top: 20px;}
  #link a + a{ margin-top: 20px;}
  #link a + a img{ width: 100%;}
}
.nav_concept a {
    font-size: 14px;
    display: inline-block;
    float: left;
    background: url(/images/icon01.png) no-repeat right 50%;
    padding-right: 25px;
}