@charset "utf-8";

/*--------------------------------------------------
* main
==================================================*/

main h2.headline01 {
  margin-bottom: 80px;
  background: url(../img/common/bg_headline_01.png) center center no-repeat;
  font-size: 1.5rem;
  font-weight: normal;
  text-align: center;
}

main h2.headline01 span {
  display: block;
  margin-top: 5px;
  color: #68ba92;
  font-size: 1rem;
}

/*--------------------------------------------------
* section#keyvisual
==================================================*/

main section#keyvisual {
  margin-bottom: 35px;
  z-index: 10;
  position: relative;
}
main section#keyvisual h1 {
  position: absolute;
  text-align: center;
  width: 100%;
}
main section#keyvisual h1.left {
  bottom: 30px;
  text-align: center;
}
main section#keyvisual h1.left img {
  margin: 0 auto;
}
main section#keyvisual p {
  position: absolute;
  top: 180px;
  text-align: center;
  right: 180px;
}
main section#keyvisual p.under {
  bottom: 100px;
}

p.open {
  text-align: center;
  margin-bottom: 50px;
}
.kv_top {
  margin-top: 150px;
  width: 100%;
  height: auto;
}

/*--------------------------------------------------
* section#news
==================================================*/

main section#news {
  min-height: 581px;
  padding-top: 50px;
  background: url(../img/home/bg_news.png) center 0 no-repeat;
  z-index: 100;
  position: relative;
  margin-top: -50px;
}
main section#news h2 {
  margin-bottom: 50px;
}
main section#news dl {
  max-width: 704px;
  margin: 0 auto;
  padding-bottom: 20px;
  height: 275px;
  overflow: scroll;
  margin-bottom: 30px;
  overflow-x: hidden;
}

main section#news dl dt {
  float: left;
  width: 130px;
  padding: 0 0 0 10px;
  font-size: 0.875rem;
}

main section#news dl dd {
  margin-bottom: 20px;
  padding: 0 0 15px 130px;
  background: url(../img/home/bg_line_01.gif) 0 bottom no-repeat;
}

main section#news p.more {
  text-align: center;
}

/*--------------------------------------------------
* section#video
==================================================*/
section#video {
  text-align: center;
  margin-bottom: 50px;
  margin-top: 60px;
}

/*--------------------------------------------------
* section#greeting
==================================================*/

main section#greeting {
  padding-bottom: 200px;
  background: url(../img/home/bg_greeting.jpg) center bottom no-repeat;
}

main section#greeting .banner {
  text-align: center;
}
main section#greeting div.inner {
  max-width: 930px;
  margin: 0 auto 250px;
}

main section#greeting div.inner h3 {
  display: inline-block;
  margin-bottom: 30px;
  padding-bottom: 25px;
  padding-right: 60px;
  background: url(../img/common/bg_headline_02.jpg) 0 bottom repeat-x;
  color: #43b57d;
  font-size: 2.2rem;
  font-weight: normal;
}
main section#greeting div.inner h3 .text {
  background: url(../img/home/title01.png) no-repeat left top;
  padding: 88px 0 0 180px;
  font-family: 'A-OTF 新ゴ Pro', A-OTF Shin Go Pro, 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック',
    'MS PGothic', sans-serif;
}
main section#greeting div.inner p {
  margin-bottom: 30px;
  line-height: 2;
}
main section#greeting div.inner p .item {
  background: rgba(251, 247, 196, 1);
}
main section#greeting div.inner div.photo {
  float: right;
  max-width: 383px;
  margin: 0 0 0 80px;
}

main section#greeting div.inner div.photo p img {
  width: 100%;
  height: auto;
}

main section#greeting div.inner div.photo p.name {
  font-size: 0.875rem;
  text-align: center;
}

main section#greeting div.inner div.photo p.name span {
  display: block;
  margin-top: 5px;
  font-size: 1.5rem;
}

/*--------------------------------------------------
* section#promise
==================================================*/

main section#promise {
  padding: 0 0 90px;
  background: url(../img/home/bg_promise.jpg) top center no-repeat;
}

main section#promise h2 {
  margin-bottom: 30px;
  text-align: center;
}

main section#promise ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 1120px;
  margin: 0 auto;
}

/*--------------------------------------------------
* #top-about
==================================================*/
#top-about {
  background: url(../img/home/bg_about2.jpg) repeat-x top;
  padding-bottom: 88px;
}
#top-about h2 {
  text-align: center;
  margin-bottom: 30px;
}
#top-about .top-text {
  text-align: center;
  margin-bottom: 50px;
}
#top-about .top-text dt {
  font-size: 30px;
  color: #68ba92;
  margin-bottom: 30px;
}
#top-about .box {
  width: 1120px;
  margin: 0 auto 80px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#top-about li {
  background: rgba(255, 255, 255, 0.7);
  border-radius: 12px;
  padding: 20px;
  box-sizing: border-box;
  width: 545px;
}
#top-about h4 {
  text-align: center;
  font-size: 25px;
  line-height: 1.5;
  color: #574b30;
  background: url(../img/home/top-about-bg.png) repeat-x left bottom;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#top-about .banner {
  text-align: center;
}
/*--------------------------------------------------
* section#service
==================================================*/

main section#service {
  height: 1100px;
  padding-top: 90px;
  background: url(../img/home/bg_service.jpg) center 0 no-repeat;
}

main section#service h2.headline01 {
  margin-bottom: 60px;
}

main section#service ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 1120px;
  margin: 0 auto;
}

main section#service ul li {
  margin-bottom: 30px;
}

/*--------------------------------------------------
* section#about
==================================================*/

main section#about {
  height: 2500px;
  margin: 0 auto;
  padding-top: 80px;
  background: url(../img/home/bg_about.jpg) center 0 no-repeat;
}

main section#about h2 {
  min-height: 93px;
  margin-bottom: 60px;
  padding-top: 50px;
  background: url(../img/home/bg_headline_01.png) center 0 no-repeat;
  color: #68ba92;
  font-size: 1.875rem;
  font-weight: normal;
  text-align: center;
}

main section#about div.box {
  max-width: 1120px;
  margin: 0 auto 110px auto;
}

main section#about div.box h3 {
  margin-bottom: 40px;
  color: #574b33;
  font-size: 1.5rem;
  font-weight: normal;
  text-align: center;
}

main section#about div.box h3 span {
  display: block;
  margin-top: 5px;
  color: #68ba92;
  font-size: 1rem;
}

main section#about div.box p.more {
  text-align: center;
}
