@charset "utf-8";
/*==================================================
cmn
==================================================*/
.wrap {
  max-width: 1680px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
.wrap-m {
  max-width: 1280px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
.wrap-ms {
  max-width: 1080px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
.wrap-s {
  max-width: 880px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto;
}
.font-mincho {
  font-family: "Noto Serif JP", serif;
}
.font-en {
  font-family: "Questrial", sans-serif;
  letter-spacing: .2rem;
}
.font-cinzel {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: .2rem;
}
.txt-center {
  text-align: center;
}
.txt-left {
  text-align: left !important;
}
@media (min-width: 768px) and (hover: hover) {
  html.suppress-hover .gnavi .parent:hover > .child {
    display: none !important;
  }
}
/*==================================================
HOMESグループ ウェブサイト一覧
==================================================*/
.group-list {
  background: #077437;
  color: #fff;
  text-align: center;
  font-size: 92%;
  line-height: 1em;
  cursor: pointer;
  position: relative;
}
.group-list .tit {
  position: relative;
  padding: 1.5rem 0;
  display: block;
}
.group-list .tit span {
  position: relative;
  z-index: 3;
}
.group-list-menu-btn {
  background: #077437;
  width: 5rem;
  height: 5rem;
  display: block;
  position: absolute;
  bottom: -1.8rem;
  left: 50%;
  border-radius: 100%;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 2;
}
.group-list-menu-btn .hamburger {
  width: 1.5rem;
  height: 7px;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 900;
  display: block;
  margin-left: auto;
}
.group-list-menu-btn .hamburger_bar {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  background: #fff;
  transition: top 0.24s, transform 0.24s, opacity 0.24s;
}
.group-list-menu-btn .hamburger_bar:nth-child(1) {
  top: 0;
}
.group-list-menu-btn .hamburger_bar:nth-child(2) {
  top: 100%;
  transform: translateY(-100%);
}
.group-list-open {
  background: #077437;
  color: #fff;
  width: 100%;
  position: fixed;
  z-index: 10;
  top: -200%;
  left: 0;
  transition: .3s;
  padding-bottom: 5rem;
}
.group-list-open.is-open {
  top: 0;
}
.group-list-open .close-txt {
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid #fff;
  margin-bottom: 5rem;
  cursor: pointer;
}
.group-list-box .col-box {
  width: 25%;
}
.group-list-box li {
  font-size: 1.6rem;
  line-height: 2em;
  margin-bottom: 1rem;
}
.group-list-box li a {
  text-decoration: underline;
}
.group-list-box li a .menu-s {
  font-size: 1.6rem;
  margin-left: .5rem;
}
.group-list-box li li {
  font-size: 2rem;
}
.group-list-box .s li {
  font-size: 1.2rem;
}
.group-list-box .s.flex-box {
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 -1rem;
}
.group-list-box .s.flex-box:before {
  content: "└";
  font-size: 1.2rem;
  padding: 0 .5rem 0 2rem;
}
.group-list-box .s.flex-box li:after {
  content: "/";
  padding: 0 0.2rem;
}
.group-list-box .s.flex-box li:last-child:after {
  display: none;
}
.group-list-box .sub {
  font-size: 1.6rem;
}
.group-list-box .sub:before {
  content: "-";
  padding: 0 0.5rem 0 1rem;
}
.group-list-box .s-icon {
}
.group-list-box .child {
  margin-top: 1rem;
  margin-bottom: 3rem;
}
.group-list-box .s {
  margin-top: 1rem;
  margin-bottom: 3rem;
  font-weight: normal;
}
.group-list-menu-btn.close .hamburger_bar:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
}
.group-list-menu-btn.close .hamburger_bar:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) rotate(-135deg);
}
/*==================================================
head
==================================================*/
.fix .site-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
.fix main{
	padding-top: 10rem;
}
}
.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
  background: #fff;
}
.is-show {
  transform: translateY(0);
}
.site-header {
  vertical-align: middle;
  z-index: 999;
  width: 100%;
  background: #fff;
}
.site-header .inner {
  position: relative;
  padding: 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .site-header .header-box {
    height: 11rem;
  }
  .site-header .site-title a img {
    width: 38rem;
  }
  .site-header .gnavi {
    justify-content: flex-end;
  }
  .site-header .gnavi > li {
    letter-spacing: 1px;
    height: 7rem;
    display: table;
    font-size: 1.6rem;
    font-weight: bold;
    transition: .3s;
  }
  .site-header .gnavi > li > a {
    display: table-cell;
    vertical-align: middle;
    padding: 0 2rem;
    opacity: 1;
  }
  .site-header .gnavi > li:hover a {
    background: #064216;
    color: #fff;
  }
  .site-header .gnavi > li.tk:hover a {
    background: #5D7F5F;
  }
  .site-header .gnavi li .child {
    position: absolute;
    top: 11rem;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 900;
    transition: .3s;
  }
  .site-header .gnavi > li:hover .child {
    opacity: 1;
    visibility: visible;
  }
  .site-header .s-menu {
    justify-content: flex-end;
  }
  .site-header .s-menu li {
    height: 4rem;
    display: table;
    margin-left: 3rem;
  }
  .site-header .s-menu li a {
    display: table-cell;
    vertical-align: middle;
  }
}
.site-header .s-menu .company a:before {
  content: "";
  width: 1.4rem;
  height: 1.9rem;
  background: url(../img/cmn/icon_company.svg) no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin: -0.3rem 0.8rem 0 0;
}
.site-header .s-menu .recruit a:before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/cmn/icon_recruit.svg) no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin: -0.3rem 0.8rem 0 0;
}
.site-header .s-menu .contact {
  margin-left: 4rem;
}
.site-header .s-menu .contact a {
  background: #009944;
  color: #fff;
  text-align: center;
  padding: 0 3rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 0;
}
.site-header .s-menu .contact a:before {
  content: "";
  width: 1.9rem;
  height: 1.4rem;
  background: url(../img/cmn/icon_mail.svg) no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin: -0.3rem 0.8rem 0 0;
}
.site-header .gnavi .child {
  padding: 4rem 0 5rem;
}
.site-header .gnavi .child .parent-link {
  font-size: 2rem;
  line-height: 1em;
  margin-bottom: 3rem;
}
.site-header .gnavi .child .parent-link:before {
  content: "";
  width: 1rem;
  height: 1.6rem;
  background: url("../img/cmn/arrow_r03.svg") no-repeat center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin: -0.3rem 0.5rem 0 0;
}
.site-header .gnavi .child .parent-link .txt-s {
  font-size: 1.8rem;
  background: #fff;
  margin-left: 3rem;
  padding: 0 .5rem;
  color: #5D7F5F;
}
.site-header .gnavi .child .navi-l:before {
  content: "";
  display: block;
  order: 1;
  width: 23.9%;
}
.site-header .gnavi .child .navi-l:after {
  content: "";
  display: block;
  width: 23.9%;
}
.site-header .gnavi .child .navi-l li {
  width: 23.9%;
}
.site-header .gnavi .child .navi-l li:nth-child(5) {
  margin-top: 2rem;
}
.site-header .gnavi .child .navi-l li a {
  position: relative;
  opacity: 1;
}
@media (min-width: 768px) {
.site-header .gnavi .child .navi-l li a::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(31,76,57,.3);
  transition: .3s;
  z-index: 1;
}
.site-header .gnavi .child .navi-l li a:hover::after {
  background: rgba(31,76,57,0);
}
}
.site-header .gnavi .child .navi-l li a .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  line-height: 1.5;
  font-size: 1.8rem;
  display: block;
  text-align: center;
  width: 100%;
  z-index: 2;
  transition: .3s;
}
.site-header .gnavi .child .navi-l li a .txt span {
  display: block;
}
.site-header .gnavi .child .navi-l li a .txt span.font-en {
  font-size: 1.4rem
}
.site-header .gnavi .child .navi-l li a:hover .txt {
  text-shadow: 0 0 6px rgba(31,76,57,.5);
}
.site-header .gnavi .child .navi-s {
  letter-spacing: -.4em;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #fff;
}
.site-header .gnavi .child .navi-s li {
  display: inline-block;
  letter-spacing: 0.05em;
  width: 20%;
  font-size: 87.5%;
  margin-top: 2rem;
  border-left: 1px solid #fff;
}
.site-header .gnavi .child .navi-s.w50 li {
  width: 50%;
}
.site-header .gnavi .child .navi-s.w30 li {
  width: 30%;
}
.site-header .gnavi .child .navi-s li a {
  display: block;
  padding-left: 1rem;
  color: #fff;
}
.site-header .gnavi .child .navi-s li .txt-s {
  font-size: 78.5%;
  background: #fff;
  color: #1F4C39;
  padding: 0 0.5rem 0.1rem;
  margin-left: 0.5rem;
  line-height: 1em;
}
.site-header .gnavi .child .navi-s li .txt-s.ver02 {
  color: #5D7F5F;
}
/*==================================================
foot
==================================================*/
.site-footer {
  padding: 10rem 0 0;
  position: relative;
}
.site-footer .txt-box {
  width: 38%;
}
.site-footer .txt-box h2 {
  margin-bottom: 3rem;
  max-width: 20rem;
  width: 100%;
}
.site-footer .txt-box dl {
  margin-top: 3rem;
}
.site-footer .txt-box dt {
  font-size: 114%;
}
.site-footer .navi-box {
  width: 60%;
}
.site-footer .navi-box .col-box {
  line-height: 2.2em;
}
.site-footer .navi-box .col-box > ul > li > a,
.site-footer .navi-box .col-box .size-m {
  font-size: 114%;
}
.site-footer .navi-box .col-box > ul > li {
  margin-bottom: 3rem;
}
.site-footer .navi-box .child > li > a:before {
  content: "ー";
  margin-right: 0.5rem;
}
.site-footer .navi-box .child li li a:before {
  content: "・";
  margin-left: 1.5em;
}
.site-footer .sns-list {
  justify-content: flex-start;
}
.site-footer .sns-list li {
  width: 5rem;
  height: 5rem;
  display: table;
  text-align: center;
  margin-right: 1rem;
  margin-bottom: 2rem;
}
.site-footer .sns-list li a {
  display: table-cell;
  vertical-align: middle;
  border: 1px solid #fff;
  border-radius: 100%;
  line-height: 0;
}
.site-footer .sns-list li img {
  width: 2.4rem;
  line-height: 0;
}
.site-footer address {
  text-align: center;
  font-size: 93%;
  padding: 5rem 0 3rem;
}
.page-bnr-list {
  margin-bottom: 5rem;  
}
.page-bnr-box {
  width: 25%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
.page-bnr-box {
  width: 50%;
}
}
.page-bnr-box a:hover {
  opacity: 1;
}
.page-bnr-box .txt-box {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
.page-bnr-box .txt-box h3 {
  font-size: 2.8rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
.page-bnr-box .txt-box h3 {
  font-size: 2.2rem;
}
}
.bnr-f-list {
  margin-bottom: 5rem;
}
.bnr-f-list li {
  width: 50%;
}
.bnr-f-list li.l-bnr {
  width: 100%;
  margin-bottom: 4rem;
}
.bnr-f-list li a {
  position: relative;
  opacity: 1;
}
.bnr-f-list li h3 {
  position: absolute;
  top: 3rem;
  left: 3rem;
  color: #fff;
  font-size: 3.6rem;
  line-height: 1.5em;
}
.bnr-f-list li p {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1.5em;
  margin: 0;
}
.bnr-f-list li .arrow-r {
  position: absolute;
  right: 3rem;
  bottom: 3rem;
}
.bnr-f-list-s li {
  width: 23.75%;
}
.site-footer .navi-box .child li li .non-link:before {
    content: "・";
    margin-left: 1.5em;
}

:root {
  --pagetop-offset: 2rem;      /* 通常時の画面下から距離 */
  --pagetop-footer-gap: 4rem;  /* フッターからの余白 */
}

.pagetop-btn {
  position: fixed;
  right: 5rem;
  bottom: 5rem;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  border: 1px solid #fff;
  background: #064216;
  color: #fff;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  transition: opacity 0.4s ease, transform 0.4s ease;

  /* 初期状態は非表示 */
  opacity: 0;
  transform: translateY(2rem);
  pointer-events: none;
}
.pagetop-btn:hover {
  opacity: .7 !important;
}

/* 表示状態 */
.pagetop-btn.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* footerに重なる時はabsoluteに変更 */
.site-footer .pagetop-btn.absolute {
  position: absolute;
  right: 5rem;
  top: -4rem; /* フッターの上4remで止める */
}

/* スマホ調整 */
@media (max-width: 767px) {
  :root {
    --pagetop-offset: 6rem;
  }
}
/*==================================================
content
==================================================*/
.pin {
  position: relative;
  top: 0px;
  display: block;
}
section {
  padding: 6rem 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
section {
  padding: 4rem 0;
}
}
#sb-site, .sb-site-container {
  background: none;
}
/*タイトル*/
.tit01 {
  font-size: 4.4rem;
  margin-bottom: 5rem;
  line-height: 2em;
  color: #1F4C39;
  font-weight: 600;
}
.tit01 .font-jp {
  display: block;
  line-height: 1.5em;
  letter-spacing: 0.2em;
}
.tit01 .font-en {
  display: block;
  font-size: 2.4rem;
  line-height: 1em;
  letter-spacing: 0.1em;
}
.tit01 .font-jp-s {
  display: block;
  font-size: 2.4rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
.tit01 .font-en:after {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background: #1F4C39;
  margin: 2rem 0 4rem;
}
.tit01.center {
  text-align: center;
}
.tit01.center .font-en:after {
  margin-left: auto;
  margin-right: auto;
}
.tit02 {
  font-size: 4.4rem;
  margin-bottom: 5rem;
  line-height: 2em;
  color: #1F4C39;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2em;
}
.tit03 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  margin-bottom: 5rem;
  line-height: 2em;
  color: #1F4C39;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2em;
}
.tit03 .font-en {
  display: block;
  font-size: 2.4rem;
  line-height: 1em;
  letter-spacing: 0.1em;
}
.tit03 .font-en:after {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background: #1F4C39;
  margin: 2rem auto 4rem;
}
.tit04 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  margin-bottom: 5rem;
  line-height: 2em;
  color: #1F4C39;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2em;
}
.tit-flex {
  margin-bottom: 5rem;
}
.tit-flex .tit01 {
  margin-bottom: 0;
}
/*カラム*/
.col-re {
  flex-direction: row-reverse;
}
.col-mid {
  align-items: center;
}
.col-bottom {
  align-items: flex-end;
}
.font-white {
  color: #fff;
}
.bg-green {
  background: #064216;
  color: #fff;
}
.bg-lightgreen {
  background: #5D7F5F;
}
.bg-green-l {
  background: #E6F4EC;
}
.txt-r {
  text-align: right;
}
.txt-center {
  text-align: center;
}
.pad-t00 {
  padding-top: 0;
}
.detail-btn {
  max-width: 26rem;
  width: 100%;
  text-align: center;
}
.detail-btn a {
  background: #1F4C39;
  color: #fff;
  display: block;
  line-height: 1em;
  padding: 2rem 0;
  border-radius: 100px;
  font-size: 1.8rem;
  opacity: 1;
  font-weight: bold;
  width: 100%;
  transition: .3s;
}
.detail-btn.white a {
  color: #1F4C39;
  border: 1px solid #1F4C39;
  background: #fff;
}
.detail-btn a:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: #fff;
  border-radius: 100%;
  vertical-align: middle;
  margin-top: -0.4rem;
  margin-left: 1rem;
  transition: .3s;
}
.detail-btn a:after {
  content: "";
  background-image: url("../img/cmn/arrow_r02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9rem;
  transform: rotate(0deg);
  transition: .3s;
}
.detail-btn a.close-news:after {
  transform: rotate(180deg);
}
.detail-btn.white a:after {
  content: "";
  background: #1f4c39;
  background-image: url("../img/cmn/arrow_r02_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9rem;
}
.detail-btn.b a:after {
  content: "";
  background-image: url("../img/cmn/arrow_b01.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.28rem;
}
@media screen and (min-width: 821px) {
  .detail-btn a:hover:after {
    transform: translateX(0.5rem);
  }
  .detail-btn.b a:hover:after {
    transform: translateY(0.5rem);
  }
  .detail-btn.b a.close-news:hover:after {
    transform: translateY(-0.5rem) rotate(180deg);
  }
}
.arrow-r {
  text-align: center;
  transition: .3s;
  width: 6rem;
  height: 6rem;
  display: block;
}
.arrow-r.s {
  width: 4rem;
  height: 4rem;
}
.arrow-r.center {
  margin: 0 auto;
}
.arrow-r i {
  width: 100%;
  height: 100%;
  display: block;
  background: url("../img/cmn/arrow_r01.svg") no-repeat center;
  background-size: 1.7rem !important;
  border: 1px solid #1F4C39;
  border-radius: 100%;
}
.arrow-r.s i {
  background-size: 1.2rem !important;
}
.arrow-r.white i {
  background: url("../img/cmn/arrow_r01_white.svg") no-repeat center;
  border: 1px solid #fff;
}
.arrow-r i {
  transition: .3s;
}
@media screen and (min-width: 821px) {
  a:hover .arrow-r.move-r i {
    transform: translateX(1rem);
    transition: .3s;
  }
}
.img-scale {
  overflow: hidden;
  display: block;
  margin: 0 -1px;
}
.img-scale .img img {
  transition: .3s;
  overflow: hidden;
  display: block;
}
/*==================================================
ページタイトル
==================================================*/
.page-title {
  height: 50rem;
  padding-top: 18rem;
  position: relative;
}
.page-title.high {
  padding-top: 6rem;
}
.page-title::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(31,76,57,.3);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}
.page-title .wrap {
  position: relative;
  z-index: 1;
}

.page-title .category {
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 1rem;
  color: #fff;
  text-shadow: 0px 0px 5px rgba(31, 76, 57, 0.6);
  letter-spacing: .2rem;
}
.page-title h1 {
  font-size: 4.5rem;
  line-height: 1;
  margin-bottom: 3rem;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-weight: 300;
  text-shadow: 0px 0px 5px rgba(31, 76, 57, 0.6);
  letter-spacing: .1rem;
}
.page-title h1.no-cat {
  margin-top: 2.5rem;
}
.homes_tatemonokanri .page-title.high h1 {
  font-size: 4.5rem;
}
.homes_tatemonokanri .page-title.high .catch {
  color: #fff;
  text-shadow: 0px 0px 5px rgba(31, 76, 57, 0.6);
}
.homes_tatemonokanri .page-title.high .catch-jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  letter-spacing: .1rem;
  font-size: 3.6rem;
  line-height: 1.44;
  margin-bottom: 3rem;
  margin-top: 13.5rem;
}
.homes_tatemonokanri .page-title.high .catch-en {
  font-family: "Questrial", sans-serif;
  letter-spacing: .2rem;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
}
.page-title .tit-en {
  font-family: "Questrial", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  color: #fff;
  font-weight: 500;
  text-shadow: 0px 0px 5px rgba(31, 76, 57, 0.6);
  letter-spacing: .2rem;
}
.page-title .tk-logo {
  position: absolute;
  bottom: -14rem;
  right: 4rem;
  width: 30rem;
}
@media screen and (max-width: 767px) {
.page-title {
  height: 30rem;
  padding-top: 10rem;
}
.page-title.high {
  height: 30rem;
}
.page-title .category {
  font-size: 1.4rem;
}
.page-title h1 {
  font-size: 3.0rem;
  margin-bottom: 1.5rem;
}
.page-title h1.no-cat {
  margin-top: 1.25rem;
}
.page-title .tit-en {
  font-size: 2.0rem;
}
.page-title .tk-logo {
  bottom: -9rem;
  right: 2rem;
  width: 24rem;
}
  .homes_tatemonokanri .page-title.high {
    padding-top: 1rem;
  }
.homes_tatemonokanri .page-title.high h1 {
  margin: 3.0rem 0 2.0rem;
}
.homes_tatemonokanri .page-title.high .catch-jp {
  font-size: 2.4rem;
  margin: 5rem 0 2rem;
}
.homes_tatemonokanri .page-title.high .catch-en {
  font-size: 1.4rem;
}
}

/*==================================================
パンクズ
==================================================*/
.breadcrumb-block {
  padding: 3rem 0;
}
.breadcrumb-block .breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}
.breadcrumb-block .breadcrumb li {
  font-size: 1.2rem;
  line-height: 1;
}
.breadcrumb-block .breadcrumb li a {
  font-size: 1.2rem;
  text-decoration: underline;
  line-height: 1;
}
.breadcrumb-block .breadcrumb li:not(:last-child)::after {
  content: '>';
  display: inline-block;
  padding: 0 1rem;
}
@media screen and (max-width: 767px) {
.breadcrumb-block {
  padding: 1.5rem 0;
}
.breadcrumb-block .wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.breadcrumb-block .breadcrumb {
  white-space: nowrap;
  padding: .25rem;
}
  
}


@media screen and (min-width: 821px) {
  .img-scale:hover .img img {
    transform: scale(1.1);
  }
}
.anime01 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime01.active {
  opacity: 1;
  transform: translateY(0);
}
.anime02 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime02.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s !important;
}
.anime03 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime03.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s !important;
}
.anime04 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime04.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.6s !important;
}
.anime05 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime05.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.8s !important;
}
.anime06 {
  opacity: 0;
  transition: 0.4s ease-out;
  transform: translateY(5rem);
}
.anime06.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.0s !important;
}

.slide-lr .inner .flex-box > *,
.slide-lr .business-box.flex-box > *,
.slide-lr .company-box.flex-box > * ,
.slide-lr .service-flex > * {
  opacity: 0;
  transform: translateX(var(--slide-x, 0)) translateY(0);
  transition: transform .6s ease, opacity .6s ease;
  will-change: transform, opacity;
}
.slide-lr .inner .flex-box > :first-child,
.slide-lr .business-box.flex-box > :first-child,
.slide-lr .company-box.flex-box > :first-child,
.slide-lr .service-flex > :first-child {
  --slide-x: -5rem;
}
.slide-lr .inner .flex-box > :last-child,
.slide-lr .business-box.flex-box > :last-child,
.slide-lr .company-box.flex-box > :last-child,
.slide-lr .service-flex > :last-child {
  --slide-x: 5rem;
  transition-delay: .12s;
}
.slide-lr.is-inview .inner .flex-box > *,
.slide-lr.is-inview .business-box.flex-box > *,
.slide-lr.is-inview .company-box.flex-box > *,
.slide-lr.is-inview .service-flex > * {
  opacity: 1;
  transform: translateX(0) translateY(0);
}


@media screen and (max-width: 767px) {
  body {
    font-size: 2rem;
    letter-spacing: 0;
  }
  .wrap, .wrap-m, .wrap-s {
    padding: 0 5vw;
  }
  .wrap .wrap-m, .wrap .wrap-s {
    padding: 0;
  }
  .sp-w100 {
    width: 100% !important;
  }
  .sp-w100.img-box img {
    width: 100% !important;
  }
  main {
    padding-top: 10rem;
  }
  /*==================================================
HOMESグループ ウェブサイト一覧
==================================================*/
  .group-list-open {
    top: 0;
    padding-top: 15rem;
    letter-spacing: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100vh;
    z-index: 9999;
    padding-bottom: 20rem;
    opacity: 0;
    visibility: hidden;
  }
  .group-list-open.open {
    opacity: 1;
    visibility: visible;
  }
  .group-list-box .col-box {
    width: 50%;
    margin-bottom: 5rem;
  }
  .group-list-box li {
    font-size: 2rem;
  }
  .group-list-box .s li {
    font-size: 1.6rem;
  }
  .group-list-box li li {
    font-size: 2.2rem;
  }
  .group-list-toggle.close {
    background: #3f8c5e;
  }
  .group-list-open .close-txt {
    border: none;
    margin: 0;
    background: #3f8c5e;
    width: 40%;
    margin: 0 auto;
  }
  /*==================================================
header
==================================================*/
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  .site-header .site-title {
    height: 10rem;
    display: table;
    width: 32rem;
    margin: 0 auto;
  }
  .site-header .site-title a {
    display: table-cell;
    vertical-align: middle;
  }
  .site-header .navi-box {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100vh;
    z-index: 999;
    padding-bottom: 15rem;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
  }
  .site-header .navi-box.open {
    opacity: 1;
    visibility: visible;
  }
  .site-header .gnavi {
    margin-top: 10rem;
  }
  .site-header .gnavi > li {
    width: 100%;
    font-size: 2.4rem;
    font-weight: bold;
    border-top: 1px solid #077437;
  }
  .site-header .gnavi > li > a {
    padding: 3rem 5vw;
    display: block;
  }
  .s-menu {
    padding: 5rem 5vw;
  }
  .s-menu {
    justify-content: center;
    font-size: 2.4rem;
  }
  .s-menu li {
    margin: 0 2rem;
  }
  .site-header .s-menu .company a:before {
    width: 4rem;
    height: 4rem;
    display: block;
    margin: 0 auto 0.5rem;
  }
  .site-header .s-menu .recruit a:before {
    width: 3.4rem;
    height: 4rem;
    display: block;
    margin: 0 auto 0.5rem;
  }
  .site-header .s-menu .contact {
    margin: 3rem auto 0;
    width: 80%;
  }
  .site-header .s-menu .contact a {
    font-size: 2.8rem;
    display: block;
    padding: 3rem 1rem;
  }
  .site-header .s-menu .contact a:before {
    content: "";
    width: 4rem;
    height: 4rem;
    margin: -0.3rem 1.5rem 0;
  }
  .site-header .gnavi .parent a {
    position: relative;
  }
  .site-header .gnavi .parent a i {
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%);
    display: block;
    line-height: 0;
  }
  .site-header .gnavi .parent a i:before {
    content: "";
    width: 2.4rem;
    height: 2px;
    display: block;
    background: #0E5D31;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    line-height: 0;
  }
  .site-header .gnavi .parent a i:after {
    content: "";
    width: 2px;
    height: 2.4rem;
    display: block;
    background: #0E5D31;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    line-height: 0;
  }
  .site-header .gnavi .parent .parent-link a {
    color: #fff;
  }
  .site-header .gnavi .child {
    display: none;
  }
  .site-header .gnavi .child .parent-link {
    font-size: 2.4rem;
  }
  .site-header .gnavi .child .navi-l li {
    width: 48.35%;
    margin-bottom: 3.2%;
  }
  .site-header .gnavi .child .navi-l li a .txt {
    font-size: 2rem;
    letter-spacing: 0;
    margin-top: 0;
    line-height: 1.4em;
  }
  .site-header .gnavi .child .navi-s li {
    width: 48.35%;
    font-size: 2rem;
  }
  .site-header .gnavi .child .navi-s li .txt {
    display: block;
  }
  .gnavi-toggle {
    background: #fff;
    width: 7.5rem;
    height: 7.5rem;
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 800;
  }
  .gnavi-toggle .inner {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .gnavi-toggle .txt {
    font-size: 1.8rem;
    font-weight: 700;
    color: #0E5D31;
    line-height: 1em;
    margin-top: 1rem;
  }
  .gnavi-toggle .hamburger {
    width: 3.5rem;
    height: 2.3rem;
    display: block;
    margin: 0 auto;
    position: relative;
  }
  .gnavi-toggle .hamburger_bar {
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    background: #0E5D31;
  }
  .gnavi-toggle .hamburger_bar:nth-child(1) {
    top: 0;
  }
  .gnavi-toggle .hamburger_bar:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .gnavi-toggle .hamburger_bar:nth-child(3) {
    top: 100%;
    transform: translateY(-100%);
  }
  .gnavi-toggle.close {
    background: #0E5D31;
  }
  .gnavi-toggle.close .txt {
    color: #fff;
  }
  .gnavi-toggle.close .hamburger_bar {
    background: #fff;
  }
  .gnavi-toggle.close .hamburger_bar:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
  }
  .gnavi-toggle.close .hamburger_bar:nth-child(2) {
    opacity: 0;
  }
  .gnavi-toggle.close .hamburger_bar:nth-child(3) {
    top: 50%;
    transform: translateY(-50%) rotate(-135deg);
  }
  .group-list-toggle {
    background: #077437;
    color: #fff;
    width: 10rem;
    height: 10rem;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1.4em;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .group-list-toggle .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  /*==================================================
footer
==================================================*/
  .site-footer .txt-box {
    width: 100%;
  }
  .site-footer .txt-box dd {
    font-size: 87.5%;
    line-height: 2em;
  }
  .site-footer .sns-list li img {
    width: 4rem;
  }
  .site-footer .txt-box h2 {
    margin: 0 auto 3rem;
    max-width: 25rem;
  }
  .site-footer .sns-list {
    justify-content: center;
  }
  .site-footer .sns-list li {
    width: 8rem;
    height: 8rem;
    margin: 0 1rem;
  }
  .bnr-f-list-s {
    margin-bottom: -4%;
  }
  .bnr-f-list-s li {
    width: 48%;
    margin-bottom: 4%;
  }
  .bnr-f-list li.l-bnr {
    margin-bottom: 0;
  }
  .bnr-f-list li {
    width: 100%;
  }
  .bnr-f-list li p {
    font-size: 93%;
    font-weight: bold;
  }
  .bnr-f-list li h3 {
    font-size: 3.2rem;
  }
  /*==================================================
content
==================================================*/
  .arrow-r {
    width: 5rem;
    height: 5rem;
  }
  .tit01 {
    margin-bottom: 4rem;
  }
  .tit01 .font-en:after {
    margin: 2rem 0 2rem;
  }
}
/*==================================================
sec-bg
==================================================*/
.bg-left, .bg-right {
  position: relative;
}
.bg-left .bg {
  position: absolute;
  top: 0;
  right: 10rem;
  background-color: #E6F4EC;
  z-index: -1;
  width: 100vw;
  height: 100%;
}
.bg-right .bg {
  position: absolute;
  top: 0;
  left: 10rem;
  background-color: #E6F4EC;
  z-index: -1;
  width: 100vw;
  height: 100%;
}
.bg-full .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: #E6F4EC;
  z-index: -1;
  width: 100vw;
  height: 100%;
}
.sec .inner {
  position: relative;
  padding: 6rem 0;
}
.sec .half-box {
  width: 47.5%;
  position: relative;
  z-index: 1;
}
.sec .wide-box {
  width: 66.25%;
  position: relative;
  z-index: 1;
}
.sec .short-box {
  width: 30.3%;
  position: relative;
  z-index: 1;
}
.sec .sec-tit01 {
  text-align: center;
}
.sec .sec-tit01.align-left {
  text-align: left;
}
.sec .sec-tit01 .font-s {
  display: block;
  font-size: 2.2rem;
  padding-top: 1rem;
}
.sec .sec-tit01 .font-en {
  font-size: 2.2rem;
  display: block;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
}
.sec .sec-tit01 .font-en::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 6rem;
  height: .3rem;
  background: #1F4C39;
}
.sec .sec-tit01.align-left .font-en::after {
  left: 0;
  transform: translateX(0);
}
.sec .sec-tit01 .font-jp {
  font-size: 2.8rem;
  display: block;
  margin-bottom: 6rem;
  line-height: 2;
}
.sec .sec-tit02 {
  font-size: 2.2rem;
  line-height: 1.75;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
.sec .half-box {
  width: 100%;
}
.sec .half-box:first-child {
  margin-bottom: 3rem;
}
.sec .wide-box {
  width: 100%;
}
.sec .short-box {
  width: 100%;
}
.sec .sec-tit01 .font-jp {
  margin-bottom: 3rem;
}
.sec .sec-tit02 {
  font-size: 2.8rem;
  margin-bottom: 2rem;
}
}

/*==================================================
business
==================================================*/
.business-sec {
  position: relative;
}
.business-sec::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 15rem;
  left: 5rem;
  width: 50vw;
  aspect-ratio: 800 / 224.85;
  background: url("../img/top/business-secbg.png") no-repeat center center;
  background-size: 100%;
  z-index: 1;
}
.business-box {
  margin-bottom: 10rem;
}
.business-box .img-box {
  width: 59.625%;
}
.business-box .txt-box {
  width: 35%;
}
.business-sec .bg {
  padding: 6rem 0;
}
.business-link-box .txt-box {
  width: 50%;
  margin-top: 10rem;
}
.business-link-box .img-box {
  width: 50%;
}
.business-link-box .txt-box ul {
  margin-bottom: 8rem;
}
.business-link-box .txt-box li {
  display: table;
  width: 100%;
  height: 9.3rem;
  position: relative;
  padding-right: 7rem;
  transition: .3s;
}
.business-link-box .txt-box li a:after {
  transition: .3s;
  content: "";
  background: none;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  right: -7rem;
  transition: .3s;
}
.business-link-box .txt-box li a:hover:after {
  background: #1F4C39;
}
.business-link-box .txt-box li a:hover .tit, .business-link-box .txt-box li a:hover .txt {
  color: #fff !important;
}
.business-link-box .txt-box li a {
  justify-content: flex-start;
  display: table-cell;
  vertical-align: middle;
  opacity: 1;
  border-bottom: 1px solid #707070;
  position: relative;
}
.business-link-box .txt-box li a .arrow-r {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  opacity: 0;
}
.business-link-box .txt-box li a:hover .arrow-r {
  opacity: 1;
}
.business-link-box .txt-box li:first-child a {
  border-top: 1px solid #707070;
}
.business-link-box .txt-box .tit {
  font-size: 2.2rem;
  width: 25.5rem;
  color: #1F4C39;
  font-weight: bold;
  position: relative;
  z-index: 2;
  transition: .3s;
}
.business-link-box .txt-box .tit .font-en {
  font-size: 1.4rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.5rem;
}
.business-link-box .txt-box .txt {
  flex: 1;
  font-weight: bold;
  position: relative;
  z-index: 2;
  transition: .3s;
}
.business-link-box .img-box {
  position: relative;
}
.business-link-box .img-box ul {
  position: relative;
}
.business-link-box .img-box li {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
  transition: .3s;
}
.business-link-box .img-box li.active {
  position: static;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .business-sec::after {
    content: none;
  }
  .business-box .img-box {
    margin-bottom: 10rem;
  }
  .business-link-box.sp li:not(:last-child) {
    border-bottom: 1px solid #707070;
    padding-bottom: 5vw;
    margin-bottom: 5vw;
  }
  .business-link-box.sp .img {
    width: 36%;
  }
  .business-link-box.sp .txt {
    width: 59%;
  }
  .business-link-box.sp h3 {
    color: #1F4C39;
    margin-bottom: 1.5rem;
  }
  .business-link-box.sp h3 .font-en {
    font-size: 2.4rem;
    line-height: 1em;
  }
  .business-link-box.sp h3 .font-jp {
    display: block;
    font-size: 3.2rem;
  }
  .business-link-box.sp p {
    line-height: 1.6em;
  }
  .business-link-box.sp .arrow-r {
    margin-left: auto;
  }
  
}


/*==================================================
brand
==================================================*/

.brand-list li {
  width: 50%;
}
.brand-list li a {
  position: relative;
  opacity: 1;
}
.brand-list li .txt-box {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #000;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 88%;
  background: rgba(255,255,255,0.76);
  padding: 3rem;
}
.brand-list li .txt-box .flex-box {
  justify-content: center;
  align-items: center;
}
.brand-list li .txt-box .logo {
  width: 10%;
  margin-right: 3rem;
}
.brand-list li .txt-box .txt-only {
  text-align: left;
}
.brand-list li .txt-box .txt-only h3 {
  margin-bottom: 2rem;
}
.brand-list li .txt-box .txt-only h3 .en-title-img  {
  height: 4.4rem;
  margin-bottom: 1rem;
  display: block;
}
.brand-list li .txt-box .txt-only h3 .en-title-img img  {
  width: auto;
  height: 100%;
}
.brand-list li .txt-box .txt-only h3 .jp-title {
  font-size: 1.8rem;
}
.brand-list p {
  font-size: 2.2rem;
  line-height: 1.6em;
  letter-spacing: 0.1em;
}

.brand-list .bottom-box .bottom-catch {
  font-size: 2.2rem;
  text-align: center;
  margin: 3rem 0 1rem;
  color: #1F4C39;
}
.brand-list .bottom-box .bottom-title {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 2rem;
  color: #1F4C39;
}
.brand-list .bottom-box .bottom-txt {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 2.0;
}
.brand-list .bottom-box .bottom-btn-wrap {
  display: flex;
  justify-content: flex-end;
  padding: 0 4rem 0 0;
}
@media screen and (max-width: 767px) {
  .brand-sec {
    padding: 5rem 0;
  }
  .brand-list li .txt-box {
    width: 94%;
    padding: 2rem 14%;
  }
  .brand-list li .txt-box .flex-box {
    justify-content: flex-start;
  }
  .brand-list li .txt-box .logo {
    width: 11%;
  }
  .brand-list li .txt-box .txt-only h3 .en-title-img  {
    height: 3.4rem;
  }
  .brand-list h3 {
    margin-bottom: 0;
  }
  .brand-list li {
    width: 100%;
  }
  .brand-list p {
    font-weight: bold;
  }
  .brand-list .bottom-box {
    padding: 0 5%;
  }
  .brand-list .brand-item:first-child .bottom-box {
    margin-bottom: 10rem;
  }
  .brand-list .bottom-box .bottom-txt {
    font-size: 2.0rem;
  }
  .brand-list .bottom-box .bottom-btn-wrap {
    justify-content: center;
    padding: 0;
  }
}


.inner-link {
  padding: 6rem 0 3rem;
}
.inner-link .flex-center {
  justify-content: center;
}
.inner-link .flex-center .inner-link-box {
  margin: 0 2rem;
}
.inner-link .inner-link-box {
  width: 23.125%;
}
.inner-link .inner-link-box a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3rem;
  border: 2px solid #1F4C39;
  color: #1F4C39;
  background: #fff;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  height: 12rem;
  transition: .3s;
}
.inner-link .inner-link-box a::after {
    content: "";
    background: #1F4C39;
    background-image: url("../img/cmn/arrow_r02_white.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.9rem;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    border-radius: 100%;
    vertical-align: middle;
    margin-top: -0.4rem;
    margin-left: 1rem;
    transition: .3s;
}
@media screen and (min-width: 821px) {
  .inner-link .inner-link-box a:hover {
    background: #E6F4EC;
  }
  .inner-link .inner-link-box a:hover:after {
    transform: translateX(0.5rem);
  }
}
@media screen and (max-width: 767px) {
.inner-link {
  padding: 3rem 0 1.5rem;
}
.inner-link .inner-link-box {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.inner-link .inner-link-box:not(:last-child){
  margin-bottom: 2rem;
}
.inner-link .inner-link-box a {
  height: 8rem;
}
}

/*==================================================
service-sec
==================================================*/
.service-sec .service-box .img-box {
  width: 33.125%;
  margin-bottom: 5rem;
}
.service-sec .service-box .txt-box {
  width: 61.875%;
  margin-bottom: 5rem;
  align-items: center;
}
.service-sec .service-box .txt-box .service-title-box {
  margin-bottom: 2rem;
}
.service-sec .service-box .txt-box .service-title-box .service-num-box {
  position: relative;
  margin-right: 2rem;
}
.service-sec .service-box .txt-box .service-title-box .service-num-box .service-num-tit {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 2;
  letter-spacing: .2rem;
  font-size: 2.4rem;
  opacity: .3;
}
.service-sec .service-box .txt-box .service-title-box .service-num-box .service-num {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  letter-spacing: .2rem;
  font-size: 14.4rem;
  opacity: .1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.service-sec .service-box .txt-box .service-title-box .service-tit {
  font-size: 3.6rem;
  color: #1F4C39;
  font-weight: 700;
  transform: translateY(-50%);
}
.service-sec .service-box .txt-box .service-title-box .service-txt {
  font-size: 1.4rem;
  line-height: 2.5;
}
.service-sec .service-box .txt-box h4 {
  display: block;
  width: 100%;
  font-weight: 700;
  font-size: 2.0rem;
  margin-bottom: 1.5rem;
}


@media screen and (max-width: 767px) {
.service-sec .service-box .img-box {
  width: 100%;
  margin-bottom: 8rem;
}
.service-sec .service-box .txt-box {
  width: 100%;
  margin-bottom: 8rem;
}
.service-sec .service-box .txt-box .service-title-box .service-txt {
  font-size: 2.0rem;
  line-height: 2.0;
}
.service-sec .service-box .txt-box h4 {
  font-size: 2.4rem;
}
}

/*==================================================
content-sec
==================================================*/
.content-sec {
  border-bottom: 1px solid #707070;
}
.content-sec .flex-box.inner::after {
  content: '';
  display: block;
	width: 31.5%; 
}
.txt2-block .tit-box {
	width: 31.5%;
	margin-bottom: 40px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	position: relative;
}
.txt2-block .tit-box a {
	width: 100%;
	height: 100%;
	display: block;
}
.txt2-block .tit01.txt-en {
	font-size: 1.8rem;
    margin-bottom: 1.0rem;
    line-height: 1.4;
    text-align: center;
	color: #fff;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.txt2-block .tit02 {
	margin-bottom: 0;
	line-height: 1;
	text-align: center;
	color: #fff;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
  font-size: 2.8rem;
}
.txt2-block .tit02::after {
	content: none;
}
.txt2-block .img-box {
	text-align: center;
	position: relative;
}
.txt2-block .tit-box a::after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(31, 76, 57, .3);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.txt2-block .tit-box a .img-box {
    transition: .3s;
    overflow: hidden;
    display: block;
}
.txt2-block .tit-box a:hover .img-box img {
  transform: scale(1.1);
}
.txt2-block .tit-box a .img-box img {
    transition: .3s;
}
.txt2-block .tit-box a:hover {
	opacity: 1;
}
.txt2-block a,
.txt2-block a .img-box {
	width: 100%;
}
.txt2-block .img-box img {
	width: 100%;
}
.txt2-block .txt-box.en2  {
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	width: 80%;
	z-index: 2;
}
.txt2-block .img-box .txt-box.en2 h2,
.txt2-block .img-box .txt-box.en2 h3 {
}
.txt2-block .img-box:hover .txt-box.en2 h2,
.txt2-block .img-box:hover .txt-box.en2 h3 {
	color: #1F4C39 !important;
}
.txt2-block .txt-box.en3 {
	padding-top: 2.8rem;
}
.txt2-block .under-txt {
	font-size: 1.4rem;
	border-top: 1px dashed #1F4C39;
	margin-top: 1rem;
	padding-top: 1rem;
}
.business .business-sec::after,
.company .business-sec::after {
  content: none;
}
.business .tk-content {
  position: relative;
}
.business .tk-content::after {
  content: '';
  background: url("../img/cmn/tk-logo.svg") no-repeat center center;
  background-size: 100%;
  width: 12rem;
  height: 2.82rem;
  display: block;
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
}

@media screen and (max-width: 767px) {
.txt2-block .tit-box {
    width: 100%;
    margin-bottom: 20px;
}
.business .business-sec,
.company .business-sec {
  padding: 4rem 0 0;
}
.business-box {
  margin-bottom: 0rem;
}
}

/*==================================================
マンション開発 - condominiums
==================================================*/
.seihankan-sec .short-box {
  order: 2;
}
.seihankan-sec .wide-box {
  order: 1;
}
.seihankan-sec .seihankan-box {
  width: 31%;
}
.seihankan-sec .seihankan-box .txt-box {
  background: #fff;
  padding: 2rem;
}
.seihankan-sec .seihankan-box .txt-box .top-box {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom:  1px solid #CCCCCC;
}
.seihankan-sec .seihankan-box .txt-box .top-box h3 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
}
.seihankan-sec .seihankan-box .txt-box h3 {
  font-size: 2.0rem;
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .seihankan-sec .seihankan-box:first-child {
    margin-top: 8rem;
  }
  .seihankan-sec .seihankan-box:nth-child(2) {
    margin-top: 4rem;
  }
  .seihankan-sec .seihankan-box .txt-box {
    min-height: 28rem;
  }    
}
@media screen and (max-width: 767px) {
.seihankan-box {
  width: 100%;
}
.seihankan-sec .seihankan-box {
  width: 100%;
  margin-bottom: 6rem;
}
}



.used-block .used-box {
  width: 31.5%;
  border: 1px solid #707070;
  padding: 2rem;
  margin-bottom: 3rem;
  position: relative;
}
.used-block .used-box .campaign {
  position: absolute;
  top: 0;
  right: 1.5rem;
  background: #009944;
  padding: 1.5rem 0;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  width: 10rem;
}
.used-block .used-box .campaign::before {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 5rem solid #009944;
  border-bottom: 1.5rem solid transparent;
}
.used-block .used-box .campaign::after {
  content: '';
  position: absolute;
  right: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-right: 5rem solid #009944;
  border-bottom: 1.5rem solid transparent;
}
.used-block .used-box .campaign span {
  font-size: 1.6rem;
  display: block;
}
.used-block .used-box .img-box {
  width: 14rem;
  height: 14rem;
  overflow: hidden;
}
.resiur-h.used-block .used-box .img-box {
  height: auto;
}
.used-block .used-box .txt-box {
  width: calc(100% - 16rem);
}
.used-block .used-box .txt-box .tit01 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1.5rem !important;
  vertical-align: middle;
}
.used-block .used-box.has-campaign .txt-box .tit01 {
  padding-right: 11rem;
}
.used-block .used-box .txt-box .new {
    color: #B20000;
    font-size: 1.6rem !important;
    font-weight: bold;
}
.used-block .used-box .txt-box .flex-box {
  align-items: center;
}
.used-block .used-box .txt-box .desc-tit {
	width: 20%;
  margin-bottom: .25rem !important;
  font-size: 1.3rem;
  line-height: 1.5;
}
.used-block .used-box .txt-box .desc-txt {
	width: 79%;
  margin-bottom: .25rem !important;
  font-size: 1.3rem;
  line-height: 1.5;
}
.used-block .used-box .txt-box .desc-txt.used-cost-red {
  color: #B20000;
  font-weight: 700;
}
.used-block .used-box .txt-box .desc-txt.used-cost-red .used-cost {
  font-size: 2.0rem;
}
.used-block .used-box .used-detail-btn {
  width: 100%;
  background: #1F4C39;
  color: #fff;
  margin-top: 2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5rem 0;
}
.used-block .used-box .used-detail-btn::after {
  content: '';
  display: block;
  margin-left: 1rem;
  width: 1.433rem;
  height: 1.433rem;
  background: url("../img/business/housing_distribution/icon-link.svg") no-repeat center;
  background-size: 100%;
}
.used-block .used-box .used-soldout {
  margin-top: 1rem;
}
.used-block .used-box .used-soldout span {
  background: #aaa;
  padding: .5rem 1rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .used-block .used-box {
    width: 100%;
    margin-bottom: 3rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.block-p1 { justify-content: center; }

.block-p2,
.block-p4 { justify-content: center; }
.block-p2 .used-box:nth-child(odd),
.block-p4 .used-box:nth-child(odd) { margin-left: 16.5%; margin-right: 0; }
.block-p2 .used-box:nth-child(even),
.block-p4 .used-box:nth-child(even) { margin-left: 2.75%; margin-right: 16.5%; }

.block-p5 { justify-content: center; }
.block-p5 .used-box:nth-child(3n+2) { margin: 0 2.75% 3rem; }
.block-p5 .used-box:last-child { margin-right: 0 !important; }

.block-p7 { justify-content: center; }
.block-p7 .used-box:nth-child(3n+2) { margin: 0 2.75% 3rem; }
.block-p7 .used-box:nth-last-child(4) { margin-left: 16.5% !important; margin-right: 0 !important; }
.block-p7 .used-box:nth-last-child(3) { margin-left: 2.75%; margin-right: 16.5% !important; }
.block-p7 .used-box:last-child        { margin-left: 2.75%; margin-right: 0 !important; }

/*==================================================
simple-sec
==================================================*/
.yellow-line {
  background: #FFF9C4;
}
.simple-sec .txt-block {
  margin-bottom: 10rem;
}
.simple-sec .img-block {
  margin-bottom: 10rem;
}
.simple-sec .bg-block {
  background: #E6F4EC;
  padding: 7rem 4rem;
  text-align: center;
  margin-bottom: 10rem;
}
.simple-sec .bg-block h3 {
  font-size: 2.4rem;
  margin-bottom: 2rem;
}
.simple-sec .art-block {
  background: #fff;
  padding: 7rem 4rem 4rem;
}
.simple-sec .border-block {
  width: 100%;
  max-width: 680px;
  background: #fff;
  border: 2px solid #1F4C39;
  margin: 5rem auto;
}
.simple-sec .border-block.art-border-block {
  padding: 1.5rem 0;
}
.simple-sec .border-block h4 {
  font-size: 2.0rem;
  line-height: 2;
}
.simple-sec .border-block .detail-box {
  width: 50%;
}
.simple-sec .border-block.art-border-block .detail-box {
  width: auto;
}
.simple-sec .border-block .detail-box p {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
}
.simple-sec .border-block .detail-box a {
  text-decoration: underline;
  font-size: 1.6rem;
  position: relative;
  padding-right: 2rem;
  margin: 0 2rem;
}
.simple-sec .border-block .detail-box a::after {
  content: "";
  background: #1F4C39;
  background-image: url(../img/cmn/arrow_r02_white.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9rem;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  vertical-align: middle;
  margin-top: -0.4rem;
  margin-left: 1rem;
  transition: .3s;
}
.simple-sec .art-flex .txt-box {
  width: 65%;
}
.simple-sec .art-flex .img-box {
  width: 30%;
}
@media screen and (min-width: 821px) {
  .simple-sec .border-block .detail-box a:hover:after {
    transform: translateX(0.5rem);
  }
}
.simple-sec .art-block .art-box {
  width: 22.5%;
  margin-bottom: 3rem;
}
.simple-sec .art-block .art-box figure figcaption {
  font-size: 1.4rem;
  padding-top: .5rem;
  text-align: center;
  line-height: 1.75;
}
.simple-sec .art-block .art-box figure figcaption span {
  font-weight: bold;
}
.simple-sec .art-block h4 {
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 4rem;
}
.simple-sec .art-block h4 span {
  display: block;
  font-size: 1.4rem;
  font-weight: normal;
}
.simple-sec .art-block .aih-box {
  width: 48.5%;
  margin-bottom: 3rem;
}
.simple-sec .art-block .aih-txt {
  font-size: 1.4rem;
  text-align: center;
}
.simple-sec .bg-block .txt-center {
  text-align: center;
}
.art_support .bnr-sec {
  padding-top: 0;
}
.art_support .bnr-sec .bnr-box:not(:last-child) {
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
.simple-sec .border-block .detail-box {
  width: 100%;
}
.simple-sec .art-block .art-box,
.simple-sec .art-block .aih-box {
  width: 47.5%;
}
.simple-sec .art-flex .txt-box {
  width: 100%;
}
.simple-sec .art-flex .img-box {
  width: 60%;
  margin: 4rem 20% 0;
}
.simple-sec .bg-block .txt-center {
  text-align: left;
}
}

.simple-sec .txt-block.border-bottom {
  margin-bottom: 5rem;
  padding-bottom: 5rem
}
.if-form-tit {
  font-family: "Noto Serif JP", serif;
  display: block;
  font-size: 2.8rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #1F4C39;
}
.if-form-tit:after {
  content: "";
  display: block;
  width: 6rem;
  height: 0.3rem;
  background: #1F4C39;
  margin: 2rem auto 4rem 0;
}

/* ===== SVG 線描画：初期フレーム固定＋一時停止（このSVG限定） ===== */
.business-box .img-box svg .st1,
.business-box .img-box svg .st2,
.business-box .img-box svg .st3,
.business-box .img-box svg .st4,
.business-box .img-box svg .st5 {
  stroke-dasharray: var(--len, 1000);
  stroke-dashoffset: var(--len, 1000);

  animation: draw-line 1.2s ease forwards;
  animation-play-state: paused;     /* ← 初期は停止（完了絵のチラつき防止） */

  /* 併用の入りアニメ（必要でなければ削ってOK） */
  opacity: 0;
  transform: translateY(8px);
}

/* 交差で .active が付いたら再生開始（.active は既存IOが付与） */
.business-box .img-box .active svg .st1,
.business-box .img-box .active svg .st2,
.business-box .img-box .active svg .st3,
.business-box .img-box .active svg .st4,
.business-box .img-box .active svg .st5 {
  animation-play-state: running;
  opacity: 1;
  transform: translateY(0);
}

/* 線描画のキーフレーム */
@keyframes draw-line {
  to { stroke-dashoffset: 0; }
}

@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.contact-btn-sec {
  padding: 4rem 0;
}
.contact-btn-sec .tit02 {
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 2.5rem;
}
.contact-btn-sec.housingd-contact-sec {
  background: url("../img/business/housing_distribution/bottom-contact-bg.jpg") no-repeat center center;
  background-size: cover;
}
.contact-btn-sec.assetmanagement-contact-sec {
  background: url("../img/business/housing_distribution/bottom-contact-am-bg.jpg") no-repeat center center;
  background-size: cover;
}
.contact-btn-sec.rental-contact-sec {
  background: url("../img/business/rental/bottom-contact-bg.jpg") no-repeat center center;
  background-size: cover;
}
.contact-btn-sec.apartm-contact-sec {
  background: url("../img/business/apart_management/bottom-contact-bg.jpg") no-repeat center center;
  background-size: cover;
}
.contact-btn-sec .contact-item {
  width: 50%;
}
.contact-btn-sec .contact-item.tel {
  background: rgba(255,255,255,.8);
  padding: 2.75rem 0;
  height: 16rem;
}
.contact-btn-sec .contact-item.tel h3 {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1rem;
}
.contact-btn-sec .contact-item.tel a {
  font-size: 3.6rem;
  text-align: center;
  margin-bottom: 1rem;
  display: block;
}
.contact-btn-sec .contact-item.tel a span {
  font-size: 2.4rem;
}
.contact-btn-sec .contact-item.tel .business-hours {
  text-align: center;
}
.contact-btn-sec .contact-item.btn {
  background: rgba(31,76,57,.8);
  padding: 3rem;
  height: 16rem;
}
.contact-btn-sec .contact-item.btn h3 {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1rem;
  color: #fff;
}
.contact-btn-sec .contact-item.btn a {
  font-size: 2.0rem;
  text-align: center;
  background: #fff;
  width: 100%;
  padding: 1rem;
  display: block;
  color: #1F4C39;
}
.contact-btn-sec .contact-item.btn .txt-box {
  width: 100%;
  display: block;
}
.contact-btn-sec .contact-item.btn a::after {
    content: "";
    background: #1F4C39;
    background-image: url("../img/cmn/arrow_r02_white.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.9rem;
    display: inline-block;
    width: 2.0rem;
    height: 2.0rem;
    border-radius: 100%;
    vertical-align: middle;
    margin-top: -0.4rem;
    margin-left: 1rem;
    transition: .3s;
}
@media screen and (min-width: 821px) {
.contact-btn-sec .contact-item.btn a:hover:after {
  transform: translateX(0.5rem);
}
}
@media screen and (max-width: 768px) {
.contact-btn-sec .tit02 {
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 2rem;
}
.contact-btn-sec .contact-item {
  width: 100%;
}
.contact-btn-sec .contact-item.tel,
.contact-btn-sec .contact-item.btn {
  padding: 0 5vw;
}
}


.grand-h .purchase-box {
  width: calc(100% / 3);
  margin-bottom: 8rem;
  border-right: 1px solid #ccc;
}
.grand-h .purchase-box:first-child,
.grand-h .purchase-box:nth-child(4),
.grand-h .purchase-box:nth-child(7) {
  border-left: 1px solid #ccc;
}
.hj .purchase-box {
  width: calc(100% / 3);
  margin-bottom: 8rem;
  border-right: 1px solid #ccc;
}
.hj::after {
  content: '';
  width: calc(100% / 3);
  display: block;
}
.hj .purchase-box:first-child,
.hj .purchase-box:nth-child(5),
.hj .purchase-box:nth-child(9) {
  border-left: 1px solid #ccc;
}
.purchase-box figure {
  width: 100%;
  margin-bottom: 3rem;
  padding: 0 3rem;
  position: relative;
}
.purchase-box .purchase-txtbox {
  padding: 0 3rem;
  margin-bottom: 3rem;
}
.grand-h .purchase-box .purchase-txtbox {
  min-height: 24.3rem;
}
.purchase-box .purchase-tit {
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.purchase-box .new {
  font-family: "Questrial", sans-serif;
  letter-spacing: .2rem;
  font-size: 1.6rem;
  font-weight: 700;
  background: #B20000;
  color: #fff;
  padding: 0 1rem;
  text-align: center;
  vertical-align: top;
  margin: .3rem 0 0 1rem;
  display: inline-block;
}
.purchase-box figure .new {
  position: absolute;
  top: 1rem;
  left: 0rem;
  font-size: 1.4rem;
}
.grand-h .purchase-box .purchase-txtbox .desc-tit {
  width: 15%;
  margin-bottom: 1rem;
}
.grand-h .purchase-box .purchase-txtbox .desc-txt {
  width: 82.5%;
  margin-bottom: 1rem;
}
.hj .purchase-box .purchase-txtbox .desc-tit {
  width: 17.5%;
  margin-bottom: 1rem;
}
.hj .purchase-box .purchase-txtbox .desc-txt {
  width: 80%;
  margin-bottom: 1rem;
}
.purchase-box .grand-h-btn {
  width: 100%;
  padding: 0 3rem;
}
.purchase-box .grand-h-btn div {
  width: 47.5%;
}
.purchase-box .hj-btn {
  width: 90%;
  margin: 0 auto;
}
.purchase-box .link01 a {
  width: 100%;
  height: 100%;
  display: block;
  background: #1F4C39;
  color: #fff;
  border: 1px solid #1F4C39;
  text-align: center;
  padding: 1rem 0;
  opacity: 1;
}
.purchase-box .link01 a::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: #fff;
  background-image: url("../img/cmn/arrow_r02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9rem;
  border-radius: 100%;
  vertical-align: middle;
  margin-top: -0.4rem;
  margin-left: 1rem;
  transition: .3s;
}
.purchase-box .link02 a {
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  color: #1F4C39;
  border: 1px solid #1F4C39;
  text-align: center;
  padding: 1rem 0;
  opacity: 1;
}
.purchase-box .link02 a::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: #1F4C39;
  background-image: url("../img/cmn/arrow_r02_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9rem;
  border-radius: 100%;
  vertical-align: middle;
  margin-top: -0.4rem;
  margin-left: 1rem;
  transition: .3s;
}
@media screen and (max-width: 767px) {
.grand-h .purchase-box,
.hj .purchase-box {
  width: 100%;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-bottom: 1px solid #ccc;
  border-left: 0;
  border-right: 0;
}
.grand-h .purchase-box:first-child,
.grand-h .purchase-box:nth-child(4),
.grand-h .purchase-box:nth-child(7),
.hj .purchase-box:first-child,
.hj .purchase-box:nth-child(5),
.hj .purchase-box:nth-child(9) {
  border-left: 0;
}
.purchase-box .purchase-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.purchase-box .purchase-tit {
  width: 47.5%;
  font-size: 2.4rem;
  margin-bottom: 0;
}
.purchase-box .purchase-tit .new {
  margin: .5rem 0 0 0;
}
.purchase-box figure .new {
  position: absolute;
  top: 1rem;
  left: -2rem;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: .2rem .5rem 0;
}
.purchase-box figure {
  width: 47.5%;
  margin-bottom: 0;
  padding: 0;
}
.grand-h .purchase-box .purchase-txtbox {
  margin-bottom: 2rem;
  min-height: auto;
  padding: 0;
}
.purchase-box .purchase-txtbox .desc-tit,
.purchase-box .purchase-txtbox .desc-txt {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: .5rem;
}
.purchase-box .grand-h-btn {
  width: 100%;
  padding: 0;
}
}
@media screen and (min-width: 768px) {
.purchase-box .link01 a:hover::after,
.purchase-box .link02 a:hover::after {
  transform: translateX(0.5rem);
  }
}
.page404 figure {
  width: 60%;
  margin: 0 auto 5rem;
}
.page404 h2 {
  font-size: 2.8rem;
  margin-bottom: 3rem;
}
.page404 .detail-btn {
  margin: 5rem auto 0;
}