  @charset "UTF-8";
.mainvisual .tit{
  max-width: 710px;
}
@media screen and (max-width: 767px) {
  .mainvisual .tit{
    max-width: none;
    width: 60%;
  }
}

.conts{
  color: #866659;
}
.conts .inner{
  position: relative;
  width: 100%;
  margin: 0 auto;
  background: url(/bunjyo/dazaifukokubu/img/concept/concept-bg_n.png) no-repeat top center / cover #f1eee5;
  padding: 100px 0 200px;
}
.conts .inner > .ill{
  position: absolute;
  bottom: 0;
  right: 6%;
  max-width: 410px;
  width: 32%;
}
@media screen and (max-width: 767px) {
  .conts{
  }
  .conts .inner{
    background: url(/bunjyo/dazaifukokubu/img/concept/concept-bg_n_sp.png) no-repeat top center / cover #f1eee5;
    padding: 50px 0 20%;
  }
  .conts .inner > .ill{
    position: absolute;
    bottom: 1%;
    right: 6%;
    max-width: none;
    width: 38%;
  }
}

.conts .inner .intro{
  position: relative;
  padding: 100px 0 0;
  margin: 0 0 150px;
}
.conts .inner .intro .midashi{
  max-width: 470px;
  width: 50%;
  margin: 0 auto 90px;
}
.conts .inner .intro .p01{
  position: absolute;
  top: 0;
  right: 5%;
  max-width: 310px;
  width: 30%;
}
.conts .inner .intro .p02{
  position: absolute;
  top: 30%;
  left: 0;
  max-width: 545px;
  width: 30%;
}
.conts .inner .intro .p02 span{
  right: inherit;
  left: 5px;
}
.conts .inner .intro .p03{
  max-width: 895px;
  width: 50%;
  margin-left: auto;
}
.conts .inner .intro .ill{
  position: absolute;
  left: 12%;
  top: 58%;
  max-width: 380px;
  width: 30%;
}
.conts .inner .intro .ill .txt{
  display: block;
  margin-top: 5px;
  text-align: center;
  font-size: clamp(10px, 1.4vw, 20px);
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .conts .inner .intro .midashi{
    max-width: none;
    width: 31%;
    margin: 0 auto 6%;
  }
  .conts .inner .intro .p01{
    max-width: none;
    width: 20.5%;
  }
  .conts .inner .intro .p02{
    max-width: none;
  }
  .conts .inner .intro .p03{
    max-width: none;
    width: 55%;
    margin-left: auto;
  }
  .conts .inner .intro .ill{
    left: 14%;
    top: 56%;
    max-width: none;
    width: 26%;
  }
}
@media screen and (max-width: 767px) {
  .conts .inner .intro{
    padding-top: 30px;
    margin: 0 0 70px;
  }
  .conts .inner .intro .midashi{
    width: 50%;
    margin: 0 0 20px 8%;
  }
  .conts .inner .intro .p01{
    top: 30px;
    right: 0;
    width: 36%;
  }
  .conts .inner .intro .p02{
    position: relative;
    top: initial;
    left: initial;
    width: 50%;
    margin: 0 0 60px;
  }
  .conts .inner .intro .p02 span{
    right: inherit;
    left: 5px;
  }
  .conts .inner .intro .p03{
    width: 80%;
  }
  .conts .inner .intro .ill{
    position: absolute;
    left: inherit;
    top: 46%;
    right: 6%;
    width: 50%;
  }
  .conts .inner .intro .ill img{
    display: block;
    transform: scale(-1,1);
    width: 60%;
    margin-left: auto;
  }
  .conts .inner .intro .ill .txt{
    display: block;
    margin-top: 5px;
    text-align: left;
    font-size: clamp(10px, 1.4vw, 20px);
    line-height: 1.6;
  }
}
.sec{
  margin: 0 auto 80px;
  position: relative;
  max-width: 1680px;
  width: 96%;
}
.sec .midashi{
  margin: 0 0 20px;
}
.sec01 .midashi{
  max-width: 1310px;
  width: 90%;
}
.sec02 .midashi{
  max-width: 1325px;
  width: 90%;
  margin-left: auto;
}
.sec ul{
  max-width: 1040px;
  width: 90%;
  margin: 0 auto;
}
.sec ul li{
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  align-items: center;
  margin: 0 0 30px;
}
.sec ul li:nth-child(even){
  flex-flow: row-reverse;
}
.sec ul li .img-box{
  min-width: 350px;
  width: 350px;
}
.sec ul li .img-box .img{
  display: block;
  box-shadow: 2px 2px 7px rgba(0,0,0,.5);
  border-radius: 50%;
}
.sec ul li .img span{
  width: 100%;
  right: 0;
  bottom: 10px;
  text-align: center;
}
.sec ul li .img-box strong{
  display: block;
  text-align: center;
  font-weight: 400;
  font-size: clamp(10px, 1.2vw, 16px);
  line-height: 1.6;
  margin-top: 10px;
}
.sec ul li .txt{
  width: calc(100% - 380px);
  font-size: clamp(12px, 2vw, 22px);
  line-height: 1.8;
}
.sec ul li .txt span{
  display: block;
  margin-top: 20px;
  font-size: clamp(10px, 1.2vw, 16px);
}
@media screen and (max-width: 767px) {
  .sec{
    margin: 0 auto 40px;
    width: 90%;
  }
  .sec .midashi{
    margin: 0 auto 20px;
  }
  .sec ul{
    width: 100%;
    margin: 0 auto;
  }
  .sec ul li{
    display: block;
    margin-bottom: 30px;
  }
  .sec ul li .img-box {
    min-width: auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .sec ul li:nth-child(odd) .img-box{
    flex-flow: row-reverse;
  }
  .sec ul li .img{
    box-shadow: 1px 1px 4px rgba(0,0,0,.5);
    width: 50%;
  }
  .sec ul li .img-box strong{
    text-align: left;
    margin: 0;
    width: 47%;
  }
  .sec ul li:nth-child(odd) .img-box strong{
    text-align: right;
  }
  .sec ul li .txt{
    width: 100%;
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .sec ul li .txt span{
    margin-top: 10px;
  }
}

.sec03{
  background: url(/bunjyo/dazaifukokubu/img/concept/sec03-bg.png) no-repeat top center / cover #f1eee5;
  padding: 100px 0 ;
}
.sec03 .img{
  max-width: 1680px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec03{
    background: url(/bunjyo/dazaifukokubu/img/concept/sec03-bg_sp.png) no-repeat top center / cover #f1eee5;
    padding: 50px 0 ;
  }
  .sec03 .img{
    margin-left: -2%;
    width: 102%;
  }
}

.obi{
  background: #d99476;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
}
.obi .txt{
  text-align: center;
  font-size: clamp(16px, 1.8vw, 32px);
  line-height: 1.6;
  color: #fff;
  padding: 0 0 5% 2rem;
  width: 45%;
}
.obi img{
  display: block;
}
.obi .img01{
  width: 25%;
}
.obi .img02{
  width: 30%;
}
@media screen and (max-width: 820px) {
  .obi .txt{
    font-size: 1.8vw;
    width: 48%;
  }
  .obi img{
    display: block;
  }
  .obi .img01{
    width: 22%;
  }
  .obi .img02{
    width: 28%;
  }
}
@media screen and (max-width: 767px) {
  .obi{
    padding: 30px 0 0;
    display: block;
  }
  .obi .txt{
    font-size: 3.8vw;
    padding: 0 0 5px 1rem;
    width: 100%;
  }
}