@charset "UTF-8";
/*-----------------------------------------------------------------------

    header

-----------------------------------------------------------------------*/
.page-header {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
}
.page-header::before, .page-header::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 10;
}
.page-header::before {
  width: 618px;
  height: 179px;
  background: url(../images/top/mv_deco_left.png) no-repeat center/contain;
  left: 0;
}
.page-header::after {
  width: 731px;
  height: 189px;
  background: url(../images/top/mv_deco_right.png) no-repeat center/contain;
  right: 0;
}
.page-header_wrap {
  align-items: center;
  padding: 18px 30px 0;
  width: 100%;
  position: relative;
  z-index: 20;
}
.page-header-logo {
  align-self: center;
}
.page-header-logo a {
  display: inline-block;
}
.page-header h1 {
  line-height: 1;
}

/*-----------------------------------------------------------------------

    nav

-----------------------------------------------------------------------*/
/* ▼global-nav */
.global-nav {
  margin: 20px 27px 0 0;
  line-height: 1;
  color: #4a2c00;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 10;
}
.global-nav .hd-nav {
  justify-content: flex-end;
  font-weight: 600;
}
.global-nav .hd-nav li {
  display: flex;
  align-items: center;
  position: relative;
}
.global-nav .hd-nav li:not(:last-child) {
  margin-right: 2em;
}
.global-nav .hd-nav li a {
  position: relative;
  z-index: 10;
  font-weight: 700;
}
.global-nav .hd-nav li a span {
  display: block;
  margin: 6px 0 0;
  color: #2374b9;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.global-nav .hd-nav li a:hover,
.global-nav .hd-nav li a.current {
  opacity: 1;
  color: #6ccff0;
}

/*-----------------------------------------------------------------------

    key

-----------------------------------------------------------------------*/
.key {
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  /* ▼key-vis */
  /* ▼key-cnt */
  /* ▼key-ttl */
}
.key::after {
  content: "";
  width: 100%;
  height: 30px;
  background: url(../images/common/mv_wave01.png) repeat-x bottom/auto 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 20;
}
.key-vis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 550px;
  margin: 0 auto;
  position: relative;
}
.key-vis video {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.key-vis img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.key-cnt {
  width: 100%;
  margin: 116px 0 0;
  position: absolute;
  z-index: 100;
}
.key-cnt .common-btn {
  width: 400px;
  height: 90px;
  font-size: 3.7rem;
  letter-spacing: 0.08em;
}
.key-cnt .common-btn::after {
  width: 1.027027em;
  height: 0.837838em;
  right: 0.459459em;
}
.key-ttl {
  display: flex;
  justify-content: center;
  width: auto;
  /* ▼key-ttl-sub */
}
.key-ttl-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 192px;
  background: url(../images/common/key/title-deco.png) no-repeat center/contain;
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 0;
}

#top .key {
  /* ▼key-vis */
}
#top .key-vis {
  width: 100%;
  height: 930px;
  margin: 0;
}

/*-----------------------------------------------------------------------

    footer

-----------------------------------------------------------------------*/
.page-footer {
  padding: 54px 0 104px;
  color: #fff;
  background: url(../images/common/footer-bg.jpg) no-repeat center/cover;
  position: relative;
  /* ▼page-footer-main */
  /* ▼page-footer-detail */
  /* &nav */
}
.page-footer::before {
  content: "";
  width: 100%;
  height: 30px;
  background: url(../images/common/wave_blue.png) repeat-x bottom/auto 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 10;
}
.page-footer::after {
  content: "";
  width: 175px;
  height: 127px;
  background: url(../images/common/footer-deco01.png) no-repeat center/contain;
  position: absolute;
  top: -95px;
  right: max(40px, 50% - 700px);
  z-index: 20;
}
.page-footer-ttl {
  display: inline-block;
  width: auto;
  margin: 0 0 30px;
  text-align: left;
}
.page-footer-ttl a {
  display: inline-block;
}
.page-footer-info {
  font-size: 1.6rem;
}
.page-footer-info dl {
  justify-content: flex-start;
}
.page-footer-info dl dt {
  margin-right: 0.5em;
}
.page-footer-info dl:not(:last-of-type) {
  margin-right: 1em;
}
.page-footer-link {
  margin: 40px 0 0;
}
.page-footer-link .common-btn::before {
  content: "";
  width: 59px;
  height: 73px;
  background: url(../images/common/footer-btn-deco01.png) no-repeat center/contain;
  position: absolute;
  top: -15px;
  left: 0;
  z-index: 10;
}
.page-footer-contact {
  justify-content: flex-end;
}
.page-footer-contact .common-info {
  margin-right: 48px;
}
.page-footer-nav {
  width: 645px;
  margin: 23px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid #fff;
  line-height: 1;
  font-size: 1.5rem;
}
.page-footer-nav ul.flex {
  justify-content: flex-end;
}
.page-footer-nav ul.flex li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.page-footer-nav ul.flex li::before {
  content: "";
  width: 8px;
  height: 13px;
  margin: 0.1em 0.866667em 0 0;
  background: url(../images/common/icon_arrow02_yellow.png) no-repeat center/contain;
}
.page-footer-nav ul.flex li:not(:last-child) {
  margin-right: 1.333333em;
}
.page-footer-nav ul.flex:not(:last-child) {
  margin-bottom: 20px;
}

/* ▼copyright */
.copyright {
  margin: 130px 0 0;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  text-align: right;
  letter-spacing: 0.08em;
}

/*-----------------------------------------------------------------------

    entrance

-----------------------------------------------------------------------*/
#entrance .key,
#entrance .breadcrumbs,
#entrance .page-footer {
  display: none;
}

.entrance-header_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-left: 7px;
}

.entrance-info {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.entrance-info-item:not(:last-of-type) {
  margin-right: 20px;
}
.entrance-info-tel {
  display: flex;
  align-items: center;
  font-size: 2.4rem;
  line-height: 0.7;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.entrance-info-tel::before {
  content: "";
  width: 26px;
  height: 26px;
  margin-right: 0.541667em;
  background: url(../images/common/ico-tel_green.png) no-repeat center/contain;
}
.entrance-info-tel-note {
  margin-top: 10px;
}
.entrance-info-time dl {
  display: flex;
  align-items: flex-start;
  line-height: 1.375;
}
.entrance-info-time dl:not(:last-of-type) {
  margin-bottom: 10px;
}
.entrance-info-time dl dt {
  width: 5.3571em;
  margin-right: 0.7857em;
  background-color: #e5e5e5;
  border-radius: 4px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.5714;
}
.entrance-info-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 80px;
  background-color: #2374b9;
  color: #fff;
  border-radius: 0 0 0 10px;
  font-size: 1.6rem;
}
.entrance-info-contact::before {
  content: "";
  width: 24px;
  height: 17px;
  margin-right: 12px;
  background: url(../images/common/icon_mail_white.png) no-repeat center/contain;
}

.entrance-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  width: 100%;
  max-width: 1720px;
  height: 810px;
  margin: 0 auto;
  padding: 20px;
}
.entrance-list-item {
  overflow: hidden;
  position: relative;
}
.entrance-list-item::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/entrance/image_entrance-bg01.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.2s;
  z-index: -1;
}
.entrance-list-item:nth-child(1) {
  grid-area: 1/1/3/2;
}
.entrance-list-item:nth-child(2) {
  grid-area: 1/2/2/3;
}
.entrance-list-item:nth-child(2)::before {
  background-image: url(../images/entrance/image_entrance-bg02.jpg);
}
.entrance-list-item:nth-child(3) {
  grid-area: 2/2/3/3;
}
.entrance-list-item:nth-child(3)::before {
  background-image: url(../images/entrance/image_entrance-bg03.jpg);
}
.entrance-list-item:hover::before {
  transform: scale(1.1);
  filter: brightness(0.8);
}
.entrance-list-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.entrance-list-link:hover {
  opacity: 1;
}
.entrance-list-ttl {
  width: auto;
}

.entrance-footer .entrance-info {
  display: none;
}
.entrance-footer-copyright {
  text-align: center;
  font-size: 1.2rem;
}

/*-----------------------------------------------------------------------

    main

-----------------------------------------------------------------------*/
/*
    page-top
--------------------*/
/* ▼top_greeting */
.top_greeting {
  background: url(../images/top/illust_greeting-bg01.png) no-repeat top 134px left calc(50% - 530px)/361px, url(../images/top/illust_greeting-bg02.png) no-repeat bottom 65px right calc(50% - 646px)/381px, url(../images/common/pattern/bg_beige.jpg);
}
.top_greeting-ttl {
  margin: 0 0 39px;
  text-align: center;
}
.top_greeting-list-item {
  width: 340px;
}
.top_greeting-list-item:not(:last-of-type) {
  margin-right: 30px;
}
.top_greeting-list-img {
  margin-bottom: -25px;
  transition: all 0.2s;
}
.top_greeting-list-item:hover .top_greeting-list-img {
  transform: translateY(7px);
}
.top_greeting-list-item:hover .common-btn {
  transform: rotateZ(0.03deg) translateY(7px);
  box-shadow: 0 0px 0 #00356b;
}

/* ▼top_repaint */
.top_repaint {
  padding: 78px 0 114px;
  background: url(../images/top/repaint_bg-deco01.png) no-repeat bottom left calc(50% - 540px), url(../images/top/repaint_bg-deco02.png) no-repeat bottom right calc(50% - 540px), url(../images/top/repaint_bg-image.jpg) no-repeat left top/cover;
}
.top_repaint_wrap {
  position: relative;
  z-index: 10;
}
.top_repaint-ttl {
  margin: 0 0 43px;
  text-align: center;
  position: relative;
}
.top_repaint-ttl::before, .top_repaint-ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.top_repaint-ttl::before {
  width: 111px;
  height: 168px;
  background: url(../images/top/repaint_title-deco01.png) no-repeat center/contain;
  top: 7px;
  left: 140px;
}
.top_repaint-ttl::after {
  width: 231px;
  height: 238px;
  background: url(../images/top/repaint_title-deco02.png) no-repeat center/contain;
  top: 9px;
  right: 38px;
}
.top_repaint-txt {
  margin: -0.45em 0;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.9;
}
.top_repaint .common-btn {
  margin-top: 56px;
}

/* ▼top_news */
.top_news {
  padding-top: 80px;
  background: url(../images/top/illust_news-bg.png) no-repeat top left calc(50% - 452px)/411px, url(../images/common/pattern/bg_beige.jpg);
}
.top_news-block-ttl {
  margin: 0 0 57px;
  text-align: center;
}
.top_news-block-cnt {
  width: 680px;
}

/*
    works
--------------------*/
/* ▼works_chart */
.works_chart {
  background: url(../images/common/illust_common-bg01.png) no-repeat top 244px center, url(../images/common/pattern/bg_beige.jpg);
}
.works_chart-flex .common-block {
  width: 520px;
}
.works_chart-flex .common-block-ttl {
  height: 103px;
}
.works_chart-list {
  justify-content: space-between;
  margin: 0 auto 65px;
}
.works_chart-list-item {
  width: 520px;
  margin-top: 56px;
  position: relative;
  counter-increment: works_chart-list;
}
.works_chart-list-item::before {
  content: "";
  width: 27px;
  height: 36px;
  margin: auto;
  background: url(../images/common/icon_arrow-deco01.png) no-repeat bottom, linear-gradient(#4a2c00, #4a2c00) no-repeat center top/4px calc(100% - 4px);
  position: absolute;
  left: 0;
  right: 0;
  top: -45px;
}
.works_chart-list-item a.flex {
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 73px;
  color: #fff;
  background: url(../images/common/illust_works-chart_bg_red.png) no-repeat center/contain;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.3077;
  letter-spacing: 0.04em;
}
.works_chart-list-item a.flex .txt-num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 35px;
  height: 35px;
  margin: 0 10px 0 0;
  padding: 0 0 0.1em;
  color: #4a2c00;
  background-color: #fff;
  border-radius: 50%;
  font-size: 110%;
}
.works_chart-list-item a.flex::after {
  content: "";
  display: block;
  width: 64px;
  height: 76px;
  margin: 0 auto;
  background: url(../images/common/illust_works-chart_deco_red.png) no-repeat center/contain;
  position: absolute;
  bottom: -55px;
  right: 1px;
  pointer-events: none;
}
.works_chart-list-item:nth-child(n+2) {
  margin-left: 30px;
}
.works_chart-list-item.cl--green a.flex {
  background-image: url(../images/common/illust_works-chart_bg_green.png);
}
.works_chart-list-item.cl--green a.flex::after {
  background-image: url(../images/common/illust_works-chart_deco_green.png);
}
.works_chart-list-item.cl--yellow a.flex {
  background-image: url(../images/common/illust_works-chart_bg_yellow.png);
}
.works_chart-list-item.cl--yellow a.flex::after {
  background-image: url(../images/common/illust_works-chart_deco_yellow.png);
}
.works_chart-list-item.cl--cream a.flex {
  background-image: url(../images/common/illust_works-chart_bg_cream.png);
}
.works_chart-list-item.cl--cream a.flex::after {
  background-image: url(../images/common/illust_works-chart_deco_cream.png);
}
.works_chart-list-item.btn-empty::before {
  content: none;
}
.works_chart-list.diff-style {
  margin-bottom: 0;
}
.works_chart-list.diff-style .works_chart-list-item {
  width: 240px;
}
.works_chart-list.diff-style .works_chart-list-item a {
  width: 100%;
  height: 201px;
  padding: 0 35px 8px 0;
  background: url(../images/common/illust_works-chart_bg_red_02.png) no-repeat center/contain;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.4545;
}
.works_chart-list.diff-style .works_chart-list-item a::after {
  right: 24px;
  bottom: -26px;
}
.works_chart-list.diff-style .works_chart-list-item.cl--yellow a {
  background-image: url(../images/common/illust_works-chart_bg_yellow_02.png);
}
.works_chart-list.diff-style .works_chart-list-item.cl--green a {
  background-image: url(../images/common/illust_works-chart_bg_green_02.png);
}
.works_chart-list.diff-style .works_chart-list-item.cl--cream a {
  background-image: url(../images/common/illust_works-chart_bg_cream_02.png);
}
.works_chart-list.diff-style .works_chart-list-item.btn-empty::before {
  content: "";
  height: 260px;
}
.works_chart-list.flex-center {
  justify-content: center;
}
.works_chart-list.flex-center .works_chart-list-item::before {
  margin: 0 auto 0 50px;
  filter: drop-shadow(390px 0 0 #4a2c00);
}
.works_chart-guide {
  justify-content: center;
  margin: 95px 0 0;
}
.works_chart-guide li {
  width: 520px;
}
.works_chart-guide li .common-btn {
  width: 100%;
  height: 90px;
  font-size: 2.5rem;
  font-weight: 800;
}
.works_chart-guide li .common-btn::after {
  right: 37px;
}
.works_chart-guide li .common-btn.btn-roof {
  padding-left: 50px;
}
.works_chart-guide li .common-btn.btn-roof::before {
  left: 97px;
}
.works_chart-guide li:nth-child(2n) {
  margin-left: auto;
}
.works_chart-guide-sub {
  justify-content: center;
  margin: 60px auto 0;
}
.works_chart-guide-sub li {
  margin: 0 20px;
}

/* ▼works_plans */
.works_plans {
  background: url(../images/common/pattern/bg_beige2.jpg);
  position: relative;
}
.works_plans-ttl {
  margin: 0 0 60px;
  text-align: center;
}
.works_plans-block {
  padding: 50px 60px 70px;
  background-color: #fff;
  border-radius: 20px;
  counter-increment: works_plans-block;
}
.works_plans-block-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 20px;
  padding: 11px 0;
  color: #fff;
  background-color: #da272d;
  border-radius: 10px;
}
.works_plans-block-ttl .txt-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background-color: #fff;
  border-radius: 50%;
  margin: 0 16px 0 0;
  padding: 0 0 0.1em;
  font-size: 3rem;
  letter-spacing: -0.02em;
  font-weight: 900;
}
.works_plans-block-ttl .txt-main {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: 0.07em;
}
.works_plans-block-head {
  display: flex;
  align-items: center;
  margin: 45px 0 20px;
  font-size: 2.5rem;
  color: #78be44;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.works_plans-block-head::before {
  content: "";
  width: 40px;
  height: 42px;
  margin: -15px 6px 0 0;
  background: url(../images/common/ico-brush.png) no-repeat center/contain;
}
.works_plans-block-head::after {
  content: "";
  flex: 1;
  height: 1px;
  margin: 0 0 0 25px;
  border-bottom: 1px solid #4a2c00;
}
.works_plans-block-link {
  margin-top: 50px;
  justify-content: center;
}
.works_plans-block-link .common-btn {
  width: 450px;
  height: 80px;
}
.works_plans-block-link li:nth-child(2n) {
  margin-left: auto;
}
.works_plans-block:not(:last-child) {
  margin-bottom: 60px;
}
.works_plans-block.cl--yellow .works_plans-block-ttl {
  background-color: #f39400;
}
.works_plans-block.cl--green .works_plans-block-ttl {
  background-color: #78be44;
}
.works_plans-block.cl--cream .works_plans-block-ttl {
  background-color: #ffd35a;
}

/* ▼wall_chart */
.wall_chart {
  background: url(../images/common/illust_common-bg01.png) no-repeat top 244px center, url(../images/common/pattern/bg_beige.jpg);
}

/*
    standard
--------------------*/
#standard .works_chart .common-block.diff-size {
  width: 520px;
  margin-left: auto;
}
#standard .works_chart .common-block.diff-size.content-up {
  margin-top: -138px;
}

/*
    page-repaint
--------------------*/
/* ▼repaint_greeting */
.repaint_greeting {
  background: url(../images/top/repaint_bg-deco01.png) no-repeat bottom left calc(50% - 540px), url(../images/top/repaint_bg-deco02.png) no-repeat bottom right calc(50% - 540px), url(../images/common/illust_common-bg01.png) no-repeat top 244px center, url(../images/common/pattern/bg_beige.jpg);
}
.repaint_greeting-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 80px;
  font-size: 4.6rem;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  position: relative;
  z-index: 10;
}
.repaint_greeting-ttl::before, .repaint_greeting-ttl::after {
  content: "";
  width: 68px;
  height: 149px;
  background: url(../images/common/illust_flash01.png) no-repeat center/contain;
}
.repaint_greeting-ttl::after {
  background-image: url(../images/common/illust_flash02.png);
}
.repaint_greeting-ttl .txt-main {
  margin: 0 20px;
}
.repaint_greeting-ttl .font-line {
  color: #2374b9;
  background: none;
  position: relative;
}
.repaint_greeting-ttl .font-line::after {
  content: "";
  width: 438px;
  height: 103px;
  background: url(../images/common/illust_marker01.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
}
.repaint_greeting-txt {
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
}

/* ▼repaint_about */
.repaint_about {
  background: url(../images/repaint/image_repaint-bg.jpg) no-repeat top/cover;
}
.repaint_about_wrap {
  position: relative;
  z-index: 10;
}
.repaint_about-ttl {
  margin: 0 0 80px;
}
.repaint_about-list-item:nth-child(n+4) {
  margin-top: 40px;
}
.repaint_about-lead {
  margin: 60px 0 0;
  font-size: 2.2rem;
  font-weight: 800;
  text-align: center;
}

/*
    page-information
--------------------*/
/* ▼information_main */
.information_main-block:not(:last-child) {
  margin-bottom: 100px;
}

.information_main-map {
  width: 100%;
  height: 360px;
  margin: 30px 0 0;
  background-color: #ccc;
}