@charset "utf-8";

/* -----------------------------------------------------------------
 g_main
----------------------------------------------------------------- */
.g_main {
  overflow: hidden;
}
.js_fade_in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.js_fade_in.js_show {
  opacity: 1;
  transform: translateY(0);
}

/* -----------------------------------------------------------------
 cmn_sec_maki（薪の販売をしていますエリア）
----------------------------------------------------------------- */
.cmn_sec_maki {
  background: #fff;
}
.cmn_sec_maki .box_maki_store {
  display: flex;
  gap: 2vw;
  justify-content: space-around;
  align-items: center;
  background: url("../img/common/bg_maki.jpg") no-repeat center center;
  background-size: cover;
  border-radius: 1.5rem;
  color: #fff;
}
.cmn_sec_maki .box_maki_store .ttl .txt01 {
  font-weight: 600;
}
.cmn_sec_maki .box_maki_store .ttl .txt02 {
  margin-top: .2rem;
  font-weight: 600;
}
.cmn_sec_maki .box_maki_store .ttl .txt03 {
  margin-top: 1rem;
  line-height: 1.5;
}
.cmn_sec_maki .cmn_btn_store {/*cmn上書き*/
  border: #fff 2px solid;
}
@media screen and (max-width: 767px) {
  .cmn_sec_maki {
    padding: 12vw 0;
  }
  .cmn_sec_maki .box_maki_store {
    flex-direction: column;
    padding: 8vw 8vw;
  }
  .cmn_sec_maki .box_maki_store .ttl .txt01 {
    font-size: min(4vw,1rem);
  }
  .cmn_sec_maki .box_maki_store .ttl .txt02 {
    font-size: min(6vw,2rem);
  }
  .cmn_sec_maki .box_maki_store .ttl .txt03 {
    font-size: min(4vw,.9rem);
  }
  .cmn_sec_maki .cmn_btn_store {/*cmn上書き*/
    font-size: min(4.5vw,1.1rem);
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_sec_maki {
    padding: 6rem 0;
  }
  .cmn_sec_maki .box_maki_store {
    padding: 4rem 4vw;
  }
  .cmn_sec_maki .box_maki_store .ttl .txt01 {
    font-size: min(1.5vw,1rem);
  }
  .cmn_sec_maki .box_maki_store .ttl .txt02 {
    font-size: min(3.3vw,2rem);
  }
  .cmn_sec_maki .box_maki_store .ttl .txt03 {
    font-size: min(1.5vw,1rem);
  }
  .cmn_sec_maki .cmn_btn_store {/*cmn上書き*/
    font-size: min(2vw,1.3rem);
  }

}

/* -----------------------------------------------------------------
 cmn_sec_recruit（リクルートエリア）
----------------------------------------------------------------- */
.cmn_sec_recruit {
  padding: 6rem 0;
  background: var(--color_bg02);
}
.cmn_sec_recruit .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:4vw;
}
.cmn_sec_recruit .box_txt p {
  line-height: 1.8;
  color: var(--main_color02);
}
.cmn_sec_recruit .box_img img {
  margin: 0 auto; 
  border-radius: 4rem;
}
@media screen and (max-width: 767px) {
  .cmn_sec_recruit .inner {
    flex-direction: column;
    gap:4rem;
  }
  .cmn_sec_recruit .box_img img {
    width: min(60vw, 200px);
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_sec_recruit .cmn_ttl04,
  .cmn_sec_recruit .box_txt {
    flex: 1.6;
  }
  .cmn_sec_recruit .box_img {
    flex: 1;
  }
}

/* -----------------------------------------------------------------
 cmn_blog_list（インデックスページなどに掲載するパーツ）
----------------------------------------------------------------- */
.cmn_blog_list {
  padding: 5rem 0;
  background-image:
    url("/img/common/deco_tree04.png"),
    url("/img/common/bg_ptn_yellow.png");
  background-repeat:
    no-repeat,
    repeat;
  background-position:
    bottom left,
    top left;
  background-size:
    15vw,
    auto;
}
.cmn_blog_list .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:4vw;
}
.cmn_blog_list .cmn_ttl04 .lean_more {/*cmn_ttl04上書き*/
  color: var(--color_sub);
}
.cmn_blog_list .cmn_ttl04 .lean_more::after {/*cmn_ttl04上書き*/
  background-color: var(--color_sub);
}
.cmn_blog_list .item {
  width: 100%;
}
.cmn_blog_list .img {
  border-radius: 1.5rem;
}
.cmn_blog_list .ttl {
  overflow: hidden;
  display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; /* 2行で省略 */
  margin-top: 1em;
  text-overflow: ellipsis;
  font-weight: 500;
}
.cmn_blog_list .summary {
  overflow: hidden;
  display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; /* 2行で省略 */
  margin-top: 1em;
  text-overflow: ellipsis;
}
.cmn_blog_list .date {
  margin-top: 1em;
  font-size: .7rem;
  font-family: var(--font_ttl);
  color: var(--color_main);
}
@media screen and (max-width: 767px) {
  .cmn_blog_list {
    margin-top: 24vw;
    background-image:
      url("/img/common/deco_tree04_deg.png"),
      url("/img/common/bg_ptn_yellow.png");
    background-position:
      top left,
      top left;
    background-size:
      33vw,
      auto;
  }
  .cmn_blog_list .inner {
    flex-direction: column;
  }
  .cmn_blog_list .inner .box_cont {
    display: flex;
    gap:4vw;
    margin-top: 4vw;
  }
  .cmn_blog_list .ttl {
    font-size: .9rem;
  }
  .cmn_blog_list .summary {
    font-size: .7rem;
  }
  .cmn_blog_list .date {
    font-size: .7rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_blog_list {
    margin-top: 12rem;
  }
  .cmn_blog_list .inner .cmn_ttl04 {
    flex-shrink: 1;
    width: 20%;
    min-width: 220px;
  }
  .cmn_blog_list .inner .box_cont {
    display: flex;
    gap:4vw;
    width: 80%;
  }
  .cmn_blog_list .inner .box_cont .item {
    width: 100%;
  }
  .cmn_blog_list .ttl {
    font-size: .9rem;
  }
  .cmn_blog_list .summary {
    font-size: .7rem;
  }
  .cmn_blog_list .date {
    font-size: .7rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .cmn_blog_list .item .ttl,
  .cmn_blog_list .item .summary {
    transition: .3s ease-in;
  }
  .cmn_blog_list .item:hover .ttl {
    color: var(--color_main);
  }
  .cmn_blog_list .item:hover .summary {
    color: var(--color_main02);
  }
}



/* -----------------------------------------------------------------
 cmn_contact
----------------------------------------------------------------- */
.cmn_contact {
  background: #fff;
}
.cmn_contact a {
  display: block;
  background: var(--color_bg02);
}
.cmn_contact .ttl {
  display: flex;
  justify-content: center;
  line-height: 1.6;
  color: var(--color_main02);
}
.cmn_contact .marquee {
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  position: relative;
}
.cmn_contact .marquee_cont {
  display: flex;
  white-space: nowrap;
  animation: marquee 25s linear infinite;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.cmn_contact .marquee_cont span {
  margin-right: 0.4em;
  padding-right: 1.4em;
  background: url("/img/common/btn_offer.png") no-repeat right center;
  background-size: 1.1em;
  letter-spacing: .1em;
  font-weight: 400;
  font-family: var(--font_ttl);
  color: var(--color_main);
}
@media screen and (max-width: 767px) {
  .cmn_contact a {
    padding-top: 12vw;
    padding-bottom: 6vw;
  }
  .cmn_contact .marquee {
    margin-top: 5vw;
  }
  .cmn_contact .marquee_cont span {
    font-size: 10vw
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_contact a {
    padding-top: 5rem;
    padding-bottom: 2rem;
  }
  .cmn_contact .marquee {
    margin-top: 4rem;
  }
  .cmn_contact .marquee_cont span {
    font-size: 5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .cmn_contact a:hover {
    background: var(--color_bg03);
  }

}

/* -----------------------------------------------------------------
 cmn_works_list
----------------------------------------------------------------- */
.cmn_works_list {
  background: #fff;
}
.cmn_works_list .inner {
  display: flex;
  flex-direction: column;
  gap:4vw;
  width: min(90vw, 1700px);
    margin-left: auto;
    margin-right: auto;
}
.cmn_works_list .item {
  width: 100%;
}
.cmn_works_list .img {
  border-radius: 1.5rem;
}
.cmn_works_list .cmn_img_trim {
  padding-top: 100%;
}

.cmn_works_list .box_ttl {
  display: flex;
  gap:.6em;
  margin-top: 1em;
}
.cmn_works_list .box_ttl .cat {
  flex-shrink: 0;
  padding-right: .6em;
  font-weight: 500;
  color: var(--color_main02);
  border-right: var(--color_main02) 1px solid;
}
.cmn_works_list .ttl {
  overflow: hidden;
  display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; /* 2行で省略 */
  text-overflow: ellipsis;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cmn_works_list {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .cmn_works_list .inner {
    flex-direction: column;
  }
  .cmn_works_list .inner .box_cont {
    display: flex;
    gap:4vw;
    margin-top: 4vw;
  }
  .cmn_works_list .box_ttl {
    flex-direction: column;
  }
  .cmn_works_list .box_ttl .cat {
    width: fit-content;
    font-size: .8rem;
  }
  .cmn_works_list .box_ttl .ttl {
    font-size: .95rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_works_list {
    padding-top: 9rem;
    padding-bottom: 10rem;
  }
  .cmn_works_list .inner .cmn_ttl04 {
    flex-shrink: 1;
/*    width: 20%;*/
    min-width: 220px;
  }
  .cmn_works_list .inner .box_cont {
    display: flex;
    gap:4vw;
/*    width: 80%;*/
  }
  .cmn_works_list .inner .box_cont .item {
    width: calc((100% - 8vw) / 3);
  }
  .cmn_works_list .box_ttl .cat {
    font-size: .7rem;
  }
  .cmn_works_list .ttl {
    font-size: .8rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .cmn_works_list .item .ttl {
    transition: .3s ease-in;
  }
  .cmn_works_list .item:hover .ttl {
    color: var(--color_main02);
  }
}

/* -----------------------------------------------------------------
.cmn_sec_news
----------------------------------------------------------------- */
.cmn_sec_news {
  background: #fff;
}
.cmn_sec_news .inner {
  width: min(85vw, 800px);
  margin-left: auto;
  margin-right: auto;
}
.cmn_sec_news .box_cont {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
}
.cmn_sec_news .box_cont .item {
  display: flex;
  align-items: center;
  gap:1em;
  padding: 1.2em 0;
}

.cmn_sec_news .box_cont .item + .item {
  border-top: var(--color_line) 1px solid;
}
.cmn_sec_news .box_cont .item .date {
  flex-shrink: 0;
  display: flex;
  gap:1em;
  font-size: .7rem;
  font-family: var(--font_ttl);
  color: var(--color_main);
}
.cmn_sec_news .box_cont .item .box_ttl {
  position: relative;
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap:1em;
}
.cmn_sec_news .box_cont .item .box_ttl .ttl {
  width: calc(100% - 5rem);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  font-size: .85rem;
}
@media screen and (max-width: 767px) {
  .cmn_sec_news {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .cmn_sec_news .box_cont .item .box_ttl {
    gap:.6rem;
  }
  .cmn_sec_news .box_cont .item .box_ttl .ttl {
    width: calc(100%);
    font-size: .8rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cmn_sec_news {
    padding-top: 9rem;
    padding-bottom: 10rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .cmn_sec_news .box_cont .item .date,
  .cmn_sec_news .box_cont .item .box_ttl .ttl {
    transition: .3s ease-in;
  }
  .cmn_sec_news .box_cont .item:hover .date {
    color: var(--color_main);
  }
  .cmn_sec_news .box_cont .item .box_ttl::after {
    flex-shrink: 0;
    content: "";
    display: block;
    width: 2.5rem;
    height: 1px;
    background-color: var(--color_main02);
    transition: width 0.3s ease-in-out;
  }
  .cmn_sec_news .box_cont .item:hover .box_ttl::after {
    width: 4rem;
    background-color: var(--color_main);
  }
  .cmn_sec_news .box_cont .item:hover .box_ttl .ttl {
    color: var(--color_main);
  }
}


/* -----------------------------------------------------------------
.cmn_box_pager
----------------------------------------------------------------- */
.cmn_box_pager {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {

}
@media print, screen and (min-width: 768px) {

}








