/*--------------------------------
	common
--------------------------------*/
#sub article {
  padding: 100px 0; }
#sub h2 {
  font-size: 40px;
  font-size: 4rem;
  line-height: 55px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 50px; }
  #sub h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    margin: 0 auto;
    background: #54d7b4;
    margin-top: 30px; }
#sub h3 {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 30px;
  background: #f7f09e;
  padding: 15px 20px;
  border-radius: 10px;
  margin-bottom: 30px; }
#sub article.bana_info h2::after {
  content: none; }
#sub article.bana_info h3 {
  background: none; }
#sub article.bana_info .btn-tel a::before {
  background-image: url("/img/top/ic-tel.png"); }
#sub .btn-tel a::before {
  background-image: url("/img/common/ic-tel-gn.png"); }
#sub .list-tag {
  background: rgba(247, 240, 158, 0.3);
  padding: 20px 40px;
  border-radius: 10px; }
  #sub .list-tag .wrap {
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start; }
  #sub .list-tag p, #sub .list-tag a {
    line-height: 20px;
    font-weight: 500; }
  #sub .list-tag p {
    margin-left: 10px;
    margin-bottom: 10px; }
  #sub .list-tag a {
    background: #fb8ca6;
    color: #fff;
    padding: 15px 20px;
    margin: 0 5px 5px;
    border-radius: 10px; }

/*--------------------------------
	blog
--------------------------------*/
#sub.blog article.blog-index .list-news a:not(:first-child) {
  margin-top: 50px; }
#sub.blog article.blog-index .list-news .ttl {
  border-bottom: solid 2px #2cb5a9;
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  padding: 0 20px 5px 20px; }
  #sub.blog article.blog-index .list-news .ttl span, #sub.blog article.blog-index .list-news .ttl time, #sub.blog article.blog-index .list-news .ttl p {
    display: block;
    font-weight: 500;
    white-space: nowrap; }
  #sub.blog article.blog-index .list-news .ttl span {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 12px;
    background: #fb8ca6;
    color: #fff;
    padding: 5px 15px;
    border-radius: 50rem; }
  #sub.blog article.blog-index .list-news .ttl p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0 40px; }
  #sub.blog article.blog-index .list-news .ttl time {
    font-size: 14px;
    font-size: 1.4rem;
    color: #2cb5a9; }
#sub.blog article.blog-index .list-news .inner {
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  padding: 20px 20px 0 20px; }
  #sub.blog article.blog-index .list-news .inner p {
    line-height: 30px;
    display: block;
    overflow: hidden;
    height: 90px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis; }
  #sub.blog article.blog-index .list-news .inner figure {
    width: 240px;
    min-width: 240px;
    max-width: 100%;
    border-radius: 20px;
    margin-left: 50px;
    overflow: hidden; }
    #sub.blog article.blog-index .list-news .inner figure img {
      width: 100%;
      height: 160px;
      object-fit: cover;
      font-family: 'object-fit:cover'; }
#sub.blog article.blog-detail .tag span, #sub.blog article.blog-detail time {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 14px;
  white-space: nowrap; }
#sub.blog article.blog-detail .tag span {
  background: #fb8ca6;
  color: #fff;
  border-radius: 50rem;
  padding: 5px 20px; }
#sub.blog article.blog-detail time {
  color: #2cb5a9;
  font-weight: 600; }

/*--------------------------------
	shop
--------------------------------*/
#sub.shop article.about figure {
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden; }
#sub.shop article.about .wrap {
  background: rgba(247, 240, 158, 0.3);
  padding: 20px 50px; }

/*--------------------------------
	achievements
--------------------------------*/
#sub.achievements article.list .wrap-list a {
  width: 300px;
  max-width: 100%; }
  #sub.achievements article.list .wrap-list a:not(:nth-child(3n)) {
    margin-right: 90px; }
  #sub.achievements article.list .wrap-list a:nth-child(n+4) {
    margin-top: 50px; }
  #sub.achievements article.list .wrap-list a figure {
    border-radius: 10px;
    overflow: hidden; }
    #sub.achievements article.list .wrap-list a figure img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      font-family: 'object-fit:cover'; }
  #sub.achievements article.list .wrap-list a h4 {
    background: rgba(251, 140, 166, 0.1);
    border-radius: 5px;
    padding: 10px 15px;
    margin-top: 10px; }
    #sub.achievements article.list .wrap-list a h4 span {
      display: block;
      line-height: 24px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
#sub.achievements article.detail .sliderArea {
  width: 600px;
  max-width: 100%; }
  #sub.achievements article.detail .sliderArea .slider_thumb img {
    width: 100%;
    height: 400px;
    border-radius: 10px;
    object-fit: cover;
    font-family: 'object-fit:cover'; }
  #sub.achievements article.detail .sliderArea .slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2; }
  #sub.achievements article.detail .sliderArea .slick-active,
  #sub.achievements article.detail .sliderArea .slick-current {
    opacity: 1; }
  #sub.achievements article.detail .sliderArea .thumb .slick-slide {
    cursor: pointer;
    margin: 0 5px; }
    #sub.achievements article.detail .sliderArea .thumb .slick-slide:hover {
      opacity: .7; }
  #sub.achievements article.detail .sliderArea .thumb img {
    width: 100%;
    height: 120px;
    margin: 0 auto;
    border-radius: 10px;
    object-fit: cover;
    font-family: 'object-fit:cover'; }
#sub.achievements article.detail .box {
  width: 380px;
  max-width: 100%; }
  #sub.achievements article.detail .box h2 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 40px;
    text-align: left;
    margin-bottom: 30px; }
    #sub.achievements article.detail .box h2::after {
      margin-left: 0;
      margin-top: 15px; }

/*--------------------------------
	flow
--------------------------------*/
#sub.flow .wrap-flow .box {
  position: relative;
  z-index: 1; }
  #sub.flow .wrap-flow .box::after {
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    margin: 0 auto;
    background: #333;
    position: absolute;
    top: 0;
    left: 60px;
    z-index: -1; }
#sub.flow .wrap-flow .num {
  width: 130px;
  height: 130px;
  border: solid 10px #fff;
  border-radius: 50rem;
  background: #fb8ca6;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 18px;
  font-weight: 500;
  text-align: center;
  display: -webkit-box;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal; }
  #sub.flow .wrap-flow .num strong {
    display: block;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 28px;
    font-weight: 600;
    margin-top: 5px; }
#sub.flow .wrap-flow .ttl {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600; }
#sub.flow .wrap-flow .txt {
  font-weight: 500; }
  #sub.flow .wrap-flow .txt .font-m {
    font-size: 18px;
    font-size: 1.8rem; }
#sub.flow .wrap-flow .inbox {
  width: 930px;
  max-width: 100%;
  background: rgba(247, 240, 158, 0.4);
  padding: 40px 50px; }
#sub.flow .wrap-flow .inner {
  width: 600px;
  max-width: 100%; }
#sub.flow article.shop .button {
  margin-top: 10px; }
  #sub.flow article.shop .button a {
    width: 320px;
    max-width: 100%; }

/*--------------------------------
	about
--------------------------------*/
#sub.about article.point .comment p {
  width: 500px;
  max-width: 100%;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 40px;
  font-weight: 800;
  background: #fb8ca6;
  padding: 40px;
  border-radius: 10px;
  text-align: center;
  position: relative; }
  #sub.about article.point .comment p strong {
    font-size: 28px;
    font-size: 2.8rem;
    color: #fff;
    font-weight: 800; }
  #sub.about article.point .comment p::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22.5px 40px 22.5px 0;
    border-color: transparent #fb8ca6 transparent transparent;
    position: absolute;
    left: -40px;
    top: 0;
    bottom: 0;
    margin: auto 0; }
#sub.about article.point .list .box:not(:first-child) {
  margin-top: 60px; }
#sub.about article.point .list .inbox {
  width: 520px;
  max-width: 100%; }
  #sub.about article.point .list .inbox p {
    padding: 0 20px; }
#sub.about article.category {
  background: rgba(251, 140, 166, 0.1); }
  #sub.about article.category h3 {
    border-radius: 0; }
#sub.about article.not-buy p {
  background: #d5f0ee;
  padding: 50px; }
  #sub.about article.not-buy p span {
    display: block; }
    #sub.about article.not-buy p span:not(:last-child)::after {
      content: '\FF0F';
      display: inline-block;
      margin: 0 5px; }
#sub.about article.faq dl {
  border-radius: 10px;
  overflow: hidden; }
  #sub.about article.faq dl:not(:first-child) {
    margin-top: 30px; }
  #sub.about article.faq dl dt, #sub.about article.faq dl dd {
    line-height: 30px; }
  #sub.about article.faq dl dt {
    font-size: 18px;
    font-size: 1.8rem;
    background: #f7f09e;
    display: -webkit-box;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    padding: 20px; }
    #sub.about article.faq dl dt::before {
      content: 'Q';
      display: block;
      font-size: 30px;
      font-size: 3rem;
      color: #2cb5a9;
      font-weight: 600;
      margin-right: 10px; }
  #sub.about article.faq dl dd {
    background: #fff;
    padding: 20px 60px; }

/*--------------------------------
	contact
--------------------------------*/
#sub.contact article.about .info {
  background: rgba(247, 240, 158, 0.4);
  padding: 40px; }
#sub.contact article.bana_info {
  padding-top: 0; }

/*# sourceMappingURL=style_sub.css.map */
