html {
  font-size: 62.5%;
}

@media screen and (min-width:1366px) {
  html {
    font-size: calc(100vw / 1366 * 10);
  }
}

@media screen and (max-width:1040px) {
  html {
    font-size: calc(100vw / 1040 * 10);
  }
}

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}
body {
  color: #000;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  min-height: 200vh;
}
.body_container {
  padding-top: 9.6rem;
}
.flow .body_container {
  overflow: hidden;
}
.top .body_container {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .body_container {
    padding-top: 5rem!important;
  }
}
.max1000 {
  margin: 0 auto;
  max-width: 104rem;
  padding: 0 2rem;
}
img {
  height: auto;
  margin: 0;
  max-width: 100%;
  vertical-align: bottom;
}
a {
  transition: .2s;
}
.txt_link {
  color: #0062ff;
}
.txt_link:hover {
  opacity: .7;
}
.poppins {
  font-family: 'Poppins', sans-serif;
  font-style: normal;
  font-weight: 600;
}
.anchor {
  margin-top: -9.6rem;
  padding-top: 9.6rem;
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -5rem;
    padding-top: 5rem;
  }
}
/* ---------------------------------------------------------------------------
//  btnA
--------------------------------------------------------------------------- */
.btnA {
  align-items: center;
  background: #fff;
  border: solid 1px #000;
  border-radius: 10rem;
  color: #000;
  display: flex;
  font-weight: 700;
  height: 6.7rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 30rem;
  position: relative;
  width: 100%;
}
.btnA:hover {
  background: #4b7746;
  border: solid 5px #9f0107;
  color: #fff;
}.btnA:hover:before {
  background-image: url(../img/common/arrow03_w.png);
}
.btnA::before {
  background-image: url(../img/common/arrow03.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 1.35rem;
  margin: auto;
  position: absolute;
  right: 2.7rem;
  top: 0;
  transition: .2s;
  width: .75rem;
}
@media screen and (max-width: 768px) {
  .btnA {
    height: 5.5rem;
  }
}
/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
.tsuhan_btn {
  border-radius: 100%;
  box-shadow: 1rem 1rem 2rem rgba(0,0,0,.16);
  height: 11.6rem;
  overflow: hidden;
  position: absolute;
  right: calc((100% - 125rem) / 2);
  top: 12.5rem;
  transform: rotate(-15deg);
  width: 11.6rem;
  width: 11.6rem;
  z-index: 2;
}
.tsuhan_btn:hover {
  opacity: .7;
  transform: rotate(0);
}
@media screen and (max-width: 1290px) {
  .tsuhan_btn {
    right: 2rem;
  }
}
.side_btn {
  bottom: 15%;
  position: fixed;
  right: 0;
  width: 8.4rem;
  z-index: 998;
}
.side_btn:hover {
  opacity: .7;
}
#header {
  background: #fff;
  position: fixed;
  top: 0;
  transition: .2s ;
  width: 100%;
  z-index: 999;
}
.top #header {
  background: transparent;
  color: #fff;
  /* background: #efebe4; */
  position: absolute;
}
.top #header a {
  color: #fff;
}
#header.fixed {
  background: #efebe4;
  color: #000;
  opacity: 1;
}
#header.fixed a {
  color: #000;
}
.top #header.fixed {
  background: #fff;
  position: fixed;
}
#header > .inner {
  align-items: center;
  display: flex;
  gap: 0 2rem;
  height: 9.6rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 129rem;
  padding: 0 2rem;
}
#header .logo {
  width: 15.8rem;
}
#header .logo:hover {
  opacity: .7;
}
#header .nav_area nav ul {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: space-between;
}
#header .nav_area nav ul li a {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 3.9rem;
  justify-content: center;
  margin: 0 1rem;
  white-space: nowrap;
}
#header nav ul li.itemA a:hover {
  color: #4b7746;
}
#header nav ul li.itemB a {
  background: #466689;
  border: solid 1px #466689;
  border-radius: 10rem;
  color: #fff;
  margin: 0 .5rem;
  width: 8.4rem;
}
#header nav ul li.itemB a:hover {
  background: transparent;
  color: #466689;
}
#header nav ul li.itemC a {
  background: #7ec100;
  border: solid 1px #7ec100;
  border-radius: 10rem;
  color: #fff;
  margin: 0 0 0 .5rem;
  padding-left: 2.6rem;
  position: relative;
  width: 14.4rem;
}
#header nav ul li.itemC a::before, #header nav ul li.itemC a::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 100%;
  left: 1.5rem;
  margin-right: .1rem;
  position: absolute;
  transition: .2s;
  width: 2.5rem;
}
#header nav ul li.itemC a::before {
  background-image: url(../img/common/header_mail.png);
}
#header nav ul li.itemC a::after {
  background-image: url(../img/common/header_mail_hover.png);
  opacity: 0;
}
#header nav ul li.itemC a:hover {
  background: transparent;
  color: #7ec100;
}
#header nav ul li.itemC a:hover:before {
  opacity: 0;
}
#header nav ul li.itemC a:hover:after {
  opacity: 1;
}
#header nav ul li.itemD a {
  font-size: 1.2rem;
  margin: 0 0 0 1rem;
}
#header nav ul li.itemD a span {
  background-image: url(../img/common/header_tel.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 0;
  height: 2rem;
  width: 16rem;
}
#nav_toggle {
  display: none;
}
@media screen and (max-width:768px) {
  .tsuhan_btn {
    display: none;
  }
  .side_btn {
    display: none;
  }
  .top #header {
    background: #fff;
    color: #000;
    position: fixed;
  }
  .top #header a {
    color: #000;
  }
  #header > .inner {
    height: 5rem;
    padding: 0;
  }
  #header .logo {
    padding-left: 2rem;
    width: 25rem;
  }
  #header .nav_area {
    background: rgba(255,255,255,.95);
    height: calc(100vh - 5rem);
    overflow: auto;
    padding-bottom: 4rem;
    position: absolute;
    top: 5rem;
    transform: translateX(-100VW);
    transition: .6s;
    width: 100%;
  }
  #header.open  .nav_area {
    transform: translateX(0);
  }
  #nav_toggle {
    display: block;
    height: 5rem;
    position: relative;
    right: 0;
    top: 0;
    width: 5.5rem;
    z-index: 1000;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    background: #000;
    display: block;
    height: .2rem;
    left: 0;
    margin: auto ;
    position: absolute;
    right: 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    width: 1.5rem;
  }
  #nav_toggle span:nth-child(1) {
    top: 1.7rem;
  }
  #nav_toggle span:nth-child(2) {
    top: 2.3rem;
  }
  #nav_toggle span:nth-child(3) {
    top: 2.9rem;
  }
  .open #nav_toggle span:nth-child(1) {
    top: 2.3rem;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    opacity: 0;
    width: 0;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 2.3rem;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  #header .nav_area nav ul {
    align-items: stretch;
    flex-direction: column;
    padding: 4rem 2rem 2rem;
  }
  #header .nav_area nav ul li.itemA a {
    align-items: flex-start;
    background-image: url(../img/common/arrow01.png);
    background-position: center right 2rem;
    background-repeat: no-repeat;
    background-size: .6rem;
    border-bottom: solid 1px rgba(0,0,0,.15);
    height: 5.4rem;
    margin: 0;
    padding: 0 4rem;
    width: 100%;
  }
  #header .nav_area nav ul li.itemA:first-of-type a {
    border-top: solid 1px rgba(0,0,0,.15);
  }
  #header .nav_area nav ul li.itemE a {
    background: #ba5b5e;
    border-radius: .5rem;
    box-shadow: 0 .3rem .6rem rgba(0,0,0,.3);
    color: #fff;
    height: 5.4rem;
    margin: 3rem 0 0;
    padding-bottom: .5rem;
    width: 100%;
  }
  #header .nav_area nav ul li.itemE a img {
    width: 15.7rem;
  }
  #header .nav_area nav ul li.itemF a {
    background: #96b955;
    border-radius: .5rem;
    box-shadow: 0 .3rem .6rem rgba(0,0,0,.3);
    color: #fff;
    font-size: 1.6rem;
    height: 5.4rem;
    margin: 1rem 0 0;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  bread_list
--------------------------------------------------------------------------- */
.bread_list {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 2rem;
  position: relative;
}
.top .bread_list {
  opacity: 0;
}
.post-type-archive-installation .bread_list::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: 0;
  width: 85rem;
  z-index: -1;
}
.post-type-archive-installation .bread_list::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: calc((100vw - 104rem) / 2 * -1);
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}
.advantages .bread_list::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: 0;
  position: absolute;
  width: 85rem;
  z-index: -1;
}
.advantages .bread_list::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: calc((100vw - 104rem) / 2 * -1);
  position: absolute;
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}
.flow .bread_list::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: 0;
  width: 87rem;
  z-index: -1;
}
.flow .bread_list::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: calc((100vw - 104rem) / 2 * -1);
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}

.bread_list li + li {
  margin-left: 4.5rem;
  position: relative;
}
.bread_list li + li::before {
  bottom: .2rem;
  content: '>';
  left: -2.5rem;
  margin: auto;
  position: absolute;
}
.bread_list li a {
  display: block;
  max-width: 20rem;
  overflow: hidden;
  text-decoration: underline;
  text-overflow: ellipsis;
  white-space: nowrap;
  white-space: nowrap;
}
.bread_list li:last-of-type a {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
.bread_list li a:hover {
  opacity: .7 ;
}
@media screen and (max-width:768px) {
  .bread_list {
    font-size: 1.2rem;
  }
  .top .bread_list {
    display: none;
  }
  .installation .bread_list::before {
    height: 100%;
    width: 60%;
  }
  .installation .bread_list::after {
    display: none;
  }
  .advantages .bread_list::before {
    height: 100%;
    width: 60%;
  }
  .advantages .bread_list::after {
    display: none;
  }
  .flow .bread_list::before {
    height: 100%;
    width: 60%;
  }
  .flow .bread_list::after {
    display: none;
  }
  .bread_list li + li {
    margin-left: 2rem;
  }
  .bread_list li + li::before {
    left: -1.2rem;
  }
}

/* ---------------------------------------------------------------------------
//  footer01
--------------------------------------------------------------------------- */
.footer01 .container {
  background: #efebe4;
  padding-bottom: 4.2rem;
  position: relative;
}
.footer01 .deco {
  bottom: -5.4rem;
  position: absolute;
  right: 4rem;
  width: 42.6rem;
}
.footer01 .head {
  background-image: url(../img/common/footer01_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 17rem 0 20rem;
  position: relative;
}
.footer01 .head::before {
  background: rgba(0,0,0,.45);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.footer01 .head .wrap {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  justify-content: center;
  position: relative;
}
.footer01 .head .wrap .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  justify-content: center;
}
.footer01 .head .wrap .ttl img {
  margin-bottom: .6rem;
  width: 10.4rem;
}
.footer01 .head .wrap .desc {
  line-height: calc(35/16);
  margin-bottom: 5.4rem;
  margin-top: 2.3rem;
  text-align: center;
}
.footer01 .main {
  background: #fff;
  box-shadow: 1rem 1rem 2rem rgba(0,0,0,.16);
  margin-top: -12.8rem;
  padding: 4.7rem 7rem 13rem;
  position: relative;
}
.footer01 .main .cta_area {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12rem;
  justify-content: center;
}
.footer01 .main .cta_area .cta {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  padding: 2rem 0;
  position: relative;
  width: 36.5rem;
}
.footer01 .main .cta_area .cta.mail::before {
  background: #000;
  content: '';
  height: 100%;
  left: -6rem;
  position: absolute;
  top: 0;
  width: .1rem;
}
.footer01 .main .cta_area .cta .ttl {
  font-size: 2.2rem;
}
.footer01 .main .cta_area .cta small {
  font-size: 1.6rem;
}
.footer01 .main .cta_area .cta.mail small {
  color: #9f0107;
}
.footer01 .main .cta_area .cta .btn {
  align-items: center;
  background: #9f0107;
  border: solid 2px #9f0107;
  border-radius: 10rem;
  box-shadow: 0 .3rem .6rem rgba(0,0,0,.16);
  color: #fff;
  display: flex;
  font-size: 2.3rem;
  height: 6.8rem;
  justify-content: center;
  margin-top: 1rem;
  width: 100%;
}
.footer01 .main .cta_area .cta .btn:hover {
  background: #fff;
  color: #9f0107;
}
.footer01 .main .cta_area .cta.tel .btn {
  font-size: 2.1rem;
}
.footer01 .main .cta_area .cta.tel .btn span {
  font-size: 3.3rem;
  margin-left: .5rem;
}
.footer01 .main .cta_area .cta .sup {
  margin-top: 1rem;
}
.footer01 .main .cta_area strong {
  color: #9f0107;
  font-size: 2.2rem;
  margin-top: 1rem;
}
.footer01 .main .bottom_area {
  display: flex;
  gap: 0 6rem;
  margin-top: 4rem;
}
.footer01 .main .bottom_area .item {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: calc((100% - 3rem) / 2);
}
.footer01 .main .bottom_area .item .ttl {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.6rem;
}
.footer01 .main .bottom_area .item .g_map {
  height: 30rem;
  width: 100%;
}
.footer01 .main .bottom_area .item .g_map iframe {
  height: 100%;
  width: 100%;
}
.footer01 .main .bottom_area .item .sub {
  font-weight: 700;
  margin-top: 1.7rem;
  width: 100%;
}
.footer01 .main .bottom_area .item .desc {
  margin-top: .5rem;
  width: 100%;
}
.footer01 .main .bottom_area .item .access {
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  margin-top: 1.7rem;
  width: 100%;
}
.footer01 .main .bottom_area .item .access p {
  width: calc((100% - 20.2rem));
}
.footer01 .main .bottom_area .item .access .btn {
  align-items: center;
  background: #4b7746;
  border: solid 1px #4b7746;
  color: #fff;
  display: flex;
  height: 5.2rem;
  justify-content: center;
  width: 18.2rem;
}
.footer01 .main .bottom_area .item .access .btn:hover {
  background: #fff;
  color: #4b7746;
}
@media screen and (max-width:768px) {
  .footer01 .container {
    padding-bottom: 6rem;
  }
  .footer01 .deco {
    bottom: -5.4rem;
    position: absolute;
    right: 0;
    width: 20rem;
  }
  .footer01 .head {
    padding: 8rem 0 12rem;
  }
  .footer01 .head .wrap .ttl {
    font-size: 2rem;
  }
  .footer01 .head .wrap .desc {
    margin-bottom: 3rem;
  }
  .footer01 .main {
    background: #fff;
    margin-top: -6rem;
    padding: 2rem 2rem 9rem;
    width: calc(100% - 4rem);
  }
  .footer01 .main .cta_area {
    display: block;
  }
  .footer01 .main .cta_area .cta {
    width: 100%;
  }
  .footer01 .main .cta_area .cta.mail::before {
    display: none;
  }
  .footer01 .main .cta_area .cta.mail {
    border-top: 1px solid #000;
    margin-top: 2rem;
  }
  .footer01 .main .cta_area .cta .ttl {
    font-size: 1.8rem;
  }
  .footer01 .main .cta_area .cta small {
    font-size: 1.4rem;
  }
  .footer01 .main .cta_area .cta .btn {
    border: solid 1px #9f0107;
    color: #fff;
    font-size: 1.8rem;
    height: 5rem;
  }
  .footer01 .main .cta_area .cta.tel .btn {
    font-size: 1.8rem;
  }
  .footer01 .main .cta_area .cta.tel .btn span {
    font-size: 2rem;
    margin-left: .2rem;
  }
  .footer01 .main .cta_area .cta .sup {
    font-size: 1.4rem;
  }
  .footer01 .main .cta_area strong {
    display: block;
    font-size: 1.4rem;
    margin-top: 2rem;
    text-align: center;
  }
  .footer01 .main .bottom_area {
    display: block;
    margin-top: 4rem;
  }
  .footer01 .main .bottom_area .item {
    width: 100%;
  }
  .footer01 .main .bottom_area .item .ttl {
    font-size: 1.8rem;
  }
  .footer01 .main .bottom_area .item .g_map {
    height: 24rem;
  }
  .footer01 .main .bottom_area .item .access {
    display: block;
  }
  .footer01 .main .bottom_area .item .access p {
    width: 100%;
  }
  .footer01 .main .bottom_area .item .access .btn {
    height: 5rem;
    margin: 1.7rem 0 0;
  }
  .footer01 .main .bottom_area .item.right {
    margin-top: 4rem;
  }
}
/* ---------------------------------------------------------------------------
//  bnr_area
--------------------------------------------------------------------------- */
.bnr_area {
  padding: 4rem 0;
}
.bnr_area .bnrs {
  display: flex;
  gap: 4rem;
  justify-content: center;
}
.bnr_area .bnrs .bnr {
  width: 22rem;
}
.bnr_area .bnrs .bnr img {
  width: 100%;
}
.bnr_area .bnrs .bnr:hover {
  opacity: .7;
}
@media screen and (max-width:768px) {
  .bnr_area {
    padding: 6rem 0;
  }
  .bnr_area .bnrs {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  .bnr_area .bnrs .bnr {
    width: 22rem;
  }
}
/* ---------------------------------------------------------------------------
//  footer02
--------------------------------------------------------------------------- */
.footer02 .container {
  background: #354034;
  color: #fff;
  padding: 6rem 0 2.5rem;
}
.footer02 .ttl {
  width: 22rem;
}
.footer02 .contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 6rem;
}
.footer02 .contents .content01 {
  font-weight: 500;
}
.footer02 .contents .content01 .num {
  font-size: 2.2rem;
  margin: .5rem 0;
}
.footer02 .contents .content02 {
  display: flex;
}
.footer02 .contents .content02 ul {
  background-image: linear-gradient(to top, #fff, #fff 2px, transparent 2px, transparent 8px);
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-y;       /* 横向きにのみ繰り返す */
  background-size: 2px 10px;   /* 左の線 */
  line-height: calc(26/16);
  padding: .5rem 3.5rem;
  width: 22.5rem;
}
.footer02 a:hover {
  opacity: .7;
}
.footer02 .contents .content03 {
  display: flex;
  justify-content: space-between;
  margin-top: 7rem;
  width: 100%;
}
.footer02 .contents .content03 ul {
  display: flex;
}
.footer02 .contents .content03 ul li + li {
  margin-left: 2.3rem;
}
.footer02 .contents .content03 .copyright {
  font-size: 1.5rem;
}
@media screen and (max-width:768px) {
  .footer02 .container {
    padding: 6rem 0 8rem;
  }
  .footer02 .ttl {
    width: 16rem;
  }
  .footer02 .contents {
    display: block;
    margin-top: 4rem;
  }
  .footer02 .contents .content01 .num {
    font-size: 1.8rem;
  }
  .footer02 .contents .content02 {
    display: flex;
    margin-top: 4rem;
  }
  .footer02 .contents .content02 ul {
    font-size: 1.4rem;
    padding: .5rem 2rem;
    white-space: nowrap;
    width: 50%;
  }
  .footer02 .contents .content03 {
    display: block;
    margin-top: 4rem;
  }
  .footer02 .contents .content03 ul {
    flex-wrap: wrap;
    font-size: 1rem;
    justify-content: space-between;
  }
  .footer02 .contents .content03 ul li + li {
    margin-left: 0;
  }
  .footer02 .contents .content03 .copyright {
    font-size: 1rem;
    margin-top: 4rem;
    text-align: center;
  }
}
/* ---------------------------------------------------------------------------
//  bottom_menu
--------------------------------------------------------------------------- */
.bottom_menu {
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 998;
}
.bottom_menu a {
  align-items: center;
  display: flex;
  height: 6rem;
  justify-content: center;
}
.bottom_menu .btn01, .bottom_menu .btn02 {
  background-image: url(../img/common/arrow02.png);
  background-position: center right 1rem;
  background-repeat: no-repeat;
  background-size: .9rem;
  color: #fff;
  padding-bottom: .2rem;
  padding-right: .7rem;
  width: calc((100% - 6rem) / 2);
}
.bottom_menu .btn01 {
  background-color: #4b7746;
}
.bottom_menu .btn02 {
  background-color: #96b955;
}
.bottom_menu .btn03 {
  background: #ba5b5e;
  width: 6rem;
}
.bottom_menu .btn03 img {
  width: 2.6rem;
}
@media screen and (max-width:768px) {
  .bottom_menu {
    display: flex;
  }
}
/* ---------------------------------------------------------------------------
//  top_fv
--------------------------------------------------------------------------- */
.top_fv {
  background: #efebe4;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
}
.top_fv .movie {
  order: 2;
  overflow: hidden;
  padding-bottom: 4rem;
  position: relative;
  width: 68%;
}
.top_fv .movie .dummy {
  align-items: center;
  aspect-ratio: 1280/720;
  background: rgba(0,0,0,.3);
  color: red;
  display: block;
  display: flex;
  font-size: 3rem;
  justify-content: center;
  width: 100%;
}
.top_fv .movie video {
  width: 100%;
}
.top_fv .movie h1 {
  margin-left: auto;
  margin-right: 10.5rem;
  margin-top: -2.8rem;
  position: relative;
  text-align: right;
  width: 53.5rem;
  z-index: 2;
}
.top_fv .movie .img01 {
  margin-left: auto;
  margin-right: 35rem;
  margin-top: 2rem;
  width: 26.6rem;
}
.scrolldown1 {
  bottom: 1rem;
  height: 12rem;
  position: absolute;
  right: 68.3rem;
  z-index: 3;
}
.scrolldown1 span {
  position: absolute;
  right: -1.7rem;
  top: 0;
  width: 1.1rem;
}
.scrolldown1::after {
  animation: pathmove 2s ease-in-out infinite;
  background: #000;
  content: '';
  height: 4rem;
  position: absolute;
  top: 0;
  width: .1rem;
}
@keyframes pathmove {
  0% {
    height: 0;
  }
  30% {
    height: 12rem;
    opacity: 1;
  }
  100% {
    height: 12rem;
    opacity: 1;
    top: 14rem;
  }
}
.top_fv .content01 {
  margin: 0 2rem;
  order: 1;
  padding-top: 14rem;
  width: calc(32% - 4rem);
}
.top_fv .content01 .img01 {
  margin: 0 auto;
  position: relative;
  width: 71%;
}
.top_fv .content01 .img02 {
  margin-top: -21%;
  margin-top: 10%;
}
.top_fv .content02 {
  display: flex;
  margin: 0 auto;
  max-width: 104rem;
  order: 3;
  padding: 0 2rem;
  padding-bottom: 4.7rem;
  width: 100%;
}
.top_fv .content02 .txt_area {
  font-weight: 700;
  padding-top: 4.6rem;
  width: 50%;
}
.top_fv .content02 .txt_area .ttl {
  font-size: 3.3rem;
}
.top_fv .content02 .txt_area .desc {
  font-size: 1.8rem;
  line-height: calc(35/18);
  margin-top: 4rem;
  padding-right: 8rem;
}
.top_fv .content02 .txt_area .img01 {
  margin-left: auto;
  margin-right: 8rem;
  margin-top: 4rem;
  width: 19.8rem;
}
.top_fv .content02 .img_area {
  width: 50%;
}
.top_fv .content02 .img_area .img {
  width: calc(100% + 14rem);
}
@media screen and (max-width:768px) {
  .top_fv .movie {
    order: 1;
    padding-bottom: 1rem;
    width: 100%;
  }
  .top_fv .movie .dummy {
    font-size: 2rem;
  }
  .top_fv .movie video {
    width: 100%;
  }
  .top_fv .movie h1 {
    margin-left: 2rem;
    margin-right: auto;
    margin-top: -1.8rem;
    width: 31rem;
  }
  .top_fv .movie .img01 {
    display: none;
  }
  .scrolldown1 {
    display: none;
  }
  .top_fv .content01 {
    margin: 0;
    order: 2;
    padding-top: 0;
    width: 100%;
  }
  .top_fv .content01 .img01 {
    display: none;
  }
  .top_fv .content01 .img02 {
    display: none;
  }
  .top_fv .content01 .img03 {
    margin: 0 auto;
    width: 28rem;
  }
  .top_fv .content02 {
    display: block;
    padding: 0 2rem;
    padding-bottom: 8.5rem;
  }
  .top_fv .content02 .txt_area {
    padding-top: 3.6rem;
    width: 100%;
  }
  .top_fv .content02 .txt_area .ttl {
    font-size: 2rem;
  }
  .top_fv .content02 .txt_area .desc {
    font-size: 1.6rem;
    margin-top: 2rem;
    padding-right: 0;
  }
  .top_fv .content02 .txt_area .img01 {
    margin-left: 0;
    margin-right: 0;
    margin-top: 1rem;
    position: relative;
    width: 11.3rem;
  }
  .top_fv .content02 .img_area {
    margin-top: -6rem;
    width: 100%;
  }
  .top_fv .content02 .img_area .img {
    margin-left: auto;
    width: 24rem;
  }
}

/* ---------------------------------------------------------------------------
//  top01
--------------------------------------------------------------------------- */
.top01 .head {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-top: 9rem;
  position: relative;
}
.top01 .head .deco01 {
  left: -30.6rem;
  position: absolute;
  top: -20.8rem;
  width: 53rem;
}
@media screen and (max-width:1366px) {
  .top01 .head .deco01 {
    left: -12rem;
    position: absolute;
    top: -10.8rem;
    width: 47rem;
  }
}
.top01 .head .deco02 {
  position: absolute;
  right: 5rem;
  top: 2.4rem;
  width: 28.9rem;
}
.top01 .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
}
.top01 .head .ttl img {
  margin-bottom: .5rem;
  width: 10.4rem;
}
.top01 .head .desc {
  font-weight: 700;
  margin-top: 3rem;
}

.tab_wrap {
  margin-top: 4rem;
}
/* タブ */
.tab_list {
  background: rgba(245,245,245,.85);
  display: flex;
  /* height: 8.5rem; */
  height: 8rem;
  justify-content: center;
  padding: 0;
  padding: .5rem 0;
  position: sticky;
  top: 9.6rem;
  z-index: 10;
}
/* .top .tab_list{
  background: none;
} */
.tab_item {
  border-left: 2px dotted #4b7746;
  color: #4b7746;
  cursor: pointer;
  display: flex;
  justify-content: center;
  text-align: center;
  transition: .2s;
  width: 15.8rem;
}
.tab_item:last-of-type {
  border-right: 2px dotted #4b7746;
}
.tab_item span {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  line-height: 1;
  padding-bottom: .2rem;
  position: relative;
  transition: .2s;
  width: 100%;
}
.tab_item span.forSP {
  display: none;
}
.tab_item span::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  transition: .2s;
  width: 5rem;
}
.tab_item span::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: .58rem;
  transition: .2s;
  width: 5rem;
}
.tab_item:nth-of-type(1) span:before {
  background-image: url(../img/top/tab01.png);
}
.tab_item:nth-of-type(1) span:after {
  background-image: url(../img/top/tab01_w.png);
}
.tab_item:nth-of-type(2) span:before {
  background-image: url(../img/top/tab02.png);
}
.tab_item:nth-of-type(2) span:after {
  background-image: url(../img/top/tab02_w.png);
}
.tab_item:nth-of-type(3) span:before {
  background-image: url(../img/top/tab03.png);
}
.tab_item:nth-of-type(3) span:after {
  background-image: url(../img/top/tab03_w.png);
}
.tab_item:nth-of-type(4) span:before {
  background-image: url(../img/top/tab04.png);
}
.tab_item:nth-of-type(4) span:after {
  background-image: url(../img/top/tab04_w.png);
}
.tab_item:nth-of-type(5) span:before {
  background-image: url(../img/top/tab05.png);
}
.tab_item:nth-of-type(5) span:after {
  background-image: url(../img/top/tab05_w.png);
}
.tab_item:hover span, .tab_item.is_active span {
  background-color: #4b7746;
  color: #fff;
}
.tab_item:hover span::after, .tab_item.is_active span::after {
  opacity: 1;
}
.panel_area {
  margin-top: 4rem;
  overflow: hidden;
  position: relative;
}
.panel_item {
  height: 0;
  opacity: 0;
  padding-bottom: 0;
  position: relative;
  transition: .2s;
}

.panel_item::before {
  background: #efebe4;
  content: '';
  height: calc(100% - 5.5rem);
  left: 0;
  position: absolute;
  top: 5.5rem;
  width: 38.3rem;
  z-index: -1;
}
.panel_item::after {
  background: #efebe4;
  content: '';
  height: calc(100% - 5.5rem);
  left: calc((100vw - 100%) * -1);
  position: absolute;
  top: 5.5rem;
  width: calc(100vw - 100%);
  z-index: -1;
}
.panel_item.is_active {
  height: auto;
  opacity: 1;
  padding-bottom: 17rem;
}
.panel_item .flex {
  display: flex;
  flex-wrap: wrap;
}
.panel_item .flex .txt_area {
  width: 52.4rem;
}
.panel_item .flex .txt_area .case {
  border-top: solid 1px;
  color: #9f0107;
  font-size: 1.3rem;
}
.panel_item .flex .txt_area .ttl {
  font-size: 4rem;
  font-weight: 700;
}
.panel_item .flex .txt_area .content {
  font-weight: 700;
  margin-top: 7rem;
}
.panel_item .flex .txt_area .content .sub {
  font-size: 2.7rem;
}
.panel_item .flex .txt_area .content .desc {
  font-size: 1.8rem;
  margin-top: 2rem;
}
.panel_item .flex .txt_area .content .imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.4rem;
}
.panel_item .flex .txt_area .content .imgs .img {
  margin-top: 2.4rem;
  width: calc((100% - 2.4rem) / 2);
}
.panel_item .flex .zumen {
  mix-blend-mode: multiply;
  width: calc((100% - 52.4rem));
}
.panel_item .flex .zumen .btn {
  display: none;
}
.panel_item .bottom_area {
  margin-top: 11.5rem;
  width: 100%;
}
.panel_item .bottom_area .ttl {
  align-items: center;
  display: flex;
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 2.5rem;
}
.panel_item .bottom_area .ttl::before {
  background: #9f0107;
  content: '';
  height: 2rem;
  margin-right: 1.4rem;
  position: relative;
  top: .2rem;
  width: 2rem;
}
.panel_item .bottom_area .slide {
  left: -.8rem;
  position: relative;
  width: calc(100% + 1.6rem);
  z-index: 2;
}
.panel_item .bottom_area .slide a {
  aspect-ratio: 316 / 233;
  background: #fff;
  display: block;
  overflow: hidden;
  position: relative;
}
.panel_item .bottom_area .slide a img {
  height: 100%;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}
.panel_item .bottom_area .slide a:hover img {
  transform: scale(1.2);
}
.panel_item .bottom_area .slide .slick-slide {
  margin: 0 .8rem;
  width: 32.1rem;
}
.slick-prev, .slick-next {
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
  cursor: pointer;
  height: 4.7rem;
  outline: none;
  position: absolute;
  top: 50%;
  transition: .2s;
  width: 4.7rem;
  z-index: 10;
}
.slick-prev::before, .slick-next::before {
  display: none;
}
.slick-prev:hover, .slick-next:hover {
  display: block;
  opacity: .7!important;
}

.slick-prev {
  background-image: url(../img/top/prev.png)!important;
  left: .8rem;
}

.slick-next {
  background-image: url(../img/top/next.png)!important;
  right: .7rem;
}

@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.panel_item .deco {
  position: absolute;
  z-index: -1;
}
.panel_item.item01 .deco {
  bottom: 33rem;
  right: -25.1rem;
  width: 71.8rem;
}
.panel_item.item02 .deco {
  bottom: 14.4rem;
  right: -48.8rem;
  width: 89.3rem;
}
.panel_item.item03 .deco {
  bottom: 21.7rem;
  right: -44.4rem;
  width: 103rem;
}
.panel_item.item04 .deco {
  bottom: 14.1rem;
  right: -38.5rem;
  width: 56.2rem;
}
.panel_item.item05 .deco {
  bottom: 30rem;
  right: -28.5rem;
  width: 48.6rem;
}

@media screen and (max-width:768px) {
  .top01 .head {
    padding-top: 7rem;
  }
  .top01 .head .deco01 {
    left: -7rem;
    top: -9rem;
    width: 24.9rem;
  }
  .top01 .head .deco02 {
    overflow: hidden;
    right: 0;
    top: 4.6rem;
    width: 14.5rem;
  }
  .top01 .head .deco02 img {
    position: relative;
    right: -2.7rem;
  }
  .top01 .head .ttl {
    font-size: 2rem;
  }
  .top01 .head .desc {
    margin-top: 1.5rem;
  }

  .tab_wrap {
    margin-top: 2rem;
  }
  /* タブ */
  .tab_list {
    height: 4rem;
    padding: 0;
    top: 5rem;
  }
  .tab_item {
    width: 20%;
  }
  .tab_item:first-of-type {
    border-left: none;
  }
  .tab_item:last-of-type {
    border-right: none;
  }
  .tab_item span {
    font-size: 1.3rem;
    line-height: 1.2;
    width: 100%;
  }
  .tab_item span.forPC {
    display: none;
  }
  .tab_item span.forSP {
    display: flex;
  }
  .tab_item span::before, .tab_item span::after {
    display: none;
  }
  .panel_area {
    margin-top: 0;
    padding-top: 4rem;
  }

  .panel_item.is_active {
    padding-bottom: 12rem;
  }
  .panel_item::before {
    height: calc(100% - 4rem);
    top: 4rem;
    width: 20rem;
  }
  .panel_item::after {
    height: calc(100% - 4rem);
    top: 4rem;
  }
  .panel_item .flex {
    display: block;
  }
  .panel_item .flex .txt_area {
    width: 100%;
  }
  .panel_item .flex .txt_area .ttl {
    font-size: 2rem;
  }
  .panel_item .flex .txt_area .content {
    margin-top: 3rem;
  }
  .panel_item .flex .txt_area .content .sub {
    font-size: 1.8rem;
  }
  .panel_item .flex .txt_area .content .desc {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
  .panel_item .flex .txt_area .content .imgs {
    gap: 0 1.5rem;
  }
  .panel_item .flex .txt_area .content .imgs .img {
    margin-top: 1.5rem;
    width: calc((100% - 1.5rem) / 2);
  }

  .panel_item .flex .zumen {
    background: #fff;
    border: solid 10px #efebe4;
    display: block;
    margin-top: 5rem;
    mix-blend-mode: inherit;
    overflow: hidden;
    position: relative ;
    width: 100%;
  }
  .panel_item .flex .zumen .btn {
    background: #fff;
    cursor: pointer;
    display: block;
    font-size: 2rem;
    font-weight: 700;
    padding: 2rem 0;
    position: relative;
    text-align: center;
  }
  .panel_item .flex .zumen .btn::after {
    background-image: url(../img/common/arrow03.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: .5rem;
    content: '';
    display: block;
    height: 1.35rem;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    transform: rotate(90deg);
    transition: .2s;
    width: .75rem;
  }
  .panel_item .flex .zumen .btn.open::after {
    transform: rotate(-90deg);
  }
  .panel_item .flex .zumen .img {
    display: none;
    padding: 1rem 0 2rem;
    position: relative;
    width: 100%;
  }
  .panel_item .bottom_area {
    margin-top: 5rem;
  }
  .panel_item .bottom_area .ttl {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .panel_item .bottom_area .ttl::before {
    height: 1.2rem;
    margin-right: .5rem;
    top: .1rem;
    width: 1.2rem;
  }
  .panel_item .bottom_area .slide {
    left: 0;
    width: 100%;
  }
  .panel_item .bottom_area .slide .slick-slide {
    margin: 0;
    width: 100%;
  }
  .slick-prev, .slick-next {
    height: 3.37rem;
    width: 3.3rem;
  }
  .slick-prev {
    left: 0;
  }
  .slick-next {
    right: 0;
  }
  .panel_item .deco {
    position: absolute;
    z-index: -1;
  }
  .panel_item.item01 .deco {
    bottom: inherit;
    right: -10rem;
    top: -6rem;
    width: 20rem;
  }
  .panel_item.item02 .deco {
    bottom: inherit;
    right: -10rem;
    top: -9rem;
    width: 23rem;
  }
  .panel_item.item03 .deco {
    bottom: inherit;
    right: -10rem;
    top: -7rem;
    width: 20rem;
  }
  .panel_item.item04 .deco {
    bottom: inherit;
    right: -6rem;
    top: -6rem;
    width: 13rem;
  }
  .panel_item.item05 .deco {
    bottom: inherit;
    right: -8rem;
    top: -4rem;
    width: 18rem;
  }
}

/* ---------------------------------------------------------------------------
//  top02
--------------------------------------------------------------------------- */
.top02 .container {
  padding: 20rem 0 26.5rem;
}
.top02 .wrap {
  display: flex;
}
.top02 .wrap .bg {
  background-repeat: no-repeat;
  background-size: cover;
  width: calc((100% - 44.6rem) / 2);
}
.top02 .wrap .bg.left {
  background-image: url(../img/top/top02_bg01.jpg);
  background-position: center left;
}
.top02 .wrap .bg.right {
  background-image: url(../img/top/top02_bg02.jpg);
  background-position: center right;
}
.top02 .wrap .txt_area {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 42.5rem;
  position: relative;
  width: 44.6rem;
}
.top02 .wrap .txt_area .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
}
.top02 .wrap .txt_area .ttl img {
  width: 10.4rem;
}
.top02 .wrap .txt_area .desc {
  font-size: 3.5rem;
  font-weight: 700;
  margin-top: 2.2rem;
  text-align: center;
}
.top02 .wrap .txt_area .btnA {
  margin-top: 3.4rem;
}
.top02 .wrap .txt_area .img {
  bottom: -14.8rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 40.9rem;
}
@media screen and (max-width:768px) {
  .top02 .container {
    overflow: hidden;
    padding: 0;
  }
  .top02 .wrap {
    display: block;
  }
  .top02 .wrap .bg {
    height: 20rem;
    width: 100%;
  }
  .top02 .wrap .txt_area {
    height: auto;
    padding: 4rem 2rem;
    width: 100%;
  }
  .top02 .wrap .txt_area .ttl {
    font-size: 2rem;
  }
  .top02 .wrap .txt_area .desc {
    font-size: 2.8rem;
    margin-top: 2.2rem;
  }
  .top02 .wrap .txt_area .img {
    margin-top: 4rem;
    position: static;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  top03
--------------------------------------------------------------------------- */
.top03 .container {
  background: #efebe4;
  position: relative;
}
.top03 .deco01 {
  height: 17.5rem;
  left: 0;
  margin: 0 auto;
  margin: auto;
  max-width: 120rem;
  position: absolute;
  position: absolute;
  right: 0;
  right: 0;
  top: -7.5rem;
  width: 100%;
}
.top03 .deco01 img {
  display: block;
  margin-left: auto;
  width: 24.8rem;
}
.top03 .wrap {
  padding-bottom: 15rem;
  padding-top: 6rem;
  position: relative;
}
.top03 .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
}
.top03 .ttl img {
  width: 10.4rem;
}
.top03 .flex {
  align-items: center;
  display: flex;
  margin-top: 6.7rem;
}
.top03 .flex .img {
  height: 58.8rem;
  position: relative;
  width: calc(100% - 51.6rem);
}
.top03 .flex .img img {
  max-width: inherit;
  position: absolute;
  right: 0;
  top: 0;
  width: 62.2rem;
}
.top03 .flex .txt_area {
  font-weight: 700;
  padding: 0 2.7rem 0 5.9rem;
  width: 51.6rem;
}
.top03 .flex .txt_area .sub {
  font-size: 3.3rem;
  white-space: nowrap;
}
.top03 .flex .txt_area .desc {
  font-size: 1.8rem;
  line-height: calc(35/18);
  margin-top: 4.8rem;
}
.top03 .top03_list {
  display: flex;
  justify-content: space-between;
  margin-top: 6.4rem;
}
.top03 .top03_list li {
  background: #fff;
  border: solid 1px #bdbdbd;
  padding: 2.7rem;
  position: relative;
  width: calc((100% - 5.2rem) / 3);
}
.top03 .top03_list li:nth-of-type(2) {
  background: url(../img/top/top03_list_bg.jpg);
  background-position: center;
  background-size: cover;
  border: none;
}
.top03 .top03_list li .icon {
  position: absolute;
}
.top03 .top03_list li:nth-of-type(1) .icon {
  left: 2.8rem;
  top: 3.6rem;
  width: 6.6rem;
}
.top03 .top03_list li:nth-of-type(2) .icon {
  left: 3.4rem;
  top: 3rem;
  width: 5rem;
}
.top03 .top03_list li:nth-of-type(3) .icon {
  left: 3.2rem;
  top: 2.5rem;
  width: 6.1rem;
}
.top03 .top03_list li .sub {
  font-size: 2rem;
  font-weight: 700;
}
.top03 .top03_list li:nth-of-type(1) .sub {
  padding-left: 9rem;
}
.top03 .top03_list li:nth-of-type(2) .sub {
  padding-left: 9.5rem;
}
.top03 .top03_list li:nth-of-type(3) .sub {
  padding-left: 9rem;
}
.top03 .top03_list li .desc {
  font-weight: 500;
  margin-top: 1.6rem;
}
.top03 .movie {
  margin: 9.6rem 0 6.8rem;
  text-align: center;
}
.top03 .movie video {
  border-radius: 2rem;
  display: block;
  margin: auto;
  max-width: 85.4rem;
  width: 100%;
}
@media screen and (max-width:768px) {
  .top03 .deco01 {
    height: auto;
    left: inherit;
    right: 0;
    right: 1rem;
    top: 3rem;;
  }
  .top03 .deco01 img {
    width: 13rem;
  }
  .top03 .wrap {
    padding-bottom: 10rem;
    padding-top: 8em;
  }

  .top03 .ttl {
    font-size: 2rem;
  }
  .top03 .flex {
    display: block;
    margin-top: 4rem;
  }
  .top03 .flex .img {
    height: auto;
    width: 100%;
  }
  .top03 .flex .img img {
    position: static;
    width: 100%;
  }
  .top03 .flex .txt_area {
    font-weight: 700;
    margin-top: 3rem;
    padding: 0;
    width: 100%;
  }
  .top03 .flex .txt_area .sub {
    font-size: 2.3rem;
    text-align: center;
    white-space: nowrap;
  }
  .top03 .flex .txt_area .desc {
    font-size: 1.6rem;
    margin-top: 1.6rem;
  }
  .top03 .top03_list {
    display: block;
    margin-top: 4rem;
  }
  .top03 .top03_list li {
    padding: 2rem;
    width: 100%;
  }
  .top03 .top03_list li + li {
    margin-top: 2rem;
  }
  .top03 .top03_list li .sub {
    font-size: 2rem;
    font-weight: 700;
    padding-left: 11rem!important;
  }
  .top03 .top03_list li .desc {
    font-weight: 500;
    margin-top: 1.6rem;
  }
  .top03 .movie {
    margin: 5rem 0;
  }
  .top03 .movie video {
    border-radius: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  top04
--------------------------------------------------------------------------- */
.top04 .container {
  padding: 9.6rem 0 0;
  position: relative;
}
.top04 .deco01 {
  left: 0;
  margin: auto;
  max-width: 120rem;
  position: absolute;
  right: 0;
  top: 5.2rem;
  width: 100%;
  z-index: 2;
}
.top04 .deco01 img {
  display: block;
  margin-left: auto;
  width: 24.5rem;
}
.top04 .head {
  align-items: center;
  background-image: url(../img/top/top04_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  padding: 6.7rem 0 9.9rem;
  position: relative;
}
.top04 .head::before {
  background: rgba(0,0,0,.3);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.top04 .head .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  position: relative;
}
.top04 .head .ttl img {
  margin-bottom: .6rem;
  width: 10.4rem;
}
.top04 .head .desc {
  color: #fff;
  margin-bottom: 5.4rem;
  margin-top: 2.3rem;
  position: relative;
}
@media screen and (max-width:768px) {
  .top04 .container {
    padding: 8rem 0 0;
    position: relative;
  }
  .top04 .deco01 {
    overflow: hidden;
    top: 4.5rem;
  }
  .top04 .deco01 img {
    position: relative;
    right: -2rem;
    width: 18rem;
  }
  .top04 .head {
    align-items: center;
    background-image: url(../img/top/top04_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    font-weight: 700;
    padding: 4rem 2rem;
    position: relative;
  }
  .top04 .head .ttl {
    font-size: 2rem;
  }
  .top04 .head .desc {
    margin-bottom: 3rem;
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  top05
--------------------------------------------------------------------------- */
.top05 .container {
  padding: 15rem 0 0;
  position: relative;
}
.top05 .border_area {
  align-items: center;
  border: solid 1px #e0e0e0;
  display: flex;
  flex-direction: column;
  padding: 0 0 6.5rem;
}
.top05 .border_area .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 3rem;
  margin-top: -2.6rem;
}
.top05 .border_area .ttl img {
  margin-bottom: .6rem;
  width: 10.4rem;
}
.top05 .border_area .ac {
  max-width: 71.5rem;
  width: 100%;
}
.top05 .border_area .ac + .ac {
  border-top: 1px dotted #838383;
}
.top05 .border_area .ac dt {
  color: #9f0107;
  cursor: pointer;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  padding: 4.7rem 4.7rem 4.7rem 0;
  position: relative;
}
.top05 .border_area .ac dt::before, .top05 .border_area .ac dt::after {
  background: #000;
  bottom: 0;
  content: '';
  height: .2rem;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: .2s;
  width: 1.8rem;
}
.top05 .border_area .ac dt::after {
  transform: rotate(-90deg);
}
.top05 .border_area .ac dt.open::after {
  transform: rotate(0);
}
.top05 .border_area .ac dt span {
  align-items: center;
  display: flex;
  font-size: 4rem;
  font-weight: 700;
  line-height: 0;
  position: relative;
  top: -.2rem;
  width: 5rem;
}
.top05 .border_area .ac dt .sub {
  position: relative;
  width: calc(100% - 5rem);
}
.top05 .border_area .ac dd {
  display: none;
  padding-bottom: 4.7rem;
  padding-left: 5rem;
  position: relative;
}
.top05 .border_area .ac dd span {
  font-size: 2.9rem;
  font-weight: 700;
  left: 0;
  line-height: 1;
  padding-left: .5rem;
  position: absolute;
  top: .3rem;
  width: 5rem;
}
.top05 .border_area .ac dd .desc {
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width:768px) {
  .top05 .container {
    padding: 12rem 0 0;
  }
  .top05 .border_area {
    padding: 0 2rem 2rem;
  }
  .top05 .border_area .ttl {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .top05 .border_area .ac dt {
    font-size: 1.6rem;
    padding: 3rem 2rem 3rem 0;
  }
  .top05 .border_area .ac dt::before, .top05 .border_area .ac dt::after {
    width: 1.6rem;
  }
  .top05 .border_area .ac dt span {
    font-size: 3rem;
    width: 3.6rem;
  }
  .top05 .border_area .ac dt .sub {
    position: relative;
    width: calc(100% - 3.6rem);
  }
  .top05 .border_area .ac dd {
    padding-bottom: 3rem;
    padding-left: 3.6rem;
  }
  .top05 .border_area .ac dd span {
    font-size: 2rem;
    top: .5rem;
    width: 3.6rem;
  }
  .top05 .border_area .ac dd .desc {
    font-size: 1.6rem;
  }
}

/* ---------------------------------------------------------------------------
//  top06
--------------------------------------------------------------------------- */
.top06 .container {
  padding: 20rem 0;
  position: relative;
}
.top06 .wrap {
  position: relative;
}
.top06 .wrap .deco01 {
  bottom: -27.5rem;
  left: 17rem;
  position: absolute;
  width: 23.8rem;
  z-index: 2;
}
.top06 .border_area {
  align-items: center;
  border: solid 1px #e0e0e0;
  display: flex;
  flex-direction: column;
  padding: 0 0 8rem;
}
.top06 .border_area .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 3rem;
  margin-top: -2.6rem;
}
.top06 .border_area .ttl img {
  margin-bottom: .6rem;
  width: 10.4rem;
}
.news_archive {
  max-width: 71.5rem;
  width: 100%;
}
.top06 .news_archive {
  margin-bottom: 4.3rem;
  width: 100%;
}
.news_archive .news_link {
  align-items: center;
  border-bottom: dotted 1px #838383;
  display: flex;
  overflow: hidden;
  padding: 2.4rem 0;
  position: relative;
}
.news_archive .news_link::after {
  background-image: url(../img/common/arrow01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 11rem;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: .2s;
  width: .7rem;
}
.news_archive .news_link:hover:after {
  opacity: 1;
}
.news_archive .news_link:hover {
  color: #4b7746;
}
.news_archive .news_link:hover .date {
  opacity: 0;
  transform: translateX(-13rem);
  width: 0;
}
.news_archive .news_link .date {
  color: #d1bd99;
  font-weight: 500;
  transition: .2s;
  width: 13rem;
}
.news_archive .news_link .sub {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  overflow: hidden;
  transition: .2s;
  width: calc(100% - 13rem);
}
.news_archive .news_link:hover .sub {
  padding-right: 1.4rem;
  width: 100%;
}
@media screen and (max-width:768px) {
  .top06 .container {
    overflow: hidden;
    padding: 12rem 0 10rem;
  }
  .top06 .border_area .ttl {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .top06 .wrap .deco01 {
    bottom: -3rem;
    left: 25rem;
    width: 15rem;
  }
  .top06 .border_area {
    padding: 0 2rem 6rem;
  }
  .top06 .border_area .ttl img {
    margin-bottom: .6rem;
    width: 10.4rem;
  }
  .news_archive .news_link {
    display: block;
  }
  .news_archive .news_link::after {
    display: none;
  }
  .news_archive .news_link:hover:after {
    opacity: 1;
  }
  .news_archive .news_link:hover {
    color: #4b7746;
  }
  .news_archive .news_link:hover .date {
    opacity: 1;
    transform: translateX(0);
    width: 100%;
  }
  .news_archive .news_link .date {
    width: 100%;
  }
  .news_archive .news_link .sub {
    -webkit-line-clamp: 2;
    margin-top: 1rem;
    width: calc(100%);
  }
  .news_archive .news_link:hover .sub {
    padding-right: 0;
  }
}

/* ---------------------------------------------------------------------------
//  page_txt
--------------------------------------------------------------------------- */
.page_container {
  position: relative;
}
.page_txt {
  overflow: hidden;
  position: absolute;
  right: 0;
  top: -1rem;
}
.showroom_txt img {
  position: relative;
  right: -7rem;
  width: 23.6rem;
}
.company_txt img {
  position: relative;
  right: -7rem;
  width: 23.6rem;
}
.installation_txt img {
  position: relative;
  right: -7rem;
  width: 23.9rem;
}
.advantages_txt img {
  position: relative;
  right: -7rem;
  width: 23.9rem;
}
.flow01_txt {
  letter-spacing: 0;
  right: inherit;
}
.flow01_txt img {
  left: -2.7rem;
  position: relative;
  width: 23.9rem;
}
.flow02_txt img {
  position: relative;
  right: -7rem;
  width: 23.9rem;
}

/* ---------------------------------------------------------------------------
//  page_fv
--------------------------------------------------------------------------- */
.page_fv {
  position: relative;
  z-index: 2;
}
.page_fv .bg {
  height: 38.8rem;
  max-width: 128rem;
  position: absolute;
  right: 0;
  top: 0;
}
.page_fv .bg::before {
  background: rgba(0,0,0,.25);
  content: '';
  height: 38.8rem;
  max-width: 128rem;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.page_fv .bg img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.page_fv .wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 38.8rem;
  justify-content: center;
  position: relative;
}
.page_fv .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}
.page_fv img {
  margin-bottom: .6rem;
}
.showroom_fv .ttl img {
  width: 15rem;
}
.company_fv .ttl img {
  width: 15rem;
}
.installation_fv .ttl img {
  width: 15rem;
}
.advantages_fv .ttl img {
  width: 15rem;
}
.flow_fv .ttl img {
  width: 15rem;
}
@media screen and (max-width:768px) {
  .page_fv .bg {
    height: 30rem;
  }
  .page_fv .bg::before {
    height: 30rem;
  }
  .page_fv .bg img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .page_fv .wrap {
    height: 30rem;
  }
  .page_fv .ttl {
    font-size: 3rem;
  }
}

/* ---------------------------------------------------------------------------
//  min_fv
--------------------------------------------------------------------------- */
.min_fv {
  position: relative;
  z-index: 2;
}
.min_fv .container {
  padding: 6rem 0 7.8rem;
}
.min_fv .wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.min_fv .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  font-weight: 700;
}
.min_fv img {
  margin-bottom: .6rem;
}
.min_fv .ttl img {
  width: 10.4rem;
}
.privacy_fv .ttl img {
  width: 12.5rem;
}
.min_fv .sub {
  font-weight: 700;
  margin-top: 2.4rem;
}
.min_fv  .cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.min_fv  .cat {
  align-items: center;
  background: #def2db;
  border-radius: 10rem;
  color: #4b7746;
  display: flex;
  font-weight: 700;
  height: 2.8rem;
  justify-content: center;
  margin: 1.5rem 1.5rem 0;
  min-width: 12.4rem;
  padding: 0 1.3rem;
}
/* .min_fv  .cat:hover {
  opacity: .7;
} */
@media screen and (max-width:768px) {
  .min_fv .container {
    padding: 6rem 0;
  }
  .min_fv .ttl {
    font-size: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  showroom01
--------------------------------------------------------------------------- */
.showroom01 .container {
  margin-bottom: 12rem;
}
.showroom01 .wrap {
  padding-bottom: 11rem;
  padding-top: 6.6rem;
  position: relative;
}
.showroom01 .wrap::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: 0;
  position: absolute;
  width: 85rem;
  z-index: -1;
}
.showroom01 .wrap::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: calc((100vw - 100rem) / 2 * -1);
  position: absolute;
  width: calc((100vw - 100rem) / 2);
  z-index: -1;
}
.showroom01 .head {
  text-align: center;
}
.showroom01 .head .ttl {
  font-size: 2.5rem;
  font-weight: 700;
}
.showroom01 .head .desc {
  font-weight: 500;
  line-height: 2;
  margin-top: 3.5rem;
}
.showroom01 .flex {
  display: flex;
  justify-content: space-between;
  margin-top: 13rem;
}
.showroom01 .flex .item {
  background: #fff;
  position: relative;
  width: 46rem;
}
.showroom01 .flex .item .btn {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -3.5rem;
  width: 20.3rem;
}
.showroom01 .flex .item .btn:hover {
  opacity: .7;
}
.showroom01 .flex .item .white_area {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 4rem 6rem;
}
.showroom01 .flex .item .white_area .sub {
  font-size: 2rem;
  font-weight: 500;
}
.showroom01 .flex .item .white_area .desc {
  line-height: calc(30/16);
  margin-top: 1.4rem;
}
.showroom01 .flex .item .white_area dl + dl {
  margin-top: 3rem;
}
.showroom01 .flex .item .white_area dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  padding-left: 2.4rem;
  position: relative;
}
.showroom01 .flex .item .white_area dl dt::before {
  content: '\25CF';
  left: 0;
  position: absolute;
}
.showroom01 .flex .item .white_area dl dd {
  margin-top: 1rem;
  padding-left: 2.4rem;
}
@media screen and (max-width:768px) {
  .showroom01 .container {
    margin-bottom: 8rem;
  }
  .showroom01 .wrap {
    padding-bottom: 6rem;
    padding-top: 6rem;
    position: relative;
  }
  .showroom01 .wrap::before {
    height: 100%;
    width: 60%;
  }
  .showroom01 .wrap::after {
    display: none;
  }
  .showroom01 .head {
    text-align: center;
  }
  .showroom01 .head .ttl {
    font-size: 2rem;
  }
  .showroom01 .head .desc {
    margin-top: 2rem;
    text-align: justify;
  }
  .showroom01 .flex {
    display: block;
    margin-top: 6rem;
  }
  .showroom01 .flex .item {
    width: 100%;
  }
  .showroom01 .flex .item + .item {
    margin-top: 8rem;
  }
  .showroom01 .flex .item .white_area {
    padding: 3rem 2rem 4rem;
  }
  .showroom01 .flex .item .white_area .sub {
    font-size: 1.8rem;
  }
  .showroom01 .flex .item .white_area dl + dl {
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  showroom02
--------------------------------------------------------------------------- */
.showroom02 .container {
  overflow: hidden;
  padding-bottom: 12rem;
}
.showroom02 .wrap {
  border-top: 1px solid #e0e0e0;
  position: relative;
}
.showroom02 .wrap::before {
  background: #e0e0e0;
  content: '';
  height: 1px;
  left: -7rem;
  position: absolute;
  top: -1px;
  width: 7rem;
}
.showroom02 .wrap::after {
  background: #e0e0e0;
  content: '';
  height: 1px;
  position: absolute;
  right: calc((100vw - 100rem) / 2 * -1);
  top: -1px;
  width: calc((100vw - 100rem) / 2);
}
.showroom02 .content {
  display: flex;
  padding: 7rem 0;
}
.showroom02 .content + .content {
  border-top: 1px solid #e0e0e0;
}
.showroom02 .content .ttl {
  font-size: 2rem;
  font-weight: 700;
  width: 27.5rem;
}
.showroom02 .content.content_sche .sche {
  padding-left: 2rem;
  width: 25rem;
}
.showroom02 .content .txt_area {
  line-height: calc(30/16);
  width: calc(100% - 27.5rem);
}
.showroom02 .content.content_sche .txt_area {
  width: calc(100% - 52.5rem);
}
.showroom02 .content .txt_area .desc a {
  display: inline-block;
  margin-left: 2rem;
  position: relative;
  top: -.3rem;
  width: 17rem;
}
.showroom02 .content .txt_area .desc a:hover {
  opacity: .7;
}
.showroom02 .content .txt_area .sup {
  display: flex;
  margin-top: 1rem;
}
.showroom02 .content .txt_area .sup::before {
  content: '\203B';
}
.showroom02 .content .txt_area .sub {
  font-weight: 700;
  margin-bottom: .5rem;
}
.showroom02 .content .txt_area .desc + .sub {
  margin-top: 3rem;
}
.showroom02 .content .txt_area .desc + .desc {
  margin-top: 1rem;
}
.showroom02 .content .txt_area .desc strong{
	color: #9f0107
}
@media screen and (max-width:768px) {
  .showroom02 .container {
    padding-bottom: 4rem;
  }
  .showroom02 .wrap::before {
    display: none;
  }
  .showroom02 .wrap::after {
    display: none;
  }
  .showroom02 .content {
    display: block;
    padding: 6rem 0;
  }
  .showroom02 .content .ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
    width: 100%;
  }
  .showroom02 .content.content_sche .sche {
    margin-top: 2rem;
    padding-left: 0;
    width: 100%;
  }
  .showroom02 .content .txt_area {
    width: 100%;
  }
  .showroom02 .content.content_sche .txt_area {
    width: 100%;
  }
  .showroom02 .content .txt_area .desc a {
    display: inline-block;
    margin-bottom: 1rem;
    margin-left: 0;
    position: static;
  }
  .showroom02 .content .txt_area .desc a:hover {
    opacity: .7;
  }
  .showroom02 .content .txt_area .sup {
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  company01
--------------------------------------------------------------------------- */
.company01 .container {
  overflow: hidden;
  padding-bottom: 12rem;
  padding-top: 9.5rem;
}
.company01 .wrap {
  position: relative;
}
.company01 .content {
  border-top: 1px solid #e0e0e0;
  display: flex;
  padding: 5rem 0;
}
.company01 .content .ttl {
  font-size: 2rem;
  font-weight: 700;
  width: 27.5rem;
}
.company01 .content .txt_area {
  line-height: calc(30/16);
  width: calc(100% - 27.5rem);
}
.company01 .content .txt_area .desc a {
  display: inline-block;
  margin-left: 2rem;
  position: relative;
  top: -.3rem;
  width: 17rem;
}
.company01 .content .txt_area .desc a:hover {
  opacity: .7;
}
.company01 .content .txt_area .sup {
  display: flex;
  margin-top: 1rem;
}
.company01 .content .txt_area .sup::before {
  content: '\203B';
}
.company01 .content .txt_area .sub {
  font-weight: 700;
  margin-bottom: .5rem;
}
.company01 .content .txt_area .desc + .sub {
  margin-top: 3rem;
}
.company01 .content .txt_area .desc + .desc {
  margin-top: 1rem;
}
.company01 .content .txt_area .desc strong{
	color: #9f0107
}
@media screen and (max-width:768px) {
  .company01 .container {
    padding-bottom: 8rem;
    padding-top: 6rem;
  }
  .company01 .content {
    display: block;
    padding: 3rem 0;
  }
  .company01 .content .ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
    width: 100%;
  }
  .company01 .content .txt_area {
    width: 100%;
  }
  .company01 .content .txt_area .desc a {
    display: inline-block;
    margin-bottom: 1rem;
    margin-left: 0;
    position: static;
  }
  .company01 .content .txt_area .desc a:hover {
    opacity: .7;
  }
  .company01 .content .txt_area .sup {
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  installation01
--------------------------------------------------------------------------- */
.installation01 .wrap {
  padding-bottom: 16rem;
  padding-top: 6.6rem;
  position: relative;
}
.portfolio02 .wrap {
  padding-bottom: 8rem;
  padding-top: 0;
}
.installation01 .wrap::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: 0;
  width: 85rem;
  z-index: -1;
}
.installation01 .wrap::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  position: absolute;
  right: calc((100vw - 104rem) / 2 * -1);
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}
.portfolio02 .wrap::before, .portfolio02 .wrap::after {
  display: none;
}
.installation01 .head .ttl {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
}
.installation01 .head .sub {
  font-weight: 700;
}
.installation01 .head .desc {
  font-weight: 500;
  line-height: 2;
  margin-top: 3.5rem;
  text-align: center;
}
.installation01 .links {
  color: #4b7746;
  display: flex;
  justify-content: center;
  margin: 4rem 0;
  position: sticky;
  top: 9.6rem;
  width: 100%;
  z-index: 10;
}
.installation01 .links a {
  align-items: center;
  background: rgba(245,245,245,.85);
  border-right: dotted 1px;
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  font-weight: bold;
  height: 6rem;
  justify-content: center;
  justify-content: flex-end;
  padding-bottom: .3rem;
  position: relative;
  width: calc(100% / 6);
}
.installation01 .links a:hover {
  background: #4b7746;
  color: #fff;
}
.installation01 .links a:first-of-type {
  border-left: dotted 1px;
}
.installation01 .links a::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: .2s;
  width: 5rem;
}
.installation01 .links a:nth-of-type(1):before {
  background-image: url(../img/top/tab00.png);
}
.installation01 .links a:nth-of-type(2):before {
  background-image: url(../img/top/tab01.png);
}
.installation01 .links a:nth-of-type(3):before {
  background-image: url(../img/top/tab02.png);
}
.installation01 .links a:nth-of-type(4):before {
  background-image: url(../img/top/tab03.png);
}
.installation01 .links a:nth-of-type(5):before {
  background-image: url(../img/top/tab04.png);
}
.installation01 .links a:nth-of-type(6):before {
  background-image: url(../img/top/tab05.png);
}
.installation01 .links a::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4rem;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: .2s;
  width: 5rem;
}
.installation01 .links a:nth-of-type(1):after {
  background-image: url(../img/top/tab00_w.png);
}
.installation01 .links a:nth-of-type(2):after {
  background-image: url(../img/top/tab01_w.png);
}
.installation01 .links a:nth-of-type(3):after {
  background-image: url(../img/top/tab02_w.png);
}
.installation01 .links a:nth-of-type(4):after {
  background-image: url(../img/top/tab03_w.png);
}
.installation01 .links a:nth-of-type(5):after {
  background-image: url(../img/top/tab04_w.png);
}
.installation01 .links a:nth-of-type(6):after {
  background-image: url(../img/top/tab05_w.png);
}
.installation01 .links a:hover:after {
  opacity: 1;
}
.installation01 .main {
  margin-top: 5rem;
}
.installation01 .main.mt0 {
  margin-top: 0;
}
.installation01 .main .sup {
  align-items: center;
  border: solid 1px #707070;
  border-radius: 10rem;
  display: flex;
  height: 3.1rem;
  justify-content: center;
  margin: 0 auto;
  width: 52.6rem;;
}
.installation01 .main .cards {
  border-bottom: solid 1px #d1d1d1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 9rem;
}
.portfolio02 .main .cards {
  border-bottom: none;
}
.installation01 .main .cards .card {
  margin-top: 4.6rem;
  position: relative;
  width: calc((100% - 5.2rem) / 3);
}
.installation01 .main .cards::after {
  content: '';
  order: 2;
  width: calc((100% - 5.2rem) / 3);
}
.installation01 .main .cards .card .thumb {
  aspect-ratio: 316/233;
  background: #fff;
  overflow: hidden;
  position: relative;
}
.installation01 .main .cards .card .thumb img {
  height: 100%;
  object-fit: cover;
  /* bottom: 0;
  height: auto;
  left: 0;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: auto; */
  transition: .2s;
  width: 100%;
}
.installation01 .main .cards .card:hover .thumb img {
  transform: scale(1.2);
}
.installation01 .main .cards .card .cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 2;
}
.installation01 .main .cards .card .cats .cat {
  align-items: center;
  background: #fff;
  border-radius: 10rem;
  color: #4b7746;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  height: 2.8rem;
  justify-content: center;
  margin: 1rem;
  padding: 0 1.3rem;
}
.installation01 .main .cards .card .ttl {
  align-items: center;
  display: flex;
  font-weight: 500;
  justify-content: center;
  padding: .5rem 2rem;
  transition: .2s;
}
.installation01 .main .cards .card:hover .ttl {
  padding: .5rem 0;
}
.installation01 .main .cards .card .ttl span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.installation01 .main .cards .card .ttl::after {
  background-image: url(../img/common/arrow04.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.45rem;
  position: absolute;
  right: 1rem;
  /* margin-left: 2rem; */
  transition: .2s;
  width: .83rem;
}
.installation01 .main .cards .card:hover .ttl::after {
  opacity: 0;
}
@media screen and (max-width:768px) {
  .installation01 .wrap {
    padding-bottom: 8rem;
    padding-top: 6rem;
  }
  .portfolio02 .wrap {
    padding-bottom: 4rem;
    padding-top: 0;
  }
  .installation01 .wrap::before {
    height: 100%;
    width: 60%;
  }
  .installation01 .wrap::after {
    display: none;
  }
  .installation01 .head .ttl {
    font-size: 2rem;
  }
  .installation01 .head .desc {
    margin-top: 2rem;
    text-align: left;
  }
  .installation01 .links {
    margin: 4rem 0;
    top: 5rem;
    width: 100%;
  }
  .installation01 .links a {
    font-size: 1.2rem;
    height: 4rem;
    justify-content: center;
    padding-bottom: 0;
    text-align: center;
  }
  .installation01 .links a::before, .installation01 .links a::after {
    display: none;
  }
  .installation01 .main {
    margin-top: 5rem;
  }
  .installation01 .main .sup {
    height: auto;
    padding: .5rem;
    text-align: center;
    width: 100%;
  }
  .installation01 .main .cards {
    padding-bottom: 6rem;
  }
  .installation01 .main .cards .card {
    margin-top: 4rem;
    position: relative;
    width: calc((100% - 1rem) /2);
  }
  .installation01 .main .cards::after {
    display: none;
  }
  .installation01 .main .cards .card .cats .cat {
    font-size: 1rem;
    height: 2rem;
    margin: .5rem;
    padding: 0 1rem;
  }
  .installation01 .main .cards .card .ttl {
    font-size: 1.4rem;
    padding: .5rem 1rem;
  }
  .installation01 .main .cards .card .ttl::after {
    right: 0;
  }
  .portfolio02 .main .cards .card:last-of-type {
    display: none;
  }
  .portfolio02 .main .cards {
    margin-top: -2rem;
  }
}

/* ---------------------------------------------------------------------------
//  installation02
--------------------------------------------------------------------------- */
.installation02 .container {
  margin-bottom: 12rem;
  margin-top: -3.5rem;
  overflow: hidden;
}
.installation02 .wrap {
  position: relative;
}
.installation02 .wrap::before {
  background: #efebe4;
  bottom: 7.4rem;
  content: '';
  height: calc(100% - 27.1rem);
  left: 0;
  position: absolute;
  width: 85rem;
  width: 100vw;
  z-index: -1;
}
.installation02 .wrap::after {
  background: #efebe4;
  bottom: 7.4rem;
  content: '';
  height: calc(100% - 27.1rem);
  left: calc((100vw - 104rem) / 2 * -1);
  position: absolute;
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}
.portfolio_area {
  border-top: 1px solid #d1d1d1;
  overflow: hidden;
  padding-top: 6rem;
}
.portfolio_area .gallery .gallery_item {
  aspect-ratio: 1000/661;
  position: relative;
  width: 100%;
}
.portfolio_area .gallery .gallery_item img {
  bottom: 0;
  height: auto;
  left: 0;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
}
.portfolio_area .thumbnail {
  margin-top: 5rem;
}
.portfolio_area .thumbnail .slick-track {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 7rem;
  transform: unset !important;
  width: 100% !important;
}

.portfolio_area .thumbnail .slick-slide {
  float: none !important;
  width: calc((100% - 14rem) / 3)!important;
}
.portfolio_area .thumbnail .slick-slide .thumbnail_item {
  aspect-ratio: 286/233;
  background: #fff;
  cursor: pointer;
  position: relative;
  transition: .2s;
  width: 100%;
}
.portfolio_area .thumbnail .slick-slide .thumbnail_item:hover {
  opacity: .7;
}
.portfolio_area .thumbnail .slick-slide .thumbnail_item img {
  bottom: 0;
  height: auto;
  left: 0;
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
}
.portfolio_area .thumbnail .slick-track:before {
  display: none;
}
.portfolio_area .thumbnail .slick-track:after {
  display: none;
}
.portfolio_area .slick-prev {
  left: 0;
}
.portfolio_area .slick-next {
  right: 0;
}
.installation02 .txt_area {
  background: #fff;
  margin-bottom: 13rem;
  margin-top: 10rem;
  padding: 3rem 4rem;
}
.installation02 .txt_area dl {
  display: flex;
  font-size: 1.8rem;
  padding: 3rem 1rem;
}
.installation02 .txt_area dl + dl {
  border-top: 1px solid #e0e0e0;
}
.installation02 .txt_area dl dt {
  font-weight: 700;
  width: 27.5rem;
}
.installation02 .txt_area dl dd {
  width: calc(100% - 27.5rem);
}
.pagination02 {
  align-items: center;
  display: flex;
  gap: 0 12rem;
  height: 6.4rem;
  justify-content: center;
}
.pagination02 a:hover {
  opacity: .7;
}
.pagination02 .item .link {
  display: block;
  position: relative;
}
.pagination02 .item.prev .link {
  padding-left: 2.8rem;
}
.pagination02 .item.prev .link::before {
  background-image: url(../img/common/arrow04.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  transform: rotate(180deg);
  width: .65rem;
}
.pagination02 .item.next .link {
  padding-right: 2.8rem;
}
.pagination02 .item.next .link::before {
  background-image: url(../img/common/arrow04.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  width: .65rem;
}
@media screen and (max-width: 760px) {
  .installation02 .container {
    margin-bottom: 6rem;
    margin-top: 0;
  }
  .installation02 .wrap {
    padding-top: 6rem;
    position: relative;
  }
  .portfolio01 .wrap {
    padding-top: 0;
  }
  .installation02 .wrap::before {
    height: calc(100% - 30.7rem);
    width: 60%;
    width: 100%;
  }
  .installation02 .wrap::after {
    display: none;
  }
  .portfolio_area .thumbnail {
    margin-top: 3rem;
  }
  .portfolio_area .thumbnail .slick-track {
    gap: 1rem;
  }

  .portfolio_area .thumbnail .slick-slide {
    width: calc((100% - 2rem) / 3)!important;
  }
  .installation02 .txt_area {
    margin-bottom: 6rem;
    margin-top: 6rem;
    padding: 2rem;
  }
  .installation02 .txt_area dl {
    display: block;
    font-size: 1.6rem;
    padding: 2rem 0;
  }
  .installation02 .txt_area dl dt {
    width: 100%;
  }
  .installation02 .txt_area dl dd {
    margin-top: 1rem;
    width: 100%;
  }
  .pagination02 {
    gap: 0 4rem;
  }
  .pagination02 .item.prev .link {
    padding-left: 2rem;
  }
  .pagination02 .item.next .link {
    padding-right: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  advantages01
--------------------------------------------------------------------------- */
.advantages01 .wrap {
  padding-bottom: 19rem;
  padding-top: 6.6rem;
  position: relative;
}
.advantages01 .wrap::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: 0;
  position: absolute;
  width: 85rem;
  z-index: -1;
}
.advantages01 .wrap::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: calc((100vw - 100rem) / 2 * -1);
  position: absolute;
  width: calc((100vw - 100rem) / 2);
  z-index: -1;
}
.advantages01 .head {
  text-align: center;
}
.advantages01 .head .ttl {
  font-size: 2.5rem;
  font-weight: 700;
}
.advantages01 .head .desc {
  font-weight: 500;
  line-height: 2;
  margin-top: 3.5rem;
}
.advantages01 .advantages_list .item {
  margin-top: 10rem;
  max-width: 82.8rem;
}
.advantages01 .advantages_list .item.right {
  margin-left: auto;
}
.advantages01 .advantages_list .item .flex {
  display: flex;
  justify-content: space-between;
}
.advantages01 .advantages_list .item .flex .img {
  width: 29.7rem;
}
.advantages01 .advantages_list .item .flex .txt_area {
  width: calc(100% - 33.7rem);
}
.advantages01 .advantages_list .item .flex .txt_area .ttl_wrap {
  align-items: center;
  display: flex;
}
.advantages01 .advantages_list .item .flex .txt_area .ttl_wrap .num {
  border-bottom: solid 1px;
  color: #9f0107;
  font-size: 4.7rem;
  line-height: 1;
  margin-right: 1.5rem;
}
.advantages01 .advantages_list .item .flex .txt_area .ttl_wrap .ttl {
  font-size: 2.8rem;
  font-weight: 700;
}
.advantages01 .advantages_list .item .flex .txt_area .desc {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: calc(35/18);
  margin-top: 2rem;
}
.advantages01 .advantages_list .item .info_area {
  margin-left: auto;
  margin-top: 4rem;
  max-width: 78rem;
}
.advantages01 .advantages_list .item .info_area .sub {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 2rem;
  padding-left: 2rem;
  position: relative;
}
.advantages01 .advantages_list .item .info_area .sub::before {
  background: #9f0107;
  content: '';
  height: 1.6rem;
  left: 0;
  position: absolute;
  top: .6rem;
  width: 1.6rem;
}
.advantages01 .advantages_list .item .info_area dl {
  border-bottom: solid 1px #bdbdbd;
  display: flex;
  padding: 3rem 0;
}
.advantages01 .advantages_list .item .info_area dl:first-of-type {
  border-top: solid 1px #bdbdbd;
}
.advantages01 .advantages_list .item .info_area dl dt {
  font-size: 1.8rem;
  font-weight: 700;
  width: 13.8rem;
}
.advantages01 .advantages_list .item .info_area dl dd {
  line-height: calc(30/16);
  width: calc(100% - 13.8rem);
}
.advantages01 .advantages_list .item .info_area dl dd strong {
  display: block;
  font-weight: 700;
}
.advantages01 .advantages_list .item .info_area dl dd ul li {
  display: flex;
}
.advantages01 .advantages_list .item .info_area dl dd ul li::before {
  content: '・';
}

@media screen and (max-width:768px) {
  .advantages01 .wrap {
    padding-bottom: 10rem;
    padding-top: 6rem;
    position: relative;
  }
  .advantages01 .wrap::before {
    height: 100%;
    width: 60%;
  }
  .advantages01 .wrap::after {
    display: none;
  }
  .advantages01 .head {
    text-align: center;
  }
  .advantages01 .head .ttl {
    font-size: 2rem;
  }
  .advantages01 .head .desc {
    margin-top: 2rem;
    text-align: justify;
  }
  .advantages01 .advantages_list .item {
    margin-top: 6rem;
  }
  .advantages01 .advantages_list .item .flex {
    flex-wrap: wrap;
  }
  .advantages01 .advantages_list .item .flex .img {
    margin-top: 2rem;
    order: 2;
    width: 100%;
  }
  .advantages01 .advantages_list .item .flex .txt_area {
    width: 100%;
  }
  .advantages01 .advantages_list .item .flex .txt_area .ttl_wrap {
    display: block;
  }
  .advantages01 .advantages_list .item .flex .txt_area .ttl_wrap .num {
    font-size: 3.5rem;
  }
  .advantages01 .advantages_list .item .flex .txt_area .ttl_wrap .ttl {
    font-size: 2rem;
    margin-top: 1rem;
  }
  .advantages01 .advantages_list .item .flex .txt_area .desc {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
  .advantages01 .advantages_list .item .info_area {
    margin-top: 2rem;
  }
  .advantages01 .advantages_list .item .info_area .sub {
    font-size: 1.6rem;
  }
  .advantages01 .advantages_list .item .info_area dl {
    display: block;
    padding: 2rem 0;
  }
  .advantages01 .advantages_list .item .info_area dl dt {
    font-size: 1.6rem;
    width: 100%;
  }
  .advantages01 .advantages_list .item .info_area dl dd {
    font-size: 1.4rem;
    margin-top: 1rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  flow01
--------------------------------------------------------------------------- */
.flow01 .wrap {
  padding-bottom: 8rem;
  padding-top: 6.6rem;
  position: relative;
}
.flow01 .wrap::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: 0;
  position: absolute;
  width: 87rem;
  z-index: -1;
}
.flow01 .wrap::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: calc(100% + 19rem);
  left: calc((100vw - 100rem) / 2 * -1);
  position: absolute;
  width: calc((100vw - 100rem) / 2);
  z-index: -1;
}
.flow02 {
  margin-top: 16rem;
}
.flow02 .wrap {
  padding-bottom: 17rem;
  padding-top: 6.6rem;
  position: relative;
}
.flow02 .deco {
  position: absolute;
  right: -5rem;
  top: -22.6rem;
  width: 42.5rem;
  z-index: 2;
}
.flow02 .wrap::before {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  width: 87rem;
  z-index: -1;
}
.flow02 .wrap::after {
  background: #efebe4;
  bottom: 0;
  content: '';
  height: 100%;
  position: absolute;
  right: calc((100vw - 104rem) / 2 * -1);
  width: calc((100vw - 104rem) / 2);
  z-index: -1;
}
.flow01 .head {
  margin-bottom: 8rem;
  text-align: center;
}
.flow01 .head .ttl {
  font-size: 2.5rem;
  font-weight: 700;
}
.flow01 .head .desc {
  font-weight: 500;
  line-height: 2;
  margin-top: 3.5rem;
}
.flow_area .flow_ttl {
  align-items: flex-end;
  display: flex;
}
.flow_area .flow_ttl .num {
  width: 9.6rem;
}
.flow_area .flow_ttl .txt {
  border-bottom: solid 1px #bdbdbd;
  font-size: 3rem;
  font-weight: 700;
  padding: 0 1rem .2rem;
  width: calc(100% - 9.6rem);
}
.flow_area .flow_list .item {
  margin-top: 11rem;
  position: relative;
}
.flow_area .flow_list .item + .item::before {
  background-image: url(../img/page/flow_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 4.2rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -9rem;
  width: 3.4rem;
}
.flow_area .flow_list .item > .img {
  left: 0;
  position: absolute;
  top: -5rem;
  width: 29.7rem;
}
.flow_area .flow_list .item .txt_area {
  background: #fff;
  margin-left: auto;
  max-width: 78.6rem;
  min-height: 32.3rem;
  padding: 7.5rem 9rem 6rem 15rem;
}
.flow_area .flow_list .item .txt_area .flow_sub {
  font-size: 2.8rem;
  font-weight: 700;
  position: relative;
}
.flow_area .flow_list .item .txt_area .flow_sub .num {
  left: -2.3rem;
  position: absolute;
  top: -5.1rem;
  width: 4.4rem;
}
.flow_area .flow_list .item .txt_area .flow_sub .txt {
  position: relative;
}
.flow_area .flow_list .item .txt_area .desc {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: calc(35/18);
  margin-top: 3rem;
}
.flow_area .flow_list .item .txt_area .imgs {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
.flow_area .flow_list .item .txt_area .imgs .img {
  width: calc((100% - 1.8rem) / 2);
}
.flow_area .flow_list .item .txt_area .imgs .img.full {
  width: 100%;
}
.flow_area .white_area {
  background: #fff;
  margin-top: 14rem;
}
.flow_area .white_area .movie_area {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 7.9rem 0 6rem;
}
.flow_area .white_area .movie_area .ttl {
  align-items: center;
  display: flex;
  font-size: 2.8rem;
  font-weight: 700;
}
.flow_area .white_area .movie_area .ttl .icon {
  align-items: center;
  display: flex;
  margin-right: .4rem;
  width: 3.6rem;
}
.flow_area .white_area .movie_area .movie {
  margin: 3.4rem 0 3rem;
  text-align: center;
}
.flow_area .white_area .movie_area .movie video {
  border-radius: 2rem;
  display: block;
  margin: auto;
  max-width: 85.4rem;
  width: 100%;
}
.flow_area .white_area .movie_area .desc {
  font-weight: 700;
  line-height: calc(35/18);
}
.flow_area .white_area .red_area {
  color: #9f0107;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  padding: 10rem 3rem 8rem 0;
}
.flow_area .white_area .red_area .ttl {
  font-size: 3rem;
  padding-top: 3rem;
  width: 15rem;
}
.flow_area .white_area .red_area .desc {
  border-top: solid 2px;
  font-size: 1.8rem;
  line-height: calc(64/30);
  padding-top: 3rem;
  white-space: nowrap;
  width: calc(100% - 15rem);
}

@media screen and (max-width:768px) {
  .flow01 .wrap {
    padding-bottom: 8rem;
    padding-top: 6rem;
    position: relative;
  }
  .flow01 .wrap::before {
    height: 100%;
    width: 60%;
  }
  .flow01 .wrap::after {
    display: none;
  }
  .flow02 .wrap {
    padding-bottom: 8rem;
    padding-top: 6rem;
  }
  .flow02 .deco {
    position: absolute;
    width: 21rem;
  }
  .flow02 .wrap::before {
    height: 100%;
    width: 60%;
  }
  .flow02 .wrap::after {
    display: none;
  }
  .flow01 .head {
    text-align: center;
  }
  .flow01 .head .ttl {
    font-size: 2rem;
  }
  .flow01 .head .desc {
    margin-top: 2rem;
    text-align: justify;
  }
  .flow_area .flow_ttl {
    align-items: flex-start;
    flex-direction: column;
  }
  .flow_area .flow_ttl .num {
    width: 8rem;
  }
  .flow_area .flow_ttl .txt {
    font-size: 2rem;
    padding: 0 0 .2rem;
    width: 100%;
  }
  .flow_area .flow_list .item {
    margin-top: 6rem;
  }
  .flow_area .flow_list .item + .item::before {
    top: -7rem;
  }
  .flow_area .flow_list .item > .img {
    left: 0;
    left: -2rem;
    position: relative;
    top: 0;
  }
  .flow_area .flow_list .item .txt_area {
    margin-left: auto;
    min-height: auto;
    padding: 4rem 2rem;
  }
  .flow_area .flow_list .item .txt_area .flow_sub {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
  .flow_area .flow_list .item .txt_area .flow_sub .num {
    left: 0;
    top: -3rem;
    width: 3rem;
  }
  .flow_area .flow_list .item .txt_area .desc {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
  .flow_area .white_area {
    margin-top: 6rem;
  }
  .flow_area .white_area .movie_area {
    padding: 4rem 2rem;
  }
  .flow_area .white_area .movie_area .ttl {
    font-size: 1.8rem;
  }
  .flow_area .white_area .movie_area .ttl .icon {
    margin-right: .2rem;
    width: 3rem;
  }
  .flow_area .white_area .movie_area .movie {
    margin: 2rem 0 ;
    text-align: center;
  }
  .flow_area .white_area .movie_area .movie video {
    border-radius: 1rem;
  }
  .flow_area .white_area .red_area {
    display: block;
    padding: 4rem 2rem 6rem;
  }
  .flow_area .white_area .red_area .ttl {
    font-size: 2rem;
    padding-top: 0;
    width: 100%;
  }
  .flow_area .white_area .red_area .desc {
    border-top: solid 2px;
    font-size: 1.6rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    white-space: normal;
    width: 100%;
  }
}



/* ---------------------------------------------------------------------------
//  news01
--------------------------------------------------------------------------- */
.news01 .container {
  margin-bottom: 12rem;
}
.news01 .border_area {
  border-bottom: 1px solid #d1d1d1;
  border-top: 1px solid #d1d1d1;
  margin: 0 auto;
  max-width: 71.5rem;
  padding-bottom: 6rem;
  padding-top: 6rem;
}
.news01 .news_archive .news_link:last-of-type {
  border-bottom: none;
}
.pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}
.pagination .item .link {
  align-items: center;
  color: #bdbdbd;
  display: flex;
  height: 4rem;
  justify-content: center;
  transition: .2s;
  width: 3.5rem;
}
.pagination .item.prev .link, .pagination .item.next .link {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: .65rem;
  font-size: 0;
}
.pagination .item.prev .link {
  background-image: url(../img/page/pagi_prev.png);
  margin-right: 2rem;
}
.pagination .item.next .link {
  background-image: url(../img/page/pagi_next.png);
  margin-left: 2rem;
}
.pagination .item .link:hover {
  color: #000;
}
.pagination .item.active .link {
  color: #000;
  cursor: default;
  font-size: 2rem;
  pointer-events: none;
}
.news01 .news_single .head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}
.news01 .news_single .head .date {
  color: #d1bd99;
  font-weight: 500;
}
.news01 .news_single .head .tag {
  align-items: center;
  background: #efebe4;
  display: flex;
  font-size: 1rem;
  height: 2rem;
  justify-content: center;
  margin-left: 1.5rem;
  width: 9.5rem;
}
.news01 .news_single .head .ttl {
  font-size: 2.5rem;
  font-weight: 700;
  margin-top: 2.3rem ;
  width: 100%;
}
.news01 .news_single .edit_area p {
  margin-top: 4rem;
}
.news01 .btnA {
  margin-top: 6rem;
}
@media screen and (max-width: 760px) {
  .news01 .container {
    margin-bottom: 8rem;
  }
  .news01 .border_area {
    border-bottom: 1px solid #d1d1d1;
    border-top: 1px solid #d1d1d1;
    display: flex;
    justify-content: center;
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
  .news01 .news_archive .news_link:last-of-type {
    border-bottom: none;
  }
  .pagination {
    margin-top: 2rem;
  }
  .pagination .item .link {
    width: 3rem;
  }
  .pagination .item.prev .link {
    margin-right: 1rem;
  }
  .pagination .item.next .link {
    margin-left: 1rem;
  }
  .news01 .news_single .head .ttl {
    font-size: 1.8rem;
    margin-top: 2rem ;
  }
  .news01 .news_single .edit_area p {
    margin-top: 3rem;
  }
  .news01 .btnA {
    margin-top: 4rem;
  }
}

/* ---------------------------------------------------------------------------
//  contact01
--------------------------------------------------------------------------- */
.contact01 .container {
  padding-bottom: 18rem;
}
.contact01 .read {
  font-weight: 700;
  text-align: center;
}
.contact01 .catalog_wrap{
	margin-top: 4rem;
	display: flex;
	flex-direction: column;
	align-items: center
}
.contact01 .catalog_wrap dt{
	font-weight: 500;
	text-align: center;
}
.contact01 .catalog_wrap dd{
	width: 100%;
}
.contact01 .catalog_wrap dd a{
	  align-items: center;
    background: #fff;
    border: solid .1rem #000;
    border-radius: 10rem;
    color: #000;
    display: flex;
    font-weight: 700;
    height: 4rem;
    justify-content: center;
    margin: 0 auto;
    max-width: 27rem;
    position: relative;
    width: 100%;
	margin-top: 2rem;
	padding-right: 2rem;
}
.contact01 .catalog_wrap dd a:hover{
	color: #fff;
	background: #000;
}
.contact01 .catalog_wrap dd a::after{
	content: "";
	background-image: url("../img/common/icon_download.svg");
/*	mix-blend-mode: multiply;*/
	position: absolute;
	top: .2rem;
	bottom: 0;
	margin: auto;
	right: 1.3rem;
	background-position: center;
	background-size: 3rem;
	background-repeat: no-repeat;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 100%;
	background-color: #fff;
}
.contact01 .border_area {
  border-top: solid 1px #d1d1d1;
  margin: 0 auto;
  margin-top: 3.5rem;
  max-width: 71.5rem;
  padding-top: 8rem;
}
.contact01 .tel_area {
  align-items: center;
  background: #efebe4;
  border-radius: 2rem;
  display: flex;
  flex-direction: column;
  height: 20rem;
  justify-content: center;
  pointer-events: none;
}
.contact01 .tel_area .ttl {
  font-weight: 500;
}
.contact01 .tel_area img {
  margin-top: 1.5rem;
  max-width: 39rem;
}
.contact01 .tel_area .desc {
  margin-top: 1.5rem;
  text-align: center;
}
.contact01 .tel_area .desc strong {
  display: block;
  font-weight: 500;
  margin-bottom: .5rem;
}
.contact01 .form_area {
  margin-top: 6.5rem;
}
/*
.screen-reader-response, .wpcf7-response-output {
  display: none;
}
*/
.wpcf7-not-valid-tip {
  color: #9f0107;
}
.contact01 .form_area .ttl {
  color: #9f0107;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.contact01 .form_area .desc {
  line-height: calc(30/16);
  margin-top: 1rem;
  text-align: center;
}
.contact01 .form_wrap {
  margin-top: 5.8rem;
}
.contact01 .form_wrap .red {
  color: #f00;
}
.contact01 .form_wrap strong {
  font-weight: 500;
}
.contact01 .form_wrap dl {
  display: flex;
  margin-top: 3.8rem;
}
.contact01 .form_wrap dl dt {
  padding: 1.5rem 0;
  width: 23.5rem;
}
.contact01 .form_wrap dl dd {
  width: calc((100% - 23.5rem));
}
.contact01 .form_wrap dl dd.radio {
  padding: 1.5rem 0 0;
}

.contact01 .form_wrap dl dd label {
  align-items: center;
  display: block;
  display: flex;
}
.contact01 .form_wrap dl dd > span {
  display: block;
}
.contact01 .form_wrap dl dd > span + span {
  margin-top: .6rem;
}
.contact01 .form_wrap dl dd label input {
  margin-right: .6rem;
  margin-top: .2rem;
}
.contact01 .form_wrap dl dd input:not([type='radio']) {
  background: #f5f5f5;
  padding: 1.5rem 2.2rem;
  width: 100%;
}
.contact01 .form_wrap dl dd textarea {
  background: #f5f5f5;
  height: 27rem;
  padding: 1.5rem 2.2rem;
  resize: none;
  width: 100%;
}
::placeholder {
  color: #bdbdbd;
}
.contact01 .form_wrap .btnA {
  background-image: url(../img/common/arrow04.png);
  background-position: center right 2.7rem;
  background-repeat: no-repeat;
  background-size: .7rem;
  border: solid 1px;
  color: #9f0107;
  cursor: pointer;
  margin-top: 9rem;
  text-align: center;
  transition: .2s;
}
.contact01 .form_wrap .btnA:hover {
  background: #9f0107;
  color: #fff;
}
@media screen and (max-width: 760px) {
  .contact01 .container {
    padding-bottom: 8rem;
  }
	.contact01 .catalog_wrap{
	margin-top: 2rem;
}
  .contact01 .border_area {
    padding-top: 6rem;
  }
  .contact01 .tel_area {
    padding: 3rem 2rem;
    pointer-events: all;
  }
  .contact01 .tel_area img {
    width: 100%;
  }
  .contact01 .form_area {
    margin-top: 6rem;
  }
  .contact01 .form_area .ttl {
    font-size: 2rem;
  }
  .contact01 .form_area .desc {
    text-align: left;
  }
  .contact01 .form_wrap {
    margin-top: 4rem;
  }
  .contact01 .form_wrap dl {
    display: block;
    margin-top: 3rem;
  }
  .contact01 .form_wrap dl dt {
    padding: 0;
    width: 100%;
  }
  .contact01 .form_wrap dl dd {
    margin-top: 1.6rem;
    width: 100%;
  }
  .contact01 .form_wrap dl dd.radio {
    padding: 0;
  }
  .contact01 .form_wrap dl dd input:not([type='radio']) {
    padding: 1rem 2rem;
  }
  .contact01 .form_wrap dl dd textarea {
    height: 20rem;
    padding: 1rem 2rem;
  }
  .contact01 .form_wrap .btnA {
    margin-top: 6rem;
    text-align: center;
  }
}

/* ---------------------------------------------------------------------------
//  thanks
--------------------------------------------------------------------------- */
.thanks01 .container {
  padding-bottom: 18rem;
}
.thanks01 .desc {
  font-weight: 500;
  margin-bottom: 6rem;
  text-align: center;
}
@media screen and (max-width: 760px) {
  .thanks01 .container {
    padding-bottom: 8rem;
  }
  .thanks01 .desc {
    margin-bottom: 4rem;
    text-align: left;
  }
}

/* ---------------------------------------------------------------------------
//  privacy
--------------------------------------------------------------------------- */
.privacy01 .container {
  padding-bottom: 18rem;
}
.privacy01 .head {
  background: #efebe4;
  border-radius: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  padding: 4rem;
}
.privacy01 dl {
  margin-top: 6rem;
}
.privacy01 dl dt {
  font-size: 2rem;
}
.privacy01 dl dd {
  line-height: calc(30/16);
  margin-top: 1.5rem;
}
.privacy01 dl dd  ul {
  margin-top: 1rem;
}
.privacy01 dl dd li {
  display: flex;
}
.privacy01 dl dd li::before {
  content: '・';
}

@media screen and (max-width: 760px) {
  .privacy01 .container {
    padding-bottom: 8rem;
  }
  .privacy01 .head {
    border-radius: 1rem;
    font-size: 1.6rem;
    padding: 2rem;
  }
  .privacy01 dl {
    margin-top: 4rem;
  }
  .privacy01 dl dt {
    font-size: 1.8rem;
  }
  .privacy01 dl dd {
    margin-top: 1rem;
  }
  .privacy01 dl dd  ul {
    margin-top: .5rem;
  }
}
